Consul Versions Save

Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

v1.14.11

6 months ago

1.14.11 (October 31, 2023)

SECURITY:

BUG FIXES:

  • Mesh Gateways: Fix a bug where replicated and peered mesh gateways with hostname-based WAN addresses fail to initialize. [GH-19268]
  • api: add custom marshal/unmarshal for ServiceResolverConfigEntry.RequestTimeout so config entries that set this field can be read using the API. [GH-19031]
  • ca: ensure Vault CA provider respects Vault Enterprise namespace configuration. [GH-19095]
  • catalog api: fixes a bug with catalog api where filter query parameter was not working correctly for the /v1/catalog/services endpoint [GH-18322]
  • connect: Fix bug where uncleanly closed xDS connections would influence connection balancing for too long and prevent envoy instances from starting. Two new configuration fields performance.grpc_keepalive_timeout and performance.grpc_keepalive_interval now exist to allow for configuration on how often these dead connections will be cleaned up. [GH-19339]

v1.15.7

6 months ago

1.15.7 (October 31, 2023)

SECURITY:

BUG FIXES:

  • Mesh Gateways: Fix a bug where replicated and peered mesh gateways with hostname-based WAN addresses fail to initialize. [GH-19268]
  • api: add custom marshal/unmarshal for ServiceResolverConfigEntry.RequestTimeout so config entries that set this field can be read using the API. [GH-19031]
  • ca: Fix bug with Vault CA provider where renewing a retracted token would cause retries in a tight loop, degrading performance. [GH-19285]
  • ca: Fix bug with Vault CA provider where token renewal goroutines could leak if CA failed to initialize. [GH-19285]
  • ca: ensure Vault CA provider respects Vault Enterprise namespace configuration. [GH-19095]
  • catalog api: fixes a bug with catalog api where filter query parameter was not working correctly for the /v1/catalog/services endpoint [GH-18322]
  • connect: Fix bug where uncleanly closed xDS connections would influence connection balancing for too long and prevent envoy instances from starting. Two new configuration fields performance.grpc_keepalive_timeout and performance.grpc_keepalive_interval now exist to allow for configuration on how often these dead connections will be cleaned up. [GH-19339]
  • gateways: Fix a bug where a service in a peered datacenter could not access an external node service through a terminating gateway [GH-18959]

v1.17.0-rc1

7 months ago

1.17.0-rc1 (October 11, 2023)

BREAKING CHANGES:

  • api: RaftLeaderTransfer now requires an id string. An empty string can be specified to keep the old behavior. [GH-17107]
  • audit-logging: (Enterprise only) allowing timestamp based filename only on rotation. initially the filename will be just file.json [GH-18668]

FEATURE PREVIEW: Catalog v2

This release provides the ability to preview Consul's v2 Catalog and Resource API if enabled. The new model supports multi-port application deployments with only a single Envoy proxy. Note that the v1 and v2 catalogs are not cross compatible, and not all Consul features are available within this v2 feature preview. See the v2 Catalog and Resource API documentation for more information. The v2 Catalog and Resources API should be considered a feature preview within this release and should not be used in production environments.

Limitations

  • The v2 catalog API feature preview does not support connections with client agents. As a result, it is only available for Kubernetes deployments, which use Consul dataplanes instead of client agents.
  • The v1 and v2 catalog APIs cannot run concurrently.
  • The Consul UI does not support multi-port services or the v2 catalog API in this release.
  • HCP Consul does not support multi-port services or the v2 catalog API in this release.
  • The v2 API only supports transparent proxy mode where services that have permissions to connect to each other can use Kube DNS to connect.

Known Issues

  • When using the v2 API with transparent proxy, Kubernetes pods cannot use L7 liveness, readiness, or startup probes.

Significant Pull Requests

FEATURES:

  • Support custom watches on the Consul Controller framework. [GH-18439]
  • Windows: support consul connect envoy command on Windows [GH-17694]
  • acl: Add BindRule support for templated policies. Add new BindType: templated-policy and BindVar field for templated policy variables. [GH-18719]
  • acl: Add new acl.tokens.dns config field which specifies the token used implicitly during dns checks. [GH-17936]
  • acl: Added ACL Templated policies to simplify getting the right ACL token. [GH-18708]
  • acl: Adds a new ACL rule for workload identities [GH-18769]
  • api-gateway: Add support for response header modifiers on http-route configuration entry [GH-18646]
  • api-gateway: add retry and timeout filters [GH-18324]
  • cli: Add bind-var flag to consul acl binding-rule for templated policy variables. [GH-18719]
  • cli: Add consul acl templated-policy commands to read, list and preview templated policies. [GH-18816]
  • config-entry(api-gateway): (Enterprise only) Add GatewayPolicy to APIGateway Config Entry listeners
  • config-entry(api-gateway): (Enterprise only) Add JWTFilter to HTTPRoute Filters
  • dataplane: Allow getting bootstrap parameters when using V2 APIs [GH-18504]
  • gateway: (Enterprise only) Add JWT authentication and authorization to APIGateway Listeners and HTTPRoutes.
  • mesh: (Enterprise only) Adds rate limiting config to service-defaults [GH-18583]
  • xds: Add a built-in Envoy extension that appends OpenTelemetry Access Logging (otel-access-logging) to the HTTP Connection Manager filter. [GH-18336]
  • xds: Add support for patching outbound listeners to the built-in Envoy External Authorization extension. [GH-18336]

IMPROVEMENTS:

  • xds: Use downstream protocol when connecting to local app [GH-18573]
  • Windows: Integration tests for Consul Windows VMs [GH-18007]
  • acl: Use templated policy to generate synthetic policies for tokens/roles with node and/or service identities [GH-18813]
  • api: added CheckRegisterOpts to Agent API [GH-18943]
  • api: added Token field to ServiceRegisterOpts type in Agent API [GH-18983]
  • ca: Vault CA provider config no longer requires root_pki_path for secondary datacenters [GH-17831]
  • cli: Added -templated-policy, -templated-policy-file, -replace-templated-policy, -append-templated-policy, -replace-templated-policy-file, -append-templated-policy-file and -var flags for creating or updating tokens/roles. [GH-18708]
  • config: Add new tls.defaults.verify_server_hostname configuration option. This specifies the default value for any interfaces that support the verify_server_hostname option. [GH-17155]
  • connect: update supported envoy versions to 1.24.10, 1.25.9, 1.26.4, 1.27.0 [GH-18300]
  • ui: Use Community verbiage [GH-18560]

BUG FIXES:

  • api: add custom marshal/unmarshal for ServiceResolverConfigEntry.RequestTimeout so config entries that set this field can be read using the API. [GH-19031]
  • dev-mode: Fix dev mode has new line in responses. Now new line is added only when url has pretty query parameter. [GH-18367]
  • docs: fix list of telemetry metrics [GH-17593]
  • telemetry: emit consul version metric on a regular interval. [GH-6876]
  • tlsutil: Default setting of ServerName field in outgoing TLS configuration for checks now handled by crypto/tls. [GH-17481]

v1.16.2

8 months ago

1.16.2 (September 19, 2023)

SECURITY:

IMPROVEMENTS:

  • Adds flag -append-filename (which works on values version, dc, node and status) to consul snapshot save command. Adding the flag -append-filename version,dc,node,status will add consul version, consul datacenter, node name and leader/follower (status) in the file name given in the snapshot save command before the file extension. [GH-18625]
  • Reduce the frequency of metric exports from Consul to HCP from every 10s to every 1m [GH-18584]
  • api: Add support for listing ACL tokens by service name. [GH-18667]
  • checks: It is now possible to configure agent TCP checks to use TLS with optional server SNI and mutual authentication. To use TLS with a TCP check, the check must enable the tcp_use_tls boolean. By default the agent will use the TLS configuration in the tls.default stanza. [GH-18381]
  • command: Adds -since flag in consul debug command which internally calls hcdiag for debug information in the past. [GH-18797]
  • log: Currently consul logs files like this consul-{timestamp}.log. This change makes sure that there is always consul.log file with the latest logs in it. [GH-18617]

