router icon indicating copy to clipboard operation
router copied to clipboard

Pin dependencies to maintain Rust 1.85.0 MSRV

Open abernix opened this issue 1 month ago • 1 comments

Summary

Pin several transitive dependencies to versions compatible with Rust 1.85.0 MSRV, preventing automatic upgrades that would require newer Rust versions.

Pinned dependencies

  • aws-config to 1.5.4 (prevents upgrade to 1.8+ which requires AWS SDK packages needing Rust 1.88)
  • aws-sdk-sso to 1.54.0 (MSRV 1.81.0)
  • aws-sdk-ssooidc to 1.55.0 (MSRV 1.81.0)
  • aws-sdk-sts to 1.55.0 (MSRV 1.81.0)
  • home to 0.5.9 (MSRV 1.70.0)
  • async-graphql / async-graphql-axum to 7.0.10 in fuzz subgraph (avoids 1.86.0 requirement from 7.0.15+)
  • async-graphql-derive, async-graphql-parser, async-graphql-value to 7.0.10 (transitive deps must match to avoid macro incompatibilities)
  • apollo-smith to 0.15.0 (0.15.2+ uses unstable feature unsigned_is_multiple_of requiring Rust 1.87+)

Additional changes

  • Removed deprecated as_slice() calls on GenericArray (deprecated in generic-array 0.14.x)
    • Replaced with hex::encode(digest.finalize()) where possible
    • Used explicit slice coercion &d[..] for other cases

Trade-offs

These pins will secure the default experience of using this as a library, but may just delay future upgrades, including a full MSRV upgrade. The AWS SDK versions are several releases behind latest (1.54-1.55 vs 1.92+), though they still provide comfortable headroom above our MSRV (requiring only 1.81).

We can selectively bump to mid-range versions (e.g., aws-sdk-sso 1.74.0) to narrow the gap while staying under any future MSRV increases, pending verification of functional compatibility.

abernix avatar Nov 25 '25 09:11 abernix

✅ Docs preview has no changes

The preview was not built because there were no changes.

Build ID: ae5fed1b75119f5f0524f22b Build Logs: View logs

apollo-librarian[bot] avatar Nov 25 '25 09:11 apollo-librarian[bot]