|
@@ -3,6 +3,21 @@
|
|
|
Previous change logs can be found at [CHANGELOG-3.1](https://github.com/coreos/etcd/blob/master/CHANGELOG-3.1.md).
|
|
Previous change logs can be found at [CHANGELOG-3.1](https://github.com/coreos/etcd/blob/master/CHANGELOG-3.1.md).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+## [v3.2.20](https://github.com/coreos/etcd/releases/tag/v3.2.20) (TBD 2018-05)
|
|
|
|
|
+
|
|
|
|
|
+See [code changes](https://github.com/coreos/etcd/compare/v3.2.19...v3.2.20) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
+
|
|
|
|
|
+### etcd server
|
|
|
|
|
+
|
|
|
|
|
+- Purge old [`*.snap.db` snapshot files](https://github.com/coreos/etcd/pull/7967).
|
|
|
|
|
+ - Previously, etcd did not respect `--max-snapshots` flag to purge old `*.snap.db` files.
|
|
|
|
|
+ - Now, etcd purges old `*.snap.db` files to keep maximum `--max-snapshots` number of files on disk.
|
|
|
|
|
+
|
|
|
|
|
+### Go
|
|
|
|
|
+
|
|
|
|
|
+- Compile with [*Go 1.8.7*](https://golang.org/doc/devel/release.html#go1.8).
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
## [v3.2.19](https://github.com/coreos/etcd/releases/tag/v3.2.19) (2018-04-24)
|
|
## [v3.2.19](https://github.com/coreos/etcd/releases/tag/v3.2.19) (2018-04-24)
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.18...v3.2.19) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.18...v3.2.19) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
@@ -20,7 +35,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.18...v3.2.19) and
|
|
|
- However, a certificate whose SAN field does [not include any domain names but only IP addresses](https://github.com/coreos/etcd/issues/9541) would request `*tls.ClientHelloInfo` with an empty `ServerName` field, thus failing to trigger the TLS reload on initial TLS handshake; this becomes a problem when expired certificates need to be replaced online.
|
|
- However, a certificate whose SAN field does [not include any domain names but only IP addresses](https://github.com/coreos/etcd/issues/9541) would request `*tls.ClientHelloInfo` with an empty `ServerName` field, thus failing to trigger the TLS reload on initial TLS handshake; this becomes a problem when expired certificates need to be replaced online.
|
|
|
- Now, `(*tls.Config).Certificates` is created empty on initial TLS client handshake, first to trigger `(*tls.Config).GetCertificate`, and then to populate rest of the certificates on every new TLS connection, even when client SNI is empty (e.g. cert only includes IPs).
|
|
- Now, `(*tls.Config).Certificates` is created empty on initial TLS client handshake, first to trigger `(*tls.Config).GetCertificate`, and then to populate rest of the certificates on every new TLS connection, even when client SNI is empty (e.g. cert only includes IPs).
|
|
|
|
|
|
|
|
-### `etcd`
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Add [`--initial-election-tick-advance`](https://github.com/coreos/etcd/pull/9591) flag to configure initial election tick fast-forward.
|
|
- Add [`--initial-election-tick-advance`](https://github.com/coreos/etcd/pull/9591) flag to configure initial election tick fast-forward.
|
|
|
- By default, `--initial-election-tick-advance=true`, then local member fast-forwards election ticks to speed up "initial" leader election trigger.
|
|
- By default, `--initial-election-tick-advance=true`, then local member fast-forwards election ticks to speed up "initial" leader election trigger.
|
|
@@ -60,11 +75,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.17...v3.2.18) and
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.16...v3.2.17) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.16...v3.2.17) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed: v2
|
|
|
|
|
-
|
|
|
|
|
-- Fix [v2 proxy leaky HTTP requests](https://github.com/coreos/etcd/pull/9336).
|
|
|
|
|
-
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Fix [server panic on invalid Election Proclaim/Resign HTTP(S) requests](https://github.com/coreos/etcd/pull/9379).
|
|
- Fix [server panic on invalid Election Proclaim/Resign HTTP(S) requests](https://github.com/coreos/etcd/pull/9379).
|
|
|
- Previously, wrong-formatted HTTP requests to Election API could trigger panic in etcd server.
|
|
- Previously, wrong-formatted HTTP requests to Election API could trigger panic in etcd server.
|
|
@@ -76,6 +87,10 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.16...v3.2.17) and
|
|
|
- Again, etcd `Lease` is meant for short-periodic keepalives or sessions, in the range of seconds or minutes. Not for hours or days!
|
|
- Again, etcd `Lease` is meant for short-periodic keepalives or sessions, in the range of seconds or minutes. Not for hours or days!
|
|
|
- Enable etcd server [`raft.Config.CheckQuorum` when starting with `ForceNewCluster`](https://github.com/coreos/etcd/pull/9347).
|
|
- Enable etcd server [`raft.Config.CheckQuorum` when starting with `ForceNewCluster`](https://github.com/coreos/etcd/pull/9347).
|
|
|
|
|
|
|
|
|
|
+### Proxy v2
|
|
|
|
|
+
|
|
|
|
|
+- Fix [v2 proxy leaky HTTP requests](https://github.com/coreos/etcd/pull/9336).
|
|
|
|
|
+
|
|
|
### Go
|
|
### Go
|
|
|
|
|
|
|
|
- Compile with [*Go 1.8.7*](https://golang.org/doc/devel/release.html#go1.8).
|
|
- Compile with [*Go 1.8.7*](https://golang.org/doc/devel/release.html#go1.8).
|
|
@@ -85,7 +100,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.16...v3.2.17) and
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.15...v3.2.16) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.15...v3.2.16) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Fix [`mvcc` "unsynced" watcher restore operation](https://github.com/coreos/etcd/pull/9297).
|
|
- Fix [`mvcc` "unsynced" watcher restore operation](https://github.com/coreos/etcd/pull/9297).
|
|
|
- "unsynced" watcher is watcher that needs to be in sync with events that have happened.
|
|
- "unsynced" watcher is watcher that needs to be in sync with events that have happened.
|
|
@@ -102,7 +117,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.15...v3.2.16) and
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.14...v3.2.15) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.14...v3.2.15) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Prevent [server panic from member update/add](https://github.com/coreos/etcd/pull/9174) with [wrong scheme URLs](https://github.com/coreos/etcd/issues/9173).
|
|
- Prevent [server panic from member update/add](https://github.com/coreos/etcd/pull/9174) with [wrong scheme URLs](https://github.com/coreos/etcd/issues/9173).
|
|
|
- Log [user context cancel errors on stream APIs in debug level with TLS](https://github.com/coreos/etcd/pull/9178).
|
|
- Log [user context cancel errors on stream APIs in debug level with TLS](https://github.com/coreos/etcd/pull/9178).
|
|
@@ -120,7 +135,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.13...v3.2.14) and
|
|
|
|
|
|
|
|
- Log [user context cancel errors on stream APIs in debug level](https://github.com/coreos/etcd/pull/9105).
|
|
- Log [user context cancel errors on stream APIs in debug level](https://github.com/coreos/etcd/pull/9105).
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Fix [`mvcc/backend.defragdb` nil-pointer dereference on create bucket failure](https://github.com/coreos/etcd/pull/9119).
|
|
- Fix [`mvcc/backend.defragdb` nil-pointer dereference on create bucket failure](https://github.com/coreos/etcd/pull/9119).
|
|
|
|
|
|
|
@@ -133,7 +148,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.13...v3.2.14) and
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.12...v3.2.13) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.12...v3.2.13) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Remove [verbose error messages on stream cancel and gRPC info-level logs](https://github.com/coreos/etcd/pull/9080) in server-side.
|
|
- Remove [verbose error messages on stream cancel and gRPC info-level logs](https://github.com/coreos/etcd/pull/9080) in server-side.
|
|
|
- Fix [gRPC server panic on `GracefulStop` TLS-enabled server](https://github.com/coreos/etcd/pull/8987).
|
|
- Fix [gRPC server panic on `GracefulStop` TLS-enabled server](https://github.com/coreos/etcd/pull/8987).
|
|
@@ -152,11 +167,11 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.11...v3.2.12) and
|
|
|
- Upgrade [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases/tag) from [**`v1.7.4`**](https://github.com/grpc/grpc-go/releases/tag/v1.7.4) to [**`v1.7.5`**](https://github.com/grpc/grpc-go/releases/tag/v1.7.5).
|
|
- Upgrade [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases/tag) from [**`v1.7.4`**](https://github.com/grpc/grpc-go/releases/tag/v1.7.4) to [**`v1.7.5`**](https://github.com/grpc/grpc-go/releases/tag/v1.7.5).
|
|
|
- Upgrade [`github.com/grpc-ecosystem/grpc-gateway`](https://github.com/grpc-ecosystem/grpc-gateway/releases) from [**`v1.3`**](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v1.3) to [**`v1.3.0`**](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v1.3.0).
|
|
- Upgrade [`github.com/grpc-ecosystem/grpc-gateway`](https://github.com/grpc-ecosystem/grpc-gateway/releases) from [**`v1.3`**](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v1.3) to [**`v1.3.0`**](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v1.3.0).
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Fix [error message of `Revision` compactor](https://github.com/coreos/etcd/pull/8999) in server-side.
|
|
- Fix [error message of `Revision` compactor](https://github.com/coreos/etcd/pull/8999) in server-side.
|
|
|
|
|
|
|
|
-### `clientv3`
|
|
|
|
|
|
|
+### client v3
|
|
|
|
|
|
|
|
- Add [`MaxCallSendMsgSize` and `MaxCallRecvMsgSize`](https://github.com/coreos/etcd/pull/9047) fields to [`clientv3.Config`](https://godoc.org/github.com/coreos/etcd/clientv3#Config).
|
|
- Add [`MaxCallSendMsgSize` and `MaxCallRecvMsgSize`](https://github.com/coreos/etcd/pull/9047) fields to [`clientv3.Config`](https://godoc.org/github.com/coreos/etcd/clientv3#Config).
|
|
|
- Fix [exceeded response size limit error in client-side](https://github.com/coreos/etcd/issues/9043).
|
|
- Fix [exceeded response size limit error in client-side](https://github.com/coreos/etcd/issues/9043).
|
|
@@ -184,7 +199,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
|
|
|
|
|
- Log [more details on TLS handshake failures](https://github.com/coreos/etcd/pull/8952/files).
|
|
- Log [more details on TLS handshake failures](https://github.com/coreos/etcd/pull/8952/files).
|
|
|
|
|
|
|
|
-### Fixed: `clientv3`
|
|
|
|
|
|
|
+### client v3
|
|
|
|
|
|
|
|
- Fix racey grpc-go's server handler transport `WriteStatus` call to prevent [TLS-enabled etcd server crash](https://github.com/coreos/etcd/issues/8904).
|
|
- Fix racey grpc-go's server handler transport `WriteStatus` call to prevent [TLS-enabled etcd server crash](https://github.com/coreos/etcd/issues/8904).
|
|
|
- Add [gRPC RPC failure warnings](https://github.com/coreos/etcd/pull/8939) to help debug such issues in the future.
|
|
- Add [gRPC RPC failure warnings](https://github.com/coreos/etcd/pull/8939) to help debug such issues in the future.
|
|
@@ -214,11 +229,11 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
- Revert [discovery SRV auth `ServerName` with `*.{ROOT_DOMAIN}`](https://github.com/coreos/etcd/pull/8651) to support non-wildcard subject alternative names in the certs (see [issue #8445](https://github.com/coreos/etcd/issues/8445) for more contexts).
|
|
- Revert [discovery SRV auth `ServerName` with `*.{ROOT_DOMAIN}`](https://github.com/coreos/etcd/pull/8651) to support non-wildcard subject alternative names in the certs (see [issue #8445](https://github.com/coreos/etcd/issues/8445) for more contexts).
|
|
|
- For instance, `etcd --discovery-srv=etcd.local` will only authenticate peers/clients when the provided certs have root domain `etcd.local` (**not `*.etcd.local`**) as an entry in Subject Alternative Name (SAN) field.
|
|
- For instance, `etcd --discovery-srv=etcd.local` will only authenticate peers/clients when the provided certs have root domain `etcd.local` (**not `*.etcd.local`**) as an entry in Subject Alternative Name (SAN) field.
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Replace backend key-value database `boltdb/bolt` with [`coreos/bbolt`](https://github.com/coreos/bbolt/releases) to address [backend database size issue](https://github.com/coreos/etcd/issues/8009).
|
|
- Replace backend key-value database `boltdb/bolt` with [`coreos/bbolt`](https://github.com/coreos/bbolt/releases) to address [backend database size issue](https://github.com/coreos/etcd/issues/8009).
|
|
|
|
|
|
|
|
-### Fixed: `clientv3`
|
|
|
|
|
|
|
+### client v3
|
|
|
|
|
|
|
|
- Rewrite balancer to handle [network partitions](https://github.com/coreos/etcd/issues/8711).
|
|
- Rewrite balancer to handle [network partitions](https://github.com/coreos/etcd/issues/8711).
|
|
|
|
|
|
|
@@ -248,11 +263,11 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.7...v3.2.8) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.7...v3.2.8) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed: v2 `client`
|
|
|
|
|
|
|
+### client v2
|
|
|
|
|
|
|
|
- Fix v2 client failover to next endpoint on mutable operation.
|
|
- Fix v2 client failover to next endpoint on mutable operation.
|
|
|
|
|
|
|
|
-### Fixed: `grpc-proxy`
|
|
|
|
|
|
|
+### gRPC Proxy
|
|
|
|
|
|
|
|
- Handle [`KeysOnly` flag](https://github.com/coreos/etcd/pull/8552).
|
|
- Handle [`KeysOnly` flag](https://github.com/coreos/etcd/pull/8552).
|
|
|
|
|
|
|
@@ -269,7 +284,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.6...v3.2.7) and [
|
|
|
|
|
|
|
|
- Fix [server-side auth so concurrent auth operations do not return old revision error](https://github.com/coreos/etcd/pull/8306).
|
|
- Fix [server-side auth so concurrent auth operations do not return old revision error](https://github.com/coreos/etcd/pull/8306).
|
|
|
|
|
|
|
|
-### Fixed: `clientv3`
|
|
|
|
|
|
|
+### client v3
|
|
|
|
|
|
|
|
- Fix [`concurrency/stm` Put with serializable snapshot](https://github.com/coreos/etcd/pull/8439).
|
|
- Fix [`concurrency/stm` Put with serializable snapshot](https://github.com/coreos/etcd/pull/8439).
|
|
|
- Use store revision from first fetch to resolve write conflicts instead of modified revision.
|
|
- Use store revision from first fetch to resolve write conflicts instead of modified revision.
|
|
@@ -283,7 +298,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.6...v3.2.7) and [
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.5...v3.2.6) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.5...v3.2.6) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Fix watch restore from snapshot.
|
|
- Fix watch restore from snapshot.
|
|
|
- Fix multiple URLs for `--listen-peer-urls` flag.
|
|
- Fix multiple URLs for `--listen-peer-urls` flag.
|
|
@@ -302,7 +317,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.5...v3.2.6) and [
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.4...v3.2.5) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.4...v3.2.5) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### v3 `etcdctl`
|
|
|
|
|
|
|
+### etcdctl v3
|
|
|
|
|
|
|
|
- Return non-zero exit code on unhealthy `endpoint health`.
|
|
- Return non-zero exit code on unhealthy `endpoint health`.
|
|
|
|
|
|
|
@@ -316,7 +331,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
|
|
|
|
|
- Fix unreachable `/metrics` endpoint when `--enable-v2=false`.
|
|
- Fix unreachable `/metrics` endpoint when `--enable-v2=false`.
|
|
|
|
|
|
|
|
-### Fixed: `grpc-proxy`
|
|
|
|
|
|
|
+### gRPC Proxy
|
|
|
|
|
|
|
|
- Handle [`PrevKv` flag](https://github.com/coreos/etcd/pull/8366).
|
|
- Handle [`PrevKv` flag](https://github.com/coreos/etcd/pull/8366).
|
|
|
|
|
|
|
@@ -333,9 +348,12 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.3...v3.2.4) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.3...v3.2.4) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Do not block on active client stream when stopping server
|
|
- Do not block on active client stream when stopping server
|
|
|
|
|
+
|
|
|
|
|
+### gRPC proxy
|
|
|
|
|
+
|
|
|
- Fix gRPC proxy Snapshot RPC error handling
|
|
- Fix gRPC proxy Snapshot RPC error handling
|
|
|
|
|
|
|
|
### Go
|
|
### Go
|
|
@@ -347,11 +365,11 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.3...v3.2.4) and [
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.2...v3.2.3) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.2...v3.2.3) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed
|
|
|
|
|
|
|
+### client v3
|
|
|
|
|
|
|
|
- Let clients establish unlimited streams
|
|
- Let clients establish unlimited streams
|
|
|
|
|
|
|
|
-### Added
|
|
|
|
|
|
|
+### Other
|
|
|
|
|
|
|
|
- Tag docker images with minor versions
|
|
- Tag docker images with minor versions
|
|
|
- e.g. `docker pull quay.io/coreos/etcd:v3.2` to fetch latest v3.2 versions
|
|
- e.g. `docker pull quay.io/coreos/etcd:v3.2` to fetch latest v3.2 versions
|
|
@@ -376,12 +394,12 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
|
|
|
|
|
- [Server accepts connections if IP matches, without checking DNS entries](https://github.com/coreos/etcd/pull/8223). For instance, if peer cert contains IP addresses and DNS names in Subject Alternative Name (SAN) field, and the remote IP address matches one of those IP addresses, server just accepts connection without further checking the DNS names. For example, peer B's CSR (with `cfssl`) SAN field is `["invalid.domain", "10.138.0.2"]` when peer B's remote IP address is `10.138.0.2` and `invalid.domain` is a invalid host. When peer B tries to join the cluster, peer A successfully authenticates B, since Subject Alternative Name (SAN) field has a valid matching IP address. See [issue#8206](https://github.com/coreos/etcd/issues/8206) for more detail.
|
|
- [Server accepts connections if IP matches, without checking DNS entries](https://github.com/coreos/etcd/pull/8223). For instance, if peer cert contains IP addresses and DNS names in Subject Alternative Name (SAN) field, and the remote IP address matches one of those IP addresses, server just accepts connection without further checking the DNS names. For example, peer B's CSR (with `cfssl`) SAN field is `["invalid.domain", "10.138.0.2"]` when peer B's remote IP address is `10.138.0.2` and `invalid.domain` is a invalid host. When peer B tries to join the cluster, peer A successfully authenticates B, since Subject Alternative Name (SAN) field has a valid matching IP address. See [issue#8206](https://github.com/coreos/etcd/issues/8206) for more detail.
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Accept connection with matched IP SAN but no DNS match.
|
|
- Accept connection with matched IP SAN but no DNS match.
|
|
|
- Don't check DNS entries in certs if there's a matching IP.
|
|
- Don't check DNS entries in certs if there's a matching IP.
|
|
|
|
|
|
|
|
-### Fixed: gRPC gateway
|
|
|
|
|
|
|
+### gRPC gateway
|
|
|
|
|
|
|
|
- Use user-provided listen address to connect to gRPC gateway.
|
|
- Use user-provided listen address to connect to gRPC gateway.
|
|
|
- `net.Listener` rewrites IPv4 0.0.0.0 to IPv6 [::], breaking IPv6 disabled hosts.
|
|
- `net.Listener` rewrites IPv4 0.0.0.0 to IPv6 [::], breaking IPv6 disabled hosts.
|
|
@@ -396,11 +414,11 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
|
|
|
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.0...v3.2.1) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
See [code changes](https://github.com/coreos/etcd/compare/v3.2.0...v3.2.1) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. **Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md).**
|
|
|
|
|
|
|
|
-### Fixed: v3
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- Fix backend database in-memory index corruption issue on restore (only 3.2.0 is affected).
|
|
- Fix backend database in-memory index corruption issue on restore (only 3.2.0 is affected).
|
|
|
|
|
|
|
|
-### Fixed: gRPC gateway
|
|
|
|
|
|
|
+### gRPC gateway
|
|
|
|
|
|
|
|
- Fix Txn marshaling.
|
|
- Fix Txn marshaling.
|
|
|
|
|
|
|
@@ -451,17 +469,14 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
- [Server resolves TLS `DNSNames` when checking `SAN`](https://github.com/coreos/etcd/pull/7767). For instance, if peer cert contains only DNS names (no IP addresses) in Subject Alternative Name (SAN) field, server authenticates a peer only when forward-lookups (`dig b.com`) on those DNS names have matching IP with the remote IP address. For example, peer B's CSR (with `cfssl`) SAN field is `["b.com"]` when peer B's remote IP address is `10.138.0.2`. When peer B tries to join the cluster, peer A looks up the incoming host `b.com` to get the list of IP addresses (e.g. `dig b.com`). And rejects B if the list does not contain the IP `10.138.0.2`, with the error `tls: 10.138.0.2 does not match any of DNSNames ["b.com"]`.
|
|
- [Server resolves TLS `DNSNames` when checking `SAN`](https://github.com/coreos/etcd/pull/7767). For instance, if peer cert contains only DNS names (no IP addresses) in Subject Alternative Name (SAN) field, server authenticates a peer only when forward-lookups (`dig b.com`) on those DNS names have matching IP with the remote IP address. For example, peer B's CSR (with `cfssl`) SAN field is `["b.com"]` when peer B's remote IP address is `10.138.0.2`. When peer B tries to join the cluster, peer A looks up the incoming host `b.com` to get the list of IP addresses (e.g. `dig b.com`). And rejects B if the list does not contain the IP `10.138.0.2`, with the error `tls: 10.138.0.2 does not match any of DNSNames ["b.com"]`.
|
|
|
- Auth support JWT token.
|
|
- Auth support JWT token.
|
|
|
|
|
|
|
|
-### Added
|
|
|
|
|
|
|
+### etcd server
|
|
|
|
|
|
|
|
- RPCs
|
|
- RPCs
|
|
|
- Add Election, Lock service.
|
|
- Add Election, Lock service.
|
|
|
-- Native client etcdserver/api/v3client
|
|
|
|
|
|
|
+- Native client `etcdserver/api/v3client`
|
|
|
- client "embedded" in the server.
|
|
- client "embedded" in the server.
|
|
|
- Logging, monitoring
|
|
- Logging, monitoring
|
|
|
- Server warns large snapshot operations.
|
|
- Server warns large snapshot operations.
|
|
|
-
|
|
|
|
|
-### `etcd`
|
|
|
|
|
-
|
|
|
|
|
- Add `--enable-v2` flag to enable v2 API server.
|
|
- Add `--enable-v2` flag to enable v2 API server.
|
|
|
- `--enable-v2=true` by default.
|
|
- `--enable-v2=true` by default.
|
|
|
- Add `--auth-token` flag.
|
|
- Add `--auth-token` flag.
|
|
@@ -474,31 +489,28 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
|
|
|
- For instance, when hourly writes are 100 and `--auto-compaction-retention=10`, v3.1 compacts revision 1000, 2000, and 3000 for every 10-hour, while v3.2 compacts revision 1000, 1100, and 1200 for every 1-hour.
|
|
- For instance, when hourly writes are 100 and `--auto-compaction-retention=10`, v3.1 compacts revision 1000, 2000, and 3000 for every 10-hour, while v3.2 compacts revision 1000, 1100, and 1200 for every 1-hour.
|
|
|
- If compaction succeeds or requested revision has already been compacted, it resets period timer and removes used compacted revision from historical revision records (e.g. start next revision collect and compaction from previously collected revisions).
|
|
- If compaction succeeds or requested revision has already been compacted, it resets period timer and removes used compacted revision from historical revision records (e.g. start next revision collect and compaction from previously collected revisions).
|
|
|
- If compaction fails, it retries in 5 minutes.
|
|
- If compaction fails, it retries in 5 minutes.
|
|
|
|
|
+- Allow snapshot over 512MB.
|
|
|
|
|
|
|
|
-### `clientv3`
|
|
|
|
|
|
|
+### client v3
|
|
|
|
|
|
|
|
- STM prefetching.
|
|
- STM prefetching.
|
|
|
- Add namespace feature.
|
|
- Add namespace feature.
|
|
|
- Add `ErrOldCluster` with server version checking.
|
|
- Add `ErrOldCluster` with server version checking.
|
|
|
- Translate `WithPrefix()` into `WithFromKey()` for empty key.
|
|
- Translate `WithPrefix()` into `WithFromKey()` for empty key.
|
|
|
|
|
|
|
|
-### v3 `etcdctl`
|
|
|
|
|
|
|
+### etcdctl v3
|
|
|
|
|
|
|
|
- Add `check perf` command.
|
|
- Add `check perf` command.
|
|
|
- Add `--from-key` flag to role grant-permission command.
|
|
- Add `--from-key` flag to role grant-permission command.
|
|
|
- `lock` command takes an optional command to execute.
|
|
- `lock` command takes an optional command to execute.
|
|
|
|
|
|
|
|
-### Fixed: v2
|
|
|
|
|
-
|
|
|
|
|
-- Allow snapshot over 512MB.
|
|
|
|
|
-
|
|
|
|
|
-### `grpc-proxy`
|
|
|
|
|
|
|
+### gRPC Proxy
|
|
|
|
|
|
|
|
- Proxy endpoint discovery.
|
|
- Proxy endpoint discovery.
|
|
|
- Namespaces.
|
|
- Namespaces.
|
|
|
- Coalesce lease requests.
|
|
- Coalesce lease requests.
|
|
|
|
|
|
|
|
-### `gateway`
|
|
|
|
|
|
|
+### etcd gateway
|
|
|
|
|
|
|
|
- Support [DNS SRV priority](https://github.com/coreos/etcd/pull/7882) for [smart proxy routing](https://github.com/coreos/etcd/issues/4378).
|
|
- Support [DNS SRV priority](https://github.com/coreos/etcd/pull/7882) for [smart proxy routing](https://github.com/coreos/etcd/issues/4378).
|
|
|
|
|
|