Skip to content

Releases: leanprover/lean4-nightly

nightly-2026-02-11

11 Feb 09:21
9da8f5d

Choose a tag to compare

nightly-2026-02-11 Pre-release
Pre-release

Changes since nightly-2026-02-10:

Full commit log

  • 9da8f5d feat: lake: record cache service in outputs (#12113)
  • e5f0d62 chore: update to c++20 (#12117)
  • d886be1 chore: update stage0
  • 5115b8f doc: add test suite documentation to .claude/CLAUDE.md (#12421)
  • c5d2796 fix: avoid unaligned pointer dereference (#12318)
  • c4d85b7 chore: revert reducibility change PartialOrder.rel (#12407)
  • 14b595e feat: better support for eta expanded terms in grind (#12415)
  • 80257a6 doc: fix typos (#12418)
  • a6ba731 chore: make toBetaApp public (#12416)
  • fc4f51d feat: pick up specs from the local context in mvcgen (#12395)
  • 7d32030 feat: add cbv_eval attribute (#12296)
  • bc30710 fix: LCNF.getImpureSignature? on imported decls (#12410)
  • d29407b chore: remove outdated trust0 test (#12401)
  • df26bea feat: upstream slice API improvements from human-eval-lean (#12352)
  • 82d90b4 fix: force unfolding of the Decidable instace in Decidable.rec (#12399)
  • 611337e doc: the different chunks of the pass manager (#12400)
  • 7488201 refactor: port IR.SimpCase to LCNF (#12384)

nightly-2026-02-10

10 Feb 09:27
4cdc199

Choose a tag to compare

nightly-2026-02-10 Pre-release
Pre-release

Changes since nightly-2026-02-09:

Full commit log

  • 4cdc199 chore: revert reducibility change to HasSSubset for now (#12403)
  • af2444a perf: always zeta reduce let expressions in cbv (#12397)
  • 57c5efe fix: handling of ite/dite expressions in cbv tactic (#12361)
  • 919721c feat: IO.FS.Metadata.numLinks (#12277)
  • 9a15df5 fix: IO.FS.removeFile should delete read-only files on Windows (#12282)
  • 4401117 chore: make simpCond public (#12391)
  • 7a8e011 test: support ite splitting and lifting through ExceptT to Sym mvcgen (#12392)
  • 892475d fix: LCNF casesOnCtor can only act if type correct (#12387)
  • b4a254d chore: revert "chore: CI: avoid fetching full repo in PR Release (#12309)"
  • 5ba467d feat: LawfulForwardPatternModel for string patterns (#12360)
  • d2c738c feat: vector iterator (#12363)

nightly-2026-02-09

09 Feb 09:17
a31e687

Choose a tag to compare

nightly-2026-02-09 Pre-release
Pre-release

Changes since nightly-2026-02-08:

Full commit log

  • a31e687 fix: lake: include module identifiers in trace (#12377)
  • 12ad957 chore: CI: avoid fetching full repo in PR Release (#12309)
  • 690648d chore: missing annotations (#12368)
  • 6f4e711 feat: some unification hints (#12341)
  • 23dc467 chore: do not rely on Name.lt for ordering fvars in acLt (#12306)

nightly-2026-02-08

08 Feb 08:59
39c26fc

Choose a tag to compare

nightly-2026-02-08 Pre-release
Pre-release

Changes since nightly-2026-02-07:

Full commit log

  • 39c26fc feat: lake: disabling the artifact cache also disables fetching (#12300)
  • f2ed53a fix: expose reduceOption (#12376)
  • da62a81 feat: shake: track simpset/grindset uses (#12375)
  • bbf72b9 test: refine lake/tests/shake (#12374)
  • ae79d14 feat: shake: track [csimp] uses (#12351)
  • 2a02685 fix: make classes appear as classes rather than structures in docs (#12373)
  • 4a450bf chore: update stage0
  • ba9f475 perf: use Array for CNF formulas (#11832)
  • 59d514d feat: more lemmas relating Bool and (d)ite (#12371)
  • 99b3ba1 fix: error messages from Verso docstring parser (#12372)

nightly-2026-02-07

07 Feb 08:57
03dc334

Choose a tag to compare

nightly-2026-02-07 Pre-release
Pre-release

Changes since nightly-2026-02-05:

Full commit log

  • 03dc334 fix: simp have in Sym (#12370)
  • 9f2f33b perf: more brave dead variable elimination (#12365)
  • f5e5914 fix: placement of saveImpure (#12366)
  • 64c0555 fix: parse indented Verso docstrings specially (#12331)
  • 0e19692 fix: handle Verso docstrings that don't consume all the docstring (#12362)
  • 4070ee3 fix: sigmaIterator benchmark (#12364)
  • 6ac96ec feat: improve simp and grind rules for PredTrans.apply (#12358)
  • 61d7eb2 feat: simplify iterator step unfolding (#12234)
  • 76befb8 chore: remove orphaned *.expected.out files (#12357)
  • 32fb1cc refactor: port IR elim_dead_vars to LCNF (#12356)
  • 85899dd chore: update stage0
  • 9ba41a6 feat: unfold [reducible] class fields (part 1) (#12340)
  • fae768f fix: ensure List.filterMap is always csimped (#12348)
  • faa2619 feat: add isBoolTrueExpr and isBoolFalseExpr (#12355)
  • 5086a82 fix: resurrect the dead Elab.resume trace message (#12353)
  • fa7f510 test: document Sym-based mvcGen and tidy up benchmark project (#12350)
  • 36dd57a feat: verification of character (predicate) patterns (#12349)
  • 8b52933 test: copy shallow_add_sub_cancel into mvcgen benchmark for precompilation (#12347)
  • 57a6d89 feat: verification of BEq String.Slice (#12346)
  • d2176cb test: add tests and benchmarks for cbv tactic (#12345)
  • 8d29c59 refactor: behavior of inline annotations in the compiler (#12344)
  • 9b7a8eb perf: improve over-applied cases in ToLCNF (#12284)
  • 71e340e feat: allow Verso syntax for module docs to be controlled separately (#12329)
  • f4c5f8e fix: set data? field in eager code actions (#12332)
  • 6cf632b chore: update stage0
  • dadc91d feat: backward.isDefEq.respectTransparency (part 1) (#12338)
  • 8e56555 perf: put the compiler off the critical path (#12335)
  • 52bc216 feat: basic infrastructure for verification of string patterns (#12333)
  • c3779bc refactor: reset reuse pass to LCNF (#12315)
  • 5345db8 feat: make Theorem an Inhabited instance (#12324)
  • 4046dd1 fix: docstring code suggestions take shadowing into account (#12321)
  • 398c362 doc: improve comments around asyncMayModify (#12270)
  • 2a1ba94 chore: ready shake for use on core (#12326)
  • abcb57d fix: use mathlib-lean-pr-testing app for PR comments (#12323)
  • f82c408 feat: String.Slice.Subslice (#12322)
  • b4d4e37 chore: shake core (#12276)
  • 96ef091 chore: delete dead C++ code (#12248)
  • 54cba90 refactor: derive string searcher from string pattern (#12312)

nightly-2026-02-05

05 Feb 09:19
75d7f7e

Choose a tag to compare

nightly-2026-02-05 Pre-release
Pre-release

Changes since nightly-2026-02-04:

Full commit log

  • 75d7f7e feat: add Nat.ext_div_mod and Int.ext_ediv_emod (#12258)
  • 5eeea8c fix: use GitHub App for Batteries/Mathlib checkout in PR release (#12320)
  • 1695b94 feat: do not simp instances (#12244)
  • 7c350e3 feat: improve instantiateExtTheorem in grind (#12319)
  • 0a43167 feat: implements maxSuggestions for grind and simp
  • b1b8e95 chore: update stage0
  • d49e5d8 Revert "chore: temporarily disable proofs for bootstrap"
  • 2f2a004 chore: update stage0
  • 8ca8138 feat: add maxSuggestions field to Simp.Config and Grind.Config
  • 9203df2 chore: update stage0
  • 7b12b50 chore: temporarily disable proofs for bootstrap
  • 15e4af8 chore: add explicit type for robustness under bootstrapping
  • b397d46 fix: report Verso docsring parse errors (#12314)
  • ff93bb6 feat: add cbv_opaque attribute (#12283)
  • e08cb95 chore: fail benchmarks if lakeprof upload fails (#12313)
  • bd8c861 test: add program evaluation benchmark to cbv (#12280)
  • e932871 doc: review and add docstrings for syntax operators in manual and one range statement (#12271)
  • 47a18a4 feat: add experimental cbv tactic (#12279)
  • 635d5c1 fix: enable custom CCPO when using module system (#12311)
  • 35852a9 chore: lemmas for basic types (#12305)
  • 1ed3ce2 chore: remove unused Lean.Data.Xml (#12302)
  • 8a9cb6d feat: Slice.posGE and Slice.posGT (#12301)

nightly-2026-02-04

04 Feb 09:15

Choose a tag to compare

nightly-2026-02-04 Pre-release
Pre-release

Changes since nightly-2026-02-03:

Full commit log

  • 5ec3b8c chore: update stage0
  • 34620ec perf: speedup some fvar handling in LCNF (#12298)
  • 7ba76bd refactor: port push_proj to LCNF (#12294)
  • 00c1f0d test: create aux theorems for backward rules in SymM-based mvcgen (#12295)
  • d1671aa fix: make PredTrans.apply semi-reducible (#12290)
  • 3516b66 chore: two typos in the impure refactoring (#12288)
  • a0cec18 chore: move test suite setup to tests/CMakeLists.txt (#12278)
  • c09700d fix: [local simp] on privately imported theorem (#12287)
  • b0ef99f chore: CI: bump actions/cache from 4 to 5 (#11862)
  • 1fe7e50 chore: CI: bump actions/download-artifact from 6 to 7 (#11863)
  • 70f4530 chore: update stage0
  • 26f6bc6 feat: lambda pure conversion in LCNF (#12272)
  • 2907df2 feat: one axiom per native computation (#12217)

nightly-2026-02-03

03 Feb 09:07
e02a140

Choose a tag to compare

nightly-2026-02-03 Pre-release
Pre-release

Changes since nightly-2026-02-02:

Full commit log

  • e02a140 feat: @[instance_reducible] part 2 (#12263)
  • 3deba60 feat: cache output universe parameter positions (#12285)
  • 3ad3bac chore: update stage0
  • c27ea08 fix: set isRecursive only after adding the declaration (#12269)
  • 5d41b3b fix: avoid deadlock by not throttling workers when the task manager is shutting down (#12052)
  • 240c64b chore: update stage0
  • a966a19 fix: unification issue in proofs generated by Lean.Meta.MkIffOfInductiveProp (#12219)
  • 3c64f6a feat: lemmas about sums of lists/arrays/vectors (#11994)

nightly-2026-02-02

02 Feb 09:29

Choose a tag to compare

nightly-2026-02-02 Pre-release
Pre-release

Changes since nightly-2026-02-01:

Full commit log

  • c7a9a4e chore: update stage0
  • a7b9a3d refactor: move getOriginalConstKind? into its own module to avoid future import cycle (#12265)
  • c25468f feat: various small list/array/vector API improvements (#12017)
  • a362093 chore: update grind IndexMap example (#12264)

nightly-2026-02-01

01 Feb 09:02

Choose a tag to compare

nightly-2026-02-01 Pre-release
Pre-release

Changes since nightly-2026-01-31:

Full commit log

  • ec60620 chore: update stage0
  • 4606c35 feat: @[instance_reducible] (#12247)
  • 9f4c813 chore: cleanup test (#12262)
  • 89c01c9 fix: lake: facet names in unknown facet errors (#12261)
  • ce98089 fix: IO.Process.spawn empty env var on Windows (#12220)
  • 6c5de54 feat: add orElse combinator to Sym.Simp.Simproc (#12236)
  • 21a281b fix: bug in instantiateRangeS' (#12260)
  • 7cd6b78 feat: Std.Iter.isEmpty (#12212)
  • b64e5de feat: projected minima and maxima (#11938)