Skip to content

chore: modernize dependencies + bump Rust to 1.95.0#2

Merged
jscott3201 merged 6 commits into
devfrom
chore/modernize-deps-rust-1.95
Jul 1, 2026
Merged

chore: modernize dependencies + bump Rust to 1.95.0#2
jscott3201 merged 6 commits into
devfrom
chore/modernize-deps-rust-1.95

Conversation

@jscott3201

Copy link
Copy Markdown
Owner

Summary

Modernizes the workspace before resuming the triage backlog. Bumps the toolchain to Rust 1.95.0 and brings all dependencies up to their latest versions.

Toolchain

  • rust-version 1.94 → 1.95; CI toolchain pins 1.94.0 → 1.95.0
  • Dockerfile builder rust:1.93-alpinerust:1.95-alpine (the old image was below MSRV — Docker builds were broken)
  • README / getting-started prerequisite 1.93+ → 1.95+
  • CI now also runs on dev (push + pull_request)

Dependencies

  • cargo update across the lockfile: tokio 1.50→1.52, axum 0.8.8→0.8.9, reqwest 0.13.2→0.13.4, rustls 0.23.37→0.23.41, uuid 1.22→1.23, zeroize 1.8→1.9, chrono/serde/toml/time/env_logger, etc.
  • Major bumps: sha2 0.10→0.11, hmac 0.12→0.13, pbkdf2 0.12→0.13 (RustCrypto stack; pbkdf2 simplehmac feature), tower-http 0.6→0.7, pyo3 0.28→0.29

Code changes required by the bumps

  • auth (core + server): import hmac::KeyInitnew_from_slice moved to the KeyInit trait in hmac 0.13 / crypto-common 0.2
  • codecs/json/v3: collapse match-arm guards (clippy collapsible_match, new in 1.95)
  • cli/import: sort_bysort_by_key(Reverse) (clippy unnecessary_sort_by, new in 1.95)

Validation (local, Rust 1.95.0)

  • cargo fmt --all --check
  • cargo clippy --workspace --exclude rusty-haystack --all-targets -- -D warnings
  • cargo test --workspace --exclude rusty-haystack (all pass)
  • cargo deny check (advisories / bans / licenses / sources ok)
  • maturin build of the Python crate against pyo3 0.29 (wheel builds & links)

Notes

  • tower-http is a declared server dependency but currently unused in source — bumped to 0.7 to satisfy the update; a candidate for removal in a later cleanup.
  • Python wheel CI (python.yml) only runs on v* tags, so it is not exercised by this PR; validated locally with maturin instead.

🤖 Generated with Claude Code

jscott3201 and others added 6 commits March 24, 2026 03:23
Toolchain:
- Bump workspace rust-version 1.94 -> 1.95; CI toolchain pins 1.94.0 -> 1.95.0
- Dockerfile builder rust:1.93-alpine -> rust:1.95-alpine (was below MSRV)
- docs/README prerequisite Rust 1.93+ -> 1.95+

Dependencies:
- cargo update: tokio 1.50->1.52, axum 0.8.8->0.8.9, reqwest 0.13.2->0.13.4,
  rustls 0.23.37->0.23.41, uuid 1.22->1.23, zeroize 1.8->1.9, and other
  semver-compatible patch/minor bumps across the lockfile
- Major bumps: sha2 0.10->0.11, hmac 0.12->0.13, pbkdf2 0.12->0.13
  (RustCrypto stack; pbkdf2 "simple" feature -> "hmac"), tower-http 0.6->0.7,
  pyo3 0.28->0.29

Code changes required by the bumps:
- auth (core + server): import hmac::KeyInit (new_from_slice moved to the
  KeyInit trait in hmac 0.13 / crypto-common 0.2)
- codecs/json/v3: collapse match-arm guards (clippy collapsible_match, new in 1.95)
- cli/import: sort_by -> sort_by_key(Reverse) (clippy unnecessary_sort_by, new in 1.95)

Also gitignore local claude-id.json (machine-local agent identity).

Validated on Rust 1.95.0: cargo fmt --check, clippy -D warnings, full test
suite (all pass), cargo deny check (advisories/bans/licenses/sources ok), and a
maturin wheel build against pyo3 0.29.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add `dev` to the push and pull_request branch filters so the fmt/clippy/
test/deny gates run on pull requests targeting the dev integration branch,
not just main.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jscott3201
jscott3201 merged commit 2212303 into dev Jul 1, 2026
6 checks passed
@jscott3201
jscott3201 deleted the chore/modernize-deps-rust-1.95 branch July 1, 2026 18:20
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