github nginx/nginx-gateway-fabric v2.7.0

one hour ago

Below is the auto-generated changelog, which includes all PRs that went into the release.
For a shorter version that highlights only important changes, see CHANGELOG.md.

What's Changed

๐Ÿš€ Features

38 changes
  • Add support for External Authentication for HTTPRoutes by @salonichf5 in #5145
  • Add support for disabling xforwarded base headers by @bjee19 in #5288
  • Support mode Terminate for protocol TLS by @sjberman in #5287
  • feat: add HTTP response compression support to NginxProxy (#4570) by @oyiz-michael in #5064
  • NGINX Plus: Add support for error_log in json format and structure access log in json format by @salonichf5 in #5302
  • Add support for upstream HTTP/2 by @bjee19 in #5308
  • Stop using deprecated externalIPs service field by @dhurley in #5294
  • Add server TLS domain configurable for certs and controller by @salonichf5 in #5380
  • Support PLM as F5 WAF Policy Source by @ciarams87 in #5405
  • Add pod disruption budget for control plane and data plane by @salonichf5 in #5370
  • make least_time LB available in OSS and update default LB methods by @yogarajalakshmi-s in #5381
  • Refactor port conflict resolver to reduce its cyclomatic complexity by @somaz94 in #5438
  • Refactor TLS certificate reference resolver by @somaz94 in #5439
  • Refactor deprovisionSecretsForAllGateways to reduce cyclomatic complexity by @somaz94 in #5440
  • Add Claim validation to JWT type AuthenticationFilters by @shaun-nx in #5387
  • Refactor addBackendRefsToRules to remove gocyclo nolint by @somaz94 in #5441
  • Refactor registerResourceInGatewayConfig to remove nolint:gocyclo by @somaz94 in #5453
  • Refactor getResourceVersionForObject to remove nolint:gocyclo by @somaz94 in #5454
  • Refactor bindL7RouteToListeners to remove nolint:gocyclo by @somaz94 in #5455
  • Refactor createHTTPFilters to remove gocyclo nolint by @somaz94 in #5480
  • Refactor gatewayExistsForResource to reduce cyclomatic complexity by @somaz94 in #5461
  • Refactor provisionNginx to remove nolint:gocyclo by @somaz94 in #5452
  • Provisional design for Gateway Link by @salonichf5 in #5489
  • Simplify registerSecretInGatewayConfig to reduce cyclomatic complexity by @somaz94 in #5491
  • Add claim validation to OIDC Auth by @shaun-nx in #5484
  • feat: add configurable workerProcesses to NginxProxy API by @SidharathBansal in #5519
  • Add Programmed status condition to ClientSettingsPolicy, UpstreamSettingsPolicy, ObservabilityPolicy, ProxySettingsPolicy, RateLimitPolicy, and SnippetsPolicy by @somaz94 in #5392
  • Design document for GatewayLink by @salonichf5 in #5497
  • feat: add UseClusterIP to UpstreamSettingsPolicy by @oyiz-michael in #5280
  • Support allowedListeners field in Gateway Helm values by @sgavrylenko in #5553
  • feat: add useClusterIP to NginxProxy by @SidharathBansal in #5557
  • Support v1 TCPRoute and UDPRoute by @sjberman in #5604
  • feat: add configurable worker_rlimit_nofile to NginxProxy and SSL session/ECDH options to Listener TLS options by @SidharathBansal in #5534
  • Add auto IP family detection for LoadBalancer Service by @tanayarun in #5530
  • Add support for GatewayLink to integrate NGINX Gateway Fabric with F5 BIG-IP via the ExternalLoadBalancer CRD by @salonichf5 in #5668
  • Support native client_body_buffer_size by @sjberman in #5700
  • Implement F5 AI Guardrails through PayloadProcessor CRD by @bjee19 in #5697
  • Support sending WAF Security Telemetry to NGINX Instance Manager by @shaun-nx in #5751

๐Ÿ› Bug Fixes

46 changes
  • Adjust timeouts for failing NFR tests and Plus API communication timeout with agent by @salonichf5 in #5230
  • Fix openshift and ubi issues by @ciarams87 in #5246
  • Fix NIM bundle fetch to select latest compilation when multiple versions exist by @ciarams87 in #5240
  • Update operator bundle for new requirements by @ciarams87 in #5260
  • Assertion job should run on production runner by @ciarams87 in #5258
  • Fix bundle annotations; fix operator PR by @ciarams87 in #5267
  • Readd AllowPrivilegeEscalation: false to containers by @ciarams87 in #5277
  • Fix Agent mTLS CA cert pool not refreshing after certificate rotation by @ciarams87 in #5332
  • Address ListenerSet gaps by @ciarams87 in #5329
  • Fix false-positive TargetConflict on policies when unrelated routes overlap each other by @ciarams87 in #5351
  • Fix ListenerSet listeners not being included in provisioned Service and container ports by @ciarams87 in #5354
  • Skip deprovisioning live gateways queued before leader promotion by @salonichf5 in #5388
  • Set a memory soft limit for nginx-agent process to enable garbage collection by @bjee19 in #5349
  • Extend validation and fix bugs (#5467) by @ciarams87 in #5469
  • Sort map-derived NGINX config for deterministic output by @ItsVigneshMurugan in #5486
  • Change gRPC error code from NotFound to Internal for connection or deployment not found errors by @dhurley in #5444
  • Fix agent startup race condition when waf is enabled by @ciarams87 in #5512
  • Add fix for inference pool failclose by @bjee19 in #5494
  • Support hostname addresses in NginxProxy dnsResolver by @mzimry in #5531
  • Fix failing test for UseClusterIP by @shaun-nx in #5579
  • Fix GatewayStaticAddress test failure and provisioning bug by @sjberman in #5576
  • Update GatewayInvalidParametersRef condition; fix UDP weighting by @sjberman in #5601
  • Fix route and policy attachment edge cases by @sjberman in #5599
  • Update default upstream keepalive value to NGINX default by @Morgan-P-04 in #5592
  • Fix config changing for same SnippetsPolicy objects by @theoilie in #5625
  • Prevent redundant data plane rollouts after restarts by @theoilie in #5628
  • Harden controller lifecycle and state handling by @sjberman in #5623
  • Detect conflicting route policies across overlapping hostnames by @floze-the-genius in #5605
  • Honor securityContext.capabilities.drop in WAF container. Always run as non-root user. by @shaun-nx in #5630
  • Harden agent auth and config-apply robustness by @sjberman in #5626
  • Fix provision/managed objs annotations and owners by @sjberman in #5631
  • Add validation and path escaping to log profile URL by @shaun-nx in #5633
  • Correctly resolve auth secrets for WAF Policies by @shaun-nx in #5646
  • Update UBI NGINX Plus dockerfile with correct nginx conf by @ciarams87 in #5650
  • fix: correct validation error diagnostics and add missing CRD schema constraints by @hsdfat in #5639
  • Fix duplicate NGINX Plus upstream server updates on config resend by @sjberman in #5664
  • helm: add hook-delete-policy + pre-upgrade to cert-generator RBAC by @sjberman in #5663
  • Fix status update bugs by @sjberman in #5678
  • Updates renovate tag for CIS version by @salonichf5 in #5677
  • Create helper function to improve url building logic based on port forward in tests by @Morgan-P-04 in #5683
  • Fix stale WAF bundle/error state after poller teardown by @locker95 in #5687
  • Add ZoneSize to NginxProxy resource by @john-david3 in #5708
  • Do not set proxy_protocol for Passthrough servers by @shaun-nx in #5707
  • Add configurable leader lease timeouts by @sjberman in #5761
  • Fix ExternalName Service updates by @sjberman in #5762
  • Generate unique policy and log conf bundles by @shaun-nx in #5651

๐Ÿ“ฆ Helm Chart

๐Ÿงช Tests

23 changes
  • NFR Test Results for NGF version 2.6.0 by @github-actions[bot] in #5237
  • Longevity Test Results for NGF version 2.6.0 by @github-actions[bot] in #5239
  • Fix TTR graph plotting in scale test by @sjberman in #5265
  • NFR Test Results for NGF version edge by @github-actions[bot] in #5300
  • Update docker/dockerfile Docker tag to v1.26 by @renovate[bot] in #5341, #5482, #5660
  • NFR Test Results for NGF version edge by @github-actions[bot] in #5373
  • Increase conformance test timeout to 20 minutes by @bjee19 in #5393
  • PLM integration tests by @ciarams87 in #5409
  • Add WAF-enabled deployment to longevity nfr test by @bjee19 in #5430
  • NFR Test Results for NGF version edge by @github-actions[bot] in #5450
  • Add telemetry collection of WAF Policy type by @bjee19 in #5473
  • Update curlimages/curl Docker tag to v8.21.0 by @renovate[bot] in #5498
  • NFR Test Results for NGF version edge by @github-actions[bot] in #5533
  • Update quay.io/keycloak/keycloak Docker tag to v26.7 by @renovate[bot] in #5560
  • Remove idle timeout to ensure seamless integration with Gateway API v1.6 by @salonichf5 in #5556
  • Update Helm release opentelemetry-collector to v0.170.0 by @renovate[bot] in #5547, #5613, #5689, #5725
  • NFR Test Results for NGF version edge by @github-actions[bot] in #5581
  • Run conformance tests in parallel by @sjberman in #5629
  • NFR Test Results for NGF version edge by @github-actions[bot] in #5662
  • Update dependency golangci/golangci-lint to v2.13.0 by @renovate[bot] in #5741
  • Update golang Docker tag to v1.27 by @renovate[bot] in #5743, #5744
  • Longevity Test Results for NGF version 2.7.0 (#5806) by @sjberman in #5811
  • NFR Test Results for NGF version 2.7.0 (#5797) by @sjberman in #5812

๐Ÿ“ Documentation

๐Ÿ”จ Maintenance

โฌ†๏ธ Dependencies

88 changes

Other Changes

New Contributors

Full Changelog: v2.6.8...v2.7.0

Don't miss a new nginx-gateway-fabric release

NewReleases is sending notifications on new releases.