Lock file maintenance - #4778
Conversation
Renovate lock-file maintenance review — no findingsReviewed both lockfiles ( Worth landing for
Neither is exploitable in PeerDB as shipped: the UI runs in Linux containers, and
Notable but benign
Hygiene checks
One process note: |
bd4f3aa to
1f59c84
Compare
| [[package]] | ||
| name = "rust_decimal" | ||
| version = "1.42.1" | ||
| version = "1.43.0" |
There was a problem hiding this comment.
rust_decimal 1.42.1 → 1.43.0 — the one bump in this PR worth a closer look. Released 2026-09-02, so it is 5 days old.
Directly relevant fixes (upstream #808, a backport of #807):
- "Postgres FromSql panics on legitimate large NUMERIC values" —
10i128.pow(4 * start_integers)overflowed for weights ≥ 11 (i.e.10^44). It now useschecked_powand returnsExceedsMaximumPossibleValueinstead of panicking.nexus/peer-postgres/src/stream.rs:153(let numeric: Option<Decimal> = row.get(i)) goes through exactly thatFromSqlpath, so this bump removes a real panic on wide PGNUMERIC. Worth confirming the newErrsurfaces as a query error rather than being swallowed. from_strno longer silently ignores non-digit garbage after the 29th significant digit (nowInvalidCharacter/DuplicatedDecimalPoint). Long-but-valid digit strings are unaffected, sonexus/peer-bigquery/src/stream.rs:150(Decimal::from_str(&result)?forNUMERIC/BIGNUMERIC) should behave the same.
Regression risk to be aware of:
- Upstream #809 rewrote the hot arithmetic paths:
u128fast paths for 64-bit mul/add/sub,rescale_internalscaling in chunks of up to 9 digits instead of one at a time,truncate_internalreporting discarded fractions sofloor/ceiltruncate once, andPartialEqshort-circuiting on identical bit patterns. The author states rounding semantics are preserved, but this is a fresh rewrite of the code that rescales and renders everyValue::Numericnexus emits. - adding IF NOT EXISTS for pg and bq #808 also carries "math precision improvements" that shift division and
lnresults by 1–2 ULP, with several upstream test expectations updated. Nexus transports decimals rather than computing on them, so this is unlikely to bite — but a numeric-heavy e2e pass (PGNUMERIC, BigQueryNUMERIC/BIGNUMERIC) before merge would be cheap insurance on a 5-day-old release.
Side benefit: dropping the rkyv 0.7 feature bridge (#819) removes rkyv, rkyv_derive, bitvec, bytecheck, ptr_meta, radium, rend, simdutf8, tap, wyz, ahash 0.7, hashbrown 0.12 and the last syn 1.0.109 from the tree. No functional impact, since nexus builds this crate with default-features = false, features = ["tokio-pg"].
| "version": "16.3.2", | ||
| "resolved": "https://registry.npmjs.org/next/-/next-16.3.2.tgz", | ||
| "integrity": "sha512-/ZCaubUy17Lld1SiPWxuPbCk2ihqAxF2QNQaPZeEaEb7t1I58qhsJN187D7AfpapHAqUPXH0f/thtdW9dWgWFg==", | ||
| "version": "16.3.3", |
There was a problem hiding this comment.
next 16.3.2 → 16.3.3 is a security release — flagging so this does not sit unmerged. Per the v16.3.3 notes it fixes two advisories, both rated critical:
- GHSA-p293-qw3h-jr36 — unauthenticated RCE on Windows-hosted servers
- GHSA-2xp9-vwfh-vxw4 — unauthenticated RCE in the Image Optimization API when AVIF files are used
Actual exposure for the PeerDB UI looks low on both counts: it ships in a Linux container (not Windows-hosted), and ui/next.config.js:17-19 sets images: { unoptimized: true }, which takes the Image Optimization API out of the picture. No regression risk in the bump itself — the release lists no other changes.
| "version": "5.109.2", | ||
| "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.109.2.tgz", | ||
| "integrity": "sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==", | ||
| "version": "5.110.2", |
There was a problem hiding this comment.
webpack 5.109.2 → 5.110.2 — the refresh stopped one patch short. 5.110.3 was published 2026-09-01, six days before this lock was regenerated (branch commit dated 2026-09-07). It is currently latest on npm, not deprecated, and still engines: node >=10.13.0, so ^5.99.7 should have resolved to it. A rebase/retry may be worth a shot to see whether Renovate picks it up.
It matters a little because 5.110.0 (2026-08-27) is a substantial minor — it wraps concatenated modules in lazy __webpack_require__.cw accessors and inlines require() (#21519) — and .1/.2/.3 are all regression fixes layered on that rework. 5.110.3 specifically fixes import() options, ESM interop when require() targets a module outside the concatenation, concatenated require() inside a require.ensure callback, mangled exports read through require(), and new on a default import of a wrapped CommonJS module. It also reverts optimization.minimize to a boolean (options moving to minimizeOptions) after 5.110.1 had loosened it.
Mitigating: this entry is dev: true, and nothing under ui/ references webpack outside package.json — next.config.js has no webpack() hook, so it is not on the Next build path. Low practical risk either way; noting it mainly because "lock file maintenance" implies a full refresh.
| [[package]] | ||
| name = "mysql_async" | ||
| version = "0.37.0" | ||
| version = "0.37.1" |
There was a problem hiding this comment.
mysql_async 0.37.0 → 0.37.1 — patch release whose only listed change is "Fix data race in statement cache" (upstream issue #406). The new arc-swap dependency appearing in this same hunk is that fix. Straightforwardly good for nexus/peer-mysql; no behavior change to review.
| [[package]] | ||
| name = "rustls" | ||
| version = "0.23.43" | ||
| version = "0.23.44" |
There was a problem hiding this comment.
rustls 0.23.43 → 0.23.44 — three changes, two worth noting, one of which lands squarely on the "do not leak secrets" rule in .claude/REVIEW.md:
KeyLogFilenow creates theSSLKEYLOGFILEwith owner-only permissions (#3210). Previously those TLS session keys were written world-readable.- Server certificates are now verified against the correct name on ECH rejection (#3236).
- Default flip: ML-DSA post-quantum certificates are now enabled by default in the
aws-lc-rsprovider (#3249). Nexus reaches that provider viapgwiresserver-api-aws-lc-rsfeature (nexus/Cargo.toml:35). ML-DSA is not in the public web PKI, so this only widens what a private CA hierarchy may present — no expected impact, but it is a default changing inside the TLS stack.
| [[package]] | ||
| name = "aws-lc-rs" | ||
| version = "1.18.0" | ||
| version = "1.18.1" |
There was a problem hiding this comment.
aws-lc-rs 1.18.0 → 1.18.1 / aws-lc-sys 0.44.0 → 0.45.0 — the 1.18.1 notes tighten several API contracts so inconsistent inputs now fail closed with Err(Unspecified) instead of being accepted (#1215): in-place AEAD sealing verifies Extend produced exactly enough space, streaming cipher constructors reject missing/mismatched IV contexts, RSA verify_digest_sig requires the supplied digest to match RsaParameters, and Salt::from(Okm) now uses the Okms output algorithm rather than the source PRKs. Upstream states valid inputs are unaffected, and nexus only consumes this transitively through rustls/pgwire, so it should be a no-op here.
aws-lc-sys 0.45.0 moves the vendored AWS-LC from v5.5.0 to v5.7.0, which corrects EVP_DecryptUpdate for padded block ciphers so it only modifies the output range reported through out_len. Since this is the C-compiling sys crate, it is also the bump most likely to affect the nexus image build — the release includes a fix for -Wa,--debug-prefix-map under Clang + LTO (now using -ffile-prefix-map) and CFLAGS filtering for jitterentropy, so worth an eye on the Rust build job and not just the tests.
| "version": "8.7.2", | ||
| "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-8.7.2.tgz", | ||
| "integrity": "sha512-oTVHV+oelUBtiu5iTuTNNZ0eLYsXSMxry4cgr30mayNkgIZL6qZ0IOQVPuSWGcyAaXKl/XgqwWHIC3a0khYVBA==", | ||
| "version": "8.8.0", |
There was a problem hiding this comment.
protobufjs 8.7.2 → 8.8.0 — hardening release, no API break. All three fixes are on the decode path: "Harden ProtoJSON and Text Format parsing" (#2418), "Limit Any.fromObject recursion" (#2419), and "Respect declared lengths while decoding" (#2420). The minor bump itself is Edition 2026 support (#2414), which is additive. Good to take.
| "version": "4.4.3", | ||
| "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", | ||
| "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", | ||
| "version": "4.5.4", |
There was a problem hiding this comment.
zod 4.4.3 → 4.5.4 — a minor, but nothing in this range changes default behavior.
4.5.0s headline is z.compile(), which walks a schema and emits flat JS executed via new Function(). It is strictly opt-in — nothing auto-compiles unless global auto-compilation is turned on — so it introduces no new unsafe-eval requirement for the UIs CSP as long as it is not adopted. The rest of the 4.5.x line is fixes: 4.5.4 stops the cycle walk from firing a default factory (#6500), 4.5.3 emits record numeric keys as strings in toJSONSchema (#6497), 4.5.2 lets a prototype-method getter answer a bare call so vi.spyOn works (#6488).
That last one is the only thing I would sanity-check: the advertised 9x schema-memory reduction comes from lazy-bound methods, and if any UI code pulls a schema method off the instance and calls it detached, that is where it would show up. The genuinely breaking changes in this range (.merge() throwing when the receiver has refinements, base64 rejecting whitespace, stricter HTTP URL validation) all landed in 4.4.0, which main is already on.
| "version": "5.50.0", | ||
| "resolved": "https://registry.npmjs.org/terser/-/terser-5.50.0.tgz", | ||
| "integrity": "sha512-CN9BVxWhgS/hRxtUMjtC2uRWSTcSfQFHMDWma6sKKfIivCD91sM+FOPfvwoaRMqCSrUpe1nv3jDamd9eEQ4y+w==", | ||
| "version": "5.51.2", |
There was a problem hiding this comment.
terser 5.50.0 → 5.51.2 — minifier semantics moved across this range, so noting it even though the blast radius here looks nil. 5.51.0 deoptimizes ("pins") functions whose argnames scope is ambiguous — default arguments referencing other parameters or outer variables — and fixes ?? being misclassified as a boolean operator, which was generating booleans on its left-hand side. 5.51.1 fixes code transformation inside dynamic import() arguments, and 5.51.2 then reverts part of the argname pinning due to "issues that came up without clear reproduction". Three releases of churn in a minifier.
Only reachable transitively through webpacks minimizer-webpack-plugin (also bumped here, 5.6.1 → 5.8.0), and webpack is not on the Next build path for this UI, so I would expect no effect on shipped output.
This PR contains the following updates:
🔧 This Pull Request updates lock files to use the latest dependency versions.
Configuration
📅 Schedule: (in timezone Etc/UTC)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.