2.23.0 (2025-10-29)
This release contains performance improvements and bug fixes since the 2.22.1 release. We recommend that you upgrade at the next available opportunity.
Highlighted features in TimescaleDB v2.23.0
- This release introduces full PostgreSQL 18 support for all existing features. TimescaleDB v2.23 is available for PostgreSQL 15, 16, 17, and 18.
- UUIDv7 compression is now enabled by default on the columnstore. This feature was shipped in v2.22.0. It saves you at least 30% of storage and delivers ~2× faster query performance with UUIDv7 columns in the filter conditions.
- Added the ability to set hypertables to unlogged, addressing an open community request #836. This allows the tradeoff between durability and performance, with the latter being favourable for larger imports.
- By allowing set-returning functions in continuous aggregates, this releases addresses a long standing blocker, raised by the community #1717.
PostgreSQL 15 deprecation announcement
We will continue supporting PostgreSQL 15 until June 2026. Closer to that time, we will announce the specific TimescaleDB version in which PostgreSQL 15 support will not be included going forward.
Features
- #8373 More precise estimates of row numbers for columnar storage based on Postgres statistics.
- #8581 Allow mixing Postgres and TimescaleDB options in
ALTER TABLE SET. - #8582 Make
partition_columninCREATE TABLE WITHoptional. - #8588 Automatically create a columnstore policy when a hypertable with columnstore enabled is created via
CREATE TABLE WITHstatement. - #8606 Add job history config parameters for maximum successes and failures to keep for each job.
- #8632 Remove
ChunkDispatchcustom node. - #8637 Add
INSERTsupport for direct compress. - #8661 Allow
ALTER TABLE ONLYto changereloptionsto apply setting changes only to future chunks. - #8703 Allow set-returning functions in continuous aggregates.
- #8734 Support direct compress when inserting into a chunk.
- #8741 Add support for unlogged hypertables.
- #8769 Remove continuous aggregate invalidation trigger.
- #8798 Enable UUIDv7 compression by default.
- #8804 Remove
insert_blockertrigger.
Bugfixes
- #8561 Show warning when direct compress is skipped due to triggers or unique constraints.
- #8567 Do not require a job to have executed to show status.
- #8654 Fix
approximate_row_countfor compressed chunks. - #8704 Fix direct
DELETEon compressed chunk. - #8728 Don't block dropping hypertables with other objects.
- #8735 Fix
ColumnarScanforUNIONqueries. - #8739 Fix cached utility statements.
- #8742 Potential internal program error when grouping by
boolcolumns of a compressed hypertable. - #8743 Modify schedule interval for job history pruning.
- #8746 Support show/drop chunks with UUIDv7 partitioning.
- #8753 Allow sorts over decompressed index scans for
ChunkAppend. - #8758 Improve error message on catalog version mismatch.
- #8774 Add GUC for WAL based invalidation of continuous aggregates.
- #8782 Stops sparse index from allowing multiple options.
- #8799 Set
next_startforWITHclause compression policy. - #8807 Only warn but not fail the compression if bloom filter indexes are configured but disabled with a GUC.
GUCs
cagg_processing_wal_batch_size: Batch size when processing WAL entries.enable_cagg_wal_based_invalidation: Enable experimental invalidations for continuous aggregates using WAL.enable_direct_compress_insert: Enable direct compression duringINSERT.enable_direct_compress_insert_client_sorted: Enable direct compressINSERTwith presorted data.enable_direct_compress_insert_sort_batches: Enable batch sorting during direct compressINSERT.
Thanks
- @brandonpurcell-dev For highlighting issues with
show_chunks()and UUIDv7 partitioning - @moodgorning for reporting an issue with the
timescaledb_information.job_statsview - @ruideyllot for reporting set-returning functions not working in continuous aggregates
- @t-aistleitner for reporting an issue with utility statements in plpgsql functions
2025-10-28, Version 25.1.0 (Current), @aduh95
- [
4395fe14b9] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) #59778 - [
2e55c6ad04] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) #60217 - [
f437204491] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) #60178
- [
bb27766bd5] - benchmark: improve cpu.sh for safety and usability (Nam Yooseong) #60162 - [
e600711c20] - benchmark: add benchmark for leaf source text modules (Joyee Cheung) #60205 - [
1bbcdf9039] - benchmark: add vm.SourceTextModule benchmark (Joyee Cheung) #59396 - [
22fa6bd28b] - build: ibmi follow aix visibility (SRAVANI GUNDEPALLI) #60360 - [
931028400e] - build: use call command when calling python configure (Jacob Nichols) #60098 - [
17fde3f3d1] - build: build v8 with -fvisibility=hidden -fvisibility-inlines-hidden (Joyee Cheung) #56290 - [
04cc7aae5e] - build: remove V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE defs (Joyee Cheung) #60296 - [
8a2053060d] - crypto: update root certificates to NSS 3.116 (Node.js GitHub Bot) #59956 - [
fe91c0f755] - deps: update simdjson to 4.0.7 (Node.js GitHub Bot) #59883 - [
aacfc0d212] - deps: update corepack to 0.34.1 (Node.js GitHub Bot) #60314 - [
8596891a71] - deps: update inspector_protocol to af7f5a8173fdbc29f0835ec94395932e328b (Node.js GitHub Bot) #60312 - [
21bcd0eb2f] - deps: V8: cherry-pick 3d0f462a17ff (Joyee Cheung) #59396 - [
673558501c] - deps: update googletest to 279f847 (Node.js GitHub Bot) #60219 - [
425a1879b1] - doc: mention more codemods indeprecations.md(Augustin Mauroy) #60243 - [
563e1317f3] - doc: remove unnecessary statement of web storage (Deokjin Kim) #60363 - [
064c8c5cfd] - doc: add missing CAA type to dns.resolveAny() & dnsPromises.resolveAny() (Jimmy Leung) #58899 - [
99e357af35] - doc: useanyforworker_threads.Worker'error' event argumenterr(Jonas Geiler) #60300 - [
8ccff0d934] - doc: update decorator documentation to reflect actual policy (Muhammad Salman Aziz) #60288 - [
bac70c6ef3] - doc: document wildcard supported by tools/test.py (Joyee Cheung) #60265 - [
8492bc6a88] - doc: add --heap-snapshot-on-oom to useful v8 flag (jakecastelli) #60260 - [
0f0d3c0e47] - doc: fixblob.bytes()heading level (XTY) #60252 - [
8c8525cf93] - doc: fix not working code example in vm docs (Artur Gawlik) #60224 - [
8a6de3866c] - doc, assert: correct order of changes entries (Gerhard Stöbich) #60304 - [
6bacb6555a] - doc, module: change async customization hooks to experimental (Gerhard Stöbich) #60302 - [
6f3b16df16] - esm: use index-based resolution callbacks (Joyee Cheung) #59396 - [
95644a432c] - http: lazy allocate cookies array (Robert Nagy) #59734 - [
4395fe14b9] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) #59778 - [
f1aa1eaaf5] - inspector: add network payload buffer size limits (Chengzhong Wu) #60236 - [
64fc625bf9] - inspector: support handshake response for websocket inspection (Shima Ryuhei) #60225 - [
0ecbb806a8] - lib: fix typo in createBlobReaderStream (SeokHun) #60132 - [
ffec5927fd] - meta: fix typo in test-shared workflow name (Ronit Sabhaya) #60321 - [
a02897e157] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #60325 - [
59223a7831] - meta: loop userland-migrations in deprecations (Chengzhong Wu) #60299 - [
2d48d17696] - module: refactor and clarify async loader hook customizations (Joyee Cheung) #60278 - [
be1b84fd93] - module: handle null source from async loader hooks in sync hooks (Joyee Cheung) #59929 - [
063fbd87d3] - msi: fix WiX warnings (Stefan Stojanovic) #60251 - [
2e55c6ad04] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) #60217 - [
dc93d6988a] - src: fix timing of snapshot serialize callback (Joyee Cheung) #60434 - [
267e1b3817] - src: add COUNT_GENERIC_USAGE utility for tests (Joyee Cheung) #60434 - [
4a5d7a4c2a] - src: conditionally disable source phase imports by default (Shelley Vohr) #60364 - [
f437204491] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) #60178 - [
36837fa0f9] - src: use cached primordials_string (Sohyeon Kim) #60255 - [
df8396ad37] - src: replace Environment::GetCurrent with args.GetIsolate (Sohyeon Kim) #60256 - [
5dd670b2b9] - src: initial enablement of IsolateGroups (James M Snell) #60254 - [
afdb362933] - src: useUtf8ValueandTwoByteValueinstead of V8 helpers (Anna Henningsen) #60244 - [
a40e533e72] - src: add a default branch for module phase (Chengzhong Wu) #60261 - [
42729f07ee] - src: stop using deprecated v8::Context::GetIsolate (Michaël Zasso) #60223 - [
7a6542c205] - test: skip failing test on macOS 15.7+ (Antoine du Hamel) #60419 - [
29a5855a4f] - test: ensure assertions are reachable intest/addons(Antoine du Hamel) #60142 - [
12773d19c4] - test: increase debugger waitFor timeout on macOS (Chengzhong Wu) #60367 - [
0b38de3e9e] - test: put helper in test-runner-output into common (Joyee Cheung) #60330 - [
6de2407c44] - test: fix small compile warning in test_network_requests_buffer.cc (xiaocainiao633) #60281 - [
4b23ac8613] - test: fix status when compiled without inspector (Antoine du Hamel) #60289 - [
a07f32e326] - test: split test-runner-watch-mode-kill-signal (Joyee Cheung) #60298 - [
30451d32d7] - test: fix incorrect calculation in test-perf-hooks.js (Joyee Cheung) #60271 - [
e3c3b48f1c] - test: ignore EPIPE errors in https proxy invalid URL test (Joyee Cheung) #60269 - [
405a9c4c5f] - test: parallelize test-without-async-context-frame correctly (Joyee Cheung) #60273 - [
ffeebebc71] - test: make test-worker-prof more tolerant (Joyee Cheung) #60272 - [
26b01bf170] - test: skip sea tests on x64 macOS (Joyee Cheung) #60250 - [
8caae1a05b] - test: move sea tests into test/sea (Joyee Cheung) #60250 - [
3d183e3e9f] - test,crypto: fix conditional SHA3-* skip on BoringSSL (Filip Skokan) #60379 - [
e83dbcba94] - test,crypto: sha3 algorithms aren't supported with BoringSSL (Shelley Vohr) #60374 - [
3d89331496] - test_runner: use module.registerHooks in module mocks (Joyee Cheung) #60326 - [
377e8ce85a] - tls: avoid external memory leak on invalid protocol versions (Shelley Vohr) #60390 - [
ae4858c1f6] - tools: add an option to generate lighter archives (Antoine du Hamel) #60294 - [
cb615b1a2e] - tools: skip test-shared workflow for draft PRs (Michaël Zasso) #60365 - [
03b034731e] - tools: disable inspector on macOS-shared to reduce flakiness (Antoine du Hamel) #60320 - [
f402b4e1d1] - tools: show diff alongside the error in Nix linter (Antoine du Hamel) #60301 - [
5d5c8483fb] - tools: run CI with shared libs on GHA (Antoine du Hamel) #60121 - [
e8fdd8d2e8] - tools: update gyp-next to 0.20.5 (Node.js GitHub Bot) #60313 - [
6e8b029a21] - tools: limit inspector protocol PR title length (Chengzhong Wu) #60324 - [
a5073086c6] - tools: fix inspector_protocol updater (Chengzhong Wu) #60277 - [
47fa765bff] - tools: optimize wildcard execution in tools/test.py (Joyee Cheung) #60266 - [
11ebb0447d] - tools: add C++ lint rule to avoid usingString::Utf8Value(Anna Henningsen) #60244 - [
14f3189670] - tools: add inspector_protocol updater (Chengzhong Wu) #60245 - [
ef4c596fc6] - typings: add missing properties and method in Worker (Woohyun Sung) #60257 - [
09ae6fc065] - typings: add missing properties in HTTPParser (Woohyun Sung) #60257 - [
9ecaf41f8e] - typings: delete undefined property in ConfigBinding (Woohyun Sung) #60257 - [
4a86016e86] - util: use more defensive code when inspecting error objects (Antoine du Hamel) #60139 - [
9e6d6cec59] - util: mark special properties when inspecting them (Ruben Bridgewater) #60131 - [
79b2387fd9] - vm: make vm.Module.evaluate() conditionally synchronous (Joyee Cheung) #60205 - [
e5559f3be3] - win: upgrade Visual Studio workload from 2019 to 2022 (Jiawen Geng) #60318
2025-10-28, Version 22.21.1 'Jod' (LTS), @aduh95
- [
af33e8e668] - benchmark: remove unused variable from util/priority-queue (Bruno Rodrigues) #59872 - [
6764ce8756] - benchmark: update count to n in permission startup (Bruno Rodrigues) #59872 - [
4e8d99f0dc] - benchmark: update num to n in dgram offset-length (Bruno Rodrigues) #59872 - [
af0a8ba7f8] - benchmark: adjust dgram offset-length len values (Bruno Rodrigues) #59708 - [
78efd1be4a] - benchmark: update num to n in dgram offset-length (Bruno Rodrigues) #59708 - [
df72dc96e9] - console,util: improve array inspection performance (Ruben Bridgewater) #60037 - [
ef67d09f50] - http: improve writeEarlyHints by avoiding for-of loop (Haram Jeong) #59958 - [
23468fd76b] - http2: fix allowHttp1+Upgrade, broken by shouldUpgradeCallback (Tim Perry) #59924 - [
56abc4ac76] - lib: optimize priority queue (Gürgün Dayıoğlu) #60039 - [
ea5cfd98c5] - lib: implement passive listener behavior per spec (BCD1me) #59995 - [
c2dd6eed2f] - process: fix wrong asyncContext under unhandled-rejections=strict (Shima Ryuhei) #60103 - [
81a3055710] - process: fix defaultenvforprocess.execve(Richard Lau) #60029 - [
fe492c7ace] - process: fix hrtime fast call signatures (Renegade334) #59600 - [
76b4cab8fc] - src: bring permissions macros in line with general C/C++ standards (Anna Henningsen) #60053 - [
21970970c7] - src: removeAnalyzeTemporaryDtorsoption from .clang-tidy (iknoom) #60008 - [
609c063e81] - src: remove unused variables from report (Moonki Choi) #60047 - [
987841a773] - src: avoid unnecessary string allocations in SPrintF impl (Anna Henningsen) #60052 - [
6e386c0632] - src: make ToLower/ToUpper input args more flexible (Anna Henningsen) #60052 - [
c3be1226c7] - src: allowstd::string_viewarguments toSPrintF()and friends (Anna Henningsen) #60058 - [
764d35647d] - src: remove unnecessarystd::stringerror messages (Anna Henningsen) #60057 - [
1289ef89ec] - src: remove unnecessary shadowed functions on Utf8Value & BufferValue (Anna Henningsen) #60056 - [
d1fb8a538d] - src: avoid unnecessary string ->char*-> string round trips (Anna Henningsen) #60055 - [
54b439fb5a] - src: filloptions_args,options_envafter vectors are finalized (iknoom) #59945 - [
c7c597e2ca] - src: use RAII for uv_process_options_t (iknoom) #59945 - [
b928ea9716] - test: ensure that the message event is fired (Luigi Pinca) #59952 - [
e4b95a5158] - test: replace diagnostics_channel stackframe in output snapshots (Chengzhong Wu) #60024 - [
4206406694] - test: mark test-web-locks skip on IBM i (SRAVANI GUNDEPALLI) #59996 - [
26394cd5bf] - test: expand tls-check-server-identity coverage (Diango Gavidia) #60002 - [
b58df47995] - test: fix typo of test-benchmark-readline.js (Deokjin Kim) #59993 - [
af3a59dba8] - test: verify tracing channel doesn't swallow unhandledRejection (Gerhard Stöbich) #59974 - [
cee362242b] - timers: fix binding fast call signatures (Renegade334) #59600 - [
40fea57fdd] - tools: add message on auto-fixing js lint issues in gh workflow (Dario Piotrowicz) #59128 - [
aac90d351b] - tools: verify signatures when updating nghttp* (Antoine du Hamel) #60113 - [
9fae03c7d9] - tools: use dependabot cooldown and move tools/doc (Rafael Gonzaga) #59978 - [
81548abdf6] - wasi: fix WasiFunction fast call signature (Renegade334) #59600
2025-10-28, Version 24.11.0 'Krypton' (LTS), @richardlau
This release marks the transition of Node.js 24.x into Long Term Support (LTS) with the codename 'Krypton'. It will continue to receive updates through to the end of April 2028.
Other than updating metadata, such as the process.release object, to reflect that the release is LTS, no further changes from Node.js 24.10.0 are included.
release-1.29.3
nginx-1.29.3 mainline version has been released. See official CHANGES on nginx.org.
Below is a release summary generated by GitHub.
- SSL: support for compressed server certificates with BoringSSL. by @pluknet in https://github.com/nginx/nginx/pull/823
- HTTP CONNECT infrastructure by @arut in https://github.com/nginx/nginx/pull/935
- Upstream: reset local address in case of error. by @arut in https://github.com/nginx/nginx/pull/942
- SSL: $ssl_sigalg, $ssl_client_sigalg. by @pluknet in https://github.com/nginx/nginx/pull/932, initial work by @willmafh in https://github.com/nginx/nginx/pull/554
- Geo: the "volatile" parameter. by @dplotnikov-f5 in https://github.com/nginx/nginx/pull/943
- Inheritance control for add_header and add_trailer. by @arut in https://github.com/nginx/nginx/pull/918
- OCSP: fixed invalid type for the 'ssl_ocsp' directive. by @roman-f5 in https://github.com/nginx/nginx/pull/938
- Fixed compilation warnings on Windows after c93a0c48af87. by @arut in https://github.com/nginx/nginx/pull/954
- Modules compatibility: increased compat section size. by @arut in https://github.com/nginx/nginx/pull/952
- nginx-1.29.3 changes by @arut in https://github.com/nginx/nginx/pull/953
- @dplotnikov-f5 made their first contribution in https://github.com/nginx/nginx/pull/943
- @roman-f5 made their first contribution in https://github.com/nginx/nginx/pull/938
Full Changelog: https://github.com/nginx/nginx/compare/release-1.29.2...release-1.29.3
v3.2.7
- Add reason when flagging a request to brownout by @gavinbunney in https://github.com/Netflix/zuul/pull/2020
Full Changelog: https://github.com/Netflix/zuul/compare/v3.2.6...v3.2.7
v3.2.6
- Fix query parsing in massageRequestURI by @lindseyreynolds in https://github.com/Netflix/zuul/pull/2018
- Make prop name follow naming convention by @lindseyreynolds in https://github.com/Netflix/zuul/pull/2019
Full Changelog: https://github.com/Netflix/zuul/compare/v3.2.5...v3.2.6
v3.2.5
- [CGW-2515] Improve HttpHeadersTimeoutHandler event handling by @emmaworley in https://github.com/Netflix/zuul/pull/2017
Full Changelog: https://github.com/Netflix/zuul/compare/v3.2.4...v3.2.5