Skip to content

Releases: thanos-io/thanos

v0.39.0

25 Jun 11:54
v0.39.0
0453c9b
Compare
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
Compare
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

v0.38.0

03 Apr 12:14
0439da0
Compare
Choose a tag to compare

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-name is 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-config flag to configure gRPC service config for the receivers.
  • #7961 Store Gateway: Add --store.posting-group-max-keys flag to mark posting group as lazy if it exceeds number of keys limit. Added thanos_bucket_store_lazy_expanded_posting_groups_total for 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-size option 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-file and --store.sd-interval to be replaced with --endpoint.sd-config and --endpoint-sd-config-reload-interval; removed legacy flags to pass endpoints --store, --metadata, --rule, --exemplar.
  • #7012 Query: Automatically adjust max_source_resolution based 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

Full Changelog: v0.37.2...v0.38.0

v0.38.0-rc.1

01 Apr 07:07
b114d2b
Compare
Choose a tag to compare
v0.38.0-rc.1 Pre-release
Pre-release

v0.38.0-rc.1 is out now, please try it out and let us know if you find further issues! 🚀

It includes the changes for v0.38.0.rc.0 and two cherry picks:

  • #8175 Query: fix endpointset setup
  • #8181 Deps: bump promql engine

v0.38.0-rc.0

25 Mar 14:05
e7d8887
Compare
Choose a tag to compare
v0.38.0-rc.0 Pre-release
Pre-release

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-name is used
  • #8016 Query Frontend: Fix @ modifier not being applied correctly on sub queries.

Added

  • #7907 Receive: Add --receive.grpc-service-config flag to configure gRPC service config for the receivers.
  • #7961 Store Gateway: Add --store.posting-group-max-keys flag to mark posting group as lazy if it exceeds number of keys limit. Added thanos_bucket_store_lazy_expanded_posting_groups_total for 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-size option 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-file and --store.sd-interval to be replaced with --endpoint.sd-config and --endpoint-sd-config-reload-interval; removed legacy flags to pass endpoints --store, --metadata, --rule, --exemplar.
  • #7012 Query: Automatically adjust max_source_resolution based 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

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

v0.37.2

11 Dec 09:28
v0.37.2
18291a7
Compare
Choose a tag to compare

v0.37.2 is out now with a few fixes for Sidecar and Store, before the end of the year!

Please try it out and let us know if you find further issues! 🚀

Changelog

Fixed

  • #7970 Sidecar: Respect min-time setting.
  • #7962 Store: Fix potential deadlock in hedging request.

v0.37.1

04 Dec 08:45
v0.37.1
e0812e2
Compare
Choose a tag to compare

v0.37.1 is out now with a few fixes for Receive and Store.

Please try it out and let us know if you find further issues! 🚀

Changelog

Fixed

  • #7674 Query-frontend: Fix connection to Redis cluster with TLS.
  • #7945 Receive: Capnproto - use segment from existing message.
  • #7941 Receive: Fix race condition when adding multiple new tenants, see issue-7892.
  • #7954 Sidecar: Ensure limit param is positive for compatibility with older Prometheus.
  • #7953 Query: Update promql-engine for subquery avg fix.

v0.37.0

25 Nov 12:03
v0.37.0
889d527
Compare
Choose a tag to compare

v0.37.0 is now out!

We have some really interesting features this time around, with several improvements across components, a new replication protocol for Receivers, and even fixes for Prometheus v3! Do take a look at some of the breaking changes below!

Thank you to all contributors who have contributed to this release. It wouldn't be possible without you! 💜

Please try it out and let us know if you find any issues! 🚀

Changelog

