Skip to content

Releases: etcd-io/etcd

v2.3.2

21 Apr 19:45
Compare
Choose a tag to compare

Changelog

  • 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: close response body when getting cluster information
  • Compiled with Go 1.6.2

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.2/etcd-v2.3.2-darwin-amd64.zip -o etcd-v2.3.2-darwin-amd64.zip
unzip etcd-v2.3.2-darwin-amd64.zip
cd etcd-v2.3.2-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.2/etcd-v2.3.2-linux-amd64.tar.gz -o etcd-v2.3.2-linux-amd64.tar.gz
tar xzvf etcd-v2.3.2-linux-amd64.tar.gz
cd etcd-v2.3.2-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.2
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:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.3.2

v2.3.1

21 Apr 19:45
Compare
Choose a tag to compare

Changelog

GH4888: rafthttp: proposal does not block other raft messages when there is no leader
GH4898: client: client returns user defined context error when the passed in context is canceled.

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.1/etcd-v2.3.1-darwin-amd64.zip -o etcd-v2.3.1-darwin-amd64.zip
unzip etcd-v2.3.1-darwin-amd64.zip
cd etcd-v2.3.1-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.1/etcd-v2.3.1-linux-amd64.tar.gz -o etcd-v2.3.1-linux-amd64.tar.gz
tar xzvf etcd-v2.3.1-linux-amd64.tar.gz
cd etcd-v2.3.1-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.1
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:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.3.1

v2.3.0

18 Mar 17:48
Compare
Choose a tag to compare

We are pleased to announce etcd 2.3.0. etcd 2.3 contains many new features, improvements and a stable v2 auth API.

etcd 2.3 is fully compatible with etcd 2.2. Upgrading from etcd 2.2 to etcd 2.3 is a zero-downtime rolling upgrade. The basic approach is to upgrade a cluster running etcd 2.2 by upgrading each member, one-by-one, to etcd 2.3. For more details, please read the upgrade guide.

Also, with this release, etcd 2.3 is the current stable etcd release. All bug fixes and feature improvements will go into new etcd 2.3.x releases, and won't normally be backported to etcd 2.2.x.

New features

Strict runtime reconfiguration check

In version 2.3, etcd will reject reconfiguration that might cause quorum loss when strict checking is enabled. For example, when adding new members to an existing cluster, it is recommended to add one member at a time, because the quorum increases whether the new member is reachable or not. Adding multiple unreachable peers can actually cause the cluster to lose quorum. The new --strict-reconfig-check option causes etcd to reject such membership change requests, and prevents quorum loss due to newly-added, but as-yet unreachable, members.

Runtime profiling

Enable runtime profiling by specifying the --enable-pprof option to etcd. Profiling data is available over HTTP at a new /debug/pprof URL. Endpoints are served by the net/http/pprof package. Please visit the net/http/pprof documentation for more detail.

Refreshing TTL keys

Time-to-Live (TTL) keys in etcd now can be refreshed without notifying watchers. This avoids generating noisy traffic when a watcher is only interested in the expiration of TTL keys, and doesn’t care about refresh updates. For more details, please check the API doc

Experimental v3 support

v3 server

etcd 2.3 is first release of etcd that supports the experimental v3 API, including the cluster, kv, lease, and watcher APIs.

The etcd v3 API is now ready for experimentation and testing. The v3 API is almost stable; we do not expect it to significantly change.

To enable the v3 api, start etcd with the additional --experimental-v3demo and --experimental-gRPC-addr options.

v3 client API

A v3 etcd client now is available for experimental use and development. The client API is currently unstable; it may change in the next release. However, feel free to experiment with the new client. Your feedback is welcome!

v3 etcdctl

A v3 etcdctl now is available for experimental use and testing. The command, its arguments, options, and output format are unstable; all may change in the next release. However, feel free to experiment with the new etcdctl. Your feedback is welcome!

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.0/etcd-v2.3.0-darwin-amd64.zip -o etcd-v2.3.0-darwin-amd64.zip
unzip etcd-v2.3.0-darwin-amd64.zip
cd etcd-v2.3.0-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.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz
tar xzvf etcd-v2.3.0-linux-amd64.tar.gz
cd etcd-v2.3.0-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 -p 2379:2379 -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:v2.3.0

ACI/rkt

The etcd ACI is now signed by the CoreOS App Signing Key so you'll need to explicitly choose to trust the key. To get started with rkt on Linux run the following commands in a terminal:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt trust --prefix coreos.com/etcd
# gpg key fingerprint is: 18AD 5014 C99E F7E3 BA5F  6CE9 50BD D3E0 FC8A 365E
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.3.0

v2.3.0-alpha.1

18 Feb 00:21
Compare
Choose a tag to compare
v2.3.0-alpha.1 Pre-release
Pre-release

This is the first release of etcd supporting the full v3 API, including cluster, kv, lease, and watcher APIs.

etcd 2.3.0-alpha.1 is fully compatible with etcd 2.2. For upgrading production clusters, however, please wait until the stable 2.3 release.

v3 server API

v3 API is now ready for experimenting. The v3 API is now almost stable; we do not expect it to significantly change.

To enable the v3 API, start etcd with additional --experimental-v3demo and --experimental-gRPC-addr flags.

v3 client API

v3 client now is available for experimenting. The client API is unstable; it may change in the next release. However, feel free to experiment with the new client, any feedback is welcome!

v3 etcdctl

v3 etcdctl now is available for experimenting. The command, its arguments, options, and output format are unstable; it may change in the next release. However, feel free to experiment with the new etcdctl, any feedback is welcome!

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.0-alpha.1/etcd-v2.3.0-alpha.1-darwin-amd64.zip -o etcd-v2.3.0-alpha.1-darwin-amd64.zip
unzip etcd-v2.3.0-alpha.1-darwin-amd64.zip
cd etcd-v2.3.0-alpha.1-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.0-alpha.1/etcd-v2.3.0-alpha.1-linux-amd64.tar.gz -o etcd-v2.3.0-alpha.1-linux-amd64.tar.gz
tar xzvf etcd-v2.3.0-alpha.1-linux-amd64.tar.gz
cd etcd-v2.3.0-alpha.1-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 -p 2379:2379 -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:v2.3.0-alpha.1

ACI/rkt

To get started with rkt on Linux run the following in a terminal:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.3.0-alpha.1

v2.2.5

01 Feb 21:21
Compare
Choose a tag to compare

Changelog

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.2.5/etcd-v2.2.5-darwin-amd64.zip -o etcd-v2.2.5-darwin-amd64.zip
unzip etcd-v2.2.5-darwin-amd64.zip
cd etcd-v2.2.5-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.2.5/etcd-v2.2.5-linux-amd64.tar.gz -o etcd-v2.2.5-linux-amd64.tar.gz
tar xzvf etcd-v2.2.5-linux-amd64.tar.gz
cd etcd-v2.2.5-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.2.5
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:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.2.5

v2.2.4

13 Jan 22:25
Compare
Choose a tag to compare

Changelog

[GH 4150] etcdctl: update dir command should not require value arguement
[[GH 4153/4174](https://github.com//pull/4153, https://github.com//pull/4174)] etcdmain: avoid wrap TLS listener so HTTP server can get TLS configuration from connection
Build etcd with go 1.5.3, which includes a security fix to the math/big package affecting the crypto/tls package

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.2.4/etcd-v2.2.4-darwin-amd64.zip -o etcd-v2.2.4-darwin-amd64.zip
unzip etcd-v2.2.4-darwin-amd64.zip
cd etcd-v2.2.4-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.2.4/etcd-v2.2.4-linux-amd64.tar.gz -o etcd-v2.2.4-linux-amd64.tar.gz
tar xzvf etcd-v2.2.4-linux-amd64.tar.gz
cd etcd-v2.2.4-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.2.4
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:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.2.4

v2.2.3

01 Jan 01:40
Compare
Choose a tag to compare

Changelog

[GH 3905] etcdctl: cluster health exit with non-zero when cluster is unhealthy
[GH 3927] client: fix goroutine leak in unreleased context
[GH 3972] store: fix data race when modify event in watchHub.
[GH 4020] client: support set endpoints
[GH 4037] etcdmain: fix writing incomplete proxy config file
[GH 4089] etcdsever: avoid creating member dir before finishing validate bootstrap
[GH 4089] etcdserver: always check if the data dir is writable before starting

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.2.3/etcd-v2.2.3-darwin-amd64.zip -o etcd-v2.2.3-darwin-amd64.zip
unzip etcd-v2.2.3-darwin-amd64.zip
cd etcd-v2.2.3-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.2.3/etcd-v2.2.3-linux-amd64.tar.gz -o etcd-v2.2.3-linux-amd64.tar.gz
tar xzvf etcd-v2.2.3-linux-amd64.tar.gz
cd etcd-v2.2.3-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.2.3
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:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.2.3

v2.2.2

20 Nov 02:00
Compare
Choose a tag to compare

Changelog

  • [GH 3697] fix health check result in etcdctl cluster-health
  • [GH 3792] generate v5 ugorji/go/codec unmarshal code in client package
  • [GH 3829] fix unset SYSLOG_IDENTIFIER when etcd is logging to the journal
  • [GH 3590 GH 3794] improve logging when discovery procedure fails
  • [GH 3757 GH 3758] fix various data races detected by race detector
  • [GH 3868] fix rejecting to modify pre-defined guest role

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.2.2/etcd-v2.2.2-darwin-amd64.zip -o etcd-v2.2.2-darwin-amd64.zip
unzip etcd-v2.2.2-darwin-amd64.zip
cd etcd-v2.2.2-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.2.2/etcd-v2.2.2-linux-amd64.tar.gz -o etcd-v2.2.2-linux-amd64.tar.gz
tar xzvf etcd-v2.2.2-linux-amd64.tar.gz
cd etcd-v2.2.2-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.2.2
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:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.2.2

v2.3.0-alpha.0

06 Nov 18:46
Compare
Choose a tag to compare
v2.3.0-alpha.0 Pre-release
Pre-release

Main features

clustered v3 API

v3 API is now supported across an etcd cluster. All etcd members in the cluster always maintain consistent v3 data set.

[GH 3800] Experimental v3 watch API

The etcd team is focused on a new version of the etcd API. The new API provides improved features to the key/value store including: range reads, multi-key transactions, binary keys/values, and a longer, more reliable key change history.

etcd 2.3.0-alpha.0 adds support for watch API for testing and demo purposes. v3 watch API is much more powerful than the watch feature in the v2 API. It supports watching multiple keys and prefixes in one request, using a single connection between the client and etcd server. Moreover, it allows one to watch all events that occurred on any key in the history.

You can enable it by setting --experimental-v3demo flag, then build and use the etcdctlv3 tool in the etcd repo to interact with it.

[GH 3479 GH 3543] New flag --strict-reconfig-check

If the flag is enabled, etcd checks reconfiguration changes on etcd cluster more strictly. The check forbids adding or removing one member if the operation changes quorum and the number of changed quorum is larger than the number of initialized nodes.

Thanks to Hitoshi Mitake for introducing this feature.

[GH 3790] etcdtop tool to analyze popular etcd commands

etcdtop is a real-time workload analyzer of command traffic to one etcd server. It is useful for rapid diagnosis of production usage issues and analysis of the distribution of requests.

Thanks to Tyler Neely for contributing this tool!

[GH 3555] Improved documentation

Based on feedback from the community, we've made a number of improvements to the readability and understandability of our documentation:

Proxy promotion
Benchmark for new disk storage

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.0-alpha.0/etcd-v2.3.0-alpha.0-darwin-amd64.zip -o etcd-v2.3.0-alpha.0-darwin-amd64.zip
unzip etcd-v2.3.0-alpha.0-darwin-amd64.zip
cd etcd-v2.3.0-alpha.0-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.0-alpha.0/etcd-v2.3.0-alpha.0-linux-amd64.tar.gz -o etcd-v2.3.0-alpha.0-linux-amd64.tar.gz
tar xzvf etcd-v2.3.0-alpha.0-linux-amd64.tar.gz
cd etcd-v2.3.0-alpha.0-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 -p 2379:2379 -v /usr/share/ca-certificates/:/etc/ssl/certs quay.io/coreos/etcd:v2.3.0-alpha.0

ACI/rkt

To get started with rkt on Linux run the following in a terminal:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.3.0-alpha.0

v2.2.1

16 Oct 21:38
Compare
Choose a tag to compare

Changelog

  • [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] fix 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] fix 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 bug fix and restorable dependency list
  • [GH 3685] fix mk command in etcdctl

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.2.1/etcd-v2.2.1-darwin-amd64.zip -o etcd-v2.2.1-darwin-amd64.zip
unzip etcd-v2.2.1-darwin-amd64.zip
cd etcd-v2.2.1-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.2.1/etcd-v2.2.1-linux-amd64.tar.gz -o etcd-v2.2.1-linux-amd64.tar.gz
tar xzvf etcd-v2.2.1-linux-amd64.tar.gz
cd etcd-v2.2.1-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.2.1
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:

# for more info about rkt command line, see related doc at https://github.com/coreos/rkt/blob/master/Documentation/commands.md#rkt-run
rkt run --volume data-dir,kind=host,source=/tmp --mds-register=false coreos.com/etcd:v2.2.1