Select your language

22 Aug 2025

NodeJS 24.6.0 & 22.18.0 Release!

24.6.0 

Notable Changes

  • [471fe712b3] - (SEMVER-MINOR) cli: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung) #59276
  • [38aedfbf73] - (SEMVER-MINOR) crypto: support ML-DSA KeyObject, sign, and verify (Filip Skokan) #59259
  • [201304537e] - (SEMVER-MINOR) zlib: add dictionary support to zstdCompress and zstdDecompress (lluisemper) #59240
  • [e79c93a5d0] - (SEMVER-MINOR) http: add server.keepAliveTimeoutBuffer option (Haram Jeong) #59243
  • [c144d69efc] - lib: docs deprecate _http_* (Sebastian Beltran) #59293
  • [aeb4de55a7] - (SEMVER-MINOR) fs: port SonicBoom module to fs module as Utf8Stream (James M Snell) #58897

Commits

  • [f7484575ff] - assert: change utils to use index instead of for...of (방진혁) #59278
  • [269cd16185] - benchmark: remove deprecated _extend from benchmark (Rafael Gonzaga) #59228
  • [848e49c20b] - benchmark: add fs warmup to writefile-promises (Bruno Rodrigues) #59215
  • [8c609be1b1] - benchmark: add calibrate-n script (Rafael Gonzaga) #59186
  • [6a3bf772d8] - build: fix node_use_sqlite for GN builds (Shelley Vohr) #59017
  • [471fe712b3] - (SEMVER-MINOR) cli: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung) #59276
  • [38aedfbf73] - (SEMVER-MINOR) crypto: support ML-DSA KeyObject, sign, and verify (Filip Skokan) #59259
  • [a312e706cf] - crypto: prepare webcrypto key import/export for modern algorithms (Filip Skokan) #59284
  • [3a7c2c3a47] - deps: update ada to 3.2.7 (Node.js GitHub Bot) #59336
  • [8d9ceeaf6a] - deps: update archs files for openssl-3.5.2 (Node.js GitHub Bot) #59371
  • [33b06df354] - deps: upgrade openssl sources to openssl-3.5.2 (Node.js GitHub Bot) #59371
  • [fa70f1af77] - deps: support madvise(3C) across ALL illumos revisions (Dan McDonald) #58237
  • [f834a6be59] - deps: update undici to 7.13.0 (Node.js GitHub Bot) #59338
  • [db2417487e] - deps: update sqlite to 3.50.4 (Node.js GitHub Bot) #59337
  • [41978adb08] - deps: V8: backport 493cb53691be (Chengzhong Wu) #59238
  • [05667991ca] - deps: V8: backport 1c3e018e7d48 (Renegade334) #58818
  • [fd61588bb4] - doc: rename x509.extKeyUsage to x509.keyUsage (Filip Skokan) #59332
  • [a271ae4360] - doc: fix Pbkdf2Params hash attribute heading (Filip Skokan) #59395
  • [72cfff165b] - doc: fix missing reference links for server.keepAliveTimeoutBuffer (Lee Jiho) #59356
  • [8341916772] - doc: fix grammar in global dispatcher usage (Eng Zer Jun) #59344
  • [e3e489706b] - doc: run license-builder (github-actions[bot]) #59343
  • [46527e8cea] - doc: correct orthography eg.  e.g. (Jacob Smith) #59329
  • [d140c3713e] - doc: clarify the need of compiler compatible with c++20 (Rafael Gonzaga) #59297
  • [95e9cabf9d] - doc: clarify release candidate stability index (Filip Skokan) #59295
  • [a056dd36d2] - doc: add WDYT to glossary (btea) #59280
  • [1e2c52f5c4] - doc: add manpage entry for --use-system-ca (Joyee Cheung) #59273
  • [31a46fdeb4] - doc: add path.join and path.normalize clarification (Rafael Gonzaga) #59262
  • [cff3725ff9] - doc: fix typo in test/common/README.md (Yoo) #59180
  • [31a9283591] - doc: add note on process memoryUsage (fengmk2) #59026
  • [5a98bff6b8] - doc: format safely for doc-kit (Aviv Keller) #59229
  • [95b8b7ea5c] - domain: remove deprecated API call (Alex Yang) #59339
  • [2990f178bd] - fs: fix glob TypeError on restricted dirs (Sylphy-0xd3ac) #58674
  • [e2fb4caf9c] - fs: correct error message when FileHandle is transferred (Alex Yang) #59156
  • [aeb4de55a7] - (SEMVER-MINOR) fs: port SonicBoom module to fs module as Utf8Stream (James M Snell) #58897
  • [e79c93a5d0] - (SEMVER-MINOR) http: add server.keepAliveTimeoutBuffer option (Haram Jeong) #59243
  • [0fb005a53f] - http2: set Http2Stream#sentHeaders for raw headers (Darshan Sen) #59244
  • [e055539604] - lib: add trace-sigint APIs (theanarkh) #59040
  • [d2183d860a] - lib: optimize writable stream buffer clearing (Yoo) #59406
  • [47543a7e17] - lib: handle windows reserved device names on UNC (Rafael Gonzaga) #59286
  • [c6911f0717] - lib: do not modify prototype deprecated asyncResource (RafaelGSS) #59195
  • [3c88b769bb] - lib: restructure assert to become a class (Miguel Marcondes Filho) #58253
  • [e91b54df59] - lib: handle superscript variants on windows device (Rafael Gonzaga) #59261
  • [4ee467905d] - lib: use validateString (hotpineapple) #59296
  • [c144d69efc] - lib: docs deprecate _http_* (Sebastian Beltran) #59293
  • [c89b67e681] - lib: add type names in source mapped stack traces (Chengzhong Wu) #58976
  • [5b2363be8d] - lib: prefer AsyncIteratorPrototype primordial (René) #59097
  • [41b4f4d694] - meta: clarify pr objection process further (James M Snell) #59096
  • [0eb5962f1e] - meta: add mailmap entry for aditi-1400 (Aditi) #59316
  • [a2b72c2304] - meta: add tsc and build team as codeowners building.md (Rafael Gonzaga) #59298
  • [d69f3ee1e0] - meta: add nodejs/path to path files (Rafael Gonzaga) #59289
  • [1e37eab865] - node-api: reword "implementation in an alternative VM" as implementable (Chengzhong Wu) #59036
  • [64add6302a] - src: use simdjson to parse SEA configuration (Joyee Cheung) #59323
  • [e9c6636585] - src: mark realm leaf classes final (Anna Henningsen) #59355
  • [42ef8147d1] - src: warn about FastOneByteString invalidation (James M Snell) #59275
  • [8686b8037a] - src: remove unused DSAKeyExportJob (Filip Skokan) #59291
  • [1e5f632666] - src: use C++20 contains() method (iknoom) #59304
  • [22d4683cfe] - src: added CHECK_NOT_NULL check for multiple eq_wrap_async (F3lixTheCat) #59267
  • [6a47ff4943] - src: clear all linked module caches once instantiated (Chengzhong Wu) #59117
  • [33728cb4ca] - src: add nullptr checks in StreamPipe::New (Burkov Egor) #57613
  • [4a907bdad1] - src: add percentage support to --max-old-space-size (Asaf Federman) #59082
  • [7c189d4f55] - test: deflake sequential/test-tls-session-timeout (Joyee Cheung) #59423
  • [fb0a6fb57f] - test: exclude mock from coverage (Shima Ryuhei) #59348
  • [7e10f95f13] - test: split test-fs-cp.js (Joyee Cheung) #59408
  • [41bcf5f659] - test: update WPT resources,WebCryptoAPI,webstorage (Filip Skokan) #59311
  • [f9f3dc94cb] - test: add known issue test for fs.cpSync dereference bug (James M Snell) #58941
  • [244d0c38a8] - test: deflake stream-readable-to-web test (Ethan Arrowood) #58948
  • [564e604a1a] - test: make test-inspector-network-resource sequential (Shima Ryuhei) #59104
  • [7ab13b7477] - test: don't use expose internals in test-http-outgoing-buffer.js (Meghan Denny) #59219
  • [319df3859a] - test,crypto: skip unsupported ciphers (Shelley Vohr) #59388
  • [713c70c32a] - test_runner: remove unused callee convertion (Alex Yang) #59221
  • [e4ca30e115] - tools: disable nullability-completeness warnings (Michaël Zasso) #59392
  • [dab7f6b542] - tools: check for std::vector in lint (Aditi) #58497
  • [7b94982eb0] - tools: allow selecting test subsystems with numbers in their names (Darshan Sen) #59242
  • [16bbcd8881] - typings: improve internal binding types (Nam Yooseong) #59351
  • [76bc4d659b] - typings: improve internal binding types (Michaël Zasso) #59176
  • [eecd3272a6] - worker: add name for worker (theanarkh) #59213
  • [84c3513ce2] - worker: implements nits in Web Locks code (Antoine du Hamel) #59270
  • [bd68fbd753] - worker: add cpuUsage for worker (theanarkh) #59177
  • [201304537e] - (SEMVER-MINOR) zlib: add dictionary support to zstdCompress and zstdDecompress (lluisemper) #59240


    22.18.0

    Notable Changes

    Type stripping is enabled by default

    Node.js will be able to execute TypeScript files without additional configuration:

    $ echo 'const foo: string = 'World'; console.log(`Hello $!`);' > file.ts $ node file.ts Hello World!

    There are some limitations in the supported syntax documented at https://nodejs.org/api/typescript.html#type-stripping.

    This feature is experimental and is subject to change. Disable it by passing --no-experimental-strip-types CLI flag.

    Contributed by Marco Ippolito in #56350.

    Other notable changes

    • [26f3711228] - (SEMVER-MINOR) deps: update amaro to 1.1.0 (Node.js GitHub Bot) #56350
    • [d80ef2a71f] - (SEMVER-MINOR) doc: add all watch-mode related flags to node.1 (Dario Piotrowicz) #58719
    • [8ab24d21c9] - doc: add islandryu to collaborators (Shima Ryuhei) #58714
    • [430e66b9b8] - (SEMVER-MINOR) esm: implement import.meta.main (Joe) #57804
    • [62f7926b6a] - (SEMVER-MINOR) fs: allow correct handling of burst in fs-events with AsyncIterator (Philipp Dunkel) #58490
    • [65f19a00c3] - (SEMVER-MINOR) permission: propagate permission model flags on spawn (Rafael Gonzaga) #58853
    • [ccca1517f9] - (SEMVER-MINOR) sqlite: add support for readBigInts option in db connection level (Miguel Marcondes Filho) #58697
    • [48003e87e8] - (SEMVER-MINOR) src,permission: add support to permission.has(addon) (Rafael Gonzaga) #58951
    • [fe4290a0e6] - (SEMVER-MINOR) url: add fileURLToPathBuffer API (James M Snell) #58700
    • [4dc6b4c67a] - (SEMVER-MINOR) watch: add --watch-kill-signal flag (Dario Piotrowicz) #58719
    • [8dbc6b210f] - (SEMVER-MINOR) worker: make Worker async disposable (James M Snell) #58385

    Commits

    • [b19ffebea7] - assert: remove dead code (Yoshiya Hinosawa) #58760
    • [5bc828beae] - benchmark: add source map and source map cache (Miguel Marcondes Filho) #58125
    • [f7c16985a7] - build: disable v8_enable_pointer_compression_shared_cage on non-64bit (Shelley Vohr) #58867
    • [ba42c72f7f] - build: option to use custom inspector_protocol path (Shelley Vohr) #58839
    • [4fd8911653] - build: fix typo 'Stoage' to 'Storage' in help text (ganglike) #58777
    • [114cd95919] - crypto: fix inclusion of OPENSSL_IS_BORINGSSL define (Shelley Vohr) #58845
    • [6699c75eac] - crypto: fix SHAKE128/256 breaking change introduced with OpenSSL 3.4 (Filip Skokan) #58942
    • [f99aa748c0] - deps: upgrade npm to 10.9.3 (npm team) #58847
    • [02e971190b] - deps: update sqlite to 3.50.2 (Node.js GitHub Bot) #58882
    • [de2b85b5ae] - deps: update googletest to 35b75a2 (Node.js GitHub Bot) #58710
    • [e7591d7a19] - deps: update minimatch to 10.0.3 (Node.js GitHub Bot) #58712
    • [8c61b96c43] - deps: update acorn to 8.15.0 (Node.js GitHub Bot) #58711
    • [113f4e2d3c] - deps: update sqlite to 3.50.1 (Node.js GitHub Bot) #58630
    • [7ccd848995] - deps: update simdjson to 3.13.0 (Node.js GitHub Bot) #58629
    • [e9c51deb5c] - deps: update zlib to 1.3.1-470d3a2 (Node.js GitHub Bot) #58628
    • [26f3711228] - (SEMVER-MINOR) deps: update amaro to 1.1.0 (Node.js GitHub Bot) #56350
    • [752dde182f] - (SEMVER-MINOR) deps: update amaro to 1.0.0 (Node.js GitHub Bot) #56350
    • [258534d0dc] - (SEMVER-MINOR) deps: update amaro to 0.5.3 (Node.js GitHub Bot) #56350
    • [7fcf675503] - (SEMVER-MINOR) deps: update amaro to 0.5.2 (Node.js GitHub Bot) #56350
    • [81a10a67d5] - (SEMVER-MINOR) deps: update amaro to 0.5.1 (Marco Ippolito) #56350
    • [25f8682a62] - (SEMVER-MINOR) deps: update amaro to 0.5.0 (nodejs-github-bot) #56350
    • [4baf2167e7] - dns: fix parse memory leaky (theanarkh) #58973
    • [e8f4a7df22] - dns: set timeout to 1000ms when timeout < 0 (theanarkh) #58441
    • [1e373a0a25] - doc: update release key for aduh95 (Antoine du Hamel) #58877
    • [d5c104246f] - doc: remove broken link to permission model source code (Juan José) #58972
    • [b8885a25ff] - doc: clarify details of TSC public and private meetings (James M Snell) #58925
    • [aa05823b37] - doc: mark stability markers consistent in globals.md (Antoine du Hamel) #58932
    • [3856aee9b2] - doc: move "Core Promise APIs" to "Completed initiatives" (Antoine du Hamel) #58934
    • [c2f9735422] - doc: fix fetch subsections in globals.md (Antoine du Hamel) #58933
    • [5f4c7a9d2d] - doc: add missing Class: mentions (Antoine du Hamel) #58931
    • [88ee38b37c] - doc: remove myself from security steward rotation (Michael Dawson) #58927
    • [02031a9b0d] - doc: add ovflowd back to core collaborators (Claudio W.) #58911
    • [9551fa3c8f] - doc: update email address for Richard Lau (Richard Lau) #58910
    • [cd6bc982c0] - doc: update vm doc links (Chengzhong Wu) #58885
    • [ce49303cd0] - doc: add missing comma in child_process.md (ronijames008) #58862
    • [d80ef2a71f] - (SEMVER-MINOR) doc: add all watch-mode related flags to node.1 (Dario Piotrowicz) #58719
    • [f8fcb1c83a] - doc: fix jsdoc definition of assert.ifError() fn in lib/assert.js (jesh) #58573
    • [28fddc04ca] - doc: add array type in http request headers (Michael Henrique) #58049
    • [8bd698b688] - doc: add missing colon to headers in globals.md (Aviv Keller) #58825
    • [fa5818e3c1] - doc: fix stream.md section order (Antoine du Hamel) #58811
    • [2384bfdcbd] - doc: fix stability 1.x links excluding the decimal digit (Dario Piotrowicz) #58783
    • [4e9fe670c9] - doc: fix wrong RFC number in http2 (Deokjin Kim) #58753
    • [bbe4ad7351] - doc: add history entry for TS support in hooks (Antoine du Hamel) #58732
    • [ec60473ab1] - doc: run license-builder (github-actions[bot]) #58722
    • [8ab24d21c9] - doc: add islandryu to collaborators (Shima Ryuhei) #58714
    • [8c641105cd] - doc: punctuation fix for Node-API versioning clarification (Jiacai Liu) #58599
    • [133b10a0bb] - doc: add path rules and validation for export targets in package.json (0hm☘️) #58604
    • [354a68c460] - doc: add history entries to --input-type section (Antoine du Hamel) #56350
    • [430e66b9b8] - (SEMVER-MINOR) esm: implement import.meta.main (Joe) #57804
    • [42c4ca6024] - esm: syncify default path of ModuleLoader.load (Jacob Smith) #57419
    • [3ac8c686a3] - esm: unwrap WebAssembly.Global on Wasm Namespaces (Guy Bedford) #57525
    • [c7ebf2e245] - fs: close dir before throwing if options.bufferSize is invalid (Livia Medeiros) #58856
    • [38ffed8744] - fs: special input -1 on chown, lchown and fchown (Alex Yang) #58836
    • [0e82f72a46] - fs: throw ERR_INVALID_THIS on illegal invocations (Livia Medeiros) #58848
    • [141b2b1954] - fs: make Dir disposers idempotent (René) #58692
    • [dedd9d1961] - fs: avoid computing time coefficient constants in runtime (Livia Medeiros) #58728
    • [a029a06b49] - fs: add UV_ENOSPC to list of things to pass to err directly (Jacky Zhao) #56918
    • [62f7926b6a] - (SEMVER-MINOR) fs: allow correct handling of burst in fs-events with AsyncIterator (Philipp Dunkel) #58490
    • [927d2e77f3] - http: fix keep-alive not timing out after post-request empty line (Shima Ryuhei) #58178
    • [5cd8145612] - http2: add diagnostics channel 'http2.server.stream.close' (Darshan Sen) #58602
    • [0f2b31cba4] - inspector: add protocol methods retrieving sent/received data (Chengzhong Wu) #58645
    • [79428d8946] - lib: fix getTypeScriptParsingMode jsdoc (沈鸿飞) #58681
    • [2c205d857c] - lib: rename validateInternalField into validateThisInternalField (LiviaMedeiros) #58765
    • [f67e927a5f] - lib: make validateInternalField() throw ERR_INVALID_THIS (LiviaMedeiros) #58765
    • [914701d4f8] - lib,src: support DOMException ser-des (Chengzhong Wu) #58649
    • [12a75dca8b] - meta: bump step-security/harden-runner from 2.12.0 to 2.12.2 (dependabot[bot]) #58923
    • [0d56fec6f0] - meta: bump github/codeql-action from 3.28.18 to 3.29.2 (dependabot[bot]) #58922
    • [7f4f6e0409] - meta: add IlyasShabi to collaborators (Ilyas Shabi) #58916
    • [50b62c9663] - meta: add @nodejs/inspector as codeowner (Chengzhong Wu) #58790
    • [2fc89892ab] - module: fix typescript import.meta.main (Marco Ippolito) #58661
    • [bfc68c8ae8] - module: convert schema-only core module on convertCJSFilenameToURL (Alex Yang) #58612
    • [54634f5e53] - module: update tests for combined ambiguous module syntax error (Mert Can Altin) #55874
    • [10eb3db4af] - module: allow cycles in require() in the CJS handling in ESM loader (Joyee Cheung) #58598
    • [fe7994eb0c] - module: improve typescript error message format (Marco Ippolito) #56350
    • [c898491017] - (SEMVER-MINOR) module: remove experimental warning from type stripping (Marco Ippolito) #56350
    • [c07745a436] - module: refactor commonjs typescript loader (Marco Ippolito) #56350
    • [8d1f5df313] - (SEMVER-MINOR) module: unflag --experimental-strip-types (Marco Ippolito) #56350
    • [a8a1c9a960] - os: fix GetInterfaceAddresses memory lieaky (theanarkh) #58940
    • [65f19a00c3] - (SEMVER-MINOR) permission: propagate permission model flags on spawn (Rafael Gonzaga) #58853
    • [f0a165d89f] - repl: fix eval errors thrown after close throwing ERR_USE_AFTER_CLOSE (Dario Piotrowicz) #58791
    • [9ef1cd1607] - repl: avoid deprecated require.extensions in tab completion (baki gul) #58653
    • [22a4c60e08] - repl: fix tab completion not working with computer string properties (Dario Piotrowicz) #58709
    • [ccca1517f9] - (SEMVER-MINOR) sqlite: add support for readBigInts option in db connection level (Miguel Marcondes Filho) #58697
    • [690525881e] - src: simplify adding fast APIs to ExternalReferenceRegistry (René) #58896
    • [a381b4d990] - src: remove fast API for InternalModuleStat (Joyee Cheung) #58489
    • [390654e996] - src: fix internalModuleStat v8 fast path (Yagiz Nizipli) #58054
    • [b722647572] - src: fix -Wunreachable-code in src/node_api.cc (Shelley Vohr) #58901
    • [6d1fe67f56] - src: -Wunreachable-code error in crypto_context.cc (Shelley Vohr) #58901
    • [2d8e65c6db] - src: fix -Wunreachable-code-return in src/node_contextify.cc (Shelley Vohr) #58901
    • [e07adb3b18] - src: cleanup uv_fs_req before uv_fs_stat on existSync (RafaelGSS) #58915
    • [6b30c0a511] - src: -Wmismatched-new-delete in debug_utils.cc (Shelley Vohr) #58844
    • [74ef07f2e7] - src: add FromV8Value() for integral and enum types (Aditi) #57931
    • [28bf6ed87d] - src: pass resource on permission checks for spawn (Rafael Gonzaga) #58758
    • [daf65d479b] - src: replace std::array with static arrays in contextify (Mert Can Altin) #58580
    • [9cb671fdb1] - src: add new CopyUtimes function to reduce code duplication (Dario Piotrowicz) #58625
    • [e515eb861c] - src: replace V8 Fast API todo comment with note comment (Dario Piotrowicz) #58614
    • [48003e87e8] - (SEMVER-MINOR) src,permission: add support to permission.has(addon) (Rafael Gonzaga) #58951
    • [72f75bb976] - src,permission: enhance permission model debug (Rafael Gonzaga) #58898
    • [66fccc252b] - (SEMVER-MINOR) test: add test for async disposable worker thread (James M Snell) #58385
    • [43d2ad8599] - test: deflake test-runner-watch-mode-kill-signal (Dario Piotrowicz) #58952
    • [7c54085698] - test: add known issue tests for recursive readdir calls with Buffer path (Dario Piotrowicz) #58893
    • [cd2a5d9a51] - test: add known issue tests for fs.cp (James M Snell) #58883
    • [26072a7953] - test: add tests to ensure that node.1 is kept in sync with cli.md (Dario Piotrowicz) #58878
    • [3fd187f559] - test: replace .filter()[0] with .find() (Livia Medeiros) #58872
    • [0d538abb15] - test: remove reliance on in-tree deps/undici (Richard Lau) #58866
    • [e24dede403] - test: close dirs in fs-opendir test (Livia Medeiros) #58855
    • [ac6b8222e6] - test: correct SIMD support comment (Richard Lau) #58767
    • [9d3e451181] - test: add tests for REPL custom evals (Dario Piotrowicz) #57850
    • [17a3246718] - test: reduce the use of private symbols in test-events-once.js (Yoshiya Hinosawa) #58685
    • [bbf33efcd0] - test: use common.skipIfInspectorDisabled() to skip tests (Dario Piotrowicz) #58675
    • [d6660baff7] - test: update WPT for dom/abort to dc928169ee (Node.js GitHub Bot) #58644
    • [6d9d5deb44] - test: split indirect eval import tests (Chengzhong Wu) #58637
    • [abd5b5fd20] - test: deflake async-hooks/test-improper-order on AIX (Baki Gul) #58567
    • [3fc630e7cf] - test: close FileHandle objects in tests explicitly (James M Snell) #58615
    • [7f0560dc4b] - test: skip broken sea on rhel8 (Marco Ippolito) #58914
    • [898e68a915] - test: save the config file in a temporary directory (Luigi Pinca) #58799
    • [9f2132a4f6] - test: deflake test-config-file (Luigi Pinca) #58799
    • [f1b74cff9a] - test: skip tests failing when run under root (Livia Medeiros) #58610
    • [4b0ee14a97] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #58921
    • [a84935fb0e] - tools: update inspector_protocol to 69d69dd (Shelley Vohr) #58900
    • [af805186cd] - tools: update gyp-next to 0.20.2 (Node.js GitHub Bot) #58788
    • [a2d2d36bb1] - tools: make nodedownload module compatible with Python 3.14 (Lumír 'Frenzy' Balhar) #58752
    • [cc8b9aa43d] - tools: include toolchain.gypi in abseil.gyp (Chengzhong Wu) #58678
    • [fbbf49a7d3] - tools: bump brace-expansion in /tools/clang-format (dependabot[bot]) #58699
    • [8db92a41c5] - tools: bump brace-expansion from 1.1.11 to 1.1.12 in /tools/eslint (dependabot[bot]) #58698
    • [3a099cf88f] - tools: switch to @stylistic/eslint-plugin (Michaël Zasso) #58623
    • [9798511e7c] - tools: remove config.status under make distclean (René) #58603
    • [011290a4eb] - tools: edit commit-queue workflow file (Antoine du Hamel) #58667
    • [a7406f56da] - tools: improve release proposal linter (Antoine du Hamel) #58647
    • [c855310f83] - tools,doc: move more MDN links to types (Antoine du Hamel) #58930
    • [805239c824] - typings: add Atomics primordials (Renegade334) #58577
    • [d28b2aa0a2] - typings: add ZSTD_COMPRESS, ZSTD_DECOMPRESS to internalBinding (Meghan Denny) #58655
    • [fe4290a0e6] - (SEMVER-MINOR) url: add fileURLToPathBuffer API (James M Snell) #58700
    • [db648b92c1] - util: inspect: do not crash on an Error stack pointing to itself (Sam Verschueren) #58196
    • [791ecfac14] - v8: fix missing callback in heap utils destroy (Ruben Bridgewater) #58846
    • [4dc6b4c67a] - (SEMVER-MINOR) watch: add --watch-kill-signal flag (Dario Piotrowicz) #58719
    • [8dbc6b210f] - (SEMVER-MINOR) worker: make Worker async disposable (James M Snell) #58385

22 Aug 2025

Apache 2.4.65 Release

Security release!

Changes with Apache 2.4.65 *) SECURITY: CVE-2025-54090: Apache HTTP Server: 'RewriteCond expr' always evaluates to true in 2.4.64 (cve.mitre.org) A bug in Apache HTTP Server 2.4.64 results in all "RewriteCond expr ..." tests evaluating as "true". Users are recommended to upgrade to version 2.4.65, which fixes the issue.

https://www.apachelounge.com/changelog-2.4.html

15 Aug 2025

Composer 2.8.10 Released!

Fixed plugins appearing loaded despite not being loaded yet in some edge cases (#12442)
Fixed forward compatibility with Symfony 7.4 (#12445)
Fixed deprecation warning on PHP 8.4 when platform check fails (#12453)
Fixed support for new planner role in GitLab (#12426)
Fixed Bitbucket regression introduced in 2.8.0 (#12462)
Fixed json schema issues with version validation (#12438)
Fixed git prompt breaking some systems (#12437)
Fixed warning on PHP 8.5 when curl is not loaded (#12472)

15 Aug 2025

Bruno 2.9.1 Released!

Fix OpenAPI import issue in CLI
Improved handling of encrypted environment variables

04 Aug 2025

Xlight 3.9.4.6 Released!

  • Fix a bug that the option "show program icon in the taskbar after Windows start" does not work correctly.
  • Add support for hmac-sha2-512.
04 Aug 2025

Bruno 2.8.1 Released!

Bug Fixes

  • Inability to disable SSL/TLS certificate verification
  • Multiline JSON array parsing in body:JSON
  • Scrollbars unexpectedly appearing based on system preferences
  • Status bar styling and themes
01 Aug 2025

Ghostscript 10.05.1 Security Release

Security release!

Highlights in this release include:

  • The 10.05.1 patch release addresses:

    • An overflow issue in Freetype on platforms where long is a 4 byte (rather than 8 byte) type (Microsoft Windows, for example) causing corrupted glyph rendering at higher resolutions

    • An issue with embedded files, affecting Zugferd format PDF creation.

    • Broken logic in PDF Optional Content processing

    • Potential slow down due to searching for identifiable font files

    • A small number of extreme edge case segmentation faults.

  • This release addresses CVEs: CVE-2025-27835, CVE-2025-27832, CVE-2025-27831, CVE-2025-27836, CVE-2025-27830, CVE-2025-27833, CVE-2025-27837, CVE-2025-27834, CVE-2025-46646

  • The 10.05.1 release deprecates the non-standard operator "selectdevice", all code should now be using the standard "setpagedevice" operator. "selectdevice" will be removed in the 10.06.0 release.

  • We now support production of PDF/X-1a and PDF/X-4a in addition to the existing support for PDF/X-3

  • Our efforts in code hygiene and maintainability continue.

  • The usual round of bug fixes, compatibility changes, and incremental improvements.

  • (9.53.0) We have added the capability to build with the Tesseract OCR engine. In such a build, new devices are available (pdfocr8/pdfocr24/pdfocr32) which render the output file to an image, OCR that image, and output the image "wrapped" up as a PDF file, with the OCR generated text information included as "invisible" text (in PDF terms, text rendering mode 3).

    Mainly due to time constraints, we only support including Tesseract from source included in our release packages, and not linking to Tesseract/Leptonica shared libraries. Whether we add this capability will be largely dependent on community demand for the feature.

    See Enabling OCR for more details.

For a list of open issues, or to report problems, please visit bugs.ghostscript.com.

Incompatible changes

Included below are incompatible changes from recent releases (the specific release in question is listed in parentheses). We include these, for now, as we are aware that not everyone upgrades with every release.

  • (10.05.1) The 10.05.1 release deprecates the non-standard operator "selectdevice", all code should now be using the standard "setpagedevice" operator. "selectdevice" will be removed in the 10.06.0 release.

  • IMPORTANT: (10.04.0) we added protection for device selection from PostScript input. This will mean that, by default, only the device specified on the command line will be permitted. Similar to the file permissions, there will be a "--permit-devices=" allowing a comma separation list of allowed devices. This will also take a single wildcard "*" allowing any device.

    Any application which relies on allowing PostScript to change devices during a job will have to be aware, and take action to deal with this change.

    The exception is "nulldevice", switching to that requires no special action.

  • (10.03.1) Almost all the "internal" PostScript procedures defined during the interpreter startup are now "executeonly", further reducing the attack surface of the interpreter.

    The nature of these procedures means there should be no impact for legitimate usage, but it is possible it will impact uses which abuse the previous accessibility (even for legitimate reasons). Such cases may now require "DELAYBIND", See DELAYBIND

  • (10.03.1) The "makeimagedevice" non-standard operator has been removed. It allowed low level access to the graphics library in a way that was, essentially impossible to secure.

  • (10.03.1) The "putdeviceprops", "getdeviceprops", "finddevice", "copydevice", "findprotodevice" non-standard operators have all been removed. They provided functionality that is either accessible through standard operators, or should not be used by user PostScript.

  • (10.03.1) The process of "tidying" the PostScript namespace should have removed only non-standard and undocumented operators. Nevertheless, it is possible that any integrations or utilities that rely on those non-standard and undocumented operators may stop working or may change behaviour.

    If you encounter such a case, please contact us (Discord, #ghostscript IRC channel, or the gs-devel mailing list would be best), and we'll work with you to either find an alternative solution or return the previous functionality, if there is genuinely no other option.

  • (9.55.0) Changes to the device API. This will affect developers and maintainers of Ghostscript devices. Firstly, and most importantly, the way device-specific "procs" are specified has been rewritten to make it (we think!) clearer and less confusing. See The Interface between Ghostscript and Device Drivers and The Great Device Rework Of 2021 for more details.

  • (9.55.0) The command line options -sGraphicsICCProfile=___, -dGraphicsIntent=#, -dGraphicsBlackPt=#, -dGraphicsKPreserve=# have been changed to -sVectorICCProfile=___, -dVectorIntent=#, -dVectorBlackPt=#, -dVectorKPreserve=#.

  • (9.53.0) As of 9.53.0, we have (re-)introduced the patch level to the version number, this helps facilitate a revised policy on handling security-related issues.

    Note for GSView Users: The patch level addition breaks GSView 5 (it is hardcoded to check for versions 704-999. It is possible, but not guaranteed that a GSView update might be forthcoming to resolve this.

  • (9.52) -dALLOWPSTRANSPARENCY: The transparency compositor (and related features), whilst we are improving it, remains sensitive to being driven correctly, and incorrect use can have unexpected/undefined results. Hence, as part of improving security, we limited access to these operators, originally using the -dSAFER feature. As we made "SAFER" the default mode, that became unacceptable, hence the new option -dALLOWPSTRANSPARENCY which enables access to the operators.

  • (9.50) There are a couple of subtle incompatibilities between the old and new SAFER implementations. Firstly, as mentioned in the 9.50 release notes, SAFER now leaves standard PostScript functionality unchanged (except for the file access limitations). Secondly, the interaction with save/restore operations has changed. See SAFER.

    Important Note for Windows Users:
    The file/path pattern matching is case-sensitive, even on Windows. This is a change in behaviour compared to the old code which, on Windows, was case insensitive. This is in recognition of changes in Windows behaviour, in that it now supports (although does not enforce) case sensitivity.

01 Aug 2025

Nodejs 24.4.1 Security Release

Security release!

Notable Changes

  • (CVE-2025-27209) HashDoS in V8 with new RapidHash algorithm
  • (CVE-2025-27210) Windows Device Names (CON, PRN, AUX) Bypass Path Traversal Protection in path.normalize()

Commits

01 Aug 2025

Ngrok 3.2.5.0

2025-07-24 - Added support for Debian Bookworm.
2025-07-17 - Agent now allows configuring minimum and maximum supported TLS versions.
2025-07-17 - [Critical Fix] Agent now allows enforcing mTLS certificate validation.

11 Jul 2025

Git 2.50.1 Security release

EMERGENCY Security release!

Bug Fixes

  • CVE-2025-27613, Gitk: When a user clones an untrusted repository and runs Gitk without additional command arguments, any writable file can be created and truncated. The option "Support per-file encoding" must have been enabled. The operation "Show origin of this line" is affected as well, regardless of the option being enabled or not.
  • CVE-2025-27614, Gitk: A Git repository can be crafted in such a way that a user who has cloned the repository can be tricked into running any script supplied by the attacker by invoking gitk filename, where filename has a particular structure.
  • CVE-2025-46334, Git GUI (Windows only): A malicious repository can ship versions of sh.exe or typical textconv filter programs such as astextplain. On Windows, path lookup can find such executables in the worktree. These programs are invoked when the user selects "Git Bash" or "Browse Files" from the menu.
  • CVE-2025-46835, Git GUI: When a user clones an untrusted repository and is tricked into editing a file located in a maliciously named directory in the repository, then Git GUI can create and overwrite any writable file.
  • CVE-2025-48384, Git: When reading a config value, Git strips any trailing carriage return and line feed (CRLF). When writing a config entry, values with a trailing CR are not quoted, causing the CR to be lost when the config is later read. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read resulting in the submodule being checked out to an incorrect location. If a symlink exists that points the altered path to the submodule hooks directory, and the submodule contains an executable post-checkout hook, the script may be unintentionally executed after checkout.
  • CVE-2025-48385, Git: When cloning a repository Git knows to optionally fetch a bundle advertised by the remote server, which allows the server-side to offload parts of the clone to a CDN. The Git client does not perform sufficient validation of the advertised bundles, which allows the remote side to perform protocol injection. This protocol injection can cause the client to write the fetched bundle to a location controlled by the adversary. The fetched content is fully controlled by the server, which can in the worst case lead to arbitrary code execution.
  • CVE-2025-48386, Git: The wincred credential helper uses a static buffer (target) as a unique key for storing and comparing against internal storage. This credential helper does not properly bounds check the available space remaining in the buffer before appending to it with wcsncat(), leading to potential buffer overflows.

This release merges up the fixes that appear in v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, and v2.49.1 to address the following CVEs: CVE-2025-27613, CVE-2025-27614, CVE-2025-46334, CVE-2025-46835, CVE-2025-48384, CVE-2025-48385, and CVE-2025-48386. See the release notes for v2.43.7 for details.

06 Jul 2025

Postgresql July Bundle Released

17.5 - https://www.postgresql.org/docs/release/17.5/
16.9 - https://www.postgresql.org/docs/release/16.9/
15.13 - https://www.postgresql.org/docs/release/15.13/
14.18 - https://www.postgresql.org/docs/release/14.18/
13.21 - https://www.postgresql.org/docs/release/13.21/

Our Supporters

Sorry, this website uses features that your browser doesn’t support. Upgrade to a newer version of Firefox, Chrome, Safari, or Edge and you’ll be all set.