Skip to content

Releases: thanos-io/thanos

v0.21.0

03 Jun 13:30
Compare
Choose a tag to compare

Highlights

  • Add TLS and basic authentication to Thanos APIs.
  • The UI has a dark theme support now.
  • Label Matchers for various APIs
  • Extra statistics for query API

Added

  • #4117 Mixin: new alert ThanosReceiveTrafficBelowThreshold to flag if the ingestion average of the last hour dips below 50% of the ingestion average for the last 12 hours.
  • #4107 Store: LabelNames and LabelValues now support label matchers.
  • #3940 Sidecar: Added matchers support to LabelValues
  • #4171 Docker: Busybox image updated to latest (1.33.1)
  • #4175 Added Tag Configuration Support Lightstep Tracing
  • #4176 Query API: Adds optional Stats param to return stats for query APIs
  • #4125 Rule: Add --alert.relabel-config / --alert.relabel-config-file allowing to specify alert relabel configurations like Prometheus
  • #4211 Add TLS and basic authentication to Thanos APIs
  • #4249 UI: add dark theme
  • #3707 Tools: Added --rewrite.to-relabel-config to bucket rewrite tool to support series relabel from given blocks.

Fixed

  • #4105 Tools: Add glob support for filepath in tools command

Changed

  • #4223 Query: federated exemplars API only add replica labels to series labels, not to exemplar labels.

v0.21.0-rc.0

28 May 14:49
Compare
Choose a tag to compare
v0.21.0-rc.0 Pre-release
Pre-release

Highlights

  • Add TLS and basic authentication to Thanos APIs.
  • The UI has a dark theme support now.

Added

  • #4117 Mixin: new alert ThanosReceiveTrafficBelowThreshold to flag if the ingestion average of the last hour dips below 50% of the ingestion average for the last 12 hours.
  • #4107 Store: LabelNames and LabelValues now support label matchers.
  • #3940 Sidecar: Added matchers support to LabelValues
  • #4171 Docker: Busybox image updated to latest (1.33.1)
  • #4175 Added Tag Configuration Support Lightstep Tracing
  • #4176 Query API: Adds optional Stats param to return stats for query APIs
  • #4125 Rule: Add --alert.relabel-config / --alert.relabel-config-file allowing to specify alert relabel configurations like Prometheus
  • #4211 Add TLS and basic authentication to Thanos APIs
  • #4249 UI: add dark theme
  • #3707 Tools: Added --rewrite.to-relabel-config to bucket rewrite tool to support series relabel from given blocks.

Fixed

  • #4105 Tools: Add glob support for filepath in tools command

Changed

  • #4223 Query: federated exemplars API only add replica labels to series labels, not to exemplar labels.

v0.20.2

21 May 08:52
v0.20.2
79ab6a7
Compare
Choose a tag to compare

Fixed

  • #4208 UI: Fix infinite redirection loop on root (/).

v0.20.1

30 Apr 13:21
v0.20.1
10023e4
Compare
Choose a tag to compare

Fixed

  • #4123 Query: match external labels for exemplars API.

v0.20.0

28 Apr 13:27
v0.20.0
893188a
Compare
Choose a tag to compare

Highlights 🚀 🎉

  • Upgrade Go version to 1.16
  • Upgrade Prometheus & Alertmanager.
  • Query: Added federated exemplars API support.
  • UI: Make the ReactUI the default one.
  • UI: Enable Targets page in Querier UI.
  • UI: Add new codemirror-promql-based expression editor.
  • Query Frontend: Support max_item_size in Query frontend Memcached cache.
  • Tools: Added a flag to support rewrite Prometheus TSDB blocks.

Added

  • #4029 Mixin: Remove dependency on the rule dashboard when generating the compact dashboard
  • #4019 Query: Adds query range histogram.
  • #3846 Query: Added federated exemplars API support.
  • #3350 Query/Sidecar: Added targets API support. You can now configure your Querier to fetch Prometheus targets from leaf Prometheus-es!
  • #3977 Expose exemplars for http_request_duration_seconds histogram if tracing is enabled.
  • #3903 Store: Returning custom gRPC code when reaching series/chunk limits.
  • #3919 Allow to disable automatically setting CORS headers using --web.disable-cors flag in each component that exposes an API.
  • #3840 Tools: Added a flag to support rewrite Prometheus TSDB blocks.
  • #3920 Query Frontend: Support max_item_size in Query frontend Memcached cache.

