Release Announcement TEG 1.7
Date: March 19, 2026
Please ensure you upgrade to version 1.7.0 by September 1, 2026.
New Feature Highlights
Tetrate Enterprise Gateway (TEG) 1.7.0 is a FIPS-verified distribution of Envoy Gateway 1.7.1 and includes new traffic management capabilities, enhanced security controls, richer observability, and infrastructure improvements, along with critical security patches and bug fixes.
This release combines the feature set from:
- Envoy Gateway 1.7.0
- Envoy Gateway 1.7.1 (security + stability patch)
We recommend that you update directly from TEG 1.6.x to 1.7.0 if you are not already on 1.7.0.
Traffic Handling
- WAF in MergedGateway Mode: Added support for ExtendedSecurityPolicy with merged gateways. ExtendedSecurityPolicy can now target a GatewayClass to apply to all Gateways of that class in mergedGateway deployment mode.
- Conditional Header Addition: Added
addIfAbsentheader action inClientTrafficPolicyEarlyRequestHeaders and LateResponseHeaders to add headers only when they don't already exist. - Cookie-Based Route Matching: Added cookie matching support to
HTTPRouteFiltermatches, combined withHTTPRouterule matches. - Compression Threshold: Configure minimum response size for compression via
minContentLengthfield inBackendTrafficPolicy. - Per-Backend URL Rewrite: Added support for
URLRewritefilter on individualbackendRefs. - Global Rate Limit Shadow Mode: Evaluate global rate limiting rules without enforcing them, enabling safe rollout of rate limit policies.
- Pattern-Based Header Removal: Remove headers based on matching criteria (Exact, Prefix, Suffix, RegularExpression) in
ClientTrafficPolicyEarlyRequestHeaders and LateResponseHeaders. - Backend Traffic Splitting: Added support for
weightinBackendRefAPI to enable traffic splitting for non-xRoute resources.
Security Controls
- Lua Runtime Restrictions: Restricted access to critical system resources via Lua
EnvoyExtensionPoliciesin the gateway controller. Safe defaults and resource limits are set for the Lua runtime, with an option to disable Lua entirely.
Security Updates in 1.7.1
- Envoy Proxy upgraded to v1.37.1 addressing several security issues and bug fixes. For more details, see the Envoy Proxy v1.37.1 release notes.
- Go runtime updated to
1.25.8with security fixes for the go command and thecrypto/tlspackage. - Envoy ratelimit image bumped to
c8765e89with security fixes for Go.
Observability
- Flexible Access Log Format: Specify both text (body) and attributes in access log format by making the
typefield optional. - OTLP Resource Attributes: Added support for resource attributes on OTLP metrics and tracing sinks via the
resourcesfield. - Enhanced Tracing Tags: Use Envoy string command operators such as
%ENVIRONMENT(...)%in tracing tags. - TLS Telemetry Backends: Added support for TLS-secured gRPC backends for telemetry data.
- Custom Span Names: Configure custom span names for distributed tracing.
- Custom OTLP Export Headers: Added support for custom headers on OTLP exports (metrics, tracing, access logs).
Management & Operations
- XListenerSet API (Experimental): Define listeners in a separate resource and attach them to a Gateway. Supports HTTPRoute (HTTP/HTTPS), GRPCRoute, TLSRoute, TCPRoute, and UDPRoute. Enabled via the
XListenerSetflag inEnvoyGatewayconfiguration. - Configurable Initial Fetch Timeout: Set default
initial_fetch_timeoutto 0s, with support for updating it in the bootstrap configuration. - Pod Priority Classes: Added
priorityClassNamesupport inKubernetesPodSpecfor Envoy Proxy pods. - Deprecated Field Warnings: Set warning status condition for deprecated fields in xPolicy CRDs.
- Scheme Header Transformation: Configure the
schemefield inClientTrafficPolicyto match backend transport protocol, allowing gateways with HTTP listeners to proxy to HTTPS services without protocol errors.
Performance Improvements
- Deterministic IR Comparison: Converted IR map fields to slices to ensure deterministic
DeepEqual. - Reduced Memory Usage: Included only needed keys in Secret and ConfigMap data to reduce memory footprint.
Deprecations
- OpenTelemetry access log
resourcesfield is deprecated; useresourceAttributesinstead.
Other Notable Changes
- Added
schemefield toClientTrafficPolicyenabling scheme header transformation to match backend transport protocol
Bug Fixes (Major Highlights)
- Fixed ratelimit ConfigMap and HPA not being cleaned up when the parent envoy-gateway Deployment was deleted
- Fixed SecurityPolicy route-target status including unmanaged Gateway parents when HTTPRoute had mixed parentRefs
- Fixed API key authentication dropping non-first client IDs when credential Secrets contain multiple keys
- Fixed XListenerSet not allowing xRoutes from the same namespace when configured to allow them
- Fixed local object reference resolution from parent policy in merged BackendTrafficPolicies
- Fixed computeHosts not working when both listener and route had wildcard hostnames
- Fixed endpoint hostname not being respected during active health checks
- Fixed route and policy status aggregation across multiple GatewayClasses, so resources preserve status from all relevant parents and ancestors
- Fixed ConnectionLimit not using the Envoy default value when Value was absent
- Fixed TCPRoute not correctly handling mTLS settings
- Fixed controller pods reporting as ready before successful cache sync
- Fixed wrong cluster type selection when an HTTPRoute mixes Service backends with Backend (FQDN) references
- Fixed route match rule order when merging with empty path match
- Fixed HTTP/3 listeners not handling multiple hostnames
- Fixed 500 errors caused by partially invalid BackendRefs; traffic is now correctly routed between valid backends
- Fixed configured OIDC authorization endpoint being overridden by discovered endpoints from issuer's well-known URL
Summary
TEG 1.7.0 delivers flexible traffic management, stronger security defaults, richer observability, and improved operational tooling—making it a compelling upgrade for enterprises running mission-critical API and AI workloads.
Key Benefits:
- Enhanced traffic control with conditional headers, cookie matching, per-backend rewrites, and rate limit shadow mode
- Stronger security posture with Lua runtime restrictions, CVE-patched Envoy v1.37.1, and Go 1.25.8
- Richer observability with flexible access log formats, OTLP resource attributes, and custom tracing spans
- Better infrastructure management with XListenerSet, pod priority classes, and scheme header transformation
- Improved reliability with 15+ bug fixes across routing, mTLS, health checks, and status aggregation
Upgrade to TEG 1.7.0 to take full advantage of these improvements.
Upgrade Guidance
Be aware of the following breaking changes when upgrading from 1.6 → 1.7.
Breaking Changes
- HTTP Filter Ordering Changed:
- Default HTTP filter ordering now places
envoy.filters.http.custom_responsefirst, which can change the behavior of local replies and header processing.
- Default HTTP filter ordering now places
- Prometheus Metrics
stats_tagsChanged:- Default
stats_tagsvalues have been updated. Affected metrics:envoy_cluster_*_rq_time_count,envoy_cluster_*_total_match_count,envoy_cluster_circuit_breakers_*_cx_open.
- Default
- Accept-Encoding Header Removed:
- Removed from requests to backends when compression is enabled to avoid double compression.
- RequestMirror + DirectResponse/RequestRedirect:
- HTTPRoute
Acceptedstatus is set toFalsewhenRequestMirrorfilter is used together withDirectResponseorRequestRedirectfilters.
- HTTPRoute
- Host-Rewrite With Dynamic Resolver Backend:
- When an HTTPRoute rule is configured with host-rewrite filters and routes to a Dynamic Resolver backend, the rewritten Host header is used for both DNS resolution and as the Host header in upstream requests.
- Invalid Filters Return 500:
- Direct responses for HTTPRoute and GRPCRoute with invalid filters now return 500.
- OAuth2 Filter Metrics Stat Prefix:
- The SecurityPolicy name has been added to the stat prefix for OAuth2 filter metrics.
Manual Migration Steps from 1.6 → 1.7.0
1. Update Gateway-API and Envoy Gateway CRDs
helm pull oci://docker.io/tetrate/teg-envoy-gateway-helm --version v1.7.0 --untar
kubectl apply --force-conflicts --server-side \
-f ./teg-envoy-gateway-helm/charts/gateway-helm/crds/gatewayapi-crds.yaml
kubectl apply --force-conflicts --server-side \
-f ./teg-envoy-gateway-helm/charts/gateway-helm/crds/generated
2. Upgrade Tetrate Enterprise Gateway
helm upgrade teg \
oci://docker.io/tetrate/teg-envoy-gateway-helm \
--version v1.7.0 \
-n envoy-gateway-system
3. Post-Upgrade Validation
- Review HTTP filter ordering changes and test local reply / header processing behavior
- Verify Prometheus metrics dashboards for updated
stats_tagsvalues - Test compression behavior if relying on
Accept-Encodingheader passthrough - Validate HTTPRoutes using
RequestMirrorcombined withDirectResponseorRequestRedirect - Check OIDC/OAuth2 monitoring for updated stat prefix in metrics