BUG FIXES:

  • Inherit locality from services when registering sidecar proxies. [GH-18437]
  • UI : Nodes list view was breaking for synthetic-nodes. Fix handles non existence of consul-version meta for node. [GH-18464]
  • api: Fix /v1/agent/self not returning latest configuration [GH-18681]
  • ca: Vault provider now cleans up the previous Vault issuer and key when generating a new leaf signing certificate [GH-18779] [GH-18773]
  • check: prevent go routine leakage when existing Defercheck of same check id is not nil [GH-18558]
  • connect: Fix issue where Envoy endpoints would not populate correctly after a snapshot restore. [GH-18636]
  • gateways: Fix a bug where gateway to service mappings weren't being cleaned up properly when externally registered proxies were being deregistered. [GH-18831]
  • telemetry: emit consul version metric on a regular interval. [GH-18724]

v1.15.6

8 months ago

1.15.6 (September 19, 2023)

SECURITY:

IMPROVEMENTS:

  • Adds flag -append-filename (which works on values version, dc, node and status) to consul snapshot save command. Adding the flag -append-filename version,dc,node,status will add consul version, consul datacenter, node name and leader/follower (status) in the file name given in the snapshot save command before the file extension. [GH-18625]
  • Reduce the frequency of metric exports from Consul to HCP from every 10s to every 1m [GH-18584]
  • api: Add support for listing ACL tokens by service name. [GH-18667]
  • command: Adds -since flag in consul debug command which internally calls hcdiag for debug information in the past. [GH-18797]
  • log: Currently consul logs files like this consul-{timestamp}.log. This change makes sure that there is always consul.log file with the latest logs in it. [GH-18617]

BUG FIXES:

  • api: Fix /v1/agent/self not returning latest configuration [GH-18681]
  • ca: Vault provider now cleans up the previous Vault issuer and key when generating a new leaf signing certificate [GH-18779] [GH-18773]
  • check: prevent go routine leakage when existing Defercheck of same check id is not nil [GH-18558]
  • gateways: Fix a bug where gateway to service mappings weren't being cleaned up properly when externally registered proxies were being deregistered. [GH-18831]
  • telemetry: emit consul version metric on a regular interval. [GH-18724]

v1.14.10

8 months ago

1.14.10 (September 19, 2023)

SECURITY:

IMPROVEMENTS:

  • Adds flag -append-filename (which works on values version, dc, node and status) to consul snapshot save command. Adding the flag -append-filename version,dc,node,status will add consul version, consul datacenter, node name and leader/follower (status) in the file name given in the snapshot save command before the file extension. [GH-18625]
  • api: Add support for listing ACL tokens by service name. [GH-18667]
  • command: Adds -since flag in consul debug command which internally calls hcdiag for debug information in the past. [GH-18797]
  • log: Currently consul logs files like this consul-{timestamp}.log. This change makes sure that there is always consul.log file with the latest logs in it. [GH-18617]

BUG FIXES:

  • api: Fix /v1/agent/self not returning latest configuration [GH-18681]
  • ca: Vault provider now cleans up the previous Vault issuer and key when generating a new leaf signing certificate [GH-18779] [GH-18773]
  • gateways: Fix a bug where gateway to service mappings weren't being cleaned up properly when externally registered proxies were being deregistered. [GH-18831]
  • telemetry: emit consul version metric on a regular interval. [GH-18724]

v1.16.1

9 months ago

1.16.1 (August 7, 2023)

SECURITY:

FEATURES:

  • cli: consul members command uses -filter expression to filter members based on bexpr. [GH-18223]
  • cli: consul operator raft list-peers command shows the number of commits each follower is trailing the leader by to aid in troubleshooting. [GH-17582]
  • cli: consul watch command uses -filter expression to filter response from checks, services, nodes, and service. [GH-17780]
  • reloadable config: Made enable_debug config reloadable and enable pprof command to work when config toggles to true [GH-17565]
  • ui: consul version is displayed in nodes list with filtering and sorting based on versions [GH-17754]

IMPROVEMENTS:

  • Fix some typos in metrics docs [GH-18080]
  • acl: added builtin ACL policy that provides global read-only access (builtin/global-read-only) [GH-18319]
  • acl: allow for a single slash character in policy names [GH-18319]
  • connect: Add capture group labels from Envoy cluster FQDNs to Envoy exported metric labels [GH-17888]
  • connect: Improve transparent proxy support for virtual services and failovers. [GH-17757]
  • connect: update supported envoy versions to 1.23.12, 1.24.10, 1.25.9, 1.26.4 [GH-18303]
  • debug: change default setting of consul debug command. now default duration is 5ms and default log level is 'TRACE' [GH-17596]
  • extensions: Improve validation and error feedback for property-override builtin Envoy extension [GH-17759]
  • hcp: Add dynamic configuration support for the export of server metrics to HCP. [GH-18168]
  • hcp: Removes requirement for HCP to provide a management token [GH-18140]
  • http: GET API operator/usage endpoint now returns node count cli: consul operator usage command now returns node count [GH-17939]
  • mesh: Expose remote jwks cluster configuration through jwt-provider config entry [GH-17978]
  • mesh: Stop jwt providers referenced by intentions from being deleted. [GH-17755]
  • ui: the topology view now properly displays services with mixed connect and non-connect instances. [GH-13023]
  • xds: Explicitly enable WebSocket connection upgrades in HTTP connection manager [GH-18150]

BUG FIXES:

  • Fix a bug that wrongly trims domains when there is an overlap with DC name. [GH-17160]
  • api-gateway: fix race condition in proxy config generation when Consul is notified of the bound-api-gateway config entry before it is notified of the api-gateway config entry. [GH-18291]
  • api: Fix client deserialization errors by marking new Enterprise-only prepared query fields as omit empty [GH-18184]
  • ca: Fixes a Vault CA provider bug where updating RootPKIPath but not IntermediatePKIPath would not renew leaf signing certificates [GH-18112]
  • connect/ca: Fixes a bug preventing CA configuration updates in secondary datacenters [GH-17846]
  • connect: (Enterprise only) Fix bug where intentions referencing sameness groups would not always apply to members properly.
  • connect: Fix incorrect protocol config merging for transparent proxy implicit upstreams. [GH-17894]
  • connect: Removes the default health check from the consul connect envoy command when starting an API Gateway. This health check would always fail. [GH-18011]
  • connect: fix a bug with Envoy potentially starting with incomplete configuration by not waiting enough for initial xDS configuration. [GH-18024]
  • gateway: Fixes a bug where envoy would silently reject RSA keys that are smaller than 2048 bits, we now reject those earlier in the process when we validate the certificate. [GH-17911]
  • http: fixed API endpoint PUT /acl/token/:AccessorID (update token), no longer requires AccessorID in the request body. Web UI can now update tokens. [GH-17739]
  • mesh: (Enterprise Only) Require that jwt-provider config entries are created in the default namespace. [GH-18325]
  • snapshot: fix access denied and handle is invalid when we call snapshot save on windows - skip sync() for folders in windows in https://github.com/rboyer/safeio/pull/3 [GH-18302]
  • xds: Prevent partial application of non-Required Envoy extensions in the case of failure. [GH-18068]

v1.15.5

9 months ago

1.15.5 (August 7, 2023)

SECURITY:

FEATURES:

  • cli: consul members command uses -filter expression to filter members based on bexpr. [GH-18223]
  • cli: consul watch command uses -filter expression to filter response from checks, services, nodes, and service. [GH-17780]
  • reloadable config: Made enable_debug config reloadable and enable pprof command to work when config toggles to true [GH-17565]

IMPROVEMENTS:

  • Fix some typos in metrics docs [GH-18080]
  • acl: added builtin ACL policy that provides global read-only access (builtin/global-read-only) [GH-18319]
  • acl: allow for a single slash character in policy names [GH-18319]
  • connect: Add capture group labels from Envoy cluster FQDNs to Envoy exported metric labels [GH-17888]
  • connect: update supported envoy versions to 1.22.11, 1.23.12, 1.24.10, 1.25.9 [GH-18304]
  • hcp: Add dynamic configuration support for the export of server metrics to HCP. [GH-18168]
  • hcp: Removes requirement for HCP to provide a management token [GH-18140]
  • xds: Explicitly enable WebSocket connection upgrades in HTTP connection manager [GH-18150]

BUG FIXES:

  • Fix a bug that wrongly trims domains when there is an overlap with DC name. [GH-17160]
  • api-gateway: fix race condition in proxy config generation when Consul is notified of the bound-api-gateway config entry before it is notified of the api-gateway config entry. [GH-18291]
  • connect/ca: Fixes a bug preventing CA configuration updates in secondary datacenters [GH-17846]
  • connect: Fix incorrect protocol config merging for transparent proxy implicit upstreams. [GH-17894]
  • connect: Removes the default health check from the consul connect envoy command when starting an API Gateway. This health check would always fail. [GH-18011]
  • connect: fix a bug with Envoy potentially starting with incomplete configuration by not waiting enough for initial xDS configuration. [GH-18024]
  • snapshot: fix access denied and handle is invalid when we call snapshot save on windows - skip sync() for folders in windows in https://github.com/rboyer/safeio/pull/3 [GH-18302]

v1.14.9

9 months ago

1.14.9 (August 7, 2023)

SECURITY:

FEATURES:

  • cli: consul members command uses -filter expression to filter members based on bexpr. [GH-18223]
  • cli: consul watch command uses -filter expression to filter response from checks, services, nodes, and service. [GH-17780]
  • reloadable config: Made enable_debug config reloadable and enable pprof command to work when config toggles to true [GH-17565]

IMPROVEMENTS:

  • Fix some typos in metrics docs [GH-18080]
  • acl: added builtin ACL policy that provides global read-only access (builtin/global-read-only) [GH-18319]
  • acl: allow for a single slash character in policy names [GH-18319]
  • connect: update supported envoy versions to 1.21.6, 1.22.11, 1.23.12, 1.24.10 [GH-18305]
  • hcp: Removes requirement for HCP to provide a management token [GH-18140]
  • xds: Explicitly enable WebSocket connection upgrades in HTTP connection manager [GH-18150]

BUG FIXES:

  • Fix a bug that wrongly trims domains when there is an overlap with DC name. [GH-17160]
  • connect/ca: Fixes a bug preventing CA configuration updates in secondary datacenters [GH-17846]
  • connect: Fix incorrect protocol config merging for transparent proxy implicit upstreams. [GH-17894]
  • connect: fix a bug with Envoy potentially starting with incomplete configuration by not waiting enough for initial xDS configuration. [GH-18024]
  • snapshot: fix access denied and handle is invalid when we call snapshot save on windows - skip sync() for folders in windows in https://github.com/rboyer/safeio/pull/3 [GH-18302]

v1.16.0

10 months ago

1.16.0 (June 26, 2023)

BREAKING CHANGES:

  • api: The /v1/health/connect/ and /v1/health/ingress/ endpoints now immediately return 403 "Permission Denied" errors whenever a token with insufficient service:read permissions is provided. Prior to this change, the endpoints returned a success code with an empty result list when a token with insufficient permissions was provided. [GH-17424]
  • peering: Removed deprecated backward-compatibility behavior. Upstream overrides in service-defaults will now only apply to peer upstreams when the peer field is provided. Visit the 1.16.x upgrade instructions for more information. [GH-16957]

SECURITY:

  • Bump Dockerfile base image to alpine:3.18. [GH-17719]
  • audit-logging: (Enterprise only) limit v1/operator/audit-hash endpoint to ACL token with operator:read privileges.

FEATURES:

  • api: (Enterprise only) Add POST /v1/operator/audit-hash endpoint to calculate the hash of the data used by the audit log hash function and salt.
  • cli: (Enterprise only) Add a new consul operator audit hash command to retrieve and compare the hash of the data used by the audit log hash function and salt.
  • cli: Adds new command - consul services export - for exporting a service to a peer or partition [GH-15654]
  • connect: (Consul Enterprise only) Implement order-by-locality failover.
  • mesh: Add new permissive mTLS mode that allows sidecar proxies to forward incoming traffic unmodified to the application. This adds AllowEnablingPermissiveMutualTLS setting to the mesh config entry and the MutualTLSMode setting to proxy-defaults and service-defaults. [GH-17035]
  • mesh: Support configuring JWT authentication in Envoy. [GH-17452]
  • server: (Enterprise Only) added server side RPC requests IP based read/write rate-limiter. [GH-4633]
  • server: (Enterprise Only) allow automatic license utilization reporting. [GH-5102]
  • server: added server side RPC requests global read/write rate-limiter. [GH-16292]
  • xds: Add property-override built-in Envoy extension that directly patches Envoy resources. [GH-17487]
  • xds: Add a built-in Envoy extension that inserts External Authorization (ext_authz) network and HTTP filters. [GH-17495]
  • xds: Add a built-in Envoy extension that inserts Wasm HTTP filters. [GH-16877]
  • xds: Add a built-in Envoy extension that inserts Wasm network filters. [GH-17505]

IMPROVEMENTS:

  • api: Support filtering for config entries. [GH-17183]
  • cli: Add -filter option to consul config list for filtering config entries. [GH-17183]
  • agent: remove agent cache dependency from service mesh leaf certificate management [GH-17075]
  • api: Enable setting query options on agent force-leave endpoint. [GH-15987]
  • audit-logging: (Enterprise only) enable error response and request body logging
  • ca: automatically set up Vault's auto-tidy setting for tidy_expired_issuers when using Vault as a CA provider. [GH-17138]
  • ca: support Vault agent auto-auth config for Vault CA provider using AliCloud authentication. [GH-16224]
  • ca: support Vault agent auto-auth config for Vault CA provider using AppRole authentication. [GH-16259]
  • ca: support Vault agent auto-auth config for Vault CA provider using Azure MSI authentication. [GH-16298]
  • ca: support Vault agent auto-auth config for Vault CA provider using JWT authentication. [GH-16266]
  • ca: support Vault agent auto-auth config for Vault CA provider using Kubernetes authentication. [GH-16262]
  • command: Adds ACL enabled to status output on agent startup. [GH-17086]
  • command: Allow creating ACL Token TTL with greater than 24 hours with the -expires-ttl flag. [GH-17066]
  • connect: (Enterprise Only) Add support for specifying "Partition" and "Namespace" in Prepared Queries failover rules.
  • connect: update supported envoy versions to 1.23.10, 1.24.8, 1.25.7, 1.26.2 [GH-17546]
  • connect: update supported envoy versions to 1.23.8, 1.24.6, 1.25.4, 1.26.0 [GH-5200]
  • fix metric names in /docs/agent/telemetry [GH-17577]
  • gateway: Change status condition reason for invalid certificate on a listener from "Accepted" to "ResolvedRefs". [GH-17115]
  • http: accept query parameters datacenter, ap (enterprise-only), and namespace (enterprise-only). Both short-hand and long-hand forms of these query params are now supported via the HTTP API (dc/datacenter, ap/partition, ns/namespace). [GH-17525]
  • systemd: set service type to notify. [GH-16845]
  • ui: Update alerts to Hds::Alert component [GH-16412]
  • ui: Update to use Hds::Toast component to show notifications [GH-16519]
  • ui: update from
  • ui: update typography to styles from hds [GH-16577]

BUG FIXES:

  • Fix a race condition where an event is published before the data associated is commited to memdb. [GH-16871]
  • connect: Fix issue where changes to service exports were not reflected in proxies. [GH-17775]
  • gateways: (Enterprise only) Fixed a bug in API gateways where gateway configuration objects in non-default partitions did not reconcile properly. [GH-17581]
  • gateways: Fixed a bug in API gateways where binding a route that only targets a service imported from a peer results in the programmed gateway having no routes. [GH-17609]
  • gateways: Fixed a bug where API gateways were not being taken into account in determining xDS rate limits. [GH-17631]
  • namespaces: (Enterprise only) fixes a bug where agent health checks stop syncing for all services on a node if the namespace of any service has been removed from the server.
  • namespaces: (Enterprise only) fixes a bug where namespaces are stuck in a deferred deletion state indefinitely under some conditions. Also fixes the Consul query metadata present in the HTTP headers of the namespace read and list endpoints.
  • peering: Fix a bug that caused server agents to continue cleaning up peering resources even after loss of leadership. [GH-17483]
  • peering: Fixes a bug where the importing partition was not added to peered failover targets, which causes issues when the importing partition is a non-default partition. [GH-16673]
  • ui: fixes ui tests run on CI [GH-16428]
  • xds: Fixed a bug where modifying ACLs on a token being actively used for an xDS connection caused all xDS updates to fail. [GH-17566]