Try our Chrome extension
Easily add the current web-page from your browser directly into your changedetection.io tool, more great features coming soon!Changedetection.io needs your support!
You can help us by supporting changedetection.io on these platforms;
- Rate us at AlternativeTo.net
- Star us on GitHub
- Follow us at Twitter/X
- G2 Software reviews
- Check us out on LinkedIn
- And tell your friends and colleagues :)
The more popular changedetection.io is, the more time we can dedicate to adding amazing features!
Many thanks :)
changedetection.io team
Not yet seconds ago
False
Not yet seconds ago
Triggered text Ignored text Blocked text
4 hours ago
Skip to content
Navigation Menu
Sign in Appearance settings
* Platform
+ AI CODE CREATION
o GitHub Copilot Write better code with AI
o GitHub Copilot app Direct agents from issue to merge
o MCP Registry Integrate external tools
+ DEVELOPER WORKFLOWS
o Actions Automate any workflow
o Codespaces Instant dev environments
o Issues Plan and track work
o Code Review Manage code changes
o Code Quality Enforce quality at merge
+ APPLICATION SECURITY
o GitHub Advanced Security Find and fix vulnerabilities
o Code security Secure your code as you build
o Secret protection Stop leaks before they start
+ EXPLORE
o Why GitHub
o Documentation
o Blog
o Changelog
o Marketplace
View all features
* Solutions
+ BY COMPANY SIZE
o Enterprises
o Small and medium teams
o Startups
o Nonprofits
+ BY USE CASE
o App Modernization
o DevSecOps
o DevOps
o CI/CD
o View all use cases
+ BY INDUSTRY
o Healthcare
o Financial services
o Manufacturing
o Government
o View all industries
View all solutions
* Resources
+ EXPLORE BY TOPIC
o AI
o Software Development
o DevOps
o Security
o View all topics
+ EXPLORE BY TYPE
o Customer stories
o Events & webinars
o Ebooks & reports
o Business insights
o GitHub Skills
+ SUPPORT & SERVICES
o Documentation
o Customer support
o Community forum
o Trust center
o Partners
View all resources
* Open Source
+ COMMUNITY
o GitHub Sponsors Fund open source developers
+ PROGRAMS
o Security Lab
o Maintainer Community
o Accelerator
o GitHub Stars
o Archive Program
+ REPOSITORIES
o Topics
o Trending
o Collections
* Enterprise
+ ENTERPRISE SOLUTIONS
o Enterprise platform AI-powered developer platform
+ AVAILABLE ADD-ONS
o GitHub Advanced Security Enterprise-grade security features
o Copilot for Business Enterprise-grade AI features
o Premium Support Enterprise-grade 24/7 support
* Pricing
Type / to search
Sign in
Sign up Appearance settings
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Uh oh!
There was an error while loading. Please reload this page.
timescale / timescaledb Public
* Notifications You must be signed in to change notification settings
* Fork 1.1k
* Star 23.3k
* Code
* Issues 347
* Pull requests 42
* Actions
* Wiki
* Security and quality 4
* Insights
Additional navigation options
* Code
* Issues
* Pull requests
* Actions
* Wiki
* Security and quality
* Insights
Releases: timescale/timescaledb
Releases Tags
Releases · timescale/timescaledb
Release list
* 2.29.1 (2026-08-04)
* 2.29.0 (2026-07-28)
* 2.28.3 (2026-07-16)
* 2.28.2 (2026-06-30)
* 2.28.1 (2026-06-23)
* 2.28.0 (2026-06-16)
* 2.27.2 (2026-06-02)
* 2.27.1 (2026-05-19)
* 2.27.0 (2026-05-12)
* 2.26.4 (2026-04-28)
Previous Next
Jump to release
* 2.29.1 (2026-08-04)
* 2.29.0 (2026-07-28)
* 2.28.3 (2026-07-16)
* 2.28.2 (2026-06-30)
* 2.28.1 (2026-06-23)
* 2.28.0 (2026-06-16)
* 2.27.2 (2026-06-02)
* 2.27.1 (2026-05-19)
* 2.27.0 (2026-05-12)
* 2.26.4 (2026-04-28)
Previous Next
2.29.1 (2026-08-04)
2.29.1 (2026-08-04) Latest
Latest
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 04 Aug 08:54
Immutable release. Only release title and notes can be modified.
2.29.1
bdc46d3
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
This release contains performance improvements and bug fixes since the 2.29.0 release and fixes for security vulnerabilities (#10360, #10379, #10386). You can check the security advisory for more information on the vulnerability and the platforms that are affected. We recommend that you upgrade at the next available opportunity.
Bugfixes
* #10327 Assertion failure in add_dimension() when the hypertable argument is NULL
* #10339 Fix crash when deleting from a compressed continuous aggregate source
* #10340 Validate max_batches in compact_chunk()
* #10352 Reset inherited column and constraint flags on chunks during attach_chunk()
* #10360 Fix decompressor crashes with malformed compressed data
* #10369 Fix typo in error message about MERGE support on compressed hypertables
* #10379 Read hypertable max time value with an ordered scan
* #10386 Add missing permission checks to internal chunk functions
Thanks
* @JoongHyuk-Shin for reporting and fixing NULL handling in add_dimension()
* @igor2x for reporting a typo in a MERGE support error message
* @mdisec for reporting issues with compressed data validation during decompression
Contributors
*
*
*
mdisec, igor2x, and JoongHyuk-Shin
Assets 6
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 3 spezialist1, PacaAlpaca, and vrusua reacted with thumbs up emoji
All reactions
* 👍 3 reactions
3 people reacted
2.29.0 (2026-07-28)
2.29.0 (2026-07-28)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 28 Jul 11:49
Immutable release. Only release title and notes can be modified.
2.29.0
ccedf24
This commit was signed with the committer’s verified signature.
surister Ivan
GPG key ID: 418128586081F97B
Verified
Learn about vigilant mode.
This release contains performance improvements and bug fixes since the 2.28.3 release. We recommend that you upgrade at the next available opportunity.
Release Highlights
* Chunk exclusion for DML operations improves the performance of UPDATE and DELETE statements on hypertables. By acquiring row exclusive locks only on the specific chunks being modified rather than the entire hypertable. This enhancement reduces lock contention in high-concurrency workloads involving DML, speeding up the planning of DML queries by using the optimized TimescaleDB chunk exclusion instead of the baseline Postgres constraint exclusion.
* The query planner can now choose an additional algorithm for retrieving a small number of rows, for reading the columnstore data, optimizing the default behavior. This optimization improves some last-point queries on columnstore (think ORDER BY time DESC LIMIT 1) run several times faster than in previous releases.
Important: PostgreSQL 15 Support Removed
TimescaleDB 2.29.0 removes support for PostgreSQL 15. This release supports PostgreSQL 16, 17, and 18. If you are still running PostgreSQL 15, upgrade PostgreSQL before upgrading to TimescaleDB 2.29.0.
Backward-Incompatible Changes
* #10041 Remove support for PostgreSQL 15
Features
* #9315 Speed up DML operations on hypertables by using the optimized TimescaleDB hypertable expansion code instead of the generic PostgreSQL inheritance hierarchy expansion
* #9534 Speed up expression evaluation in the columnar pipeline by caching common subexpressions
* #9684 Add _timescaledb_functions.decompress_batch() SQL function
* #9732 Speed up some queries with small LIMIT by switching to row-by-row query execution pipeline
* #9917 Decompress less data in DML on compressed hypertables by accounting for prepared statement parameters
* #9957 Add compact_chunk() function
* #10048 Support concurrent refresh policies on hierarchical continuous aggregates
* #10081 Add samplerate argument to _timescaledb_functions.estimate_uncompressed_size()
* #10100 Skip classifying compressed relations to speed up planning
* #10118 Don't track compressed relations as separate chunk
* #10119 Reduce memory usage of INSERT queries using direct compress and spanning multiple chunks
* #10163 Add a compaction policy for unordered chunks
* #10204 Don't create separate hypertable catalog entry for hypertables with compression
* #10217 Initial placeholder version of granular refresh API
* #10225 Add config_merge parameter to alter_job() for merging jsonb into the existing job configuration
* #10226 Add recompress_unordered columnstore policy option
* #10231 Use regclass for storing relation reference in chunk table
* #10237 Add helper functions for decoding hypertable status
* #10240 Add the tsdb.direct_compress storage parameter that allows enabling direct compress for a given hypertable independent of global settings
* #10266 Add max_batches to compact_chunk()
* #10299 Add continuous_aggs_tenant_tracking and hypertable_cagg_settings catalogs
Bugfixes
* #10013 Make ownership error messages on continuous aggregates consistent
* #10052 Result of MIN / MAX aggregate functions in columnar aggregation pipeline possibly inconsistent with plain PostgreSQL result
* #10071 Prune the real-time branch of hierarchical continuous aggregates at any nesting depth
* #10143 Fix division by zero when planning time_bucket with zero width
* #10199 Fix initial_start handling in build_job_info
* #10213 Cache sort pathkeys per hypertable
* #10221 Fix incremental refresh skipping the last bucket
* #10278 Drop job_errors view in bgw_job_stat_history migration
* #10280 RETURNING clause returned no rows for INSERT using direct compress
* #10281 Disable direct compress when the destination table has an exclusion constraint so the constraint is still enforced
* #10282 Only count directly compressed rows toward the command tag when the INSERT sets it
* #10286 Propagate VACUUM on a chunk to the compressed relation when running on the chunk directly
* #10302 Fix useless-join removal and self-join elimination for hypertables
* #10313 Allow running ALTER EXTENSION timescaledb UPDATE inside a transaction block
* #10315 Fix overlap detection with running max
* #10324 Fix stale index entries after rebuild_sparse_index() on compressed chunks
GUCs
* timescaledb.enable_hypertable_expansion_for_dml: allow using the optimized TimescaleDB hypertable expansion code for UPDATE and DELETE instead of the generic PostgreSQL inheritance hierarchy expansion. On by default.
Thanks
* @FrancescEthon and @ManuelEthon for reporting an issue with incremental refresh skipping the last bucket
* @h0rn3t for reporting a problem with VACUUM not propagating to the compressed relation
* @igor2x for reporting an issue with locking during DML statements on hypertables
* @MaximeEthon for reporting an issue with prepared statement parameters in DML decompression
* @proddata for reporting a problem when upgrading from 2.15.3 to 2.28.2
* @tureba for reporting and fixing stale sparse-index entries after rebuild
* @viniciusrsouza for reporting an issue with hierarchical continuous aggregates
Contributors
*
*
*
*
*
*
*
*
tureba, h0rn3t, and 6 other contributors
Assets 6
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 4 azazellochg, spezialist1, PacaAlpaca, and bruno-buiret reacted with thumbs up emoji ❤️ 4 vgdh, aliakbarmostafaei, brunocmacedo, and PacaAlpaca reacted with heart emoji 🚀 3 Jotape-M, PacaAlpaca, and vrusua reacted with rocket emoji
All reactions
* 👍 4 reactions
* ❤️ 4 reactions
* 🚀 3 reactions
9 people reacted
2.28.3 (2026-07-16)
2.28.3 (2026-07-16)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 16 Jul 12:54
Immutable release. Only release title and notes can be modified.
2.28.3
4a77ff5
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
This release contains performance improvements and bug fixes since the 2.28.2 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
* #10082 Wrong result when evaluating a function returning NULL in the columnar query execution pipeline
* #10178 Fix incorrect usage of sort transformation for sort key expressions with negative constants
* #10179 Allow enabling and disabling triggers on hypertables with columnstore enabled
* #10182 Fix columnstore sort pushdown to check for different query sort key collation
* #10209 Fix potentially wrong results for stddev(float4) and stddev(float8) when used with avg() in the columnar query execution pipeline
* #10212 Fix race condition when enabling compression on a hypertable
* #10230 Batch filtering for compressed DML should respect collation
* #10254 Direct delete failed to handle array predicates with NULL values and deleted more rows than intended (#10129)
* #10257 Reuse existing dimension_slice IDs when possible
* #10265 Truncate constraint name before trying to rename
Thanks
* @juantxorena for reporting that triggers could not be enabled or disabled on hypertables with columnstore enabled
Contributors
*
juantxorena
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 3 spezialist1, PacaAlpaca, and injectionsuccesfully reacted with thumbs up emoji 🎉 1 vrusua reacted with hooray emoji
All reactions
* 👍 3 reactions
* 🎉 1 reaction
4 people reacted
2.28.2 (2026-06-30)
2.28.2 (2026-06-30)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 30 Jun 11:35
Immutable release. Only release title and notes can be modified.
2.28.2
558291f
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
This release contains bug fixes since the 2.28.1 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
* #10126 Fix bgw_job_stat_history migration for 2.28.1
* #10133 Fix chunk_constraint migration
* #10137 Fix column ordering on first/last-based sparse indexes
* #10164 Automatically drop incompatible smallint bloom filters when upgrading instead of stopping the upgrade
Thanks
* @juantxorena for reporting an issue with update script for 2.28.1
* @rusha1333 for reporting an issue when upgrading to 2.28.1
Contributors
*
*
juantxorena and rusha1333
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 6 spezialist1, PacaAlpaca, nfochef, vrusua, cB-nishant-badhautiya, and injectionsuccesfully reacted with thumbs up emoji
All reactions
* 👍 6 reactions
6 people reacted
2.28.1 (2026-06-23)
2.28.1 (2026-06-23)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 23 Jun 08:29
Immutable release. Only release title and notes can be modified.
2.28.1
b5b8e9b
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
This release contains performance improvements and bug fixes since the 2.28.0 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
* #9913 Fix potential crash on DML on compressed tables when the plan uses Bitmap Heap Scan
* #10091 Fix column rename for compressed chunks
* #10056 Enforce CHECK, NOT NULL and view WITH CHECK OPTION constraints for direct compress inserts
* #10059 Fix error when using first/last aggregates in a HAVING clause
* #10060 Fix first/last optimization returning the same value for aggregates that share the value column but order by different columns
* #10061 Fix internal error in first/last for unsortable types
* #10069 Fix bgw_job_stat_history definition
* #10073 Fix uncompressed size estimate for varlen
* #10089 Fix deleting every row on compressed hypertable with subquery returning constant false
* #10094 Fix use-after-free in ALTER TABLE ADD CONSTRAINT
Thanks
* @skrenes for reporting a problem with the job_history view when upgrading to 2.28.0
Contributors
*
skrenes
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 3 spezialist1, injectionsuccesfully, and vrusua reacted with thumbs up emoji
All reactions
* 👍 3 reactions
3 people reacted
2.28.0 (2026-06-16)
2.28.0 (2026-06-16)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 16 Jun 10:20
Immutable release. Only release title and notes can be modified.
2.28.0
8cd71ae
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
This release contains performance improvements and bug fixes since the 2.27.2 release. We recommend that you upgrade at the next available opportunity.
Highlighted features in TimescaleDB v2.28.0
* Faster first() and last() queries on compressed data. TimescaleDB derives first(value, time) and last(value, time) aggregates straight from the columnstore's batch metadata, skipping batch decompression entirely. For the "latest reading per series" lookups that time-series workloads run constantly, that means meaningfully faster recency queries with no changes to your SQL queries.
* Lighter, less disruptive continuous aggregate refreshes. refresh_continuous_aggregate() can now run incrementally in batches — the same behavior refresh policies already use — enabling breaking large manual refreshes into smaller chunks (tunable via buckets_per_batch, max_batches_per_execution, and refresh_newest_first) instead of one heavy operation. Refreshes also now take a lighter lock while processing the invalidation log, so they no longer block unrelated concurrent operations on the same continuous aggregate, improving behavior for concurrent workloads.
* Vectorized execution now covers CASE expressions. TimescaleDB's columnar executor can now evaluate CASE ... WHEN expressions directly on compressed data, so queries using conditional logic stay on the fast vectorized path instead of falling back to slower row-by-row decompression. This speeds up a common pattern — conditional aggregations and computed columns over compressed history — with no query changes needed.
* Add new aggregations to a continuous aggregate without rebuilding it. You can now run ALTER MATERIALIZED VIEW <cagg> ADD COLUMN <name> <type> GENERATED ALWAYS AS (<aggregate>) STORED to add a new computed aggregate to an existing continuous aggregate in place — no more dropping and recreating the whole aggregate just to track one more metric. New data populates the column going forward, letting your rollups evolve alongside your application. (Existing rows start as NULL; a forced refresh backfills them when you need historical values.)
Deprecation Notice: PostgreSQL 15 Support
This release marks the final minor version of TimescaleDB that will support PostgreSQL 15. Starting with our next release, version 2.29.0, we will officially drop support for Postgres 15, and only support Postgres 16, 17, and 18; however, all future patch releases within the current 2.28 version cycle will continue to fully support it. We recommend planning your PostgreSQL upgrades accordingly to ensure a smooth transition.
Deprecation Notice: chunk_constraint Catalog Table
Please note that the _timescaledb_catalog.chunk_constraint table has been dropped and temporarily replaced by a view, which introduces a change to the underlying objects while maintaining current query behavior. However, this compatibility view will be completely removed in a future release. To ensure your queries remain compatible moving forward, we strongly advise transitioning to the stable contracts provided by our informational views.
Backward-Incompatible Changes
* #9934 Remove adaptive chunking
Features
* #4054 Support ANALYZE and VACUUM on continuous aggregates by redirecting to the underlying materialization hypertable
* #9125 Increase the parallelism of SELECT queries over compressed hypertables to approximately match the uncompressed data size
* #9410 Mark hypertable and chunk as user catalog tables
* #9416 Support some forms of CASE expression in columnar aggregation and grouping
* #9580 Add first / last sparse indexes to compression
* #9784 Use first / last sparse index for orderby metadata on new compressed chunks
* #9668 Allow database owner to configure hypertables and policies
* #9701 Relax lock during continuous aggregate invalidation log processing
* #9730 Add in-memory observability for compressed chunks
* #9735 Improve GapFill row count estimate
* #9821 Allow subquery results which are exec params as GapFill arguments
* #9825 Support ADD COLUMN on continuous aggregates
* #9842 Suppress continuous aggregate invalidation tracking during bulk loads
* #9878 Remove chunk_constraint catalog tracking for foreign keys
* #9893 Remove chunk_constraint catalog tracking for non-dimensional constraints
* #9903 Incremental refresh for refresh_continuous_aggregate()
* #9915 Remove _timescaledb_catalog.chunk_constraint table
* #9938 Add rebuild_sparse_index function
* #9964 Add a function to lock OSM chunk's dimension slice
* #9980 Support first/last(value, time) in ColumnarIndexScan
Bugfixes
* #9708 Guard time bucket parameter handling against bad input
* #9745 Check constraints when adding unique constraints to chunks
* #9890 Fix incremental refresh batch boundaries to align with variable-width buckets and start only where a chunk and an invalidation overlap
* #9914 Fix use-after-free in segmentwise recompression
* #9929 Fix background jobs being bumped in the queue forever and never running
* #9955 Fix wrong results when using Batch Sorted Merge with no first-last index on a non-leading order by column
* #9967 Block upgrade after downgrade with first/last indexes present
* #9976 Fix wrong results when comparing a date column to a timestamptz value
* #9977 Fix COPY WHERE into a hypertable with dropped columns
* #9981 Fix set-returning functions in the sort key of ColumnarScan
* #9982 Reject ALTER TABLE ... INHERIT when the parent is a hypertable
* #9984 Fix handling of NOT VALID NOT NULL constraint for query optimization
* #9986 Handle MERGE WHEN NOT MATCHED BY SOURCE on hypertables
* #9988 Fix time_bucket_gapfill function detection
* #10003 Block unsafe updates of unique columns on compressed chunks
* #10024 Fix approximate_row_count handling of Infinity
* #10025 Fix rename on compressed continuous aggregates
* #10026 Fix chunk skipping near PG_INT64_MAX
New Settings
* skip_cagg_invalidation: skip continuous aggregate invalidation tracking for DML and DDL in the current session/transaction. Off by default.
* stats_max_chunks: set the per-database compressed chunk statistics cache capacity. Defaults to 1024 chunks; set to 0 to disable the feature.
Thanks
* @Fabian-2596 for suggesting more accurate GapFill row count estimate
* @otjdiepluong for fixing spelling mistakes in timescaledb source code comments
* @scimad and @Nosfistis for suggesting expanding coverage for gapfill arguments
Contributors
*
*
*
*
Nosfistis, scimad, and 2 other contributors
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 5 spezialist1, Havunen, Vonng, brunocmacedo, and PacaAlpaca reacted with thumbs up emoji 🎉 1 PacaAlpaca reacted with hooray emoji 🚀 1 PacaAlpaca reacted with rocket emoji
All reactions
* 👍 5 reactions
* 🎉 1 reaction
* 🚀 1 reaction
5 people reacted
2.27.2 (2026-06-02)
2.27.2 (2026-06-02)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 02 Jun 10:28
Immutable release. Only release title and notes can be modified.
2.27.2
3c4a725
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
This release contains bug fixes since the 2.27.1 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
* #9895 Remove refresh policy check when adding columnstore policy
* #9902 Fix wrong results and crashes when grouping by columns that are not in the SELECT list with vectorized aggregation or columnar index scan
* #9908 Skip ColumnarIndexScan when the qual contains a SubPlan
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 2 spezialist1 and PacaAlpaca reacted with thumbs up emoji
All reactions
* 👍 2 reactions
2 people reacted
2.27.1 (2026-05-19)
2.27.1 (2026-05-19)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 19 May 10:37
Immutable release. Only release title and notes can be modified.
2.27.1
b01ae9b
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
TimescaleDB Changelog
Please note: When updating your database, you should connect using
psql with the -X flag to prevent any .psqlrc commands from
accidentally triggering the load of a previous DB version.
This release contains performance improvements and bug fixes since the 2.27.0 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
* #9795 Delete orphaned compression_settings before migrating catalog table
* #9799 Fix job_errors view leaking failed jobs to non-owners
* #9800 Check hypertable ownership before recompression
* #9801 Fix information leak in policy_reorder_remove
* #9824 Adding migration scripts for composite bloom filters
* #9828 Skip columnar index scan when grouping by an expression
* #9830 Skip ColumnarIndexScan for GROUPING SETS / ROLLUP / CUBE
Thanks
* @homanp for reporting an information leak with the job_errors view
Contributors
*
homanp
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 4 spezialist1, little-sparkleeesss, injectionsuccesfully, and PacaAlpaca reacted with thumbs up emoji
All reactions
* 👍 4 reactions
4 people reacted
2.27.0 (2026-05-12)
2.27.0 (2026-05-12)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 12 May 08:35
Immutable release. Only release title and notes can be modified.
2.27.0
fd7f303
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
This release contains performance improvements and bug fixes since the 2.26.4 release. We recommend that you upgrade at the next available opportunity.
⚠️ Due to a problem during release process the Window's releases artifacts attached to this release are not valid.
Download valid Windows binaries from:
* TimescaleDB Windows PG15
* TimescaleDB Windows PG16
* TimescaleDB Windows PG17
* TimescaleDB Windows PG18
Highlighted features in TimescaleDB v2.27.0
* The Hypercore engine now supports a vectorized implementation of filters by evaluating them inline through the standard Postgres function path. This expands the set of queries (including continuous aggregate refreshes) that can take the faster path through the columnstore, yielding speedups ranging from 30% up to 2x in benchmarks.
* UPDATE and DELETE statements with equality predicates can now use bloom filters to skip decompressing batches whose compressed rows can't match. When multiple bloom filters apply, they are evaluated in decreasing order of column count (most selective first), and EXPLAIN now reports filtering activity via the new "Compressed batches filtered" and "Batches filtered after decompression counters". The query performance increases in some case up to 160 times.
* UPSERT queries can now leverage bloom filters (including composite ones) to skip decompressing batches when the arbiter values are guaranteed not to be present, with the most-selective filter chosen automatically when multiple apply. EXPLAIN output adds new statistics — batches checked by bloom, batches pruned by bloom, batches without bloom, and bloom false positives — for visibility into pruning effectiveness.
Upcoming PostgreSQL 15 EOL announcement
As a reminder, the upcoming TimescaleDB release in June 2026 will officially be the last version with support for PostgreSQL 15. This deprecation was initially announced in the v2.23.0 changelog on October 29, 2025, to provide users ample time to prepare. To ensure uninterrupted access to new features, bugfixes and performance enhancements, all instances must be upgraded to PostgreSQL 16 or greater.
Backward-Incompatible Changes
* #9579 The bloom filter sparse indexes on compressed int2 columns could lead to SELECT queries not returning the rows that actually match the WHERE condition. The upgrade is blocked for the affected databases, and the incorrect indexes have to be dropped manually before the upgrade.
* This release introduces a new naming convention for composite bloom filter metadata. While this change will not disrupt query processing, v2.27 cannot automatically utilize composite bloom filters generated in v2.26. To convert your existing v2.26 composite bloom filters, the legacy metadata columns must be renamed. This is a lightweight, catalog-only operation requiring zero data recompression, which can be done with this migration script.
Features
* #8868 Use PG_MODULE_MAGIC_EXT for PG18
* #8967 Rewriting queries with continuous aggregates exactly matching query aggregation
* #9192 Push down scalar array operations into the columnar metadata scan by transforming them into an OR/AND clause.
* #9355 Defer segmentby default for direct compress
* #9374 Use bloom filters to eliminate decompression of unrelated compressed batches during UPSERTs.
* #9396 Analyze and get segmentby during direct compress
* #9398 Fix chunk exclusion for IN/ANY on open (time) dimensions
* #9399 Use bloom filters to reduce decompression during UPDATE/DELETE commands.
* #9403 Set default segmentby during direct compress flush
* #9437 Allow running compression as part of refresh policy for compressed continuous aggregates
* #9443 Enable vectorized aggregation in some cases when the WHERE clause contains filters not handled through the "Vectorized Filters" facility. This includes e.g. filters on time_bucket().
* #9458 Remove _timescaledb_functions.repair_relation_acls
* #9475 Calculate hashes for bloom filter predicates at planning time.
* #9504 Allow ALTER TABLE RESET on materialization hypertables
* #9521 Add support for reporting index creation progress
* #9559 Notice on compression settings change
* #9569 For nullable orderby columns do segmentwise decompress-compress instead of segmentwise recompress.
* #9583 Drop existing sparse indexes when dropping columns
* #9648 Support ENABLE/DISABLE TRIGGER on hypertables
* #9702 Allow Batch Sorted Merge for unordered chunks with no segmentby or when all segmentby columns are pinned to a Const
Bugfixes
* #9363 Change compression job status when chunks could be compressed
* #9413 Fix incorrect decompress markers on full batch delete
* #9414 Fix NULL compression handling in estimate_uncompressed_size
* #9417 Fix segfault in bloom1_contains
* #9479 Disallow sub-day offset for time-bucket on Date
* #9482 Forbid Batch Sort Merge on nullable orderby columns
* #9490 Disallow negative interval as chunk_interval
* #9500 Fix off-by-one error when building object name
* #9519 Remove self-referential FOREIGN KEY constraints from catalog
* #9561 Simplify job history retention by replacing binary search and temp table
* #9590 Fix policy skipping uncompressed chunks
* #9596 Remove unused process_hypertable_invalidations policy code
* #9604 Remove dead post_parse_analyze_hook capture in loader
* #9610 Fix use-after-free crash in cache_destroy during transaction abort
* #9632 Preserve chunk settings during recompress
* #9640 Fix NULL datumCopy crash in segmentby analysis
* #9680 Fix segfault in direct compress insert on hypertable with dropped column
* #9692 Fix internal "invalid perminfoindex 0 in RTE" error on MERGE NOT MATCHED INSERT into a hypertable
* #9705 Avoid double TOAST delete when DELETE-after-compression is enabled
* #9705 Only freeze compressed rows when truncating uncompressed chunk
* #9706 Use bigint in estimate_uncompressed_size calculations
* #9709 Reject mismatched element type in bool/uuid decompression
* #9710 Return bigint from compressed_data_column_size
* #9711 Fix registration row leak when continuous aggregate refresh fails
* #9697 Improve pathkey handling for compressed sub-paths during sort transformation
* #9743 Fix the composite bloom metadata column naming scheme
* #9767 Skip dropped chunks when trying to remove ts_cagg_invalidation_trigger
* #9747 Reject inheriting from a hypertable
* #9744 Use a fixed call string for the telemetry job in ts_stat_statements recording
* [#9736](#9736...
Read more
Contributors
*
*
*
*
fabriziomello, h0rn3t, and 2 other contributors
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 8 spezialist1, brunocmacedo, PacaAlpaca, Havunen, surister, injectionsuccesfully, vitabaks, and SilmorSenedlen reacted with thumbs up emoji 🎉 6 aosan, manuelarte, jnidzwetzki, PacaAlpaca, Konstantin-Dudersky, and surister reacted with hooray emoji ❤️ 4 injectionsuccesfully, vgdh, PacaAlpaca, and surister reacted with heart emoji
All reactions
* 👍 8 reactions
* 🎉 6 reactions
* ❤️ 4 reactions
13 people reacted
2.26.4 (2026-04-28)
2.26.4 (2026-04-28)
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
surister released this 28 Apr 20:37
Immutable release. Only release title and notes can be modified.
2.26.4
b69fa27
This release contains bug fixes since the 2.26.3 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
* #9360 Sanitize DT_NOBEGIN next_start to recover jobs stuck after primary failover
* #9515 Fix now() constification for continuous aggregate queries
* #9550 Fix out of memory when propagating ALTER TABLE to many chunks
* #9605 Fix InstrStartNode called twice in a row
* #9607 Fix use-after-free of PlaceHolderVar.phrels in cached ChunkAppend plans
* #9612 Fix PlaceHolderVar error in runtime chunk exclusion
* #9614 Remove stale hypertable entries during upgrade
* #9615 Fix segfault with transition tables after column drop
* #9616 Use DROP CASCADE for trigger removal
* #9623 Error when querying compressed chunks under Apache license
* #9625 Make timescaledb_post_restore() reliably restart background workers in a single call
* #9639 Fix lost orderby sparse index
* #9646 Replace ERRCODE_INTERNAL_ERROR on user-reachable error paths
* #9652 Add Error on missing custom job function in ts_bgw_job_get_funci
* #9655 Fix data corruption when merging chunks with different compression settings
* #9654 Fix sort_transform crash with hypertable on nullable side of outer join
* #9656 Fix concurrent merge of compressed chunks dropping the new heap
* #9641 Fix COPY path with transition tables after column drop
* #9660 Fix incremental continuous aggregate refresh so that extend_last_bucket only applies to the boundary batch
* #9674 Fix segmentby crash in cagg invalidation tracking
Thanks
* @GetsuDer and @WeiJie-JL for reporting an error with timescaledb and extensions using Explain
* @igor2x for reporting a problem when trying to query compressed data with the Apache license
* @ivaaaan for reporting an issue with constraint pushdown in continuous aggregate queries
* @patstrom for reporting a segfault with transition table triggers after dropping a column
* @patstrom for reporting an out-of-memory error when dropping constraints
* @pcayen for reporting an issue with GROUP BY ROLLUP on views over hypertables
Contributors
*
*
*
*
*
*
patstrom, ivaaaan, and 4 other contributors
Assets 7
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 6 spezialist1, paulwer, little-sparkleeesss, PacaAlpaca, firengate, and injectionsuccesfully reacted with thumbs up emoji ❤️ 1 surister reacted with heart emoji 🚀 3 surister, sergumanov, and firengate reacted with rocket emoji
All reactions
* 👍 6 reactions
* ❤️ 1 reaction
* 🚀 3 reactions
8 people reacted
Previous 1 2 3 4 5 … 13 14 Next
Previous Next
Footer
© 2026 GitHub, Inc.
Footer navigation
* Terms
* Privacy
* Security
* Status
* Community
* Docs
* Contact
* Manage cookies
* Do not share my personal information
You can’t perform that action at this time.
For now, Differences are performed on text, not graphically, only the latest screenshot is available.
Screenshot requires a Content Fetcher ( Sockpuppetbrowser, selenium, etc ) that supports screenshots.