The workspace is pinned to Rust 1.95.0 while EdgeZero moves to 1.98.1 in stackpop/edgezero#366. That PR also takes a set of dependency majors we share with EdgeZero, so the two workspaces have to move together: pinning EdgeZero at a revision that requires fastly 0.13 while this workspace asks for 0.12 puts two incompatible copies of the same SDK in one graph.
Scope
Toolchain — match .tool-versions and rust-toolchain.toml to EdgeZero:
| Tool |
From |
To |
| Rust |
1.95.0 |
1.98.1 |
| Node |
24.12.0 |
24.20.0 |
| Fastly CLI |
15.1.0 |
16.0.0 |
| Viceroy |
0.17.0 |
0.21.0 |
| wasmtime |
44.0.1 |
48.0.1 |
EdgeZero — currently pinned at tag v0.0.7. The latest release, v0.0.8, still carries the 1.95 toolchain and the old majors, so a tag will not do until #366 merges and is tagged.
Shared dependency majors — fastly and log-fastly 0.12 to 0.13, spin-sdk ~6.0 to ~7.0, validator 0.20 to 0.21, sha2 0.10 to 0.11. brotli stays at 8 for the reason #366 measures: async-compression still resolves 8, so taking 9 adds a second decompressor stack rather than replacing one.
Expected fallout
sha2 0.11 moves RustCrypto to hybrid_array, which drags hmac and chacha20poly1305 with it and changes two API shapes (new_from_slice moves traits; Array loses LowerHex).
- Any HMAC change has to be proven output-identical before it ships — EC IDs and S3 SigV4 signatures are persisted, and a silent digest change would invalidate every existing identity.
- Three releases of new clippy lints arrive at once under the workspace's
-D warnings gate.
- Docs and scripts that name specific tool versions need updating.
Done when
The workspace is pinned to Rust 1.95.0 while EdgeZero moves to 1.98.1 in stackpop/edgezero#366. That PR also takes a set of dependency majors we share with EdgeZero, so the two workspaces have to move together: pinning EdgeZero at a revision that requires
fastly0.13 while this workspace asks for 0.12 puts two incompatible copies of the same SDK in one graph.Scope
Toolchain — match
.tool-versionsandrust-toolchain.tomlto EdgeZero:EdgeZero — currently pinned at tag
v0.0.7. The latest release, v0.0.8, still carries the 1.95 toolchain and the old majors, so a tag will not do until #366 merges and is tagged.Shared dependency majors —
fastlyandlog-fastly0.12 to 0.13,spin-sdk~6.0 to ~7.0,validator0.20 to 0.21,sha20.10 to 0.11.brotlistays at 8 for the reason #366 measures:async-compressionstill resolves 8, so taking 9 adds a second decompressor stack rather than replacing one.Expected fallout
sha20.11 moves RustCrypto tohybrid_array, which dragshmacandchacha20poly1305with it and changes two API shapes (new_from_slicemoves traits;ArraylosesLowerHex).-D warningsgate.Done when
#[allow]suppressions introduced to get there