Fixed

  • #7511 Query Frontend: fix doubled gzip compression for response body.
  • #7592 Ruler: Only increment thanos_rule_evaluation_with_warnings_total metric for non PromQL warnings.
  • #7614 *: fix debug log formatting.
  • #7492 Compactor: update filtered blocks list before second downsample pass.
  • #7658 Store: Fix panic because too small buffer in pool.
  • #7643 Receive: fix thanos_receive_write_{timeseries,samples} stats
  • #7644 fix(ui): add null check to find overlapping blocks logic
  • #7814 Store: label_values: if matchers contain name=="something", do not add != "" to fetch less postings.
  • #7679 Query: respect store.limit.* flags when evaluating queries
  • #7821 Query/Receive: Fix coroutine leak introduced in #7796.
  • #7843 Query Frontend: fix slow query logging for non-query endpoints.
  • #7852 Query Frontend: pass "stats" parameter forward to queriers and fix Prometheus stats merging.
  • #7832 Query Frontend: Fix cache keys for dynamic split intervals.
  • #7885 Store: Return chunks to the pool after completing a Series call.
  • #7893 Sidecar: Fix retrieval of external labels for Prometheus v3.0.0.
  • #7903 Query: Fix panic on regex store matchers.
  • #7915 Store: Close block series client at the end to not reuse chunk buffer

Added

  • #7763 Ruler: use native histograms for client latency metrics.
  • #7609 API: Add limit param to metadata APIs (series, label names, label values).
  • #7429: Reloader: introduce TolerateEnvVarExpansionErrors to allow suppressing errors when expanding environment variables in the configuration file. When set, this will ensure that the reloader won't consider the operation to fail when an unset environment variable is encountered. Note that all unset environment variables are left as is, whereas all set environment variables are expanded as usual.
  • #7560 Query: Added the possibility of filtering rules by rule_name, rule_group or file to HTTP api.
  • #7652 Store: Implement metadata API limit in stores.
  • #7659 Receive: Add support for replication using Cap'n Proto. This protocol has a lower CPU and memory footprint, which leads to a reduction in resource usage in Receivers. Before enabling it, make sure that all receivers are updated to a version which supports this replication method.
  • #7853 UI: Add support for selecting graph time range with mouse drag.
  • #7855 Compcat/Query: Add support for comma separated replica labels.
  • #7654 *: Add '--grpc-server-tls-min-version' flag to allow user to specify TLS version, otherwise default to TLS 1.3
  • #7854 Query Frontend: Add --query-frontend.force-query-stats flag to force collection of query statistics from upstream queriers.
  • #7860 Store: Support hedged requests
  • #7924 *: Upgrade promql-engine to v0.0.0-20241106100125-097e6e9f425a and objstore to v0.0.0-20241111205755-d1dd89d41f97
  • #7835 Ruler: Add ability to do concurrent rule evaluations
  • #7722 Query: Add partition labels flag to partition leaf querier in distributed mode

Changed

  • #7494 Ruler: remove trailing period from SRV records returned by discovery dnsnosrva lookups
  • #7567 Query: Use thanos resolver for endpoint groups.
  • #7741 Deps: Bump Objstore to v0.0.0-20240913074259-63feed0da069
  • #7813 Receive: enable initial TSDB compaction time randomization
  • #7820 Sidecar: Use prometheus metrics for min timestamp
  • #7886 Discovery: Preserve results from other resolve calls
  • #7669 Receive: Change quorum calculation for rf=2

Removed

  • #7704 *: breaking ⚠️ remove Store gRPC Info function. This has been deprecated for 3 years, its time to remove it.
  • #7793 Receive: Disable dedup proxy in multi-tsdb
  • #7678 Query: Skip formatting strings if debug logging is disabled

New Contributors

Full Commit History: v0.35.1...v0.37.0-rc.0

v0.37.0-rc.0

19 Nov 11:50
v0.37.0-rc.0
0256823
Compare
Choose a tag to compare
v0.37.0-rc.0 Pre-release
Pre-release

The first release candidate of v0.37.0 is out!

We have some really interesting features this time around, with several improvements across components, a new replication protocol for Receivers, and even fixes for Prometheus v3! Do take a look at some of the breaking changes below!

Thank you to all contributors who have contributed to this release. It wouldn't be possible without you! 💜

Please try it out and let us know if you find any issues! 🚀

Changelog

