diff --git a/CHANGELOG.md b/CHANGELOG.md index 7749023a6..e0de40ae9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,45 @@ This document includes a curated changelog for each release. We also publish a changelog as the description of a [GitHub release](https://github.com/nginxinc/nginx-kubernetes-gateway/releases), which, by contrast, is auto-generated and includes links to all PRs that went into the release. +## Release 0.3.0 + +*April 24, 2023* + +This release brings: +- Extensive validation of Gateway API resources for robustness, security and correctness. See the [validation doc](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.3.0/docs/resource-validation.md) +for more details. +- Defined open-source development process for NGINX Kubernetes Gateway project. See the [Issue lifecycle doc](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.3.0/ISSUE_LIFECYCLE.md). +- Miscellaneous enhancements and bug fixes. + +FEATURES: +* Report proper Conditions in status of HTTPRoute and Gateway when GatewayClass is invalid or doesn't exist. [PR-576](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/576) +* Implement NKG-specific field validation for GatewayClasses. [PR-295](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/495) +* Implement NKG-specific field validation for HTTPRoutes. [PR-455](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/455) +* Implement NKG-specific field validation for Gateways. [PR-407](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/407) +* Run webhook validation rules inside NKG control plane. [PR-388](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/388) +* Make NGINX error log visible in NGINX container logs. [PR-319](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/319) +* Always generate a root "/" location block in NGINX config to handle unmatched requests with 404 response. [PR-356](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/356) + +BUG FIXES: +* Fix HTTPRoute section name related bugs. [PR-568](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/568) +* Fix Observed Generation for Gateway Status. [PR-351](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/351) +* Fix status for parentRef with invalid listener in HTTPRoute. [PR-350](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/350) +* Fix initContainer failure during pod restart. [PR-337](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/337). Thanks to [Tom Plant](https://github.com/pl4nty) +* Generate default http server in NGINX if http listener exists in Gateway. [PR-320](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/320) + +DEPENDENCIES: +* Bump sigs.k8s.io/gateway-api from 0.6.0 to 0.6.2. [PR-471](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/471) + +COMPATIBILITY: +- The Gateway API version: `0.6.2` +- NGINX version: `1.21.x` * +- Kubernetes version: `1.21+` + +\*the installation manifests use the `nginx:1.21` image, which always points to the latest version of 1.21.x releases. + +CONTAINER IMAGES: +- Control plane: `ghcr.io/nginxinc/nginx-kubernetes-gateway:0.3.0` + ## Release 0.2.0 *October 25, 2022* diff --git a/Makefile b/Makefile index 9b893be60..48edf3c84 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION = edge +VERSION = 0.3.0 TAG = $(VERSION) PREFIX ?= nginx-kubernetes-gateway diff --git a/README.md b/README.md index 72b44acee..b894abcf4 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ For a list of supported Gateway API resources and features, see the [Gateway API We publish NGINX Kubernetes Gateway releases on GitHub. See our [releases page](https://github.com/nginxinc/nginx-kubernetes-gateway/releases). -The latest release is [0.2.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.2.0). +The latest release is [0.3.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.3.0). The edge version is useful for experimenting with new features that are not yet published in a release. To use, choose the *edge* version built from the [latest commit](https://github.com/nginxinc/nginx-kubernetes-gateway/commits/main) from the main branch. @@ -35,7 +35,7 @@ The table below summarizes the options regarding the images, manifests, document | Version | Description | Image | Installation Manifests | Documentation and Examples | |-|-|-|-|-| -| Latest release | For experimental use | Use the 0.2.0 image from [GitHub](https://github.com/nginxinc/nginx-kubernetes-gateway/pkgs/container/nginx-kubernetes-gateway) | [Manifests](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.2.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.2.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.2.0/examples). | +| Latest release | For experimental use | Use the 0.3.0 image from [GitHub](https://github.com/nginxinc/nginx-kubernetes-gateway/pkgs/container/nginx-kubernetes-gateway) | [Manifests](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.3.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.3.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.3.0/examples). | | Edge| For experimental use and latest features | Use the edge image from [GitHub](https://github.com/nginxinc/nginx-kubernetes-gateway/pkgs/container/nginx-kubernetes-gateway) | [Manifests](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/examples). | ## Technical Specifications @@ -44,6 +44,7 @@ The following table lists the software versions NGINX Kubernetes Gateway support | NGINX Kubernetes Gateway | Gateway API | Kubernetes | NGINX OSS | |-|-|-|-| | Edge | 0.6.2 | 1.21+ | 1.21.x *| +| 0.3.0 | 0.6.2 | 1.21+ | 1.21.x *| | 0.2.0 | 0.5.1 | 1.21+ | 1.21.x *| | 0.1.0 | 0.5.0 | 1.19+ | 1.21.3 | diff --git a/deploy/manifests/nginx-gateway.yaml b/deploy/manifests/nginx-gateway.yaml index 2a026ceb4..04a15b978 100644 --- a/deploy/manifests/nginx-gateway.yaml +++ b/deploy/manifests/nginx-gateway.yaml @@ -102,8 +102,8 @@ spec: - name: nginx-config mountPath: /etc/nginx containers: - - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge - imagePullPolicy: Always + - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.3.0 + imagePullPolicy: IfNotPresent name: nginx-gateway volumeMounts: - name: nginx-config diff --git a/docs/building-the-image.md b/docs/building-the-image.md index 6700e192b..8628ac729 100644 --- a/docs/building-the-image.md +++ b/docs/building-the-image.md @@ -12,7 +12,7 @@ Before you can build the NGINX Kubernetes Gateway, make sure you have the follow 1. Clone the repo and change into the `nginx-kubernetes-gateway` directory: ``` - git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git + git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.3.0 cd nginx-kubernetes-gateway ``` @@ -22,12 +22,12 @@ Before you can build the NGINX Kubernetes Gateway, make sure you have the follow make PREFIX=myregistry.example.com/nginx-kubernetes-gateway container ``` - Set the `PREFIX` variable to the name of the registry you'd like to push the image to. By default, the image will be named `nginx-kubernetes-gateway:edge`. + Set the `PREFIX` variable to the name of the registry you'd like to push the image to. By default, the image will be named `nginx-kubernetes-gateway:0.3.0`. 1. Push the image to your container registry: ``` - docker push myregistry.example.com/nginx-kubernetes-gateway:edge + docker push myregistry.example.com/nginx-kubernetes-gateway:0.3.0 ``` Make sure to substitute `myregistry.example.com/nginx-kubernetes-gateway` with your registry. diff --git a/docs/installation.md b/docs/installation.md index 104f055d2..dbf163aa0 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -13,7 +13,7 @@ This guide walks you through how to install NGINX Kubernetes Gateway on a generi 1. Clone the repo and change into the `nginx-kubernetes-gateway` directory: ``` - git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git + git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.3.0 cd nginx-kubernetes-gateway ```