From ca02a38b10ee3af60845f694adb4dd27b5ed2867 Mon Sep 17 00:00:00 2001
From: nginx-bot <68849795+nginx-bot@users.noreply.github.com>
Date: Mon, 30 Sep 2024 04:29:42 -0700
Subject: [PATCH] Release 3.7.0 (#6480)
---
README.md | 4 +-
charts/nginx-ingress/Chart.yaml | 4 +-
charts/nginx-ingress/values-icp.yaml | 2 +-
charts/nginx-ingress/values-plus.yaml | 2 +-
charts/nginx-ingress/values.schema.json | 10 +--
charts/nginx-ingress/values.yaml | 2 +-
deployments/daemon-set/nginx-ingress.yaml | 4 +-
.../daemon-set/nginx-plus-ingress.yaml | 4 +-
deployments/deployment/nginx-ingress.yaml | 4 +-
.../deployment/nginx-plus-ingress.yaml | 4 +-
.../app-protect-waf-v5/installation.md | 1 +
docs/content/releases.md | 88 +++++++++++++++++++
docs/layouts/shortcodes/nic-helm-version.html | 2 +-
.../shortcodes/nic-operator-version.html | 2 +-
docs/layouts/shortcodes/nic-version.html | 2 +-
.../service-insight/README.md | 4 +-
16 files changed, 114 insertions(+), 25 deletions(-)
diff --git a/README.md b/README.md
index a51e95e322..4f634f09de 100644
--- a/README.md
+++ b/README.md
@@ -120,7 +120,7 @@ In the case of NGINX, the Ingress Controller is deployed in a pod along with the
We publish NGINX Ingress Controller releases on GitHub. See our [releases
page](https://github.com/nginxinc/kubernetes-ingress/releases).
-The latest stable release is [3.6.2](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v3.6.2). For production
+The latest stable release is [3.7.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v3.7.0). For production
use, we recommend that you choose the latest stable release.
The edge version is useful for experimenting with new features that are not yet published in a stable release. To use
@@ -140,7 +140,7 @@ your links to the correct versions:
| Version | Description | Image for NGINX | Image for NGINX Plus | Installation Manifests and Helm Chart | Documentation and Examples |
| ------- | ----------- | --------------- | -------------------- | ---------------------------------------| -------------------------- |
-| Latest stable release | For production use | Use the 3.6.2 images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | Use the 3.6.2 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image/) or the [AWS Marketplace](https://aws.amazon.com/marketplace/search/?CREATOR=741df81b-dfdc-4d36-b8da-945ea66b522c&FULFILLMENT_OPTION_TYPE=CONTAINER&filters=CREATOR%2CFULFILLMENT_OPTION_TYPE) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-nginx-ingress-controller/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v3.6.2/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v3.6.2/charts/nginx-ingress). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
+| Latest stable release | For production use | Use the 3.7.0 images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | Use the 3.7.0 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image/) or the [AWS Marketplace](https://aws.amazon.com/marketplace/search/?CREATOR=741df81b-dfdc-4d36-b8da-945ea66b522c&FULFILLMENT_OPTION_TYPE=CONTAINER&filters=CREATOR%2CFULFILLMENT_OPTION_TYPE) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-nginx-ingress-controller/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v3.7.0/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v3.7.0/charts/nginx-ingress). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
| Edge/Nightly | For testing and experimenting | Use the edge or nightly images from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/), [GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-nginx-ingress-controller/). | [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-nginx-ingress-controller/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/main/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/main/charts/nginx-ingress). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/main/docs/content). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples). |
## SBOM (Software Bill of Materials)
diff --git a/charts/nginx-ingress/Chart.yaml b/charts/nginx-ingress/Chart.yaml
index c33fe3fde6..40556a208b 100644
--- a/charts/nginx-ingress/Chart.yaml
+++ b/charts/nginx-ingress/Chart.yaml
@@ -5,10 +5,10 @@ appVersion: 3.7.0
kubeVersion: ">= 1.23.0-0"
type: application
description: NGINX Ingress Controller
-icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v3.6.2/charts/nginx-ingress/chart-icon.png
+icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v3.7.0/charts/nginx-ingress/chart-icon.png
home: https://github.com/nginxinc/kubernetes-ingress
sources:
- - https://github.com/nginxinc/kubernetes-ingress/tree/v3.6.2/charts/nginx-ingress
+ - https://github.com/nginxinc/kubernetes-ingress/tree/v3.7.0/charts/nginx-ingress
keywords:
- ingress
- nginx
diff --git a/charts/nginx-ingress/values-icp.yaml b/charts/nginx-ingress/values-icp.yaml
index 9a1aee170a..2e88ae7781 100644
--- a/charts/nginx-ingress/values-icp.yaml
+++ b/charts/nginx-ingress/values-icp.yaml
@@ -4,7 +4,7 @@ controller:
nginxplus: true
image:
repository: mycluster.icp:8500/kube-system/nginx-plus-ingress
- tag: "3.6.2"
+ tag: "3.7.0"
nodeSelector:
beta.kubernetes.io/arch: "amd64"
proxy: true
diff --git a/charts/nginx-ingress/values-plus.yaml b/charts/nginx-ingress/values-plus.yaml
index 77a799a5f5..f532a5f866 100644
--- a/charts/nginx-ingress/values-plus.yaml
+++ b/charts/nginx-ingress/values-plus.yaml
@@ -3,4 +3,4 @@ controller:
nginxplus: true
image:
repository: nginx-plus-ingress
- tag: "3.6.2"
+ tag: "3.7.0"
diff --git a/charts/nginx-ingress/values.schema.json b/charts/nginx-ingress/values.schema.json
index 37297c6bbc..86a1354e33 100644
--- a/charts/nginx-ingress/values.schema.json
+++ b/charts/nginx-ingress/values.schema.json
@@ -540,10 +540,10 @@
},
"tag": {
"type": "string",
- "default": "3.6.2",
+ "default": "3.7.0",
"title": "The tag of the Ingress Controller image",
"examples": [
- "3.6.2"
+ "3.7.0"
]
},
"digest": {
@@ -580,7 +580,7 @@
"examples": [
{
"repository": "nginx/nginx-ingress",
- "tag": "3.6.2",
+ "tag": "3.7.0",
"pullPolicy": "IfNotPresent"
}
]
@@ -1678,7 +1678,7 @@
"customPorts": [],
"image": {
"repository": "nginx/nginx-ingress",
- "tag": "3.6.2",
+ "tag": "3.7.0",
"digest": "",
"pullPolicy": "IfNotPresent"
},
@@ -2218,7 +2218,7 @@
"customPorts": [],
"image": {
"repository": "nginx/nginx-ingress",
- "tag": "3.6.2",
+ "tag": "3.7.0",
"digest": "",
"pullPolicy": "IfNotPresent"
},
diff --git a/charts/nginx-ingress/values.yaml b/charts/nginx-ingress/values.yaml
index c8892f0223..cf0af022a3 100644
--- a/charts/nginx-ingress/values.yaml
+++ b/charts/nginx-ingress/values.yaml
@@ -134,7 +134,7 @@ controller:
repository: nginx/nginx-ingress
## The tag of the Ingress Controller image. If not specified the appVersion from Chart.yaml is used as a tag.
- # tag: "3.6.2"
+ # tag: "3.7.0"
## The digest of the Ingress Controller image.
## If digest is specified it has precedence over tag and will be used instead
# digest: "sha256:CHANGEME"
diff --git a/deployments/daemon-set/nginx-ingress.yaml b/deployments/daemon-set/nginx-ingress.yaml
index 13fb51ac08..62c673f8cb 100644
--- a/deployments/daemon-set/nginx-ingress.yaml
+++ b/deployments/daemon-set/nginx-ingress.yaml
@@ -32,7 +32,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- - image: nginx/nginx-ingress:3.6.2
+ - image: nginx/nginx-ingress:3.7.0
imagePullPolicy: IfNotPresent
name: nginx-ingress
ports:
@@ -95,7 +95,7 @@ spec:
#- -enable-prometheus-metrics
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
-# - image: nginx/nginx-ingress:3.6.2
+# - image: nginx/nginx-ingress:3.7.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
diff --git a/deployments/daemon-set/nginx-plus-ingress.yaml b/deployments/daemon-set/nginx-plus-ingress.yaml
index acf919f556..e564a95076 100644
--- a/deployments/daemon-set/nginx-plus-ingress.yaml
+++ b/deployments/daemon-set/nginx-plus-ingress.yaml
@@ -32,7 +32,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- - image: nginx-plus-ingress:3.6.2
+ - image: nginx-plus-ingress:3.7.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
@@ -98,7 +98,7 @@ spec:
#- -enable-prometheus-metrics
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
-# - image: nginx/nginx-ingress:3.6.2
+# - image: nginx/nginx-ingress:3.7.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
diff --git a/deployments/deployment/nginx-ingress.yaml b/deployments/deployment/nginx-ingress.yaml
index 02840489a4..845186780d 100644
--- a/deployments/deployment/nginx-ingress.yaml
+++ b/deployments/deployment/nginx-ingress.yaml
@@ -33,7 +33,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- - image: nginx/nginx-ingress:3.6.2
+ - image: nginx/nginx-ingress:3.7.0
imagePullPolicy: IfNotPresent
name: nginx-ingress
ports:
@@ -96,7 +96,7 @@ spec:
#- -enable-prometheus-metrics
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
-# - image: nginx/nginx-ingress:3.6.2
+# - image: nginx/nginx-ingress:3.7.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
diff --git a/deployments/deployment/nginx-plus-ingress.yaml b/deployments/deployment/nginx-plus-ingress.yaml
index c749f80f1c..030286397b 100644
--- a/deployments/deployment/nginx-plus-ingress.yaml
+++ b/deployments/deployment/nginx-plus-ingress.yaml
@@ -33,7 +33,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- - image: nginx-plus-ingress:3.6.2
+ - image: nginx-plus-ingress:3.7.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
@@ -102,7 +102,7 @@ spec:
#- -enable-service-insight
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
-# - image: nginx/nginx-ingress:3.6.2
+# - image: nginx/nginx-ingress:3.7.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
diff --git a/docs/content/installation/integrations/app-protect-waf-v5/installation.md b/docs/content/installation/integrations/app-protect-waf-v5/installation.md
index 9ff9cc5c06..bc8e6404c5 100644
--- a/docs/content/installation/integrations/app-protect-waf-v5/installation.md
+++ b/docs/content/installation/integrations/app-protect-waf-v5/installation.md
@@ -373,6 +373,7 @@ If you prefer not to build your own NGINX Ingress Controller image, you can use
{{< bootstrap-table "table table-bordered table-striped table-responsive" >}}
| NIC Version | App Protect WAFv5 Version | Config Manager | Enforcer |
| --- | --- | --- | --- |
+| 3.7.0 | 32_5.144 | 5.3.0 | 5.3.0 |
| 3.6.2 | 32_5.48 | 5.2.0 | 5.2.0 |
{{% /bootstrap-table %}}
diff --git a/docs/content/releases.md b/docs/content/releases.md
index 6cfe511819..c93ca2a483 100644
--- a/docs/content/releases.md
+++ b/docs/content/releases.md
@@ -6,6 +6,7 @@ doctypes:
title: Releases
toc: true
weight: 2100
+
---
{{< note >}}
FIPS compliant images are currently impacted by compatibility issues with a dependent library.
@@ -15,6 +16,93 @@ We recommend against:
2. Building new custom FIPS images.
{{< /note >}}
+{{< note >}}
+For users who build images of NGINX Ingress Controller.
+On October 29th, NGINX Plus R33 will be released.
+This release of NGINX Plus will bring a **breaking** change.
+As a result, version `3.7.0` and earlier of NGINX Ingress Controller will not be compatible with NGINX Plus R33 and later.
+In our next major release, `v4.0.0`, NGINX Ingress Controller will bring compatibility with NGINX R33.
+{{< /note >}}
+
+{{< note >}}
+In our next major release, `v4.0.0`, the default log library for NGINX Ingress Controller will be changed from `golang/glog` to `log/slog`.
+This will mean that logs generated by NGINX Ingress Controller will be in a structured format with the option to choose a `string` or `json` output.
+This will not affect logs generated by NGINX.
+To ensure backwards compatibility, we will ensure the existing log format, `glog`, will be maintained through a configuration option for the next 3 releases.
+{{< /note >}}
+
+{{< important >}}
+CRD version removal notice.
+In our next major release, `v4.0.0`, support for the following apiVersions for these listed CRDs will be dropped:
+1. `k8s.nginx.org/v1alpha` for `GlobalConfiguration`
+2. `k8s.nginx.org/v1alpha` for `Policy`
+3. `k8s.nginx.org/v1alpha` for `TransportServer`
+
+Prior to upgrading, **please ensure** that any of these resources deployed as `apiVersion: k8s.nginx.org/v1alpha1` are upgraded to `apiVersion: k8s.nginx.org/v1`
+If a resource of `kind: GlobalConfiguration`, `kind: Policy` or `kind: TransportServer` are deployed as `apiVersion: k8s.nginx.org/v1alpha1`, these resources will be **deleted** when upgrading from, at least, `v3.4.0` to `v4.0.0`
+
+When `v4.0.0` is released, the release notes will contain the required upgrade steps to go from `v3.X.X` to `v4.X.X`
+{{< /important >}}
+
+## 3.7.0
+
+30 Sept 2024
+
+Added support for VirtualServer & TransportServer to listen on a specific IP when configuring a listener, allowing NGINX to bind to a specific interface. This is also useful in for scenarios where pods need to connect to multiple networks i.e. multi-homed.
+Allow an End Session Endpoint to be configured for OIDC providers via Policy. This allows a user to be fully logged out from their idp session. This change also adds support for configuring a post-logout redirect URI, allowing a users to be redirected to a custom logout page.
+The `access_log` directive can now be configured to point to a syslog log server. Perviously, access logs defaulted to standard out. This change allows for log parsers aggregators to ingest access logs from NGINX.
+When installing NGINX Ingress Controller via Helm, a uniquely named lease object will be created automatically. This allows for multiple deployments of NGINX Ingress Controller in the same namespace when leader election is enabled, without requiring a unique name to be specified manually for each deployment.
+
+### Features
+- [5968](https://github.com/nginxinc/kubernetes-ingress/pull/5968) Add BUILD_OS to Telemetry
+- [6014](https://github.com/nginxinc/kubernetes-ingress/pull/6014) Sync oidc repo
+- [6092](https://github.com/nginxinc/kubernetes-ingress/pull/6092) Support End Session Endpoint for OIDC and allow customizable Post-logout Redirect URI
+- [5648](https://github.com/nginxinc/kubernetes-ingress/pull/5648) Make access_log in http context configurable
+- [6180](https://github.com/nginxinc/kubernetes-ingress/pull/6180) Add ip as an option to listeners for VirtualServer
+- [6367](https://github.com/nginxinc/kubernetes-ingress/pull/6367) Add ip as an option to listeners for TransportServer
+
+### Fixes
+- [5786](https://github.com/nginxinc/kubernetes-ingress/pull/5786) Change log level, to Info and above, before calling prometheus exporter functions
+- [5838](https://github.com/nginxinc/kubernetes-ingress/pull/5838) Fix api key policy undefined routes
+- [5885](https://github.com/nginxinc/kubernetes-ingress/pull/5885) Add default telemetry endpoint
+- [5899](https://github.com/nginxinc/kubernetes-ingress/pull/5899) GRPC healthcheck should not have keepalive time
+- [6125](https://github.com/nginxinc/kubernetes-ingress/pull/6125) Don't log errors for not implemented grpc metrics
+- [6232](https://github.com/nginxinc/kubernetes-ingress/pull/6232) Fix panic when creating VirtualServer
+- [6372](https://github.com/nginxinc/kubernetes-ingress/pull/6372) Create unique lease obj for each NIC installed via Helm
+- [6406](https://github.com/nginxinc/kubernetes-ingress/pull/6406) Fix udp/http listener validation logic
+- [6446](https://github.com/nginxinc/kubernetes-ingress/pull/6446) Disable batch reload when batch finishes
+
+### Helm Chart
+- [5817](https://github.com/nginxinc/kubernetes-ingress/pull/5817) Remove include-year and includeYear flag
+- [5335](https://github.com/nginxinc/kubernetes-ingress/pull/5335) Choose NodePort values for controller.service.type = LoadBalancer
+- [6235](https://github.com/nginxinc/kubernetes-ingress/pull/6235) Update helm docs by @vepatel
+
+### Dependencies
+- [5789](https://github.com/nginxinc/kubernetes-ingress/pull/5789), [5804](https://github.com/nginxinc/kubernetes-ingress/pull/5804), [5821](https://github.com/nginxinc/kubernetes-ingress/pull/5821), [5870](https://github.com/nginxinc/kubernetes-ingress/pull/5870), [5880](https://github.com/nginxinc/kubernetes-ingress/pull/5880), [5907](https://github.com/nginxinc/kubernetes-ingress/pull/5907), [5949](https://github.com/nginxinc/kubernetes-ingress/pull/5949), [5959](https://github.com/nginxinc/kubernetes-ingress/pull/5959), [5993](https://github.com/nginxinc/kubernetes-ingress/pull/5993), [6010](https://github.com/nginxinc/kubernetes-ingress/pull/6010), [6071](https://github.com/nginxinc/kubernetes-ingress/pull/6071), [6105](https://github.com/nginxinc/kubernetes-ingress/pull/6105), [6132](https://github.com/nginxinc/kubernetes-ingress/pull/6132), [6186](https://github.com/nginxinc/kubernetes-ingress/pull/6186), [6195](https://github.com/nginxinc/kubernetes-ingress/pull/6195), [6200](https://github.com/nginxinc/kubernetes-ingress/pull/6200), [6215](https://github.com/nginxinc/kubernetes-ingress/pull/6215), [6229](https://github.com/nginxinc/kubernetes-ingress/pull/6229), [6266](https://github.com/nginxinc/kubernetes-ingress/pull/6266), [6283](https://github.com/nginxinc/kubernetes-ingress/pull/6283), [6287](https://github.com/nginxinc/kubernetes-ingress/pull/6287), [6299](https://github.com/nginxinc/kubernetes-ingress/pull/6299), [6310](https://github.com/nginxinc/kubernetes-ingress/pull/6310), [6358](https://github.com/nginxinc/kubernetes-ingress/pull/6358), [6364](https://github.com/nginxinc/kubernetes-ingress/pull/6364), [6397](https://github.com/nginxinc/kubernetes-ingress/pull/6397), [6412](https://github.com/nginxinc/kubernetes-ingress/pull/6412), [6459](https://github.com/nginxinc/kubernetes-ingress/pull/6459) Bump the go dependencies
+- [5929](https://github.com/nginxinc/kubernetes-ingress/pull/5929), [6337](https://github.com/nginxinc/kubernetes-ingress/pull/6337), [6350](https://github.com/nginxinc/kubernetes-ingress/pull/6350) & [6368](https://github.com/nginxinc/kubernetes-ingress/pull/6368) Bump the go version
+- [6052](https://github.com/nginxinc/kubernetes-ingress/pull/6052) Replace promlog with go-kit
+- [6205](https://github.com/nginxinc/kubernetes-ingress/pull/6205) Update Kubernetes version to v1.31.0
+- [5808](https://github.com/nginxinc/kubernetes-ingress/pull/5808), [5804](https://github.com/nginxinc/kubernetes-ingress/pull/5804), [5821](https://github.com/nginxinc/kubernetes-ingress/pull/5821), [5870](https://github.com/nginxinc/kubernetes-ingress/pull/5870), [5822](https://github.com/nginxinc/kubernetes-ingress/pull/5822), [5819](https://github.com/nginxinc/kubernetes-ingress/pull/5819), [5881](https://github.com/nginxinc/kubernetes-ingress/pull/5881), [5910](https://github.com/nginxinc/kubernetes-ingress/pull/5910), [5928](https://github.com/nginxinc/kubernetes-ingress/pull/5928), [5944](https://github.com/nginxinc/kubernetes-ingress/pull/5944), [5965](https://github.com/nginxinc/kubernetes-ingress/pull/5965), [5985](https://github.com/nginxinc/kubernetes-ingress/pull/5985), [6003](https://github.com/nginxinc/kubernetes-ingress/pull/6003), [6066](https://github.com/nginxinc/kubernetes-ingress/pull/6066), [6093](https://github.com/nginxinc/kubernetes-ingress/pull/6093), [6122](https://github.com/nginxinc/kubernetes-ingress/pull/6122), [6130](https://github.com/nginxinc/kubernetes-ingress/pull/6130), [6156](https://github.com/nginxinc/kubernetes-ingress/pull/6156), [6174](https://github.com/nginxinc/kubernetes-ingress/pull/6174), [6187](https://github.com/nginxinc/kubernetes-ingress/pull/6187), [6218](https://github.com/nginxinc/kubernetes-ingress/pull/6218), [6224](https://github.com/nginxinc/kubernetes-ingress/pull/6224), [6246](https://github.com/nginxinc/kubernetes-ingress/pull/6246), [6267](https://github.com/nginxinc/kubernetes-ingress/pull/6267), [6290](https://github.com/nginxinc/kubernetes-ingress/pull/6290), [6303](https://github.com/nginxinc/kubernetes-ingress/pull/6303), [6330](https://github.com/nginxinc/kubernetes-ingress/pull/6330), [6359](https://github.com/nginxinc/kubernetes-ingress/pull/6359), [6365](https://github.com/nginxinc/kubernetes-ingress/pull/6365), [6371](https://github.com/nginxinc/kubernetes-ingress/pull/6371), [6382](https://github.com/nginxinc/kubernetes-ingress/pull/6382), [6391](https://github.com/nginxinc/kubernetes-ingress/pull/6391), [6413](https://github.com/nginxinc/kubernetes-ingress/pull/6413), [6399](https://github.com/nginxinc/kubernetes-ingress/pull/6399), [6434](https://github.com/nginxinc/kubernetes-ingress/pull/6434) Bump the Docker dependencies
+
+### Upgrade
+
+- For NGINX, use the 3.7.0 images from our
+[DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/tags?page=1&ordering=last_updated&name=3.7.0),
+[GitHub Container](https://github.com/nginxinc/kubernetes-ingress/pkgs/container/kubernetes-ingress),
+[Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-ingress) or [Quay.io](https://quay.io/repository/nginx/nginx-ingress).
+- For NGINX Plus, use the 3.7.0 images from the F5 Container registry,
+the [AWS Marketplace](https://aws.amazon.com/marketplace/search/?CREATOR=741df81b-dfdc-4d36-b8da-945ea66b522c&FULFILLMENT_OPTION_TYPE=CONTAINER&filters=CREATOR%2CFULFILLMENT_OPTION_TYPE),
+the [GCP Marketplace](https://console.cloud.google.com/marketplace/browse?filter=partner:F5,%20Inc.&filter=solution-type:k8s&filter=category:networking)
+or build your own image using the 3.7.0 source code
+- For Helm, use version 1.4.0 of the chart.
+
+### Supported Platforms
+
+We will provide technical support for NGINX Ingress Controller on any Kubernetes platform that is currently supported by
+its provider and that passes the Kubernetes conformance tests. This release was fully tested on the following Kubernetes
+versions: 1.25-1.31.
+
+---
## 3.6.2
19 Aug 2024
diff --git a/docs/layouts/shortcodes/nic-helm-version.html b/docs/layouts/shortcodes/nic-helm-version.html
index d5e98f723f..e21e727f96 100644
--- a/docs/layouts/shortcodes/nic-helm-version.html
+++ b/docs/layouts/shortcodes/nic-helm-version.html
@@ -1 +1 @@
-1.3.2
\ No newline at end of file
+1.4.0
\ No newline at end of file
diff --git a/docs/layouts/shortcodes/nic-operator-version.html b/docs/layouts/shortcodes/nic-operator-version.html
index e7034819f6..9183195ace 100644
--- a/docs/layouts/shortcodes/nic-operator-version.html
+++ b/docs/layouts/shortcodes/nic-operator-version.html
@@ -1 +1 @@
-2.3.2
\ No newline at end of file
+2.4.0
\ No newline at end of file
diff --git a/docs/layouts/shortcodes/nic-version.html b/docs/layouts/shortcodes/nic-version.html
index 77a069e39b..240bba9069 100644
--- a/docs/layouts/shortcodes/nic-version.html
+++ b/docs/layouts/shortcodes/nic-version.html
@@ -1 +1 @@
-3.6.2
\ No newline at end of file
+3.7.0
\ No newline at end of file
diff --git a/examples/custom-resources/service-insight/README.md b/examples/custom-resources/service-insight/README.md
index 401b9e3a05..3ceb018759 100644
--- a/examples/custom-resources/service-insight/README.md
+++ b/examples/custom-resources/service-insight/README.md
@@ -32,7 +32,7 @@ spec:
securityContext:
...
containers:
- - image: nginx-plus-ingress:3.6.2
+ - image: nginx-plus-ingress:3.7.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
@@ -321,7 +321,7 @@ spec:
securityContext:
...
containers:
- - image: nginx-plus-ingress:3.6.2
+ - image: nginx-plus-ingress:3.7.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports: