Skip to content
Tags give the ability to mark specific points in history as being important
  • v0.5.0-alpha.3
    v0.5.0-alpha.3
    
    - exit etcd when it restarts without existing data directory in best effort
    - etcd logs all configuration information on startup
    - add documentation for proxy-mode etcd: https://github.com/coreos/etcd/blob/master/Documentation/0.5/proxy.md
    - add more tests on Node struct in raft package
    - apply snapshot and committed entries in correct order
    - remove redundant publish-member log entries in cluster bootstrap
    - return JSON errors in proxy-mode etcd
    - support listening on both HTTP and HTTPS
    - add tests on raft message sender
    - add integration tests on member join and discovery bootstrap
    - support change peer urls dynamically
    - check and document -initial-advertise-peer-urls flag
    
    Thank you to: Barak “Needs A Nickname” Michener, Ben Darnell, Brian “I Hate Mondays” Waldon, Jonathan “Clapping Bear” Boulle, Xiang “Bruce” Li, Yicheng “qycqycqycqycqycqycqyc” Qin
    
  • v0.5.0-alpha.2
    0b493ac8 · version: bump to alpha.2 ·
    v0.5.0-alpha.2
    
    - added optional proxy fallback to discovery mode. This is enabled by default but can be configured with the `-discovery-fallback` flag.
    - add further extensive Raft tests based on section 5.3 and 5.4 in the Raft paper
    - new Advance interface to raft.Node to correctly notify the node when entries have been applied
    - etcdctl now syncs before running member subcommands
    - etcdctl now supports tls with the `--ca-file`, `--cert-file` and --key-file` flags
    - etcdctl now has a backup command to save a copy of an etcd data directory
    - etcd now has a `-force-new-cluster` flag to use when restoring from a backup
    - expanded and clarified clustering documentation
    - WAL now syncs before returning from create
    - listen ports are initialized before starting the etcd server
    - when adding a member to a cluster, etcd now verifies that the given peer URLs are not already assigned to a member
    - exposed `discovery-proxy` flag (equivalent to the ETCD_DISCOVERY_PROXY environment variable)
    - setting flags from environment variables no longer potentially causes a panic
    - `EcodePrevValueRequired` is returned where appropriate
    - all errors returned to clients are now JSON formatted
    - all responses to clients should now have application/json Content-Type
    
    Thank you to: Åsmund Grammeltvedt, Ben Darnell, Brandon Philips, Brian “What” Waldon, Jonathan “Bool” Boulle, Kelsey Hightower, Xiang Li, Yicheng Qin
    
  • v0.5.0-alpha.1
    etcd v0.5.0-alpha.1
    
    - add etcdctl member {list,add,remove} see https://github.com/coreos/etcd/blob/master/Documentation/0.5/runtime-configuration.md
    - add `etcdctl ls -p` to to emulate `ls -p`
    - attach cluster ID in http headers for client response
    - cleanup the logging of member IDs
    - cleanup the logging of member removal
    - bump the server timeout for requests to a more reasonable value
    - move /v2/admin/members to /v2/members
    - test cases added that matches 1-to-1 to consistency considerations in the raft paper
    - add admin guide. See https://github.com/coreos/etcd/blob/master/Documentation/0.5/admin_guide.md
    - remove etcdctl weak consistency to the exec-watch
    
    Thank you to: Yicheng Qin, Xiang Li, Micah Hausler, Pierre Phaneuf, Kelsey Hightower, Jonathan Boulle, Brian “BC” Waldon, Brian Ketelsen, Brandon Philips
    
  • v0.5.0-alpha.0
    v0.5.0-alpha.0
    
    - etcd now listens on its IANA assigned ports along with its temporary ports (4001/7001) by default
      - 2379 for client communication
      - 2380 for peer communication
    
    - Members can listen on and advertise multiple ports. This enables a single
    member to listen on a public interface and a container bridge at the same time.
    
    - etcd peers proxy requests to the leader so clients no longer need to follow
    HTTP 307 redirects. This means if you can reach a single etcd member you can
    successfully read from/write to the cluster without regard to the network
    topology.
    
    - An etcd cluster now has a “cluster id” and each member has a unique “member
    id”. etcd will reject requests from members with mismatched cluster ids or
    unknown member ids. This protects the cluster from many common
    misconfigurations (like the dreaded duplicate ETCD_NAME)
    
    - etcd cluster bootstrap configuration has changed to be fully static. The team
    found that users attempting to bootstrap a cluster often had trouble
    configuring the cluster correctly and using a static configuration makes it
    easier to tell users when something has gone wrong. Full details can be found
    in the clustering documentation:
    https://github.com/coreos/etcd/blob/master/Documentation/0.5/clustering.md
    
    - Runtime cluster reconfiguration is done explicitly through an HTTP API
    (/v2/admin/members. Full details can be found in the API documentation:
    https://github.com/coreos/etcd/blob/master/Documentation/0.5/admin_api.md
    
    - The Raft implementation (github.com/coreos/etcd/raft) has been re-designed to
    enable faster and more thorough testing. The central raft state machine code is
    succinct (>600 LOC) and easy to understand when read alongside the Raft
    whitepaper.
    
    - The Raft log is now a strict append-only write-ahead log and includes a
    rolling CRC to each of the records in the log.
    
    - The key store starts up completely clean. The internal _etcd/* keys are no
    longer exposed to the user from the /v2/keys API.
    
    - etcd can operate in a pure proxy mode not participating in Raft consensus and
    also includes a readonly proxy.
    
    - ETCD_NAME is now advisory only and is not used internally by etcd to identify
    a member. This means that it is safe to change the name. Also, the client URL
    list that each member publishes can be changed from the flags and updated on
    restart.
    
    - The peers flags has been deprecated, in order to support the ability to
    specify machines with multiple addresses
    
    - Cluster auto adjustment (also known as standby-mode) has been deprecated.
    This feature was meant to help people manage their etcd cluster but it was a
    difficult to understand feature which lead to a lot of support burden. Instead,
    we have introduced an explicit proxy mode for etcd, and explicit cluster
    configuration operations (joining and removing nodes).
    
    - The TOML configuration file has been deprecated. The recommended replacement
    is to use environment variables (e.g. in a systemd unit file).
    
    - Discovery services now must provide a target cluster size. This is due to our
    experience helping users debug cluster bootstrap with the discovery service. We
    found that users could become confused when they thought that they had launched
    three machines (for a fault tolerance of one), but that only two had
    successfully started, and so etcd was accepting writes. Then when the
    inevitable happened and a single machine failed, etcd became unavailable.
    
  • v0.4.6
    49e0dff2 · CHANGELOG: v0.4.6 ·
    v0.4.6
    
    * Fix long-term timer leak (#900, #875, #868, #904)
    * Fix `Running` field in standby_info file (#881)
    * Add `quorum=true` query parameter for GET requests (#866, #883)
    * Add `Access-Control-Allow-Headers` header for CORS requests (#886)
    * Various documentation improvements (#907, #882)
    
  • v0.4.5
    13b0e723 · CHANGELOG: v0.4.5 ·
    v0.4.5
    
    * Flush headers immediatly on `wait=true` requests (#877)
    * Add `ETCD_HTTP_READ_TIMEOUT` and `ETCD_HTTP_WRITE_TIMEOUT` (#880)
    * Add `ETCDCTL_PEERS` configuration to etcdctl (#95)
    * etcdctl takes stdin for mk (#91)
    
  • v0.4.4
    4fb6087f · CHANGELOG: release 0.4.4 ·
    v0.4.4
    
  • v0.4.3
    v0.4.3
    
  • v0.4.2
    v0.4.2
    
  • v0.4.1
    v0.4.1
    
  • v0.4.0
    v0.4.0
    
  • v0.3.0
    v0.3.0
    
  • v0.2.0
    v0.2.0
    
  • v0.2.0-rc4
    v0.2.0-rc4
    
  • v0.2.0-rc3
    v0.2.0-rc3
    
  • v0.2.0-rc2
    v0.2.0-rc2
    
  • v0.2.0-rc1
  • v0.2.0-rc0
    v0.2.0-rc0
    
  • v0.1.2
    v0.1.2
    
  • v0.1.1