You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Next Thanos release adding support to new discovery method, gRPC mTLS and two new object store providers (Swift and Azure).
17
+
18
+
Note lots of necessary breaking changes in flags that relates to bucket configuration.
19
+
11
20
### Deprecated
12
-
- Remove support of those flags for bucket
21
+
22
+
-*breaking*: Removed all bucket specific flags as we moved to config files:
13
23
- --gcs-bucket=\<bucket\>
14
24
- --s3.bucket=\<bucket\>
15
25
- --s3.endpoint=\<api-url\>
@@ -19,33 +29,54 @@ NOTE: As semantic versioning states all 0.y.z releases can contain breaking chan
19
29
- --s3.encrypt-sse
20
30
- --gcs-backup-bucket=\<bucket\>
21
31
- --s3-backup-bucket=\<bucket\>
22
-
-Remove support of those environment variables for bucket
32
+
-*breaking*: Removed support of those environment variables for bucket:
23
33
* S3_BUCKET
24
34
* S3_ENDPOINT
25
35
* S3_ACCESS_KEY
26
36
* S3_INSECURE
27
37
* S3_SIGNATURE_VERSION2
28
-
* S3_SECRET_KEY
38
+
-*breaking*: Removed provider specific bucket metrics e.g `thanos_objstore_gcs_bucket_operations_total` in favor of of generic bucket operation metrics.
39
+
### Changed
40
+
41
+
-*breaking*: Added `thanos_` prefix to memberlist (gossip) metrics. Make sure to update your dashboards and rules.
42
+
- S3 provider:
43
+
- Set `"X-Amz-Acl": "bucket-owner-full-control"` metadata for s3 upload operation.
29
44
30
45
### Added
31
-
- Add flag `--objstore.config-file` to reference to the bucket configuration file in yaml format. Note that detailed information in document [storage](docs/storage.md).
32
-
- Add `thanos_` to member list metrics. Some metrics have been renamed, make sure to update your dashboards and rules.
33
-
-`thanos rule` now supports static configuration of query nodes via `--query`
34
-
-`thanos rule` now supports file based discovery of query nodes using `--query.file-sd-config.files`
35
-
-`thanos query` now supports file based discovery of store nodes using `--store.file-sd-config.files`
36
-
- Add `/-/healthy` endpoint to Querier.
37
-
- Add DNS service discovery to static and file based configurations using the `dns+` and `dnssrv+` prefixes for the respective lookup.
38
-
- Added `--cluster.disable` flag to disable gossip funcionality completely.
46
+
47
+
- Support for heterogeneous secure gRPC on StoreAPI.
48
+
- Handling of scalar result in rule node evaluating rules.
49
+
- Flag `--objstore.config-file` to reference to the bucket configuration file in yaml format. Detailed information can be found in document [storage](docs/storage.md).
50
+
- File service discovery for StoreAPIs:
51
+
- In `thanos rule`, static configuration of query nodes via `--query`
52
+
- In `thanos rule`, file based discovery of query nodes using `--query.file-sd-config.files`
53
+
- In `thanos query`, file based discovery of store nodes using `--store.file-sd-config.files`
54
+
-`/-/healthy` endpoint to Querier.
55
+
- DNS service discovery to static and file based configurations using the `dns+` and `dnssrv+` prefixes for the respective lookup. Details [here](/docs/thanos_service_discovery.md)
56
+
-`--cluster.disable` flag to disable gossip functionality completely.
57
+
- Hidden flag to configure max compaction level.
58
+
- Azure Storage.
59
+
- OpenStack Swift support.
60
+
- Thanos Ruler `thanos_rule_loaded_rules` metric.
61
+
- Option for JSON logger format.
62
+
39
63
### Fixed
40
-
-[#566](https://github.com/improbable-eng/thanos/issues/566) - Fixed 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.
41
-
-[#598](https://github.com/improbable-eng/thanos/issues/598) - Fixed handling of scalar result in rule node evaluating rules.
64
+
65
+
- 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.
66
+
- Ruler tracing causing panics.
67
+
- GatherIndexStats panics on duplicated chunks check.
68
+
- Clean up of old compact blocks on compact restart.
69
+
- Sidecar too frequent Prometheus reload.
70
+
-`thanos_compactor_retries_total` metric not being registered.
71
+
- Move handling of HA alertmanagers to be the same as Prometheus.
Initial version to have a stable reference before [gossip protocol removal](https://github.com/improbable-eng/thanos/blob/master/docs/proposals/gossip-removal.md).
This page describes the release process for Thanos project.
4
+
5
+
NOTE: As [Semantic Versioning](http://semver.org/spec/v2.0.0.html) states all 0.y.z releases can contain breaking changes in API (flags, grpc API, any backward compatibility)
6
+
7
+
## Cadence
8
+
9
+
We aim for *at least* 1 release per 6 weeks. However, no strict dates are planned.
10
+
11
+
No release candidates are required until major version.
12
+
13
+
Additionally we aim for `master` branch being stable.
14
+
15
+
## Cutting individual release
16
+
17
+
Process of cutting a new *minor* Thanos release:
18
+
19
+
1. Add PR on branch `release-<major>.<minor>` that will start minor release branch and prepare changes to cut release.
20
+
1. Bump [VERSION file](./VERSION)
21
+
1. Update [CHANGELOG file](./CHANGELOG.md)
22
+
Note that `CHANGELOG.md` should only document changes relevant to users of Prometheus, including external API changes, performance improvements, and new features. Do not document changes of internal interfaces, code refactorings and clean-ups, changes to the build process, etc. People interested in these are asked to refer to the git history.
23
+
Format is described in `CHANGELOG.md`.
24
+
25
+
1. Double check backward compatibility:
26
+
1.*In case of version after `v1+.y.z`*, double check if none of the changes break API compatibility. This should be done in PR review process, but double check is good to have.
27
+
1. In case of `v0.y.z`, document all incompatibilities in changelog.
28
+
1. After review, merge the PR and immediately after this create a `<ver>` release on GitHub `release` page. Describe release and post relevant entry from changelog. Click `Save Draft`. This will trigger CircleCI that builds artifacts. Once tarballs are published on release page, you can click `Publish` and release is complete. Announce `#thanos` slack channel.
29
+
30
+
## Branch management and versioning strategy
31
+
32
+
We use [Semantic Versioning](http://semver.org/).
33
+
34
+
NOTE: We have a separate branch for each minor release, named `release-<major>.<minor>`, e.g. `release-0.1`, `release-0.2`. but they are
35
+
*NOT* maintained as we don't have major version yet.
36
+
37
+
## Pre-releases (release candidates)
38
+
39
+
The following changes to the above procedures apply:
40
+
41
+
* In line with [Semantic Versioning](http://semver.org/), append something like `-rc.0` to the version (with the corresponding changes to the tag name, the release name etc.).
42
+
* Tick the `This is a pre-release` box when drafting the release in the Github UI.
43
+
* Still update `CHANGELOG.md`, but when you cut the final release later, merge all the changes from the pre-releases into the one final update.
0 commit comments