Fixed

  • #3204 Mixin: Use sidecar's metric timestamp for healthcheck.
  • #3922 *: Fix panic in http logging middleware.
  • #3960 Ruler: Fix deduplication of equal alerts with different labels.
  • #3937 Store: Fix race condition in chunk pool.
  • #4017 Query Frontend: fix downsampling iterator returning duplicate samples.
  • #4041 Logging: fix the HTTP logger.

Changed

  • #3929 Store: Adds the name of the instantiated memcached client to log info.
  • #3827 Upgrade Go version to 1.16
  • #3948 Receiver: Adjust http_request_duration_seconds buckets for low latency requests.
  • #3856 Mixin: breaking ⚠️ Introduce flexible multi-cluster/namespace mode for alerts and dashboards. Removes jobPrefix config option. Removes namespace by default.
  • #3937 Store: Reduce memory usage for range queries.
  • #4045 UI: Enable Targets page in Querier UI.
  • #4062 Flags: Sort flags alphabetically.
  • #4081 UI: Make the ReactUI the default one.
  • #4094 *: Upgrade Prometheus & Alertmanager.

v0.20.0-rc.0

23 Apr 12:12
v0.20.0-rc.0
0dfd107
Compare
Choose a tag to compare
v0.20.0-rc.0 Pre-release
Pre-release

Highlights

  • Upgrade Go version to 1.16
  • Upgrade Prometheus & Alertmanager.
  • Query: Added federated exemplars API support.
  • UI: Make the ReactUI the default one.
  • UI: Enable Targets page in Querier UI.
  • UI: Add new codemirror-promql-based expression editor.
  • Query Frontend: Support max_item_size in Query frontend Memcached cache.
  • Tools: Added a flag to support rewrite Prometheus TSDB blocks.

Added

  • #4029 Mixin: Remove dependency on the rule dashboard when generating the compact dashboard
  • #4019 Query: Adds query range histogram.
  • #3846 Query: Added federated exemplars API support.
  • #3350 Query/Sidecar: Added targets API support. You can now configure your Querier to fetch Prometheus targets from leaf Prometheus-es!
  • #3977 Expose exemplars for http_request_duration_seconds histogram if tracing is enabled.
  • #3903 Store: Returning custom gRPC code when reaching series/chunk limits.
  • #3919 Allow to disable automatically setting CORS headers using --web.disable-cors flag in each component that exposes an API.
  • #3840 Tools: Added a flag to support rewrite Prometheus TSDB blocks.
  • #3920 Query Frontend: Support max_item_size in Query frontend Memcached cache.

Fixed

  • #3204 Mixin: Use sidecar's metric timestamp for healthcheck.
  • #3922 *: Fix panic in http logging middleware.
  • #3960 Ruler: Fix deduplication of equal alerts with different labels.
  • #3937 Store: Fix race condition in chunk pool.
  • #4017 Query Frontend: fix downsampling iterator returning duplicate samples.
  • #4041 Logging: fix the HTTP logger.

Changed

  • #3929 Store: Adds the name of the instantiated memcached client to log info.
  • #3827 Upgrade Go version to 1.16
  • #3948 Receiver: Adjust http_request_duration_seconds buckets for low latency requests.
  • #3856 Mixin: breaking ⚠️ Introduce flexible multi-cluster/namespace mode for alerts and dashboards. Removes jobPrefix config option. Removes namespace by default.
  • #3937 Store: Reduce memory usage for range queries.
  • #4045 UI: Enable Targets page in Querier UI.
  • #4062 Flags: Sort flags alphabetically.
  • #4081 UI: Make the ReactUI the default one.
  • #4094 *: Upgrade Prometheus & Alertmanager.

v0.19.0

31 Mar 14:33
Compare
Choose a tag to compare

