Skip to content

Releases: Ellipsis-Labs/cargo-hold

v1.3.4

29 May 20:49
Immutable release. Only release title and notes can be modified.
v1.3.4
71ee6f9

Choose a tag to compare

cargo-hold v1.3.4

v1.3.4 fixes a cargo hold voyage cache correctness issue when restored target artifacts are stale and source files have changed. voyage now leaves artifact mtimes alone in changed-source runs so the next Cargo build can correctly rebuild instead of seeing refreshed artifacts as current.

Full Changelog: v1.3.3...v1.3.4

Breaking Changes

  • None.

Highlights Since v1.3.3

Voyage Cache Correctness

  • cargo hold voyage now uses the anchor/salvage source-change report to detect modified or newly added tracked files before garbage collection.
  • When source changes are present, the heave phase skips artifact mtime rejuvenation for restored build artifacts.
  • Standalone cargo hold heave and no-change voyage runs keep the existing artifact preservation behavior.
  • Added regression coverage for stale artifact mtimes after a source change.

Upgrade Notes

  • No migration is required.
  • Upgrading is recommended for CI jobs that restore a target cache and run cargo hold voyage before building.

Pull Requests by Category

Bug Fixes

  • fix: skip voyage artifact rejuvenation after source changes (#72)

Misc

  • chore: bump version (#70)

v1.3.3

29 May 14:47
Immutable release. Only release title and notes can be modified.
v1.3.3
ec12c8c

Choose a tag to compare

cargo-hold v1.3.3

Patch release for cargo hold heave cache rejuvenation. This fixes restored target caches that contain generated symlinks, so heave can refresh stale artifact mtimes without failing on symlink timestamp handling.

Full Changelog: v1.3.2...v1.3.3

Breaking Changes

  • None.

Highlights Since v1.3.2

Bug Fixes

  • Fixed cargo hold heave stale-cache artifact rejuvenation so generated symlinks, such as protobuf .la files under target/*/build, do not cause cargo_hold::file::invalid_type failures.
  • Artifact collection now reads symlink metadata without following links and records whether each artifact is a regular file. Rejuvenation only updates mtimes for regular files while keeping symlinks in the artifact set for normal garbage collection.

Upgrade Notes

  • No migration is required. Upgrade normally to pick up the heave symlink handling fix.

Pull Requests by Category

Bug Fixes

  • fix: skip symlink mtimes during heave rejuvenation (#69)

Misc

  • chore: bump version (#67)

v1.3.2

27 May 20:04
Immutable release. Only release title and notes can be modified.
v1.3.2
31a69c3

Choose a tag to compare

cargo-hold v1.3.2

Patch release focused on making CI cache recovery fail correctly and preserving restored build artifacts during garbage collection. This release also hardens the release pipeline with trusted publishing and binary attestations.

Full Changelog: v1.3.1...v1.3.2

Breaking Changes

None.

Highlights Since v1.3.1

CI Cache Correctness

  • stow and salvage now fail when tracked files cannot be read or hashed, instead of silently writing or restoring partial metadata.
  • heave now refreshes stale mtimes on recently restored crate artifacts before selecting artifacts for removal, preventing restored CI caches from being immediately deleted.
  • Timestamp restoration now validates repository-relative metadata paths before applying mtimes.

Release Integrity

  • Release binaries are now attested through GitHub artifact attestations.
  • Publishing now uses crates.io trusted publishing instead of a long-lived registry token.

Pull Requests by Category

Bug Fixes

  • Fix CI failures when salvage/stow skip files and heave eats restored cache (#62)
  • Satisfy clippy::manual_checked_ops in GC auto-cap sizing (#64)

CI and Release

  • Use crates.io trusted publishing (#60)
  • Attest release binaries (#63)

Dependencies and Maintenance

  • Bump GitHub Actions dependencies (#53, #58, #65)
  • Bump filetime development dependency (#59)
  • Bump crate version for the release (#66)

v1.3.1

06 May 16:07
v1.3.1
674300f

Choose a tag to compare

cargo-hold v1.3.1

This patch release tightens Cargo registry garbage collection so it respects the active Cargo home, reports cleanup work more clearly, and avoids deleting Cargo authentication files. It also fixes GC timestamp persistence from heave runs and refreshes dependencies while preserving Rust 1.88.0 compatibility.

Full Changelog: v1.3.0...v1.3.1

Highlights

Cargo Registry GC

  • cargo hold heave now honors CARGO_HOME when cleaning the registry cache, so non-default Cargo homes are handled correctly.
  • Registry cleanup output now tracks files, directories, and bytes removed.
  • GC no longer deletes credentials.toml, preserving private registry tokens for crates.io, GitHub Packages, and other private registries.

Timestamp Handling

  • heave now records the last GC timestamp instead of advancing it during stow, improving artifact retention behavior across CI runs.
  • Tests and README guidance were updated to cover the GC timestamp semantics.

Maintenance

  • Updated direct Rust dependency floors and refreshed the lockfile while keeping compatibility with Rust 1.88.0.
  • Improved integration test Cargo resolution so temporary HOME and CARGO_HOME setups use the real Cargo binary reliably.

Pull Requests

Features

  • feat: honor CARGO_HOME in registry GC (#45)

Bug Fixes

  • fix: record GC timestamp in heave (#46)
  • stop deleting cargo credentials during gc (#54)

Maintenance

  • chore(deps): bump tempfile from 3.23.0 to 3.24.0 in the actions group (#47)
  • chore: update dependencies (#55)
  • chore: bump version (#56)

New Contributors

v1.3.0

22 Dec 16:15
v1.3.0
7872f8a

Choose a tag to compare

What's Changed

🏕 Features

Full Changelog: v1.2.5...v1.3.0

v1.2.5

17 Dec 21:03
v1.2.5
8bfe68d

Choose a tag to compare

What's Changed

🏕 Features

Full Changelog: v1.2.4...v1.2.5

v1.2.4

17 Dec 20:56
v1.2.4
4a4ccae

Choose a tag to compare

What's Changed

🏕 Features

👒 Dependencies

  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in #39

Full Changelog: v1.2.3...v1.2.4

v1.2.3

15 Dec 15:12
v1.2.3
371ccdd

Choose a tag to compare

What's Changed

🏕 Features

Full Changelog: v1.2.2...v1.2.3

v1.2.2

12 Dec 19:20
v1.2.2
45a9ec4

Choose a tag to compare

What's Changed

🏕 Features

Full Changelog: v1.2.1...v1.2.2

v1.2.1

09 Dec 01:24
v1.2.1
06a14e5

Choose a tag to compare

What's Changed

🏕 Features

  • feat: improve GC auto cap heuristics and split commands module by @brndnmtthws in #33

Full Changelog: v1.2.0...v1.2.1