consul v1.0.1 Release Notes

Release Date: 2017-11-20 // over 6 years ago
  • ๐Ÿ”‹ FEATURES:

    • ๐Ÿ†• New Auto Join Cloud Providers: Retry join support was added for Aliyun (Alibaba Cloud), Digital Ocean, OpenStack, and Scaleway. Instance metadata can be used with these to make it easy to form Consul clusters. [GH-3634]
    • ๐Ÿ‘ HTTP/2 Support: If TLS is enabled on a Consul agent it will automatically negotiate to use HTTP/2 for suitably configured clients accessing the client API. This allows clients to multiplex requests over the same TCP connection, such as multiple, simultaneous blocking queries. [GH-3657]

    ๐Ÿ‘Œ IMPROVEMENTS:

    • โœ… agent: (Consul Enterprise) Added AWS KMS support for S3 snapshots using the snapshot agent.
    • ๐Ÿ”ง agent: Watches in the Consul agent can now be configured to invoke an HTTP endpoint instead of an executable. [GH-3305]
    • agent: Added a new -config-format command line option which can be set to hcl or json to specify the format of configuration files. This is useful for cases where the file name cannot be controlled in order to provide the required extension. [GH-3620]
    • agent: DNS recursors can now be specified as go-sockaddr templates. [GH-2932]
    • agent: Serf snapshots no longer save network coordinate information. This enables recovery from errors upon agent restart. [GH-489]
    • โšก๏ธ agent: Added defensive code to prevent out of range ping times from infecting network coordinates. Updates to the coordinate system with negative round trip times or round trip times higher than 10 seconds will log an error but will be ignored.
    • ๐Ÿ“œ agent: The agent now warns when there are extra unparsed command line arguments and refuses to start. [GH-3397]
    • โšก๏ธ agent: Updated go-sockaddr library to get CoreOS route detection fixes and the new mask functionality. [GH-3633]
    • agent: Added a new enable_agent_tls_for_checks configuration option that allows HTTP health checks for services requiring 2-way TLS to be checked using the agent's credentials. [GH-3364]
    • ๐Ÿšš agent: Made logging of health check status more uniform and moved log entries with full check output from DEBUG to TRACE level for less noise. [GH-3683]
    • ๐Ÿ— build: Consul is now built with Go 1.9.2. [GH-3663]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ”ง agent: Consul 1.0 shipped with an issue where Args was erroneously named ScriptArgs for health check definitions in the /v1/agent/check/register and /v1/agent/service/register APIs. Added code to accept Args so that the JSON format matches that of health checks in configuration files. The ScriptArgs form will still be supported for backwards compatibility. [GH-3587]
    • ๐Ÿš‘ agent: Docker container checks running on Linux could get into a flapping state because the Docker agent seems to close the connection prematurely even though the body is transferred. This caused a "connection reset by peer" error which put the check into critical state. As of Consul 1.0.1 the "connection reset by peer" error is ignored for the /exec/<execID>/start command of the Docker API. [GH-3576]
    • agent: Added new form of consul.http.* metrics that were accidentally left out of Consul 1.0. [GH-3654]
    • ๐Ÿ›  agent: Fixed an issue with the server manager where periodic server client connection rebalancing could select a failed server. This affects agents in client mode, as well as servers talking to other servers, including over the WAN. [GH-3463]
    • agent: IPv6 addresses without port numbers and without surrounding brackets are now properly handled for joins. This affects all join types, but in particular this was discovered with AWS joins where the APIs return addresses formatted this way. [GH-3671]
    • ๐Ÿ›  agent: Fixed a rare startup panic of the Consul agent related to the LAN Serf instance ordering with the router manager. [GH-3680]
    • ๐Ÿ‘ป agent: Added back an exception for the snapshot_agent config key so that those configs can again live alongside Consul's configs. [GH-3678]
    • ๐Ÿ›  dns: Fixed an issue were components of a host name near the datacenter could be quietly ignored (eg. foo.service.dc1.extra.consul would silently ignore .extra); now an NXDOMAIN error will be returned. [GH-3200]
    • โšก๏ธ server: Fixed an issue where performing rolling updates of Consul servers could result in an outage from old servers remaining in the cluster. Consul's Autopilot would normally remove old servers when new ones come online, but it was also waiting to promote servers to voters in pairs to maintain an odd quorum size. The pairwise promotion feature was removed so that servers become voters as soon as they are stable, allowing Autopilot to remove old servers in a safer way. When upgrading from Consul 1.0, you may need to manually force-leave old servers as part of a rolling update to Consul 1.0.1. [GH-3611]
    • ๐Ÿ›  server: Fixed a deadlock where tombstone garbage collection for the KV store could block other KV operations, stalling writes on the leader. [GH-3700]