Releases: thanos-io/thanos
v0.40.1
This fix fixes a performance regression in the gRPC layer.
What's Changed
- Pull extgrpc fix and release 0.40.1 by @GiedriusS in #8547
Full Changelog: v0.40.0...v0.40.1
v0.40.0
v0.40.0 - 2025 10 27
Fixed
- #8334 Query: wait for initial endpoint discovery before becoming ready
- #8486 Receive: fix exemplar label corruption from Cap'n Proto memory references
- #8499 Query: support UTF-8 label names for the
/api/v1/label/:name/valuesAPI. - #8336 store: fix race between lazy index header creation
Added
- #8366 Store: optionally ignore Parquet migrated blocks
- #8359 Tools: add
--shipper.upload-compactedflag for uploading compacted blocks to bucket upload-blocks - #8484 Query: add
/api/v1/status/tsdbAPI endpoint. - #8454 Compact: ensure we don't mark blocks for deletion again after just deleting them
- #8410 Compact: ignore blocks with deletion mark in partial deletes
Changed
- #8370 Query: announced labelset now reflects relabel-config
- #8464 Query: assume that we do not unmark a block for deletion. This solves a race between Thanos Store and Compactor.
- #8402 Query/Receive: trim labelsets in String()
- #8334 Query: wait for initial endpoint discovery before becoming ready
- #8401 block/compact: rework consistency check, make writers only write
- #8389 block: bust cache if modified timestamp differs
New Contributors
- @paul-hsieh made their first contribution in #8321
- @jdgeisler made their first contribution in #8359
- @NickGoog made their first contribution in #8400
- @erikgb made their first contribution in #8427
- @parthivrmenon made their first contribution in #8456
- @dbuchanaRH made their first contribution in #8486
Full Changelog: v0.39.2...v0.40.0
v0.40.0-rc.0
v0.40.0-rc.0 - 2025 10 20
Fixed
- #8334 Query: wait for initial endpoint discovery before becoming ready
- #8486 Receive: fix exemplar label corruption from Cap'n Proto memory references
- #8499 Query: support UTF-8 label names for the
/api/v1/label/:name/valuesAPI. - #8336 store: fix race between lazy index header creation
Added
- #8366 Store: optionally ignore Parquet migrated blocks
- #8359 Tools: add
--shipper.upload-compactedflag for uploading compacted blocks to bucket upload-blocks - #8484 Query: add
/api/v1/status/tsdbAPI endpoint. - #8454 Compact: ensure we don't mark blocks for deletion again after just deleting them
- #8410 Compact: ignore blocks with deletion mark in partial deletes
Changed
- #8370 Query: announced labelset now reflects relabel-config
- #8464 Query: assume that we do not unmark a block for deletion. This solves a race between Thanos Store and Compactor.
- #8402 Query/Receive: trim labelsets in String()
- #8334 Query: wait for initial endpoint discovery before becoming ready
- #8401 block/compact: rework consistency check, make writers only write
- #8389 block: bust cache if modified timestamp differs
New Contributors
- @paul-hsieh made their first contribution in #8321
- @jdgeisler made their first contribution in #8359
- @NickGoog made their first contribution in #8400
- @erikgb made their first contribution in #8427
- @parthivrmenon made their first contribution in #8456
- @dbuchanaRH made their first contribution in #8486
Full Changelog: v0.39.2...v0.40.0-rc.0
v0.39.2
Fixes two issues with the distributed query engine.
Fixed
- #8374 Query: fix panic when concurrently accessing annotations map
- #8375 Query: fix native histogram buckets in distributed queries
Full Changelog: v0.39.1...v0.39.2
v0.39.1
v0.39.0
In short: there are a bunch of fixes and small improvements. The shining items in this release are memory usage improvements in Thanos Query and shuffle sharding support in Thanos Receiver. Information about shuffle sharding support is available in the documentation. Thank you to all contributors!
Added
- #8308 Receive: Prometheus counters for pending write requests and series requests
- #8225 tools: Extend bucket ls options.
- #8238 Receive: add shuffle sharding support
- #8284 Store: Add
--disable-admin-operationsFlag to Store Gateway - #8245 Querier/Query-Frontend/Ruler: Add
--enable-feature=promql-experimental-functionsflag option to enable using promQL experimental functions in respective Thanos components - #8259 Shipper: Add
--shipper.skip-corrupted-blocksflag to allowSync()to continue upload when finding a corrupted block
Changed
- #8282 Force sync writes to meta.json in case of host crash
- #8192 Sidecar: fix default get config timeout
- #8202 Receive: Unhide
--tsdb.enable-native-histogramsflag - #8315 Query-Frontend: only ready if downstream is ready
Removed
- #8289 Receive: breaking
⚠️ Removed migration of legacy-TSDB to multi-TSDB. Ensure you are running version >0.13
Fixed
- #8199 Query: handle panics or nil pointer dereference in querier gracefully when query analyze returns nil
- #8211 Query: fix panic on nested partial response in distributed instant query
- #8216 Query/Receive: fix iter race between
next()andstop()introduced in #7821. - #8212 Receive: Ensure forward/replication metrics are incremented in err cases
- #8296 Query: limit LazyRetrieval memory buffer size
New Contributors
- @naohiroo made their first contribution in #8190
- @vCra made their first contribution in #8202
- @yuchen-db made their first contribution in #8216
- @adrmaas made their first contribution in #8210
- @machine424 made their first contribution in #8014
- @dronenb made their first contribution in #8263
- @siavashs made their first contribution in #8268
- @anna-tran made their first contribution in #8282
- @Naman-B-Parlecha made their first contribution in #8266
- @gabyfulchic made their first contribution in #8252
- @GregSharpe1 made their first contribution in #8306
- @hczhu made their first contribution in #8296
Full Changelog: v0.38.0...v0.39.0
v0.39.0-rc.0
In short: there are a bunch of fixes and small improvements. The shining items in this release are memory usage improvements in Thanos Query and shuffle sharding support in Thanos Receiver. Information about shuffle sharding support is available in the documentation. Thank you to all contributors!
Added
- #8308 Receive: Prometheus counters for pending write requests and series requests
- #8225 tools: Extend bucket ls options.
- #8238 Receive: add shuffle sharding support
- #8284 Store: Add
--disable-admin-operationsFlag to Store Gateway - #8245 Querier/Query-Frontend/Ruler: Add
--enable-feature=promql-experimental-functionsflag option to enable using promQL experimental functions in respective Thanos components - #8259 Shipper: Add
--shipper.skip-corrupted-blocksflag to allowSync()to continue upload when finding a corrupted block
Changed
- #8282 Force sync writes to meta.json in case of host crash
- #8192 Sidecar: fix default get config timeout
- #8202 Receive: Unhide
--tsdb.enable-native-histogramsflag - #8315 Query-Frontend: only ready if downstream is ready
Removed
- #8289 Receive: breaking
⚠️ Removed migration of legacy-TSDB to multi-TSDB. Ensure you are running version >0.13
Fixed
- #8199 Query: handle panics or nil pointer dereference in querier gracefully when query analyze returns nil
- #8211 Query: fix panic on nested partial response in distributed instant query
- #8216 Query/Receive: fix iter race between
next()andstop()introduced in #7821. - #8212 Receive: Ensure forward/replication metrics are incremented in err cases
- #8296 Query: limit LazyRetrieval memory buffer size
New Contributors
- @naohiroo made their first contribution in #8190
- @vCra made their first contribution in #8202
- @yuchen-db made their first contribution in #8216
- @adrmaas made their first contribution in #8210
- @machine424 made their first contribution in #8014
- @dronenb made their first contribution in #8263
- @siavashs made their first contribution in #8268
- @anna-tran made their first contribution in #8282
- @Naman-B-Parlecha made their first contribution in #8266
- @gabyfulchic made their first contribution in #8252
- @GregSharpe1 made their first contribution in #8306
- @hczhu made their first contribution in #8296
Full Changelog: v0.38.0...v0.39.0-rc.0
v0.38.0
v0.38.0 is out now, please see the changelog below for what happened! 🚀
Changelog
Fixed
- #8091 *: Add POST into allowed CORS methods header
- #8046 Query-Frontend: Fix query statistic reporting for range queries when caching is enabled.
- #7978 Receive: Fix deadlock during local writes when
split-tenant-label-nameis used - #8016 Query Frontend: Fix @ modifier not being applied correctly on sub queries.
-#8175 Query: fix endpointset setup
Added
- #7907 Receive: Add
--receive.grpc-service-configflag to configure gRPC service config for the receivers. - #7961 Store Gateway: Add
--store.posting-group-max-keysflag to mark posting group as lazy if it exceeds number of keys limit. Addedthanos_bucket_store_lazy_expanded_posting_groups_totalfor total number of lazy posting groups and corresponding reasons. - #8000 Query: Bump promql-engine, pass partial response through options
- #7353 #8045 Receiver/StoreGateway: Add
--matcher-cache-sizeoption to enable caching for regex matchers in series calls. - #8017 Store Gateway: Use native histogram for binary reader load and download duration and fixed download duration metric. #8017
- #8131 Store Gateway: Optimize regex matchers for .* and .+. #8131
- #7808 Query: Support chain deduplication algorithm.
- #8158 Rule: Add support for query offset.
- #8110 Compact: implement native histogram downsampling.
- #7996 Receive: Add OTLP endpoint.
Changed
- #7890 Query,Ruler: breaking
⚠️ deprecated--store.sd-fileand--store.sd-intervalto be replaced with--endpoint.sd-configand--endpoint-sd-config-reload-interval; removed legacy flags to pass endpoints--store,--metadata,--rule,--exemplar. - #7012 Query: Automatically adjust
max_source_resolutionbased on promql query to avoid querying data from higher resolution resulting empty results. - #8118 Query: Bumped promql-engine
- #8135 Query: respect partial response in distributed engine
- #8181 Deps: bump promql engine
New Contributors
- @didukh86 made their first contribution in #7674
- @bluesky6529 made their first contribution in #7942
- @SungJin1212 made their first contribution in #7962
- @rvichery made their first contribution in #7978
- @abelsimonn made their first contribution in #8003
- @cswpy made their first contribution in #8031
- @rofc made their first contribution in #8034
- @dsabsay made their first contribution in #8044
- @celian-garcia made their first contribution in #8091
- @psliwka made their first contribution in #8092
- @Saumya40-codes made their first contribution in #8105
- @martafolf made their first contribution in #8075
- @miinsun made their first contribution in #8120
Full Changelog: v0.37.2...v0.38.0
v0.38.0-rc.1
v0.38.0-rc.0
v0.38.0-rc.0 is out now, please try it out and let us know if you find further issues! 🚀
Changelog
Fixed
- #8091 *: Add POST into allowed CORS methods header
- #8046 Query-Frontend: Fix query statistic reporting for range queries when caching is enabled.
- #7978 Receive: Fix deadlock during local writes when
split-tenant-label-nameis used - #8016 Query Frontend: Fix @ modifier not being applied correctly on sub queries.
Added
- #7907 Receive: Add
--receive.grpc-service-configflag to configure gRPC service config for the receivers. - #7961 Store Gateway: Add
--store.posting-group-max-keysflag to mark posting group as lazy if it exceeds number of keys limit. Addedthanos_bucket_store_lazy_expanded_posting_groups_totalfor total number of lazy posting groups and corresponding reasons. - #8000 Query: Bump promql-engine, pass partial response through options
- #7353 #8045 Receiver/StoreGateway: Add
--matcher-cache-sizeoption to enable caching for regex matchers in series calls. - #8017 Store Gateway: Use native histogram for binary reader load and download duration and fixed download duration metric. #8017
- #8131 Store Gateway: Optimize regex matchers for .* and .+. #8131
- #7808 Query: Support chain deduplication algorithm.
- #8158 Rule: Add support for query offset.
- #8110 Compact: implement native histogram downsampling.
- #7996 Receive: Add OTLP endpoint.
Changed
- #7890 Query,Ruler: breaking
⚠️ deprecated--store.sd-fileand--store.sd-intervalto be replaced with--endpoint.sd-configand--endpoint-sd-config-reload-interval; removed legacy flags to pass endpoints--store,--metadata,--rule,--exemplar. - #7012 Query: Automatically adjust
max_source_resolutionbased on promql query to avoid querying data from higher resolution resulting empty results. - #8118 Query: Bumped promql-engine
- #8135 Query: respect partial response in distributed engine
New Contributors
- @didukh86 made their first contribution in #7674
- @bluesky6529 made their first contribution in #7942
- @SungJin1212 made their first contribution in #7962
- @rvichery made their first contribution in #7978
- @abelsimonn made their first contribution in #8003
- @cswpy made their first contribution in #8031
- @rofc made their first contribution in #8034
- @dsabsay made their first contribution in #8044
- @celian-garcia made their first contribution in #8091
- @psliwka made their first contribution in #8092
- @Saumya40-codes made their first contribution in #8105
- @martafolf made their first contribution in #8075
- @miinsun made their first contribution in #8120
Full Changelog: v0.37.2...v0.38.0-rc.0