Skip to content

Releases: thanos-io/thanos

v0.42.5

Choose a tag to compare

@GiedriusS GiedriusS released this 27 Oct 10:58
4f05efe

v0.42.4 but with eMudhra CA fix.

v0.42.4

Choose a tag to compare

@saswatamcode saswatamcode released this 30 Jul 14:33
v0.42.4
45c4f39

Had to do another version release due to broken base image SHAs. No changes.

Full Changelog: v0.42.3...v0.42.4

v0.42.3

Choose a tag to compare

@GiedriusS GiedriusS released this 29 Jul 10:49
b2b2b53

Fixes a small bug - like before now Receive on shutdown creates a new block and uploads it.

Fixed

  • #8948: receive: Preserve upload on shutdown behaviour

v0.42.2

Choose a tag to compare

@GiedriusS GiedriusS released this 17 Jul 06:51

Had to do another version release due to broken base image SHAs. No changes.

v0.42.1

Choose a tag to compare

@GiedriusS GiedriusS released this 16 Jul 19:45

This change fixes a small issue regarding timeouts in the Shipper component in the Receiver - we've accidentally set them too small. Sorry for that!

Changed

  • #8920: receive: bump timeouts

v0.42.0

Choose a tag to compare

@GiedriusS GiedriusS released this 08 Jul 14:44
0d7a353

The biggest new things in this release are, I think, Receive component's improvements regarding tenant's lifecycle handling, ability to have per endpoint configuration, and showing fanout information in Thanos Query. Thank you to everyone for your contributions!

Fixed

  • #8752: Query: Fix exemplar proxy stripping external label matchers in multi-tier query topologies. In Query A → Query B → Sidecar setups, external label matchers are now preserved when forwarding to downstream Query nodes so they can route to the correct stores.
  • #8726: *: Bump thanos-community/grpc-go fork to fix CVE-2026-33186 (CVSS 9.1), an authorization bypass via malformed :path headers that could bypass path-based "deny" rules in grpc/authz interceptors.
  • #8714: Tracing: Fix tls_config fields (ca_file, cert_file, key_file) being silently ignored when using the OTLP gRPC exporter. Previously, deployments using a private CA or mTLS client certificates had to work around this via OTEL_EXPORTER_OTLP_CERTIFICATE and related environment variables.
  • #8128: Query-Frontend: Fix panic in AnalyzesMerge caused by indexing the wrong slice variable, leading to an out-of-range access when merging more than two query analyses.
  • #8720: Receive: Fix 503 errors during restarts in some cases.
  • #8762: Query-Frontend: Fix trace ID missing from slow query logs, regression from #8618.
  • #8799: *: Set a KeepaliveEnforcementPolicy with MinTime: 10s on all gRPC servers, matching the client keepalive interval.
  • #8806: Receive: Validate tenant IDs extracted from split-tenant labels to prevent path traversal.
  • #8810: Ruler: correctly pass query partial response for gRPC.

Added

  • #8691: Cache: add redis key prefix support
  • #8691: query/ui: show fanout information
  • #8691: Compactor: remove the directory marker objects for some s3 compatible object stores
  • #8730: *: add --grpc-server-tls-ciphers to configure cipher suites for gRPC servers.
  • #8730: Receive: add --remote-write.server-tls-ciphers to configure cipher suites for the HTTP server.
  • #8770: *: add --grpc-server-tls-curves to configure curves for gRPC servers.
  • #8770: Receive: add --remote-write.server-tls-curves to configure curves for the HTTP server.
  • #8808: ruler, sidecar: Add TSDB stats endpoint to gRPC server.
  • #8797: Receive, Compact, Sidecar: Use os.Root API to confine filesystem access to the service data directory.
  • #8594: Query: Support per endpoint TLS configuration.

