leanprover / lean4

Lean 4 programming language and theorem prover
https://lean-lang.org
Apache License 2.0
3.82k stars 325 forks source link

refactor: lake: manifest semver & code cleanup #4083

Open tydeu opened 1 week ago

tydeu commented 1 week ago

Switches the manifest format to use major.minor.patch semantic versions. Major version increments indicate breaking changes (e.g., new required fields and semantic changes to existing fields). Minor version increments (after 0.x) indicate backwards-compatible extensions (e.g., adding optional fields, removing fields). This change is backwards compatible. Lake will still successfully read old manifest with numeric versions. It will treat the numeric version N as semantic version 0.N.0. Lake will also accept manifest versions with - suffixes (e.g., x.y.z-foo) and then ignore the suffix.

This change also includes the general cleanup/refactoring of the manifest code and data structures that was part of #3174.

leanprover-community-mathlib4-bot commented 1 week ago

Mathlib CI status (docs):

semorrison commented 1 week ago

Just a minor comment about PR labelling: I think you might be overusing the "draft" status, or at least I don't think anything should ever be both a draft and will-merge-soon, which have opposite implications for reviewing urgency!

tydeu commented 1 week ago

I don't think anything should ever be both a draft and will-merge-soon,

@semorrison Definitely! That was just me forgetting to mark it ready for review. 🤦‍♂️