Repository navigation
chore(deps)!: pin nexum-runtime at 2085cd2 and videre at 9a54866, on wasmtime 49 and Rust 1.96 - #697
Merged
Merged
Conversation
…wasmtime 49 and Rust 1.96 nexum-runtime moved to Rust 1.96.0 and wasmtime 49.0.2 to clear nine wasmtime advisories and one rustls advisory, and videre followed. This brings shepherd onto both: the ten nexum-runtime pins move to 2085cd2, the eight videre pins move to 9a54866, the three wasmtime lines move to "49", and the toolchain moves to 1.96 in the flake, the CI setup and the Dockerfile base image. `wit/deps.toml` named older revs than the crates did and carried all-zero digests, and `wit/deps.lock` still held monorepo-era path entries. Both now name the same revs as the crate manifests, with real digests and a per-package prefix, and the lock is regenerated. The vendored `wit/deps` tree is unchanged. A `wit-sync` CI job, the same as videre's, re-resolves the pins and fails if the vendored tree drifts. The lockfile also takes rustls 0.23.45, chacha20 0.10.2 in place of the yanked 0.10.1, the fixed h2, ruint and crossbeam-epoch releases, and toml 1.1.8 to match what the runtime is tested on. No source changes were needed. BREAKING CHANGE: the minimum Rust version is 1.96. Closes #670. AI Assistance: Claude Code used for the re-pin, the WIT pins, the CI job and the lockfile updates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
nexum-runtime moved to Rust 1.96.0 and wasmtime 49.0.2 in nxm-rs/nexum-runtime#385 to clear nine wasmtime advisories and one rustls advisory, and videre followed in nxm-rs/videre#89. Shepherd pins both by rev and carries its own wasmtime lines, so it is the last of the three to move, and the
shepherdbinary is what actually ships.What changed
2ed882fto2085cd2, and the eight videre pins from9ab1515to9a54866. Both are merge commits on the dependency'smain. The lockfile holds one copy of each.flake.nixpins 1.96.0, and the CI rust setup, theDockerfilebase image (rust:1.96-slim-bookworm) andAGENTS.mdfollow.wasmtime,wasmtime-wasiandwasmtime-wasi-httpmove to"49", written the way the runtime writes them, with default features. The lockfile resolves all three to 49.0.2.WIT pins.
wit/deps.tomlnamed older revs than the crates did (fd16db7and66c8c3b) and carried all-zero digest placeholders, andwit/deps.lockstill held monorepo-era path entries. Both now name the same revs as the crate manifests, with real tarball digests and a per-package prefix, and the lock is regenerated. The vendoredwit/depstree is byte-identical.A
wit-syncCI job, textually the same as videre's, re-resolves the pins with the pinned, digest-verified wit-deps 0.6.0 binary and fails ifwit/drifts.The lockfile also takes rustls 0.23.45, chacha20 0.10.2 in place of the yanked 0.10.1, the fixed h2, ruint and crossbeam-epoch releases, and toml 1.1.8, which is the version the runtime and videre are tested on. The
[patch.crates-io]cowprotocol entries are untouched.What did not change
No source file. Shepherd has no
WallClockuse, no wasi:http hook or view implementation, and no directwasmtimeimport, so the runtime's gate rewrite needs nothing here. The engine configs, the compose files and the module manifests are untouched.Breaking
The minimum Rust version is 1.96.
Advisories
Under cargo-deny's defaults this clears the wasmtime, rustls, h2, ruint and crossbeam-epoch advisories, and no yanked crate remains. Three "unmaintained" notices are left, each with no compatible upgrade and the same three as in videre:
instantthrough wstd,pastethrough alloy-primitives, andproc-macro-error2through alloy-sol-macro 1.6.0. Clearing the third means moving the alloy-core family to 1.7 across all three repos. Shepherd still has no cargo-deny job of its own.Verification
Run on Rust 1.96.0 with
--locked: fmt, clippy at-D warnings, the cow-orderbook-only check, both guest wasms andcargo doc -D warningspass. nextest withCIset after building the wasms: 243 run, 243 passed, no test skipped for a missing artefact. The one nextest skip is the#[ignore]fixture writer in the cow-venue conformance suite.The anvil-fork end-to-end test returns early without
SHEPHERD_FORK_RPC, so it did not run here and does not run in CI. No localdocker buildwas run; the Docker job on this pull request is the first build on the new base image, whose tag was confirmed to exist.wit-deps updateis idempotent against the new pins and leaveswit/with no diff.Follow-ups
just ciandAGENTS.mdsay the recipe mirrorsci.ymlone to one. Withwit-syncadded that is no longer true; videre has ajust wit-syncrecipe to copy.1.96; only the flake pins 1.96.0 exactly, as before with 1.94.Closes #670.
AI Assistance: Claude Code used for the re-pin, the WIT pins, the CI job, the lockfile updates and this description.