Changed

  • #8670: Receive: breaking ⚠️ removed --shipper.ignore-unequal-block-size. TSDB now delays compaction until blocks have been uploaded by the shipper, allowing compaction while uploading without risking data loss.
  • #8802: Cache: add SendToReplicas option while initializing Rueidis client to allow sending read-only requests to Redis replica instances.
  • #8839: Store: breaking ⚠️ removed --debug.advertise-compatibility-label. Stores now don't advertise @thanos_compatibility_store_type=store external label by default, breaking compatibility with Thanos Query before v0.8.0.
  • #8831: Query-Frontend: change time_taken field to time_taken_ms for consistent JSON output for easier parsing by the log collector.
  • #8853: Compactor: remove labels specified as dedup replica labels in hashmod calculation; this fixes a footgun that users could inadvertently hit.
  • #8796: queryfrontend: add other params to key

Removed

v0.42.0-rc.2

v0.42.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@GiedriusS GiedriusS released this 30 Jun 13:06
4419d74

v0.42.0-rc.2 - 2026 06 30

RC.2 fixes a few small regressions after introducing the *os.Root API.

NOTE: we skipped over rc.0 because the release pipeline was broken due to update base image SHAs. There are no other changes except for that in comparison to rc.0.

The biggest new things in this release are, I think, Receive component's improvements regarding tenant's lifecycle handling, ability to have per endpoint configuration, and showing fanout information in Thanos Query. Thank you to everyone for your contributions!

Fixed

  • #8752: Query: Fix exemplar proxy stripping external label matchers in multi-tier query topologies. In Query A → Query B → Sidecar setups, external label matchers are now preserved when forwarding to downstream Query nodes so they can route to the correct stores.
  • #8726: *: Bump thanos-community/grpc-go fork to fix CVE-2026-33186 (CVSS 9.1), an authorization bypass via malformed :path headers that could bypass path-based "deny" rules in grpc/authz interceptors.
  • #8714: Tracing: Fix tls_config fields (ca_file, cert_file, key_file) being silently ignored when using the OTLP gRPC exporter. Previously, deployments using a private CA or mTLS client certificates had to work around this via OTEL_EXPORTER_OTLP_CERTIFICATE and related environment variables.
  • #8128: Query-Frontend: Fix panic in AnalyzesMerge caused by indexing the wrong slice variable, leading to an out-of-range access when merging more than two query analyses.
  • #8720: Receive: Fix 503 errors during restarts in some cases.
  • #8762: Query-Frontend: Fix trace ID missing from slow query logs, regression from #8618.
  • #8799: *: Set a KeepaliveEnforcementPolicy with MinTime: 10s on all gRPC servers, matching the client keepalive interval.
  • #8806: Receive: Validate tenant IDs extracted from split-tenant labels to prevent path traversal.
  • #8810: Ruler: correctly pass query partial response for gRPC.

Added

  • #8691: Cache: add redis key prefix support
  • #8691: query/ui: show fanout information
  • #8691: Compactor: remove the directory marker objects for some s3 compatible object stores
  • #8730: *: add --grpc-server-tls-ciphers to configure cipher suites for gRPC servers.
  • #8730: Receive: add --remote-write.server-tls-ciphers to configure cipher suites for the HTTP server.
  • #8770: *: add --grpc-server-tls-curves to configure curves for gRPC servers.
  • #8770: Receive: add --remote-write.server-tls-curves to configure curves for the HTTP server.
  • #8808: ruler, sidecar: Add TSDB stats endpoint to gRPC server.
  • #8797: Receive, Compact, Sidecar: Use os.Root API to confine filesystem access to the service data directory.
  • #8594: Query: Support per endpoint TLS configuration.

Changed

  • #8670: Receive: breaking ⚠️ removed --shipper.ignore-unequal-block-size. TSDB now delays compaction until blocks have been uploaded by the shipper, allowing compaction while uploading without risking data loss.
  • #8802: Cache: add SendToReplicas option while initializing Rueidis client to allow sending read-only requests to Redis replica instances.
  • #8839: Store: breaking ⚠️ removed --debug.advertise-compatibility-label. Stores now don't advertise @thanos_compatibility_store_type=store external label by default, breaking compatibility with Thanos Query before v0.8.0.
  • #8831: Query-Frontend: change time_taken field to time_taken_ms for consistent JSON output for easier parsing by the log collector.
  • #8853: Compactor: remove labels specified as dedup replica labels in hashmod calculation; this fixes a footgun that users could inadvertently hit.
  • #8796: queryfrontend: add other params to key

