---
layout: docs
page_title: 1.16.x
description: >-
  Consul release notes for version 1.16.x
---

# Consul 1.16.0

We are pleased to announce the following Consul updates. 

## Release highlights

- **Sameness groups (Enterprise):** Sameness groups are a user-defined set of partitions that Consul uses to identify services in different administrative partitions with the same name as being the same services. You can use sameness groups to create a blanket failover policy for deployments with cluster peering connections. Refer to the [Sameness groups overview](/consul/docs/multi-tenant/sameness-group/vm) for more information.

   <Note> Sameness groups is currently a beta feature in Consul Enterprise v1.16.0. </Note>

- **Permissive mTLS:** You can enable the `permissive` mTLS mode to enable sidecar proxies to accept both mTLS and non-mTLS traffic. Using this mode enables you to onboard services without downtime and without reconfiguring or redeploying your application. Refer to the [Onboard services while in transparent proxy mode](/consul/docs/register/service/k8s/transparent-proxy) for more information on how to use permissive mTLS to onboard services to Consul.

- **Transparent proxy enhancements for failover and virtual services:** We have made several internal improvements, such as ensuring that virtual IPs are always available, to reduce the friction associated with operating Consul in transparent proxy mode. Onboarding services, configuring failover redirects, and other operations require less administrative effort and ensure a smoother experience. Refer to the following documentation for additional information: 

    - [Onboard services while in transparent proxy mode](/consul/docs/register/service/k8s/transparent-proxy)
    - [Route traffic to virtual services](/consul/docs/manage-traffic/virtual-service)
    - [Configure failover services](/consul/docs/manage-traffic/failover/k8s).

- **Granular server-side rate limits (Enterprise):** You can now set limits per source IP address. The following steps describe the general process for setting global read and write rate limits:

    1. Set arbitrary limits to begin understanding the upper boundary of RPC and gRPC loads in your network. Refer to [Initialize rate limit settings](/consul/docs/manage/rate-limit/initialize) for additional information.
    1. Monitor the metrics and logs and readjust the initial configurations as necessary. Refer to [Monitor rate limit data](/consul/docs/manage/rate-limit/monitor)
    1. Define your final operational limits based on your observations. If you are defining global rate limits, refer to [Set global traffic rate limits](/consul/docs/manage/rate-limit/global) for additional information. For information about setting limits based on source IP, refer to [Limit traffic rates for a source IP](/consul/docs/manage/rate-limit/source).

- **Consul Envoy Extensions:** Consul Envoy extension system enables you to modify Consul-generated Envoy resources. Refer to [Envoy extension overview](/consul/docs/envoy-extension) for more information on how to use these extensions for Consul service mesh.

    - **Property Override:** The property override Envoy extension lets you set, remove, or modify individual properties for the Envoy resources Consul generates. Refer to the [Configure Envoy proxy properties](/consul/docs/envoy-extension/property-override) for more information on how to use this extension. 

    - **Wasm:** The Wasm Envoy extension lets you configure Wasm programs to be used as filters in the service's sidecar proxy. Refer to the [Run WebAssembly plug-ins in Envoy proxy](/consul/docs/envoy-extension/wasm) for more information on how to use this extension. 

    - **External Authorization:** The external authorization Envoy extension lets you delegate data plane authorization requests to external systems. Refer to the [Delegate authorization to an external service](/consul/docs/envoy-extension/ext) for more information on how to use this extension. 

- **Simplified API Gateway installation for Consul on Kubernetes:** API Gateway is now built into Consul. This enables a simplified installation and configuration process for Consul on Kubernetes. Refer to the [API Gateway installation](/consul/docs/north-south/api-gateway/k8s/enable) for more information on the simplified native installation method. 

- **FIPS compliance (Enterprise):** HashiCorp now offers FIPS 140-2 compliant builds of Consul Enterprise that meet the security needs of federal agencies protecting sensitive, unclassified information with approved cryptographic measures. These builds use certified cryptographic modules and restrict configuration settings to comply with FIPS 140-2 Level 1 requirements, enabling compliant Consul deployments. Refer to the [Consul Enterprise FIPS](/consul/docs/deploy/server/fips) for more information on FIPS compliance.

- **JWT Authorization with service intentions:** Consul can now authorize connections based on claims present in JSON Web Token (JWT). You can configure Consul to use one or more JWT providers, which lets you control access to services and specific HTTP paths based on the validity of JWT claims embedded in the service traffic. This ensures a uniform and low latency mechanism to validate and authorize communication based on JWT claims across all services in a diverse service-oriented architecture. Refer to the [Use JWT authorization with service intentions](/consul/docs/secure-mesh/intention/jwt) for more information.

- **Automated license utilization reporting (Enterprise):** Consul Enterprise now provides automated license utilization reporting, which sends minimal product-license metering data to HashiCorp. You can use these reports to understand how much more you can deploy under your current contract, which can help you protect against overutilization and budget for predicted consumption. Refer to the [Automated license utilization reporting documentation](/consul/docs/enterprise/license/reporting) for more information. 

## What's deprecated

- **Ingress gateway:** Starting with this release, ingress gateway is deprecated and will not be enhanced beyond its current capabilities. Ingress gateway is fully supported in this version but may be removed in a future release of Consul. 

  Consul's API gateway is the recommended alternative to ingress gateway. For ingress gateway features not currently supported by API gateway, equivalent functionality will be added to API gateway over the next several releases of Consul.

- **Legacy API Gateway:** The Consul API Gateway that was previously packaged as `consul-api-gateway` and released separately from Consul K8s is now deprecated. This is referred to as the "legacy" API Gateway.

  This version of Consul supports v0.5.4 of the legacy API Gateway in order to simplify the process of migrating from legacy to native API gateways.

- **Connect Native Golang SDK:** The Connect Native [Golang SDK](https://github.com/hashicorp/consul/tree/main/connect) is deprecated and will be removed in a future release. No further enhancements or maintenance is expected in the future releases. We will remove the SDK when the long term replacement to native application integration (such as a proxyless gRPC service mesh integration) is delivered. Refer to [GH-10339](https://github.com/hashicorp/consul/issues/10339) for additional information and to track progress toward one potential solution that is tracked as replacement functionality.

- **Connect Native APIs:** The following APIs for Connect Native are deprecated: 
  - `v1/agent/connect/authorize` - used by the SDK to perform intention based authorization checks
  - `v1/agent/connect/ca/leaf` - used by the SDK to get a leaf cert for a locally registered service
  - `v1/agent/connect/ca/roots` - use to retrieved cached CA roots form the local client agent
  
  The `v1/agent/connect/authorize` and `v1/agent/connect/ca/leaf` endpoints have corresponding gRPC APIs. We will remove these APIs when the gRPC API for `v1/agent/connect/ca/roots` and HTTP endpoints for all three APIs are available. 

## Upgrading

For more detailed information, please refer to the [upgrade details page](/consul/docs/upgrade/version-specific) and the changelogs.

## Known Issues

The following issues are known to exist in the v1.16.x releases:

- v1.16.5 - Excessively strict TLS SAN verification is performed by 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.16.6 [[GH-20360](https://github.com/hashicorp/consul/issues/20360)].

- v1.16.0 - v1.16.1 may have issues when a snapshot restore is performed
    and the servers are hosting xDS streams. When this bug triggers, it
    will cause Envoy to incorrectly populate upstream endpoints. It is
    currently recommended for service mesh users running agent-less
    workloads to upgrade Consul to v1.16.2 and later.

## Changelogs

The changelogs for this major release version and any maintenance versions are listed below.

<Note> These links take you to the changelogs on the GitHub website. </Note>

- [1.16.0](https://github.com/hashicorp/consul/releases/tag/v1.16.0)
- [1.16.1](https://github.com/hashicorp/consul/releases/tag/v1.16.1)
- [1.16.2](https://github.com/hashicorp/consul/releases/tag/v1.16.2)