Added

  • #3700 Compact/Web: Make old bucket viewer UI work with vanilla Prometheus blocks.
  • #3657 *: It's now possible to configure HTTP transport options for S3 client.
  • #3752 Compact/Store: Added --block-meta-fetch-concurrency allowing to configure number of go routines for block metadata synchronization.
  • #3723 Query Frontend: Added --query-range.request-downsampled flag enabling additional queries for downsampled data in case of empty or incomplete response to range request.
  • #3579 Cache: Added inmemory cache for caching bucket.
  • #3792 Receiver: Added --tsdb.allow-overlapping-blocks flag to allow overlapping tsdb blocks and enable vertical compaction.
  • #3740 Query: Added --query.default-step flag to set default step. Useful when your tenant scrape interval is stable and far from default UI's 1s.
  • #3686 Query/Sidecar: Added metric metadata API support. You can now configure you Querier to fetch Prometheus metrics metadata from leaf Prometheus-es!
  • #3031 Compact/Sidecar/Receive/Rule: Added --hash-func. If some function has been specified, writers calculate hashes using that function of each file in a block before uploading them. If those hashes exist in the meta.json file then Compact does not download the files if they already exist on disk and with the same hash. This also means that the data directory passed to Thanos Compact is only cleared once at boot or if everything succeeds. So, if you, for example, use persistent volumes on k8s and your Thanos Compact crashes or fails to make an iteration properly then the last downloaded files are not wiped from the disk. The directories that were created the last time are only wiped again after a successful iteration or if the previously picked up blocks have disappeared.

Fixed

  • #3705 Store: Fix race condition leading to failing queries or possibly incorrect query results.
  • #3661 Compact: Deletion-mark.json is deleted as the last one, which could in theory lead to potential store gateway load or query error for such in-deletion block.
  • #3760 Store: Fix panic caused by a race condition happening on concurrent index-header reader usage and unload, when --store.enable-index-header-lazy-reader is enabled.
  • #3759 Store: Fix panic caused by a race condition happening on concurrent index-header lazy load and unload, when --store.enable-index-header-lazy-reader is enabled.
  • #3773 Compact: Fixed compaction planner size check, making sure we don't create too large blocks.
  • #3814 Store: Decreased memory utilisation while fetching block's chunks.
  • #3815 Receive: Improve handling of empty time series from clients
  • #3795 s3: A truncated "get object" response is reported as error.
  • #3899 Receive: Correct the inference of client gRPC configuration.
  • #3943 Receive: Fixed memory regression introduced in v0.17.0.
  • #3960 Query: Fixed deduplication of equal alerts with different labels.

Changed

  • #3804 Ruler, Receive, Querier: Updated Prometheus dependency. TSDB characteristics might have changed.

v0.19.0-rc.2

24 Mar 19:17
5620c09
Compare
Choose a tag to compare
v0.19.0-rc.2 Pre-release
Pre-release

Added

  • #3700 Compact/Web: Make old bucket viewer UI work with vanilla Prometheus blocks.
  • #3657 *: It's now possible to configure HTTP transport options for S3 client.
  • #3752 Compact/Store: Added --block-meta-fetch-concurrency allowing to configure number of go routines for block metadata synchronization.
  • #3723 Query Frontend: Added --query-range.request-downsampled flag enabling additional queries for downsampled data in case of empty or incomplete response to range request.
  • #3579 Cache: Added inmemory cache for caching bucket.
  • #3792 Receiver: Added --tsdb.allow-overlapping-blocks flag to allow overlapping tsdb blocks and enable vertical compaction.
  • #3740 Query: Added --query.default-step flag to set default step. Useful when your tenant scrape interval is stable and far from default UI's 1s.
  • #3686 Query/Sidecar: Added metric metadata API support. You can now configure you Querier to fetch Prometheus metrics metadata from leaf Prometheus-es!
  • #3031 Compact/Sidecar/Receive/Rule: Added --hash-func. If some function has been specified, writers calculate hashes using that function of each file in a block before uploading them. If those hashes exist in the meta.json file then Compact does not download the files if they already exist on disk and with the same hash. This also means that the data directory passed to Thanos Compact is only cleared once at boot or if everything succeeds. So, if you, for example, use persistent volumes on k8s and your Thanos Compact crashes or fails to make an iteration properly then the last downloaded files are not wiped from the disk. The directories that were created the last time are only wiped again after a successful iteration or if the previously picked up blocks have disappeared.

