Releases: hashicorp/consul
v1.16.6
1.16.6 (February 13, 2024)
SECURITY:
- mesh: Update Envoy version to 1.26.7 to address CVE-2024-23324, CVE-2024-23325, CVE-2024-23322, CVE-2024-23323, CVE-2024-23327, and CVE-2023-44487 [GH-20586]
IMPROVEMENTS:
- ProxyCfg: avoid setting a watch on
Internal.ServiceDump
when mesh gateway is not used. [GH-20168] - ProxyCfg: only return the nodes list when querying the
Internal.ServiceDump
watch from proxycfg [GH-20168] - Upgrade to use Go 1.21.7. [GH-20545]
BUG FIXES:
- audit-logs: (Enterprise Only) Fixes non ASCII characters in audit logs because of gzip. [GH-20345]
- connect: Fix issue where re-persisting existing proxy-defaults using
http
protocol fails with a protocol-mismatch error. [GH-20481] - connect: Fix regression with SAN matching on terminating gateways GH-20360 [GH-20417]
- connect: Remove code coupling where the xDS capacity controller could negatively affect raft autopilot performance. [GH-20511]
- mesh: Fix bug where envoy extensions could not be configured with "permissive" mTLS mode. Note that envoy extensions currently do not apply to non-mTLS traffic in permissive mode. [GH-20406]
v1.15.10
1.15.10 (February 13, 2024)
SECURITY:
- mesh: Update Envoy versions to 1.28.1, 1.27.3, and 1.26.7 to address CVE-2024-23324, CVE-2024-23325, CVE-2024-23322, CVE-2024-23323, CVE-2024-23327, and CVE-2023-44487 [GH-20590]
IMPROVEMENTS:
- ProxyCfg: avoid setting a watch on
Internal.ServiceDump
when mesh gateway is not used. [GH-20168] - ProxyCfg: only return the nodes list when querying the
Internal.ServiceDump
watch from proxycfg [GH-20168] - Upgrade to use Go 1.21.7. [GH-20545]
- mesh: update supported envoy version 1.28.0 in addition to 1.27.2, 1.26.6 to support LTS release [GH-20323]
BUG FIXES:
- audit-logs: (Enterprise Only) Fixes non ASCII characters in audit logs because of gzip. [GH-20345]
- connect: Fix issue where re-persisting existing proxy-defaults using
http
protocol fails with a protocol-mismatch error. [GH-20481] - connect: Remove code coupling where the xDS capacity controller could negatively affect raft autopilot performance. [GH-20511]
v1.18.0-rc1
1.18.0-rc1 (February 6, 2024)
BREAKING CHANGES:
- config-entries: Allow disabling request and idle timeouts with negative values in service router and service resolver config entries. [GH-19992]
- telemetry: Adds fix to always use the value of
telemetry.disable_hostname
when determining whether to prefix gauge-type metrics with the hostname of the Consul agent. Previously, if only the default metric sink was enabled, this configuration was ignored and always treated astrue
, even though its default value isfalse
. [GH-20312]
SECURITY:
- Update
golang.org/x/crypto
to v0.17.0 to address CVE-2023-48795. [GH-20023] - connect: update supported envoy versions to 1.24.12, 1.25.11, 1.26.6, 1.27.2 to address CVE-2023-44487 [GH-19306]
- mesh: update supported envoy version 1.28.0 in addition to 1.25.11, 1.26.6, 1.27.2, 1.28.0 to address CVE-2023-44487 [GH-19879]
FEATURES:
- acl: add policy bindtype to binding rules. [GH-19499]
- agent: add fault injection filter support [GH-7513]
- cloud: Adds new API/CLI to initiate and manage linking a Consul cluster to HCP Consul Central [GH-20312]
- ui: Added a banner to let users link their clusters to HCP [GH-20275]
- ui: Adds a redirect and warning message around unavailable UI with V2 enabled [GH-20359]
- ui: adds V2CatalogEnabled to config that is passed to the ui [GH-20353]
- v2: prevent use of the v2 experiments in secondary datacenters for now [GH-20299]
IMPROVEMENTS:
- ProxyCfg: avoid setting a watch on
Internal.ServiceDump
when mesh gateway is not used. [GH-20168] - ProxyCfg: only return the nodes list when querying the
Internal.ServiceDump
watch from proxycfg [GH-20168] - api: add a new api(/v1/exported-services) to list all the exported service and their consumers. [GH-20015]
- cloud: unconditionally add Access-Control-Expose-Headers HTTP header [GH-20220]
- connect: Add
CaseInsensitive
flag to service-routers that allows paths and path prefixes to ignore URL upper and lower casing. [GH-19647] - connect: Replace usage of deprecated Envoy field
envoy.config.core.v3.HeaderValueOption.append
. [GH-20078] - connect: Replace usage of deprecated Envoy fields
envoy.config.route.v3.HeaderMatcher.safe_regex_match
andenvoy.type.matcher.v3.RegexMatcher.google_re2
. [GH-20013] - resource: lowercase names enforced for v2 resources only. [GH-19218]
BUG FIXES:
- connect: Fix regression with SAN matching on terminating gateways GH-20360 [GH-20417]
- logging: add /api prefix to v2 resource endpoint logs [GH-20352]
- mesh: Fix bug where envoy extensions could not be configured with "permissive" mTLS mode. Note that envoy extensions currently do not apply to non-mTLS traffic in permissive mode. [GH-20406]
- raft: Fix panic during downgrade from enterprise to oss. [GH-19311]
v1.17.2
1.17.2 (January 23, 2024)
KNOWN ISSUES:
- connect: Consul versions 1.17.2 and 1.16.5 perform excessively strict TLS SAN verification on terminating gateways, which prevents connections outside of the mesh to upstream services. Terminating gateway users are advised to avoid deploying these Consul versions. A fix will be present in a future release of Consul 1.17.3 and 1.16.6. [GH-20360]
SECURITY:
- Upgrade OpenShift container images to use
ubi9-minimal:9.3
as the base image. [GH-20014]
IMPROVEMENTS:
- connect: Remove usage of deprecated Envoy field
match_subject_alt_names
in favor ofmatch_typed_subject_alt_names
. [GH-19954] - connect: replace usage of deprecated Envoy field
envoy.config.router.v3.WeightedCluster.total_weight
. [GH-20011] - xds: Replace usage of deprecated Envoy field
envoy.config.cluster.v3.Cluster.http_protocol_options
[GH-20010] - xds: remove usages of deprecated Envoy fields:
envoy.config.cluster.v3.Cluster.http2_protocol_options
,envoy.config.bootstrap.v3.Admin.access_log_path
[GH-19940] - xds: replace usage of deprecated Envoy field
envoy.extensions.filters.http.lua.v3.Lua.inline_code
[GH-20012]
DEPRECATIONS:
- cli: Deprecate the
-admin-access-log-path
flag fromconsul connect envoy
command in favor of:-admin-access-log-config
. [GH-19943]
BUG FIXES:
- prepared-query: (Enterprise-only) Fix issue where sameness-group failover targets to peers would attempt to query data from the default partition, rather than the sameness-group's partition always.
- ui: update token list on Role details page to show only linked tokens [GH-19912]
v1.15.9
1.15.9 (January 23, 2024)
SECURITY:
- Update RSA key generation to use a key size of at least 2048 bits. [GH-20112]
- Upgrade OpenShift container images to use
ubi9-minimal:9.3
as the base image. [GH-20014]
IMPROVEMENTS:
- Upgrade to use Go 1.21.6. [GH-20062]
BUG FIXES:
- ui: update token list on Role details page to show only linked tokens [GH-19912]
v1.16.5
1.16.5 (January 23, 2024)
KNOWN ISSUES:
- connect: Consul versions 1.17.2 and 1.16.5 perform excessively strict TLS SAN verification on terminating gateways, which prevents connections outside of the mesh to upstream services. Terminating gateway users are advised to avoid deploying these Consul versions. A fix will be present in a future release of Consul 1.17.3 and 1.16.6. [GH-20360]
SECURITY:
- Update RSA key generation to use a key size of at least 2048 bits. [GH-20112]
- Upgrade OpenShift container images to use
ubi9-minimal:9.3
as the base image. [GH-20014]
IMPROVEMENTS:
- Upgrade to use Go 1.21.6. [GH-20062]
- connect: Remove usage of deprecated Envoy field
match_subject_alt_names
in favor ofmatch_typed_subject_alt_names
. [GH-19954] - connect: replace usage of deprecated Envoy field
envoy.config.router.v3.WeightedCluster.total_weight
. [GH-20011] - xds: Replace usage of deprecated Envoy field
envoy.config.cluster.v3.Cluster.http_protocol_options
[GH-20010] - xds: remove usages of deprecated Envoy fields:
envoy.config.cluster.v3.Cluster.http2_protocol_options
,envoy.config.bootstrap.v3.Admin.access_log_path
[GH-19940] - xds: replace usage of deprecated Envoy field
envoy.extensions.filters.http.lua.v3.Lua.inline_code
[GH-20012]
BUG FIXES:
- prepared-query: (Enterprise-only) Fix issue where sameness-group failover targets to peers would attempt to query data from the default partition, rather than the sameness-group's partition always.
- ui: update token list on Role details page to show only linked tokens [GH-19912]
v1.17.1
1.17.1 (December 12, 2023)
SECURITY:
- Update
github.com/golang-jwt/jwt/v4
to v4.5.0 to address PRISMA-2022-0270. [GH-19705] - Upgrade to use Go 1.20.12. This resolves CVEs
CVE-2023-45283: (path/filepath
) recognize ??\ as a Root Local Device path prefix (Windows)
CVE-2023-45284: recognize device names with trailing spaces and superscripts (Windows)
CVE-2023-39326: (net/http
) limit chunked data overhead
CVE-2023-45285: (cmd/go
) go get may unexpectedly fallback to insecure git [GH-19840] - connect: update supported envoy versions to 1.24.12, 1.25.11, 1.26.6, 1.27.2 to address CVE-2023-44487 [GH-19274]
FEATURES:
- acl: Adds nomad client templated policy [GH-19827]
- cli: Adds new subcommand
peering exported-services
to list services exported to a peer . Refer to the CLI docs for more information. [GH-19821]
IMPROVEMENTS:
- mesh: parse the proxy-defaults protocol when write the config-entry to avoid parsing it when compiling the discovery chain. [GH-19829]
- wan-federation: use a hash to diff config entries when replicating in the secondary DC to avoid unnecessary writes.. [GH-19795]
- Replaces UI Side Nav with Helios Design System Side Nav. Adds dc/partition/namespace searching in Side Nav. [GH-19342]
- acl: add api-gateway templated policy [GH-19728]
- acl: add templated policy descriptions [GH-19735]
- api: Add support for listing ACL tokens by service name when using templated policies. [GH-19666]
- cli: stop simultaneous usage of -templated-policy and -templated-policy-file when creating a role or token. [GH-19389]
- cloud: push additional server TLS metadata to HCP [GH-19682]
- connect: Default
stats_flush_interval
to 60 seconds when using the Consul Telemetry Collector, unless custom stats sink are present or an explicit flush interval is configured. [GH-19663] - metrics: increment consul.client.rpc.failed if RPC fails because no servers are accessible [GH-19721]
- metrics: modify consul.client.rpc metric to exclude internal retries for consistency with consul.client.rpc.exceeded and consul.client.rpc.failed [GH-19721]
- ui: move nspace and partitions requests into their selector menus [GH-19594]
BUG FIXES:
- CLI: fix a panic when deleting a non existing policy by name. [GH-19679]
- Mesh Gateways: Fix a bug where replicated and peered mesh gateways with hostname-based WAN addresses fail to initialize. [GH-19268]
- 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]
- connect: Solves an issue where two upstream services with the same name in different namespaces were not getting routed to correctly by API Gateways. [GH-19860]
- federation: (Enterprise Only) Fixed an issue where namespace reconciliation could result into the secondary having dangling instances of namespaces marked for deletion
- ui: clear peer on home logo link [GH-19549]
- ui: fix being able to view peered services from non-default namespaces [GH-19586]
- ui: stop manually reconciling services if peering is enabled [GH-19907]
- wan-federation: Fix a bug where servers wan-federated through mesh-gateways could crash due to overlapping LAN IP addresses. [GH-19503]
- xds: Add configurable
xds_fetch_timeout_ms
option to proxy registrations that allows users to prevent endpoints from dropping when they have proxies with a large number of upstreams. [GH-19871] - xds: ensure child resources are re-sent to Envoy when the parent is updated even if the child already has pending updates. [GH-19866]
v1.16.4
1.16.4 (December 12, 2023)
SECURITY:
- Update
github.com/golang-jwt/jwt/v4
to v4.5.0 to address PRISMA-2022-0270. [GH-19705] - Upgrade to use Go 1.20.12. This resolves CVEs
CVE-2023-45283: (path/filepath
) recognize ??\ as a Root Local Device path prefix (Windows)
CVE-2023-45284: recognize device names with trailing spaces and superscripts (Windows)
CVE-2023-39326: (net/http
) limit chunked data overhead
CVE-2023-45285: (cmd/go
) go get may unexpectedly fallback to insecure git [GH-19840]
IMPROVEMENTS:
- mesh: parse the proxy-defaults protocol when write the config-entry to avoid parsing it when compiling the discovery chain. [GH-19829]
- wan-federation: use a hash to diff config entries when replicating in the secondary DC to avoid unnecessary writes.. [GH-19795]
- cli: Adds cli support for checking TCP connection for ports. If -ports flag is not given, it will check for
default ports of consul listed here - https://developer.hashicorp.com/consul/docs/install/ports [GH-18329] - cloud: push additional server TLS metadata to HCP [GH-19682]
- connect: Default
stats_flush_interval
to 60 seconds when using the Consul Telemetry Collector, unless custom stats sink are present or an explicit flush interval is configured. [GH-19663] - metrics: increment consul.client.rpc.failed if RPC fails because no servers are accessible [GH-19721]
- metrics: modify consul.client.rpc metric to exclude internal retries for consistency with consul.client.rpc.exceeded and consul.client.rpc.failed [GH-19721]
BUG FIXES:
- CLI: fix a panic when deleting a non existing policy by name. [GH-19679]
- connect: Solves an issue where two upstream services with the same name in different namespaces were not getting routed to correctly by API Gateways. [GH-19860]
- federation: (Enterprise Only) Fixed an issue where namespace reconciliation could result into the secondary having dangling instances of namespaces marked for deletion
- ui: only show hcp link if url is present [GH-19443]
- wan-federation: Fix a bug where servers wan-federated through mesh-gateways could crash due to overlapping LAN IP addresses. [GH-19503]
- xds: Add configurable
xds_fetch_timeout_ms
option to proxy registrations that allows users to prevent endpoints from dropping when they have proxies with a large number of upstreams. [GH-19871] - xds: ensure child resources are re-sent to Envoy when the parent is updated even if the child already has pending updates. [GH-19866]
v1.15.8
1.15.8 (December 12, 2023)
SECURITY:
- Update
github.com/golang-jwt/jwt/v4
to v4.5.0 to address PRISMA-2022-0270. [GH-19705] - Upgrade to use Go 1.20.12. This resolves CVEs
CVE-2023-45283: (path/filepath
) recognize ??\ as a Root Local Device path prefix (Windows)
CVE-2023-45284: recognize device names with trailing spaces and superscripts (Windows)
CVE-2023-39326: (net/http
) limit chunked data overhead
CVE-2023-45285: (cmd/go
) go get may unexpectedly fallback to insecure git [GH-19840]
IMPROVEMENTS:
- mesh: parse the proxy-defaults protocol when write the config-entry to avoid parsing it when compiling the discovery chain. [GH-19829]
- wan-federation: use a hash to diff config entries when replicating in the secondary DC to avoid unnecessary writes.. [GH-19795]
- cli: Adds cli support for checking TCP connection for ports. If -ports flag is not given, it will check for
default ports of consul listed here - https://developer.hashicorp.com/consul/docs/install/ports [GH-18329] - connect: Default
stats_flush_interval
to 60 seconds when using the Consul Telemetry Collector, unless custom stats sink are present or an explicit flush interval is configured. [GH-19663] - metrics: increment consul.client.rpc.failed if RPC fails because no servers are accessible [GH-19721]
- metrics: modify consul.client.rpc metric to exclude internal retries for consistency with consul.client.rpc.exceeded and consul.client.rpc.failed [GH-19721]
BUG FIXES:
- CLI: fix a panic when deleting a non existing policy by name. [GH-19679]
- connect: Solves an issue where two upstream services with the same name in different namespaces were not getting routed to correctly by API Gateways. [GH-19860]
- federation: (Enterprise Only) Fixed an issue where namespace reconciliation could result into the secondary having dangling instances of namespaces marked for deletion
- ui: only show back-to-hcp link when url is present [GH-19444]
- wan-federation: Fix a bug where servers wan-federated through mesh-gateways could crash due to overlapping LAN IP addresses. [GH-19503]
- xds: Add configurable
xds_fetch_timeout_ms
option to proxy registrations that allows users to prevent endpoints from dropping when they have proxies with a large number of upstreams. [GH-19871] - xds: ensure child resources are re-sent to Envoy when the parent is updated even if the child already has pending updates. [GH-19866]
v1.17.0
1.17.0 (October 31, 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]
DEPRECATIONS:
- cli: Deprecate the
-admin-access-log-path
flag fromconsul connect envoy
command in favor of:-admin-access-log-config
. [GH-15946]
SECURITY:
- Update
golang.org/x/net
to v0.17.0 to address CVE-2023-39325
/ CVE-2023-44487(x/net/http2
). [GH-19225] - Upgrade Go to 1.20.10.
This resolves vulnerability CVE-2023-39325
/ CVE-2023-44487(net/http
). [GH-19225] - Upgrade
google.golang.org/grpc
to 1.56.3.
This resolves vulnerability CVE-2023-44487. [GH-19414] - connect: update supported envoy versions to 1.24.12, 1.25.11, 1.26.6, 1.27.2 to address CVE-2023-44487 [GH-19275]
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.
Significant Pull Requests
- [Catalog resource controllers]
- [Mesh resource controllers]
- [Auth resource controllers]
- [V2 Protobufs]
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]
- acl: Adds workload identity templated policy [GH-19077]
- 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 toconsul 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:
- raft: upgrade raft-wal library version to 0.4.1. [GH-19314]
- 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 toServiceRegisterOpts
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 theverify_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]
- 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: (Enterprise only) Fix bug where incorrect service-defaults entries were fetched to determine an upstream's protocol whenever the upstream did not explicitly define the namespace / partition. When this bug occurs, upstreams would use the protocol from a service-default entry in the default namespace / partition, rather than their own namespace / partition.
- 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
andperformance.grpc_keepalive_interval
now exist to allow for configuration on how often these dead connections will be cleaned up. [GH-19339] - dev-mode: Fix dev mode has new line in responses. Now new line is added only when url has pretty query parameter. [GH-18367]
- dns: (Enterprise only) Fix bug where sameness group queries did not correctly inherit the agent's partition.
- docs: fix list of telemetry metrics [GH-17593]
- gateways: Fix a bug where a service in a peered datacenter could not access an external node service through a terminating gateway [GH-18959]
- server: (Enterprise Only) Fixed an issue where snake case keys were rejected when configuring the control-plane-request-limit config entry
- 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](https://github.com/has...