deps: refresh all lockfiles and upgrade the python dev stack - #1341
Merged
Conversation
Plain `cargo update` moves 70 packages in the root workspace, all within their existing semver ranges: actix-web 4.14.1 -> 4.15.0, the futures 0.3.33 -> 0.3.34 family, the gix-* family, aws-lc-rs, cc and clap_mangen among them. No package is added, removed, or downgraded, and `cargo metadata --locked` resolves. The seven workspace-excluded crates root their own workspaces, so `--workspace` never reaches them and their locks had drifted behind on cc and find-msvc-tools. Each is refreshed here to the root lockfile's versions -- byte-identical checksums, nothing else moved -- matching the precedent 38a8f36 set by refreshing root and excluded crates in one commit. Grammar crates are untouched. All twenty plus the tree-sitter runtime remain at their `=X.Y.Z` pins, so the pin policy is intact. The h2 0.4.18 entry from 04d83b5 (RUSTSEC-2026-0258) survives the re-resolve, none of the 70 bumped crates declares a rust-version above the workspace MSRV of 1.94, and cargo-deny reports advisories, bans, licenses and sources all ok. man/bca-report.1 moves for a dependency reason. clap_mangen 0.3.3 stopped emitting `hide = true` positionals into the SYNOPSIS line, so the regenerated page drops `[FORMAT]`. That corrects an upstream bug rather than losing an option: `format_positional` is hidden and still parses, `bca report --help` has always printed `bca report [OPTIONS]`, the page's own OPTIONS body never documented the positional, and every other hidden argument (--headroom, --strict-exit-codes, --no-cyclomatic-try) was already omitted. Regenerated with `cargo xtask`; note the `manpages` pre-commit hook excludes Cargo.lock from its trigger, so a local hook run would not have produced this. No public-API change; STABILITY.md is unaffected.
`uv lock --upgrade` moves 24 packages, none added or removed: ruff 0.16.2 -> 0.16.4, mypy 2.3.0 -> 2.3.1, numpy 2.5.1 -> 2.5.2, jupyterlab 4.6.2 -> 4.6.3 and the notebook stack around it. The hash-pinned exports under requirements/ are regenerated by `make py-relock`, which CI installs with `pip install --require-hashes`; all 109 pins agree across the lockfile and both exports. The ruff-pre-commit `rev:` moves in this same commit because check-ruff-lockstep requires it: uv.lock is the anchor and the rev must be `v` + the version it resolves. The `pyproject.toml` bound (>=0.13,<0.17) already covers 0.16.4 and is unchanged, so all three declarations stay consistent.
`pre-commit autoupdate` on the two non-ruff hook repos; the ruff repo is excluded because its rev is pinned to uv.lock by check-ruff-lockstep, and taskcluster_yml_validator is already current. v6.0.0 removes only check-byte-order-marker and fix-encoding-pragma, neither of which this config uses. The five hooks it does use (check-executables-have-shebangs, check-merge-conflict, check-symlinks, check-yaml, check-json) changed by import style alone between the two tags -- typing.Sequence -> collections.abc.Sequence -- with no behaviour change.
This was referenced Aug 22, 2026
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.
Routine maintenance sweep: refresh every lockfile in the repository, upgrade the
Python dev stack, and take the one hook bump that dependabot does not cover.
Three commits, no source changes.
What moved
Cargo.lockenums,fuzz, and the five vendoredtree-sitter-*— cc and find-msvc-tools only, to the root lockfile's versionsuv.lock+ exports.pre-commit-config.yamlpre-commit-hooksv5.0.0 → v6.0.0; ruff rev mirrored to v0.16.4man/bca-report.1Why a man page moved in a dependency PR
clap_mangen0.3.3 stopped emittinghide = truepositionals into the SYNOPSISline, so the regenerated
bca-reportpage no longer advertises[FORMAT].That corrects an upstream bug rather than dropping an option.
format_positionalis
hide = trueand still parses;bca report --helphas always printedbca report [OPTIONS]; the page's own OPTIONS body never documented thepositional; and every other hidden argument (
--headroom,--strict-exit-codes,--no-cyclomatic-try) was already omitted from the manpages. The deprecated positional is unaffected at runtime — this only brings it
in line with its siblings.
Worth flagging for future dependency bumps: the
manpagespre-commit hookexcludes
Cargo.lockfrom its trigger, so a local hook run would not haveproduced this regeneration. It surfaced from
make pre-commit.Why the excluded crates are in the same commit
The seven workspace-excluded crates root their own workspaces, so
cargo update --workspacenever reaches them and their locks had drifted behindon cc and find-msvc-tools. Each moved exactly those two packages, with
byte-identical checksums. This matches 38a8f36, which refreshed the root
workspace and each excluded crate in one commit.
Why the ruff rev is in the Python commit
check-ruff-locksteptreatsuv.lockas the anchor: theruff-pre-commitrev:must bev+ the version it resolves, and therequirements/dev.txtexport must pin it. Splitting them would leave the intermediate commit red. The
pyproject.tomlbound (>=0.13,<0.17) already covers 0.16.4 and is unchanged.Verification
make pre-commit→BCA_GATE: pass (gate=pre-commit)both tiers,
enums-codegen-drift,check-publish-metadatastubtest
make fuzz-checkpasses separately, sincefuzz/Cargo.locksits outside themake pre-commitDAGcargo deny check→ advisories, bans, licenses, sources all okcargo metadata --lockedresolvesPin policy
Grammar crates are untouched. All twenty plus the
tree-sitterruntime remain attheir
=X.Y.Zpins. Theh2 0.4.18entry from 04d83b5 (RUSTSEC-2026-0258)survives the re-resolve, and no bumped crate declares a
rust-versionabove theworkspace MSRV of 1.94.
No public-API change;
STABILITY.mdis unaffected.Built and gated against Rust stable 1.98.0 and nightly 1.100.0.