Skip to content
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,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.7.2](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v3.7.2). For production
The latest stable release is [4.0.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v4.0.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
Expand All @@ -145,7 +145,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.7.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/build-ingress-controller-image/). | Use the 3.7.2 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image/) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/build-nginx-ingress-controller/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v3.7.2/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v3.7.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 4.0.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/build-ingress-controller-image/). | Use the 4.0.0 images from the [F5 Container Registry](https://docs.nginx.com/nginx-ingress-controller/installation/pulling-ingress-controller-image/) or [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/build-nginx-ingress-controller/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v4.0.0/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v4.0.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/build-nginx-ingress-controller/). | [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/build-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/site/content). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/main/examples). |

## SBOM (Software Bill of Materials)
Expand Down
4 changes: 2 additions & 2 deletions charts/nginx-ingress/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ appVersion: 4.0.0
kubeVersion: ">= 1.23.0-0"
type: application
description: NGINX Ingress Controller
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v3.7.2/charts/nginx-ingress/chart-icon.png
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v4.0.0/charts/nginx-ingress/chart-icon.png
home: https://github.com/nginxinc/kubernetes-ingress
sources:
- https://github.com/nginxinc/kubernetes-ingress/tree/v3.7.2/charts/nginx-ingress
- https://github.com/nginxinc/kubernetes-ingress/tree/v4.0.0/charts/nginx-ingress
keywords:
- ingress
- nginx
Expand Down
2 changes: 1 addition & 1 deletion charts/nginx-ingress/values-icp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ controller:
nginxplus: true
image:
repository: mycluster.icp:8500/kube-system/nginx-plus-ingress
tag: "3.7.2"
tag: "4.0.0"
nodeSelector:
beta.kubernetes.io/arch: "amd64"
proxy: true
Expand Down
2 changes: 1 addition & 1 deletion charts/nginx-ingress/values-plus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ controller:
nginxplus: true
image:
repository: nginx-plus-ingress
tag: "3.7.2"
tag: "4.0.0"
10 changes: 5 additions & 5 deletions charts/nginx-ingress/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -674,10 +674,10 @@
},
"tag": {
"type": "string",
"default": "3.7.2",
"default": "4.0.0",
"title": "The tag of the Ingress Controller image",
"examples": [
"3.7.2"
"4.0.0"
]
},
"digest": {
Expand Down Expand Up @@ -714,7 +714,7 @@
"examples": [
{
"repository": "nginx/nginx-ingress",
"tag": "3.7.2",
"tag": "4.0.0",
"pullPolicy": "IfNotPresent"
}
]
Expand Down Expand Up @@ -1865,7 +1865,7 @@
"customPorts": [],
"image": {
"repository": "nginx/nginx-ingress",
"tag": "3.7.2",
"tag": "4.0.0",
"digest": "",
"pullPolicy": "IfNotPresent"
},
Expand Down Expand Up @@ -2479,7 +2479,7 @@
"customPorts": [],
"image": {
"repository": "nginx/nginx-ingress",
"tag": "3.7.2",
"tag": "4.0.0",
"digest": "",
"pullPolicy": "IfNotPresent"
},
Expand Down
2 changes: 1 addition & 1 deletion charts/nginx-ingress/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,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.7.2"
# tag: "4.0.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"
Expand Down
4 changes: 2 additions & 2 deletions deployments/daemon-set/nginx-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- image: nginx/nginx-ingress:3.7.2
- image: nginx/nginx-ingress:4.0.0
imagePullPolicy: IfNotPresent
name: nginx-ingress
ports:
Expand Down Expand Up @@ -96,7 +96,7 @@ spec:
#- -enable-prometheus-metrics
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
# - image: nginx/nginx-ingress:3.7.2
# - image: nginx/nginx-ingress:4.0.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
Expand Down
4 changes: 2 additions & 2 deletions deployments/daemon-set/nginx-plus-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- image: nginx-plus-ingress:3.7.2
- image: nginx-plus-ingress:4.0.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
Expand Down Expand Up @@ -100,7 +100,7 @@ spec:
#- -enable-prometheus-metrics
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
# - image: nginx/nginx-ingress:3.7.2
# - image: nginx/nginx-ingress:4.0.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
Expand Down
4 changes: 2 additions & 2 deletions deployments/deployment/nginx-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- image: nginx/nginx-ingress:3.7.2
- image: nginx/nginx-ingress:4.0.0
imagePullPolicy: IfNotPresent
name: nginx-ingress
ports:
Expand Down Expand Up @@ -97,7 +97,7 @@ spec:
#- -enable-prometheus-metrics
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
# - image: nginx/nginx-ingress:3.7.2
# - image: nginx/nginx-ingress:4.0.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
Expand Down
4 changes: 2 additions & 2 deletions deployments/deployment/nginx-plus-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ spec:
# - name: nginx-log
# emptyDir: {}
containers:
- image: nginx-plus-ingress:3.7.2
- image: nginx-plus-ingress:4.0.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
Expand Down Expand Up @@ -104,7 +104,7 @@ spec:
#- -enable-service-insight
#- -global-configuration=$(POD_NAMESPACE)/nginx-configuration
# initContainers:
# - image: nginx/nginx-ingress:3.7.2
# - image: nginx/nginx-ingress:4.0.0
# imagePullPolicy: IfNotPresent
# name: init-nginx-ingress
# command: ['cp', '-vdR', '/etc/nginx/.', '/mnt/etc']
Expand Down
4 changes: 2 additions & 2 deletions examples/custom-resources/service-insight/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ spec:
securityContext:
...
containers:
- image: nginx-plus-ingress:3.7.2
- image: nginx-plus-ingress:4.0.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
Expand Down Expand Up @@ -321,7 +321,7 @@ spec:
securityContext:
...
containers:
- image: nginx-plus-ingress:3.7.2
- image: nginx-plus-ingress:4.0.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
Expand Down
48 changes: 48 additions & 0 deletions site/content/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,54 @@ title: Releases
toc: true
weight: 2100

---
## 4.0.0

16 Dec 2024

### <i class="fa-solid fa-bomb"></i> Breaking Changes
- [6520](https://github.com/nginxinc/kubernetes-ingress/pull/6520) Add LogLevel & LogFormat flags
- [6800](https://github.com/nginxinc/kubernetes-ingress/pull/6800) Deprecate v1alpha1 CRDs for GlobalConfiguration, Policy & TransportServer
- [6903](https://github.com/nginxinc/kubernetes-ingress/pull/6903) Add license secret and mgmt config map

### <i class="fa-solid fa-rocket"></i> Features
- [6474](https://github.com/nginxinc/kubernetes-ingress/pull/6474) Add glog slog handler
- [6605](https://github.com/nginxinc/kubernetes-ingress/pull/6605) TransportServer SNI
- [6819](https://github.com/nginxinc/kubernetes-ingress/pull/6819) Add events to configmap
- [6878](https://github.com/nginxinc/kubernetes-ingress/pull/6878) Add events when special secrets update
- [6921](https://github.com/nginxinc/kubernetes-ingress/pull/6921) Add additional mgmt config parameters

### <i class="fa-solid fa-bug-slash"></i> Fixes
- [6583](https://github.com/nginxinc/kubernetes-ingress/pull/6583) Generate valid yaml for ReadOnly FS
- [6635](https://github.com/nginxinc/kubernetes-ingress/pull/6635) UpstreamServer Fields Logs Displayed as Memory Addresses
- [6661](https://github.com/nginxinc/kubernetes-ingress/pull/6661) Revert to original main-template without pod downtime
- [6733](https://github.com/nginxinc/kubernetes-ingress/pull/6733) Add nil check to apikey suppliedIn
- [6780](https://github.com/nginxinc/kubernetes-ingress/pull/6780) Use default VS and TS templates when CfgMap obj is deleted

### <i class="fa-solid fa-box"></i> Helm Chart
- [6667](https://github.com/nginxinc/kubernetes-ingress/pull/6667) Helm schema examples

### <i class="fa-solid fa-upload"></i> Dependencies
- [6485](https://github.com/nginxinc/kubernetes-ingress/pull/6485), [6497](https://github.com/nginxinc/kubernetes-ingress/pull/6497), [6512](https://github.com/nginxinc/kubernetes-ingress/pull/6512), [6533](https://github.com/nginxinc/kubernetes-ingress/pull/6533), [6543](https://github.com/nginxinc/kubernetes-ingress/pull/6543), [6557](https://github.com/nginxinc/kubernetes-ingress/pull/6557), [6580](https://github.com/nginxinc/kubernetes-ingress/pull/6580), [6607](https://github.com/nginxinc/kubernetes-ingress/pull/6607), [6638](https://github.com/nginxinc/kubernetes-ingress/pull/6638), [6654](https://github.com/nginxinc/kubernetes-ingress/pull/6654), [6657](https://github.com/nginxinc/kubernetes-ingress/pull/6657), [6676](https://github.com/nginxinc/kubernetes-ingress/pull/6676), [6685](https://github.com/nginxinc/kubernetes-ingress/pull/6685), [6699](https://github.com/nginxinc/kubernetes-ingress/pull/6699), [6697](https://github.com/nginxinc/kubernetes-ingress/pull/6697), [6719](https://github.com/nginxinc/kubernetes-ingress/pull/6719), [6717](https://github.com/nginxinc/kubernetes-ingress/pull/6717), [6747](https://github.com/nginxinc/kubernetes-ingress/pull/6747), [6743](https://github.com/nginxinc/kubernetes-ingress/pull/6743), [6775](https://github.com/nginxinc/kubernetes-ingress/pull/6775), [6789](https://github.com/nginxinc/kubernetes-ingress/pull/6789), [6762](https://github.com/nginxinc/kubernetes-ingress/pull/6762), [6786](https://github.com/nginxinc/kubernetes-ingress/pull/6786), [6845](https://github.com/nginxinc/kubernetes-ingress/pull/6845), [6864](https://github.com/nginxinc/kubernetes-ingress/pull/6864), [6880](https://github.com/nginxinc/kubernetes-ingress/pull/6880), [6862](https://github.com/nginxinc/kubernetes-ingress/pull/6862), [6897](https://github.com/nginxinc/kubernetes-ingress/pull/6897), [6890](https://github.com/nginxinc/kubernetes-ingress/pull/6890), [6905](https://github.com/nginxinc/kubernetes-ingress/pull/6905), [6906](https://github.com/nginxinc/kubernetes-ingress/pull/6906), [6909](https://github.com/nginxinc/kubernetes-ingress/pull/6909), [6919](https://github.com/nginxinc/kubernetes-ingress/pull/6919), [6936](https://github.com/nginxinc/kubernetes-ingress/pull/6936), [6945](https://github.com/nginxinc/kubernetes-ingress/pull/6945), [6971](https://github.com/nginxinc/kubernetes-ingress/pull/6971) & [6982](https://github.com/nginxinc/kubernetes-ingress/pull/6982) Bump the Docker dependencies
- [6483](https://github.com/nginxinc/kubernetes-ingress/pull/6483), [6496](https://github.com/nginxinc/kubernetes-ingress/pull/6496), [6522](https://github.com/nginxinc/kubernetes-ingress/pull/6522), [6540](https://github.com/nginxinc/kubernetes-ingress/pull/6540), [6559](https://github.com/nginxinc/kubernetes-ingress/pull/6559), [6589](https://github.com/nginxinc/kubernetes-ingress/pull/6589), [6614](https://github.com/nginxinc/kubernetes-ingress/pull/6614), [6643](https://github.com/nginxinc/kubernetes-ingress/pull/6643), [6669](https://github.com/nginxinc/kubernetes-ingress/pull/6669), [6683](https://github.com/nginxinc/kubernetes-ingress/pull/6683), [6704](https://github.com/nginxinc/kubernetes-ingress/pull/6704), [6712](https://github.com/nginxinc/kubernetes-ingress/pull/6712), [6728](https://github.com/nginxinc/kubernetes-ingress/pull/6728), [6745](https://github.com/nginxinc/kubernetes-ingress/pull/6745), [6767](https://github.com/nginxinc/kubernetes-ingress/pull/6767), [6782](https://github.com/nginxinc/kubernetes-ingress/pull/6782), [6815](https://github.com/nginxinc/kubernetes-ingress/pull/6815), [6826](https://github.com/nginxinc/kubernetes-ingress/pull/6826), [6835](https://github.com/nginxinc/kubernetes-ingress/pull/6835), [6842](https://github.com/nginxinc/kubernetes-ingress/pull/6842), [6861](https://github.com/nginxinc/kubernetes-ingress/pull/6861), [6916](https://github.com/nginxinc/kubernetes-ingress/pull/6916), [6908](https://github.com/nginxinc/kubernetes-ingress/pull/6908), [6931](https://github.com/nginxinc/kubernetes-ingress/pull/6931), [6969](https://github.com/nginxinc/kubernetes-ingress/pull/6969), [6973](https://github.com/nginxinc/kubernetes-ingress/pull/6973), [6988](https://github.com/nginxinc/kubernetes-ingress/pull/6988) & [6994](https://github.com/nginxinc/kubernetes-ingress/pull/6994) Bump the go dependencies

### <i class="fa-solid fa-download"></i> Upgrade

- For NGINX, use the 4.0.0 images from our
[DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/tags?page=1&ordering=last_updated&name=4.0.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 4.0.0 images from the F5 Container registry or build your own image using the 4.0.0 source code
- For Helm, use version 2.0.0 of the chart.
- [Upgrading to v4]({{< relref "installation/installing-nic/upgrade-to-v4" >}})

### <i class="fa-solid fa-life-ring"></i> 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.32.


---
{{< 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`.
Expand Down
Loading
Loading