v0.12.240 — openclaw's shrinkwrap was voiding every override
Security housekeeping. Clears 13 of the 15 open Dependabot alerts — including 3 of the 4 highs — by removing the thing that was silently swallowing our overrides block.
Fixed — openclaw's npm-shrinkwrap.json was voiding every override we wrote
openclaw ≤ 2026.7.1 publishes with hasShrinkwrap: true. A shipped npm-shrinkwrap.json pins that package's entire subtree verbatim, and npm resolves it ahead of the root project's overrides. The failure is silent and actively misleading: npm ls prints fast-uri@3.1.2 overridden next to a version the override forbids.
So v0.12.239's fast-uri/hono/brace-expansion overrides — and the pre-existing ones — never took effect on anything under node_modules/openclaw/. Deleting package-lock.json and reinstalling from scratch did not help either; only the shrinkwrap going away does.
Bumped the openclaw dev dependency to ^2026.7.2-beta.7, the first release that ships without the shrinkwrap. With it gone the overrides land, and the openclaw subtree audits clean:
| package | before | after |
|---|---|---|
undici |
8.5.0 | 8.10.0 |
fast-uri |
3.1.2 | 3.1.5 |
hono |
4.12.25 | 4.13.0 |
@hono/node-server |
1.19.14 | 2.1.0 |
ip-address |
10.2.0 | 10.4.0 |
brace-expansion |
5.0.7 | 5.0.9 |
Changed — contributor Node floor is now 22.22.3
openclaw 2026.7.2's preinstall gate rejects Node below 22.22.3. CI's node-version: "22" already resolves above the floor. Published users are unaffected — openclaw is a dev dependency and an optional peer, never bundled into dist/. The package's own engines.node stays >=22.
Changed — bundled undici floor raised to ^8.10.0
tsup inlines runtime deps, so this one does ship. The previously bundled 8.9.0 was already past the advisory range (< 8.9.0); the bump is the current patch line, not a vulnerability fix.
Not fixed — two alerts with no upstream patch
bigint-buffer(high, GHSA-3gc7-fjrx-p6mg). No fixed release exists: 1.1.5 is the last publish (2019), and@trufflesuite/bigint-buffer@1.1.10'ssrc/bigint-buffer.cis byte-identical to it — the fork is not a patch, so overriding onto it would launder the alert without fixing anything. It reaches the lockfile as an optional dependency of@blockrun/llm(→ @solana/spl-token → @solana/buffer-layout-utils), pulled in only bycreateSolanaPaymentPayload, which ClawRouter never imports. Verified absent from the shipped bundle:dist/contains zero references tospl-token,buffer-layout-utils, ortoBigIntLE.elliptic(low, GHSA-848j-6mx2-7j84). 6.6.1 is the latest release and is still in the vulnerable range. It arrives via ethers v5 under@polymarket/*.
Full changelog: https://github.com/BlockRunAI/ClawRouter/blob/main/CHANGELOG.md