Releases: FStarLang/FStar
Releases · FStarLang/FStar
Release list
F* v2026.07.05
What's Changed
- Weaken precondition of uint64_to_sizet, etc. by @tahina-pro in #4340
- Fix #eval to elaborate terms by @mtzguido in #4344
- Bump version to 2026.07.05 by @dzomo in #4345
Full Changelog: v2026.06.28...v2026.07.05
F* v2026.06.28
What's Changed
- tests: do not re-run Missing.fst checks every time by @mtzguido in #4327
- Pulse: fix branch return-type refinement leak in if/match/while guards by @KimayaBedarkar in #4324
- Consolidate Pulse big-operators onto forall+; remove OnRange by @gebner in #4323
- Check Pulse decreases for concrete recursion by @nikswamy in #4329
- Pulse: short-circuit stateful && / || operands by @KimayaBedarkar in #4322
- FStar.Bijection: fix mk_bijection to only require ghost functions by @mtzguido in #4331
- Revert "Pulse: short-circuit stateful && / || operands" (#4322) by @KimayaBedarkar in #4332
- Adding Float32 and Float64 by @mtzguido in #4328
- Validate float literal extraction by @eluvane in #4333
- Pulse: allow inline calc by @mtzguido in #4334
- Pulse: remove some spurious rewrites by @mtzguido in #4339
- Bump version to 2026.06.28 by @dzomo in #4341
New Contributors
Full Changelog: v2026.06.21...v2026.06.28
F* v2026.06.21
What's Changed
- Add real exp/log to the library by @mtzguido in #4304
- Update karamel submodule to 11bb8e1a by @dzomo in #4318
- Add same_base_null lemma to Pulse.Lib.Array.Core by @KimayaBedarkar in #4320
- Bump version to 2026.06.21 by @dzomo in #4326
Full Changelog: v2026.06.14...v2026.06.21
F* v2026.06.14
What's Changed
- get_fstar_z3.sh: make sure to fail early on HTTP errors, and maybe retry by @mtzguido in #4303
- SMT: Fix --log_failing_queries to include full prefix by @mtzguido in #4305
- Core: some more fancy quotes on errors by @mtzguido in #4307
- Pulse: purify if/match postcondition annotations by @KimayaBedarkar in #4309
- More error tweaks by @mtzguido in #4308
- IDE: do not normalize types on symbol queries by @mtzguido in #4313
- Restore coercions.txt doc by @mtzguido in #4310
- simplify README.md, INSTALL.md, and CONTRIBUTING.md by @nikswamy2 in #4312
- Bump version to 2026.06.14 by @dzomo in #4317
New Contributors
- @KimayaBedarkar made their first contribution in #4309
- @nikswamy2 made their first contribution in #4312
Full Changelog: v2026.06.07...v2026.06.14
F* v2026.06.07
What's Changed
- Small fixes by @mtzguido in #4288
- Nit, using fancy quotes in error messages by @mtzguido in #4289
- Rel: more reveal/hide inference by @mtzguido in #4292
- Pulse.Sugar: remove option in let_init by @mtzguido in #4293
- Extraction.Krml: showable instances by @mtzguido in #4294
- Tactics: make
easywork on lemmas with preconditions too by @mtzguido in #4295 - Unifier: ignore SMT patterns for subcomp of lemmas by @mtzguido in #4296
- Pulse: remove custom term printer, use normal one by @mtzguido in #4297
- Bump version to 2026.06.07 by @dzomo in #4302
Full Changelog: v2026.05.31...v2026.06.07
F* v2026.05.31
What's Changed
- Reduce applied projections by @mtzguido in #4277
- Fix #4280 by @mtzguido in #4281
- Pin devcontainer to Ubuntu 24.04. by @gebner in #4282
- Prover: solve single-valued implicits when applying prover lemmas by @mtzguido in #4284
- Remove duplicate version number definition. by @gebner in #4278
- FStar.Fin: relax argument to fin/under types by @mtzguido in #4285
- Bump version to 2026.05.31 by @dzomo in #4286
Full Changelog: v2026.05.24...v2026.05.31
F* v2026.05.24
What's Changed
- Update karamel submodule to a72ac0c7 by @dzomo in #4266
- Update karamel submodule to 7aebb836 by @dzomo in #4268
- Update karamel submodule to 3611ae49 by @dzomo in #4269
- Make sure propositions are squashed in types, remove valid_intro/valid_elim options by @mtzguido in #4271
- Extraction.Krml: add ESizeof node by @mtzguido in #4262
- SMT: encode typing axioms for primitive symbols too by @mtzguido in #4272
- Support #eval in Pulse code by @mtzguido in #4275
- Bump version to 2026.05.24 by @dzomo in #4276
Full Changelog: v2026.05.17...v2026.05.24
F* v2026.05.17
What's Changed
- Check equality of slprops in prover. by @gebner in #4257
- Print SMT query for failing assertions. by @gebner in #4258
- Pulse: error on binder attributes, they are ignored by @mtzguido in #4255
- Allowing implicit fields in records by @mtzguido in #4260
- Allow SMT patterns in record fields and typeclass methods by @mtzguido in #4261
- Improving error localization in Pulse by @nikswamy in #4247
- Bump version to 2026.05.17 by @dzomo in #4265
Full Changelog: v2026.05.10...v2026.05.17
F* v2026.05.10
What's Changed
- Try to fix weekly release by @mtzguido in #4243
- Update agent files to only have an FStarDev agent by @nikswamy in #4234
- Update karamel submodule to fdc019cc by @github-actions[bot] in #4248
- FStarDev.md: LF line endings by @mtzguido in #4249
- Update karamel submodule to 2fe560bb by @dzomo in #4250
- Fix Pulse allowing missing definitions from module by @mtzguido in #4251
- Tc: consider effect arguments in positivity check by @mtzguido in #4253
- Bump version to 2026.05.10 by @dzomo in #4254
Full Changelog: v2026.05.03...v2026.05.10
F* v2026.05.03
Note: this is the first of automated weekly releases for F*.
What's Changed
- Make * be multiplication by default by @mtzguido in #4204
- Build macOS x86 package by @mtzguido in #4207
- Fix #4209 by @mtzguido in #4210
- nightly CI: restore z3 install by @mtzguido in #4211
- Install krml on local and OPAM installs by @mtzguido in #4213
- Refactor the main solver in Rel to break the big mutual recursion by @nikswamy in #4208
- Fix bad interleaving bug by @mtzguido in #4214
- Refactor
propby @gebner in #4212 - Tweak generation of ML lets by @mtzguido in #4216
- Avoid abstracting over the context when destructing flex terms in the unifier by @nikswamy in #4215
- update check-friends: remove karamel and pulse jobs, set KRML_EXE, mo… by @mtzguido in #4217
- Do not block nightly builds on tier 2 platforms. by @gebner in #4220
- Support terminal let-bindings. by @gebner in #4221
- Parser(s): annotate precedences and remove (most) conflicts by @mtzguido in #4219
- Add c2pulse to check-friends by @mtzguido in #4222
- Makefile: parallelize PulseCore and Pulse lib by @mtzguido in #4224
- Bring in Injection+Bijection+Enumerable+ForEvery from Kuiper by @mtzguido in #4225
- install-fstar.sh: construct download URLs directly for explicit versions by @gebner in #4226
- Use our Z3 install script in nightly CI. by @gebner in #4228
- Makefile: a clearer error if karamel submodule has not been initialized by @mtzguido in #4230
- Update karamel submodule, now up-to-date with master by @mtzguido in #4229
- Add pulse-verified-gc and algostar to check-world by @nikswamy in #4232
- Weekly workflow to update karamel submodule by @mtzguido in #4233
- Fix update-karamel by @mtzguido in #4235
- Allow admit() without post hint. by @gebner in #4236
- Pulse: allow fn type syntax in non-Pulse contexts by @mtzguido in #4223
- Weekly release workflow. by @mtzguido in #4231
- Update karamel submodule to 6229dc92 by @github-actions[bot] in #4237
- Remove src/tools by @mtzguido in #4238
- Small cleanups by @mtzguido in #4240
- ulib: Remove V1 stubs by @mtzguido in #4241
- Bump version to 2026.05.03 by @github-actions[bot] in #4242
New Contributors
- @github-actions[bot] made their first contribution in #4237
Full Changelog: v2026.04.17...v2026.05.03