v0.42.0-rc.1

v0.42.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@GiedriusS GiedriusS released this 25 Jun 07:16
9f5a57c

v0.42.0-rc.1 - 2026 06 26

NOTE: we skipped over rc.0 because the release pipeline was broken due to update base image SHAs. There are no other changes except for that in comparison to rc.0.

The biggest new things in this release are, I think, Receive component's improvements regarding tenant's lifecycle handling, ability to have per endpoint configuration, and showing fanout information in Thanos Query. Thank you to everyone for your contributions!

Fixed

  • #8752: Query: Fix exemplar proxy stripping external label matchers in multi-tier query topologies. In Query A → Query B → Sidecar setups, external label matchers are now preserved when forwarding to downstream Query nodes so they can route to the correct stores.
  • #8726: *: Bump thanos-community/grpc-go fork to fix CVE-2026-33186 (CVSS 9.1), an authorization bypass via malformed :path headers that could bypass path-based "deny" rules in grpc/authz interceptors.
  • #8714: Tracing: Fix tls_config fields (ca_file, cert_file, key_file) being silently ignored when using the OTLP gRPC exporter. Previously, deployments using a private CA or mTLS client certificates had to work around this via OTEL_EXPORTER_OTLP_CERTIFICATE and related environment variables.
  • #8128: Query-Frontend: Fix panic in AnalyzesMerge caused by indexing the wrong slice variable, leading to an out-of-range access when merging more than two query analyses.
  • #8720: Receive: Fix 503 errors during restarts in some cases.
  • #8762: Query-Frontend: Fix trace ID missing from slow query logs, regression from #8618.
  • #8799: *: Set a KeepaliveEnforcementPolicy with MinTime: 10s on all gRPC servers, matching the client keepalive interval.
  • #8806: Receive: Validate tenant IDs extracted from split-tenant labels to prevent path traversal.
  • #8810: Ruler: correctly pass query partial response for gRPC.

Added

  • #8691: Cache: add redis key prefix support
  • #8691: query/ui: show fanout information
  • #8691: Compactor: remove the directory marker objects for some s3 compatible object stores
  • #8730: *: add --grpc-server-tls-ciphers to configure cipher suites for gRPC servers.
  • #8730: Receive: add --remote-write.server-tls-ciphers to configure cipher suites for the HTTP server.
  • #8770: *: add --grpc-server-tls-curves to configure curves for gRPC servers.
  • #8770: Receive: add --remote-write.server-tls-curves to configure curves for the HTTP server.
  • #8808: ruler, sidecar: Add TSDB stats endpoint to gRPC server.
  • #8797: Receive, Compact, Sidecar: Use os.Root API to confine filesystem access to the service data directory.
  • #8594: Query: Support per endpoint TLS configuration.

Changed

  • #8670: Receive: breaking ⚠️ removed --shipper.ignore-unequal-block-size. TSDB now delays compaction until blocks have been uploaded by the shipper, allowing compaction while uploading without risking data loss.
  • #8802: Cache: add SendToReplicas option while initializing Rueidis client to allow sending read-only requests to Redis replica instances.
  • #8839: Store: breaking ⚠️ removed --debug.advertise-compatibility-label. Stores now don't advertise @thanos_compatibility_store_type=store external label by default, breaking compatibility with Thanos Query before v0.8.0.
  • #8831: Query-Frontend: change time_taken field to time_taken_ms for consistent JSON output for easier parsing by the log collector.
  • #8853: Compactor: remove labels specified as dedup replica labels in hashmod calculation; this fixes a footgun that users could inadvertently hit.
  • #8796: queryfrontend: add other params to key

v0.41.0

Choose a tag to compare

@MichaHoffmann MichaHoffmann released this 12 Feb 10:32

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

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

Choose a tag to compare

@MichaHoffmann MichaHoffmann released this 11 Feb 10:41
70ab0d9

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

downgrade grpc-go to fix memory leak: #8671