Skip to content

chore: bump Rust pin from 1.85.0 to 1.95.0#9

Merged
noahgift merged 2 commits into
mainfrom
chore/rust-1.95
Apr 28, 2026
Merged

chore: bump Rust pin from 1.85.0 to 1.95.0#9
noahgift merged 2 commits into
mainfrom
chore/rust-1.95

Conversation

@noahgift
Copy link
Copy Markdown
Contributor

Summary

  • Bumps the workspace MSRV pin from 1.85.01.95.0 across rust-toolchain.toml, Cargo.toml (rust-version), CI matrix, both Dockerfiles (rust:1.95-slim digest), and the README badge + prose.
  • Auto-applies four clippy 1.95 diagnostics (io_other_error ×2 in etl-core, map_unwrap_or ×2 in etl-cli) so clippy --workspace --all-targets -- -D warnings stays green on the new pin.
  • CHANGELOG.md keeps the historical 1.85.0 reference — that's history, not a live pin.

Why

Stay on a current toolchain. 1.95 is the latest stable; the workspace had no reason to hold 1.85. The pin keeps the floor steady so future stable bumps don't silently raise it.

Verified locally on cargo +1.95.0

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • RUSTDOCFLAGS=-D warnings cargo doc --workspace --no-deps
  • cargo test --workspace --all-targets (19/19)
  • pmat comply

CI gate-matrix runs against both 1.95.0 (MSRV) and stable.

Test plan

  • gate-matrix (1.95.0) green
  • gate-matrix (stable) green
  • gate aggregator green

🤖 Generated with Claude Code

noahgift and others added 2 commits April 28, 2026 11:46
Updates the workspace floor to current stable (rustc 1.95.0, released
2026-04-14):

  - rust-toolchain.toml channel
  - workspace.package.rust-version (MSRV)
  - ci.yml matrix entry (was [1.85.0, stable], now [1.95.0, stable]
    — today both run 1.95.0; the explicit pin holds when stable
    advances to 1.96)
  - Dockerfile + Dockerfile.distroless-cc base image
    (rust:1.95-slim @ sha256:81099830a1e1d244607b9a7a30f3ff6ecadc5
    2134a933b4635faba24f52840c9 — manifest list digest, multi-arch)
  - README badge + 3 prose mentions

Two new clippy lints fired on 1.95 and were auto-fixed:

  - clippy::io_other_error in etl-core/src/lib.rs (2 sites):
    `io::Error::new(ErrorKind::Other, e)` → `io::Error::other(e)`
  - clippy::map_unwrap_or in etl-cli/src/main.rs + the integration
    test: `.map(f).unwrap_or(default)` → `.map_or(default, f)`

Verified locally (cargo +1.95.0): fmt, clippy -D warnings, doc with
RUSTDOCFLAGS=-D warnings, test (19/19), and pmat comply all pass.

CHANGELOG.md retains its historical 1.85.0 reference (it's history,
not a live pin).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@noahgift noahgift merged commit 6df3ba6 into main Apr 28, 2026
3 checks passed
@noahgift noahgift deleted the chore/rust-1.95 branch April 28, 2026 09:53
noahgift added a commit that referenced this pull request Apr 28, 2026
…eady parity (#10)

Audit found three doc-drift items + one local-CI parity gap after the
recent burst of work (PRs #5#9). Fixing all four in one pass:

1. README CI gate tree was missing 4 steps (`bashrs lint`,
   `pv lint contracts/`, `pmat comply`, doc-test). Updated the
   tree + the prose summary + the "What this repo is teaching" /
   feature bullet at the top.
2. CHANGELOG `[Unreleased]` had no entries for the gate aggregator
   (#5), README badges (#6), release workflow (#7), `pmat comply`
   gate (#8), or the Rust 1.85 → 1.95 pin (#9). Filled in the gap.
3. README had no Distribution section despite the repo now shipping
   tarballs to GitHub Releases (4 targets) and container images to
   `ghcr.io/paiml/shipping-rust` (4 tags, public/anonymous). Added a
   "Releases" section between Container and CI.
4. `make ship-ready` was missing `bashrs lint` and `pmat comply` so
   a green local run did not match CI `gate`. Added `bashrs-lint` +
   `comply` targets and wired both into `ship-ready`.

No Rust code or workflow YAML touched. `pmat comply` still
COMPLIANT; `bashrs lint Makefile Dockerfile Dockerfile.distroless-cc`
still 0 errors / 0 warnings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant