You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#83672262087 Thanks @ardatan! - Preserve multiple applications of the same directive when extending a type even if the repeatable directive definition is not present in the merge inputs.
#83945523c4b Thanks @bengry! - Write the synthesized default operation types back onto the schema definition node, so merging a schema extension that has no operation block (federation SDL, for example) still produces a query root on graphql@17.
#836860db079 Thanks @ardatan! - Omit mutation/subscription from printSchemaWithDirectives when those root types are no longer present on the schema (e.g. after pruneSchema).
#836657e316d Thanks @ardatan! - Allow % in paths checked by isValidPath (e.g. directories from URL-encoded repo names).
#83701c1c5a0 Thanks @ardatan! - Clean up observableToAsyncIterable queues and unsubscribe when the observable completes, so iterators do not retain references after done. Fixes leak detection flakes related to #8057.
#83701c1c5a0 Thanks @ardatan! - Prefer runtime description values over stale astNode descriptions in printSchemaWithDirectives / getDescriptionNode. Fixes #5508.
Source keys named __proto__, constructor or prototype are now skipped at every recursion level, and the check for an existing key uses hasOwnProperty instead of in, so inherited properties are never used as merge targets.
Previously, merging untrusted data such as JSON.parse('{"constructor":{"__proto__":{"call":"x"}}}') could reach and overwrite properties on Object.prototype or Function.prototype.
Added the @Discriminated decorator for discriminator-based error filter matching.
Re-exported Discriminated from @inversifyjs/http-core.
Added getErrorDiscriminatorMetadata calculation that reads own discriminator metadata only.
Updated getErrorFilterForError and setErrorFilterToErrorFilterMap to support discriminator-based error lookup, checking each constructor level's own discriminators before its type filter so more specific handlers win.
#1847f9063b7 - Lint-staged now refuses to run when files were staged with --intent-to-add, because Git stash doesn't support them. Previously this was an unhandled error.
Patch Changes
#1848d718ccc - Lint-staged now handles color support better in non-TTY streams, and honors the FORCE_COLOR environment variable.
#18457e5ece8 - Update tinyexec@1.3.1 so that local binaries from node_modules/.bin are resolved starting from the directory of each lint-staged configuration file (in monorepo setups). This behavior was broken in lint-staged@16.3.0 where they were only resolved from the current working directory and up.
#1845eb8a4e3 - Do not try to restore untracked files when using --hide-all and there is no initial commit yet.
nodejs/node (node)
v24.21.0: 2026-09-08, Version 24.21.0 'Krypton' (LTS), @aduh95
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.0.1→3.0.29.2.3→9.2.4^10.1.0→^10.1.112.0.0→12.0.1^5.5.3→^5.6.05.6.15.5.3→5.6.05.6.15.5.3→5.6.05.6.110.9.1→10.10.05.12.1→5.12.317.4.1→17.5.017.5.124.20.0→24.21.012.3.2→12.3.412.3.2→12.3.4Release Notes
changesets/changesets (@changesets/cli)
v3.0.2Compare Source
Patch Changes
a0a4dc6Thanks @bluwy! - Add review message on pre exit1f4eb61,059f70a]:ardatan/graphql-tools (@graphql-tools/merge)
v9.2.4Compare Source
Patch Changes
#8367
2262087Thanks @ardatan! - Preserve multiple applications of the same directive when extending a type even if the repeatable directive definition is not present in the merge inputs.#8394
5523c4bThanks @bengry! - Write the synthesized default operation types back onto the schema definition node, so merging aschemaextension that has no operation block (federation SDL, for example) still produces a query root ongraphql@17.Updated dependencies [
60db079,57e316d,1c1c5a0,1c1c5a0,0b9529f]:ardatan/graphql-tools (@graphql-tools/schema)
v10.1.1Compare Source
Patch Changes
2262087,5523c4b,60db079,57e316d,1c1c5a0,1c1c5a0,0b9529f]:ardatan/graphql-tools (@graphql-tools/utils)
v12.0.1Compare Source
Patch Changes
#8368
60db079Thanks @ardatan! - Omit mutation/subscription fromprintSchemaWithDirectiveswhen those root types are no longer present on the schema (e.g. afterpruneSchema).#8366
57e316dThanks @ardatan! - Allow%in paths checked byisValidPath(e.g. directories from URL-encoded repo names).#8370
1c1c5a0Thanks @ardatan! - Clean upobservableToAsyncIterablequeues and unsubscribe when the observable completes, so iterators do not retain references afterdone. Fixes leak detection flakes related to #8057.#8370
1c1c5a0Thanks @ardatan! - Prefer runtimedescriptionvalues over staleastNodedescriptions inprintSchemaWithDirectives/getDescriptionNode. Fixes #5508.#8423
0b9529fThanks @enisdenjo! - Fix prototype pollution inmergeDeepSource keys named
__proto__,constructororprototypeare now skipped at every recursion level, and the check for an existing key useshasOwnPropertyinstead ofin, so inherited properties are never used as merge targets.Previously, merging untrusted data such as
JSON.parse('{"constructor":{"__proto__":{"call":"x"}}}')could reach and overwrite properties onObject.prototypeorFunction.prototype.inversify/monorepo (@inversifyjs/http-core)
v5.6.0Compare Source
Minor Changes
@Discriminateddecorator for discriminator-based error filter matching.Discriminatedfrom@inversifyjs/http-core.getErrorDiscriminatorMetadatacalculation that reads own discriminator metadata only.getErrorFilterForErrorandsetErrorFilterToErrorFilterMapto support discriminator-based error lookup, checking each constructor level's own discriminators before its type filter so more specific handlers win.Patch Changes
eslint/eslint (eslint)
v10.10.0Compare Source
Features
264b434feat: adddandvflags tono-unexpected-multiline(#21305) (Gihyeon Jeong / 정기현)c6cc6c5feat: checkObject.prototypeproperty names innew-cap(#21269) (crimsonjay0)5661fa6feat: no-extra-bind false negatives with class fields and static blocks (#21260) (synthex-byte)Bug Fixes
bb47dc6fix: update dependency file-entry-cache to v11 (#20801) (Milos Djermanovic)427ac0afix: use format strings in debug calls (#21247) (Francesco Trotta)9d81532fix: support__proto__in/* exported */comments (#21261) (sethamus)87e0a08fix: prefer-object-has-own autofix breaks when Object is shadowed (#21282) (김채영)8e2cb14fix:new-capfalse positive forUTCcalls withproperties: false(#21275) (Pixel)9f4a364fix: Ignore static imports in no-unreachable (#21276) (Taha Kotil)Documentation
2417caddocs: Update README (GitHub Actions Bot)9cecb8adocs: document\ccontrol letter escapes in no-control-regex (#21286) (한국)8724829docs: update compat table links (#21263) (fnx)5634542docs: Clarify eqeqeq suggestion behavior (#21256) (Müslüm Yılmaz)Chores
b3d876bchore: disable npm audit in ecosystem tests (#21306) (Francesco Trotta)1696682ci: restore EMFILE test on Node.js 26 (#21297) (Marry (Subin Yang))2c7f5d6chore: update github/codeql-action action to v4.37.9 (#21296) (renovate[bot])3c753f1chore: update eslint (#21289) (renovate[bot])1c73469chore: update ecosystem plugins (#21280) (ESLint Bot)08a02betest: add error locations tono-extra-boolean-cast(#21266) (lumir)77bb1dbchore: update github/codeql-action action to v4.37.8 (#21270) (renovate[bot])007e81aci: skip EMFILE test on Node.js 26 (#21265) (lumir)0430280chore: improve ecosystem tests compatibility on Windows (#21178) (crimsonjay0)fastify/fastify (fastify)
v5.12.3Compare Source
v5.12.2Compare Source
What's Changed
Full Changelog: fastify/fastify@v5.12.1...v5.12.2
lint-staged/lint-staged (lint-staged)
v17.5.0Compare Source
Minor Changes
f9063b7- Lint-staged now refuses to run when files were staged with--intent-to-add, because Git stash doesn't support them. Previously this was an unhandled error.Patch Changes
#1848
d718ccc- Lint-staged now handles color support better in non-TTY streams, and honors theFORCE_COLORenvironment variable.#1845
7e5ece8- Updatetinyexec@1.3.1so that local binaries fromnode_modules/.binare resolved starting from the directory of each lint-staged configuration file (in monorepo setups). This behavior was broken inlint-staged@16.3.0where they were only resolved from the current working directory and up.#1845
eb8a4e3- Do not try to restore untracked files when using--hide-alland there is no initial commit yet.nodejs/node (node)
v24.21.0: 2026-09-08, Version 24.21.0 'Krypton' (LTS), @aduh95Compare Source
Notable Changes
71106e1f17] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495afca0a912d] - (SEMVER-MINOR) crypto: support loading private keys through STORE loaders (Filip Skokan) #639496274fccbd9] - deps: update OpenSSL to 3.5.8 (Node.js GitHub Bot) #6554253cba013c7] - deps: update Undici to 7.29.1 (Node.js GitHub Bot) #657890529772798] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #6502441c7062b81] - (SEMVER-MINOR) net: improve performance ofnet.BlockList(James M Snell) #649745197b5a3c5] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #6541635c635b032] - (SEMVER-MINOR) util: add non-throwingMIMEType.parse(James M Snell) #64965Commits
84d706cb9b] - assert: improve documentation wording (Kamal Rawal) #6495390d127db33] - (SEMVER-MINOR) benchmark: add --analyze mode to compare.js (James M Snell) #65416ad1d7884c3] - benchmark: add test-only and mock timers cases (Luan Muniz) #640971d8f045914] - benchmark: applyhighWaterMarkin webstreamspipe-to(Matteo Collina) #65138ed7ba3c993] - benchmark: complete the sqlite is-transaction fix (Edy Silva) #65218c8837e1aa3] - benchmark: add test runner hooks and options (Luan Muniz) #637542ba8661e23] - buffer: prevent string write offset overflow (Matteo Collina) #65043cc9ee6c2ae] - buffer: treat detached ArrayBuffers as empty (Archkon) #645045a5d73e4c5] - build: pass target architecture to small-icu genccode (ulofiai) #65095273e72d1a5] - build: deprecate always enabled--enable-static(Chengzhong Wu) #6510389a67246e3] - build: check FIPS option value in node.gyp (Filip Skokan) #649822d21f41cd5] - build: handle malformed OpenSSL macros (Filip Skokan) #64982f62bc0f862] - build,win: add PGO workload scripts (Stefan Stojanovic) #6369633d0c7dc12] - child_process: keep SIGWINCH from killing on Win (Kirill Saied) #6451071106e1f17] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495419af8b86d] - crypto: fix missing error checks on ASN1_STRING_to_UTF8() (Nora Dossche) #652008029383f3f] - crypto: use available BoringSSL APIs (Filip Skokan) #65423a9bd780e19] - crypto: remove obsolete BoringSSL shims (Filip Skokan) #654237defefad3f] - crypto: read WebCrypto inputs through primordials (Filip Skokan) #651156ed1e38627] - crypto: fix disabling FIPS mode (Filip Skokan) #64982afca0a912d] - (SEMVER-MINOR) crypto: support loading private keys through STORE loaders (Filip Skokan) #639499b9dd6e9cf] - debugger: wait for target startup (Filip Skokan) #6519407faaeeffd] - deps: update corepack to 0.36.0 (Node.js GitHub Bot) #6565353cba013c7] - deps: update undici to 7.29.1 (Node.js GitHub Bot) #657890268ca547c] - deps: update archs files for openssl-3.5.8 (Node.js GitHub Bot) #655426274fccbd9] - deps: upgrade openssl sources to openssl-3.5.8 (Node.js GitHub Bot) #655426bdcd121fa] - deps: update zlib to 1.3.2.1-motley-8002e91 (Node.js GitHub Bot) #65316c2aa446b6d] - deps: update simdjson to 4.6.7 (Node.js GitHub Bot) #653183e58e48ea8] - deps: update googletest to49495ea(Node.js GitHub Bot) #65317670b3665c0] - deps: cherry-pick libuv/libuv@e640dc9(ulofiai) #65118ca1c67b021] - deps: float ICU-23262 patch for icu78 (René) #646784ad043b0aa] - deps: enable AVX-512 OpenSSL asm with clang (Daniel Lemire) #6513696b4af109b] - deps: update googletest tod89aac5(Node.js GitHub Bot) #65153774f663c56] - dgram: don't swallow bind errors when callback is provided (armanmikoyan) #6260294b118d62e] - diagnostics_channel: validate before channel activation (Trivikram Kamat) #6531309788665bd] - dns: validate address type in lookupService (Lazizbek Ergashev) #6487815f95fc0e2] - dns: validate port range insetServers()(René) #6502137b9e9a154] - dns: fix crash on setServers with port 0 (Lazizbek Ergashev) #65009cd6205fa0d] - doc: update AHAFS reference link (Taeuk Ha) #654810e6f9ae42e] - doc: fix property names in os.networkInterfaces() example (Jihwan) #65469034a827b41] - doc: fix broken links in cli.md (Donghoon Kang) #65412eb364621d4] - doc: remove outdated WASI version fallback (이혜미) #65303b13f425bf8] - doc: fix broken GYP link in n-api.md (Donghoon Kang) #6541345c4011067] - doc: document that an empty OPENSSL_CONF skips config loading (Orgad Shaneh) #64949fde6776c5f] - doc: fix broken TLS security level example (soreavis) #65391290c1fec04] - doc: clarify socket destroyed behavior (Dayun) #65395a7e8269947] - doc: update outdated nodejs.org guide links (Donghoon Kang) #653947809f11249] - doc: clarify that ipv4 mapped to ipv6 are classified as ipv6 (Vedant Kulkarni) #6211764cd3a6e95] - doc: clarify how fs.Dirent file types are determined (soreavis) #645329b92fdce14] - doc: update security release prepare command (Rafael Gonzaga) #646996f9b9df3c1] - doc: clarify copyFile symlink behavior (T) #629412480acb550] - doc: document setRawMode write access on Windows (Erik Demaine) #63856a1e9c3a5db] - doc: add missing return types in fs.md (Chaseton Collins) #653074533572040] - doc: add missing return types in buffer.md (Yuya Inoue) #6530839ecedbbd2] - doc: fix lint clean command (greenhead) #652740b1fb8fcd8] - doc: fix typo in onboarding.md (서울민트초코) #652953165b5d38a] - doc: add missingadded:tags tofs.lchmod(Lazizbek Ergashev) #65283113b808e59] - doc: fix SQLite changeset constant descriptions (greenhead) #65265c3eb51d5a1] - doc: document open pull request limit (Matteo Collina) #65250d7accdcd52] - doc: document http2 header constants (Harjoth Khara) #64548f47111416f] - doc: create ai-guidelines and include to CONTRIBUTING (Rafael Gonzaga) #62105c3b120e737] - doc: update synopsis (Augustin Mauroy) #6517139f4c831fd] - doc: fix broken internal links (greenhead) #64901be25cdd69e] - doc: report proper return type on urlPattern.test (Brian Muenzenmeyer) #648311bf7737810] - doc: fix permission documentation examples (greenhead) #64897b7932e68a1] - doc: document sqlite parameter binding (Guilherme Araújo) #650895234a5169c] - doc: finalize statements in sqlite examples (Guilherme Araújo) #6508839ea929da7] - doc: document quic stopSending() and resetStream() (Issac) #648882ba198db73] - doc: clarify sqlite bare parameter default (Sumit Kumar Das) #62009314f9b200f] - doc: remove usage ofutil.inherits(Augustin Mauroy) #60817d82a61662c] - doc: fix grammar in worker_threads.md (이혜미) #6491344c0c8ff5b] - doc: clarify OpenSSL FIPS configuration (Filip Skokan) #649829b2ca70e0d] - doc: remove--expose-gcflag from CLI documentation (Dario Piotrowicz) #58909a0a12397b9] - doc: document ArrayBuffer support in pbkd2Sync (kyungrae2002) #64976b48699e077] - doc: correct default highWaterMark values (Yilong Li) #646170312ee133c] - esm: avoid super-linear data URL MIME regex (Sumit Kumar Das) #61951cd84d55c81] - esm: only register text format when enabled (Efe Karasakal) #64992c0a8ef611e] - esm: fix wasm import name in error message (이혜미) #64950e6c34f90c2] - events: inline iterationCondition hybrid dispatch closure (Szymon Łągiewka) #644736ee4b40c91] - events: inline createEvent hybrid dispatch closure (Szymon Łągiewka) #64473367549eed5] - fs: use sized reads for large files in readFileUtf8 (Shelley Vohr) #653288a5b1ae4c2] - fs: fix realpath of namespaced drive paths (Jason Zhang) #65378c9233b950d] - fs: fix glob early return skipping sibling entries (Srinu desetti) #64895bc54dd8905] - fs: pass symlink type in cp when filter is provided (Jerry Zhao) #62654fcb4333aca] - fs: allocate FSReqPromise stat arrays lazily (Samuel Attard) #63886c35876154e] - fs: fix out-of-bounds write in mkdtemp for long prefixes (Hierax_Umbra) #64770b269616936] - fs: treatstd::errc::permission_deniedasEPERMerror (Kirill Saied) #64698212fe77e76] - fs: add windowsHandle option to file streams (Kirill Saied) #6385175df6cb435] - http: improve performance with known-length calls to end() (Tim Perry) #6546648d9cd4a28] - http: cache maxHeaderPairs per header section (GetThatCookie) #6498804785c8f43] - http: fix keylog listener setup on existing agent sockets (Shani Singh) #650664b90031534] - http: emit drain on socket takeover and avoid stale HWM reuse (Naman Trivedi) #6499183a27559cd] - http2: adapt receive deferral for Node.js 24 (Matteo Collina) #65093f43bed0ecc] - http2: avoid uaf while receiving and sending rst_stream (esgor) #64166b42d664321] - inspector: avoid calling into JS from V8 interrupts (Joyee Cheung) #650286bf852197d] - lib: use bracket notation instead of startsWith/endsWith for single char (Taejin Kim) #61500151ca7e104] - lib: harden webidl dictionary member reads (Filip Skokan) #651157e8c2c9f44] - lib: use validateArray for array arguments (greenhead) #64959424fe2bc5a] - lib: add and test [EnforceRange] in webcrypto dictionaries (Filip Skokan) #650910529772798] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #65024186e1b76e8] - meta: move targos to emeritus (Michaël Zasso) #65393b41b07c72a] - meta: add unified http api initiative (James M Snell) #65139f85b6ecd67] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #651828f3d01bdce] - meta: add Aviv Keller to.mailmap(Aviv Keller) #65048cfad1d5b28] - meta: update sccache to 0.17.0 (René) #64985349c53c441] - module: report unreadable package.json (Paul Bouchon) #65223bd21e6706e] - module: cache nearest parent package.json per directory (Shelley Vohr) #65326961bd04370] - module: fix --check on ambiguous ESM files (Paul Bouchon) #65203f45ef73420] - net: handle undefined parent in _unrefTimer and _destroy (Shivay-98) #6464441c7062b81] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #649745197b5a3c5] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #654161722ddac28] - permission: enforce addon permission in GetLinkedBinding (Rafael Gonzaga) #65432dff2b675db] - process: validate resource stats array offsets (Archkon) #65098f277983e7b] - quic: changes for nghttp3_conn_close_stream2 (Marten Richter) #64574a4c770c78e] - quic: mark drain promise handled (James M Snell) #653192460b171c5] - quic: reset rejected HTTP/3 request streams with H3_REQUEST_REJECTED (trivenay) #6544218a7ccf302] - quic: write desired size needs update on maxstream (Marten Richter) #647689017f4a780] - quic: do not destroy incoming streams that have a consumer (trivenay) #65335ddc41c1ef4] - quic: fix wake up blob (Marten Richter) #6404488bee43d7c] - quic: convert incoming :status header to number (Hallison Pereira Melo) #63589cd776fe97c] - quic: fix infinite loop if STOP_SENDING received on a buffering stream (Tim Perry) #647154f6eda3c23] - repl: keep entries added while history file is loading (Mhayk Whandson) #64513cd1e6ce29b] - repl: add benchmarks (Aviv Keller) #645902ba740669d] - sea: avoid dangling CLI option pointers (Archkon) #64755ec5e2d6856] - sea: handle NUL bytes in asset keys (Archkon) #64773703b854293] - sea: reject trailing content in config JSON (Archkon) #64774a61a5fdd1c] - sqlite: prevent reentrant session.close() (Trivikram Kamat) #653496ae81be0a3] - sqlite: reject statement-less SQL in prepare() (Trevor Burnham) #65157043dfe4996] - sqlite: reject statement-less SQL in SQLTagStore (Trevor Burnham) #65157b8faee02e1] - sqlite: check null returns from sqlite value functions (Nora Dossche) #63288d6d2a71bee] - sqlite: validate maxSize argument in createTagStore() (Anshika Jain) #6379261a046309f] - sqlite: reject non-positive backup rates (Trivikram Kamat) #64893514e3f30fb] - sqlite: clear SQLTagStore bindings (Matteo Collina) #65041c1542255b8] - sqlite: bind Boolean (mike-git374) #62001cdb732beb5] - sqlite: fix undefined behaviour inSession::Changeset()(Nora Dossche) #63637fbe8861111] - sqlite: bind ArrayBuffer (mike-git374) #62061e3c6bd6bc8] - src: add missing vector include (Filip Skokan) #65622793cf69df8] - src: fix heap value deduplication in embedder graph (Ilyas Shabi) #64801ea5935b04c] - src: fix out-of-bounds write when transcoding odd-length ucs2 (nashit hayat) #6451222e5023f4d] - src: escape Windows environment variables in task runner (Antoine du Hamel) #65217a0f3c62bd9] - src: simplify c++ diagnostics channel API (James M Snell) #651588e831a3d2e] - src: make minor cleanup to permission checks (James M Snell) #65158968b2ca3a3] - src: use DictionaryTemplate for permission diag channel message (James M Snell) #6515818e16e7f8d] - src: cache permission strings (James M Snell) #65158c8625a4b6f] - src: add SetAbortHandler (Max H Fisher) #64684c990140d60] - src: match cmd.exe case-insensitively in task runner (Archkon) #64907d7463b9dbc] - src: reuse cached env strings in remaining files (Seongeun Lee) #65039b055a43b93] - src: expose Windows-only fs open flags (Kirill Saied) #647757f21e37496] - src: report why --enable-fips failed (Filip Skokan) #64979Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.