Fixed

  • #3705 Store: Fix race condition leading to failing queries or possibly incorrect query results.
  • #3661 Compact: Deletion-mark.json is deleted as the last one, which could in theory lead to potential store gateway load or query error for such in-deletion block.
  • #3760 Store: Fix panic caused by a race condition happening on concurrent index-header reader usage and unload, when --store.enable-index-header-lazy-reader is enabled.
  • #3759 Store: Fix panic caused by a race condition happening on concurrent index-header lazy load and unload, when --store.enable-index-header-lazy-reader is enabled.
  • #3773 Compact: Fixed compaction planner size check, making sure we don't create too large blocks.
  • #3814 Store: Decreased memory utilisation while fetching block's chunks.
  • #3815 Receive: Improve handling of empty time series from clients
  • #3795 s3: A truncated "get object" response is reported as error.
  • #3899 Receive: Correct the inference of client gRPC configuration.
  • #3943: Receive: Fixed memory regression introduced in v0.17.0.

Changed

  • #3804 Ruler, Receive, Querier: Updated Prometheus dependency. TSDB characteristics might have changed.

v0.19.0-rc.1

09 Mar 16:42
05280c9
Compare
Choose a tag to compare
v0.19.0-rc.1 Pre-release
Pre-release

Added

  • #3700 Compact/Web: Make old bucket viewer UI work with vanilla Prometheus blocks.
  • #3657 *: It's now possible to configure HTTP transport options for S3 client.
  • #3752 Compact/Store: Added --block-meta-fetch-concurrency allowing to configure number of go routines for block metadata synchronization.
  • #2641 Query Frontend: Added --query-range.request-downsampled flag enabling additional queries for downsampled data in case of empty or incomplete response to range request.
  • #3579 Cache: Added inmemory cache for caching bucket.
  • #3792 Receiver: Added --tsdb.allow-overlapping-blocks flag to allow overlapping tsdb blocks and enable vertical compaction.
  • #3740 Query: Added --query.default-step flag to set default step. Useful when your tenant scrape interval is stable and far from default UI's 1s.
  • #3686 Query,Sidecar: Added metric metadata API support. You can now configure you Querier to fetch Prometheus metrics metadata from leaf Prometheus-es!
  • #3031 Compact/Sidecar/Receive/Rule: Added --hash-func. If some function has been specified, writers calculate hashes using that function of each file in a block before uploading them. If those hashes exist in the meta.json file then Compact does not download the files if they already exist on disk and with the same hash. This also means that the data directory passed to Thanos Compact is only cleared once at boot or if everything succeeds. So, if you, for example, use persistent volumes on k8s and your Thanos Compact crashes or fails to make an iteration properly then the last downloaded files are not wiped from the disk. The directories that were created the last time are only wiped again after a successful iteration or if the previously picked up blocks have disappeared.

Fixed

  • #3705 Store: Fix race condition leading to failing queries or possibly incorrect query results.
  • #3661 Compact: Deletion-mark.json is deleted as the last one, which could in theory lead to potential store gateway load or query error for such in-deletion block.
  • #3760 Store: Fix panic caused by a race condition happening on concurrent index-header reader usage and unload, when --store.enable-index-header-lazy-reader is enabled.
  • #3759 Store: Fix panic caused by a race condition happening on concurrent index-header lazy load and unload, when --store.enable-index-header-lazy-reader is enabled.
  • #3773 Compact: Fixed compaction planner size check, making sure we don't create too large blocks.
  • #3814 Store: Decreased memory utilisation while fetching block's chunks.
  • #3815 Receive: Improve handling of empty time series from clients
  • #3795 s3: A truncated "get object" response is reported as error.

Changed

  • #3804 Ruler, Receive, Querier: Updated Prometheus dependency. TSDB characteristics might have changed.

v0.19.0-rc.0

02 Mar 12:58
139ae3f
Compare
Choose a tag to compare
v0.19.0-rc.0 Pre-release
Pre-release
v0.19.0-rc.0