mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Changes: - Bump release-3.6 toolchain version to 1.22.2 due to CVE-2023-45288 - Bump golang.org/x/net to v0.23.0 - Update CHANGELOG-3.4, CHANGELOG-3.5, and CHANGELOG-3.6 - Bump go version in rw-heatmaps (which was still at 1.21 where everything else is at 1.22) Reference: - PR #17703 Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
6.6 KiB
6.6 KiB
Previous change logs can be found at CHANGELOG-3.5.
v3.6.0 (TBD)
See code changes.
Breaking Changes
etcdwill no longer start on data dir created by newer versions (for example etcd v3.6 will not run on v3.7+ data dir). To downgrade data dir please check outetcdutl migratecommand.etcddoesn't support serving client requests on the peer listen endpoints (--listen-peer-urls). See pull/13565.etcdctlwill sleep(2s) in case of range delete without--rangeflag. See pull/13747- Applications which depend on etcd v3.6 packages must be built with go version >= v1.18.
Deprecations
- Deprecated V2 discovery.
- Deprecated SetKeepAlive and SetKeepAlivePeriod in limitListenerConn.
- Removed etcdctl defrag --data-dir.
- Removed etcdctl snapshot status.
- Removed etcdctl snapshot restore.
- Removed etcdutl snapshot save.
etcdctl v3
- Add command to generate shell completion.
- When print endpoint status, show db size in use
- Always print the raft_term in decimal when displaying member list in json.
- Add one more field
storageVersioninto the response of commandetcdctl endpoint status. - Add
--max-txn-opsflag to make-mirror command. - Add
--consistencyflag to member list command. - Display field
hash_revisionforetcdctl endpoint hashcommand.
etcdutl v3
- Add command to generate shell completion.
- Add
migratecommand for downgrading/upgrading etcd data dir files. - Add optional --bump-revision and --mark-compacted flag to etcdutl snapshot restore operation.
- Removed legacy etcdutl backup
Package clientv3
Package server
- Package
mvccwas moved tostorage/mvcc - Package
mvcc/backendwas moved tostorage/backend - Package
mvcc/bucketswas moved tostorage/schema - Package
walwas moved tostorage/wal - Package
datadirwas moved tostorage/datadir
Package raft
- Decouple raft from etcd. Migrated raft to a separate repository, and renamed raft module to
go.etcd.io/raft/v3.
etcd server
- Add
etcd --log-formatflag to support log format. - Add
etcd --experimental-max-learnersflag to allow configuration of learner max membership. - Add
etcd --experimental-enable-lease-checkpoint-persistflag to handle upgrade from v3.5.2 clusters with this feature enabled. - Add
etcdctl make-mirror --revflag to support incremental mirror. - Add v3 discovery to bootstrap a new etcd cluster.
- Add field
storageinto the response body of endpoint/version. - Add
etcd --max-concurrent-streamsflag to configure the max concurrent streams each client can open at a time, and defaults to math.MaxUint32. - Add
etcd grpc-proxy --experimental-enable-grpc-loggingflag to logging all grpc requests and responses. - Add
etcd --experimental-compact-hash-check-enabled --experimental-compact-hash-check-timeflags to support enabling reliable corruption detection on compacted revisions. - Add Protection on maintenance request when auth is enabled.
- Graduated
--experimental-warning-unary-request-durationto--warning-unary-request-duration. Note the experimental flag is deprecated and will be decommissioned in v3.7. - Add field
hash_revisionintoHashKVResponse. - Add
etcd --experimental-snapshot-catch-up-entriesflag to configure number of entries for a slow follower to catch up after compacting the raft storage entries and defaults to 5k. - Decreased
--snapshot-countdefault value from 100,000 to 10,000 - Add
etcd --tls-min-version --tls-max-versionto enable support for TLS 1.3. - Add
etcd --experimental-stop-grpc-service-on-defragto enable client failover on defrag.
etcd grpc-proxy
- Add
etcd grpc-proxy start --endpoints-auto-sync-intervalflag to enable and configure interval of auto sync of endpoints with server. - Add
etcd grpc-proxy start --listen-cipher-suitesflag to support adding configurable cipher list.
tools/benchmark
Metrics, Monitoring
See List of metrics for all metrics per release.
Go
- Require Go 1.22+.
- Compile with Go 1.22+. Please refer to gc-guide to configure
GOGCandGOMEMLIMITproperly.
Other
- Use Distroless as base image to make the image less vulnerable and reduce image size.
- Upgrade grpc-gateway from v1 to v2.