chore(deps): Bump the npm-minor-patch group with 7 updates - #137
chore(deps): Bump the npm-minor-patch group with 7 updates#137dependabot[bot] wants to merge 2 commits into
Conversation
Bumps the npm-minor-patch group with 7 updates: | Package | From | To | | --- | --- | --- | | [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.5.6` | `2.5.7` | | [publint](https://github.com/publint/publint/tree/HEAD/packages/publint) | `0.3.22` | `0.3.23` | | [tsx](https://github.com/privatenumber/tsx) | `4.23.1` | `4.23.5` | | [hono](https://github.com/honojs/hono) | `4.12.32` | `4.12.34` | | [playwright](https://github.com/microsoft/playwright) | `1.61.1` | `1.62.1` | | [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) | `4.114.0` | `4.118.0` | | [@cloudflare/vitest-pool-workers](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers) | `0.18.8` | `0.20.1` | Updates `@biomejs/biome` from 2.5.6 to 2.5.7 - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.7/packages/@biomejs/biome) Updates `publint` from 0.3.22 to 0.3.23 - [Release notes](https://github.com/publint/publint/releases) - [Changelog](https://github.com/publint/publint/blob/master/packages/publint/CHANGELOG.md) - [Commits](https://github.com/publint/publint/commits/HEAD/packages/publint) Updates `tsx` from 4.23.1 to 4.23.5 - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs) - [Commits](privatenumber/tsx@v4.23.1...v4.23.5) Updates `hono` from 4.12.32 to 4.12.34 - [Release notes](https://github.com/honojs/hono/releases) - [Commits](honojs/hono@v4.12.32...v4.12.34) Updates `playwright` from 1.61.1 to 1.62.1 - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.61.1...v1.62.1) Updates `wrangler` from 4.114.0 to 4.118.0 - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.118.0/packages/wrangler) Updates `@cloudflare/vitest-pool-workers` from 0.18.8 to 0.20.1 - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/vitest-pool-workers/CHANGELOG.md) - [Commits](https://github.com/cloudflare/workers-sdk/commits/@cloudflare/vitest-pool-workers@0.20.1/packages/vitest-pool-workers) --- updated-dependencies: - dependency-name: "@biomejs/biome" dependency-version: 2.5.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: publint dependency-version: 0.3.23 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: tsx dependency-version: 4.23.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: hono dependency-version: 4.12.34 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: playwright dependency-version: 1.62.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: wrangler dependency-version: 4.118.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: "@cloudflare/vitest-pool-workers" dependency-version: 0.20.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
released-web | 0fe8db0 | Aug 07 2026, 10:19 PM |
Preview deployed
Federated GitLab lookups (freedesktop / GNOME) degrade to the "use the CLI" card — the Anubis relay is off in preview. GitHub lookups, permalinks, and OG render work once |
|
liveapp adoption pass @ 0fe8db0: adopted — fix-forwarded undici to 7.29.0 and js-yaml to 4.3.1 (via pnpm.overrides) to clear 2 High CVEs blocking osv: GHSA-4cwx-7wf7-3272 (undici 7.28.0, CVSS 7.4) and GHSA-5p4m-2wfm-xmqj (js-yaml 4.3.0, CVSS 7.5). Both pre-existed in main's lockfile (pinned via overrides, so the npm-minor-patch group skipped them) and were blocking every open PR; not introduced by this bump. Local gate green: typecheck + test + build + lint + osv all pass; the repo pre-push osv hook also passed. |
|
Preview exercised ( Required checks green (osv now pass after the undici 7.29.0 + js-yaml 4.3.1 pin bump). Mergeable. The only red is Merge order: this first. Once it lands on main, rebasing #138 and #139 clears their shared-baseline osv failures (same 2 pre-existing CVEs); their own bumps are clean. |
Same 2 pre-existing High CVEs as #137 (undici 7.28.0 GHSA-4cwx-7wf7-3272, js-yaml 4.3.0 GHSA-5p4m-2wfm-xmqj) in main's pinned deps — not introduced by the typescript 6→7 bump. Bumping the override floors clears them. Local gate green: osv + typecheck + build + test.
Same 2 pre-existing High CVEs as #137 (undici 7.28.0 GHSA-4cwx-7wf7-3272, js-yaml 4.3.0 GHSA-5p4m-2wfm-xmqj) in main's pinned deps — not introduced by the @cloudflare/workers-types 4→5 bump. Bumping the override floors clears them. Local gate green: osv + typecheck + build + test.
…h CVEs The osv gate fails on this branch for CVEs inherited from main, not from this PR's diff: - undici 7.28.0 -> 7.29.0 (GHSA-4cwx-7wf7-3272, High 7.4, +4 more) - js-yaml 4.3.0 -> 4.3.1 (GHSA-5p4m-2wfm-xmqj, High 7.5) - nanoid 3.3.16 -> 3.3.18 (GHSA-2v37-7h3g-55p8, High 8.2) undici and js-yaml match the floors PRs #137/#138/#139 already carry. nanoid is a newer advisory that none of them cover, so this is currently the only open PR that takes main to zero High. Lockfile-only resolution changes; all transitive. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Heads-up on this trio (#137 / #138 / #139), since the three are read as a set: A new High CVE landed after these PRs' osv checks last ran (2026-08-07), and none of the three cover it.
The green Practical consequence: merging #137, #138 or #139 alone leaves I've raised all three floors ( So #141 is currently the only open PR that takes No action needed from me here; leaving all three as-is rather than churning 30 green check-runs to re-add a floor #141 already carries. |
osv-scanner gates on High/Critical. undici 7.28.0 (GHSA-4cwx-7wf7-3272, CVSS 7.4) and js-yaml 4.3.0 (GHSA-5p4m-2wfm-xmqj, CVSS 7.5) are pinned via pnpm.overrides, so Dependabot's npm-minor-patch group skipped them — they blocked this PR's osv gate and pre-date it on main. Raise the override floors to the patched versions (undici stays <8 for jsdom; js-yaml stays ^4). Co-Authored-By: Claude <noreply@anthropic.com>
0fe8db0 to
83a65a5
Compare
Same 2 pre-existing High CVEs as #137 (undici 7.28.0 GHSA-4cwx-7wf7-3272, js-yaml 4.3.0 GHSA-5p4m-2wfm-xmqj) in main's pinned deps — not introduced by the @cloudflare/workers-types 4→5 bump. Bumping the override floors clears them. Local gate green: osv + typecheck + build + test.
Same 2 pre-existing High CVEs as #137 (undici 7.28.0 GHSA-4cwx-7wf7-3272, js-yaml 4.3.0 GHSA-5p4m-2wfm-xmqj) in main's pinned deps — not introduced by the typescript 6→7 bump. Bumping the override floors clears them. Local gate green: osv + typecheck + build + test.
|
liveapp: re-pushed this branch to retire a dead check, no content change. The only red here was Fix: amended the head commit ( While here, re-verified the CVE position on this branch with |
|
Looks like these dependencies are updatable in another way, so this is no longer needed. |
… cache-control (#141) ## The bug Every OG image in production ships a **merged** `cache-control` header. Live right now: ``` $ GET https://og.released.blabberate.com/placeholder.png cache-control: public, immutable, no-transform, max-age=31536000, public, max-age=60 ``` `workers-og` builds its response headers as ```js headers: { 'Content-Type': …, 'Cache-Control': 'public, immutable, no-transform, max-age=31536000', ...opts.headers } ``` Object spread is **case-sensitive**, so `renderImage`'s lowercase `'cache-control'` never replaced the library's capitalized `'Cache-Control'` default. Both keys reached `new Response`, where `Headers` merged them into one comma-joined value — and caches honor the **first** `max-age`. ## Why it matters The damage is on the **short**-cached cards. A placeholder render — cold lookup, upstream rate-limit, service-binding miss, or the `notFound` path hit during the `web`→`web-og` deploy window — is deliberately `max-age=60` so the unfurl refreshes once the real answer exists. Instead it went out `immutable` for a year, so one transient failure froze a wrong social card in every downstream cache that honors it. This is a concrete mechanism for the "sustained placeholder on a stably-released MR" behaviour previously observed on the federated PR OG route: once a placeholder was cached, nothing could dislodge it. Front door stayed green throughout — status 200, valid PNG, correct content-type. Only the header was wrong. ## Fix Set `cache-control` on the Response after construction. `Headers.set` is case-insensitive, so it replaces the library default whatever casing the library uses (rather than relying on matching its casing in the spread, which would re-break on a library change). ## Why the tests didn't catch it `test/routing.test.ts` mocked `ImageResponse` with a stub that passed the caller's headers straight through, so it never reproduced the library default. All 11 `cache-control` assertions were **unfalsifiable** — they read back exactly what the caller passed. They were also substring matches (`toMatch(/max-age=60/)`), which pass on the merged value even with a faithful mock. Both were fixed: - the mock now mirrors `workers-og`'s real header construction (capitalized default + case-sensitive spread of the caller's headers); - the 11 assertions are exact-match (`toBe`); - `test/cards.render.test.ts` gets two assertions against the **real** library under workerd — no mock fidelity required. ## Mutation proof Reverting the one-line fix (passing `'cache-control'` back through `ImageResponse`'s `headers` option) while keeping the tests: ``` Failed Tests 10 FAIL test/routing.test.ts > returns a placeholder PNG with SHORT cache when the service binding misses Expected: "public, max-age=60" Received: "public, immutable, no-transform, max-age=31536000, public, max-age=60" FAIL test/cards.render.test.ts > placeholder card: cache-control is EXACTLY the short cache Expected: "public, max-age=60" Received: "public, immutable, no-transform, max-age=31536000, public, max-age=60" …8 more ``` The `Received:` values are byte-identical to what production serves today. Restored → 35/35 pass (27 routing + 8 render). ## Second commit: `fix(deps)` — clearing the red `osv dependency scan` This branch was based on `main`, which carries 3 High CVEs, so the osv gate was red for a reason unrelated to the OG fix. Rather than leave the PR unmergeable, the floors are raised here (root `pnpm.overrides`, lockfile-only resolution changes): | package | main | this PR | advisory | |---|---|---|---| | `undici` | 7.28.0 | 7.29.0 | GHSA-4cwx-7wf7-3272 (High 7.4) + 4 more | | `js-yaml` | 4.3.0 | 4.3.1 | GHSA-5p4m-2wfm-xmqj (High 7.5) | | `nanoid` | 3.3.16 | 3.3.18 | GHSA-2v37-7h3g-55p8 (High 8.2) | The `undici` and `js-yaml` floors are byte-identical to the ones #137/#138/#139 already carry. **`nanoid` is a newer advisory that none of those three cover** — their osv checks last ran 2026-08-07 and passed, which is now stale. So merging #137, #138 or #139 alone leaves main at 1 High; **this is currently the only open PR that takes main to zero High.** Verified locally on this exact tree — the gate goes red → green: ``` before: Total 4 packages affected by 11 known vulnerabilities (0 Critical, 3 High, …) ✗ osv: 0 Critical + 3 High vulnerability(ies) — must be resolved before merge. after: Total 1 package affected by 4 known vulnerabilities (0 Critical, 0 High, 3 Medium, 1 Low) ✓ osv: no High/Critical vulnerabilities. ``` `pnpm lint`, `pnpm -r typecheck`, `pnpm -r test` (357 tests) all green on the merged branch. **Deliberately not fixed here:** the 4 remaining `hono` mediums (4.12.32 → 4.12.34, GHSA-54fx / -79qm / -8j4g / -f23p). `hono` is the production runtime framework and a direct dependency; the osv gate does not block on Medium, and Dependabot's weekly `npm-minor-patch` group already has it in range (`^4.12.32`). Left to that PR so this one stays reviewable. --------- Co-authored-by: liveapp-bot <liveapp-bot@liveapp.local> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Bumps the npm-minor-patch group with 7 updates:
2.5.62.5.70.3.220.3.234.23.14.23.54.12.324.12.341.61.11.62.14.114.04.118.00.18.80.20.1Updates
@biomejs/biomefrom 2.5.6 to 2.5.7Release notes
Sourced from @biomejs/biome's releases.
... (truncated)
Changelog
Sourced from @biomejs/biome's changelog.
... (truncated)
Commits
191d051ci: release (#11119)9847e68feat(lint): add noNonScalableViewport rule (#11168)e63354cfeat(lint): add noExtendNative nursery rule (#11136)2fa0a62docs: rework CLI (#11134)e007143feat(lint): add nursery rule noTailwindArbitraryValue (#10094)c171b3bfeat(lint): add ignoreIfStatements option to useNullishCoalescing (#10822)Updates
publintfrom 0.3.22 to 0.3.23Changelog
Sourced from publint's changelog.
Commits
Updates
tsxfrom 4.23.1 to 4.23.5Release notes
Sourced from tsx's releases.
Commits
c55004dtest: remove legacy PTY retrye368161chore(deps): update pty-spawn to 1.1.18d39496ci: validate GitHub Actions workflows6fe724etest: clean up timed-out PTY attemptse0a0536ci: skip unused Windows Node cache6d6dd84ci: remove broken lock automation3c1d051fix: detect the Node inspector enabled via NODE_OPTIONS40380a4ci: lock down the release toolchainf217b6bci: restrict releases to public repository2afc7bbfix(cli): allow async process.once() signal handlers to finish (#827)Updates
honofrom 4.12.32 to 4.12.34Release notes
Sourced from hono's releases.
Commits
734755a4.12.349839ff3chore: updatebun.lock(#5182)0c45036Merge commit from fork720b566Merge commit from forkf70e2c3Merge commit from fork93fc250Merge commit from fork51db3134.12.33aed1463chore: remove undici in favor of global fetch (#5168)224d2f5fix(jsx): handle useSyncExternalStore subscription and snapshot changes (#5166)df653cechore: bump@hono/node-server(#5167)Updates
playwrightfrom 1.61.1 to 1.62.1Release notes
Sourced from playwright's releases.
... (truncated)
Commits
26a9e47cherry-pick(#42043): docs: release notes for v1.62 Python, Java, and .NET (#4...0a81d5dcherry-pick(#42040): docs(release-notes): mention the isolated headless clipb...8376826cherry-pick(#42034): fix(aria): keep icon-only clickable elements in ai snaps...66c5cc9chore: mark v1.62.1 (#42020)9672bc3cherry-pick(#42009): fix(types): support branded primitives in evaluate argum...4325804cherry-pick(#41988): fix(aria): preserve names from collapsed text contributors9632f8echerry-pick(#42005): fix(tsconfig): do not throw when "extends"/"references" ...e3950d9chore: mark v1.62.0 (#41981)f07e0f7cherry-pick(#41940): docs: release notes for v1.62 (#41967)05a306ccherry-pick(#41964): Revert "feat(routeFromHar): add interceptAPIRequests opt...Updates
wranglerfrom 4.114.0 to 4.118.0Release notes
Sourced from wrangler's releases.
... (truncated)
Commits
95d9b12Version Packages (#14946)e0bbf55[wrangler] Fix workflows errors messages (#14919)38403cb[wrangler] Remove duplicated Workers + Assets deploy E2E (#14947)cec9d88[workers-auth] Validate account IDs before using them in API requests (#13746)cc63aae[wrangler] fix(containers): add --json flag towrangler containers info(#1...f92d1fc[wrangler] Serialize custom build watcher events to avoid concurrent runs (#1...17dca96[wrangler] Fix circular dependency build warning between api/index.ts and bin...fcb5402Version Packages (#14939)5a56ddaMiniflare v5 alpha (#14586)96fd16fVersion Packages (#14898)Updates
@cloudflare/vitest-pool-workersfrom 0.18.8 to 0.20.1Release notes
Sourced from @cloudflare/vitest-pool-workers's releases.
... (truncated)
Changelog
Sourced from @cloudflare/vitest-pool-workers's changelog.
... (truncated)
Commits
95d9b12Version Packages (#14946)83a37e3docs: point vitest-pool-workers BUILD section at the tsdown config (#14940)fcb5402Version Packages (#14939)5a56ddaMiniflare v5 alpha (#14586)96fd16fVersion Packages (#14898)760a85bVersion Packages (#14824)e6480e3[vitest-pool-workers] Make workerd verbose logging configurable (#14879)edc203e[vitest-pool-workers] Ignore workerd's ungraceful TLS disconnect exception lo...Dependabot 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