Fixed

  • #7511 Query Frontend: fix doubled gzip compression for response body.
  • #7592 Ruler: Only increment thanos_rule_evaluation_with_warnings_total metric for non PromQL warnings.
  • #7614 *: fix debug log formatting.
  • #7492 Compactor: update filtered blocks list before second downsample pass.
  • #7658 Store: Fix panic because too small buffer in pool.
  • #7643 Receive: fix thanos_receive_write_{timeseries,samples} stats
  • #7644 fix(ui): add null check to find overlapping blocks logic
  • #7814 Store: label_values: if matchers contain name=="something", do not add != "" to fetch less postings.
  • #7679 Query: respect store.limit.* flags when evaluating queries
  • #7821 Query/Receive: Fix coroutine leak introduced in #7796.
  • #7843 Query Frontend: fix slow query logging for non-query endpoints.
  • #7852 Query Frontend: pass "stats" parameter forward to queriers and fix Prometheus stats merging.
  • #7832 Query Frontend: Fix cache keys for dynamic split intervals.
  • #7885 Store: Return chunks to the pool after completing a Series call.
  • #7893 Sidecar: Fix retrieval of external labels for Prometheus v3.0.0.
  • #7903 Query: Fix panic on regex store matchers.
  • #7915 Store: Close block series client at the end to not reuse chunk buffer

Added

  • #7763 Ruler: use native histograms for client latency metrics.
  • #7609 API: Add limit param to metadata APIs (series, label names, label values).
  • #7429: Reloader: introduce TolerateEnvVarExpansionErrors to allow suppressing errors when expanding environment variables in the configuration file. When set, this will ensure that the reloader won't consider the operation to fail when an unset environment variable is encountered. Note that all unset environment variables are left as is, whereas all set environment variables are expanded as usual.
  • #7560 Query: Added the possibility of filtering rules by rule_name, rule_group or file to HTTP api.
  • #7652 Store: Implement metadata API limit in stores.
  • #7659 Receive: Add support for replication using Cap'n Proto. This protocol has a lower CPU and memory footprint, which leads to a reduction in resource usage in Receivers. Before enabling it, make sure that all receivers are updated to a version which supports this replication method.
  • #7853 UI: Add support for selecting graph time range with mouse drag.
  • #7855 Compcat/Query: Add support for comma separated replica labels.
  • #7654 *: Add '--grpc-server-tls-min-version' flag to allow user to specify TLS version, otherwise default to TLS 1.3
  • #7854 Query Frontend: Add --query-frontend.force-query-stats flag to force collection of query statistics from upstream queriers.
  • #7860 Store: Support hedged requests
  • #7924 *: Upgrade promql-engine to v0.0.0-20241106100125-097e6e9f425a and objstore to v0.0.0-20241111205755-d1dd89d41f97
  • #7835 Ruler: Add ability to do concurrent rule evaluations
  • #7722 Query: Add partition labels flag to partition leaf querier in distributed mode

Changed

  • #7494 Ruler: remove trailing period from SRV records returned by discovery dnsnosrva lookups
  • #7567 Query: Use thanos resolver for endpoint groups.
  • #7741 Deps: Bump Objstore to v0.0.0-20240913074259-63feed0da069
  • #7813 Receive: enable initial TSDB compaction time randomization
  • #7820 Sidecar: Use prometheus metrics for min timestamp
  • #7886 Discovery: Preserve results from other resolve calls
  • #7669 Receive: Change quorum calculation for rf=2

Removed

  • #7704 *: breaking ⚠️ remove Store gRPC Info function. This has been deprecated for 3 years, its time to remove it.
  • #7793 Receive: Disable dedup proxy in multi-tsdb
  • #7678 Query: Skip formatting strings if debug logging is disabled

New Contributors

Full Commit History: v0.35.1...v0.37.0-rc.0

v0.36.1

13 Aug 11:54
v0.36.1
99a5742
Compare
Choose a tag to compare

This patch release brings a few fixes! Please try it out and let us know if you face issues! 🚀

Changelog

Fixed

  • #7634 Rule: fix Query and Alertmanager TLS configurations with CA only.
  • #7618 Proxy: Query goroutine leak when store.response-timeout is set