Repository navigation
chore(deps): bump the rust-dependencies group, with the audits it needs - #2731
Merged
Merged
Conversation
Bumps the rust-dependencies group with 3 updates: [serde_json](https://github.com/serde-rs/json), [proptest](https://github.com/proptest-rs/proptest) and [syn](https://github.com/dtolnay/syn). Updates `serde_json` from 1.0.151 to 1.0.154 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](serde-rs/json@v1.0.151...v1.0.154) Updates `proptest` from 1.11.0 to 1.12.0 - [Release notes](https://github.com/proptest-rs/proptest/releases) - [Changelog](https://github.com/proptest-rs/proptest/blob/main/CHANGELOG.md) - [Commits](proptest-rs/proptest@v1.11.0...v1.12.0) Updates `syn` from 3.0.7 to 3.0.8 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](dtolnay/syn@3.0.7...3.0.8) --- updated-dependencies: - dependency-name: serde_json dependency-version: 1.0.154 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies - dependency-name: proptest dependency-version: 1.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-dependencies - dependency-name: syn dependency-version: 3.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
Carries the group bump dependabot proposed in #2729 plus the supply-chain records it needs. That PR was green on Test, Lint, Examples, Fuzz Compile Check and every WASM/Windows job; only Audit failed, with cargo vet --locked reporting eleven unvetted crates. proptest 1.12.0 is why. A patch-level bump of a dev dependency looks like it should add nothing, but 1.12 pulls in a borsh serialization chain: bit-set, bit-vec, borsh, borsh-derive, core_detect, proc-macro-crate and toml_edit. cargo tree -e normal -i proptest finds no path, so the whole chain is dev-only and takes safe-to-run exemptions, the same way proptest and rand_xorshift were already carried. The stale proptest 1.11.0 and rand_xorshift 0.4.0 exemptions are dropped rather than left behind. The two crates that actually ship took hand delta audits at safe-to-deploy, recorded after reading the diffs: serde_json 1.0.151 -> 1.0.154 is narrowing. "-0" no longer parses to I64(0) so the sign survives under arbitrary_precision, Number::as_f32 filters non-finite results, and invalid UTF-8 is reported at the first bad byte. The new UTF-8 position arithmetic is the one part worth flagging: as_str, which is not feature-gated and is what this tree compiles, uses saturating_sub and cannot underflow, while begin_raw_buffering subtracts from position.column without saturation and needs the raw_value feature, which this tree does not enable. Worst case in either is a wrong column in an error message. syn 3.0.7 -> 3.0.8 only narrows operator parsing: "<-" is rejected with a diagnostic, and "->" is no longer mis-parsed as subtraction nor "<-" as less-than. No unsafe added or changed in either delta, no new ambient access, no new build scripts. Validated: cargo vet --locked exits 0 (94 fully audited, 84 partially, 498 exempted), ./scripts/audit-lockfiles.sh exits 0, cargo deny check licenses sources passes with the new crates, and the property-based security suite is 27/27 on proptest 1.12.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bashkit | 223bfe6 | Commit Preview URL Branch Preview URL |
Oct 15 2026, 10:50 AM |
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.
What changed
Carries the
rust-dependenciesgroup bump dependabot proposed in #2729, plus the supply-chain records that bump needs to go green. Supersedes #2729.Dependency moves:
proptest1.11.0 -> 1.12.0,serde_json1.0.151 -> 1.0.154,syn3.0.7 -> 3.0.8, andrand_xorshift0.4.0 -> 0.5.0 behind proptest. No first-party code changes;Cargo.lockplussupply-chain/.Why
#2729 was green on Test, Lint, Examples, Fuzz Compile Check and every WASM/Windows job. Only Audit failed, with
cargo vet --lockedreporting eleven unvetted crates.proptest1.12.0 is the reason. A patch-level bump of a dev dependency looks like it should add nothing, but 1.12 pulls a borsh serialization chain into the tree:bit-set,bit-vec,borsh,borsh-derive,core_detect,proc-macro-crateandtoml_edit.cargo tree -e normal -i proptestfinds no path to it, so that whole chain is dev-only and takessafe-to-runexemptions — the same wayproptestandrand_xorshiftwere already carried. The staleproptest1.11.0 andrand_xorshift0.4.0 exemptions are dropped rather than left behind.The two crates that actually ship took hand delta audits at
safe-to-deploy, written after reading the diffs:-0no longer parses toI64(0)so the sign survives underarbitrary_precision;Number::as_f32filters non-finite results, fixing comparison of large non-integer values againstf32::INFINITY; invalid UTF-8 is reported at the first bad byte. Thelexical/math.rschurn ismax_value()->MAXrenames only.<-is rejected with a diagnostic, and->is no longer mis-parsed as subtraction nor<-as less-than.One thing worth recording for a future reader: serde_json's new UTF-8 position arithmetic saturates in
as_str, which is not feature-gated and is what this tree compiles, but not inbegin_raw_buffering, which is reachable only under theraw_valuefeature this tree does not enable. Worst case in either is a wrong column in an error message, but enablingraw_valuelater means re-checking that subtraction. Thepreserve_orderfoldhash hasher change is likewise behind a feature this tree does not enable.No unsafe added or changed in either delta, no new ambient access, no new build scripts.
Before / After
Before, on #2729:
After, here:
No behavior change in bashkit itself; this is a dependency and supply-chain change.
Risk
safe-to-runcriteria on the new borsh chain: it rests oncargo tree -e normal -i proptestreturning no path, so if proptest ever becomes a normal dependency those exemptions are the wrong criteria and must be revisited.Checklist
cargo vet --locked, which now passes. The property-based security suite, the direct consumer of proptest, is 27/27 on 1.12.Validated locally:
just checkexit 0 (fmt, clippy--all-targets -D warnings,cargo test— 33 suites, 7114 tests, 0 failures, 162 repo-script tests, and every parity/OKF/doc-link/changelog gate),cargo vet --lockedexit 0,./scripts/audit-lockfiles.shexit 0,cargo deny check licenses sourcesok with the new crates, andcargo test -p bashkit --test proptest_security -- --test-threads=127/27.