All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
NOTE: As semantic versioning states all 0.y.z releases can contain breaking changes in API (flags, grpc API, any backward compatibility)
We use breaking word for marking changes that are not backward compatible (relates only to v0.y.z releases.)
v0.2.1 - 2018.12.27
- Relabel drop for Thanos Ruler to enable replica label drop and alert deduplication on AM side.
- Query: Stores UI page available at
/stores
.
- Thanos Rule Alertmanager DNS SD bug.
- DNS SD bug when having SRV results with different ports.
- Move handling of HA alertmanagers to be the same as Prometheus.
- Azure iteration implementation flaw.
v0.2.0 - 2018.12.10
Next Thanos release adding support to new discovery method, gRPC mTLS and two new object store providers (Swift and Azure).
Note lots of necessary breaking changes in flags that relates to bucket configuration.
- breaking: Removed all bucket specific flags as we moved to config files:
- --gcs-bucket=<bucket>
- --s3.bucket=<bucket>
- --s3.endpoint=<api-url>
- --s3.access-key=<key>
- --s3.insecure
- --s3.signature-version2
- --s3.encrypt-sse
- --gcs-backup-bucket=<bucket>
- --s3-backup-bucket=<bucket>
- breaking: Removed support of those environment variables for bucket:
- S3_BUCKET
- S3_ENDPOINT
- S3_ACCESS_KEY
- S3_INSECURE
- S3_SIGNATURE_VERSION2
- breaking: Removed provider specific bucket metrics e.g
thanos_objstore_gcs_bucket_operations_total
in favor of of generic bucket operation metrics.
- breaking: Added
thanos_
prefix to memberlist (gossip) metrics. Make sure to update your dashboards and rules. - S3 provider:
- Set
"X-Amz-Acl": "bucket-owner-full-control"
metadata for s3 upload operation.
- Set
- Support for heterogeneous secure gRPC on StoreAPI.
- Handling of scalar result in rule node evaluating rules.
- Flag
--objstore.config-file
to reference to the bucket configuration file in yaml format. Detailed information can be found in document storage. - File service discovery for StoreAPIs:
- In
thanos rule
, static configuration of query nodes via--query
- In
thanos rule
, file based discovery of query nodes using--query.file-sd-config.files
- In
thanos query
, file based discovery of store nodes using--store.file-sd-config.files
/-/healthy
endpoint to Querier.- DNS service discovery to static and file based configurations using the
dns+
anddnssrv+
prefixes for the respective lookup. Details here --cluster.disable
flag to disable gossip functionality completely.- Hidden flag to configure max compaction level.
- Azure Storage.
- OpenStack Swift support.
- Thanos Ruler
thanos_rule_loaded_rules
metric. - Option for JSON logger format.
- Issue whereby the Proxy Store could end up in a deadlock if there were more than 9 stores being queried and all returned an error.
- Ruler tracing causing panics.
- GatherIndexStats panics on duplicated chunks check.
- Clean up of old compact blocks on compact restart.
- Sidecar too frequent Prometheus reload.
thanos_compactor_retries_total
metric not being registered.
v0.1.0 - 2018.09.14
Initial version to have a stable reference before gossip protocol removal.
- Gossip layer for all components.
- StoreAPI gRPC proto.
- TSDB block upload logic for Sidecar.
- StoreAPI logic for Sidecar.
- Config and rule reloader logic for Sidecar.
- On-the fly result merge and deduplication logic for Querier.
- Custom Thanos UI (based mainly on Prometheus UI) for Querier.
- Optimized object storage fetch logic for Store.
- Index cache and chunk pool for Store for better memory usage.
- Stable support for Google Cloud Storage object storage.
- StoreAPI logic for Querier to support Thanos federation (experimental).
- Support for S3 minio-based AWS object storage (experimental).
- Compaction logic of blocks from multiple sources for Compactor.
- Optional Compaction fixed retention.
- Optional downsampling logic for Compactor (experimental).
- Rule (including alerts) evaluation logic for Ruler.
- Rule UI with hot rules reload.
- StoreAPI logic for Ruler.
- Basic metric orchestration for all components.
- Verify commands with potential fixes (experimental).
- Compact / Downsample offline commands.
- Bucket commands.
- Downsampling support for UI.
- Grafana dashboards for Thanos components.