mirror of https://github.com/status-im/consul.git
328 lines
13 KiB
Markdown
328 lines
13 KiB
Markdown
## 0.5.0 (Unreleased)
|
|
|
|
FEATURES:
|
|
|
|
* Key rotation support for gossip layer. This allows the `encrypt` key
|
|
to be changed globally. See "keyring" command. [GH-336]
|
|
* Options to join the WAN pool on start (`start_join_wan`, `retry_join_wan`) [GH-477]
|
|
* Optional HTTPS interface [GH-478]
|
|
* Ephemeral keys via "delete" session behavior. This allows keys to be deleted when
|
|
a session is invalidated instead of having the lock released. Adds new "Behavior"
|
|
field to Session which is configurable. [GH-487]
|
|
* Reverse DNS lookups via PTR for IPv4 and IPv6 [GH-475]
|
|
* API added checks and services are persisted. This means services and
|
|
checks will survive a crash or restart. [GH-497]
|
|
* ACLs can now protect service registration. Users in blacklist mode should
|
|
allow registrations before upgrading to prevent a service disruption. [GH-506] [GH-465]
|
|
* Sessions support a heartbeat failure detector via use of TTLs. This adds a new
|
|
"TTL" field to Sessions and a `/v1/session/renew` endpoint. Heartbeats act like a
|
|
failure detector (health check), but are managed by the servers. [GH-524] [GH-172]
|
|
* Support for service specific IP addresses. This allows the service to advertise an
|
|
address that is different from the agent. [GH-229] [GH-570]
|
|
* Support KV Delete with Check-And-Set [GH-589]
|
|
* Merge `armon/consul-api` into `api` as official Go client.
|
|
* Support for distributed locks and semaphores in API client [GH-594] [GH-600]
|
|
* Support for native HTTP health checks [GH-592]
|
|
* Support for node and service maintanence modes [GH-606]
|
|
* Added new "consul maint" command to easily toggle maintanence modes [GH-625]
|
|
* Added new "consul lock" command for simple highly-available deployments.
|
|
This lets Consul manage the leader election and easily handle N+1 deployments
|
|
without the applications being Consul aware. [GH-619]
|
|
* Multiple checks can be associated with a service [GH-591] [GH-230]
|
|
|
|
BUG FIXES:
|
|
|
|
* Fixed X-Consul-Index calculation for KV ListKeys
|
|
* Fixed errors under extremely high read parallelism
|
|
* Fixed issue causing event watches to not fire reliably [GH-479]
|
|
* Fixed non-monotonic X-Consul-Index with key deletion [GH-577] [GH-195]
|
|
* Fixed use of default instead of custom TLD in some DNS responses [GH-582]
|
|
* Fixed memory leaks in API client when an error response is returned [GH-608]
|
|
* Fixed issues with graceful leave in single-node bootstrap cluster [GH-621]
|
|
* Fixed issue preventing node reaping [GH-371]
|
|
* Fixed gossip stability at very large scale
|
|
* Fixed string of rpc error: rpc error: ... no known leader. [GH-611]
|
|
* Fixed panic in `exec` during cancelation
|
|
|
|
IMPROVEMENTS:
|
|
|
|
* Support "consul exec" in foreign datacenter [GH-584]
|
|
* Improved K/V blocking query performance [GH-578]
|
|
* CLI respects CONSUL_RPC_ADDR environment variable to load parameter [GH-542]
|
|
* Added support for multiple DNS recursors [GH-448]
|
|
* Added support for definining multiple services per configuration file [GH-433]
|
|
* Added support for definining multiple checks per configuration file [GH-433]
|
|
* Allow mixing of service and check definitions in a configuration file [GH-433]
|
|
* Allow notes for checks in service definition file [GH-449]
|
|
* Random stagger for agent checks to prevent thundering herd [GH-546]
|
|
* More useful metrics are sent to statsd/statsite
|
|
* Added configuration to set custom HTTP headers (CORS) [GH-558]
|
|
* Reject invalid configurations to simplify validation [GH-576]
|
|
* Guard against accidental cluster mixing [GH-580] [GH-260]
|
|
* Added option to filter DNS results on warning [GH-595]
|
|
* Improve write throughput with raft log caching [GH-604]
|
|
* Added ability to bind RPC and HTTP listeners to UNIX sockets [GH-587] [GH-612]
|
|
* K/V HTTP endpoint returns 400 on conflicting flags [GH-634] [GH-432]
|
|
|
|
MISC:
|
|
|
|
* UI confirms before deleting key sub-tree [GH-520]
|
|
* More useful output in "consul version" [GH-480]
|
|
* Many documentation improvements
|
|
* Reduce log messages when quorum member is logs [GH-566]
|
|
|
|
UPGRADE NOTES:
|
|
|
|
* If `acl_default_policy` is "deny", ensure tokens are updated to enable
|
|
service registration to avoid a service disruption. The new ACL policy
|
|
can be submitted with 0.4 before upgrading to 0.5 where it will be
|
|
enforced.
|
|
|
|
* Servers running 0.5.X cannot be mixed with older servers. (Any client
|
|
version is fine). There is a 15 minute upgrade window where mixed
|
|
versions are allowed before older servers will panic due to an unsupported
|
|
internal command. This is due to the new KV tombstones which are internal
|
|
to servers.
|
|
|
|
## 0.4.1 (October 20, 2014)
|
|
|
|
FEATURES:
|
|
|
|
* Adding flags for `-retry-join` to attempt a join with
|
|
configurable retry behavior. [GH-395]
|
|
|
|
BUG FIXES:
|
|
|
|
* Fixed ACL token in UI
|
|
* Fixed ACL reloading in UI [GH-323]
|
|
* Fixed long session names in UI [GH-353]
|
|
* Fixed exit code from remote exec [GH-346]
|
|
* Fixing only a single watch being run by an agent [GH-337]
|
|
* Fixing potential race in connection multiplexing
|
|
* Fixing issue with Session ID and ACL ID generation. [GH-391]
|
|
* Fixing multiple headers for /v1/event/list endpoint [GH-361]
|
|
* Fixing graceful leave of leader causing invalid Raft peers [GH-360]
|
|
* Fixing bug with closing TLS connction on error
|
|
* Fixing issue with node reaping [GH-371]
|
|
* Fixing aggressive deadlock time [GH-389]
|
|
* Fixing syslog filter level [GH-272]
|
|
* Serf snapshot compaction works on Windows [GH-332]
|
|
* Raft snapshots work on Windows [GH-265]
|
|
* Consul service entry clean by clients now possible
|
|
* Fixing improper deserialization
|
|
|
|
IMPROVEMENTS:
|
|
|
|
* Use "critical" health state instead of "unknown" [GH-341]
|
|
* Consul service can be targed for exec [GH-344]
|
|
* Provide debug logging for session invalidation [GH-390]
|
|
* Added "Deregister" button to UI [GH-364]
|
|
* Added `enable_truncate` DNS configuration flag [GH-376]
|
|
* Reduce mmap() size on 32bit systems [GH-265]
|
|
* Temporary state is cleaned after an abort [GH-338] [GH-178]
|
|
|
|
MISC:
|
|
|
|
* Health state "unknown" being deprecated
|
|
|
|
## 0.4.0 (September 5, 2014)
|
|
|
|
FEATURES:
|
|
|
|
* Fine-grained ACL system to restrict access to KV store. Clients
|
|
use tokens which can be restricted to (read, write, deny) permissions
|
|
using longest-prefix matches.
|
|
|
|
* Watch mechanisms added to invoke a handler when data changes in consul.
|
|
Used with the `consul watch` command, or by specifying `watches` in
|
|
an agent configuration.
|
|
|
|
* Event system added to support custom user events. Events are fired using
|
|
the `consul event` command. They are handled using a standard watch.
|
|
|
|
* Remote execution using `consul exec`. This allows for command execution on remote
|
|
instances mediated through Consul.
|
|
|
|
* RFC-2782 style DNS lookups supported
|
|
|
|
* UI improvements, including support for ACLs.
|
|
|
|
IMPROVEMENTS:
|
|
|
|
* DNS case-insensitivity [GH-189]
|
|
* Support for HTTP `?pretty` parameter to pretty format JSON output.
|
|
* Use $SHELL when invoking handlers. [GH-237]
|
|
* Agent takes the `-encrypt` CLI Flag [GH-245]
|
|
* New `statsd_add` config for Statsd support. [GH-247]
|
|
* New `addresses` config for providing an override to `client_addr` for
|
|
DNS, HTTP, or RPC endpoints. [GH-301] [GH-253]
|
|
* Support [Checkpoint](http://checkpoint.hashicorp.com) for security bulletins
|
|
and update announcements.
|
|
|
|
BUG FIXES:
|
|
|
|
* Fixed race condition in `-bootstrap-expect` [GH-254]
|
|
* Require PUT to /v1/session/destroy [GH-285]
|
|
* Fixed registration race condition [GH-300] [GH-279]
|
|
|
|
UPGRADE NOTES:
|
|
|
|
* ACL support should not be enabled until all server nodes are running
|
|
Consul 0.4. Mixed server versions with ACL support enabled may result in
|
|
panics.
|
|
|
|
## 0.3.1 (July 21, 2014)
|
|
|
|
FEATURES:
|
|
|
|
* Improved bootstrapping process, thanks to @robxu9
|
|
|
|
BUG FIXES:
|
|
|
|
* Fixed issue with service re-registration [GH-216]
|
|
* Fixed handling of `-rejoin` flag
|
|
* Restored 0.2 TLS behavior, thanks to @nelhage [GH-233]
|
|
* Fix the statsite flags, thanks to @nelhage [GH-243]
|
|
* Fixed filters on criticial / non-passing checks [GH-241]
|
|
* Fixed initial log compaction crash [GH-297]
|
|
|
|
IMPROVEMENTS:
|
|
|
|
* UI Improvements
|
|
* Improved handling of Serf snapshot data
|
|
* Increase reliability of failure detector
|
|
* More useful logging messages
|
|
|
|
|
|
## 0.3.0 (June 13, 2014)
|
|
|
|
FEATURES:
|
|
|
|
* Better, faster, cleaner UI [GH-194] [GH-196]
|
|
* Sessions, which act as a binding layer between
|
|
nodes, checks and KV data. [GH-162]
|
|
* Key locking. KV data integrates with sessions to
|
|
enable distributed locking. [GH-162]
|
|
* DNS lookups can do stale reads and TTLs. [GH-200]
|
|
* Added new /v1/agent/self endpoint [GH-173]
|
|
* `reload` command can be used to trigger configuration
|
|
reload from the CLI [GH-142]
|
|
|
|
IMPROVEMENTS:
|
|
|
|
* `members` has a much cleaner output format [GH-143]
|
|
* `info` includes build version information
|
|
* Sorted results for datacneter list [GH-198]
|
|
* Switch multiplexing to yamux
|
|
* Allow multiple CA certis in ca_file [GH-174]
|
|
* Enable logging to syslog. [GH-105]
|
|
* Allow raw key value lookup [GH-150]
|
|
* Log encryption enabled [GH-151]
|
|
* Support `-rejoin` to rejoin a cluster after a previous leave. [GH-110]
|
|
* Support the "any" wildcard for v1/health/state/ [GH-152]
|
|
* Defer sync of health check output [GH-157]
|
|
* Provide output for serfHealth check [GH-176]
|
|
* Datacenter name is validated [GH-169]
|
|
* Configurable syslog facilities [GH-170]
|
|
* Pipelining replication of writes
|
|
* Raft group commits
|
|
* Increased stability of leader terms
|
|
* Prevent previously left nodes from causing re-elections
|
|
|
|
BUG FIXES:
|
|
|
|
* Fixed memory leak in in-memory stats system
|
|
* Fixing race between RPC and Raft init [GH-160]
|
|
* Server-local RPC is avoids network [GH-148]
|
|
* Fixing builds for older OSX [GH-147]
|
|
|
|
MISC:
|
|
|
|
* Fixed missing prefixes on some log messages
|
|
* Removed the `-role` filter of `members` command
|
|
* Lots of docs fixes
|
|
|
|
## 0.2.1 (May 20, 2014)
|
|
|
|
IMPROVEMENTS:
|
|
|
|
* Improved the URL formatting for the key/value editor in the Web UI.
|
|
Importantly, the editor now allows editing keys with dashes in the
|
|
name. [GH-119]
|
|
* The web UI now has cancel and delete folder actions in the key/value
|
|
editor. [GH-124], [GH-122]
|
|
* Add flag to agent to write pid to a file. [GH-106]
|
|
* Time out commands if Raft exceeds command enqueue timeout
|
|
* Adding support for the `-advertise` CLI flag. [GH-156]
|
|
* Fixing potential name conflicts on the WAN gossip ring [GH-158]
|
|
* /v1/catalog/services returns an empty slice instead of null. [GH-145]
|
|
* `members` command returns exit code 2 if no results. [GH-116]
|
|
|
|
BUG FIXES:
|
|
|
|
* Renaming "seperator" to "separator". This is the correct spelling,
|
|
but both spellings are respected for backwards compatibility. [GH-101]
|
|
* Private IP is properly found on Windows clients.
|
|
* Windows agents won't show "failed to decode" errors on every RPC
|
|
request.
|
|
* Fixed memory leak with RPC clients. [GH-149]
|
|
* Serf name conflict resoultion disabled. [GH-97]
|
|
* Raft deadlock possibility fixed. [GH-141]
|
|
|
|
MISC:
|
|
|
|
* Updating to latest version of LMDB
|
|
* Reduced the limit of KV entries to 512KB. [GH-123].
|
|
* Warn if any Raft log exceeds 1MB
|
|
* Lots of docs fixes
|
|
|
|
## 0.2.0 (May 1, 2014)
|
|
|
|
FEATURES:
|
|
|
|
* Adding Web UI for Consul. This is enabled by providing the `-ui-dir` flag
|
|
with the path to the web directory. The UI is visited at the standard HTTP
|
|
address (Defaults to http://127.0.0.1:8500/). There is a demo
|
|
[available here](http://demo.consul.io).
|
|
* Adding new read consistency modes. `?consistent` can be used for strongly
|
|
consistent reads without caveats. `?stale` can be used for stale reads to
|
|
allow for higher throughput and read scalability. [GH-68]
|
|
* /v1/health/service/ endpoint can take an optional `?passing` flag
|
|
to filter to only nodes with passing results. [GH-57]
|
|
* The KV endpoint suports listing keys with the `?keys` query parameter,
|
|
and limited up to a separator using `?separator=`.
|
|
|
|
IMPROVEMENTS:
|
|
|
|
* Health check output goes into separate `Output` field instead
|
|
of overriding `Notes`. [GH-59]
|
|
* Adding a minimum check interval to prevent checks with extremely
|
|
low intervals fork bombing. [GH-64]
|
|
* Raft peer set cleared on leave. [GH-69]
|
|
* Case insensitive parsing checks. [GH-78]
|
|
* Increase limit of DB size and Raft log on 64bit systems. [GH-81]
|
|
* Output of health checks limited to 4K. [GH-83]
|
|
* More warnings if GOMAXPROCS == 1 [GH-87]
|
|
* Added runtime information to `consul info`
|
|
|
|
BUG FIXES:
|
|
|
|
* Fixed 404 on /v1/agent/service/deregister and
|
|
/v1/agent/check/deregister. [GH-95]
|
|
* Fixed JSON parsing for /v1/agent/check/register [GH-60]
|
|
* DNS parser can handler period in a tag name. [GH-39]
|
|
* "application/json" content-type is sent on HTTP requests. [GH-45]
|
|
* Work around for LMDB delete issue. [GH-85]
|
|
* Fixed tag gossip propagation for rapid restart. [GH-86]
|
|
|
|
MISC:
|
|
|
|
* More conservative timing values for Raft
|
|
* Provide a warning if attempting to commit a very large Raft entry
|
|
* Improved timeliness of registration when server is in bootstrap mode. [GH-72]
|
|
|
|
## 0.1.0 (April 17, 2014)
|
|
|
|
* Initial release
|
|
|