Skip to content

Releases: thanos-io/thanos

v0.41.0

12 Feb 10:32

Choose a tag to compare

This is a good one, among several bug fixes, we have batched Series and Query RPCs now - this should lead to drastic improvements in network bandwidth and decent improvements in CPU/Memory usage of Querier and all its endpoints.

Changes

Fixed

  • #8378: Store: fix the reuse of dirty posting slices
  • #8558: Query-Frontend: Fix not logging requests when external-prefix is set in query
  • #8254 Receive: Endless loop of retried replication with capnproto and distributors
  • #8618: Query-Frontend: ensure slow query and stats logging on request failures
  • #8480: Store: fix(readerpool): avoid inserting nil LazyBinaryReader on error to avoid panic

Added

  • #8623: Query: Enable batching of Series per SeriesResponse.
  • #8582: Sidecar: support --storage.tsdb.delay-compact-file.path Prometheus flag.
  • #8595: *: add --shipper.upload-compacted flag for controlling upload concurrency in components that use shippper

Changed

  • #8630: Receive: breaking ⚠️ shuffle sharding now uses consistent hashing for stability on scale. Existing tenant-to-node assignments will change on upgrade.
  • #8555: Promu: re-add Darwin and FreeBSD as release platforms
  • #8661: Upgrade Prometheus to v3.8.0. tsdb.enable-native-histograms flag in Receiver and Ruler becomes a no-op and deprecated. Now native histogram ingestion is always enabled.

New Contributors

v0.41.0-rc.1

11 Feb 10:41
70ab0d9

Choose a tag to compare

v0.41.0-rc.1 Pre-release
Pre-release

Like v0.41.0-rc.0 but with additional cherry-pick of:

downgrade grpc-go to fix memory leak: #8671

v0.41.0-rc.0

09 Feb 14:03
a1cfc6b

Choose a tag to compare

v0.41.0-rc.0 Pre-release
Pre-release

This is a good one, among several bug fixes, we have batched Series and Query RPCs now - this should lead to drastic improvements in network bandwidth and decent improvements in CPU/Memory usage of Querier and all its endpoints.

Changes

Fixed

  • #8378: Store: fix the reuse of dirty posting slices
  • #8558: Query-Frontend: Fix not logging requests when external-prefix is set in query
  • #8254 Receive: Endless loop of retried replication with capnproto and distributors
  • #8618: Query-Frontend: ensure slow query and stats logging on request failures
  • #8480: Store: fix(readerpool): avoid inserting nil LazyBinaryReader on error to avoid panic

Added

  • #8623: Query: Enable batching of Series per SeriesResponse.
  • #8582: Sidecar: support --storage.tsdb.delay-compact-file.path Prometheus flag.
  • #8595: *: add --shipper.upload-compacted flag for controlling upload concurrency in components that use shippper

Changed

  • #8630: Receive: breaking ⚠️ shuffle sharding now uses consistent hashing for stability on scale. Existing tenant-to-node assignments will change on upgrade.
  • #8555: Promu: re-add Darwin and FreeBSD as release platforms
  • #8661: Upgrade Prometheus to v3.8.0. tsdb.enable-native-histograms flag in Receiver and Ruler becomes a no-op and deprecated. Now native histogram ingestion is always enabled.

New Contributors

v0.40.1

28 Oct 18:13
v0.40.1
8b0e81b

Choose a tag to compare

-- There is still a performance regression in this release #8549 that we are working on fixing --

This fix fixes a performance regression in the gRPC layer.

What's Changed

Full Changelog: v0.40.0...v0.40.1

v0.40.0

27 Oct 11:24
v0.40.0
52542b9

Choose a tag to compare

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/values API.
  • #8336 store: fix race between lazy index header creation

Added

  • #8366 Store: optionally ignore Parquet migrated blocks
  • #8359 Tools: add --shipper.upload-compacted flag for uploading compacted blocks to bucket upload-blocks
  • #8484 Query: add /api/v1/status/tsdb API 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

Full Changelog: v0.39.2...v0.40.0

v0.40.0-rc.0

21 Oct 13:02
v0.40.0-rc.0
4c1eec7

Choose a tag to compare

v0.40.0-rc.0 Pre-release
Pre-release

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/values API.
  • #8336 store: fix race between lazy index header creation

Added

  • #8366 Store: optionally ignore Parquet migrated blocks
  • #8359 Tools: add --shipper.upload-compacted flag for uploading compacted blocks to bucket upload-blocks
  • #8484 Query: add /api/v1/status/tsdb API 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

Full Changelog: v0.39.2...v0.40.0-rc.0

v0.39.2

21 Jul 06:51
36681af

Choose a tag to compare

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

01 Jul 13:03
v0.39.1
ad74391

Choose a tag to compare

Fixes a memory leak issue on query-frontend. The bug only affects v0.39.0.

Fixed

  • #8349 Query-Frontend: properly clean up resources
  • #8338 Query-Frontend: use original roundtripper + close immediately

Full Changelog: v0.39.0...v0.39.1

v0.39.0

25 Jun 11:54
v0.39.0
0453c9b

Choose a tag to compare

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-operations Flag to Store Gateway
  • #8245 Querier/Query-Frontend/Ruler: Add --enable-feature=promql-experimental-functions flag option to enable using promQL experimental functions in respective Thanos components
  • #8259 Shipper: Add --shipper.skip-corrupted-blocks flag to allow Sync() 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-histograms flag
  • #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() and stop() introduced in #7821.
  • #8212 Receive: Ensure forward/replication metrics are incremented in err cases
  • #8296 Query: limit LazyRetrieval memory buffer size

New Contributors

Full Changelog: v0.38.0...v0.39.0

v0.39.0-rc.0

20 Jun 04:45
v0.39.0-rc.0
a6c05e6

Choose a tag to compare

v0.39.0-rc.0 Pre-release
Pre-release

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-operations Flag to Store Gateway
  • #8245 Querier/Query-Frontend/Ruler: Add --enable-feature=promql-experimental-functions flag option to enable using promQL experimental functions in respective Thanos components
  • #8259 Shipper: Add --shipper.skip-corrupted-blocks flag to allow Sync() 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-histograms flag
  • #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() and stop() introduced in #7821.
  • #8212 Receive: Ensure forward/replication metrics are incremented in err cases
  • #8296 Query: limit LazyRetrieval memory buffer size

New Contributors

Full Changelog: v0.38.0...v0.39.0-rc.0