Bump the production-dependencies group with 4 updates - #670
Conversation
Bumps the production-dependencies group with 4 updates: [@dagrejs/dagre](https://github.com/dagrejs/dagre), [@xyflow/react](https://github.com/xyflow/xyflow/tree/HEAD/packages/react), [nanostores](https://github.com/nanostores/nanostores) and [query-string](https://github.com/sindresorhus/query-string). Updates `@dagrejs/dagre` from 3.0.0 to 3.1.1 - [Release notes](https://github.com/dagrejs/dagre/releases) - [Changelog](https://github.com/dagrejs/dagre/blob/master/changelog.md) - [Commits](dagrejs/dagre@v3.0.0...v3.1.1) Updates `@xyflow/react` from 12.11.2 to 12.11.4 - [Release notes](https://github.com/xyflow/xyflow/releases) - [Changelog](https://github.com/xyflow/xyflow/blob/main/packages/react/CHANGELOG.md) - [Commits](https://github.com/xyflow/xyflow/commits/@xyflow/react@12.11.4/packages/react) Updates `nanostores` from 1.4.1 to 1.5.2 - [Release notes](https://github.com/nanostores/nanostores/releases) - [Changelog](https://github.com/nanostores/nanostores/blob/main/CHANGELOG.md) - [Commits](nanostores/nanostores@1.4.1...1.5.2) Updates `query-string` from 9.4.1 to 9.5.0 - [Release notes](https://github.com/sindresorhus/query-string/releases) - [Commits](sindresorhus/query-string@v9.4.1...v9.5.0) --- updated-dependencies: - dependency-name: "@dagrejs/dagre" dependency-version: 3.1.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies - dependency-name: "@xyflow/react" dependency-version: 12.11.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: production-dependencies - dependency-name: nanostores dependency-version: 1.5.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies - dependency-name: query-string dependency-version: 9.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: production-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
Keep Dagre at 3.0.0 because 3.1.1 renames the bundle that River UI's Vite alias expects. Move XYFlow to 12.11.5 so it pairs with System 0.0.81, which supplies the export missing from the 12.11.4 pairing. Regenerate the lockfile so the Nanostores and Query-string updates, including the decoder security fix, can proceed safely.
bgentry
left a comment
There was a problem hiding this comment.
Codex dependency security review — approve
Reviewed base b39808b61984c7ad5b81a8a714ac21195dec269d through exact head 66310efa936c3c42c76008a5d2664c7d09b5242e.
The final PR updates @xyflow/react 12.11.2 → 12.11.5 (with @xyflow/system 0.0.79 → 0.0.81), Nanostores 1.4.1 → 1.5.2, and Query-string 9.4.1 → 9.5.0. It deliberately keeps Dagre 3.0.0/Graphlib 4.0.1: Dagre 3.1.1 renames the CommonJS bundle that River UI's explicit Vite alias targets, and no newer Dagre release exists.
The original XYFlow 12.11.4/System 0.0.80 pair was also defective: React imports handleAttributionWarning, but System 0.0.80 does not export it. The release-age-compliant 12.11.5/System 0.0.81 pair explicitly repairs that contract. React's runtime bundles are otherwise byte-identical across 12.11.4→12.11.5, and System adds the expected development-only attribution warning with no network or telemetry behavior.
All changed artifacts use canonical npm registry tarballs with matching SHA-512 integrity. Tarball digests, publisher/repository continuity, registry signatures, and available provenance were checked. XYFlow and Nanostores retain GitHub trusted publishing/SLSA provenance. The final lockfile adds no lifecycle hooks, bins, native/WASM payloads, non-registry sources, weak integrity, or same-version identity rewrites.
This PR contains a confirmed security remediation: Query-string now resolves decode-uri-component 0.5.0, fixing GHSA-vcc3-ghjq-m6fr / CVE-2026-45822, an excessive-CPU denial of service on malformed percent-encoded input. River UI parses attacker-controlled URL search strings through Query-string, so the availability fix is relevant.
The exact final lockfile installs successfully. Local validation passes lint, all 34 test files / 233 tests, the production build, and the Storybook build. GitHub checks for the new head are still running at review time.
Residual risk is limited to normal generated-bundle review constraints, lack of SLSA attestations for the established Query-string/decoder publishers, and possible parsing differences for malformed percent-encoded input caused by the security fix. I found no blocking security or compatibility issue in the final dependency set.
Bumps the production-dependencies group with 4 updates: @dagrejs/dagre, @xyflow/react, nanostores and query-string.
Updates
@dagrejs/dagrefrom 3.0.0 to 3.1.1Changelog
Sourced from @dagrejs/dagre's changelog.
Commits
c3ed080Bumping the version and building for releasedd45fd4Merge pull request #516 from dagrejs/modulesfc85d69Fixing github testsa32acccFixing github testsa35171bSetting the type module in package.json63b699cUsing the latest graphlib2609a9eMerge pull request #515 from hmcelik/fix/layout-state-leakf8dddcdtest: cover isolated dynamic layout state62809cafix: scope remembered layout to input grapha471bceFixing the scripts and bumping the version to the next preUpdates
@xyflow/reactfrom 12.11.2 to 12.11.4Release notes
Sourced from @xyflow/react's releases.
Changelog
Sourced from @xyflow/react's changelog.
... (truncated)
Commits
286816cchore(packages): bump3319ef4fix(react): keep minimap bounds at the viewport when all nodes are hiddenb7186f3fix(react): minimap still works after reactflow remounts #5971d8edc77Merge pull request #5955 from Jian-Zhang08/fix/minimap-onnodeclick-conditiona...59b1a60Simplify node click handling in MiniMap component25869f2chore(system): add attr warning handlerb04e9d1chore(system): rename utils isDomNodeVisible31535efchore(system): add isDomNodeVisiblebce7475chore(proOptions): add comments435123fUpdate index.tsxUpdates
nanostoresfrom 1.4.1 to 1.5.2Release notes
Sourced from nanostores's releases.
Changelog
Sourced from nanostores's changelog.
Commits
400cbb3Release 1.5.2 version37c5e9eUpdate dependencies9e781daFix map key value types collapsing to never (#421)77ab191Release 1.5.1 version51cdaaeReduce dependencies7db5c5dAlign TypeScript declarations with runtime behavior (#420)afce852Release 1.5.0 version0856df7Simplify docs579eae9fix(listen-keys): compare deep paths on whole-store set (#419)fd78b3dUpdate size limitUpdates
query-stringfrom 9.4.1 to 9.5.0Release notes
Sourced from query-string's releases.
Commits
aae373a9.5.055e453dUpdate dependenciesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions