github kubernetes-sigs/aws-load-balancer-controller v3.5.0

2 hours ago

Documentation

Thanks to all our contributors!๐Ÿ’œ๐Ÿ’œ๐Ÿ’œ

โš ๏ธ Action Required

Gateway API CRD Updates (All Gateway API users)

Who: All users running Gateway API resources (Gateway, HTTPRoute, GRPCRoute, TCPRoute, UDPRoute) with the AWS Load Balancer Controller.

Why: This release requires Gateway API CRDs v1.6.0. The controller is built against this version for conformance and feature support

Important: Update CRDs before upgrading the controller. If you upgrade the controller first, NLB Gateway (TCPRoute/UDPRoute/TLSRoute) will be automatically disabled until the CRDs are updated. Since the standard install no longer serves v1alpha2, you must update any existing v1alpha2 route manifests to gateway.networking.k8s.io/v1

Action: Apply v1.6 Gateway CRDs

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.6.0/standard-install.yaml

LBC Gateway CRD Updates (All Gateway API users)

Who: All users running Gateway API resources (Gateway, HTTPRoute, GRPCRoute, TCPRoute, UDPRoute) with the AWS Load Balancer Controller.

Why: This release adds v1 as the storage version for LBC-specific Gateway CRDs (LoadBalancerConfiguration, TargetGroupConfiguration, ListenerRuleConfiguration), with v1beta1 marked as deprecated. The controller reads v1 only, but existing v1beta1 resources are transparently converted to v1 by the API server โ€” no immediate manifest changes required. However, v1beta1 will stop being served in a future release. We recommend updating your manifests to use gateway.k8s.aws/v1 at your earliest convenience.

Action: Apply the updated LBC Gateway CRDs:

kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/refs/heads/main/config/crd/gateway/gateway-crds.yaml

๐Ÿš€What's New

Gateway API v1 Graduation

This release graduates Gateway API support to v1 for L4 routes. TCPRoute and UDPRoute now use the stable gateway.networking.k8s.io/v1 API version (previously v1alpha2), and the controller passes Gateway API conformance v1.6.0. The AWS-vended Gateway API CRDs have been upgraded to v1 accordingly.

๐Ÿ”งEnhancements and Fixes

Certificate Management

  • Fix ACM certificate creation for Ingresses with wildcard hosts โ€” the character in hostname was breaking ACM tag validation Certificate list support for ECDSA/RSA use
  • Add certificate management controller flag to helm chart

Route Precedence

  • Unified cross-kind route precedence for HTTPRoute/GRPCRoute, single code path eliminates non-transitivity
  • Fix non-transitive rule precedence for routes without hostnames

Networking

  • Filter EndpointSlices by IP family for target group registration
  • Match hosted zones by longest suffix in GetHostedZoneID
  • Fix: ICMP Type/Code constants
  • Fix: render feature gates as parseable key-value pairs

Module & Build

  • Module path updated to sigs.k8s.io/aws-load-balancer-controller/v3. Users who are importing the code base will need to adjust their imports accordingly.

Helm

  • Correct enableEndpointSlices default in Helm values comment

๐Ÿ“– Documentation Updates

  • Add guidance on migrating between services without downtime
  • Clarify scheme change replacement behavior
  • Fix Markdown formatting of blue/green guide
  • Fix stale contributor setup and invalid IAM role ARN examples
  • Fix doc annotation name
  • Fix admonition indentation for ipam-ipv4-pool-id annotation
  • Clarify WAF addon ownership and document IngressGroup security risks
  • Remove CloudFormation link

What's Changed

New Contributors

Full Changelog: v3.4.2...v3.5.0

Don't miss a new aws-load-balancer-controller release

NewReleases is sending notifications on new releases.