etcd 3.2.4

etcd is a distributed key-value store, used as shared cluster configuration backend. It automatically elects a master server, allows dynamic config data with optional TTLs, provides a JSON API over HTTP with TLS and long polling, uses the Raft protocol for distribution. It's the basis for CoreOS, integrates with fleet/systemd, and thus also provides service discovery.

Tags go database key-value distributed configuration administrator coreos json http
License Apache
State alpha

Recent Releases

3.2.420 Jul 2017 15:25 minor feature: #8224,#8267 embed: wait up to request-timeout for pending RPCs when closing. Etcd@fb57c62 grpcproxy: return nil on receiving snapshot EOF.
3.2.315 Jul 2017 11:05 minor feature: V3rpc: Let clients establish unlimited streams. Make major and minor version tags of docker images available. Documentation: refer to LeaseKeepAliveRequest for lease refresh. Dev-guide: document using range_end for prewith json.
3.2.208 Jul 2017 03:45 minor feature: Benchmark: refactor watch benchmark. #8097,#8099 lease: rate limit revoke runLoop. #8146,#8149 lessor: extend leases on promote if expires will be rate limited. #7961,#8151,#8221 embed: connect json gateway with user-provided listen address. #8206,#8223 transport: accept connection if matched IP SAN but no DNS match. #8212,#8222 dev-guide: update experimental APIs.
3.2.124 Jun 2017 12:45 minor feature: Perl-net-etcd#16,#7889,#8010 v3rpc: treat nil txn request op as error. Build-aci: ACI image name. Documentation/op-guide: failed RPC rate, leader election metrics. #8080,#8120 mvcc: set db size metric on restore. #8048,#8127 mvcc: restore into tree index with one key index. #8146,#8150 mvcc: use GaugeFunc metric to load db size when requested.
3.2.011 Jun 2017 10:25 minor feature: #7083,#7105 mvcc: don't block on concurrent reads. #7822,#7900 mvcc: chunk reads for restoring. Lease: LeaseTimeToLive returns TTL=-1 resp on lease not found. Embed: Etcd.Peers field is now *peerListener. Clientv3: NewFromConfigFile is moved to clientv3/yaml.NewConfig. Auth: changes of managing roles and users. Transport: deny incoming peer certs with wrong IP SAN. Transport: resolve DNSNames when SAN checking. Pkg/transport: reload TLS certificates for every client requests. V2http: remove deprecated /v2/machines path. V2http: put back /v2/machines and mark as non-deprecated. #7745 *: add bill of materials. #6174 *: use Go 1.8+. Dockerfile-release: add nsswitch.conf into image. #7714 *: add multi-arch support in release binaries. Embed: make v2 endpoint optional. Etcdserver, backend: configure mmap size based on quota. Clientv3: translate WithPre() into WithFromKey() for empty key. Vendor: upgrade grpc to 1.2.1. Vendor: upgrade grpc-gateway to v1.2.0. Scripts: annotate with acbuild with supports-systemd-notify. Backend: print snapshotting duration warning every 30s. Backend: add prometheus metric for large snapshot duration. #5386#comment,#8074 rafthttp: permit very large v2 snapshots. #7515,#7518 *: use filepath.Join. #7789,#7809 fileutil: return immediately if preallocating 0 bytes. #7322,#7743 *: use gRPC server GracefulStop. #7724,#7759 *: ignore ErrAuthNotEnabled in clientv3 if auth not enabled. #7880,#7890 clientv3: Do no stop keep alive loop by server side errors. #7348,#7394 *: use machine default host only for default value, 0.0.0.0. #7834,#7856 etcdserver: apply() sets consistIndex for any entry type. #7628,#7876 etcdserver: renaming db before snapshot persists to wal,snap. #7789,#7809 auth: support watch. Etcdserver: use same ReadView for read-only txns. Etcdmain: support SRV discovery for gRPC proxy. Clientv3: let client dial endpoints not in the balancer. Clientv3: version checking. Etcdctl: add a new option --open-ended for unlimited r
3.2.0-rc.121 May 2017 01:05 minor feature: Integration: test 'inflight' range requests. Revert "mvcc: test inflight Hash to trigger Size on nil db". Mvcc/backend: remove t.tx.DB()==nil checks with GracefulStop. Mvcc: remove stopc select case in Hash. Etcdserver: fill-in Auth API Header in apply layer. Integration: test auth API response header revision. Vendor: update gopkg.in/yaml.v2 to reflect current license. *: add bill of materials. Clientv3/integration: add 'TestUserErrorAuth'. Travis: bump up to Go 1.8.1. Integration: use 'time.Until' in Go 1.8. *: use '*tls.Config.Clone' in Go 1.8. Raft: Avoid holding unneeded memory in unstable log's entries array. Etcdserver: initialize raftNode with constructor. NEWS: update v3.1.6. Pkg/deutil: add 'mutex' profiler (Go 1.8+). Embed: use '*url.URL.Hostname(),Port()' for Go 1.8. Transport: resolve DNSNames when SAN checking. Embed: signal 'grpcServerC' before cmux serve. *: simply ignore ErrAuthNotEnabled in clientv3 if auth is not enabled. Clientv3/integration: sleep less in TestLeaseRenewLostQuorum. Etcdserver: remove 2.0 StatusNotFound version check. Ctlv3: keep lease as integer in fields printer. Scripts: move gateway stubs into gw/ packages. *: put gateway stubs into their own packages. Test: ensure clientv3 has no grpc-gateway dependency. Ctlv3: use printer for lease command results. Vendor: update 'golang.org/x/time/rate' with context. Vendor: use 'x/net/trace' with std 'context'. Netutil: use "context" and ctx-ize TCP addr resolution. Build-binary: Add arm64. Build-aci: Add multi arch support. Build-docker: Updates for multi-arch release. Release: Add multi arch support. Release.md: Update for multi arch release. *: clear redundant return statement warnings (S1027). Integration: add pause/unpause to client bridge. Clientv3/integration: test watch resume with disconnect before first ?. Clientv3: only update initReq.rev == 0 with creation watch revision. V2http: remove deprecated /v2/machines path. Integration: pe
3.2.0-rc.029 Apr 2017 07:05 minor feature: *: support checking that an interval tree's keys cover an entire inte?. *: add pprof flag to grpc proxy. Etcdctl: add a new option --from-key for unlimited range permission. E2e: add a test case for the --open-ended option. Grpcproxy/adapter: add Cluster API support. Clientv3,v3client: add cluster embedded client. Clientv3: remove unused fields from 'auth'. Pkg/transport: remove port in Certificate.IPAddresses. Integration: use cluster adapter in tests. Test: generate coverage report even if some tests fail. Auth: use atomic access to 'authStore.revision'. Docs: replace absolute links with relative ones. Lease: acquire BatchTx lock in fakeDeleter. Auth, adt: introduce a new type BytesAffineComparable. *: a in handling unix socket urls. Clientv3/yaml: use TLS 1.2 in min version. Clientv3: register waitCancelSubstreams closingc goroutine with waitg?. Ctlv3: add '--de' flag (to enable grpclog). Etcdmain: support SRV discovery for gRPC proxy. Clientv3/integration: minor typo in Fatalf. Test: fmt pass and shorten suppression warnings. *: remove os.Kill from signal.Notify. Netutil: unused err staticcheck failure. Vendor: upgrade grpc to 1.2.1. Vendor: upgrade grpc-gateway to v1.2.0. Concurrency: expose leader revision and proclaim headers for election. Concurrency: return v3.GetResponse for Election.Leader(). Concurrency: only delete on election resignation if create revision m?. Concurrency: support resuming elections if leadership already held. Concurrency: don't skip leader updates in Observe(). V3rpc: force RangeEnd=nil if length is 0. Scripts: update genproto.sh to include v3election. V3election: Election RPC service. Integration: v3 election rpc tests. Embed: add Election service. Etcd-runner: update election command to use new Leader() interface. Documentation: Adds AWS platform guide. Test: remove generated files from coverage statistics. *: add swagger and grpc-gateway assets for v3lock and v3election. Embed: register grpc-g
3.1.620 Apr 2017 17:45 minor feature: Version: bump up to 3.1.5+git. Clientv3: respect dial timeout when authenticating. Clientv3: test dial timeout is respected when using auth. Pkg/transport: remove port in Certificate.IPAddresses. Auth: protect simpleToken with single mutex and check if enabled. Integration: test requests with valid auth token but disabled auth. Clientv3: gofmt warnings. Test: do not run extra static checks on release branch. Etcdserver: let Status() not require authentication. Auth: race on stopping simple token keeper. Etcdserver: fill-in Auth API Header in apply layer. Integration: test auth API response header revision. Ctlv3: keep lease as integer in fields printer. Version: bump up to 3.1.6.
3.1.528 Mar 2017 03:16 minor feature: Version: bump to 3.1.4+git. Wal: use path/filepath instead of path. *: use filepath.Join for files. Clientv3: use waitgroup to wait for substream goroutine teardown. Dockerfile-release: add nsswitch.conf into image. Raft: use rs.req.Entries 0 .Data as the key for deletion in advance(). Version: bump up to 3.1.5.
3.1.423 Mar 2017 07:05 minor feature: Auth: nil check AuthInfo when checking admin permissions. Auth: get rid of deadlocking channel passing scheme in simpleTokenTTL. Ctlv3: ensure synced member list before printing env vars on member add. Clientv3: open watch channel if substream is closing on reconnect. Etcdserver: remove possibly compacted entry look-up. Embed: Delay setting initial cluster. #7546 *: blocking etcd process. Backend: add FillPercent option. Discovery: print format. Ctlv3: have "protobuf" in output help string instead of "proto".
3.1.311 Mar 2017 12:05 minor feature: GH7394: *: use machine default host only for default value, 0.0.0.0. GH7411: etcdctl: correctly batch revisions in make-mirror. GH7454: gateway: the dns discovery method. GH7457: lease: guard 'Lease.itemSet' from concurrent writes. GH7467: etcdmain: SdNotify when gateway, grpc-proxy are ready.
3.1.225 Feb 2017 06:25 minor feature: GH7199: pkg/netutil: use native byte ordering. GH7256: netutil: add dualstack to linux_route. GH7270: pkg/netutil: name GetDefaultInterfaces consistent. GH7368: netutil: use ipv4 host by default. GH7332: raft: read index request. GH7361: tcpproxy: don't use range variable in reactivate goroutine. GH7363: clientv3: do not set next keepalive time
3.1.118 Feb 2017 03:16 minor feature: GH6898: etcdserver: let maintenance services require root role. GH7227: clientv3: use DialContext. GH7260: auth: correct initialization in NewAuthStore(). GH7338: clientv3: lease keepalive duration.
3.1.021 Jan 2017 06:45 minor feature: GH6038: api: transfer leadership when stopping leader. GH6321: api: lease timetolive. GH6330: clientv3: add SetEndpoints method. GH6474: clientv3: add 'Sync' method. GH6273: ctlv3: add 'print-value-only' flag to get command. GH6439: etcdctl/ctlv3: make-mirror: feature add to modify/remove prein dest cluster. GH6799: etcdmain: configurable 'etcd' binary log-output. GH7030: etcdmain: add '--metrics' option to support different level of metrics reporting. GH6172: clientv3/concurrency: remove session manager and add ttl. experimental gRPC proxy; see gRPC proxy for more detail. GH6106: etcdserver, embed: stricter reconfig checking. GH6156: etcdserver: reject member removal that breaks active quorum. GH6170: use default ip for advertise URL. GH6629: clientv3: drop Config.Logger field. GH6672: *: sort by ASCEND by default when missing sort order. GH6653: acbuild: add symlinks to /usr/local/bin/etcd*. GH6084: etcdctl: set TLS servername on discovery. GH7145: transport: warn on user-provided CA. GH6649: discovery: add upper limit for waiting on a retry. GH5845: clientv3: respect up/down notifications from grpc. GH6077: v2http: use guest access in non-TLS mode. GH6166: clientv3: support non-blocking New(). GH6253: discovery: reject IP address records in SRVGetCluster. GH6365: embed: reject domain names before binding. GH6888: Use monotonic time in lease. GH7023: clientv3: lease "freezing" on unhealthy cluster. GH7148: clientv3: don't reset stream on keepaliveonce or revoke failure. GH7195: concurrency: stm restart on concurrent key deletion. GH7203: etcdctlv3: snapshot restore works with lease key. GH6543: etcdserver: use linearizableReadNotify for txn.
3.0.1614 Jan 2017 18:25 minor feature: GH6929: etcdserver: use context for Renew. GH7023: clientv3: lease "freezing" on unhealthy cluster. GH7148: clientv3: don't reset stream on keepaliveonce or revoke failure.
3.1.0-rc.119 Nov 2016 14:25 minor feature: GH6816: clientv3: let watchers cancel when reconnecting. GH6820: mvcc: return -1 for wrong watcher range key = end.
3.0.1512 Nov 2016 20:25 minor feature: GH6816: clientv3: let watchers cancel when reconnecting. GH6820: mvcc: return -1 for wrong watcher range key = end.
3.0.1405 Nov 2016 10:25 minor feature: GH6793: Add a no-ttl flag to etcdctl migrate to discard keys on transform. GH6794: ctlv3: migration.
3.0.1325 Oct 2016 10:45 minor feature: GH6356: auth, e2e: the root role should be granted access to every key. GH6622: Backport arm. GH6633: mvcc: rev inconsistency. GH6690: etcdctl: migrate in outputing client.Node to json.
3.1.0-alpha.124 Sep 2016 07:25 minor feature: GH6487: clientv3: process watcherStreams in watcherGrpcStream run loop. GH6454: ctlv3: snapshot file before rename (Windows).
3.1.0-alpha.016 Sep 2016 16:05 minor feature: GH6367: clientv3: drain buffered WatchResponses before resuming. GH6387: ctlv3: line parsing for Windows. GH6404: etcd/auth: range handling. GH6412: embed: warn on domain name in listener. GH6429: clientv3: balancer panics when call up after.
3.0.810 Sep 2016 07:45 minor feature: GH6325: etcdctl: quotes in txn and watch. GH6344: etcdctl/ctlv3: don't crash when we should prompt for pw. GH6365: embed: reject domain names before binding. GH6370: etcdctl: restore should create a snapshot. GH6381: wal: fsync directory after wal file rename.
3.0.701 Sep 2016 06:25 minor feature: GH6253: discovery: reject IP address records in SRVGetCluster. GH6267: wal: CRC corruption on writes following write tears. GH6269: wal: On non-Windows OS, hold file lock while renaming WAL directory. GH6284: clientv3/concurrency: unintended deadlock on key pre. GH6309: etcdserver: allow zero kv index for cluster upgrade. GH6310: wal: use page buffered writer for writing records.
3.0.620 Aug 2016 20:25 minor feature: GH6098: recover lessor before recovering mvcc store and transactionally revoke leases. GH6175: rafthttp: race between streamReader.stop() and connection r. GH6226: vendor: update grpc/grpc-go for clientconn patch.
3.0.429 Jul 2016 05:25 minor feature: GH5956: *: found in fast lease renew. GH5969: *: 'gogo/protobuf' compatibility (for GH5942). GH5995: rpctypes, clientv3: retry RPC on EtcdStopped. GH6006: etcdmain: correctly check return values from SdNotify(). GH6009: v3rpc: don't elide next progress notification on progress notification. GH6032: a few in grpc gateway. GH6045: etcdserver, api, membership: don't race on setting version. GH6056: scripts/genproto: use latest grpc-gateway c8ec92d0. GH5991: etcdserver/api/v2http: client certificate auth via common name. Compiled with Go 1.6.3 . GH5951: *: update grpc-gateway and its import paths. GH5973: fileutil: rework purge tests so they don't poll. GH5976: integration: drain keepalives in TestLeaseKeepAliveAfterDisconnectRevoke. GH5990: clientv3/integration: race in TestWatchCompactRevision. GH5999: Add support for formating output of ls command in json or extended format. GH6011: e2e: use a single member cluster in TestCtlV3Migrate. GH6047: Documentation: links in upgrades. GH6058: Dockerfile-release: add '/var/lib/etcd/'.
3.0.316 Jul 2016 07:05 minor feature: GH5918: etcdmain: only get initial cluster setting if the member is not initialized. GH5921: raft: do not change RecentActive when resetState for progress. GH5937: Revert "Dockerfile: use 'ENTRYPOINT' instead of 'CMD'". GH5948: vendor: update grpc (GH5871). GH5885: etcdserver: TestSnap. GH5906: e2e: add basic upgrade tests. GH5916: etcdctl: only takes 127.0.0.1:2379 as default endpoint.
3.0.209 Jul 2016 22:05 minor feature: GH5848: etcdserver/api: print only major.minor version API. GH5855: wal: release wal locks before renaming directory on init. GH5861: v3rpc: do not panic on user error for watch. GH5862: etcdserver: commit before sending snapshot. GH5876: Dockerfile: use 'ENTRYPOINT' instead of 'CMD'. GH5883: clientv3: sync base. GH5888: client: make set/delete one shot operations. GH5897: v3rpc: lock progress and prevKV map correctly.
3.0.105 Jul 2016 12:45 minor feature: GH5841: etcdserver: exit on missing backend only if semver is = 3.0.0. GH5843: Documentation: typo in api_grpc_gateway.md. GH5844: *: test, docs with go1.6+.
3.0.001 Jul 2016 03:45 minor feature: Improved latency and throughput Less protocol overhead via gRPC API layer. Better disk utilization in write ahead log . Less protocol overhead via gRPC API layer. Better disk utilization in write ahead log. New storage backend: lower memory overhead per key. Automatic TLS configuration. Flat binary keyspace: no key-value hierarchy / directories Support key get and watch by preSupport key get and watch by interval. . Support key get and watch by pre. Support key get and watch by interval. Multiversion keyspace: access historical revisions of keys. Transactions: combine multiple requests into one operation. Leases: a single TTL for sets of keys. Maintenance/Alarm: protect etcd from accidental overutilization with storage quotas. Mirror: mirror etcd to another data center. Lock: mutex on top of etcd. Elect: leader election. Snapshot: stores point-in-time state of etcd backend. Endpoint: health checking. v3 Auth API. etcd gateway subcommand.
2.3.521 May 2016 13:05 minor feature: GH5265: v2http: allow empty role for GET '/users'. GH5366: raft: do not panic when removing all the nodes from cluster. GH5371: Documentation/v2: auth_api.md. GH5375: Documentation/v2: typo for updating a member. GH5144: *: invalid access to backend struct. GH5168: etcdserver: stop raft after stopping apply scheduler. GH5379: etcdserver: wait for snapshots before closing raft.
2.3.414 May 2016 07:25 minor feature: GH5269: httpproxy: race on getting notifier channel. GH5310: etcdctl/ctlv2: total-timeout for Sync. GH5312: etcdctl: Add --wal-dir and --backup-wal-dir options to backup command. GH5320: v2/README: add known.
2.3.222 Apr 2016 03:17 minor feature: GH5028: etcdmain: start on unsupported arch when ETCD_UNSUPPORTED_ARCH is set. GH5049: etcdctl: don't crash on duplicate role in user grant. GH5051: etcdctl: don't panic on ListUser with roles. GH5120: etcdserver: response body when getting cluster information. Compiled with Go 1.6.2.
2.3.102 Apr 2016 07:05 minor feature: *: bump to v2.3.0+git. Rafthttp: do not block on proposal. Client: return original ctx error. *: bump to v2.3.1.
2.3.020 Mar 2016 02:25 minor feature: contrib/recipes: replace WatchPrewith Watch. *: godoc in interfaces and slice fields. docs: replaced single dashes in command line configuration. clientv3: move syncer to mirror package. clientv3/concurrency: Session. clientv3/concurrency: Mutex. etcdctlv3: lock command. etcdctl: use endpoints instead of endpoint flag. doc/security.md: add notes for proxy security. *: watch true cancel, created for wrong rev. docs: Relink and broken links. clientv3: txn example code. kv.proto: docs on watch event of DELETE/EXPIRE. *: support time based auto compaction. clientv3: respect first stream error in lease recv loop. clientv3: expose Do in KV. clientv3: compose all clientv3 APIs into client struct. tools/benchmark: port to clientv3 API. clientv3: use default client watcher. clientv3: use default client kv. clientv3: use default client cluster. clientv3: use default client lease api. etcdctlv3: add compatibility section. client: minor typo. clientv3: return channel on Watch() cancel. *: return -1 for canceled watch request. benchmark: use endpoints for benchmark flag. *: update gRPC dependency. clientv3: document error handling. etcdserver: ranges in watcher rpc protocol. pkg/adt: interval tree. storage: support watch on ranges. clientv3: support watcher ranges. clientv3: document error handling in README. etcdserver: detect raft starvation caused by contention. pkg/timeutil: removal. etcdserver: update rpc.proto for v3 authentication. raft: clarify Heartbeat/ElectionTick comments. raft: Config: comment wrapping @ 80col. client: go vet error at tip. Procfile: serve the default grpc port 2378. etcdserver: AuthServer for auth related RPCs. clientv3: a new interface Auth for auth related RPCs. etcdctlv3: a new command auth. etcdctlv3: ignore the binary etcdctlv3. backend: support shrink db. etcdctlv3: use string slice for endpoints. version: bump to apha1. clientv3/concurrency: move election recipe into clientv3. etcdctlv3:
2.3.0-alpha.118 Feb 2016 19:45 minor feature: GH 3830 Godeps: update boltdb to arm64 build. GH 4215 etcdmain: proxy srv lookup. GH 4254 client: do not timeout when wait is true. GH 4281 etcdserver, auth: not cache a flag of auth status. Update gRPC dependencies (git SHA e29d659177655e589850ba7d3d83f7ce12ef23dd).
2.2.502 Feb 2016 05:45 minor feature: GH 3830 Godeps: update boltdb to arm64 build. GH 4215 etcdmain: proxy srv lookup. GH 4254 client: do not timeout when wait is true. GH 4281 etcdserver, auth: not cache a flag of auth status. Update gRPC dependencies (git SHA e29d659177655e589850ba7d3d83f7ce12ef23dd).
2.2.414 Jan 2016 13:45 minor feature: *: bump to v2.2.3+git. Etcdctl: ignore value in updatedir command. Etcdmain: tls listener MUST be at the outer layer of all listeners. Etcdmain: support keep alive listeners on limit listener connections. Godeps: remove golang.org/x/net/netutil. *: bump to v2.2.4.
2.2.331 Dec 2015 06:05 minor feature: GH 3697 health check result in etcdctl cluster-health. . GH 3792 generate v5 ugorji/go/codec unmarshal code in client package. GH 3829 unset SYSLOG_IDENTIFIER when etcd is logging to the journal. GH 3590 GH 3794 improve logging when discovery procedure fails. GH 3757 GH 3758 various data races detected by race detector. GH 3868 rejecting to modify pre-defined guest role.
2.2.221 Nov 2015 21:45 minor feature: GH 3697 health check result in etcdctl cluster-health. . GH 3792 generate v5 ugorji/go/codec unmarshal code in client package. GH 3829 unset SYSLOG_IDENTIFIER when etcd is logging to the journal. GH 3590 GH 3794 improve logging when discovery procedure fails. GH 3757 GH 3758 various data races detected by race detector. GH 3868 rejecting to modify pre-defined guest role.
2.3.0-alpha.007 Nov 2015 10:05 minor feature: GH 3482 support Nodes type in client package for sorting. GH 3506 improve panic logging output when starting etcd with corrupted data dir. GH 3530 GH 3611 non-customizable request timeout in etcdctl. GH 3556 improve output when missing initial flags. GH 3564 improve output when retrying unavailable endpoint in proxy. GH 3594 etcd no longer hangs forever when fails to finish discovery. GH 3596 Content-Type header for version API. GH 3633 improve logging output when systemd notify fails. GH 3635 support literal IPv6 address with zone in URL flags. GH 3655 GH 3681 update dependency for and restorable dependency list. GH 3685 mk command in etcdctl.
2.2.117 Oct 2015 06:45 minor feature: GH 3482 support Nodes type in client package for sorting. GH 3506 improve panic logging output when starting etcd with corrupted data dir. GH 3530 GH 3611 non-customizable request timeout in etcdctl. GH 3556 improve output when missing initial flags. GH 3564 improve output when retrying unavailable endpoint in proxy. GH 3594 etcd no longer hangs forever when fails to finish discovery. GH 3596 Content-Type header for version API. GH 3633 improve logging output when systemd notify fails. GH 3635 support literal IPv6 address with zone in URL flags. GH 3655 GH 3681 update dependency for and restorable dependency list. GH 3685 mk command in etcdctl.
2.2.011 Sep 2015 19:05 minor feature: Design of runtime reconfiguration. Design of discovery service and its protocol. how to report a to etcd. FAQ.
2.1.304 Sep 2015 15:05 minor feature: GH 3378 when invalid TLS files are provided etcd logs a helpful error message and shuts down cleanly.
2.2.0-rc.029 Aug 2015 23:05 minor feature: Refuse to start when listening on HTTPS and the TLS cert and/or key is missing. Log a warning when listening on HTTP and TLS is set. Start etcd failure after failing to use proxy mode in member-mode data directory. Improve output for command line flag parsing errors. Improve retry mechanism when using the etcd discovery service. Limit the max election timeout setting to 50 seconds. Struct alignment when running under arm64. Specify request timeout caused by leader election. Improve error response codes for key etcd requests. Support cluster health check when auth is enabled. Log the etcd version during startup. Peer-url and initial-cluster mismatch when using discovery SRV. Stop spamming snapshot logging at INFO level when there is a member failure.
2.1.222 Aug 2015 03:16 minor feature: GH 3129 refuse to start when listening on HTTPS and the TLS cert and/or key is missing. GH 2234 log a warning when listening on HTTP and TLS is set. GH 3149 start etcd failure after failing to use proxy mode in member-mode data directory. GH 3143 improve output for command line flag parsing errors. GH 3257 improve retry mechanism when using the etcd discovery service. GH 3118 limit the max election timeout setting to 50 seconds. GH 3249 struct alignment when running under arm64. GH 2905 specify request timeout caused by leader election. GH 3235 improve error response codes for key etcd requests. GH 3238 support cluster health check when auth is enabled. GH 3332 log the etcd version during startup. GH 3350 peer-url and initial-cluster mismatch when using discovery SRV. Stop spamming snapshot logging at INFO level when there is a member failure.
2.2.0-alpha.114 Aug 2015 08:05 minor feature: design of runtime reconfiguration. design of discovery service and its protocol. how to report a bug to etcd.
2.1.122 Jul 2015 18:25 minor feature: In order to reduce the connection creation overhead and to make raft transportation more efficient and stable, etcd now maintains long running connections with other peers. To reduce the raft command commit latency, each raft append message is now attached to a commit index. The commit latency is reduced from 100ms to 1ms under light load (
2.1.0-rc.030 Jun 2015 14:25 minor feature: /v2/auth added the auth feature to the v2 API, providing Users, Roles and Basic Authentication. etcdctl support, etcd/client support and the REST API are ready. Documentation available at https://github.com/coreos/etcd/blob/master/Documentation/auth_api.md.
2.0.1326 Jun 2015 03:25 minor feature: GH 3030 The -advertise-client-urls flag is no longer required if falling back to proxy mode when discovery, or using read-only proxy mode.
2.1.0-alpha.118 Jun 2015 07:25 minor feature: /v2/auth added the auth feature to the v2 API, providing Users, Roles and Basic Authentication. Both etcdctl support and REST API are in place. Documentation available at https://github.com/coreos/etcd/blob/master/Documentation/auth_api.md.
2.0.1123 May 2015 11:45 minor feature: Newly joined members no longer panic when recovering a snapshot. Stats no longer update before being initialized. Fix connection leak in proxy mode. Improve the reliability of the etcdctl member remove command. Improve the disaster recovery documentation. Improve the output of the -version flag. Now includes the git-sha and Go runtime version. The -advertise-client-urls flag is now required when the setting -listen-client-urls flag . Correct a typo in the string representation of raftLog. Support filelock for Solaris and Plan 9.
0.5.0-alpha.514 Dec 2014 03:45 minor bugfix: This release includes numerous bug fixes, more documentation and log improvements. Extract storage interface in raft package. Print out more logs about raft and etcdserver behaviors. Support purging old WAL and snapshot files automatically. Optimize state machine processing in good path. Fix restore snapshot bug in raft. Fix the bug that may read empty state from WAL. Document how to change peer urls. Document the way to migrate member. Add external etcd-lock(implemented by ravigadde) link to the tool doc.