Releases: etcd-io/etcd
v3.0.8
Today we're announcing etcd v3.0.8. This is primarily a bug fix release, backward-compatible with all previous v3.0.0+ releases. Please read NEWS for highlighted changes.
Bug fixes
- GH6325: etcdctl: fix 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
Getting started
Linux
curl -L https://github.com/coreos/etcd/releases/download/v3.0.8/etcd-v3.0.8-linux-amd64.tar.gz -o etcd-v3.0.8-linux-amd64.tar.gz
tar xzvf etcd-v3.0.8-linux-amd64.tar.gz && cd etcd-v3.0.8-linux-amd64
./etcd --version
Git SHA: d40982f
Go Version: go1.6.3
Go OS/Arch: linux/amd64
# start a local etcd server
./etcd
# write,read to etcd
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
Mac OS (Darwin)
curl -L https://github.com/coreos/etcd/releases/download/v3.0.8/etcd-v3.0.8-darwin-amd64.zip -o etcd-v3.0.8-darwin-amd64.zip
unzip etcd-v3.0.8-darwin-amd64.zip && cd etcd-v3.0.8-darwin-amd64
./etcd --version
ACI / rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.8
For more details, please check rkt commands.
Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.8
For more details, please check Docker guide.
v3.0.7
Today we're announcing etcd v3.0.7. This is primarily a bug fix release, backward-compatible with all previous v3.0.0+ releases. Please read NEWS for highlighted changes.
Bug fixes
- GH6253: discovery: reject IP address records in SRVGetCluster
- GH6267: wal: fix CRC corruption on writes following write tears
- GH6269: wal: On non-Windows OS, hold file lock while renaming WAL directory
- GH6284: clientv3/concurrency: fix unintended deadlock on key prefixes
- GH6309: etcdserver: allow zero kv index for cluster upgrade
- GH6310: wal: use page buffered writer for writing records
Getting started
Linux
curl -L https://github.com/coreos/etcd/releases/download/v3.0.7/etcd-v3.0.7-linux-amd64.tar.gz -o etcd-v3.0.7-linux-amd64.tar.gz
tar xzvf etcd-v3.0.7-linux-amd64.tar.gz && cd etcd-v3.0.7-linux-amd64
./etcd --version
Git SHA: 5695120
Go Version: go1.6.3
Go OS/Arch: linux/amd64
# start a local etcd server
./etcd
# write,read to etcd
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
Mac OS (Darwin)
curl -L https://github.com/coreos/etcd/releases/download/v3.0.7/etcd-v3.0.7-darwin-amd64.zip -o etcd-v3.0.7-darwin-amd64.zip
unzip etcd-v3.0.7-darwin-amd64.zip && cd etcd-v3.0.7-darwin-amd64
./etcd --version
ACI / rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.7
For more details, please check rkt commands.
Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.7
For more details, please check Docker guide.
v3.0.6
We had a few more last-minute fixes, so here is another release.
Today we're announcing etcd v3.0.6. This is primarily a bug fix release, backward-compatible with all previous v3.0.0+ releases. Please read NEWS for highlighted changes.
Bug fixes
- GH6098: recover lessor before recovering mvcc store and transactionally revoke leases
- GH6175: rafthttp: fix race between streamReader.stop() and connection closer
- GH6226: vendor: update grpc/grpc-go for clientconn patch (grpc/grpc-go#842)
Getting started
Linux
curl -L https://github.com/coreos/etcd/releases/download/v3.0.6/etcd-v3.0.6-linux-amd64.tar.gz -o etcd-v3.0.6-linux-amd64.tar.gz
tar xzvf etcd-v3.0.6-linux-amd64.tar.gz && cd etcd-v3.0.6-linux-amd64
./etcd --version
Git SHA: 9efa00d
Go Version: go1.6.3
Go OS/Arch: linux/amd64
# start a local etcd server
./etcd
# write,read to etcd
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
Mac OS (Darwin)
curl -L https://github.com/coreos/etcd/releases/download/v3.0.6/etcd-v3.0.6-darwin-amd64.zip -o etcd-v3.0.6-darwin-amd64.zip
unzip etcd-v3.0.6-darwin-amd64.zip && cd etcd-v3.0.6-darwin-amd64
./etcd --version
ACI / rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.6
For more details, please check rkt commands.
Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.6
For more details, please check Docker guide.
v3.0.5
Today we're announcing etcd v3.0.5. This is primarily a bug fix release, backward-compatible with all previous v3.0.0+ releases. Please read NEWS for highlighted changes.
Bug fixes
- GH5845: clientv3: respect up/down notifications from grpc
- GH6077: v2http: use guest access in non-TLS mode
- GH6136: clientv3: close watcher stream once all watchers detach
- GH6142: clientv3: handle watchGrpcStream shutdown if prior to goroutine start
- GH6152: mvcc: fix count
- GH6166: clientv3: support non-blocking New()
- GH6222: integration: NewClusterV3() should launch cluster before creating clients
Security changes
- GH6084: etcdctl: set TLS servername on discovery
Other changes
- GH6218: vendor: boltdb/bolt v1.3.0 for Go 1.7
Getting started
Linux
curl -L https://github.com/coreos/etcd/releases/download/v3.0.5/etcd-v3.0.5-linux-amd64.tar.gz -o etcd-v3.0.5-linux-amd64.tar.gz
tar xzvf etcd-v3.0.5-linux-amd64.tar.gz && cd etcd-v3.0.5-linux-amd64
./etcd --version
Git SHA: 43f7c94
Go Version: go1.6.3
Go OS/Arch: linux/amd64
# start a local etcd server
./etcd
# write,read to etcd
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
Mac OS (Darwin)
curl -L https://github.com/coreos/etcd/releases/download/v3.0.5/etcd-v3.0.5-darwin-amd64.zip -o etcd-v3.0.5-darwin-amd64.zip
unzip etcd-v3.0.5-darwin-amd64.zip && cd etcd-v3.0.5-darwin-amd64
./etcd --version
ACI / rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.5
For more details, please check rkt commands.
Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.5
For more details, please check Docker guide.
v3.0.4
Today we're announcing etcd v3.0.4. This is primarily a bug fix release, backward-compatible with all previous v3.0.0+ releases.
Bug fixes
- GH5956: *: fix issue found in fast lease renew
- GH5969: *: fix 'gogo/protobuf' compatibility issue (Fix 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: fix a few issues in grpc gateway
- GH6045: etcdserver, api, membership: don't race on setting version
- GH6056: scripts/genproto: use latest grpc-gateway c8ec92d0
Security changes
Other changes
- GH5951: *: update grpc-gateway and its import paths
- GH5973: fileutil: rework purge tests so they don't poll
- GH5976: integration: drain keepalives in TestLeaseKeepAliveCloseAfterDisconnectRevoke
- GH5990: clientv3/integration: fix 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: fix links in upgrades
- GH6058: Dockerfile-release: add '/var/lib/etcd/'
Getting started
Linux
curl -L https://github.com/coreos/etcd/releases/download/v3.0.4/etcd-v3.0.4-linux-amd64.tar.gz -o etcd-v3.0.4-linux-amd64.tar.gz
tar xzvf etcd-v3.0.4-linux-amd64.tar.gz && cd etcd-v3.0.4-linux-amd64
./etcd --version
Git SHA: d53923c
Go Version: go1.6.3
Go OS/Arch: linux/amd64
# start a local etcd server
./etcd
# write,read to etcd
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
Mac OS (Darwin)
curl -L https://github.com/coreos/etcd/releases/download/v3.0.4/etcd-v3.0.4-darwin-amd64.zip -o etcd-v3.0.4-darwin-amd64.zip
unzip etcd-v3.0.4-darwin-amd64.zip && cd etcd-v3.0.4-darwin-amd64
./etcd --version
ACI / rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.4
For more details, please check rkt commands.
Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.4
For more details, please check Docker guide.
v3.0.3
Today we're announcing etcd v3.0.3. This is primarily a bug fix release.
Bug fixes
- 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 (Fix GH5871)
Other changes
- GH5885: etcdserver: fix TestSnap
- GH5906: e2e: add basic upgrade tests
- GH5916: etcdctl: only takes 127.0.0.1:2379 as default endpoint
Getting started
Linux
curl -L https://github.com/coreos/etcd/releases/download/v3.0.3/etcd-v3.0.3-linux-amd64.tar.gz -o etcd-v3.0.3-linux-amd64.tar.gz
tar xzvf etcd-v3.0.3-linux-amd64.tar.gz && cd etcd-v3.0.3-linux-amd64
./etcd --version
Git SHA: 24a90ba
Go Version: go1.6.2
Go OS/Arch: linux/amd64
# start a local etcd server
./etcd
# write,read to etcd
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
Mac OS (Darwin)
curl -L https://github.com/coreos/etcd/releases/download/v3.0.3/etcd-v3.0.3-darwin-amd64.zip -o etcd-v3.0.3-darwin-amd64.zip
unzip etcd-v3.0.3-darwin-amd64.zip && cd etcd-v3.0.3-darwin-amd64
./etcd --version
ACI / rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.3
For more details, please check rkt commands.
Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.3
For more details, please check Docker guide.
v3.0.2
Today we're announcing etcd v3.0.2. This is a bug-fix release.
Changelog
- 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: fix sync base
- GH5888: client: make set/delete one shot operations
- GH5897: v3rpc: lock progress and prevKV map correctly
Getting Started
Linux
curl -L https://github.com/coreos/etcd/releases/download/v3.0.2/etcd-v3.0.2-linux-amd64.tar.gz -o etcd-v3.0.2-linux-amd64.tar.gz
tar xzvf etcd-v3.0.2-linux-amd64.tar.gz && cd etcd-v3.0.2-linux-amd64
./etcd --version
Git SHA: faeeb2f
Go Version: go1.6.2
Go OS/Arch: linux/amd64
# start a local etcd server
./etcd
# write,read to etcd
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
OS X
curl -L https://github.com/coreos/etcd/releases/download/v3.0.2/etcd-v3.0.2-darwin-amd64.zip -o etcd-v3.0.2-darwin-amd64.zip
unzip etcd-v3.0.2-darwin-amd64.zip && cd etcd-v3.0.2-darwin-amd64
./etcd --version
ACI/rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.2
For more details, please check rkt commands.
Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.2
For more details, please check Docker guide.
v3.0.1
Today we're announcing etcd v3.0.1. This is a minor bug-fix release.
Changelog
- GH5841: etcdserver: exit on missing backend only if semver is >= 3.0.0
- GH5843: Documentation: fix typo in api_grpc_gateway.md
- GH5844: *: test, docs with go1.6+
Getting Started
Linux
To run etcd on Linux, run the following in a terminal
curl -L https://github.com/coreos/etcd/releases/download/v3.0.1/etcd-v3.0.1-linux-amd64.tar.gz -o etcd-v3.0.1-linux-amd64.tar.gz
tar xzvf etcd-v3.0.1-linux-amd64.tar.gz
cd etcd-v3.0.1-linux-amd64
./etcd
To try out etcdctl
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
OS X
To run etcd on OS X
curl -L https://github.com/coreos/etcd/releases/download/v3.0.1/etcd-v3.0.1-darwin-amd64.zip -o etcd-v3.0.1-darwin-amd64.zip
unzip etcd-v3.0.1-darwin-amd64.zip
cd etcd-v3.0.1-darwin-amd64
./etcd
To try out etcdctl
ETCDCTL_API=3 ./etcdctl put foo "bar"
ETCDCTL_API=3 ./etcdctl get foo
ACI/rkt
To run etcd with rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.1
For more details, please check rkt commands.
Docker
To run etcd with Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.1
For more details, please check docker guide.
v3.0.0
Today we're announcing etcd v3.0.0, the first stable of etcd 3.0. Check out our blog post.
etcd 3.0 features have all been internally tested. We will try our best to not break any of the stable v3 APIs (except the experimental features) after this release, and the system is generally considered ready for use. However, we cannot test all possible configurations, and etcd 3.0 needs user testing before being declared ready for production use. Please help test the new features in your environment and give feedback to the team.
Notable Enhancements
We released etcd v2.0.0 a year ago. etcd v3 incorporates much expert feedback and thousands of hours of production use by the etcd community. The v3 API solves many issues related to etcd v2 scalability, with a new storage engine, and a new API fully supporting Multi-Version Concurrency Control (MVCC). All v3 API calls are served via gRPC and HTTP/2. For more detail, please see this performance documentation.
What’s new?
Some highlights of etcd 3.0 server improvements:
- Improved latency and throughput
- 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
Some highlights of the new stable etcd3 API:
- Flat binary keyspace: no key-value hierarchy / directories
- Support key get and watch by prefix
- 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
Some highlights of new etcdctl:
- 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
Experimental Features/APIs:
- v3 Auth API
- etcd gateway subcommand
Getting Started
Linux
To run etcd on Linux, run the following in a terminal
curl -L https://github.com/coreos/etcd/releases/download/v3.0.0/etcd-v3.0.0-linux-amd64.tar.gz -o etcd-v3.0.0-linux-amd64.tar.gz
tar xzvf etcd-v3.0.0-linux-amd64.tar.gz
cd etcd-v3.0.0-linux-amd64
./etcd
To try out etcdctl
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 ./etcdctl --endpoints=localhost:2379 get foo
OS X
To run etcd on OS X
curl -L https://github.com/coreos/etcd/releases/download/v3.0.0/etcd-v3.0.0-darwin-amd64.zip -o etcd-v3.0.0-darwin-amd64.zip
unzip etcd-v3.0.0-darwin-amd64.zip
cd etcd-v3.0.0-darwin-amd64
./etcd
To try out etcdctl
ETCDCTL_API=3 ./etcdctl put foo "bar"
ETCDCTL_API=3 ./etcdctl get foo
ACI/rkt
To run etcd with rkt
rkt trust --prefix coreos.com/etcd
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v3.0.0
For more details, please check rkt commands.
Docker
To run etcd with Docker
docker run --name etcd quay.io/coreos/etcd:v3.0.0
For more details, please check docker guide.
v2.3.7
Today we're announcing etcd v2.3.7. This is a minor bug-fix release.
Changelog
- GH5683: store: copy old value when refresh + CAS
Getting Started
OS X
To get started on OSX run the following in a terminal:
curl -L https://github.com/coreos/etcd/releases/download/v2.3.7/etcd-v2.3.7-darwin-amd64.zip -o etcd-v2.3.7-darwin-amd64.zip
unzip etcd-v2.3.7-darwin-amd64.zip
cd etcd-v2.3.7-darwin-amd64
./etcd
Open another terminal:
./etcdctl set mykey "this is awesome"
./etcdctl get mykey
Linux
To get started on Linux run the following in a terminal:
curl -L https://github.com/coreos/etcd/releases/download/v2.3.7/etcd-v2.3.7-linux-amd64.tar.gz -o etcd-v2.3.7-linux-amd64.tar.gz
tar xzvf etcd-v2.3.7-linux-amd64.tar.gz
cd etcd-v2.3.7-linux-amd64
./etcd
Open another terminal:
./etcdctl set mykey "this is awesome"
./etcdctl get mykey
Docker
To get started with Docker on Linux run the following in a terminal:
docker run --name etcd quay.io/coreos/etcd:v2.3.7
docker exec etcd /etcdctl set foo bar
For advanced usage, please check our docker guide.
ACI/rkt
To get started with rkt on Linux run the following in a terminal:
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.3.7
For more info about rkt command line, please check rkt commands.