Skip to content

chore(deps): consolidate Dependabot PRs #125–#147 (latest compatible)#148

Merged
pacphi merged 2 commits into
mainfrom
chore/consolidate-dependabot-125-147
Jun 8, 2026
Merged

chore(deps): consolidate Dependabot PRs #125–#147 (latest compatible)#148
pacphi merged 2 commits into
mainfrom
chore/consolidate-dependabot-125-147

Conversation

@pacphi

@pacphi pacphi commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Summary

Consolidates all 19 open Dependabot PRs onto a single branch. Per the
no-downgrade policy, each dependency is resolved to the latest compatible
release
rather than the version the individual PR pinned — several PR targets
were already stale and are superseded here (noted with ⬆️).

This supersedes and closes every PR listed below.

Frontend (pnpm)

Dependency Applied PR Note
vitest 4.1.8 #127 ⬆️ target 4.1.7
@storybook/react, storybook 10.4.2 #128 ⬆️ target 10.4.1
eslint 10.4.1 #139
typescript-eslint 8.61.0 #139 ⬆️ target 8.60.1
idb-keyval 6.2.5 #140
vite 8.0.16 #141
date-fns 4.4.0 #142
turbo 2.9.16 #143
@tanstack/react-query 5.101.0 #144
@tanstack/react-router 1.170.15 #144 ⬆️ target 1.170.11
@tanstack/react-virtual 3.14.2 #144
react-dom (+ react) 19.2.7 #145 react bumped to satisfy peer
zustand 5.0.14 #146

Backend (Cargo)

Dependency Applied PR Note
openssl 0.10.80 #125
serde_json 1.0.150 #132
axum-test 20.1.0 #133
redis 1.2.2 #134
sqlx 0.9.0 #135 breaking — see below
fastembed 5.16.0 #136 ⬆️ target 5.15.0
uuid 1.23.2 #137
llama-cpp-4 0.3.1 #138 ⬆️ target 0.3.0

Rust toolchain

  • Docker base image rust:1.95-slimrust:1.96-slim (deps(docker)(deps): bump rust from 1.95-slim to 1.96-slim in /backend #147)
  • Aligned rust-toolchain.toml channel and Cargo.toml MSRV to 1.96.0, plus
    docker-compose.yml RUST_VERSION and the setup / deployment / maintainer /
    README docs. (CI uses dtolnay/rust-toolchain@stable and node-version: 26,
    which already track these.)

Breaking change handled: sqlx 0.8 → 0.9

sqlx 0.9 implements SqlSafeStr only for &'static str; runtime-built query
strings now require an explicit safety assertion. Rather than scatter
sqlx::AssertSqlSafe(...) across ~20 call sites, this adds a single audited
choke point — db::audited_sql() — with one authoritative doc comment
explaining the injection-safety invariant, and routes all dynamic-SQL sites
through it (vectors, api, cleanup, mcp, main, integration tests).
Every such string is composed only from string literals and bind-parameter
markers (? / ?N); all values are passed through .bind(...).

Verification

  • Backend: cargo build --all-targets, 1900+ tests pass, clippy (strict, -D warnings), cargo fmt --check
  • Frontend: turbo typecheck, turbo build, turbo test (271 tests), eslint, prettier --check
  • Docs: markdownlint, yamllint, prettier, internal link check (0 errors)

Closes

Closes #125, #127, #128, #132, #133, #134, #135, #136, #137, #138, #139, #140, #141, #142, #143, #144, #145, #146, #147

Applies every open Dependabot bump on one branch, resolving each dependency
to the latest compatible release rather than the (sometimes already-stale)
version the PR pinned. Where the applied version is newer than the PR target,
it is noted below.

Frontend (pnpm):
- vitest: → 4.1.8 [#127, target 4.1.7 superseded]
- @storybook/react + storybook: → 10.4.2 [#128, target 10.4.1 superseded]
- eslint: → 10.4.1; typescript-eslint: → 8.61.0 [#139, ts-eslint 8.60.1 superseded]
- idb-keyval: → 6.2.5 [#140]
- vite: → 8.0.16 [#141]
- date-fns: → 4.4.0 [#142]
- turbo: → 2.9.16 [#143]
- @tanstack/react-query 5.101.0, react-router 1.170.15 (target 1.170.11
  superseded), react-virtual 3.14.2 [#144]
- react-dom: → 19.2.7 [#145]; react bumped to 19.2.7 to satisfy peer
- zustand: → 5.0.14 [#146]

Backend (Cargo):
- openssl: → 0.10.80 [#125]
- serde_json: → 1.0.150 [#132]
- axum-test: → 20.1.0 [#133]
- redis: → 1.2.2 [#134]
- sqlx: 0.8 → 0.9.0 [#135] (breaking — see below)
- fastembed: → 5.16.0 [#136, target 5.15.0 superseded]
- uuid: → 1.23.2 [#137]
- llama-cpp-4: 0.2 → 0.3.1 [#138, target 0.3.0 superseded]

Rust toolchain:
- Docker base image rust 1.95-slim → 1.96-slim [#147]
- Align rust-toolchain.toml channel and Cargo.toml MSRV to 1.96.0, plus
  docker-compose RUST_VERSION and the setup/deployment/maintainer/README docs.

sqlx 0.9 breaking change:
- sqlx 0.9 only implements SqlSafeStr for &'static str; runtime-built query
  strings now require an explicit safety assertion. Added a single audited
  choke point `db::audited_sql()` (wraps sqlx::AssertSqlSafe) with one
  authoritative doc comment, and routed all dynamic-SQL call sites through it
  (vectors, api, cleanup, mcp, main, integration tests). Every such string is
  composed only from literals and bind-parameter markers; all values are bound.

Verified: backend build (all targets) + 1900+ tests + clippy (strict) + fmt;
frontend typecheck + build + tests + eslint + prettier; markdown/yaml lint +
internal link check.
@pacphi

pacphi commented Jun 8, 2026

Copy link
Copy Markdown
Owner Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

This was referenced Jun 8, 2026
Follow-up to the dep consolidation: bump the two plan-doc Rust references
(builtin-llm prerequisites and the illustrative CI Dockerfile snippet) from
1.95 to 1.96 to match the upgraded toolchain. Immutable historical records
(ADRs, the march-2026 audit) are intentionally left as-is.
@pacphi pacphi merged commit 73bf4af into main Jun 8, 2026
14 checks passed
@pacphi pacphi deleted the chore/consolidate-dependabot-125-147 branch June 8, 2026 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant