# Changelog

### controller-v1.13.0

Images:

* registry.k8s.io/ingress-nginx/controller:v1.13.0@sha256:dc75a7baec7a3b827a5d7ab0acd10ab507904c7dad692365b3e3b596eca1afd2
* registry.k8s.io/ingress-nginx/controller-chroot:v1.13.0@sha256:af6264394cfa61d21f644d87372823064804e64de737b0747e86c86348b29c9f

### All changes:

* Images: Trigger controller build. (#13585)
* Chart: Bump Kube Webhook CertGen. (#13580)
* Tests & Docs: Bump images. (#13579)
* Images: Trigger other builds (2/2). (#13570)
* Images: Trigger other builds (1/2). (#13567)
* Tests: Bump Test Runner to v2.2.0. (#13564)
* Images: Trigger Test Runner build. (#13559)
* Images: Bump NGINX to v2.2.0. (#13556)
* Images: Trigger NGINX build. (#13554)
* Go: Update dependencies. (#13548)
* Go: Update dependencies. (#13542)
* CI: Update Kubernetes to v1.33.2. (#13539)
* NGINX: Bump to OpenResty v1.27.1.2. (#13524)
* Go: Update dependencies. (#13520)
* Docs: Fix function names in comments. (#13517)
* Chart: Add `activeDeadlineSeconds`. (#13497)
* Go: Update dependencies. (#13510)
* Go: Bump to v1.24.4. (#13493)
* Images: Bump Alpine to v3.22. (#13490)
* Images: Update LuaRocks to v3.12.0. (#13486)
* Images: Fix LuaRocks. (#13476)
* Release controller v1.12.3/v1.11.7 & chart v4.12.3/v4.11.7. (#13470)
* Images: Trigger controller build. (#13463)
* Chart: Bump Kube Webhook CertGen. (#13458)
* Tests & Docs: Bump images. (#13457)
* Docs: Add OpenTelemetry defaults. (#13454)
* Images: Trigger other builds (2/2). (#13441)
* Images: Trigger other builds (1/2). (#13438)
* Tests: Bump Test Runner to v2.1.1. (#13435)
* Images: Trigger Test Runner build. (#13431)
* NGINX: Correctly determine client IP. (#12768)
* Lua: Fix `ExternalName` services without endpoints. (#13154)
* Images: Bump NGINX to v2.1.1. (#13426)
* Controller: Add traffic distribution support. (#12974)
* NGINX: Add X-Original-Forwarded-Host header. (#12999)
* Images: Trigger NGINX build. (#13423)
* Go: Update dependencies. (#13419)
* Images: Build Go gRPC Greeter Server from scratch. (#13405)
* Chart: Remove validation for removed API. (#13406)
* Go: Update dependencies. (#13398)
* Images: Bump GCB Docker GCloud to v20250513-9264efb079. (#13393)
* CI: Update Kubernetes. (#13392)
* Fix 🐛: Markdown requires nested content inside a list item to be indented (#13388)
* Chart: Implement `runtimeClassName`. (#13381)
* Tests: Bump Test Runner to v2.1.0. (#13354)
* Images: Trigger Test Runner build. (#13348)
* Go: Bump to v1.24.3. (#13341)
* Images: Bump NGINX to v2.1.0. (#13345)
* Images: Trigger NGINX build. (#13337)
* NGINX: Add NJS. (#13324)
* Go: Update dependencies. (#13326)
* Go: Update dependencies. (#13321)
* Release controller v1.12.2/v1.11.6 & chart v4.12.2/v4.11.6. (#13318)
* Chart: Bump Kube Webhook CertGen. (#13310)
* Tests & Docs: Bump images. (#13307)
* Images: Trigger other builds (2/2). (#13292)
* Images: Trigger other builds (1/2). (#13289)
* Tests: Bump Test Runner to v2.0.3. (#13286)
* Go: Update dependencies. (#13282)
* Images: Trigger Test Runner build. (#13268)
* Images: Bump NGINX to v2.0.3. (#13265)
* Images: Trigger NGINX build. (#13261)
* Go: Update dependencies. (#13257)
* CI: Update Kubernetes to v1.32.4. (#13254)
* Docs: How to modify NLB TCP timeout. (#13242)
* Go: Update dependencies. (#13245)
* Docs: Improve formatting in `monitoring.md`. (#13239)
* Docs: Enable metrics in manifest-based deployments. (#13171)
* Tests: Bump Test Runner to v2.0.2. (#13232)
* Images: Trigger Test Runner build. (#13224)
* Images: Bump `NGINX_BASE` to v2.0.2. (#13221)
* Images: Trigger NGINX build. (#13218)
* Go: Update dependencies. (#13209)
* Docs: Fix link in installation instructions. (#13190)
* Go: Update dependencies. (#13147)
* Go: Bump to v1.24.2. (#13146)
* Annotations: Allow ciphers with underscores. (#13110)
* CI: Do not fail fast. (#13120)
* Images: Fix FromAsCasing. (#13117)
* Images: Extract modules. (#13114)
* Plugin: Improve error handling. (#13102)
* Docs: Fix OpenTelemetry listing. (#13106)
* Tests: Fallback to `yq`. (#13079)
* Go: Fix Mage. (#13077)
* Release controller v1.12.1/v1.11.5 & chart v4.12.1/v4.11.5. (#13075)
* Controller: Several security fixes. (#13068)
* Chart: Bump Kube Webhook CertGen. (#13063)
* Tests & Docs: Bump images. (#13062)
* Images: Trigger other builds (2/2). (#13057)
* Images: Trigger other builds (1/2). (#13056)
* Tests: Bump Test Runner to v2.0.1. (#13047)
* Images: Trigger Test Runner build. (#13043)
* Images: Bump `NGINX_BASE` to v2.0.1. (#13042)
* Images: Trigger NGINX build. (#13038)
* Go: Update dependencies. (#13035)
* CI: Update KIND to v1.32.3. (#13022)
* CI: Update Kubernetes to v1.32.3. (#13021)
* Images: Rework. (3/3) (#13010)
* Images: Rework. (2/3) (#13013)
* Images: Rework. (1/3) (#13008)
* Custom Error Pages: Accept first of many MIME types. (#13005)
* Docs: Use `enable-global-auth` annotation instead of non-existing ConfigMap option. (#12976)
* Go: Update dependencies. (#12962)
* Docs: Update link to `values.yaml`. (#12947)
* fix DNS issues with unresolvable backends with ExternalName (#10989)
* Go: Bump to v1.24.1. (#12935)
* CI: Update KIND images. (#12907)
* Test: Remove gRPC Fortune Teller. (#12928)
* Chart: Add `controller.admissionWebhooks.certManager.*.revisionHistoryLimit`. (#12906)
* NGINX: Update ModSecurity. (#12914)
* Development: Update KIND images. (#12908)
* Network: Rework IPv6 check. (#12905)
* Config: Remove notes about future defaults. (#12896)
* Images: Update `kubectl` to v1.32.2. (#12845)
* Development: Update Kubernetes to v1.32.0. (#12848)
* CI: Update `kubectl` to v1.32.2. (#12844)
* Images: Migrate to AR. (2/2) (#12840)
* Images: Migrate to AR. (1/2) (#12839)
* Docs: Migrate to AR. (#12807)
* Docs: Enable code copy button. (#12804)
* Go: Bump to v1.23.6. (#12799)
* CI: Update Artifact Hub to v1.20.0. (#12785)
* Images: Update `kubectl` to v1.31.5. (#12788)
* CI: Update `kubectl` to v1.31.5. (#12786)
* Development: Bump Kubernetes to v1.31.4. (#12782)
* Go: Replace `golang.org/x/exp/slices` with `slices`. (#12779)
* Docs: Fix character format. (#12770)
* Docs: Improve bare-metal setup. (#12743)
* Chart: Add `controller.service.external.labels` & `controller.service.internal.labels`. (#12704)
* Build: Always use local `tmp` dir on macOS. (#12734)
* Development: Bump Kubernetes to v1.31.4. (#12733)
* Images: Bump `gcb-docker-gcloud` to v20250116-2a05ea7e3d. (#12718)
* Go: Bump to v1.23.5. (#12717)
* Docs: Clarify rate limits are per ingress controller replica. (#12714)
* Go: Stop using workspace. (#12703)
* Chart: Bump Kube Webhook CertGen. (#12693)
* Tests & Docs: Bump images. (#12692)
* Images: Trigger other builds (2/2). (#12689)
* Images: Trigger other builds (1/2). (#12686)
* Tests: Bump Test Runner to v20250112-a188f4eb. (#12683)
* Images: Trigger Test Runner build. (#12680)
* Images: Bump `NGINX_BASE` to v2.0.0. (#12676)
* Images: Trigger NGINX build. (#12672)
* NGINX: Align quotes. (#12669)
* Annotations: Deny newlines. (#12640)
* Chart: Add `controller.service.trafficDistribution`. (#12571)
* NGINX: Bump to OpenResty v1.27.1.1. (#12229)
* Annotations: Reload on custom header changes. (#11709)
* NGINX: Bump ModSecurity. (#12641)
* NGINX: Bump OpenTelemetry. (#12371)
* NGINX: Remove unused substitutions module. (#12449)

### Dependency updates:

* Bump github/codeql-action from 3.29.0 to 3.29.1 in the actions group (#13576)
* Bump docker/setup-buildx-action from 3.10.0 to 3.11.1 in the actions group (#13545)
* Bump github/codeql-action from 3.28.19 to 3.29.0 in the actions group (#13525)
* Bump google.golang.org/grpc from 1.72.2 to 1.73.0 (#13499)
* Bump google.golang.org/grpc from 1.72.2 to 1.73.0 in /images/go-grpc-greeter-server/rootfs (#13501)
* Bump golang.org/x/crypto from 0.38.0 to 0.39.0 (#13500)
* Bump the actions group with 2 updates (#13498)
* Bump ossf/scorecard-action from 2.4.1 to 2.4.2 in the actions group (#13449)
* Bump the go group across 2 directories with 1 update (#13413)
* Bump sigs.k8s.io/controller-runtime from 0.20.4 to 0.21.0 (#13412)
* Bump the actions group with 3 updates (#13379)
* Bump github.com/prometheus/common from 0.63.0 to 0.64.0 (#13378)
* Bump the go group across 4 directories with 10 updates (#13377)
* Bump golang.org/x/crypto from 0.37.0 to 0.38.0 (#13361)
* Bump the actions group with 2 updates (#13362)
* Bump golang.org/x/oauth2 from 0.29.0 to 0.30.0 (#13360)
* Bump dario.cat/mergo from 1.0.1 to 1.0.2 in the go group across 1 directory (#13359)
* Bump github/codeql-action from 3.28.16 to 3.28.17 in the actions group (#13331)
* Bump golangci/golangci-lint-action from 7.0.0 to 8.0.0 (#13330)
* Bump actions/download-artifact from 4.2.1 to 4.3.0 in the actions group (#13303)
* Bump the actions group with 2 updates (#13279)
* Bump github.com/onsi/ginkgo/v2 from 2.23.3 to 2.23.4 (#13212)
* Bump the go group across 2 directories with 1 update (#13196)
* Bump github.com/prometheus/client_golang from 1.21.1 to 1.22.0 (#13199)
* Bump github/codeql-action from 3.28.14 to 3.28.15 in the actions group (#13198)
* Bump github.com/prometheus/client_golang from 1.21.1 to 1.22.0 in /images/custom-error-pages/rootfs (#13197)
* Bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 (#13168)
* Bump the go group across 2 directories with 1 update (#13169)
* Bump github.com/fsnotify/fsnotify from 1.8.0 to 1.9.0 (#13170)
* Bump golang.org/x/crypto from 0.36.0 to 0.37.0 (#13167)
* Bump the actions group with 2 updates (#13166)
* Bump goreleaser/goreleaser-action from 6.2.1 to 6.3.0 in the actions group (#13132)
* Bump golangci/golangci-lint-action from 6.5.2 to 7.0.0 (#13116)
* Bump the actions group with 2 updates (#13115)
* Bump github.com/opencontainers/runc from 1.2.5 to 1.2.6 in the go group across 1 directory (#13032)
* Bump github.com/onsi/ginkgo/v2 from 2.23.0 to 2.23.3 (#13020)
* Bump the actions group with 5 updates (#13019)
* Bump dorny/test-reporter from 1.9.1 to 2.0.0 (#12982)
* Bump github.com/prometheus/common from 0.62.0 to 0.63.0 (#12980)
* Bump the go group across 3 directories with 9 updates (#12979)
* Bump the actions group with 3 updates (#12981)
* Bump github/codeql-action from 3.28.10 to 3.28.11 in the actions group (#12965)
* Bump github.com/onsi/ginkgo/v2 from 2.22.2 to 2.23.0 (#12953)
* Bump golang.org/x/crypto from 0.35.0 to 0.36.0 (#12954)
* Bump the go group across 2 directories with 1 update (#12933)
* Bump google.golang.org/grpc from 1.70.0 to 1.71.0 (#12934)
* Bump golang.org/x/crypto from 0.34.0 to 0.35.0 (#12920)
* Bump the actions group with 3 updates (#12919)
* Bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 (#12887)
* Bump golang.org/x/crypto from 0.33.0 to 0.34.0 (#12888)
* Bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 in /images/custom-error-pages/rootfs (#12886)
* Bump the actions group with 4 updates (#12885)
* Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (#12859)
* Bump the go group across 3 directories with 11 updates (#12857)
* Bump the actions group with 2 updates (#12860)
* Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 in /images/kube-webhook-certgen/rootfs (#12858)
* Bump the actions group with 4 updates (#12811)
* Bump golang.org/x/crypto from 0.32.0 to 0.33.0 (#12810)
* Bump the actions group with 2 updates (#12772)
* Bump the go group across 2 directories with 1 update (#12771)
* Bump google.golang.org/grpc from 1.69.4 to 1.70.0 (#12755)
* Bump sigs.k8s.io/controller-runtime from 0.20.0 to 0.20.1 in the go group across 1 directory (#12754)
* Bump the actions group with 5 updates (#12753)
* Bump sigs.k8s.io/controller-runtime from 0.19.4 to 0.20.0 (#12723)
* Bump github.com/prometheus/common from 0.61.0 to 0.62.0 (#12722)
* Bump the go group across 3 directories with 9 updates (#12721)
* Bump golangci/golangci-lint-action from 6.1.1 to 6.2.0 in the actions group (#12720)
* Bump google.golang.org/grpc from 1.69.2 to 1.69.4 in the go group across 1 directory (#12698)
* Bump the actions group with 3 updates (#12659)
* Bump the go group across 1 directory with 3 updates (#12657)
* Bump golang.org/x/crypto from 0.31.0 to 0.32.0 (#12658)
* Bump github.com/onsi/ginkgo/v2 from 2.22.1 to 2.22.2 (#12627)

**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/controller-v1.12.0...controller-v1.13.0
