Skip to content

Releases: thanos-io/thanos

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

v0.36.0

31 Jul 15:41
v0.36.0
cfff551
Compare
Choose a tag to compare

v0.36.0 is out now!

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

  • #7326 Query: fixing exemplars proxy when querying stores with multiple tenants.
  • #7403 Sidecar: fix startup sequence
  • #7484 Proxy: fix panic in lazy response set

Added

  • #7317 Tracing: allow specifying resource attributes for the OTLP configuration.
  • #7367 Store Gateway: log request ID in request logs.
  • #7361 Query: breaking ⚠️ pass query stats from remote execution from server to client. We changed the protobuf of the QueryAPI, if you use query.mode=distributed you need to update your client (upper level Queriers) first, before updating leaf Queriers (servers).
  • #7363 Query-frontend: set value of remote_user field in Slow Query Logs from HTTP header
  • #7335 Dependency: Update minio-go to v7.0.70 which includes support for EKS Pod Identity.
  • #7477 *: Bump objstore to 20240622095743-1afe5d4bc3cd

Changed

  • #7334 Compactor: do not vertically compact downsampled blocks. Such cases are now marked with no-compact-mark.json. Fixes panic panic: unexpected seriesToChunkEncoder lack of iterations.
  • #7393 *: breaking ⚠️ Using native histograms for grpc middleware metrics. Metrics grpc_client_handling_seconds and grpc_server_handling_seconds will now be native histograms, if you have enabled native histogram scraping you will need to update your PromQL expressions to use the new metric names.

New Contributors

Full Changelog: v0.35.1...v0.36.0

v0.36.0-rc.1

18 Jul 10:11
v0.36.0-rc.1
8511649
Compare
Choose a tag to compare
v0.36.0-rc.1 Pre-release
Pre-release

The second release candidate of v0.36.0 is out!

We include a server gRPC histogram fix in this release.

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

  • #7326 Query: fixing exemplars proxy when querying stores with multiple tenants.
  • #7403 Sidecar: fix startup sequence
  • #7484 Proxy: fix panic in lazy response set

Added

  • #7317 Tracing: allow specifying resource attributes for the OTLP configuration.
  • #7367 Store Gateway: log request ID in request logs.
  • #7361 Query: breaking ⚠️ pass query stats from remote execution from server to client. We changed the protobuf of the QueryAPI, if you use query.mode=distributed you need to update your client (upper level Queriers) first, before updating leaf Queriers (servers).
  • #7363 Query-frontend: set value of remote_user field in Slow Query Logs from HTTP header
  • #7335 Dependency: Update minio-go to v7.0.70 which includes support for EKS Pod Identity.
  • #7477 *: Bump objstore to 20240622095743-1afe5d4bc3cd

Changed

  • #7334 Compactor: do not vertically compact downsampled blocks. Such cases are now marked with no-compact-mark.json. Fixes panic panic: unexpected seriesToChunkEncoder lack of iterations.
  • #7393 *: breaking ⚠️ Using native histograms for grpc middleware metrics. Metrics grpc_client_handling_seconds and grpc_server_handling_seconds will now be native histograms, if you have enabled native histogram scraping you will need to update your PromQL expressions to use the new metric names.

New Contributors

Full Changelog: v0.35.1...v0.36.0-rc.0