v0.16.2
·
20 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
⚠️ Correction (post-release): 0.16.2 also narrowed thesandermuller/boost-coreconstraint from^0.13 || ^0.14 || ^0.15 || ^0.16to^0.16— dropping support for boost-core 0.13–0.15. That is a breaking change and warranted a0.17.0bump, not a patch; the original "non-breaking" wording below was inaccurate. The family had already converged on boost-core^0.16, so no current consumer is affected; consumers pinned toboost-core < 0.16must upgrade it. See UPGRADING (0.16.1 → 0.16.2).
Fixed — .gitattributes managed-block writer
Edge-case correctness fixes to the block the gitattributes command maintains:
- Malformed-block recovery is now self-healing. A block with an opening marker but no closing marker previously caused the next sync to append a second block, leaving successive syncs unstable. The writer now collapses the region into a single clean block, and
sync()is idempotent for any input (sync(sync(x)) === sync(x)). - The file's dominant line ending is preserved. A CRLF-authored
.gitattributesstays CRLF instead of being rewritten to LF; a mostly-LF file with a stray CRLF line settles to LF rather than churning every line. - Whitespace-variant canonical rules are recognised, not duplicated. A managed export-ignore entry written with different padding is treated as managed instead of being kept (and re-emitted) as a "foreign" line.
- Repeated foreign lines inside the block are de-duplicated.
Added
- Test coverage for the
leanandgitattributesCLI commands — exit codes,--checkno-write behaviour, foreign-line preservation end-to-end, and validator-binary resolution are now pinned. The test suite grows from 8 to 21.
Changed
lean-distskill now points at the live managed block and.lpvas the source of truth for export-ignore entries, replacing a hard-coded list that had drifted from what the tool actually writes.- README: removed stale version pins (version-agnostic restatements).
- Internal: removed an unreachable validator-binary fallback in the
leancommand.
Patch release — non-breaking. The public API is unchanged; the writer simply behaves correctly on the edge cases above.
Full Changelog: 0.16.1...0.16.2