2018-03-21 19:23:36 +03:00
2018-08-30 00:28:43 +03:00
Previous change logs can be found at [CHANGELOG-3.x ](https://github.com/etcd-io/etcd/blob/master/CHANGELOG-3.x.md ).
2018-04-26 21:34:55 +03:00
2019-09-06 23:22:42 +03:00
The minimum recommended etcd versions to run in **production** are 3.1.11+, 3.2.26+, and 3.3.11+.
2018-10-25 01:54:44 +03:00
< hr >
2018-03-26 15:51:05 +03:00
2018-08-30 00:28:43 +03:00
2018-03-21 19:23:36 +03:00
## v4.0.0 (TBD)
2019-08-02 01:26:31 +03:00
See [code changes ](https://github.com/etcd-io/etcd/compare/v3.5.0...v4.0.0 ) and [v4.0 upgrade guide ](https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_4_0.md ) for any breaking changes.
**Again, before running upgrades from any previous release, please make sure to read change logs below and [v4.0 upgrade guide ](https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_4_0.md ).**
2018-03-21 19:23:36 +03:00
### Breaking Changes
2018-08-30 00:28:43 +03:00
- [Secure etcd by default ](https://github.com/etcd-io/etcd/issues/9475 )?
2018-03-26 15:51:05 +03:00
- Change `/health` endpoint output.
- Previously, `{"health":"true"}` .
- Now, `{"health":true}` .
- Breaks [Kubernetes `kubectl get componentstatuses` command ](https://github.com/kubernetes/kubernetes/issues/58240 ).
2018-03-27 19:18:58 +03:00
- Deprecate [`etcd --proxy*` ](TODO ) flags; **no more v2 proxy** .
2018-08-30 00:28:43 +03:00
- Deprecate [v2 storage backend ](https://github.com/etcd-io/etcd/issues/9232 ); **no more v2 store** .
2018-03-27 19:18:58 +03:00
- v2 API is still supported via [v2 emulation ](TODO ).
2018-03-27 19:53:51 +03:00
- Deprecate [`etcdctl backup` ](TODO ) command.
2018-03-21 19:23:36 +03:00
- `clientv3.Client.KeepAlive(ctx context.Context, id LeaseID) (<-chan *LeaseKeepAliveResponse, error)` is now [`clientv4.Client.KeepAlive(ctx context.Context, id LeaseID) <-chan *LeaseKeepAliveResponse` ](TODO ).
2018-08-30 00:28:43 +03:00
- Similar to `Watch` , [`KeepAlive` does not return errors ](https://github.com/etcd-io/etcd/issues/7488 ).
2018-03-21 19:23:36 +03:00
- If there's an unknown server error, kill all open channels and create a new stream on the next `KeepAlive` call.
2018-03-26 15:51:05 +03:00
- Rename `github.com/coreos/client` to `github.com/coreos/clientv2` .
2019-07-29 07:09:42 +03:00
- [`etcd --experimental-initial-corrupt-check` ](TODO ) has been deprecated.
- Use [`etcd --initial-corrupt-check` ](TODO ) instead.
- [`etcd --experimental-corrupt-check-time` ](TODO ) has been deprecated.
- Use [`etcd --corrupt-check-time` ](TODO ) instead.
2019-09-06 23:22:42 +03:00
- Enable TLS 1.13, deprecate TLS cipher suites.
2019-07-29 07:09:42 +03:00
### etcd server
- [`etcd --initial-corrupt-check` ](TODO ) flag is now stable (`etcd --experimental-initial-corrupt-check` has been deprecated).
- `etcd --initial-corrupt-check=true` by default, to check cluster database hashes before serving client/peer traffic.
- [`etcd --corrupt-check-time` ](TODO ) flag is now stable (`etcd --experimental-corrupt-check-time` has been deprecated).
- `etcd --corrupt-check-time=12h` by default, to check cluster database hashes for every 12-hour.
2019-09-06 23:22:42 +03:00
- Enable TLS 1.13, deprecate TLS cipher suites.
2018-03-21 19:23:36 +03:00
2018-08-30 00:28:43 +03:00
### Go
2019-09-06 23:22:42 +03:00
- Require [*Go 2* ](https://blog.golang.org/go2draft ).
2018-10-25 01:54:44 +03:00
< hr >