| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
chore(start-os): cut 0.4.0.1; move the OS version off Cargo.toml (#3564) SemVer has no fourth segment, so `projects/start-os/Cargo.toml` cannot hold 0.4.0.1. It now carries a `0.4.0-rev.1` label purely to acknowledge the release it belongs to, and root package.json becomes the source of truth. The label must never be compared: `0.4.0-rev.1` is a SemVer prerelease, so it sorts *below* 0.4.0 in both `semver` and `exver`. Had it stayed authoritative it would have reached the CI-generated compat range (`>=0.3.5 <=${VERSION}`) and excluded installed 0.4.0 servers from the update it patches. `pre-check` now fails if the label drifts from the version being cut. This restores how 0.3.x worked — `backend/Cargo.toml` was `0.3.5-rev.1` while `web/package.json` held the real `0.3.5.1` and check-version.sh read that. The monorepo reorg (950be49dd) repointed the readers at the crate manifest; CI never followed, so startos-iso.yaml has been deriving the registry key, S3 prefix and source_version range from root package.json all along. - build/env/version.sh is the single reader; check-version.sh, basename.sh, debian/build.sh and derive_version go through it - build.rs bakes STARTOS_VERSION from package.json; the start-os bins and start-container's man page report it instead of CARGO_PKG_VERSION - version::tests::current_matches_manifest fails if Current drifts from package.json, which would otherwise publish a version the server never reports 0.4.0.1 itself adds the version node (mandatory even with no migration, or pre_init takes the Equal branch and the registry re-offers the update forever) and carries the pre-installed-Pi data-pool fix from #3556. | 2 个月前 |