Previous change logs can be found at CHANGELOG-3.5.
See code changes.
etcd
will 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 migrate
command.etcd
doesn't support serving client requests on the peer listen endpoints (--listen-peer-urls). See pull/13565.etcdctl
will sleep(2s) in case of range delete without--range
flag. See pull/13747- Applications which depend on etcd v3.6 packages must be built with go version >= v1.18.
- 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.
- 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
storageVersion
into the response of commandetcdctl endpoint status
. - Add
--max-txn-ops
flag to make-mirror command. - Add
--consistency
flag to member list command. - Display field
hash_revision
foretcdctl endpoint hash
command. - Add
--max-request-bytes
and--max-recv-bytes
global flags.
- Add command to generate shell completion.
- Add
migrate
command for downgrading/upgrading etcd data dir files. - Add optional --bump-revision and --mark-compacted flag to etcdutl snapshot restore operation.
- Add hashkv command to print hash of keys and values up to given revision
- Removed legacy etcdutl backup
- Package
mvcc
was moved tostorage/mvcc
- Package
mvcc/backend
was moved tostorage/backend
- Package
mvcc/buckets
was moved tostorage/schema
- Package
wal
was moved tostorage/wal
- Package
datadir
was moved tostorage/datadir
- Decouple raft from etcd. Migrated raft to a separate repository, and renamed raft module to
go.etcd.io/raft/v3
.
- Add
etcd --log-format
flag to support log format. - Add
etcd --experimental-max-learners
flag to allow configuration of learner max membership. - Add
etcd --experimental-enable-lease-checkpoint-persist
flag to handle upgrade from v3.5.2 clusters with this feature enabled. - Add
etcdctl make-mirror --rev
flag to support incremental mirror. - Add v3 discovery to bootstrap a new etcd cluster.
- Add field
storage
into the response body of endpoint/version
. - Add
etcd --max-concurrent-streams
flag 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-logging
flag to logging all grpc requests and responses. - Add
etcd --experimental-compact-hash-check-enabled --experimental-compact-hash-check-time
flags to support enabling reliable corruption detection on compacted revisions. - Add Protection on maintenance request when auth is enabled.
- Graduated
--experimental-warning-unary-request-duration
to--warning-unary-request-duration
. Note the experimental flag is deprecated and will be decommissioned in v3.7. - Add field
hash_revision
intoHashKVResponse
. - Add
etcd --experimental-snapshot-catch-up-entries
flag to configure number of entries for a slow follower to catch up after compacting the raft storage entries and defaults to 5k. - Decreased
--snapshot-count
default value from 100,000 to 10,000 - Add
etcd --tls-min-version --tls-max-version
to enable support for TLS 1.3. - Add quota to endpoint status response
- Add 'etcd --experimental-set-member-localaddr' to enable using the first specified and non-loopback local address from initial-advertise-peer-urls as the local address when communicating with a peer.
- Add Support multiple values for allowed client and peer TLS identities
- Add
embed.Config.GRPCAdditionalServerOptions
to support updating the default internal gRPC configuration for embedded use cases.
- Add
etcd grpc-proxy start --endpoints-auto-sync-interval
flag to enable and configure interval of auto sync of endpoints with server. - Add
etcd grpc-proxy start --listen-cipher-suites
flag to support adding configurable cipher list.
See List of metrics for all metrics per release.
- Add
etcd_disk_defrag_inflight
. - Add
etcd_debugging_server_alarms
. - Add
etcd_server_range_duration_seconds
.
- Require Go 1.23+.
- Compile with Go 1.23+. Please refer to gc-guide to configure
GOGC
andGOMEMLIMIT
properly.
- Use Distroless as base image to make the image less vulnerable and reduce image size.
- Upgrade grpc-gateway from v1 to v2.