Skip to content

cargo-rail v0.25.0

Choose a tag to compare

@loadingalias loadingalias released this 30 Aug 16:16
v0.25.0
d573b2b

Cargo-Rail v0.25.0

Cargo-Rail 0.25.0 makes native compiler reuse exact across checkout and target roots, gives CI stricter planning
selectors, and extends release transactions to standalone Cargo lockfiles.

Compiler reuse and remote cache

  • Root-portable native identity now tracks compiler-selected repository files by exact path, type, size, content, and
    executable mode. Same-size edits miss correctly, while eligible results can move across checkout roots and external
    CARGO_TARGET_DIR locations.
  • Native cache status schema 14 preserves bounded failure-reason counters independently of its event ledger and
    reports the fixed 64 restore-lock shards and staging residue needed to diagnose contention safely.
  • cargo rail cache probe authenticates against S3, Cloudflare R2, or Azure and validates the exact protocol marker
    without disclosing the URL, object names, credentials, or local paths.
  • The remote object contract advances to native-v6; older native-v5 objects remain unreachable. Unsupported or
    unverifiable work still executes the normal compiler path.
  • Rustc's boolean linker-plugin-lto spellings are supported. Explicit plugin paths remain a deliberate bypass.

Planning and CI

  • Variant catalog v2 gives deliverables typed Cargo roots and external paths. Any required input that no selected row
    attributes widens the decision to every row instead of manufacturing a false skip.
  • Runtime artifacts are separate named Cargo work with bounded one-hop prerequisites, so tests receive the binaries
    or libraries they need without turning planning into a command graph.
  • Strict consumers can distinguish skipped, workspace-wide, and package-scoped work and can extract package names
    only from exact package scope.
  • Cargo-Rail's own workflows now dogfood source-built planning, dependency policy, caching, Surface, and exact-SHA
    release archive reuse.

Surface and native delivery

  • Surface report v3 separates raw compiler observations from merged declarations, reports per-reason impact with
    bounded examples, and runs additional counterfactual graph work only for surface --explain.
  • Compiler fact protocol v4 uses rustc's complete definition-path identity and rejects incompatible facts.
  • Both Linux musl archives now carry authenticated Surface authority, including stable and dated-nightly source
    fallback qualification and native loader proof.

Release transactions

  • Release plan and state v5 can compute, bind, write, and recover exact post-release Cargo.lock files for declared
    standalone Cargo manifests. The operation remains a Cargo-only projection, not a general command hook.
  • The companion Action v8.1.0 defaults to Cargo-Rail 0.25.0 and adds typed cache root portability plus an optional
    authenticated strict probe with redacted readiness outputs.

Contract versions

Contract Version in this release
Plan v8, with variant catalog v2 and stricter projections
Native cache status 14
Remote native objects native-v6
Surface report / compiler facts v3 / v4
Release plan and transaction state v5