Repository navigation
deps: refresh dependencies (2026-10-20) - #1683
Merged
Merged
Conversation
PyO3 0.30 makes the Clone-derived FromPyObject opt-in, so the explicit skip_from_py_object on AnalysisFailure is now a deprecated no-op and is removed. Options keeps its from_py_object opt-in.
gix 0.88 replaced its per-call error enums with one erased gix::Error carrying a recovery class. Three call sites relied on the typed forms: - The #579 retry predicates matched the FindExistingObject / FindExistingIter / NotFound variants. Those no longer exist, so one is_transient_object_miss now retries any NotFound-classified error. A genuinely absent object or a path missing at the ref now spends the two retries before failing; each fails at its first lookup. The test now drives real find_commit failures, so gix's own classification of each shape is pinned too. - map_discover_error downcasts to gix::discover::upwards::Error, which is still typed inside the tree, keeping the exact variant set. - Tree-diff visitors must return gix::Result; diff_visitor adapts the existing crate-Error closures. Also follows try_from_bstr -> from_bstr and a fallible is_shallow. The baseline refresh is the two visitor closures' line-keyed names.
quick-xml 0.42 yields element names and attribute values as str, so the checkstyle validators drop their now-unreachable UTF-8 decode steps and compare against str literals.
Re-exports requirements/dev.txt and examples.txt from the upgraded lock and moves the ruff-pre-commit rev to v0.16.10 with it, as the ruff lockstep gate requires.
The pin moves in lockstep in Cargo.toml and enums/Cargo.toml, and the
regenerated Php enum gains ArgumentPlaceholder (partial function
application), renumbering every id after it.
Four constructs the old grammar parsed as ERROR now parse. Two of
them move metrics, and each gets a regression test that fails under
0.24.2:
- `use \Foo\{…};` with a leading backslash had swallowed the
following function into recovery, so it scored nom 0.
- `private(set)` on a promoted parameter billed `private` and `set`
as operands; it now scores like the same modifier on a property.
clone-with-arguments and `f(?, 2)` score as before. No corpus
snapshot moved. The version-citing comments in loc.rs and nexits.rs
were re-verified with bca dump against 0.25.1 before being updated.
The release changes no grammar: grammar.js, grammar.json, node-types.json and scanner.c are byte-identical to 0.2.2, and parser.c differs only in its embedded version. The regenerated enum is unchanged and no snapshot moves. The two comments describing the currently pinned parse of a `final` local now cite 0.3.0.
As with groovy 0.3.0, the release changes no grammar: grammar.js, grammar.json, node-types.json and scanner.c are byte-identical to 0.1.1, and parser.c differs only in its embedded version. 0.2.0 still requires tree-sitter-language ^0.1.7, so the caret-range rationale in AGENTS.md and the vendored manifests holds; their citations now name 0.2.0.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1683 +/- ##
==========================================
+ Coverage 98.26% 98.27% +0.01%
==========================================
Files 371 371
Lines 108453 108482 +29
Branches 108018 108047 +29
==========================================
+ Hits 106566 106612 +46
+ Misses 1211 1204 -7
+ Partials 676 666 -10
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
dekobon
force-pushed
the
deps/refresh-2026-10-20
branch
from
October 21, 2026 03:26
d4cdcd7 to
f0708ce
Compare
The gix 0.89 port re-indented the three tree-diff visitors, which put their long-standing coverage gaps into the patch. Two JIT arms had no test at all; perturbing either now fails exactly its new test: - the rename arm, which is how a moved file keeps its prior history; - the binary-blob skip. A tree naming an unwritten blob makes `change.diff()` fail on demand, and each visitor must surface that as Error::Diff: target enumeration, the history walk and the scored commit. The fixture file is `.rs` on purpose. A `.txt` falls outside the default metrics scope and is skipped unread, which let the enumeration test pass on the walk's failure instead.
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.
Updates the workspace's dependencies to their newest appropriate versions. Dependabot already opens semver-compatible bumps every week and ignores semver-major ones. This PR covers what it can't: a full lockfile refresh,
=-pinned and 0.x-minor manifest bumps, the Python lock, and three grammar pins.rust-versionstays at 1.94: every new release's MSRV is at or below it.Commits
deps: refresh Cargo.lockcargo update, 110 packages (actix-web 4.17, tokio 1.54, …)deps: refresh excluded-crate lockfilesenums,fuzzand the five vendored grammarsdeps(py): bump pyo3 to 0.30.1skip_from_py_object, which is now the default and deprecateddeps: bump gix to 0.89deps(dev): bump jsonschema to 0.59, quick-xml to 0.42str, so the checkstyle validators drop their UTF-8 decode stepsdeps(py): upgrade uv.lockruff-pre-commitrev moved with itchore(pre-commit): bump taskcluster_yml_validatordeps(php): bump tree-sitter-php to 0.25.1ERRORnow parse; two move metricsdeps(groovy): bump dekobon-tree-sitter-groovy to 0.3.0parser.cdiffers only in its embedded versiondeps(irules): bump tree-sitter-irules to 0.2.0gix 0.89
gix 0.88 replaced its per-call error enums with one erased
gix::Errorthat carries a recovery class.NotFound-classified error, which also covers a genuinely absent object and a path absent at the ref. Those deterministic misses now cost two extra bounded attempts. Two tests pin gix's classification using real errors, not hand-built ones:find_commitfailures: absent, wrong kind, unclassified;blame_filemiss whoseNotFoundsits under gix-blame's unclassified wrapper message, which is the race's own shape.gix::discover::upwards::Error, so the variant set is unchanged. Neutralising the downcast fails six "outside a repo" tests across lib, CLI and web.diff_visitoradapter. Thehistory.rs/jit.rshunks are re-indentation only undergit diff -w..bca-baseline.tomlchange is a rename only: two closures' line-keyed names moved, and their values are unchanged.PHP grammar: metric changes
Both are fixes, and each has a regression test. On the same input, the 0.24.2 binary scored differently:
use \Foo\{Bar, Baz};was swallowed by error recovery. Every following function scorednom0; they're now counted.private(set)on a promoted constructor parameter billedprivateandsetas operands. It now scores like the same modifier on a property declaration.No corpus snapshot moved for any of the three grammar bumps, so there is no
big-code-analysis-outputsubmodule change.Deferred
tree-sitter-perl1.1.2 requirestree-sitter ^0.26.3.Verification
make pre-commit:BCA_GATE: pass.make fuzz-check,make check-test-lang-gates-compare COMPARE_REF=origin/main,make py-stubtest, and the example notebook run against the newexamples.txt(pillow 13) all pass.