Releases: thanos-io/thanos
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-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. Addedthanos_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
- @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-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. Addedthanos_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
- @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
v0.37.2
v0.37.1
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
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 tov0.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
- @eqfarhad made their first contribution in #7335
- @derrix060 made their first contribution in #7389
- @wndhydrnt made their first contribution in #7363
- @jeroenvandelockand made their first contribution in #7412
- @aritra24 made their first contribution in #7428
- @axeoman made their first contribution in #7469
- @rexagod made their first contribution in #7429
- @rootxrishabh made their first contribution in #7506
- @tghartland made their first contribution in #7492
- @NishantBansal2003 made their first contribution in #7552
- @djosix made their first contribution in #7581
- @mjtrangoni made their first contribution in #7641
- @harshitasao made their first contribution in #7650
- @riteshsonawane1372 made their first contribution in #7653
- @pureiboi made their first contribution in #7644
- @milinddethe15 made their first contribution in #7642
- @dominicqi made their first contribution in #7658
- @dongjiang1989 made their first contribution in #7764
- @xnet-mobile made their first contribution in #7785
- @niaurys made their first contribution in #7787
- @ntk148v made their first contribution in #7834
- @Reimirno made their first contribution in #7853
- @lachruzam made their first contribution in #7859
Full Commit History: v0.35.1...v0.37.0-rc.0
v0.37.0-rc.0
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 tov0.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
- @eqfarhad made their first contribution in #7335
- @derrix060 made their first contribution in #7389
- @wndhydrnt made their first contribution in #7363
- @jeroenvandelockand made their first contribution in #7412
- @aritra24 made their first contribution in #7428
- @axeoman made their first contribution in #7469
- @rexagod made their first contribution in #7429
- @rootxrishabh made their first contribution in #7506
- @tghartland made their first contribution in #7492
- @NishantBansal2003 made their first contribution in #7552
- @djosix made their first contribution in #7581
- @mjtrangoni made their first contribution in #7641
- @harshitasao made their first contribution in #7650
- @riteshsonawane1372 made their first contribution in #7653
- @pureiboi made their first contribution in #7644
- @milinddethe15 made their first contribution in #7642
- @dominicqi made their first contribution in #7658
- @dongjiang1989 made their first contribution in #7764
- @xnet-mobile made their first contribution in #7785
- @niaurys made their first contribution in #7787
- @ntk148v made their first contribution in #7834
- @Reimirno made their first contribution in #7853
- @lachruzam made their first contribution in #7859
Full Commit History: v0.35.1...v0.37.0-rc.0
v0.36.1
v0.36.0
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 usequery.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 panicpanic: unexpected seriesToChunkEncoder lack of iterations
. - #7393 *: breaking
⚠️ Using native histograms for grpc middleware metrics. Metricsgrpc_client_handling_seconds
andgrpc_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
- @eqfarhad made their first contribution in #7335
- @derrix060 made their first contribution in #7389
- @wndhydrnt made their first contribution in #7363
- @jeroenvandelockand made their first contribution in #7412
- @aritra24 made their first contribution in #7428
- @axeoman made their first contribution in #7469
Full Changelog: v0.35.1...v0.36.0
v0.36.0-rc.1
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 usequery.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 panicpanic: unexpected seriesToChunkEncoder lack of iterations
. - #7393 *: breaking
⚠️ Using native histograms for grpc middleware metrics. Metricsgrpc_client_handling_seconds
andgrpc_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
- @eqfarhad made their first contribution in #7335
- @derrix060 made their first contribution in #7389
- @wndhydrnt made their first contribution in #7363
- @jeroenvandelockand made their first contribution in #7412
- @aritra24 made their first contribution in #7428
- @axeoman made their first contribution in #7469
Full Changelog: v0.35.1...v0.36.0-rc.0