2.8.1
A patch release for the 2.8 line. Two apply failures that only appeared on Windows checkouts are fixed, the cache moved to layout v3, and bep verify can now name every file it compares. The patch format is unchanged.
Added
bep verify --manifestprints one line per file with the expected and actual hash. On a mismatch it prints only the differing files unless--allis also given.bep cache path --layoutreports the layout version of an existing cache and the version the binary expects.bep doctorreportswarnwhen free disk is below the estimated size of the configured target, instead of waiting for the build to fail.
Changed
- The cache moved to
cache/v3. The key for a fetched tree is now a content hash of the revision plus the fetch command, so two series that pin the same revision share one checkout. The first run after upgrading fetches sources again; the old directory is left in place untilbep cache gc --all. bep applyprintstree changed, run buildwhen the applied tree differs from the one recorded by the last build. This is a hint, not a warning, and it does not change the exit code.- A stale lockfile is reported before the build starts. The check reads the patch hashes, not the tree, so it costs milliseconds.
Fixed
- A patch whose file used CRLF line endings failed with
context mismatcheven when the content matched. The apply now normalises the comparison but writes bytes unchanged. bep doctorreported the first compiler onPATHrather than the one the build would select fromCCandCXX.--rejectwrote.rejfiles next to symlinked sources, which made the next apply follow the link and edit the cache. Rejects now land in the working tree copy.bep series lintcrashed on an emptyseries.tomlinstead of reporting an empty series.
Known issues
- Gecko-family builds still do not support incremental builds. Every
bep buildreconfigures and rebuilds from scratch, which takes 25 to 40 minutes. This is the main item for 2.9. - On Windows without long-path support enabled, a build fails when a path crosses 260 characters. Enable long paths or use WSL2.
bep cache gcwalks the whole cache and can take several minutes with more than 200 GB of object files. It is safe to interrupt.
Upgrade notes
Replace the binary and run bep doctor. Then run bep fetch once: the new cache layout starts empty. Series and lockfiles are compatible; the first apply rewrites the lock with content hashes and prints a diff summary, so commit it as a normal change. There is no need to re-apply from scratch.
Checksums
3f0c9d8e5b1a47c26d0e8f4a91b7c3d5e0f2a6b8c4d1e9f7a3b5c0d2e6f8a1c4 bep-2.8.1.tar.zst
9a7e2c4d6b8f0a1c3e5d7f9b2a4c6e8d0f1a3b5c7d9e2f4a6b8c0d1e3f5a7b9 bep-2.8.1.sha256
Verify with sha256sum -c bep-2.8.1.sha256 after unpacking. The archive contains the source tree, the licence and the bundled patch catalogue; it contains no binaries.
Thanks
Six people reported problems that led to fixes in this release, and two of them sent patches: the CRLF comparison and the symlink reject bug both came in as series files with a test note. Review took two rounds on each. The community page explains how to send one.