etcd 3.4.13

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.4.1327 Aug 2020 13:05 minor feature: Test: metric name typo . Tests/e2e: pass "rc.0". . Cleanup: correct summary message in put.go. . Vendor: bump datadriven. . Raft/rafttest: introduce datadriven testing. . Scripts/release: "yq" command. . *: remove "acbuild". . Scripts: build docker commands, add more logging. . Scripts/release: version check commands. . Scripts: remove ".aci" commands. . Version: 3.4.0-rc.0. . Version: 3.4.0-pre. . Clientv3: use Endpoints(), context creation. . *: use Go 1.12.8. . Vendor: upgrade grpc-go to 1.23.0. . Vendor: update "net/http2" to latest. . Documentation/upgrades: highlight "--enable-v2=false". . Makefile: explicit about GOOS in docker-test builds. . Scripts/release: clean up minor tag docker commands. . Documentation/upgrades: update. . Mvcc: Optimize compaction for short commit pauses. . *: Add experimental-compaction-batch-limit flag. . Clientv3/integration: "mvcc.NewStore" call. . Mvcc: keep 64-bit alignment in "store" struct. . Version: 3.4.0-rc.1. . *: use Go 1.12.9. . Tests/e2e: version matching. . Raft/rafttest: stabilize handler. . Raft: initialize new Progress at LastIndex, not LastIndex+1. . Rafttest: add _breakpoint directive. . Raft: proactively probe newly added followers. . Raft: add a batch of interaction-driven conf change tests. . Raft: document problem with leader self-removal. . Raft: a test file name. . Rafttest: print Ready before processing it. . Etcdmain: update help message. . Documentation/upgrades: special upgrade guides for = 3.3.14. . Functional test: typo in agent log. . Integration: TestKVPutError. . . . Raft : Write compact if statements. . Version: 3.4.0-rc.2. . Tests/e2e: remove string replace for v3.4.0-rc.1. . Clientv3: add nil checks in (). . Documentation: snapshot can be requested from one etcd node only. . Tests/e2e: skip metrics tests for now. . Etcdserver: add check for nil options. . Raft: some typos and simplify minor logic. . Raft/log_te
3.4.1119 Aug 2020 09:25 minor feature: Etcdserver/api: add "etcd_network_snapshot_send_inflights_total", "et . Integration: test snapshot inflights metrics. . Etcdserver: add "etcd_server_snapshot_apply_in_progress_total". . Raft/auorum: remove unused type. . Raft/tracker: visit Progress in stable order. . Raft : `newRaft()` does check for validity of `Config`. . Confchange: clean up unnecessary block. . Raft: restoring joint configurations. . Test: metric name typo. . Tests/e2e: pass "rc.0". . Cleanup: correct summary message in put.go. . Vendor: bump datadriven. . Raft/rafttest: introduce datadriven testing. . Scripts/release: "yq" command. . *: remove "acbuild". . Scripts: build docker commands, add more logging. . Scripts/release: version check commands. . Scripts: remove ".aci" commands. . Version: 3.4.0-rc.0. . Version: 3.4.0-pre. . Clientv3: use Endpoints(), context creation. . *: use Go 1.12.8. . Vendor: upgrade grpc-go to 1.23.0. . Vendor: update "net/http2" to latest. . Documentation/upgrades: highlight "--enable-v2=false". . Makefile: explicit about GOOS in docker-test builds. . Scripts/release: clean up minor tag docker commands. . Documentation/upgrades: update. . Mvcc: Optimize compaction for short commit pauses. . *: Add experimental-compaction-batch-limit flag. . Clientv3/integration: "mvcc.NewStore" call. . Mvcc: keep 64-bit alignment in "store" struct. . Version: 3.4.0-rc.1. . *: use Go 1.12.9. . Tests/e2e: version matching. . Raft/rafttest: stabilize handler. . Raft: initialize new Progress at LastIndex, not LastIndex+1. . Rafttest: add _breakpoint directive. . Raft: proactively probe newly added followers. . Raft: add a batch of interaction-driven conf change tests. . Raft: document problem with leader self-removal. . Raft: a test file name. . Rafttest: print Ready before processing it. . Etcdmain: update help message. . Documentation/upgrades: special upgrade guides for = 3.3.14. . Functional test: ty
3.4.1017 Jul 2020 12:25 minor feature: V3rpc: a typo `err` . Mvcc: typo in test. . Integration: a data race about `err`. . Test: output etcd server logs when functional tests fail. . Pkg/types: Avoid potential double lock of tsafeSet. . Functional.yaml: try lower snapshot count for flaky tests, error thre . . Functional/rpcpb: make client log less verbose. . Functional/agent: copy file, instead of renaming. . Raft: let learners vote. . Documentation/op-guide: update runtime configuration. . Agent: a data race and deadlock. . Etcdserver/api: add "etcd_network_snapshot_send_inflights_total", "et . . Integration: test snapshot inflights metrics. . Etcdserver: add "etcd_server_snapshot_apply_in_progress_total". . Raft/auorum: remove unused type. . Raft/tracker: visit Progress in stable order. . Raft : `newRaft()` does check for validity of `Config`. . Confchange: clean up unnecessary block. . Raft: restoring joint configurations. . Test: metric name typo. . Tests/e2e: pass "rc.0". . Cleanup: correct summary message in put.go. . Vendor: bump datadriven. . Raft/rafttest: introduce datadriven testing. . Scripts/release: "yq" command. . *: remove "acbuild". . Scripts: build docker commands, add more logging. . Scripts/release: version check commands. . Scripts: remove ".aci" commands. . Version: 3.4.0-rc.0. . Version: 3.4.0-pre. . Clientv3: use Endpoints(), context creation. . *: use Go 1.12.8. . Vendor: upgrade grpc-go to 1.23.0. . Vendor: update "net/http2" to latest. . Documentation/upgrades: highlight "--enable-v2=false". . Makefile: explicit about GOOS in docker-test builds. . Scripts/release: clean up minor tag docker commands. . Documentation/upgrades: update. . Mvcc: Optimize compaction for short commit pauses. . *: Add experimental-compaction-batch-limit flag. . Clientv3/integration: "mvcc.NewStore" call. . Mvcc: keep 64-bit alignment in "store" struct. . Version: 3.4.0-rc.1. . *: use Go 1.12.9. . Tests/e2e: version matchi
3.4.924 May 2020 07:45 minor feature: Documentation/etcd-mixin: Add an alert for down etcd members . . . Etcdserver: Added configuration flag --peer-skip-client-verify=true. . Pkg/transport: Added test for SkipClientVerify flag. . Pkg/transport: Improved description of flag peer-skip-client-san-veri . . Etcdserver: mark flag as experimental, add to changelog and configura . . Pkg/adt: add "visitLevel", make "IntervalTree" interface, more tests. . Pkg/adt: README initial commit. . Pkg/adt: README "IntervalTree.Delete" test case images. . Pkg/adt: test node "11" deletion. . Pkg/adt: add "IntervalTree.Delete" failure case. . Metrics: promote etcd_deging_mvcc put_total and delete_total. . Pkg/adt: mask test failure, add TODO. . *: use new adt.IntervalTree interface. . . . . . Pkg/adt: document textbook implementation with pseudo-code. . CHANGELOG: update "pkg/adt". . CHANGELOG: add latest metrics change. . CHANGELOG: typos. . MAINTAINERS: add @spzala. . . . Mvcc: clean up metrics names, add missing register calls. . Mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total". . Mvcc: add TODOs. . . . Documentation/upgrades: update 3.4 guides. . CHANGELOG: update with latest changes, make language consistent. . CHANGELOG-3.4: highlight version string change. . Functional: add "LogLevel" flags. . Version: 3.4.0-pre. . Etcdserver/api: enable 3.4 capability. . Functional: remove "embed" support in tests. . Tests/e2e: upgrade, metrics tests. . Tests/e2e: skip release tests until release candidate. . Pkg/adt: interval tree black-height property based on rbtree. . Scripts/release: remove acbuild commands. . Travis: do not run coverage, tip tests in v3.4. . Travis: do not allow CPU 4 test failures. . Clientv3: document "WithBlock" dial option. . Pkg/adt: remove TODO. . Functional: use Go 1.12.7 as default. . Clientv3: deprecate "grpc.ErrClientConnClosing". . Functional: deprecate "grpc.ErrClientConnClosing". . Proxy/grpcproxy: deprecate "grpc.E
3.4.820 May 2020 00:25 minor feature: CHANGELOG: add recent changes in logger . Vendor: update grpc-ecosystem. . Tests/e2e: curl proclaim error message. . Bill-of-materials: update. . . . Documentation/etcd-mixin: Add an alert for down etcd members. . . . Etcdserver: Added configuration flag --peer-skip-client-verify=true. . Pkg/transport: Added test for SkipClientVerify flag. . Pkg/transport: Improved description of flag peer-skip-client-san-veri . . Etcdserver: mark flag as experimental, add to changelog and configura . . Pkg/adt: add "visitLevel", make "IntervalTree" interface, more tests. . Pkg/adt: README initial commit. . Pkg/adt: README "IntervalTree.Delete" test case images. . Pkg/adt: test node "11" deletion. . Pkg/adt: add "IntervalTree.Delete" failure case. . Metrics: promote etcd_deging_mvcc put_total and delete_total. . Pkg/adt: mask test failure, add TODO. . *: use new adt.IntervalTree interface. . . . . . Pkg/adt: document textbook implementation with pseudo-code. . CHANGELOG: update "pkg/adt". . CHANGELOG: add latest metrics change. . CHANGELOG: typos. . MAINTAINERS: add @spzala. . . . Mvcc: clean up metrics names, add missing register calls. . Mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total". . Mvcc: add TODOs. . . . Documentation/upgrades: update 3.4 guides. . CHANGELOG: update with latest changes, make language consistent. . CHANGELOG-3.4: highlight version string change. . Functional: add "LogLevel" flags. . Version: 3.4.0-pre. . Etcdserver/api: enable 3.4 capability. . Functional: remove "embed" support in tests. . Tests/e2e: upgrade, metrics tests. . Tests/e2e: skip release tests until release candidate. . Pkg/adt: interval tree black-height property based on rbtree. . Scripts/release: remove acbuild commands. . Travis: do not run coverage, tip tests in v3.4. . Travis: do not allow CPU 4 test failures. . Clientv3: document "WithBlock" dial option. . Pkg/adt: remove TODO. . Functional: use Go 1.12.7
3.4.703 Apr 2020 10:25 minor feature: Embed: disable v2 by default . Documentation/op-guide: disable v2 by default. . Tests/e2e: enable-v2 for v2 e2e tests. . Etcdserver: document v2 usage in "publish" method. . CHANGELOG: move corrupt check features to etcd v4. . Docs: remove. . Tools,Documentation: move "etcd-dump-metrics" output to "Documentation". . Documentation: move client, learner design docs. . Documentation/learning: rewrite balancer design doc images. . . . . . . . Embed: do not expose "zapLoggerBuilder". . Pkg/logutil: add log level utilities. . Embed: add "LogLevel", deprecate "De" in v3.5. . Etcdmain: add "--log-level" flag. . Documentation/op-guide: add "--log-level" flag. . Etcdserver: make raft log configured by top level logger. . Raft: use mutex in "SetLogger" to avoid race conditions in tests. . . . CHANGELOG: add recent changes in logger. . Vendor: update grpc-ecosystem. . Tests/e2e: curl proclaim error message. . Bill-of-materials: update. . . . Documentation/etcd-mixin: Add an alert for down etcd members. . . . Etcdserver: Added configuration flag --peer-skip-client-verify=true. . Pkg/transport: Added test for SkipClientVerify flag. . Pkg/transport: Improved description of flag peer-skip-client-san-veri . . Etcdserver: mark flag as experimental, add to changelog and configura . . Pkg/adt: add "visitLevel", make "IntervalTree" interface, more tests. . Pkg/adt: README initial commit. . Pkg/adt: README "IntervalTree.Delete" test case images. . Pkg/adt: test node "11" deletion. . Pkg/adt: add "IntervalTree.Delete" failure case. . Metrics: promote etcd_deging_mvcc put_total and delete_total. . Pkg/adt: mask test failure, add TODO. . *: use new adt.IntervalTree interface. . . . . . Pkg/adt: document textbook implementation with pseudo-code. . CHANGELOG: update "pkg/adt". . CHANGELOG: add latest metrics change. . CHANGELOG: typos. . MAINTAINERS: add @spzala. . . . Mvcc: clean up metrics names, add missing register c
3.4.519 Mar 2020 23:25 minor feature: Clientv3/credentials: set dial target "Authority" with target address . Clientv3: move auth token credential to "credentials" package. . Clientv3/balancer: refactor. . Clientv3/integration: give more time for balancer resolution. . Integration: match code.Canceled in "TestV3KVInflightRangeRequests". . Words: whitelist more. . Raft: leave TODO about leaving StateSnapshot. . . . Embed: disable v2 by default. . Documentation/op-guide: disable v2 by default. . Tests/e2e: enable-v2 for v2 e2e tests. . Etcdserver: document v2 usage in "publish" method. . CHANGELOG: move corrupt check features to etcd v4. . Docs: remove. . Tools,Documentation: move "etcd-dump-metrics" output to "Documentation". . Documentation: move client, learner design docs. . Documentation/learning: rewrite balancer design doc images. . . . . . . . Embed: do not expose "zapLoggerBuilder". . Pkg/logutil: add log level utilities. . Embed: add "LogLevel", deprecate "De" in v3.5. . Etcdmain: add "--log-level" flag. . Documentation/op-guide: add "--log-level" flag. . Etcdserver: make raft log configured by top level logger. . Raft: use mutex in "SetLogger" to avoid race conditions in tests. . . . CHANGELOG: add recent changes in logger. . Vendor: update grpc-ecosystem. . Tests/e2e: curl proclaim error message. . Bill-of-materials: update. . . . Documentation/etcd-mixin: Add an alert for down etcd members. . . . Etcdserver: Added configuration flag --peer-skip-client-verify=true. . Pkg/transport: Added test for SkipClientVerify flag. . Pkg/transport: Improved description of flag peer-skip-client-san-veri . . Etcdserver: mark flag as experimental, add to changelog and configura . . Pkg/adt: add "visitLevel", make "IntervalTree" interface, more tests. . Pkg/adt: README initial commit. . Pkg/adt: README "IntervalTree.Delete" test case images. . Pkg/adt: test node "11" deletion. . Pkg/adt: add "IntervalTree.Delete" failure case. . Metrics:
3.4.427 Feb 2020 02:45 minor feature: README: require Go 1.12+ . . . Etcdserver/api/v2v3: skip tests for CI. . Clientv3: do not use pointer to TransportCredentials interface. . Vendor: upgrade grpc-go to v1.22.1. . Clientv3/credential: implement grpc/credentials.Bundle. . Clientv3: use new "credentials" package. . Etcdserver/api/v3rpc: use new "credentials" package. . Embed: use new "credentials" package. . Clientv3/credentials: set dial target "Authority" with target address. . Clientv3: move auth token credential to "credentials" package. . Clientv3/balancer: refactor. . Clientv3/integration: give more time for balancer resolution. . Integration: match code.Canceled in "TestV3KVInflightRangeRequests". . Words: whitelist more. . Raft: leave TODO about leaving StateSnapshot. . . . Embed: disable v2 by default. . Documentation/op-guide: disable v2 by default. . Tests/e2e: enable-v2 for v2 e2e tests. . Etcdserver: document v2 usage in "publish" method. . CHANGELOG: move corrupt check features to etcd v4. . Docs: remove. . Tools,Documentation: move "etcd-dump-metrics" output to "Documentation". . Documentation: move client, learner design docs. . Documentation/learning: rewrite balancer design doc images. . . . . . . . Embed: do not expose "zapLoggerBuilder". . Pkg/logutil: add log level utilities. . Embed: add "LogLevel", deprecate "De" in v3.5. . Etcdmain: add "--log-level" flag. . Documentation/op-guide: add "--log-level" flag. . Etcdserver: make raft log configured by top level logger. . Raft: use mutex in "SetLogger" to avoid race conditions in tests. . . . CHANGELOG: add recent changes in logger. . Vendor: update grpc-ecosystem. . Tests/e2e: curl proclaim error message. . Bill-of-materials: update. . . . Documentation/etcd-mixin: Add an alert for down etcd members. . . . Etcdserver: Added configuration flag --peer-skip-client-verify=true. . Pkg/transport: Added test for SkipClientVerify flag. . Pkg/transport: Improved descri
3.3.1829 Nov 2019 02:45 minor feature: Compactor: simplify interval logic on periodic compactor . Documentation/upgrades: backport all upgrade guides. . Version: 3.3.3. . Version: 3.3.3+git. . Travis: use Go 1.9.5. . Semaphore.sh: update Go version. . Tests: move test scripts. . Etcdserver: "lease_expired_total" metrics. . Test/*: clean up semaphore scripts. . Travis: update. . Tools: remove. . Pkg/proxy: move from "pkg/transport". . Cmd/vendor: add "go.uber.org/zap". . Test: remove build flag "-a". . Etcdserver/stats: stats data race. . Etcdserver/stats: make all fields guarded by mutex. . Test: simplify. . Snapshot: initial commit (for functional tests). . Functional: initial commit. . Snapshot: remove tests. . Travis: run build tests for "functional". . Functional: create symlinks for build. . Pkg/transport: don't set certificates on tls config. . Integration: re-overwrite "httptest.Server" TLS.Certificates. . Etcdserver: add is_leader prometheus metric that is 1 on the leader. . Etcdserver: add "InitialElectionTickAdvance". . Integration: set InitialElectionTickAdvance to true by default. . Embed: add "InitialElectionTickAdvance". . Etcdmain: add "--initial-election-tick-advance". . Etcdserver: log skipping initial election tick. . Scripts: Add scripts/release that performs 'etcd-release-runbook' (ht . . Version: 3.3.4. . Version: 3.3.4+git. . Etcdmain: document peer-cert-allowed-cn flag. . Scripts: a few etcd release script and make it reenterant. . Functional.yaml: use lower ports. . Functional/tester: handle retries in "caseUntilSnapshot". . Tests: use Go 1.9.6. . Etcdctl/ctlv3: watch with exec commands. . Tests/e2e: separate coverage tests for exec commands. . Version: 3.3.5. . Version: 3.3.5+git. . Scripts: remote tag check, gcloud login and umask in release script. . Auth: a new auth token provider nop. . Auth: panic using WithRoot and improve JWT coverage. . Mvcc: panic by allowing future revision watcher
3.2.2811 Nov 2019 15:25 minor feature: Test: Clean agent directories on disk before functional test runs, no . Test: unit tests, remove some unnecessary tests. . Clientv3: remove balancer tests. . . . Revert "embed: HTTPs + DNS SRV discovery". . . . Glide: update grpc, grpc-gateway. . Vendor: update grpc, grpc-gateway, protobuf. . Scripts/genproto: update protobuf, grpc-gateway gen. . *: regenerate proto. . Bill-of-materials: regenerate. . *: deprecate "metadata.NewContext". . *: use grpclog.NewLoggerV2. . *: add max requests bytes, keepalive to server, blackhole methods to . . Clientv3: client balancer with gRPC v1.7. . Proxy/grpcproxy: wait until register before Serve. . . . Vendor: Switch from boltdb v1.3.0 to coreos/bbolt v1.3.1-coreos.3. . Test: Clean agent directories on disk before functional test runs, no . . . . Version: bump up to v3.2.10. . Version: bump up to v3.2.10+git. . Api/v3rpc: log grpc stream send/recv errors in server-side. . Etcdmain: add more details to TLS HandshakeFailure. . Documentation/op-guide: remove non-released flag in monitoring.md. . . . Vendor: upgrade grpc/grpc-go to v1.7.4. . Version: bump up to v3.2.11. . Version: bump up to v3.2.11+git. . Scripts/build-docker: build both gcr.io and quay.io images. . Gitignore: sync with master branch. . Hack: sync with master branch (needed for release). . Semaphore.sh: do not fail on "Too many goroutines". . Semaphore: run upgrade tests against v3.2.11. . Compactor: error message of Revision compactor. . . . Integration: add "TestV3AuthWithLeaseRevokeWithRoot". . Vendor: pin grpc v1.7.5, grpc-gateway v1.3.0 (no code change). . Test: bump up clientv3/integration timeout. . Integration: test large request response back from server. . Integration: remove typo in "TestV3LargeRequests". . Clientv3: configure gRPC message limits in Config. . Clientv3: call KV/Txn APIs with default gRPC call options. . Clientv3: call other APIs with default gRPC call options. .
3.4.325 Oct 2019 11:05 minor feature: Etcdserver: createConfChangeEnts . . . . . . . Dockerfile: rebase etcd image to debian. . Raft: introduce protos for joint quorums. . Raft: use ConfChangeSingle internally. . Raft: allow use of joint quorums. . Raftpb: clean up naming in ConfChange. . . . . . *: test with Go 1.12.7. . Security: Create etcd security process. . Update CHANGELOG-3.4.md for PR #10805. . . . Raft: require app to consume result from Ready(). . CHANGELOG: update latest changes. . . . Vendor: update. . Etcdserver: do not allow creating empty role. . . . . . Raft: move "RawNode", clarify tick miss. . Changelog: reflect the latest vendor dependencies. . . . Embed: oob panic in zap logger. . . . CHANGELOG: move "--enable-v2v3" to 3.5. . . . . . README: require Go 1.12+. . . . Etcdserver/api/v2v3: skip tests for CI. . Clientv3: do not use pointer to TransportCredentials interface. . Vendor: upgrade grpc-go to v1.22.1. . Clientv3/credential: implement grpc/credentials.Bundle. . Clientv3: use new "credentials" package. . Etcdserver/api/v3rpc: use new "credentials" package. . Embed: use new "credentials" package. . Clientv3/credentials: set dial target "Authority" with target address. . Clientv3: move auth token credential to "credentials" package. . Clientv3/balancer: refactor. . Clientv3/integration: give more time for balancer resolution. . Integration: match code.Canceled in "TestV3KVInflightRangeRequests". . Words: whitelist more. . Raft: leave TODO about leaving StateSnapshot. . . . Embed: disable v2 by default. . Documentation/op-guide: disable v2 by default. . Tests/e2e: enable-v2 for v2 e2e tests. . Etcdserver: document v2 usage in "publish" method. . CHANGELOG: move corrupt check features to etcd v4. . Docs: remove. . Tools,Documentation: move "etcd-dump-metrics" output to "Documentation". . Documentation: move client, learner design docs. . Documentation/learning: rewrite balancer design doc images. . .
3.3.1612 Oct 2019 15:05 minor feature: E2e: add "Election" grpc-gateway test cases . Etcdctl: highlight "defrag" command caveats. . Documentation/op-guide: highlight defrag operation "--endpoints" flag. . Embed: wrong compactor imports. . E2e: missing "apiPre". . Travis: update Go version string. . Hack/scripts-dev: sync with master branch. . Hack/scripts-dev: indentation in run.sh. . *: remove unused env vars. . *: enforce max lease TTL with 9,000,000,000 seconds. . Clientv3/integration: test "rpctypes.ErrLeaseTTLTooLarge". . Version: 3.3.2. . Version: 3.3.2+git. . Rafthttp: add "ActivePeers" to "Transport". . Etcdserver: make "advanceTicks" method. . Etcdserver: adjust election ticks on restart. . Rafthttp: add missing "peer_sent_failures_total" metrics call. . Compactor: clean up. . Compactor: adjust interval for period
3.4.211 Oct 2019 08:05 minor feature: Integration: add WaitGroup to prevent calling t.Fatalf after TestV3Wa . Raft: return non-nil Inflights in raft status. . Raft: return active config in Status. . Move wg.Wait() after loop. . . . . . Raft: replace StatusWithoutProgress with BasicStatus. . . . . . Integration: a data race about `i` and `tt` in TestV3WatchFromCur . . Raft: use RawNode for node's event loop. . Raft: clean up bootstrap. . Raft: restore ability to bootstrap RawNode. . Raft: remove TestNodeBoundedLogGrowthWithPartition. . . . Etcdserver: createConfChangeEnts. . . . . . . . Dockerfile: rebase etcd image to debian. . Raft: introduce protos for joint quorums. . Raft: use ConfChangeSingle internally. . Raft: allow use of joint quorums. . Raftpb: clean up naming in ConfChange. . . . . . *: test with Go 1.12.7. . Security: Create etcd security process. . Update CHANGELOG-3.4.md for PR #10805. . . . Raft: require app to consume result from Ready(). . CHANGELOG: update latest changes. . . . Vendor: update. . Etcdserver: do not allow creating empty role. . . . . . Raft: move "RawNode", clarify tick miss. . Changelog: reflect the latest vendor dependencies. . . . Embed: oob panic in zap logger. . . . CHANGELOG: move "--enable-v2v3" to 3.5. . . . . . README: require Go 1.12+. . . . Etcdserver/api/v2v3: skip tests for CI. . Clientv3: do not use pointer to TransportCredentials interface. . Vendor: upgrade grpc-go to v1.22.1. . Clientv3/credential: implement grpc/credentials.Bundle. . Clientv3: use new "credentials" package. . Etcdserver/api/v3rpc: use new "credentials" package. . Embed: use new "credentials" package. . Clientv3/credentials: set dial target "Authority" with target address. . Clientv3: move auth token credential to "credentials" package. . Clientv3/balancer: refactor. . Clientv3/integration: give more time for balancer resolution. . Integration: match code.Canceled in "TestV3KVInflightRangeRequests"
3.4.119 Sep 2019 02:05 minor feature: Use newbe instead of s.be to avoid potential race . . . Raft: optimize string representation of Progress. . . . Etcdmain, pkg: Support peer and client TLS auth based on SAN fields. . Etcdman, pkg: Rename new flags to 'hostname'. . Pkg: Remove stray printfs. . Tests: Use 'localhost' to match SAN of `integration/tures/server.crt`. . Tests: Use more deterministic error message in TestEtcdPeerNameAuth. . . . Test: allow failures in linux-amd64-integration-4-cpu. . . . Raft/rafttest: simulate async send in node test. . . . Scripts: fail explicitly in updatedep.sh when gopath.proto exists. . Scripts: have genproto.sh clean up after itself. . Raft: internally support joint consensus. . . . Integration: add WaitGroup to prevent calling t.Fatalf after TestV3Wa . . Raft: return non-nil Inflights in raft status. . Raft: return active config in Status. . Move wg.Wait() after loop. . . . . . Raft: replace StatusWithoutProgress with BasicStatus. . . . . . Integration: a data race about `i` and `tt` in TestV3WatchFromCur . . Raft: use RawNode for node's event loop. . Raft: clean up bootstrap. . Raft: restore ability to bootstrap RawNode. . Raft: remove TestNodeBoundedLogGrowthWithPartition. . . . Etcdserver: createConfChangeEnts. . . . . . . . Dockerfile: rebase etcd image to debian. . Raft: introduce protos for joint quorums. . Raft: use ConfChangeSingle internally. . Raft: allow use of joint quorums. . Raftpb: clean up naming in ConfChange. . . . . . *: test with Go 1.12.7. . Security: Create etcd security process. . Update CHANGELOG-3.4.md for PR #10805. . . . Raft: require app to consume result from Ready(). . CHANGELOG: update latest changes. . . . Vendor: update. . Etcdserver: do not allow creating empty role. . . . . . Raft: move "RawNode", clarify tick miss. . Changelog: reflect the latest vendor dependencies. . . . Embed: oob panic in zap logger. . . . CHANGELOG: move "--enable-v2v
3.4.004 Sep 2019 06:05 minor feature: Scripts/release: sha256sum . Vendor: x/sys and x/net to support building on Risc-V. . Documentation:clerical error. . Tests/e2e: run metrics test again. . Version: 3.4.0.
3.4.0-rc.430 Aug 2019 13:45 minor feature: Documentation: Add section headers to etcd Learner . Scripts/release: add sha256sum summary of release assets. . . . Version: 3.4.0-rc.4.
3.4.0-rc.226 Aug 2019 10:05 minor feature: Mvcc: address comments . . . Doc: referencing the wrong version number. . Raft: prevent learners from becoming leader. . Raft HTTP: pause/resume race condition. . . . . . . . Quorum: introduce library for majority and joint quorums. . Raft: use membership sets in progress tracking. . Raft: rename makeP RS,rogressTracker . . Raft: use half-populated joint quorum. . . . Quorum: vet failure. . . . Test: s/20m/30m/g. . . . Raft: extract 'tracker' package. . . . Raftdoc: raft thesis link. . Documentation: change `etcdctl role remove` to `etcdctl role delete`. . a missing block. . . . . . Raft: update log info and annotation. . Raft: centralize configuration change application. . Raft/tracker: pull Voters and Learners into Config struct. . . . Raft: allow voter to become learner through snapshot. . Use newbe instead of s.be to avoid potential race. . . . Raft: optimize string representation of Progress. . . . Etcdmain, pkg: Support peer and client TLS auth based on SAN fields. . Etcdman, pkg: Rename new flags to 'hostname'. . Pkg: Remove stray printfs. . Tests: Use 'localhost' to match SAN of `integration/tures/server.crt`. . Tests: Use more deterministic error message in TestEtcdPeerNameAuth. . . . Test: allow failures in linux-amd64-integration-4-cpu. . . . Raft/rafttest: simulate async send in node test. . . . Scripts: fail explicitly in updatedep.sh when gopath.proto exists. . Scripts: have genproto.sh clean up after itself. . Raft: internally support joint consensus. . . . Integration: add WaitGroup to prevent calling t.Fatalf after TestV3Wa . . Raft: return non-nil Inflights in raft status. . Raft: return active config in Status. . Move wg.Wait() after loop. . . . . . Raft: replace StatusWithoutProgress with BasicStatus. . . . . . Integration: a data race about `i` and `tt` in TestV3WatchFromCur . . Raft: use RawNode for node's event loop. . Raft: clean up bootstrap. . Raft:
3.3.1418 Aug 2019 11:45 minor feature: Etcd-agent: use "pkg/transport.Proxy" . Etcd-tester: set advertise ports, delay w/ network faults. . Test: configure advertise ports in functional_pass. . Gitignore: add ".Dockerfile-functional-tester". . Dockerfile-functional-tester: initial commit. . Tools/functional-tester: update README for local docker testing. . Hack: sync with etcd master. . Mvcc: restore unsynced watchers. . Etcdserver: improve request took too long warning. . Semaphore: use Go 1.9.4, update release upgrade test version. . Travis: use Go 1.9.4 with TARGET_GO_VERSION. . Hack/scripts-dev: Makefile with Go 1.9.4, 1.8.7. . Version: 3.3.1. . Version: 3.3.1+git. . Embed: document/validate compaction mode. . Embed: revision-based compaction with default value. . Semaphore: release test version. . Httpproxy: cancel requests when client a connection. . Etcdserver: enable "CheckQuorum" when starting with "ForceNewCluster". . Documentation: make "Consul" section more objective. . Api/v3election: error on missing "leader" field. . E2e: add "spawnWithExpectLines". . E2e: add "Election" grpc-gateway test cases. . Etcdctl: highlight "defrag" command caveats. . Documentation/op-guide: highlight defrag operation "--endpoints" flag. . Embed: wrong compactor imports. . E2e: missing "apiPre". . Travis: update Go version string. . Hack/scripts-dev: sync with master branch. . Hack/scripts-dev: indentation in run.sh. . *: remove unused env vars. . *: enforce max lease TTL with 9,000,000,000 seconds. . Clientv3/integration: test "rpctypes.ErrLeaseTTLTooLarge". . Version: 3.3.2. . Version: 3.3.2+git. . Rafthttp: add "ActivePeers" to "Transport". . Etcdserver: make "advanceTicks" method. . Etcdserver: adjust election ticks on restart. . Rafthttp: add missing "peer_sent_failures_total" metrics call. . Compactor: clean up. . Compactor: adjust interval for period
3.4.0-rc.013 Aug 2019 15:25 minor feature: CHANGELOG: update from cherry pick of #9540 . Lease: refactor benchmark. . Etcdserver: add learner metrics. . . . README: provide ref for and PR managenet doc. . . . Test: test update for Go 1.12.5 and related changes. . . . *: enable lease checkpoint via experimental flag. . CHANGELOG: update changelog-3.4. . CHANGELOG: add learner metrics. . . . . . Tests/e2e: initialize UserAddOptions field in testV3CurlAuth(). . . . Raft: make relationship between node and RawNode explicit. . . . Add @jingyih to MAINTAINERS. . . . . . . . . . . Vendor: update boltdb. . . . CHANGELOG: update from PR10808. . . . Mvcc: add metrics dbOpenReadTxn. . Mvcc/backend: add unit test for ConcurrentReadTx. . Mvcc/backend: correct RLock in test. . Mvcc: add TestConcurrentReadTxAndWrite. . . . Mvcc: address comments. . . . Doc: referencing the wrong version number. . Raft: prevent learners from becoming leader. . Raft HTTP: pause/resume race condition. . . . . . . . Quorum: introduce library for majority and joint quorums. . Raft: use membership sets in progress tracking. . Raft: rename makeP RS,rogressTracker . . Raft: use half-populated joint quorum. . . . Quorum: vet failure. . . . Test: s/20m/30m/g. . . . Raft: extract 'tracker' package. . . . Raftdoc: raft thesis link. . Documentation: change `etcdctl role remove` to `etcdctl role delete`. . a missing block. . . . . . Raft: update log info and annotation. . Raft: centralize configuration change application. . Raft/tracker: pull Voters and Learners into Config struct. . . . Raft: allow voter to become learner through snapshot. . Use newbe instead of s.be to avoid potential race. . . . Raft: optimize string representation of Progress. . . . Etcdmain, pkg: Support peer and client TLS auth based on SAN fields. . Etcdman, pkg: Rename new flags to 'hostname'. . Pkg: Remove stray printfs. . Tests: Use 'localhost' to match SAN of `integration/tures/
3.3.1303 May 2019 06:45 minor feature: Travis.yml: update Go 1.10.8 . Etcdserver: Use panic instead of fatal on no space left error. . . . Travis: tests by using proper code path. . *: Change gRPC proxy to expose etcd server endpoint /metrics. . Wal: add Verify function to perform corruption check on wal contents. . Wal: Add test for Verify. . Mvcc: db_compaction_total_duration_milliseconds. . . . Client: Replace ugorji/codec with json-iterator/go. . Scripts: Remove generated code and script. . Vendor: Add json-iterator and its dependencies. . *: update bill-of-materials. . Client: Switch to case sensitive unmarshalling to be compatible with . . Vendor: Run scripts/updatedeps.sh to cleanup unused code. . Vendor: add missing files. . Documentation metadata for 3.3 branch. . Etcdserver: improve heartbeat send failures logging. . Clientv3: race condition in "Endpoints" methods. . Version: bump up 3.3.13.
3.3.1113 Jan 2019 00:25 minor feature: Integration: bump up wait leader timeout for slow CIs . Documentation/upgrades: highlight raw gRPC client wrapper changes. . . . . . . . Document/upgrades: add "lease timetolive" output change. . Clientv3/retry: clean up retryRPCFunc. . Documentation/dev-guide: Update TimeToLive documentation. . . . . . . . Etcdserver/api: add 3.3.0 as compatible server capability. . Rafthttp: add 3.3.0 support. . . . Version: bump up to 3.3.0. . Version: bump up to 3.3.0+git. . *: update release upgrade test versions. . CHANGELOG: remove rc in release-3.3. . Embed: only discard infos when deflag is off. . Grpc-proxy: add "--de" flag to "etcd grpc-proxy start" command. . Clientv3/leasing: racey waitSession. . Etcdserver/api/v3rpc: log stream error with delevel. . Etcdserver,embed: discard gRPC info logs when deis off. . Etcdserver/api/v3rpc: set grpclog once. . Tools/functional-tester: remove duplicate grpclog set. . Clientv3/integration: TestKVLargeRequests with -tags cluster_proxy. . Version: bump up to 3.3.0-rc.1. . Version: bump up to 3.3.0-rc.1+git. . Pkg/expect: deadlock in mac OS. . Etcdmain: unset ETCD_UNSUPPORTED_ARCH after arch check. . Embed: enable extensive metrics if specified. . Etcdserver/api/v3rpc: deuser cancellation and log warning for rest. . Mvcc: check null before set FillPercent not to panic. . Integration: add constant RequestWaitTimeout. . Clientv3/integration: typos. . DocCommand: use regex wildcard. . Ctlv3: add "snapshot restore --wal-dir". . Etcd-tester: add txn stresser. . Test: limit stress-qps for slow CI machines, add txn flags. . Etcd-tester: "writeTxn" key selection. . Version: 3.3.0-rc.2. . Version: 3.3.0-rc.2+git. . Etcd-tester: update stresser weights with txn stresser. . Etcdctl: don't ask password twice for etcdctl endpoint health --cluster. . Documentation/op-guide: clarify security.md on TLS auth. . Ctlv3: support ETCDCTL_WATCH_KEY, ETCDCTL_WATCH_RANGE_END. . E2e:
3.3.1011 Oct 2018 22:05 minor feature: Clientv3: call KV/Txn APIs with default gRPC call options . Clientv3: call other APIs with default gRPC call options. . Clientv3/integration: test large KV requests. . Words: whitelist more. . Documentation/upgrades: clean up 3.2, 3.3 guides. . Documentation/upgrades: highlight request limit changes in v3.2, v3.3. . Clientv3/integration: TestKVPutError. . Integration: bump up wait leader timeout for slow CIs. . Documentation/upgrades: highlight raw gRPC client wrapper changes. . . . . . . . Document/upgrades: add "lease timetolive" output change. . Clientv3/retry: clean up retryRPCFunc. . Documentation/dev-guide: Update TimeToLive documentation. . . . . . . . Etcdserver/api: add 3.3.0 as compatible server capability. . Rafthttp: add 3.3.0 support. . . . Version: bump up to 3.3.0. . Version: bump up to 3.3.0+git. . *: update release upgrade test versions. . CHANGELOG: remove rc in release-3.3. . Embed: only discard infos when deflag is off. . Grpc-proxy: add "--de" flag to "etcd grpc-proxy start" command. . Clientv3/leasing: racey waitSession. . Etcdserver/api/v3rpc: log stream error with delevel. . Etcdserver,embed: discard gRPC info logs when deis off. . Etcdserver/api/v3rpc: set grpclog once. . Tools/functional-tester: remove duplicate grpclog set. . Clientv3/integration: TestKVLargeRequests with -tags cluster_proxy. . Version: bump up to 3.3.0-rc.1. . Version: bump up to 3.3.0-rc.1+git. . Pkg/expect: deadlock in mac OS. . Etcdmain: unset ETCD_UNSUPPORTED_ARCH after arch check. . Embed: enable extensive metrics if specified. . Etcdserver/api/v3rpc: deuser cancellation and log warning for rest. . Mvcc: check null before set FillPercent not to panic. . Integration: add constant RequestWaitTimeout. . Clientv3/integration: typos. . DocCommand: use regex wildcard. . Ctlv3: add "snapshot restore --wal-dir". . Etcd-tester: add txn stresser. . Test: limit stress-qps for slow CI machines, add txn fl
3.3.925 Jul 2018 17:45 minor feature: Clientv3: translate Snapshot API gRPC status error . Documentation/upgrades: document Snapshot API error handling. . . . . . Test: bump up clientv3/integration test time out. . . . Integration: test large request response back from server. . . . Etcdctl/ctlv3: support "exec-watch" in watch command. . Etcdctl: document watch exec in v3. . E2e: test watch exec in v3 etcdctl. . Etcdctl/ctlv3: clarify "lease timetolive" output on expired lease. . E2e: update "leaseTestTimeToLiveExpire". . Documentation/op-guide: s/member_round_trip_time/peer_round_trip_time/. . Etcdctl: update README for new "lease timetolive" output. . . . CHANGELOG: minor formatting update in previous releases. . CHANGELOG: add v3.3.0 pre-release. . CHANGELOG: update "code changes" links. . CHANGELOG: highlight request limit changes, add v3.2.12. . CHANGELOG: link to upgrade guides for every release. . CHANGELOG: add "lease timetolive" change. . . . Integration: remove typo in "TestV3LargeRequests". . Clientv3: configure gRPC message limits in Config. . Clientv3: call KV/Txn APIs with default gRPC call options. . Clientv3: call other APIs with default gRPC call options. . Clientv3/integration: test large KV requests. . Words: whitelist more. . Documentation/upgrades: clean up 3.2, 3.3 guides. . Documentation/upgrades: highlight request limit changes in v3.2, v3.3. . Clientv3/integration: TestKVPutError. . Integration: bump up wait leader timeout for slow CIs. . Documentation/upgrades: highlight raw gRPC client wrapper changes. . . . . . . . Document/upgrades: add "lease timetolive" output change. . Clientv3/retry: clean up retryRPCFunc. . Documentation/dev-guide: Update TimeToLive documentation. . . . . . . . Etcdserver/api: add 3.3.0 as compatible server capability. . Rafthttp: add 3.3.0 support. . . . Version: bump up to 3.3.0. . Version: bump up to 3.3.0+git. . *: update release upgrade test versions. . CHANGELOG: remove rc in re
3.3.818 Jun 2018 21:45 minor feature: Hack/scripts-dev/docker-dns: add "certs-common-name" test case . Hack/scripts-dev: add "docker-dns-test-certs-common-name-run". . Hack/scripts-dev: rename to example. . . . README: add "Community meetings". . . . Documentation/integrations: minor style. . Clientv3/lease.go: TTL, document expired Lease. . . . E2e: improve lease coverage. . . . . . Clientv3: document from "don't halt lease client if there is a lease . . Clientv3: document lease KeepAlive streaming errors. . Words: whitelist "KeepAlive". . Mvcc: fetch revisions with current revision, not 0, in HashByRev. . . . Mvcc: clean-up godoc in key_index.go. . Etcd-tester: discard gRPC balancer logs. . . . . . Vendor: pin "grpc/grpc-go" v1.7.5. . . . Clientv3: translate Snapshot API gRPC status error. . Documentation/upgrades: document Snapshot API error handling. . . . . . Test: bump up clientv3/integration test time out. . . . Integration: test large request response back from server. . . . Etcdctl/ctlv3: support "exec-watch" in watch command. . Etcdctl: document watch exec in v3. . E2e: test watch exec in v3 etcdctl. . Etcdctl/ctlv3: clarify "lease timetolive" output on expired lease. . E2e: update "leaseTestTimeToLiveExpire". . Documentation/op-guide: s/member_round_trip_time/peer_round_trip_time/. . Etcdctl: update README for new "lease timetolive" output. . . . CHANGELOG: minor formatting update in previous releases. . CHANGELOG: add v3.3.0 pre-release. . CHANGELOG: update "code changes" links. . CHANGELOG: highlight request limit changes, add v3.2.12. . CHANGELOG: link to upgrade guides for every release. . CHANGELOG: add "lease timetolive" change. . . . Integration: remove typo in "TestV3LargeRequests". . Clientv3: configure gRPC message limits in Config. . Clientv3: call KV/Txn APIs with default gRPC call options. . Clientv3: call other APIs with default gRPC call options. . Clientv3/integration: test large KV requests. . Words
3.3.708 Jun 2018 07:25 minor feature: Support TLS cipher suite whitelisting. To block weak cipher suites. TLS handshake fails when client hello is requested with invalid cipher suites. Add etcd --cipher-suites flag. If empty, Go auto-populates the list. . To block weak cipher suites. TLS handshake fails when client hello is requested with invalid cipher suites. Add etcd --cipher-suites flag. If empty, Go auto-populates the list.
3.3.601 Jun 2018 13:05 minor feature: Embed: stop *grpc.Server on *serveCtx serve error . . . . Documentation/integrations: add Perl clients. . . . Documentation/learning/api.md: typos. . Compactor: error message of Revision compactor. . . . Documentation/learning/api.md: markup, wording. . . README: update running etcd section for pre-built etcd install. . . . Pkg/fileutil: preallocate under OS X kernel. . . . Etcdmain: display default --enable-v2, --strict-reconfig-check value . . . . . . Auth: use NewIncomingContext for "WithRoot". . Etcdserver: log lease revoke error. . Integration: add "TestV3AuthWithLeaseRevokeWithRoot". . Clientv3: govet error for gotip. . . . . . Hack/scripts-dev/docker-dns: add "certs-common-name" test case. . Hack/scripts-dev: add "docker-dns-test-certs-common-name-run". . Hack/scripts-dev: rename to example. . . . README: add "Community meetings". . . . Documentation/integrations: minor style. . Clientv3/lease.go: TTL, document expired Lease. . . . E2e: improve lease coverage. . . . . . Clientv3: document from "don't halt lease client if there is a lease . . Clientv3: document lease KeepAlive streaming errors. . Words: whitelist "KeepAlive". . Mvcc: fetch revisions with current revision, not 0, in HashByRev. . . . Mvcc: clean-up godoc in key_index.go. . Etcd-tester: discard gRPC balancer logs. . . . . . Vendor: pin "grpc/grpc-go" v1.7.5. . . . Clientv3: translate Snapshot API gRPC status error. . Documentation/upgrades: document Snapshot API error handling. . . . . . Test: bump up clientv3/integration test time out. . . . Integration: test large request response back from server. . . . Etcdctl/ctlv3: support "exec-watch" in watch command. . Etcdctl: document watch exec in v3. . E2e: test watch exec in v3 etcdctl. . Etcdctl/ctlv3: clarify "lease timetolive" output on expired lease. . E2e: update "leaseTestTimeToLiveExpire". . Documentation/op-guide: s/member_round_trip_time/peer_round_trip_t
3.3.510 May 2018 16:25 minor feature: Scripts/genproto: require protoc 3.5, update gogo/proto . *: regenerate protobuf, grpc-gateway. . Bill-of-materials: regenerate. . . . . . . . Embed: stop *grpc.Server on *serveCtx serve error. . . . . Documentation/integrations: add Perl clients. . . . Documentation/learning/api.md: typos. . Compactor: error message of Revision compactor. . . . Documentation/learning/api.md: markup, wording. . . README: update running etcd section for pre-built etcd install. . . . Pkg/fileutil: preallocate under OS X kernel. . . . Etcdmain: display default --enable-v2, --strict-reconfig-check value . . . . . . Auth: use NewIncomingContext for "WithRoot". . Etcdserver: log lease revoke error. . Integration: add "TestV3AuthWithLeaseRevokeWithRoot". . Clientv3: govet error for gotip. . . . . . Hack/scripts-dev/docker-dns: add "certs-common-name" test case. . Hack/scripts-dev: add "docker-dns-test-certs-common-name-run". . Hack/scripts-dev: rename to example. . . . README: add "Community meetings". . . . Documentation/integrations: minor style. . Clientv3/lease.go: TTL, document expired Lease. . . . E2e: improve lease coverage. . . . . . Clientv3: document from "don't halt lease client if there is a lease . . Clientv3: document lease KeepAlive streaming errors. . Words: whitelist "KeepAlive". . Mvcc: fetch revisions with current revision, not 0, in HashByRev. . . . Mvcc: clean-up godoc in key_index.go. . Etcd-tester: discard gRPC balancer logs. . . . . . Vendor: pin "grpc/grpc-go" v1.7.5. . . . Clientv3: translate Snapshot API gRPC status error. . Documentation/upgrades: document Snapshot API error handling. . . . . . Test: bump up clientv3/integration test time out. . . . Integration: test large request response back from server. . . . Etcdctl/ctlv3: support "exec-watch" in watch command. . Etcdctl: document watch exec in v3. . E2e: test watch exec in v3 etcdctl. . Etcdctl/ctlv3: clarify "lease
3.3.425 Apr 2018 16:25 minor feature: Semaphore: run upgrade tests against v3.2.11 . Document/upgrades: add server upgrade checklists on listen URLs. . . . Embed: Avoid panic when shutting down gRPC Server. . Embed: only gracefully shutdown insecure grpc.Server. . Integration: test GracefulStop on secure embedded server. . Embed/config: remove v3.2 TODO. . Documentation/upgrades: highlight 3.2 breaking change, require gRPC v . . Vendor: upgrade bbolt, gogo/protobuf, golang/protobuf. . Scripts/genproto: require protoc 3.5, update gogo/proto. . *: regenerate protobuf, grpc-gateway. . Bill-of-materials: regenerate. . . . . . . . Embed: stop *grpc.Server on *serveCtx serve error. . . . . Documentation/integrations: add Perl clients. . . . Documentation/learning/api.md: typos. . Compactor: error message of Revision compactor. . . . Documentation/learning/api.md: markup, wording. . . README: update running etcd section for pre-built etcd install. . . . Pkg/fileutil: preallocate under OS X kernel. . . . Etcdmain: display default --enable-v2, --strict-reconfig-check value . . . . . . Auth: use NewIncomingContext for "WithRoot". . Etcdserver: log lease revoke error. . Integration: add "TestV3AuthWithLeaseRevokeWithRoot". . Clientv3: govet error for gotip. . . . . . Hack/scripts-dev/docker-dns: add "certs-common-name" test case. . Hack/scripts-dev: add "docker-dns-test-certs-common-name-run". . Hack/scripts-dev: rename to example. . . . README: add "Community meetings". . . . Documentation/integrations: minor style. . Clientv3/lease.go: TTL, document expired Lease. . . . E2e: improve lease coverage. . . . . . Clientv3: document from "don't halt lease client if there is a lease . . Clientv3: document lease KeepAlive streaming errors. . Words: whitelist "KeepAlive". . Mvcc: fetch revisions with current revision, not 0, in HashByRev. . . . Mvcc: clean-up godoc in key_index.go. . Etcd-tester: discard gRPC balancer logs. . . . . . V
3.2.1802 Apr 2018 14:25 minor feature: Doc: modify usecase . . . . . . . Benchmark: support multiple clients/conns in watch-latency benchmark. . . . Travis: run tests with Go 1.8.3. . Test: release tests with v3.2+. . ROADMAP: make 'release-3.2' stable branch. . E2e: use version.Cluster for release test. . Etcdctl: support exec on lock. . . . . . Documentation: add FAQ entry for "database space exceeded" errors. . Documentation: add 'yaml.NewConfig' change in 3.2. . Vendor: use v0.2.0 of go-semver. . op-guide: update performance.md. . Vendor: kr/pty v1.0.0. . Vendor: ghodss/yaml v1.0.0. . Clientv3: use Endpoints 0 to initialize grpc creds. . Clientv3/integration: test dialing to TLS without a TLS config times out. . Clientv3: support unixs:// scheme. . Integration: use unixs:// if client port configured for tls. . Mvcc: chunk reads for restoring. . Mvcc: time restore in restore benchmark. . op-guide: document configuration flags for gateway. . Documentation, scripts: regen RPC docs. . Scripts, Documentation: swagger generation. . op-guide: document CN certs in security.md. . Test: speedup and strengthen go vet checking. . *: go tool vet -all -shadow errors. . Documentation/op-guide: typo in grafana.json. . Test, osutil: disable setting SIG_DFL on linux if built with cov tag. . Test: shellcheck. . Travis: add shellcheck. . *: clear rarer shellcheck errors on scripts. . Fileutil: return immediately if preallocating 0 bytes. . Documentation/op-guide: 'grpc_code' field in metrics. . Etcdserver: add leaseExpired deging metrics. . V2http: put back /v2/machines and mark as non-deprecated. . Documentation/op-guide: do not use host network, indentation. . Integration: test txn comparison and concurrent put ordering. . Mvcc: create TxnWrites from TxnRead with NewReadOnlyTxnWrite. . Etcdserver: use same ReadView for read-only txns. . Rafthttp: permit very large v2 snapshots. . Version: bump up to 3.2.0. . Version: bump up to 3.2.0+git. . Do
3.3.329 Mar 2018 14:05 minor feature: Version: 3.3.2+git . Rafthttp: add "ActivePeers" to "Transport". . Etcdserver: make "advanceTicks" method. . Etcdserver: adjust election ticks on restart. . Rafthttp: add missing "peer_sent_failures_total" metrics call. . Compactor: clean up. . Compactor: adjust interval for period
3.3.211 Mar 2018 10:45 minor feature: Metrics: Add server_version metric . Hack/scripts-dev: add separate certs to "docker-dns". . . . Hack/scripts-dev/docker-dns: add "certs-gateway" test case. . Hack/scripts-dev: add "docker-dns-test-certs-gateway-run" to Makefile. . Hack/scripts-dev: keep only shared scripts in docker-dns-srv. . Hack/scripts-dev: add docker-dns-srv-test-certs-run, docker-dns-srv-t . . Hack/scripts-dev: add separate certs, scripts to "docker-dns-srv". . . . . . Hack/scripts-dev/docker-dns-srv: add "certs-gateway" test case. . Hack/scripts-dev: add "docker-dns-srv-test-certs-gateway-run" to Make . . . . Clientv3: comment for DialKeepAliveTime and DialKeepAliveTimeout. . . . . . Clientv3/doc: update dial-timeout error handling with new gRPC. . . . Auth: use "sort.Strings" instead of StringSlice. . Lease: use sort.Strings instead of StringSlice. . Vendor: upgrade grpc/grpc-go to v1.7.4. . . . . . Hack/scripts-dev: typo in Makefile. . CHANGELOG: add v3.2.11. . Clientv3: indentation in doc.go. . . . . . Hack/scripts-dev: mount host /tmp for Jenkins tests. . Clientv3/config.go: remove extra whitespace character. . Hack/scripts-dev: remove "Too many goroutines" in test scripts. . . . Dockerfile-test: use forked version of gocovmerge. . Test: log gocovmerge merging. . . . Clientv3: add Lvl method to logger. . Clientv3: simplify V(4) logger with Lvl(4). . Hack/scripts-dev: Makefile quoute, configurable host tmp dir. . Hack/scripts-dev/Makefile: grpc-proxy with additional metrics URLs. . Semaphore: run upgrade tests against v3.2.11. . Document/upgrades: add server upgrade checklists on listen URLs. . . . Embed: Avoid panic when shutting down gRPC Server. . Embed: only gracefully shutdown insecure grpc.Server. . Integration: test GracefulStop on secure embedded server. . Embed/config: remove v3.2 TODO. . Documentation/upgrades: highlight 3.2 breaking change, require gRPC v . . Vendor: upgrade bbolt, gogo/protobuf, golang
3.3.117 Feb 2018 13:45 minor feature: Documentation/upgrades: gcr.io as primary, do not deprecate quay.io . Api/v3rpc: log grpc stream send/recv errors in server-side. . . . . . . . Glide: pin transitive dependency "sirupsen/logrus". . . . Hack/patch: some typos in README, make cherrypick.sh executable. . . . Documentation/op-guide: document TLS changes in 3.2. . Embed: provide more details on TLS handshake failure. . . . . . E2e: remote error string in TestEtcdPeerCNAuth. . . . Semaphore: grep "test timed out" first, then leaky goroutines. . Hack/scripts-dev: grep "test timed out" first. . . . Hack/scripts-dev: only keep shared scripts between test cases. . Hack/scripts-dev: add docker-dns-test-certs-run, docker-dns-test-cert . . Metrics: Add server_version metric. . Hack/scripts-dev: add separate certs to "docker-dns". . . . Hack/scripts-dev/docker-dns: add "certs-gateway" test case. . Hack/scripts-dev: add "docker-dns-test-certs-gateway-run" to Makefile. . Hack/scripts-dev: keep only shared scripts in docker-dns-srv. . Hack/scripts-dev: add docker-dns-srv-test-certs-run, docker-dns-srv-t . . Hack/scripts-dev: add separate certs, scripts to "docker-dns-srv". . . . . . Hack/scripts-dev/docker-dns-srv: add "certs-gateway" test case. . Hack/scripts-dev: add "docker-dns-srv-test-certs-gateway-run" to Make . . . . Clientv3: comment for DialKeepAliveTime and DialKeepAliveTimeout. . . . . . Clientv3/doc: update dial-timeout error handling with new gRPC. . . . Auth: use "sort.Strings" instead of StringSlice. . Lease: use sort.Strings instead of StringSlice. . Vendor: upgrade grpc/grpc-go to v1.7.4. . . . . . Hack/scripts-dev: typo in Makefile. . CHANGELOG: add v3.2.11. . Clientv3: indentation in doc.go. . . . . . Hack/scripts-dev: mount host /tmp for Jenkins tests. . Clientv3/config.go: remove extra whitespace character. . Hack/scripts-dev: remove "Too many goroutines" in test scripts. . . . Dockerfile-test: use forked version of
3.3.003 Feb 2018 13:45 minor feature: Version: 3.3.0-rc.4+git . Semaphore,travis: test with Go 1.9.3. . Etcdserver: add error details on DNS resolution failure on advertise . . Pkg/netutil: return error from "URLStringsEqual". . Etcdserver: add detailed errors in "ValidateClusterAndAssignIDs". . Etcdserver: clarify warnings on backend open taking 10 seconds. . Grpcproxy: configure --max-send-bytes and --max-recv-bytes for grpc p . . Documentation: sync with etcd master. . Documentation/op-guide: revert "--discovery-srv-name" doc changes. . Documentation/op-guide: highlight defragment operation. . Etcdmain: define "defaultGRPCMaxCallSendMsgSize". . Version: 3.3.0.
3.3.0-rc.423 Jan 2018 06:45 minor feature: Documentation/upgrades: add 3.3 changes . Documentation: typo in upgrade 3.2 guide. . Embed,etcdmain: add "--experimental-initial-corrupt-check". . E2e: add corruption checking tests. . . . Etcdserver: CheckInitialHashKV when "InitialCorruptCheck==true". . Embed: corrupt-check on restart member. . . . Integration: always enable initial corruption check. . . . Pkg/flags: "SetFlagsFromEnv" error masking. . E2e: enable initialCorruptCheck by default. . Etcd-tester: enable initial corrupt check by default. . . . Clientv3/integration: handle server-side context timeouts from clock- . . Clientv3: document context timeout error with server-side clock skew. . . . . . Clientv3/integration: move isServerCtxTimeout to server_shutdown_test.go. . . . Clientv3/integration: add more tests on balancer switch, inflight range. . Documentation: Add release manager table. . Embed: error on zero heartbeat-interval, election-timeout. . Etcdmain: test wrong heartbeat-interval, election-timeout in TestConf . . CHANGELOG: add v3.1.11. . . . . Scripts/build-docker: build both gcr.io and quay.io images. . . . . . . . Clientv3: update error handling godoc. . . . Documentation/upgrades: gcr.io as primary, do not deprecate quay.io. . Api/v3rpc: log grpc stream send/recv errors in server-side. . . . . . . . Glide: pin transitive dependency "sirupsen/logrus". . . . Hack/patch: some typos in README, make cherrypick.sh executable. . . . Documentation/op-guide: document TLS changes in 3.2. . Embed: provide more details on TLS handshake failure. . . . . . E2e: remote error string in TestEtcdPeerCNAuth. . . . Semaphore: grep "test timed out" first, then leaky goroutines. . Hack/scripts-dev: grep "test timed out" first. . . . Hack/scripts-dev: only keep shared scripts between test cases. . Hack/scripts-dev: add docker-dns-test-certs-run, docker-dns-test-cert . . Metrics: Add server_version metric. . Hack/scripts-dev: add se
3.3.0-rc.318 Jan 2018 03:17 minor feature: Mvcc: check null before set FillPercent not to panic. Api/v3rpc: deuser cancellation and log warning for rest.
3.3.0-rc.212 Jan 2018 09:05 minor feature: Mvcc: check null before set FillPercent not to panic. Api/v3rpc: deuser cancellation and log warning for rest.
3.3.0-rc.103 Jan 2018 10:25 minor feature: Embed: *grpc.Server panic on GracefulStop with TLS-enabled server. K8s#57480 etcdserver: log stream error with delevel, silence gRPC server info level logs.
3.3.0-rc.021 Dec 2017 07:25 minor feature: Error message of Revision compactor in server-side. #9043,#9047 configurable gRPC message size limits. Grpc#1743,#9042 vendor: upgrade grpc/grpc-go to v1.7.5.
3.2.1106 Dec 2017 15:45 minor feature: #8904,#8972,#grpc/grpc-go#1687 vendor: upgrade grpc/grpc-go to v1.7.4. #8904,#8947 api/v3rpc: log grpc stream send/recv errors in server-side. C142134 Documentation/op-guide: remove non-released flag in monitoring.md. B44b914 etcdmain: add more details to TLS HandshakeFailure.
3.1.1129 Nov 2017 05:45 minor feature: #8411,#8806 mvcc: watch restore from snapshot. #8009,#8902 backport coreos/bbolt v1.3.1-coreos.5.
3.2.1017 Nov 2017 09:25 minor feature: #8009,#8813 *: use 'coreos/bbolt' (replace 'boltdb/bolt'). #8854,#8867 clientv3: backport new balancer to release-3.2, upgrade gRPC to v1.7.3. #8445,#8884 Revert "embed: HTTPs + DNS SRV discovery".
3.2.907 Oct 2017 06:25 minor feature: Compile with Go 1.8.4. Golang/crypto@6c586e1,#8649 vendor: update 'golang.org/x/crypto/bcrypt'. #8445,#8651 embed: HTTPS + DNS SRV discovery.
3.2.830 Sep 2017 09:25 minor feature: #8515,#8519 client: fail over to next endpoint on oneshot failure. #8478,#8552 grpcproxy: respect KeysOnly flag. Docs: remove link-breaking space.
3.2.702 Sep 2017 16:45 minor feature: Concurrency: retry snapshot serializable stm if writes since first header rev. #8406,#8306,#8442 concurrent auth ops don't cause old rev.
3.2.622 Aug 2017 06:25 minor feature: #8402,#8404 embed: add 'enable-pprof' tag for config file. #8383,#8414 embed: associate peer serve() listener with corresponding peer. #8388,#8390 mvcc: reset keys gauge on restore. #8411,#8427 mvcc: sending events after restore.
3.2.505 Aug 2017 03:16 minor feature: #8167,#8236 *: move v2http handlers without /v2 preto etcdhttp. #8268,#8318,#8281 transport: use reverse lookup to match wildcard DNS SAN. #8295,#8342 ctlv3: exit non-zero on unhealthy ep command. Ctlv3/command: remove double-quote typos in fields printer. Grpcproxy: forward PrevKv flag in Put.
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.