Skip to content

build(deps): bump the minor-and-patch group across 1 directory with 5 updates - #22

Merged
ShiningRay merged 2 commits into
mainfrom
dependabot/npm_and_yarn/minor-and-patch-ceda31b732
Oct 22, 2026
Merged

ShiningRay merged 2 commits into
mainfrom
dependabot/npm_and_yarn/minor-and-patch-ceda31b732

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 22, 2026

Copy link
Copy Markdown
Contributor

Bumps the minor-and-patch group with 5 updates in the / directory:

Package From To
fastify 5.12.5 5.12.7
undici 8.11.2 8.12.2
zod 4.6.5 4.6.7
@types/node 26.6.4 26.6.5
vitest 5.0.3 5.0.5

Updates fastify from 5.12.5 to 5.12.7

Release notes

Sourced from fastify's releases.

v5.12.7

Full Changelog: fastify/fastify@v5.12.6...v5.12.7

v5.12.6

⚠️ Security Release

What's Changed

Full Changelog: fastify/fastify@v5.12.5...v5.12.6

Commits
  • 9f40003 Bumped v5.12.7
  • 16469b9 Bumped v5.12.6
  • 63496de [Backport 5.x] docs: document fastify.query() shorthand for RFC 10008 (#7094)
  • 20b55d4 [Backport 5.x] fix: remove error when HTTP QUERY request has empty body (#7060)
  • 38d2b63 [Backport 5.x] fix: copy a set-cookie array passed to reply.header instead of...
  • 3241fbd [Backport 5.x] fix(validation): lowercase header names in propertyNames enum/...
  • 1a46b1b [Backport 5.x] perf: use a FIFO cache for parsed content-types (#7072)
  • 7e06676 [Backport 5.x] fix: resolve reply.mediaType from raw response headers (#7067)
  • 1b0eb32 [Backport 5.x] perf: avoid resetting the level of request child loggers (#7058)
  • a636a10 [Backport 5.x] perf: decode string bodies once instead of per chunk (#7053)
  • Additional commits viewable in compare view

Updates undici from 8.11.2 to 8.12.2

Release notes

Sourced from undici's releases.

v8.12.2

Security fixes

High severity

Denial of service via TLS 1.2 certificate-changing renegotiation

CVE-2026-87018 · GHSA-qrxm-fqhp-jwvm

A malicious or compromised HTTPS server could crash the Node.js process by initiating TLS 1.2 renegotiation and presenting a different, CA-trusted certificate whose hostname did not match the requested host. The resulting socket error reached an assertion in undici's HTTP/1.1 and HTTP/2 connection handling. This release handles post-connect certificate errors without terminating the process.

TLS certificate validation bypass through dropped Agent options

CVE-2026-109383 · GHSA-2m5v-pch6-74hx

Agent used a JSON-based clone for constructor options, which silently removed function-valued TLS options such as checkServerIdentity. Applications relying on custom certificate or public-key verification could therefore accept a certificate that the callback was intended to reject. This release preserves TLS options when creating per-origin dispatchers.

Cache poisoning and cross-user disclosure through cross-origin redirects

CVE-2026-109829 · GHSA-4w7w-5xrc-9h26

When an originless Agent combined redirect and shared-cache interceptors as compose(redirect(), cache()), a response from a cross-origin redirect could be stored under the original URL. This could allow persistent cache poisoning or disclosure of user-specific responses to later callers. This release verifies the response origin before caching and preserves redirect-hop cache-control policy.

Denial of service through excessive Content-Encoding values

CVE-2026-109869 · GHSA-xjj6-f33q-929c

A malicious HTTP server could crash the Node.js process by returning more than five content codings and closing the connection before sending the body. Although fetch() rejected the response, an error from an orphaned internal stream could remain unhandled. This release validates the content-encoding chain before creating the body stream and aborts oversized chains safely.

Medium severity

Denial of service through the decompress interceptor

CVE-2026-87029 · GHSA-55wc-3pg8-jfw6

An exception thrown by a downstream response handler from an asynchronous decompression callback could escape as an uncaught exception. A server could trigger this when decompress was composed with a handler such as dump with a size limit. This release converts downstream handler exceptions into per-request errors.

Subresource Integrity bypass with non-lowercase algorithm tokens

CVE-2026-109841 · GHSA-f72v-6w45-q472

fetch() treated valid mixed-case or uppercase SRI algorithm tokens, such as SHA256, as unknown and could accept a response whose body did not match the configured digest. This release normalizes algorithm tokens before validation and digest selection.

Denial of service through unbounded EventSource parser state

CVE-2026-109924 · GHSA-4qv8-2p9j-2685

A malicious Server-Sent Events endpoint could exhaust process memory by sending many tiny data: fields without completing an event, or by splitting an unfinished line across many chunks. This release bounds retained EventSource parser state, including field counts, buffered chunks, unfinished-line length, and retained field data.

... (truncated)

Commits
  • bb6cc0a Bumped v8.12.2 (#6021)
  • b217373 fix(websocket): bound automatic PONG writes under backpressure
  • 789ef26 fix(eventsource): bound retained SSE parser state
  • 4f7ef68 fix(sri): accept non-lowercase algorithm tokens
  • f851f31 fix(decompress): converge downstream handler throws to per-request errors
  • b5084c7 fix(fetch): abort excessive content encoding responses
  • 26c2bfb fix(cache): prevent cross-origin redirect cache confusion
  • f75eac0 fix: preserve Agent connection options
  • e257e9f fix: handle post-connect TLS certificate errors
  • a65ec32 Bumped v8.12.1 (#6010)
  • Additional commits viewable in compare view

Updates zod from 4.6.5 to 4.6.7

Release notes

Sourced from zod's releases.

v4.6.7

Commits:

  • b500a2ee95134f81d74da7911d7378dd2853d042 4.6.7

v4.6.6

Six malicious commits pushed to main on September 21 with a compromised git credential were reverted the same day in #6620 and have since been removed from the history of main. None were ever published to npm. The npm provenance for 4.6.6 names 284243fb, the pre-rewrite copy of 9c219833 with identical contents.

Commits:

  • 0cd3af5e9f50ad11bbcd4407a46a21b8848ba574 docs: load the en locale directly in Zod Mini
  • 9d5e60f162997b764b40d45aa02481888db50dea docs: import locales from zod/locales, not z.locales
  • 34a626f307871ecbb0123947559328dc52ed5e3e docs: tighten the z.locales tree-shaking note
  • 74304ce5b5796b5edb9a88ceb8e170b6ea3e82df release: stage npm versions instead of publishing them (#6622)
  • b2ef983e0711ff6517d6020b021071e2e5653efa docs: add Code for Japan to bronze sponsors
  • 8fb2faf0584828a6a027d8279db36f6f52784462 docs: crop the Code for Japan logo and list it first in bronze
  • bacad518c41610d654658172d325874bf0ee6290 docs: square the Code for Japan logo to match the other bronze tiles
  • c42596bd1c87e941d7241d10e012c5c196adcc10 release: hold the run on the release-approval environment until the staged versions are approved (#6638)
  • a2ba4a67986a3e6b2b131be30084a2f460d9ea67 fix(types): declare record output and input as members, not base type arguments (#6645)
  • a0ebf970f2d752e5f58527cd2942ff48be4f46bd fix(v4): check array, set and map size bounds before parsing elements (#6652)
  • 529f78dd9431b07f49647fee3aa0819b3f8b66b7 4.6.6
  • 9c219833c3a3764fa1f1ea9c5ecec8254a63c0b1 ci: stage at verbose so a failed OIDC token exchange says why
Commits
  • b500a2e 4.6.7
  • 9c21983 ci: stage at verbose so a failed OIDC token exchange says why
  • 529f78d 4.6.6
  • a0ebf97 fix(v4): check array, set and map size bounds before parsing elements (#6652)
  • a2ba4a6 fix(types): declare record output and input as members, not base type argumen...
  • c42596b release: hold the run on the release-approval environment until the staged ve...
  • bacad51 docs: square the Code for Japan logo to match the other bronze tiles
  • 8fb2faf docs: crop the Code for Japan logo and list it first in bronze
  • b2ef983 docs: add Code for Japan to bronze sponsors
  • 74304ce release: stage npm versions instead of publishing them (#6622)
  • Additional commits viewable in compare view

Updates @types/node from 26.6.4 to 26.6.5

Commits

Updates vitest from 5.0.3 to 5.0.5

Release notes

Sourced from vitest's releases.

v5.0.5

   🐞 Bug Fixes

    View changes on GitHub

v5.0.4

   🚀 Features

   🐞 Bug Fixes

... (truncated)

Commits

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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will 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 version will 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

… updates

Bumps the minor-and-patch group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [fastify](https://github.com/fastify/fastify) | `5.12.5` | `5.12.7` |
| [undici](https://github.com/nodejs/undici) | `8.11.2` | `8.12.2` |
| [zod](https://github.com/colinhacks/zod) | `4.6.5` | `4.6.7` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.4` | `26.6.5` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.3` | `5.0.5` |



Updates `fastify` from 5.12.5 to 5.12.7
- [Release notes](https://github.com/fastify/fastify/releases)
- [Commits](fastify/fastify@v5.12.5...v5.12.7)

Updates `undici` from 8.11.2 to 8.12.2
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v8.11.2...v8.12.2)

Updates `zod` from 4.6.5 to 4.6.7
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](colinhacks/zod@v4.6.5...v4.6.7)

Updates `@types/node` from 26.6.4 to 26.6.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `vitest` from 5.0.3 to 5.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/vitest)

---
updated-dependencies:
- dependency-name: fastify
  dependency-version: 5.12.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: undici
  dependency-version: 8.12.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: zod
  dependency-version: 4.6.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@types/node"
  dependency-version: 26.6.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: vitest
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 22, 2026
仓库同时维护 bun.lock(生产运行时 + Dockerfile)与 package-lock.json
(Node CI),但 dependabot.yml 只登记了 npm 生态,导致每次升级只改
package-lock.json,bun.lock 停在旧版本。bun install --frozen-lockfile
检测到锁文件与 package.json 不一致即拒绝安装,Docker 两个 arch job 与
Bun smoke job 三处红灯(run 39706513423)。

- dependabot.yml 补 package-ecosystem: bun(含同步的 ioredis major 忽略规则)
- 重新生成 bun.lock 使其与本次 package.json 升级对齐

本地验证:bun install --frozen-lockfile[--production] 均通过;
docker build --platform linux/amd64 成功;bun run typecheck 通过。
@ShiningRay

Copy link
Copy Markdown
Owner

修复:dependabot 未登记 bun 生态,导致 bun.lock 与 package.json 脱节

根因

本仓同时维护两套锁文件:

锁文件 用途
bun.lock 生产运行时(Dockerfile: bun install --frozen-lockfile --production)+ CI 的 Typecheck & boot smoke (Bun)
package-lock.json CI 的 Typecheck, build & test (Node 22/24)(npm ci)

但 .github/dependabot.yml 只登记了 npm 生态,dependabot 每次升级只改 package.json + package-lock.json,bun.lock 一直停在旧版本。于是 bun install --frozen-lockfile 检测到锁文件与 manifest 不一致,直接拒绝:

error: lockfile had changes, but lockfile is frozen

红灯 3 处:Build linux/amd64、Build linux/arm64、Typecheck & boot smoke (Bun)。而 Node 22/24 两个 job 走 npm ci,用的正是被更新过的 package-lock.json,所以它们是绿的——这个「一半绿一半红」的分布正好印证了根因。

改动

  1. .github/dependabot.yml 补 package-ecosystem: bun(GitHub 官方支持,>=v1.1.39),与 npm 生态共用同一套 minor-and-patch 分组和 ioredis major 忽略规则,保证两个锁文件同步推进。
  2. 重新生成 bun.lock,使其与本次 package.json 升级对齐。

验证

  • bun install --frozen-lockfile ✓ / --production ✓
  • docker build --platform linux/amd64 ✓(此前必失败)
  • bun run typecheck ✓
  • 推送后 CI 6 个 check 全 pass,含此前红掉的 amd64 / arm64 / Bun smoke

顺带备注(未处理)

本地 bun test 有 9 fail / 3 errors,但在 main 上同样存在(已在 b83d890 上复现,同为 233 pass / 9 fail / 3 errors),非本次升级引入,不阻塞本 PR。失败集中在 HTTP Basic Auth 的 WebSocket 与 429 cooldown 相关用例,看起来是测试环境(Node vs Bun 下的 ws 行为差异)问题,建议单独排查。

@ShiningRay
ShiningRay merged commit 3772802 into main Oct 22, 2026
7 checks passed
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/minor-and-patch-ceda31b732 branch October 22, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant