v25.3.0
-
Added
-
Bulk Loader
- feat(bulk): add a "skip reduce" flag to the bulk loader (#9618)
- feat(bulk): add HNSW vector index support to bulk loader (#9598)
- feat(bulk): add error logging to bulk loader (#9601)
-
Test
- feat(test): simplify macOS testing with automatic cross-compilation (#9585)
-
Fixed
-
Core
- fix(posting): prevent stale cache hits when maxTs < readTs (#9597) (#9614)
- fix(core): fix opentelemetry upgrade issues (#9595)
- fix: fetch schema over network to ensure @unique check across groups (#9596)
-
Test
- fix(test): resolve macOS binary selection and test data clobbering (#9606)
- fix(test): macOS local image, plugin tests, and test suite restructuring (#9610)
- fix(test): make TestDropNamespaceErr resilient to async namespace operations (#9589)
-
Changed
-
Perf
- perf(concurrency): cancel remaining goroutines when error occurs (#9484)
-
Chore
- chore: update docs references (#9617)
- chore(test): Clean up testing guide and Makefile testing dependency checks (#9611)
- chore: address CVEs (Feb '26 edition) (#9608)
WARNING In #9608, badger will no longer be copied into the Dgraph image. You can download it from the releases page.
- chore: suppress receipt of graphql request to logging level 2 (#9612)
- chore(core): use provider.RetrieveWithCredContext instead of deprecated provider.Retrieve (#9551)
- chore: remove hardcoded GOMAXPROCS; print cpu info in startup-banner (#9600)
-
Dependency Updates
- chore(deps): bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0 (#9616)
Full Changelog: https://github.com/dgraph-io/dgraph/compare/v25.2.0...v25.3.0
v25.3.0
-
Added
-
Bulk Loader
- feat(bulk): add a "skip reduce" flag to the bulk loader (#9618)
- feat(bulk): add HNSW vector index support to bulk loader (#9598)
- feat(bulk): add error logging to bulk loader (#9601)
-
Test
- feat(test): simplify macOS testing with automatic cross-compilation (#9585)
-
Fixed
-
Core
- fix(posting): prevent stale cache hits when maxTs < readTs (#9597) (#9614)
- fix(core): fix opentelemetry upgrade issues (#9595)
- fix: fetch schema over network to ensure @unique check across groups (#9596)
-
Test
- fix(test): resolve macOS binary selection and test data clobbering (#9606)
- fix(test): macOS local image, plugin tests, and test suite restructuring (#9610)
- fix(test): make TestDropNamespaceErr resilient to async namespace operations (#9589)
-
Changed
-
Perf
- perf(concurrency): cancel remaining goroutines when error occurs (#9484)
-
Chore
- chore: update docs references (#9617)
- chore(test): Clean up testing guide and Makefile testing dependency checks (#9611)
- chore: address CVEs (Feb '26 edition) (#9608)
WARNING In #9608, badger will no longer be copied into the Dgraph image. You can download it from the releases page.
- chore: suppress receipt of graphql request to logging level 2 (#9612)
- chore(core): use provider.RetrieveWithCredContext instead of deprecated provider.Retrieve (#9551)
- chore: remove hardcoded GOMAXPROCS; print cpu info in startup-banner (#9600)
-
Dependency Updates
- chore(deps): bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0 (#9616)
Full Changelog: https://github.com/dgraph-io/dgraph/compare/v25.2.0...v25.3.0
2026-03-05, Version 22.22.1 'Jod' (LTS)
- [
7b93a65f27] - build: test on Python 3.14 (Christian Clauss) #59983 - [
6063d888fe] - cli: mark--heapsnapshot-near-heap-limitas stable (Joyee Cheung) #60956 - [
d950b151a2] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419 - [
4f42f8c428] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741 - [
b6ebf2cd53] - doc: add avivkeller to collaborators (Aviv Keller) #61115 - [
35854f424d] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) #61094 - [
5c6a076e5d] - meta: add Renegade334 to collaborators (Renegade334) #60714
- [
5f773488c2] - assert: use a set instead of an array for faster lookup (Ruben Bridgewater) #61076 - [
feecbb0eab] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) #61388 - [
096095b127] - benchmark: add SQLite benchmarks (Guilherme Araújo) #61401 - [
b5fe481415] - benchmark: use boolean options in benchmark tests (SeokhunEom) #60129 - [
fa9faacacb] - benchmark: allow boolean option values (SeokhunEom) #60129 - [
ba8714ac21] - benchmark: fix incorrect base64 input in byteLength benchmark (semimikoh) #60841 - [
53596de876] - benchmark: use typescript for import cjs benchmark (Joyee Cheung) #60663 - [
e8930e9d7c] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) #60603 - [
1155e412b1] - benchmark: add per-suite setup option (Joyee Cheung) #60574 - [
e01903d304] - benchmark: improve cpu.sh for safety and usability (Nam Yooseong) #60162 - [
623a405747] - benchmark: add benchmark for leaf source text modules (Joyee Cheung) #60205 - [
7f5e7b9f7f] - benchmark: add microbench on isInsideNodeModules (Chengzhong Wu) #60991 - [
db132b85a8] - bootstrap: initialize http proxy after user module loader setup (Joyee Cheung) #58938 - [
66aab9f987] - buffer: let Buffer.of use heap (Сковорода Никита Андреевич) #60503 - [
c3cf00c671] - buffer: speed up concat via TypedArray#set (Gürgün Dayıoğlu) #60399 - [
f6fad231e9] - build: skip sscache action on non-main branches (Joyee Cheung) #61790 - [
2145f91f6b] - build: update android-patches/trap-handler.h.patch (Mo Luo) #60369 - [
5b49759dd8] - build: update devcontainer.json to use paired nix env (Joyee Cheung) #61414 - [
24724cde40] - build: fix misplaced comma in ldflags (hqzing) #61294 - [
c57a19934e] - build: fix crate vendor file checksums on windows (Chengzhong Wu) #61329 - [
8659d7cd07] - build: fix inconsistent quoting inMakefile(Antoine du Hamel) #60511 - [
44f339b315] - build: remove temporal updater (Chengzhong Wu) #61151 - [
d60a6cebd5] - build: update test-wpt-report to use NODE instead of OUT_NODE (Filip Skokan) #61024 - [
34ccf187f5] - build: skip build-ci on actions with a separate test step (Chengzhong Wu) #61073 - [
7b19e101a2] - build: run embedtest with node_g when BUILDTYPE=Debug (Chengzhong Wu) #60850 - [
9408c4459f] - build: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) #59984 - [
2166ec7f0f] - build: use call command when calling python configure (Jacob Nichols) #60098 - [
73ef70145d] - build: remove V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE defs (Joyee Cheung) #60296 - [
7b93a65f27] - build: test on Python 3.14 (Christian Clauss) #59983 - [
508ce6ec6c] - build, src: fix include paths for vtune files (Rahul) #59999 - [
c89d3cd570] - build,tools: fix addon build deadlock on errors (Vladimir Morozov) #61321 - [
40904a0591] - build,win: update WinGet configurations to Python 3.14 (Mike McCready) #61431 - [
6d6742e7db] - child_process: treat ipc length header as unsigned uint32 (Ryuhei Shima) #61344 - [
6063d888fe] - cli: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) #60956 - [
3d324a0f88] - cluster: fix port reuse between cluster (Ryuhei Shima) #60141 - [
40a58709b4] - console: optimize single-string logging (Gürgün Dayıoğlu) #60422 - [
d950b151a2] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419 - [
4f42f8c428] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741 - [
a87499ae25] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) #60662 - [
8c65cc11e2] - crypto: update root certificates to NSS 3.116 (Node.js GitHub Bot) #59956 - [
91dc00a2c1] - debugger: fix event listener leak in the run command (Joyee Cheung) #60464 - [
0781bd3764] - deps: V8: backport 6a0a25abaed3 (Vivian Wang) #61688 - [
0cf1f9c3e9] - deps: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) #61417 - [
521b4b1f07] - deps: update sqlite to 3.51.2 (Node.js GitHub Bot) #61339 - [
58b9d219a3] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523 - [
cbc1e4306d] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135 - [
db59c35ed8] - deps: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) #61271 - [
c18518ee3c] - deps: update nbytes to 0.1.2 (Node.js GitHub Bot) #61270 - [
376df62d63] - deps: update timezone to 2025c (Node.js GitHub Bot) #61138 - [
993e905302] - deps: update simdjson to 4.2.4 (Node.js GitHub Bot) #61056 - [
b72fd2a5d3] - deps: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) #61055 - [
d765147405] - deps: update sqlite to 3.51.1 (Node.js GitHub Bot) #60899 - [
37abe2a7d2] - deps: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) #60898 - [
97241fcb86] - deps: update sqlite to 3.51.0 (Node.js GitHub Bot) #60614 - [
3669c7b4f4] - deps: update simdjson to 4.2.2 (Node.js GitHub Bot) #60740 - [
9a056ec89c] - deps: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) #60739 - [
b5803b3ea0] - deps: update minimatch to 10.1.1 (Node.js GitHub Bot) #60543 - [
5bf99f3d46] - deps: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) #60646 - [
801f187357] - deps: update simdjson to 4.2.1 (Node.js GitHub Bot) #60644 - [
03c16e5a4c] - deps: update simdjson to 4.1.0 (Node.js GitHub Bot) #60542 - [
2ebfc2ca56] - deps: update amaro to 1.1.5 (Node.js GitHub Bot) #60541 - [
d24ba4fed6] - deps: update simdjson to 4.0.7 (Node.js GitHub Bot) #59883 - [
9480a139bf] - deps: update googletest to 279f847 (Node.js GitHub Bot) #60219 - [
635e67379e] - deps: update archs files for openssl-3.5.5 (Node.js GitHub Bot) #61547 - [
c7b774047d] - deps: upgrade openssl sources to openssl-3.5.5 (Node.js GitHub Bot) #61547 - [
5b324d7d7f] - deps: update corepack to 0.34.6 (Node.js GitHub Bot) #61510 - [
eef8ba0667] - deps: update corepack to 0.34.5 (Node.js GitHub Bot) #60842 - [
490f7c7fb1] - deps: update corepack to 0.34.4 (Node.js GitHub Bot) #60643 - [
66903ea3b3] - deps: update corepack to 0.34.2 (Node.js GitHub Bot) #60550 - [
a2f0b69282] - deps: update corepack to 0.34.1 (Node.js GitHub Bot) #60314 - [
c8044a48a6] - deps: V8: backport 2e4c5cf9b112 (Michaël Zasso) #60654 - [
642f518198] - doc: supported toolchain with Visual Studio 2022 only (Mike McCready) #61451 - [
625f674487] - doc: move Security-Team from TSC to SECURITY (Rafael Gonzaga) #61495 - [
029e32f8ba] - doc: addedrequestOCSPoption totls.connect(ikeyan) #61064 - [
68e33dfa89] - doc: restore @ChALkeR to collaborators (Сковорода Никита Андреевич) #61553 - [
e016770d62] - doc: update IBM/Red Hat volunteers with dedicated project time (Beth Griggs) #61588 - [
ec63954657] - doc: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) #60253 - [
c8e1563a98] - doc: add CVE delay mention (Rafael Gonzaga) #61465 - [
4b00cf2b54] - doc: include OpenJSF handle for security stewards (Rafael Gonzaga) #61454 - [
4b73bf5bc8] - doc: clarify process.argv[1] behavior for -e/--eval (Jeevankumar S) #61366 - [
d3151df4b3] - doc: remove Windows Dev Home instructions from BUILDING (Mike McCready) #61434 - [
2323462e35] - doc: clarify TypedArray properties on Buffer (Roman Reiss) #61355 - [
6c5478c8b2] - doc: note resume build should not be done on node-test-commit (Stewart X Addison) #61373 - [
ba4a043103] - doc: refine WebAssembly error documentation (sangwook) #61382 - [
cd315ea589] - doc: add deprecation history for url.parse (Eng Zer Jun) #61389 - [
42db0c392d] - doc: add marco and rafael in last sec release (Marco Ippolito) #61383 - [
4c3b680fc7] - doc: packages: example of private import switch to internal (coderaiser) #61343 - [
684d15e421] - doc: add esm and cjs examples to node:v8 (Alfredo González) #61328 - [
c3f9c7a7d9] - doc: added 'secure' event to tls.TLSSocket (ikeyan) #61066 - [
aa9acad5ca] - doc: restore @watilde to collaborators (Daijiro Wachi) #61350 - [
9cafec084e] - doc: run license-builder (github-actions[bot]) #61348 - [
cdb12ccbc6] - doc: document ALPNCallback option for TLSSocket constructor (ikeyan) #61331 - [
461c5e65c5] - doc: update MDN links (Livia Medeiros) #61062 - [
dde45baeab] - doc: add documentation for process.traceProcessWarnings (Alireza Ebrahimkhani) #53641 - [
59a7aeec92] - doc: fix filename typo (Hardanish Singh) #61297 - [
9a0a40d1ed] - doc: fix typos and grammar inBUILDING.md&onboarding.md(Hardanish Singh) #61267 - [
dca7005f9d] - doc: mention --newVersion release script (Rafael Gonzaga) #61255 - [
c0dc8ddf85] - doc: correct typo in api contributing doc (Mike McCready) #61260 - [
066af38fe1] - doc: add PR-URL requirement for security backports (Rafael Gonzaga) #61256 - [
71dd46bd0c] - doc: add reusePort error behavior to net module (mag123c) #61250 - [
f6abe3ba33] - doc: note corepack package removal in distribution doc (Mike McCready) #61207 - [
9059d49d8c] - doc: fix tls.connect() timeout documentation (Azad Gupta) #61079 - [
e7b34b76b0] - doc: missingpassed,errorandpassedproperties onTestContext(Xavier Stouder) #61185 - [
9ae2dcfbb6] - doc: clarify threat model for application-level API exposure (Rafael Gonzaga) #61184 - [
9902331a7c] - doc: correct options for net.Socket class and socket.connect (Xavier Stouder) #61179 - [
a80122d2fe] - doc: document error event on readline InterfaceConstructor (Xavier Stouder) #61170 - [
38d73c9cfa] - doc: add a smooth scrolling effect to the sidebar (btea) #59007 - [
95c51fa984] - doc: correct invalid collaborator profile (JJ) #61091 - [
f5a044763c] - doc: exclude compile-time flag features from security policy (Matteo Collina) #61109 - [
b6ebf2cd53] - doc: add @avivkeller to collaborators (Aviv Keller) #61115 - [
35854f424d] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) #61094 - [
4932322c29] - doc: add File modes cross-references in fs methods (Mohit Raj Saxena) #60286 - [
c84904e047] - doc: add missingzstdto mjs example of zlib (Deokjin Kim) #60915 - [
e615b9e2f2] - doc: clarify fileURLToPath security considerations (Rafael Gonzaga) #60887 - [
99e384e6d4] - doc: replace column with columnNumber in example ofutil.getCallSites(Deokjin Kim) #60881 - [
9351bb4d02] - doc: correct spelling in BUILDING.md (Rich Trott) #60875 - [
e1f6e7fc4d] - doc: update debuglog examples to use 'foo-bar' instead of 'foo' (xiaoyao) #60867 - [
ccbb2d7300] - doc: fix typos in changelogs (Rich Trott) #60855 - [
1cb2fe8b35] - doc: mark module.register as active development (Chengzhong Wu) #60849 - [
ceeb4968a6] - doc: add fullName property to SuiteContext (PaulyBearCoding) #60762 - [
56155909dd] - doc: keep sidebar module visible when navigating docs (Botato) #60410 - [
6b637763d5] - doc: correct concurrency wording in test() documentation (Azad Gupta) #60773 - [
7183e8ffa1] - doc: clarify that CQ only picks up PRs targetingmain(René) #60731 - [
d5d94303be] - doc: clarify license section and add contributor note (KaleruMadhu) #60590 - [
e0210c8f53] - doc: correct tls ALPNProtocols types (René) #60143 - [
eff87b498a] - doc: remove mention of SMS 2FA (Antoine du Hamel) #60707 - [
e77ef94a51] - doc:domain.add()does not accept timer objects (René) #60675 - [
4fe19c95ea] - doc: update Collaborators list to reflect hybrist handle change (Antoine du Hamel) #60650 - [
eece59b6ce] - doc: fix linter issues (Antoine du Hamel) #60636 - [
6e17e596e4] - doc: correct values/references for buffer.kMaxLength (René) #60305 - [
ac327ae9a7] - doc: recommend events.once to manage 'close' event (Dan Fabulich) #60017 - [
d9b149ea42] - doc: highlight module loading difference between import and require (Ajay A) #59815 - [
f6d62cb22c] - doc: fix typo inprocess.unrefdocumentation (우혁) #59698 - [
6d5078b196] - doc: add some entries toglossary.md(Mohataseem Khan) #59277 - [
b0a5820dea] - doc: improve agent.createConnection docs for http and https agents (JaeHo Jang) #58205 - [
b5db02fe67] - doc: fix pseudo code in modules.md (chirsz) #57677 - [
e9b912d481] - doc: add missing variable in code snippet (Koushil Mankali) #55478 - [
44c06c7812] - doc: add missing word insingle-executable-applications.md(Konstantin Tsabolov) #53864 - [
482b43f160] - doc: fix typo in http.md (Michael Solomon) #59354 - [
cd323bc718] - doc: update devcontainer.json and add documentation (Joyee Cheung) #60472 - [
c7c70f3a16] - doc: add haramj as triager (Haram Jeong) #60348 - [
04b8c4d14e] - doc: clarify require(esm) description (dynst) #60520 - [
de382dc832] - doc: instantiate resolver object (Donghoon Nam) #60476 - [
b6845ce460] - doc: clarify --use-system-ca support status (Joyee Cheung) #60340 - [
0894dae9bc] - doc: add missing CAA type to dns.resolveAny() & dnsPromises.resolveAny() (Jimmy Leung) #58899 - [
c86a69f692] - doc: useanyforworker_threads.Worker'error' event argumenterr(Jonas Geiler) #60300 - [
0c5031e233] - doc: update decorator documentation to reflect actual policy (Muhammad Salman Aziz) #60288 - [
b01f710175] - doc: document wildcard supported by tools/test.py (Joyee Cheung) #60265 - [
b4524dabcc] - doc: fixblob.bytes()heading level (XTY) #60252 - [
5df02776e3] - doc: fix not working code example in vm docs (Artur Gawlik) #60224 - [
6a4359a0b5] - doc: improve code snippet alternative of url.parse() using WHATWG URL (Steven) #60209 - [
ad06bee70d] - doc: use markdown when branch-diff major release (Rafael Gonzaga) #60179 - [
c0d4b11ed4] - doc: update teams in collaborator-guide.md and add links (Bart Louwers) #60065 - [
20b5ffcac3] - doc: update previous version links in BUILDING (Mike McCready) #61457 - [
de345ea3a3] - doc: correct description oferror.stackaccessor behavior (René) #61090 - [
d8418d9de7] - doc: fix link in--env-file=filesection (N. Bighetti) #60563 - [
1107bda21e] - doc: fix v22 changelog after security release (Marco Ippolito) #61371 - [
42aab9469a] - doc: add missing history entry forsqlite.md(Antoine du Hamel) #60607 - [
deb6d5deff] - doc, module: change async customization hooks to experimental (Gerhard Stöbich) #60302 - [
c659add7d1] - doc,src,lib: clarify experimental status of Web Storage support (Antoine du Hamel) #60708 - [
dda95e91b9] - esm: avoid throw when module specifier is not url (Craig Macomber (Microsoft)) #61000 - [
912945be89] - events: remove redundant todo (Gürgün Dayıoğlu) #60595 - [
22e156eb10] - events: remove eventtarget custom inspect branding (Efe) #61128 - [
df6fd9b03f] - fs: remove duplicate getValidatedPath calls (Mert Can Altin) #61359 - [
6ea3e4d850] - fs: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) #60946 - [
dd918b9980] - fs: fix ENOTDIR in globSync when file is treated as dir (sangwook) #61259 - [
4908e67ba0] - fs: remove duplicate fd validation in sync functions (Mert Can Altin) #61361 - [
4a27bce3d9] - fs: detect dot files when using globstar (Robin van Wijngaarden) #61012 - [
b0186ff65c] - fs: validate statfs path (Efe) #61230 - [
6689775023] - gyp: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) #61464 - [
5c4f4db663] - http: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) #61285 - [
7599e2eccd] - http: replace startsWith with strict equality (btea) #59394 - [
99a85213bf] - http: lazy allocate cookies array (Robert Nagy) #59734 - [
7669e6a5ad] - http: fix http client leaky with double response (theanarkh) #60062 - [
f074c126a8] - http,https: fix double ERR_PROXY_TUNNEL emission (Shima Ryuhei) #60699 - [
d8ac368363] - http2: add diagnostics channels for client stream request body (Darshan Sen) #60480 - [
e26a7e464d] - http2: rename variable to additionalPseudoHeaders (Tobias Nießen) #60208 - [
5df634f46e] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402 - [
2ccc9a6205] - http2: do not crash on mismatched ping buffer length (René) #60135 - [
3e68a5f78a] - inspector: inspect HTTP response body (Chengzhong Wu) #60572 - [
a86ffa9a5d] - inspector: add network payload buffer size limits (Chengzhong Wu) #60236 - [
ea60ef5d74] - lib: fix typo inutil.jscomment (Taejin Kim) #61365 - [
9d8d9322a4] - lib: fix TypeScript support check in jitless mode (sangwook) #61382 - [
fc26f5c78f] - lib: gbk decoder is gb18030 decoder per spec (Сковорода Никита Андреевич) #61099 - [
3b87030012] - lib: enforce use ofURLParse(Antoine du Hamel) #61016 - [
2a7479d4fc] - lib: useFastBufferfor empty buffer allocation (Gürgün Dayıoğlu) #60558 - [
7cf4c43582] - lib: fix constructor in _errnoException stack tree (SeokHun) #60156 - [
f9d87fbfaa] - lib: fix typo in QuicSessionStats (SeokHun) #60155 - [
8d26ccc652] - lib: remove redundant destroyHook checks (Gürgün Dayıoğlu) #60120 - [
705832a1be] - lib,src: isInsideNodeModules should test on the first non-internal frame (Chengzhong Wu) #60991 - [
6f39ad190b] - meta: do not fast-track npm updates (Antoine du Hamel) #61475 - [
a6a0ff9486] - meta: fix typos in issue template config (Daijiro Wachi) #61399 - [
ec88c9b378] - meta: label v8 module PRs (René) #61325 - [
83143835de] - meta: bump step-security/harden-runner from 2.13.2 to 2.14.0 (dependabot[bot]) #61245 - [
0802dc663a] - meta: bump actions/setup-node from 6.0.0 to 6.1.0 (dependabot[bot]) #61244 - [
587db55796] - meta: bump actions/cache from 4.3.0 to 5.0.1 (dependabot[bot]) #61243 - [
262c9d37a6] - meta: bump github/codeql-action from 4.31.6 to 4.31.9 (dependabot[bot]) #61241 - [
d9763b5afd] - meta: bump codecov/codecov-action from 5.5.1 to 5.5.2 (dependabot[bot]) #61240 - [
0af73d1811] - meta: bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (dependabot[bot]) #61237 - [
8be6afd239] - meta: move lukekarrys to emeritus (Node.js GitHub Bot) #60985 - [
c497de5c74] - meta: bump actions/setup-python from 6.0.0 to 6.1.0 (dependabot[bot]) #60927 - [
774920f169] - meta: bump github/codeql-action from 4.31.3 to 4.31.6 (dependabot[bot]) #60926 - [
ef3b1e5991] - meta: bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (dependabot[bot]) #60924 - [
3ed667379f] - meta: bump github/codeql-action from 4.31.2 to 4.31.3 (dependabot[bot]) #60770 - [
7c0cefb126] - meta: bump step-security/harden-runner from 2.13.1 to 2.13.2 (dependabot[bot]) #60769 - [
5c6a076e5d] - meta: add Renegade334 to collaborators (Renegade334) #60714 - [
4f4dda2a18] - meta: bump actions/download-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) #60532 - [
c436f8d57c] - meta: bump actions/upload-artifact from 4.6.2 to 5.0.0 (dependabot[bot]) #60531 - [
402d9f87a6] - meta: bump github/codeql-action from 3.30.5 to 4.31.2 (dependabot[bot]) #60533 - [
61be78e326] - meta: bump actions/setup-node from 5.0.0 to 6.0.0 (dependabot[bot]) #60529 - [
7e4164a623] - meta: bump actions/stale from 10.0.0 to 10.1.0 (dependabot[bot]) #60528 - [
1bf6e1d010] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #60325 - [
c66fc0e9cf] - meta: loop userland-migrations in deprecations (Chengzhong Wu) #60299 - [
e4be0791e7] - meta: callcreate-release-post.ymlpost release (Aviv Keller) #60366 - [
8674f6527f] - module: preserve URL in the parent created by createRequire() (Joyee Cheung) #60974 - [
41db87a975] - msi: fix WiX warnings (Stefan Stojanovic) #60251 - [
884f313f40] - node-api: use Node-API in comments (Vladimir Morozov) #61320 - [
375164190b] - node-api: use local files for instanceof test (Vladimir Morozov) #60190 - [
972a1107c0] - os: freeze signals constant (Xavier Stouder) #61038 - [
e992057ab7] - perf_hooks: fix stack overflow error (Antoine du Hamel) #60084 - [
0bb1814fdf] - repl: fix pasting after moving the cursor to the left (Ruben Bridgewater) #60470 - [
35a12fb996] - src: replaceranges::sortfor libc++13 compatibility on armhf (Rebroad) #61789 - [
dbf00d4664] - src: add missing override specifier to Clean() (Tobias Nießen) #61429 - [
140eba35d3] - src: cache context lookup in vectored io loops (Mert Can Altin) #61387 - [
93e7e1708b] - src: use C++ nullptr in webstorage (Tobias Nießen) #61407 - [
ef868447bc] - src: fix pointer alignment (jhofstee) #61336 - [
a96256524c] - src: dump snapshot source with node:generate_default_snapshot_source (Joyee Cheung) #61101 - [
ec051b9efd] - src: add HandleScope to edge loop in heap_utils (Mert Can Altin) #60885 - [
41749eb5d6] - src: remove redundant CHECK (Tobias Nießen) #61130 - [
57c81e5af3] - src: fix off-thread cert loading in bundled cert mode (Joyee Cheung) #60764 - [
4b0616e024] - src: handle DER decoding errors from system certificates (Joyee Cheung) #60787 - [
93393371f9] - src: use static_cast instead of C-style cast (Michaël Zasso) #60868 - [
900445b655] - src: move Node-API version detection to where it is used (Anna Henningsen) #60512 - [
8353a6da2a] - src: avoid C strings in more C++ exception throws (Anna Henningsen) #60592 - [
27c860c51f] - src: movenapi_addon_register_functonode_api_types.h(Anna Henningsen) #60512 - [
e0517752e7] - src: remove unconditional NAPI_EXPERIMENTAL in node.h (Chengzhong Wu) #60345 - [
21e2a52f8e] - src: clean up generic counter implementation (Anna Henningsen) #60447 - [
aed23cb8ca] - src: add enum handle for ToStringHelper + formatting (Burkov Egor) #56829 - [
2e93650ebc] - src: fix timing of snapshot serialize callback (Joyee Cheung) #60434 - [
ece4acc18f] - src: add COUNT_GENERIC_USAGE utility for tests (Joyee Cheung) #60434 - [
31c8e9d9ff] - src: use cached primordials_string (Sohyeon Kim) #60255 - [
7f0ffddc14] - src: implement Windows-1252 encoding support and update related tests (Mert Can Altin) #60893 - [
c2ba56d6b2] - src,permission: fix permission.has on empty param (Rafael Gonzaga) #60674 - [
e55a2b895a] - src,permission: add debug log on is_tree_granted (Rafael Gonzaga) #60668 - [
902a78b43c] - stream: fix isErrored/isWritable for WritableStreams (René) #60905 - [
221b77cf41] - stream: don't try to read more if reading (Robert Nagy) #60454 - [
46d12d826f] - test: skip strace test with shared openssl (Richard Lau) #61987 - [
52e6b01a44] - test: marktest-strace-openat-opensslas flaky (Antoine du Hamel) #61921 - [
4d7468d0e0] - test: skip --build-sea tests on platforms where SEA is flaky (Joyee Cheung) #61504 - [
f604b7ae67] - test: fix flaky debugger test (Ryuhei Shima) #58324 - [
fc2dc4024b] - test: ensure removeListener event fires for once() listeners (sangwook) #60137 - [
5fba382816] - test: delay writing the files only on macOS (Luigi Pinca) #61532 - [
85cc9e20e4] - test: asserts that import.meta.resolve invokes sync loader hooks (Chengzhong Wu) #61158 - [
13831685ca] - test: check util.parseArgs argv parsing with actual process execution (René) #61089 - [
ec4b722cb8] - test: remove unneccessary repl magic_mode tests (Dario Piotrowicz) #61053 - [
5c811106bc] - test: skip sea tests on riscv64 (Stewart X Addison) #61111 - [
4e4a631c07] - test: mark stringbytes-external-max flaky on AIX (Stewart X Addison) #60995 - [
9af0787043] - test: update test426 fixtures (Rich Trott) #60982 - [
277f16d247] - test: skip SEA inspect test if inspector is not available (Livia Medeiros) #60872 - [
7dfa8c96bf] - test: useassert.matchfor non-literal regexp tests (René) #60879 - [
41e6cd8ce5] - test: fix embedtest in debug windows (Vladimir Morozov) #60806 - [
f65147b226] - test: fix debug test crashes caused by sea tests (Vladimir Morozov) #60807 - [
a93dff9e92] - test: replace deprecated regex test assertions in http trailers test (Aditya Chopra) #60831 - [
f90d5b954f] - test: prefer major GC in cppgc-object teardown (sangwook) #60672 - [
e1645cc78d] - test: skip test that cause timeout on IBM i (SRAVANI GUNDEPALLI) #60700 - [
4f23eba22f] - test: limit the concurrency of WPTRunner for RISC-V (Levi Zim) #60591 - [
c2bef6522b] - test: fix test-strace-openat-openssl for RISC-V (Levi Zim) #60588 - [
4c03a7f864] - test: fix status when compiled without inspector (Antoine du Hamel) #60289 - [
2ef146a074] - test: apply a delay towatch-mode-kill-signaltests (Joyee Cheung) #60610 - [
dc3000c504] - test: async iife in repl (Tony Gorez) #44878 - [
5e06e84db1] - test: parallelize sea tests when there's enough disk space (Joyee Cheung) #60604 - [
940d2752bc] - test: only show overridden env in child process failures (Joyee Cheung) #60556 - [
558a5743c6] - test: add more logs to test-esm-loader-hooks-inspect-wait (Joyee Cheung) #60466 - [
10fac8de45] - test: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) #60565 - [
8bc84046be] - test: correct conditional secure heap flags test (Shelley Vohr) #60385 - [
ccc805f184] - test: fix flaky test-watch-mode-kill-signal-* (Joyee Cheung) #60443 - [
1b8274453d] - test: capture stack trace in debugger timeout errors (Joyee Cheung) #60457 - [
9fcf889279] - test: ensure assertions are reachable intest/async-hooks(Antoine du Hamel) #60150 - [
7f5230333e] - test: increase debugger waitFor timeout on macOS (Chengzhong Wu) #60367 - [
0e5ea3b795] - test: fix small compile warning in test_network_requests_buffer.cc (xiaocainiao633) #60281 - [
012780c7e8] - test: split test-runner-watch-mode-kill-signal (Joyee Cheung) #60298 - [
b53d35a8f8] - test: fix incorrect calculation in test-perf-hooks.js (Joyee Cheung) #60271 - [
b8ef464c08] - test: skip sea tests on x64 macOS (Joyee Cheung) #60250 - [
a3c4d905da] - test: move sea tests into test/sea (Joyee Cheung) #60250 - [
80bec9fd07] - test: skip tests that cause timeouts on IBM i (SRAVANI GUNDEPALLI) #60148 - [
1d05b44c7c] - test: deflake test-fs-promises-watch-iterator (Luigi Pinca) #60060 - [
8958096840] - test: deflaketest-repl-paste-big-data(Livia Medeiros) #60975 - [
e261a59ca4] - test: add newstartNewREPLSevertesting utility (Dario Piotrowicz) #59964 - [
d4a2d8aa8a] - test: skip failing tests when compiled without amaro (Yuki Okita) #60815 - [
0e407a88bb] - test: skip failing test on macOS 15.7+ (Antoine du Hamel) #60419 - [
a253b7b6dc] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903 - [
8862c41494] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899 - [
7d11a22802] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759 - [
d0e7d6cb89] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734 - [
cf5ddd1811] - tools: use ubuntu-latest runner innotify-on-pushworkflow (Antoine du Hamel) #61742 - [
18bcf8e260] - tools: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) #61663 - [
db76733b55] - tools: update gyp-next to 0.21.1 (Node.js GitHub Bot) #61528 - [
1dd9d8a3b2] - tools: fix vcbuild lint-js-build (Vladimir Morozov) #61318 - [
ec67f8f9b5] - tools: only report commit validation failure on Slack (Antoine du Hamel) #61124 - [
8e385c8c66] - tools: use sparse-checkout in linter jobs (Antoine du Hamel) #61123 - [
aed2e9c8eb] - tools: simplifynotify-on-push(Antoine du Hamel) #61050 - [
32680feefb] - tools: fix update-nghttp2 signature verification (Richard Lau) #61035 - [
c5f68f41e6] - tools: improve log output ofcreate-release-proposal(Antoine du Hamel) #61028 - [
32e0ae0ec7] - tools: fixvcbuild testwhen path contain spaces (stduhpf) #56481 - [
9e0858e4a2] - tools: do not runtest-linuxworkflow for changes onvcbuild.bat(Antoine du Hamel) #60979 - [
fd656a79fc] - tools: disable some new cpplint rules before update (Michaël Zasso) #60901 - [
df4df52e67] - tools: don't fetch V8 deps in the source tree (Richard Lau) #60883 - [
e5c2fe8d6d] - tools: add temporal updater (Chengzhong Wu) #60828 - [
7f031e097e] - tools: dump config.gypi as json (Chengzhong Wu) #60794 - [
5e69488a5a] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/lint-md (dependabot[bot]) #60781 - [
5119c50931] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/doc in the doc group (dependabot[bot]) #60766 - [
a4b073123d] - tools: remove unsupportedcooldownfrom Dependabot config (Antoine du Hamel) #60747 - [
a3df6b87bb] - tools: update sccache to v0.12.0 (Michaël Zasso) #60723 - [
2efbd54a4a] - tools: update gyp-next to 0.21.0 (Node.js GitHub Bot) #60645 - [
bb7876e4f9] - tools: replace invalid expression in dependabot config (Riddhi) #60649 - [
e444e44d6a] - tools: skip unaffected GHA jobs for changes intest/internet(Antoine du Hamel) #60517 - [
a6a0ec107c] - tools: do not use short hashes for deps versioning to avoid collision (Antoine du Hamel) #60407 - [
c6e2eed65f] - tools: fix update-icu script (Michaël Zasso) #60521 - [
76fb3d123b] - tools: fix linter for semver-major release proposals (Antoine du Hamel) #60481 - [
f02889e24e] - tools: fix failing release-proposal linter for LTS transitions (Antoine du Hamel) #60465 - [
8203df4432] - tools: remove undici from daily wpt.fyi job (Filip Skokan) #60444 - [
a58242b666] - tools: add lint rule to ensure assertions are reached (Antoine du Hamel) #60125 - [
58e3ef398f] - tools: update gyp-next to 0.20.5 (Node.js GitHub Bot) #60313 - [
996494482a] - tools: optimize wildcard execution in tools/test.py (Joyee Cheung) #60266 - [
cf84756d0d] - tools: use cooldown property correctly (Rafael Gonzaga) #60134 - [
5469cb2651] - tools: validate release commit diff as part oflint-release-proposal(Antoine du Hamel) #61440 - [
1b9eab4a1c] - tools,doc: fix format-md files list (Stefan Stojanovic) #61147 - [
b20d9c2ce7] - tools,doc: update JavaScript primitive types to match MDN Web Docs (JustApple) #60581 - [
31760b1beb] - typings: add typing for string_decoder (Taejin Kim) #61368 - [
d6b908917c] - typings: add missing properties and method in Worker (Woohyun Sung) #60257 - [
1e8b6d5686] - typings: add missing properties in HTTPParser (Woohyun Sung) #60257 - [
27ae9b4a26] - typings: delete undefined property in ConfigBinding (Woohyun Sung) #60257 - [
f43c6434e2] - typings: add buffer internalBinding typing (방진혁) #60163 - [
e7f954f63a] - url: add fast path to getPathFromURL decoder (Gürgün Dayıoğlu) #60749 - [
c149b64473] - url: remove array.reduce usage (Gürgün Dayıoğlu) #60748 - [
0bd291bff1] - util: optimize toASCIILower function using V8s native toLowerCase (Mert Can Altin) #61107 - [
bbc54b3c96] - util: limitinspectto only show own properties (Ruben Bridgewater) #61032 - [
78e5fa23c4] - util: fix parseArgs skipping positional arg with --eval and --print (azadgupta1) #60814 - [
f75ec19105] - util: assert getCallSites does not invoke Error.prepareStackTrace (Chengzhong Wu) #60922 - [
d77da9306c] - util: fix stylize of special properties in inspect (Ge Gao) #60479 - [
3a4edc8f6d] - util: use more defensive code when inspecting error objects (Antoine du Hamel) #60139 - [
25c33af752] - util: mark special properties when inspecting them (Ruben Bridgewater) #60131 - [
3f98b46716] - vm: make vm.Module.evaluate() conditionally synchronous (Joyee Cheung) #60205 - [
f64a691493] - win: upgrade Visual Studio workload from 2019 to 2022 (Jiawen Geng) #60318 - [
8e04327954] - worker: update code examples fornode:worker_threadsmodule (fisker Cheung) #58264 - [
c4440dcc60] - worker: remove not implemented declarations (Artur Gawlik) #60655 - [
df4cc62954] - zlib: validate write_result array length (Ryuhei Shima) #61342
2026-03-05, Version 20.20.1 'Iron' (LTS), @marco-ippolito
- [
91a66e671c] - build: test on Python 3.14 (Christian Clauss) #59983 - [
f66056054b] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419 - [
80feacaddb] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741
- [
6f580d5399] - assert: fix deepEqual always return true on URL (Xuguang Mei) #50853 - [
91a66e671c] - build: test on Python 3.14 (Christian Clauss) #59983 - [
cc4f7af6f3] - build: skip sscache action on non-main branches (Joyee Cheung) #61790 - [
f66056054b] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419 - [
80feacaddb] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741 - [
fa88cc07e2] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) #60662 - [
88b2eec88a] - deps: update minimatch to 10.2.2 (Node.js GitHub Bot) #61830 - [
5c053264f1] - deps: V8: backport 6a0a25abaed3 (Vivian Wang) #61687 - [
4a398699d0] - deps: update googletest to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) #61731 - [
4fa43adf15] - deps: update googletest to 56efe3983185e3f37e43415d1afa97e3860f187f (Node.js GitHub Bot) #61605 - [
1a855d490c] - deps: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) #61417 - [
d8a9359826] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523 - [
e79cd3a0bb] - deps: update acorn-walk to 8.3.5 (Node.js GitHub Bot) #61928 - [
0707ade464] - deps: update acorn to 8.16.0 (Node.js GitHub Bot) #61925 - [
dc5a3cddef] - deps: update llhttp to 9.3.1 (Node.js GitHub Bot) #61827 - [
46043b94c7] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135 - [
6be15a596e] - deps: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) #61271 - [
10881404cd] - deps: update timezone to 2025c (Node.js GitHub Bot) #61138 - [
1594a78c85] - deps: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) #61055 - [
7fa2ee1933] - deps: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) #60898 - [
09259532ef] - deps: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) #60739 - [
aa8bdb6886] - deps: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) #60646 - [
cc849fde27] - deps: update googletest to 279f847 (Node.js GitHub Bot) #60219 - [
a99ba553a2] - deps: update googletest to 50b8600 (Node.js GitHub Bot) #59955 - [
6349a79f5f] - deps: update googletest to 7e17b15 (Node.js GitHub Bot) #59131 - [
8ba759f1a0] - deps: update googletest to 35b75a2 (Node.js GitHub Bot) #58710 - [
927d906850] - deps: update googletest to e9092b1 (Node.js GitHub Bot) #58565 - [
bf8919f5c2] - deps: update googletest to 0bdccf4 (Node.js GitHub Bot) #57380 - [
ae6231dac0] - deps: update googletest to e235eb3 (Node.js GitHub Bot) #56873 - [
0561c62e85] - deps: update minimatch to 10.1.2 (Node.js GitHub Bot) #61732 - [
f0ef221b0d] - deps: update minimatch to 10.1.1 (Node.js GitHub Bot) #60543 - [
15bd0da404] - deps: update archs files for openssl (Antoine du Hamel) #61912 - [
04d439323f] - deps: upgrade openssl sources to openssl-3.0.19 (Antoine du Hamel) #61912 - [
2ea16d3bd6] - deps: update corepack to 0.34.6 (Node.js GitHub Bot) #61510 - [
622f973d1c] - deps: update corepack to 0.34.5 (Node.js GitHub Bot) #60842 - [
2cd265d8b9] - deps: update corepack to 0.34.4 (Node.js GitHub Bot) #60643 - [
65e839687b] - deps: update corepack to 0.34.2 (Node.js GitHub Bot) #60550 - [
2dc99d2771] - dns: fix Windows SRV ECONNREFUSED by adjusting c-ares fallback detection (notvivek12) #61453 - [
2c7b84b1d8] - doc: fix typo in http.md (Michael Solomon) #59354 - [
a84b42667c] - doc: fix grammar in global dispatcher usage (Eng Zer Jun) #59344 - [
ffd0ada45f] - doc: fix typo intest/common/README.md(Yoo) #59180 - [
b4d9d006e7] - doc: fix broken sentence inURL.parse(Superchupu) #59164 - [
45e9971d9c] - doc: fix typo in writing-test.md (SeokHun) #59123 - [
e9fd10b5d6] - doc: fixfetchsubsections inglobals.md(Antoine du Hamel) #58933 - [
3715dd1c2b] - doc: fix wrong RFC number in http2 (Deokjin Kim) #58753 - [
098c017eac] - doc: punctuation fix for Node-API versioning clarification (Jiacai Liu) #58599 - [
545bf434e1] - doc: fix typo of filehttp.md,outgoingMessage.setTimeoutsection (yusheng chen) #58188 - [
b3d6683e7b] - doc: support toolchain with Visual Studio 2019 & 2022 only (Mike McCready) #61450 - [
8fdde5d110] - doc: fix v20 changelog after security release (Marco Ippolito) #61371 - [
31d04599be] - http: fix keep-alive not timing out after post-request empty line (Shima Ryuhei) #58178 - [
5ec7d1eba0] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402 - [
5c091d5a96] - meta: persist sccache daemon until end of build workflows (René) #61639 - [
183353aba0] - path,win: fix bug in resolve and normalize (Hüseyin Açacak) #55623 - [
dbe9e5091b] - src: fix flags argument offset in JSUdpWrap (Weixie Cui) #61948 - [
4106bfc775] - test: mark stringbytes-external-max flaky on AIX (Stewart X Addison) #60995 - [
de51937306] - test: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) #60565 - [
368b221be3] - test: fix flaky test-performance-eventloopdelay (Matteo Collina) #61629 - [
e134912a33] - test: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) #59158 - [
5630170d3e] - test: account for truthy signal in flaky async_hooks tests (Darshan Sen) #58478 - [
1e5363bb63] - test: marktest-http2-debugas flaky on LinuxONE (Richard Lau) #58494 - [
662998787a] - test: settest-fs-cpas flaky (Stefan Stojanovic) #56799 - [
0807127339] - test: marktest-esm-loader-hooks-inspect-waitflaky (Richard Lau) #56803 - [
6320cd0721] - test: skip strace test with shared openssl (Richard Lau) #61987 - [
83b9f8ee02] - tools: make nodedownload module compatible with Python 3.14 (Lumír 'Frenzy' Balhar) #58752 - [
6cf9b5786e] - tools: enforce removal oflts-watch-*labels on release proposals (Antoine du Hamel) #61672 - [
cd4161499c] - tools: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) #61663 - [
6dc2a99a0d] - tools: validate release commit diff as part oflint-release-proposal(Antoine du Hamel) #61440 - [
5014f22332] - tools: add read permission to workflows that read contents (Antoine du Hamel) #58255 - [
6c3ad2a5a3] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903 - [
1abada9c34] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899 - [
f260e40127] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759 - [
64beca5e01] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734
4.15
One major change is the maintenance scripts is auto migrated to "Admin Script" worker managed by Admin Server. Most use cases, if not all, are a Noop. But here is the migration guide just in case: https://github.com/seaweedfs/seaweedfs/wiki/Migrate-Maintenance-Scripts-to-Admin-Script-Plugin
Internally the admin server now has a new plugin system for workers, allowing future possibilities of adding non-Go workers.
-
Admin UI and Worker
- Add Admin UI to Docker Compose files by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8364
- Refactor plugin system and migrate worker runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8369
- Worker maintenance tasks now use non-default grpcPort if configured by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8407
- Admin UI: replace gin with mux by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8420
- Use master shard sizes for EC volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8423
- fix(admin): release mutex before disk I/O in maintenance queue; remove per-request LoadAllTaskStates by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8433
- fix(plugin/worker): make VacuumHandler report MaxExecutionConcurrency from worker startup flag by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8435
- Make EC detection context aware by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8449
- Add plugin worker integration tests for erasure coding by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8450
- Add customizable plugin display names and weights by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8459
- Worker set its working directory by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8461
- Prevent overlapping maintenance tasks per volume by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8463
- refactor ec shard distribution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8465
- Respect -minFreeSpace during ec.decode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8467
- Add volume dir tags and EC placement priority by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8472
- Expire stuck plugin jobs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8492
- add admin script worker by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8491
- Plugin scheduler: sequential iterations with max runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8496
- Disable master maintenance scripts when admin server runs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8499
- style: Reseted padding to container-fluid div in layout template by @FabioHAraujo in https://github.com/seaweedfs/seaweedfs/pull/8505
- fix: resolve ServerAddress to NodeId in maintenance task sync by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8508
- admin: auto migrating master maintenance scripts to admin_script plugin config by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8509
-
S3 API
- Add md5 checksum validation support on PutObject and UploadPart by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8367
- fix: cancel volume server requests on client disconnect during S3 downloads by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8373
- Fix IAM defaults and S3Tables IAM regression by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8374
- s3api: add AttachUserPolicy/DetachUserPolicy/ListAttachedUserPolicies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8379
- s3: fix signature mismatch with non-standard ports and capitalized host by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8386
- Implement managed policy storage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8385
- Enforce IAM for S3 Tables bucket creation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8388
- Fix error on deleting non-empty bucket by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8376
- Allow user to define access and secret key via values by @rchenzheng in https://github.com/seaweedfs/seaweedfs/pull/8389
- S3 IAM: Added ListPolicyVersions and GetPolicyVersion support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8395
- S3: Truncate timestamps to milliseconds for CopyObjectResult and CopyPartResult by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8398
- Embed role policies in AssumeRole STS tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8421
- fix(s3api): make ListObjectsV1 namespaced and prevent marker-echo pagination loops by @pntone in https://github.com/seaweedfs/seaweedfs/pull/8409
- s3api: preserve Host header port in signature verification by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8434
- Fix inline user policy retrieval by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8437
- Refresh IAM config after policy attachments by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8439
- Allow multipart upload operations when s3:PutObject is authorized by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8445
- Fix S3 signature verification behind reverse proxies by @blitt001 in https://github.com/seaweedfs/seaweedfs/pull/8444
- fix(s3api): correctly extract host header port in extractHostHeader by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8464
- s3api: add GetObjectAttributes API support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8504
- Implement IAM managed policy operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8507
-
S3 Table Bucket
- weed/s3api/s3tables: fix dropped errors by @alrs in https://github.com/seaweedfs/seaweedfs/pull/8456
- fix: table location mappings to /etc/s3tables by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8457
- feat: drop table location mapping support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8458
- Add lakekeeper table bucket integration test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8470
- Add Apache Polaris integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8478
- test: add Polaris S3 tables integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8489
-
Shell
- [shell]: volume balance capacity by min volume density by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/8026
- Fix volume.fsck crashing on EC volumes and add multi-volume vacuum support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8406
- Adds volume.merge command with deduplication and disk-based backend by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8441
-
Helm Chart
- fix: allow overriding Enterprise image name using Helm #8361 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8363
- docker: fix entrypoint chown guard; helm: add openshift-values.yaml by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8390
- helm: refine openshift-values.yaml for assigned UID ranges by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8396
- fix(helm): add missing app.kubernetes.io/instance label to volume service by @sheyabernstein in https://github.com/seaweedfs/seaweedfs/pull/8403
- feat(helm): annotations for service account by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8429
- Chart createBuckets config #8368: Add TTL, Object Lock, and Versioning support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8375
- helm: add optional parameters to COSI BucketClass by @sircthulhu in https://github.com/seaweedfs/seaweedfs/pull/8453
- helm: avoid duplicate env var keys in workload env lists by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8488
- Feat: update openshift helm value to support seaweed s3 by @Surote in https://github.com/seaweedfs/seaweedfs/pull/8494
- Helm: set serviceAccountName independent of cluster role by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8495
-
Misc
- Remove trailing spaces (line 53) in seaweedfs-dev-compose.yml by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8365
- Add support for TLS in gRPC communication between worker and volume server by @medva1997 in https://github.com/seaweedfs/seaweedfs/pull/8370
- fix: resolve gRPC DNS resolution issues in Kubernetes #8384 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8387
- fix: generate topology uuid uniformly in single-master mode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8405
- Move SQL engine and PostgreSQL server to their own binaries by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8417
- fix: plural
clientTypeonListExistingPeerUpdatesby @jrcichra in https://github.com/seaweedfs/seaweedfs/pull/8422 - Remove volumePreallocate option from docker containers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8451
- fix: port in SNI address when using domainName instead of IP for master by @DaRacci in https://github.com/seaweedfs/seaweedfs/pull/8500
-
Volume Server
- fix: unload leveldb not take effect by @xiaoweihong in https://github.com/seaweedfs/seaweedfs/pull/8431
- Fix live volume move tail timestamp by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8440
- feat: add statfile remote storage by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8443
-
SFTP
- Fix SFTP file upload failures with JWT filer tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8448
-
Filer
- feat(filer): lazy metadata pulling by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8454
- @github-pawo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8364
- @medva1997 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8370
- @michalszynkiewicz made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8367
- @rchenzheng made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8389
- @jrcichra made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8422
- @pntone made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8409
- @basic-system made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8433
- @sircthulhu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8453
- @blitt001 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8444
- @Surote made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8494
- @DaRacci made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8500
- @FabioHAraujo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8505
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.13...4.15
4.14
One large change is the maintenance scripts is migrated to "Admin Script" worker. If there are no custom scripts configured in master.toml, it should be a Noop. Otherwise, please follow this migration guide https://github.com/seaweedfs/seaweedfs/wiki/Migrate-Maintenance-Scripts-to-Admin-Script-Plugin
Internally there is a major refactoring. The admin server now has a new plugin system for workers, allowing future possibilities of adding non-Go workers.
-
Admin UI and Worker
- Add Admin UI to Docker Compose files by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8364
- Refactor plugin system and migrate worker runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8369
- Worker maintenance tasks now use non-default grpcPort if configured by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8407
- Admin UI: replace gin with mux by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8420
- Use master shard sizes for EC volumes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8423
- fix(admin): release mutex before disk I/O in maintenance queue; remove per-request LoadAllTaskStates by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8433
- fix(plugin/worker): make VacuumHandler report MaxExecutionConcurrency from worker startup flag by @basic-system in https://github.com/seaweedfs/seaweedfs/pull/8435
- Make EC detection context aware by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8449
- Add plugin worker integration tests for erasure coding by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8450
- Add customizable plugin display names and weights by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8459
- Worker set its working directory by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8461
- Prevent overlapping maintenance tasks per volume by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8463
- refactor ec shard distribution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8465
- Respect -minFreeSpace during ec.decode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8467
- Add volume dir tags and EC placement priority by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8472
- Expire stuck plugin jobs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8492
- add admin script worker by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8491
- Plugin scheduler: sequential iterations with max runtime by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8496
- Disable master maintenance scripts when admin server runs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8499
- style: Reseted padding to container-fluid div in layout template by @FabioHAraujo in https://github.com/seaweedfs/seaweedfs/pull/8505
- fix: resolve ServerAddress to NodeId in maintenance task sync by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8508
-
S3 API
- Add md5 checksum validation support on PutObject and UploadPart by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8367
- fix: cancel volume server requests on client disconnect during S3 downloads by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8373
- Fix IAM defaults and S3Tables IAM regression by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8374
- s3api: add AttachUserPolicy/DetachUserPolicy/ListAttachedUserPolicies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8379
- s3: fix signature mismatch with non-standard ports and capitalized host by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8386
- Implement managed policy storage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8385
- Enforce IAM for S3 Tables bucket creation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8388
- Fix error on deleting non-empty bucket by @michalszynkiewicz in https://github.com/seaweedfs/seaweedfs/pull/8376
- Allow user to define access and secret key via values by @rchenzheng in https://github.com/seaweedfs/seaweedfs/pull/8389
- S3 IAM: Added ListPolicyVersions and GetPolicyVersion support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8395
- S3: Truncate timestamps to milliseconds for CopyObjectResult and CopyPartResult by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8398
- Embed role policies in AssumeRole STS tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8421
- fix(s3api): make ListObjectsV1 namespaced and prevent marker-echo pagination loops by @pntone in https://github.com/seaweedfs/seaweedfs/pull/8409
- s3api: preserve Host header port in signature verification by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8434
- Fix inline user policy retrieval by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8437
- Refresh IAM config after policy attachments by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8439
- Allow multipart upload operations when s3:PutObject is authorized by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8445
- Fix S3 signature verification behind reverse proxies by @blitt001 in https://github.com/seaweedfs/seaweedfs/pull/8444
- fix(s3api): correctly extract host header port in extractHostHeader by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8464
- s3api: add GetObjectAttributes API support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8504
- Implement IAM managed policy operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8507
-
S3 Table Bucket
- weed/s3api/s3tables: fix dropped errors by @alrs in https://github.com/seaweedfs/seaweedfs/pull/8456
- fix: table location mappings to /etc/s3tables by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8457
- feat: drop table location mapping support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8458
- Add lakekeeper table bucket integration test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8470
- Add Apache Polaris integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8478
- test: add Polaris S3 tables integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8489
-
Shell
- [shell]: volume balance capacity by min volume density by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/8026
- Fix volume.fsck crashing on EC volumes and add multi-volume vacuum support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8406
- Adds volume.merge command with deduplication and disk-based backend by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8441
-
Helm Chart
- fix: allow overriding Enterprise image name using Helm #8361 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8363
- docker: fix entrypoint chown guard; helm: add openshift-values.yaml by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8390
- helm: refine openshift-values.yaml for assigned UID ranges by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8396
- fix(helm): add missing app.kubernetes.io/instance label to volume service by @sheyabernstein in https://github.com/seaweedfs/seaweedfs/pull/8403
- feat(helm): annotations for service account by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8429
- Chart createBuckets config #8368: Add TTL, Object Lock, and Versioning support by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8375
- helm: add optional parameters to COSI BucketClass by @sircthulhu in https://github.com/seaweedfs/seaweedfs/pull/8453
- helm: avoid duplicate env var keys in workload env lists by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8488
- Feat: update openshift helm value to support seaweed s3 by @Surote in https://github.com/seaweedfs/seaweedfs/pull/8494
- Helm: set serviceAccountName independent of cluster role by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8495
-
Misc
- Remove trailing spaces (line 53) in seaweedfs-dev-compose.yml by @github-pawo in https://github.com/seaweedfs/seaweedfs/pull/8365
- Add support for TLS in gRPC communication between worker and volume server by @medva1997 in https://github.com/seaweedfs/seaweedfs/pull/8370
- fix: resolve gRPC DNS resolution issues in Kubernetes #8384 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8387
- fix: generate topology uuid uniformly in single-master mode by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8405
- Move SQL engine and PostgreSQL server to their own binaries by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8417
- fix: plural
clientTypeonListExistingPeerUpdatesby @jrcichra in https://github.com/seaweedfs/seaweedfs/pull/8422 - Remove volumePreallocate option from docker containers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8451
- fix: port in SNI address when using domainName instead of IP for master by @DaRacci in https://github.com/seaweedfs/seaweedfs/pull/8500
-
Volume Server
- fix: unload leveldb not take effect by @xiaoweihong in https://github.com/seaweedfs/seaweedfs/pull/8431
- Fix live volume move tail timestamp by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8440
- feat: add statfile remote storage by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8443
-
SFTP
- Fix SFTP file upload failures with JWT filer tokens by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8448
-
Filer
- feat(filer): lazy metadata pulling by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8454
- @github-pawo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8364
- @medva1997 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8370
- @michalszynkiewicz made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8367
- @rchenzheng made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8389
- @jrcichra made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8422
- @pntone made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8409
- @basic-system made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8433
- @sircthulhu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8453
- @blitt001 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8444
- @Surote made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8494
- @DaRacci made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8500
- @FabioHAraujo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8505
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.13...4.14
2026-03-03, Version 25.8.0 (Current), @richardlau
- [
e55eddea2a] - build, doc: use new api doc tooling (flakey5) #57343 - [
4c181e2277] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) #61298 - [
46ee1eddd7] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) #61869 - [
9ddd1a9c27] - (SEMVER-MINOR) src,permission: add --permission-audit (RafaelGSS) #61869 - [
0d97ec4044] - (SEMVER-MINOR) test_runner: expose worker ID for concurrent test execution (Ali Hassan) #61394
- [
940b58c8c1] - buffer: optimize buffer.concat performance (Mert Can Altin) #61721 - [
0589b0e5a1] - build: fix GN for new merve dep (Shelley Vohr) #61984 - [
f3d3968dcd] - Revert "build: add temporal test on GHA windows" (Antoine du Hamel) #61810 - [
e55eddea2a] - build, doc: use new api doc tooling (flakey5) #57343 - [
b7715292f8] - child_process: add tracing channel for spawn (Marco) #61836 - [
a32a598748] - crypto: fix missing nullptr check on RSA_new() (ndossche) #61888 - [
dc384f95b3] - crypto: fix handling of null BUF_MEM* in ToV8Value() (Nora Dossche) #61885 - [
3337b095db] - crypto: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) #61788 - [
51ded81139] - deps: update undici to 7.22.0 (Node.js GitHub Bot) #62035 - [
8aa2fde931] - deps: update minimatch to 10.2.4 (Node.js GitHub Bot) #62016 - [
57dc092eaf] - deps: upgrade npm to 11.11.0 (npm team) #61994 - [
705bbd60a9] - deps: update simdjson to 4.3.1 (Node.js GitHub Bot) #61930 - [
4d411d72e5] - deps: update acorn-walk to 8.3.5 (Node.js GitHub Bot) #61928 - [
f53a32ab84] - deps: update acorn to 8.16.0 (Node.js GitHub Bot) #61925 - [
9b483fbb27] - deps: update minimatch to 10.2.2 (Node.js GitHub Bot) #61830 - [
4e54c103cb] - doc: separate in-types and out-types in SQLite conversion docs (René) #62034 - [
ca78ebbeaa] - doc: fix small logic error in DETECT_MODULE_SYNTAX (René) #62025 - [
e6b131f3fe] - doc: fix module.stripTypeScriptTypes indentation (René) #61992 - [
7508540e19] - doc: update DEP0040 (punycode) to application type deprecation (Mike McCready) #61916 - [
33a364cb62] - doc: explicitly mention Slack handle (Rafael Gonzaga) #61986 - [
46a61922bd] - doc: support toolchain Visual Studio 2022 & 2026 + Windows 11 SDK (Mike McCready) #61864 - [
dc12a257aa] - doc: rename invalidfunctionparameter (René) #61942 - [
dafdc0a5b8] - http: validate headers in writeEarlyHints (Richard Clarke) #61897 - [
3c94b56fa6] - inspector: unwrap internal/debugger/inspect imports (René) #61974 - [
8a24c17648] - lib: improve argument handling in Blob constructor (Ms2ger) #61980 - [
21d4baf256] - meta: bump github/codeql-action from 4.32.0 to 4.32.4 (dependabot[bot]) #61911 - [
59a726a8e3] - meta: bump step-security/harden-runner from 2.14.1 to 2.14.2 (dependabot[bot]) #61909 - [
0072b7f991] - meta: bump actions/stale from 10.1.1 to 10.2.0 (dependabot[bot]) #61908 - [
999bf22f47] - repl: keep reference count forprocess.on('newListener')(Anna Henningsen) #61895 - [
4c181e2277] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) #61298 - [
aee2a18257] - src: fix flags argument offset in JSUdpWrap (Weixie Cui) #61948 - [
46ee1eddd7] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) #61869 - [
9ddd1a9c27] - (SEMVER-MINOR) src,permission: add --permission-audit (RafaelGSS) #61869 - [
ea2df2a16f] - stream: fix pipeTo to defer writes per WHATWG spec (Matteo Collina) #61800 - [
aa0c7b09e0] - test: remove unnecessaryprocess.exitcalls from test files (Antoine du Hamel) #62020 - [
ad96a6578f] - test: skiptest-urlon--shared-adabuilds (Antoine du Hamel) #62019 - [
7c72a31e4b] - test: skip strace test with shared openssl (Richard Lau) #61987 - [
604456c163] - test: avoid flaky debugger restart waits (Yuya Inoue) #61773 - [
4890d6bd43] - test_runner: run afterEach on runtime skip (Igor Shevelenkov) #61525 - [
fce2930110] - test_runner: expose expectFailure message (sangwook) #61563 - [
0d97ec4044] - (SEMVER-MINOR) test_runner: expose worker ID for concurrent test execution (Ali Hassan) #61394 - [
243e6b2009] - test_runner: replace native methods with primordials (Ayoub Mabrouk) #61219 - [
bf1ed7e647] - tls: forward keepAlive, keepAliveInitialDelay, noDelay to socket (Sergey Zelenov) #62004 - [
0f15079d94] - tools: remove custom logic for skippingtest-strace-openat-openssl(Antoine du Hamel) #62038 - [
54a055a59d] - tools: bump minimatch from 3.1.2 to 3.1.3 in/tools/clang-format(dependabot[bot]) #61977 - [
a28744cb62] - tools: fix permissions for merve update script (Richard Lau) #62023 - [
31e7936354] - tools: revert tools GHA workflow to ubuntu-latest (Richard Lau) #62024 - [
0a96a16e1f] - tools: bump minimatch from 3.1.2 to 3.1.3 in /tools/eslint (dependabot[bot]) #61976 - [
f279233412] - tools: roll back to x86 runner onscorecard.yml(Antoine du Hamel) #61944 - [
192c0382f4] - util: add fast path to stripVTControlCharacters (Hiroki Osame) #61833
2.25.2 (2026-03-03)
This release contains performance improvements and bug fixes since the 2.25.1 release and a fix for a security vulnerability (https://github.com/timescale/timescaledb/pull/9331). You can check the security advisory for more information on the vulnerability and the platforms that are affected. We recommend that you upgrade as soon as possible.
https://github.com/timescale/timescaledb/pull/9276 Fix NULL and DEFAULT handling in uniqueness check on compressed chunks https://github.com/timescale/timescaledb/pull/9277 Fix SSL-related build errors https://github.com/timescale/timescaledb/pull/9279 Fix EXPLAIN VERBOSE corrupting targetlist of cached ModifyHypertable plans https://github.com/timescale/timescaledb/pull/9281 Fix real-time continuous aggregates on UUID hypertables https://github.com/timescale/timescaledb/pull/9283 Fix plan-time error when using enum in orderby compression setting https://github.com/timescale/timescaledb/pull/9290 Propagate ALTER OWNER TO to policy jobs https://github.com/timescale/timescaledb/pull/9292 Fix continuous aggregate column rename https://github.com/timescale/timescaledb/pull/9293 Fix time_bucket_gapfill inside LATERAL subqueries https://github.com/timescale/timescaledb/pull/9294 Fix DELETEand UPDATE with WHERE EXISTS on hypertables https://github.com/timescale/timescaledb/pull/9303 Fix segfault in continuous aggregate creation on Postgres 18 https://github.com/timescale/timescaledb/pull/9308 Fix continuous aggregate offset/origin not applied in watermark and refresh window calculations https://github.com/timescale/timescaledb/pull/9314 Fix generated columns always NULL in compressed chunks https://github.com/timescale/timescaledb/pull/9321 Fix segfault when using OLD/NEW refs in RETURNING clause on Postgres 18 https://github.com/timescale/timescaledb/pull/9324 Potential violation of a foreign key constraint referencing a hypertable caused by concurrent DELETE of the key record https://github.com/timescale/timescaledb/pull/9327 Fix handling of generated columns with NOT NULL domain type https://github.com/timescale/timescaledb/pull/9331 Ensure search_path is set before anything else in SQL scripts https://github.com/timescale/timescaledb/pull/9339 Fix segmentwise recompression clearing unordered flag
@CaptainCuddleCube for reporting an issue with time_bucket_gapfill and LATERAL subqueries @JacobBrejnbjerg for reporting an issue with generated columns in compressed chunks @Kusumoto for reporting an issue with continuous aggregates on hypertables with UUID columns @arfathyahiya for reporting an issue with renaming columns in continuous aggregates @desertmark for reporting an issue with DELETE/UPDATE and subqueries @flaviofernandes004 for reporting an issue with RETURNING clause and references to OLD/NEW @tureba for fixing SSL-related build errors
Pingora 0.8.0
0.8.0 - 2026-03-02
🚀 Features
- Add support for client certificate verification in mTLS configuration.
- Add upstream_write_pending_time to Session for upload diagnostics.
- Pipe subrequests utility: creates a state machine to treat subrequests as a "pipe," enabling direct sending of request body and writing of response tasks, with a handler for error propagation and support for reusing a preset or captured input body for chained subrequests.
- Add the ability to limit the number of times a downstream connection can be reused
- Add a system for specifying and using service-level dependencies
- Add a builder for pingora proxy service, e.g. to specify ServerOptions.
🐛 Bug Fixes
- Fix various Windows compiler issues.
- Handle custom ALPNs in s2n impl of ALPN::to_wire_protocols() to fix s2n compile issues.
- Fix: don't use “all” permissions for socket.
- Fix a bug with the ketama load balancing where configurations were not persisted after updates.
- Ensure http1 downstream session is not reused on more body bytes than expected.
- Send RST_STREAM CANCEL on application read timeouts for h2 client.
- Start close-delimited body mode after 101 is received for WebSocket upgrades.
UpgradedBodyis now an explicit HttpTask. - Avoid close delimit mode on http/1.0 req.
- Reject invalid content-length http/1 requests to eliminate ambiguous request framing.
- Validate invalid content-length on http/1 resp by default, and removes content-length from the response if transfer-encoding is present, per RFC.
- Correct the custom protocol code for shutdown: changed the numeric code passed on shutdown to 0 to indicate an explicit shutdown rather than a transport error.
⚙️ Miscellaneous Tasks
- Remove
CacheKey::defaultimpl, users of caching should implementcache_key_callbackthemselves - Allow server bootstrapping to take place in the context of services with dependents and dependencies
- Don't consider "bytes=" a valid range header: added an early check for an empty/whitespace-only range-set after the
bytes=prefix, returning 416 Range Not Satisfiable, consistent with RFC 9110 14.1.2. - Strip {content, transfer}-encoding from 416s to mirror the behavior for 304 Not Modified responses.
- Disable CONNECT method proxying by default, with an option to enable via server options; unsupported requests will now be automatically rejected.