Skip to content

Update dependencies to latest stable versions - #55

Merged
alexanderdavidsen merged 2 commits into
masterfrom
chore/update-dependencies
Apr 23, 2026
Merged

alexanderdavidsen merged 2 commits into
masterfrom
chore/update-dependencies

Conversation

@alexanderdavidsen

Copy link
Copy Markdown
Collaborator

Summary

Bumps all direct dependencies to their latest stable versions. Most patch/minor bumps were picked up via cargo update; 10 required major version bumps in Cargo.toml.

Major bumps with code changes

  • axum 0.7 → 0.8 — rewrote FromRequestParts impl in middleware.rs to use native async fn in traits (the manual Pin<Box<dyn Future>> signature is no longer required).
  • rand 0.8 → 0.10 — thread_rng() → rng() in handlers/user.rs; fill() moved from Rng to the new RngExt trait.
  • reqwest 0.12 → 0.13 — rustls-tls feature renamed to rustls. Crypto provider changes from ring (legacy) to aws-lc-rs (actively maintained).

Major bumps (drop-in, no code changes)

  • thiserror 1 → 2
  • colored 2 → 3
  • dirs 5 → 6
  • crossterm 0.28 → 0.29
  • tower 0.4 → 0.5
  • tower-http 0.5 → 0.6
  • metrics-exporter-prometheus 0.16 → 0.18

Cleanup

  • Removed unused rand dep from taskbook-common.

Not included

  • fs2 → fs4: fs2 is latest stable (0.4.3) but unmaintained since 2018. Will be a separate PR.

Test plan

  • cargo build clean on all crates
  • cargo test — 62 tests pass (24 + 35 + 3)
  • cargo clippy --all-targets clean (no warnings)
  • Smoke test: tb CLI basic flows (tasks, boards, archive)
  • Smoke test: tb-server register/login/sync round-trip against Postgres
  • Confirm reqwest/aws-lc-rs TLS works against production server endpoints
  • Confirm /metrics endpoint still renders under metrics-exporter-prometheus 0.18

Major bumps requiring code changes:
- axum 0.7 → 0.8: native async fn in FromRequestParts trait
- rand 0.8 → 0.10: thread_rng() → rng(), Rng → RngExt for fill()
- reqwest 0.12 → 0.13: rustls-tls feature renamed to rustls
  (now uses aws-lc-rs as crypto provider instead of ring)

Other major bumps (drop-in):
- thiserror 1 → 2
- colored 2 → 3
- dirs 5 → 6
- crossterm 0.28 → 0.29
- tower 0.4 → 0.5
- tower-http 0.5 → 0.6
- metrics-exporter-prometheus 0.16 → 0.18

Cleanup:
- Remove unused rand dep from taskbook-common

All other dependencies bumped to latest compatible via cargo update.
Copilot AI review requested due to automatic review settings April 23, 2026 11:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Rust workspace’s direct dependencies to their latest stable versions, with a few code adjustments to accommodate major-version API changes (notably axum and rand).

Changes:

  • Bumped key server and client dependencies (axum, tower/tower-http, rand, reqwest, metrics-exporter-prometheus, thiserror, etc.).
  • Updated the AuthUser extractor to the axum 0.8 FromRequestParts async-trait signature.
  • Updated session token generation to the rand 0.10 API and removed an unused rand dependency from taskbook-common.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
crates/taskbook-server/src/middleware.rs Updates FromRequestParts impl to axum 0.8’s async signature while preserving auth/session lookup logic.
crates/taskbook-server/src/handlers/user.rs Adjusts RNG imports and token generation to rand 0.10 API (RngExt, rand::rng()).
crates/taskbook-server/Cargo.toml Major dependency bumps for server crate (axum/tower/rand/metrics-exporter-prometheus/thiserror).
crates/taskbook-common/Cargo.toml Bumps thiserror to v2 and removes unused rand dependency.
crates/taskbook-client/Cargo.toml Bumps client dependencies; updates reqwest to 0.13 and switches TLS feature to rustls.
Cargo.lock Regenerates lockfile to reflect upgraded dependency graph.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Collapse nested if into match guards (event.rs)
- Use checked_div for percent calculation (taskbook.rs, app.rs)
- Apply rustfmt
@alexanderdavidsen
alexanderdavidsen merged commit b1cb805 into master Apr 23, 2026
3 checks passed
@alexanderdavidsen
alexanderdavidsen deleted the chore/update-dependencies branch April 23, 2026 11:57
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.

2 participants