chore(deps): consolidate PRs #116-126, fix rkyv/brace-expansion/nanoid advisories - #127
Merged
Merged
Conversation
…v/brace-expansion/nanoid advisories Consolidates 8 of the 11 open Dependabot PRs into a single branch: - deps(rust): bytes 1.11.1 -> 1.12.1 (#124) - deps(rust): http-body-util 0.1.3 -> 0.1.4 (#122) - deps(rust): ruvector-sona 0.2.0 -> 0.2.1 (#120) - deps(ts): @hookform/resolvers 5.4.0 -> 5.7.1 (#125) - deps(ts): @playwright/test 1.62.0 -> 1.62.1 (#118) - deps(ts): @vitejs/plugin-react 6.0.2 -> 6.0.5 (#123) - deps(ts): typescript-eslint 8.60.0 -> 8.66.0 (#121) - deps(actions): taiki-e/install-action 2.85.4 -> 2.85.8 (#117) Deferred (left open, not applied): - #119 (@tanstack/react-table 8.21.3 -> 9.0.0): 8.21.3 is already the latest 8.x release, so this is a major-version rewrite, not a patch bump. - #116/#126 (candle-core/candle-transformers 0.10.2 -> 0.11.0): would create duplicate candle-core/candle-nn builds (0.10.2 pinned exactly by mistralrs, 0.11.0 for our direct use), which the existing Cargo.toml comment explicitly says the 0.10 pin exists to avoid. Blocked on a mistralrs release that supports candle 0.11. Security audit (cargo audit / pnpm audit / GitHub Dependabot alerts): - RUSTSEC-2026-0233/0234/0235 (rkyv 0.8.16 UAF + OOB reads via ruvector-core): fixed by bumping rkyv to 0.8.17 (in-range for ruvector-core's "0.8" req). - RUSTSEC-2026-0235 (rkyv 0.7.46 via rust_decimal's optional "rkyv" feature): documented in audit-ignore. Confirmed unreachable — nothing in the workspace enables rust_decimal's rkyv feature, and the edge persists even in a from-scratch `cargo generate-lockfile`, so the vulnerable path is never compiled. - GHSA-rgw5-rvv9-x895 (brace-expansion DoS, bypasses prior GHSA-jxxr-4gwj-5jf2 mitigation): pnpm override widened to >=4.0.0 <5.0.9 -> >=5.0.9. - GHSA-2v37-7h3g-55p8 (nanoid infinite loop on zero-size generator): pnpm override added, constrained to the 3.x line (postcss requires nanoid 3.x) since an unconstrained >=3.3.17 override resolves to a nanoid 6 major bump. - 0 open GitHub Dependabot alerts. Verification (all green): - cargo fmt --all -- --check - cargo clippy --workspace --all-targets -- -D warnings - cargo test --workspace (all crates, doctests included) - bash .github/scripts/cargo-audit.sh - pnpm install --frozen-lockfile - pnpm run lint / tsc --noEmit / prettier --check - pnpm run test -- --run - pnpm run build - pnpm audit
This was referenced Aug 9, 2026
Owner
Author
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
This was referenced Aug 9, 2026
pacphi
added a commit
that referenced
this pull request
Aug 25, 2026
* chore(deps): consolidate PRs #128-137, fix h2/lru advisories Consolidates 8 of the 11 open Dependabot PRs into a single branch: - deps(rust): serde_json 1.0.150 -> 1.0.151 (#128) - deps(rust): calamine 0.36.0 -> 0.36.1 (#131) - deps(rust): http-body-util 0.1.4 -> 0.1.5 (#132) - deps(ts): js-yaml 5.2.2 -> 5.2.3 (#130) - deps(ts): vite 8.0.16 -> 8.2.1 (#133) - deps(ts): prettier 3.8.3 -> 3.9.6 (#134) - deps(ts): recharts 3.8.1 -> 3.10.1 (#135) - deps(actions): taiki-e/install-action 2.85.8 -> 2.86.3 (#137) Deferred (left open, not applied): - #116/#126 (candle-core/candle-transformers 0.10.2 -> 0.11.0): still blocked on a mistralrs release supporting candle 0.11 (mistralrs is still pinned at 0.8.1); would create duplicate candle-core/candle-nn builds, same as previously deferred in #127. - #136 (@tanstack/react-table 8.21.3 -> 9.1.2): 8.21.3 is still the latest 8.x release, so this is a major-version rewrite, not a patch bump — same situation as previously-deferred #119. Pre-existing/upgrade-caused fixes: - Prettier 3.9 changed union-type-alias wrapping ("don't break union type when it can fit"), which flipped two already-passing files to fail the format-check gate. Reformatted with `prettier --write` (RecurringPage.tsx, models.ts) — no logic changes. Security audit (cargo audit / pnpm audit / GitHub Dependabot alerts): - RUSTSEC-2026-0258 (h2 0.4.14, unbounded empty DATA frames DoS): fixed by bumping h2 to 0.4.16 (in-range lockfile-only update via aws-smithy-http-client/hyper's transitive dependency). - RUSTSEC-2026-0253 (lru 0.16.4, use-after-free risk in LruCache::pop() under panic): no fix available — aws-sdk-s3 (latest 1.143.0 checked) still hard-pins `lru = "^0.16.3"`; the fix requires lru 0.18, a semver-major bump upstream hasn't adopted. Documented and ignored in audit-ignore / .cargo/audit.toml pending an aws-sdk-s3 release. - RUSTSEC-2026-0235 (rkyv 0.7.46, pre-existing ignore): also added to .cargo/audit.toml, which was missing it despite audit-ignore already covering it — brings the two files back in sync. - pnpm audit: no known vulnerabilities. - GitHub Dependabot alerts: 0 open. Verification (mirrors CI exactly): - Frontend: pnpm install --frozen-lockfile, lint, tsc --noEmit, prettier --check, vitest --run, build — all pass. - Backend: cargo fmt --all --check, cargo clippy --workspace --all-targets -- -D warnings, cargo test --workspace (incl. DB integration tests via docker-compose.test.yml) — all pass. - Security: bash .github/scripts/cargo-audit.sh (CI's exact gate) — passes with 9 documented exceptions. * fix(api): box large S3 SdkError variants to satisfy clippy::result_large_err CI's floating `dtolnay/rust-toolchain@stable` action advanced to a newer Rust/clippy since the last green run on main, and the newer clippy now flags StorageError's Err variants (392-432 bytes, dominated by aws_sdk_s3::error::SdkError) under result_large_err. Box each SdkError source field to shrink the enum; no behavior change.
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.
Summary
Consolidates 8 of the 11 open Dependabot PRs into a single branch, then runs a full ecosystem security audit and fixes what it finds.
Superseded PRs
byteshttp-body-utilruvector-sona@hookform/resolvers@playwright/test@vitejs/plugin-reacttypescript-eslinttaiki-e/install-actionDeferred (left open — not applied)
@tanstack/react-table8.21.3is already the latest 8.x release, so this is a major-version rewrite (new column API), not a routine bump. Needs its own migration PR.candle-corecandle-transformersWhy #116/#126 are blocked:
finima-llm'smistralrsdependency pinscandle-core = "^0.10.2"exactly. Bumping our owncandle-core/candle-nnto 0.11 doesn't upgrade mistralrs's transitive candle — it creates two duplicate builds of candle-core/candle-nn (0.10.2 for mistralrs, 0.11.0 forfinima-embed/finima-llm's direct use), which is exactly what the existingCargo.tomlcomment says the 0.10 pin exists to prevent (doubled compile time, duplicate ML tensor types in the binary). This needs amistralrsrelease that supports candle 0.11 before it can move.Security audit
Ran
cargo audit,pnpm audit, and checked GitHub Dependabot alerts (0 open).rkyv0.8.16 (viaruvector-core)cargo update -p rkyv@0.8.16 --precise 0.8.17— in-range forruvector-core's"0.8"requirement, lockfile-only.rkyv0.7.46 (viarust_decimal's optionalrkyvfeature)audit-ignore. Confirmed unreachable: nothing in the workspace enablesrust_decimal'srkyvfeature (checked every crate in the resolved graph and every dependent'sCargo.toml), and the edge survives even a from-scratchcargo generate-lockfile, meaning it's a resolver artifact, never compiled. Will resolve oncerust_decimalships a release depending on rkyv 0.8.17+.brace-expansion(transitive: eslint → minimatch)>=5.0.0 <5.0.6to>=4.0.0 <5.0.9→>=5.0.9.nanoid(transitive: vite → postcss)nanoid@<3.3.17→>=3.3.17 <4. Constrained to the 3.x line deliberately — an unconstrained>=3.3.17override resolved to nanoid 6.0.1 (a major bumppostcssdoesn't expect); pinning<4keeps the same major while picking up the patched3.3.18.GitHub Dependabot alerts: 0 open (25 total, all previously resolved).
Pre-existing fixes
None — the working tree gates (fmt, clippy
-D warnings, full test suite, frontend lint/typecheck/test/build) were already green onmaingoing into this PR. The only local-environment snag (not a code issue) was a stalefinima-postgres-1container whose actual host port had drifted from 5432 to 5433 due to another project's container squatting on 5432 — resolved by pointingDATABASE_URL/TEST_DATABASE_URLat the correct port; no repo changes needed.Verification
All commands mirror
.github/workflows/ci.ymland.github/scripts/cargo-audit.shexactly.