Skip to content

Commit a0c6370

Browse files
authored
Cut release v0.2.0. (thanos-io#666)
Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
1 parent bcb609d commit a0c6370

File tree

3 files changed

+88
-14
lines changed

3 files changed

+88
-14
lines changed

CHANGELOG.md

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
# Changelog
2+
23
All notable changes to this project will be documented in this file.
34

45
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
56
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
67

78
NOTE: As semantic versioning states all 0.y.z releases can contain breaking changes in API (flags, grpc API, any backward compatibility)
89

10+
We use *breaking* word for marking changes that are not backward compatible (relates only to v0.y.z releases.)
11+
912
## Unreleased
1013

14+
## [v0.2.0](https://github.com/improbable-eng/thanos/releases/tag/v0.2.0) - 2018.12.7
15+
16+
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+
1120
### Deprecated
12-
- Remove support of those flags for bucket
21+
22+
- *breaking*: Removed all bucket specific flags as we moved to config files:
1323
- --gcs-bucket=\<bucket\>
1424
- --s3.bucket=\<bucket\>
1525
- --s3.endpoint=\<api-url\>
@@ -19,33 +29,54 @@ NOTE: As semantic versioning states all 0.y.z releases can contain breaking chan
1929
- --s3.encrypt-sse
2030
- --gcs-backup-bucket=\<bucket\>
2131
- --s3-backup-bucket=\<bucket\>
22-
- Remove support of those environment variables for bucket
32+
- *breaking*: Removed support of those environment variables for bucket:
2333
* S3_BUCKET
2434
* S3_ENDPOINT
2535
* S3_ACCESS_KEY
2636
* S3_INSECURE
2737
* 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.
2944

3045
### 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+
3963
### 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.
4272

4373

4474
## [v0.1.0](https://github.com/improbable-eng/thanos/releases/tag/v0.1.0) - 2018.09.14
4575

4676
Initial version to have a stable reference before [gossip protocol removal](https://github.com/improbable-eng/thanos/blob/master/docs/proposals/gossip-removal.md).
4777

4878
### Added
79+
4980
- Gossip layer for all components.
5081
- StoreAPI gRPC proto.
5182
- TSDB block upload logic for Sidecar.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1.0
1+
0.2.0

docs/release-process.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Releases
2+
3+
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

Comments
 (0)