diff --git a/CHANGELOG.md b/CHANGELOG.md index a0772adde..60e2884e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,32 @@ 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.5.0 + +*July 17, 2023* + +This release completes all v1beta1 Core features of the Gateway API resources. See the [Gateway Compatibility doc](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.5.0/docs/gateway-api-compatibility.md) + +FEATURES: +* Support cross-namespace BackendRefs in HTTPRoutes. [PR-806](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/806) +* Support dynamic certificate rotation with Kubernetes Secrets. [PR-807](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/807) +* Support SupportedKinds in ListenerStatus. [PR-809](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/809) + +BUG FIXES: +* Set redirect port in location header according to the scheme. [PR-801](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/801) +* Set proxy host header to the exact value of the request host header. [PR-827](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/827) +* Ensure Prefix matching requires trailing slash. [PR-817](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/817) + +COMPATIBILITY: +- The Gateway API version: `0.7.1` +- NGINX version: `1.25.x` * +- Kubernetes version: `1.21+` + +\*the installation manifests use the `nginx:1.25` image, which always points to the latest version of 1.25.x releases. + +CONTAINER IMAGES: +- Control plane: `ghcr.io/nginxinc/nginx-kubernetes-gateway:0.5.0` + ## Release 0.4.0 *July 6, 2023* diff --git a/Makefile b/Makefile index c43a93270..e3ee950d1 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # variables that should not be overridden by the user -VERSION = edge +VERSION = 0.5.0 GIT_COMMIT = $(shell git rev-parse HEAD || echo "unknown") DATE = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") diff --git a/README.md b/README.md index 9f54e833b..406758345 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Learn about our [design principles](/docs/developer/design-principles.md) and [a 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.4.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.4.0). +The latest release is [0.5.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.5.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. @@ -37,7 +37,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.4.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.4.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.4.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.4.0/examples). | +| Latest release | For experimental use | Use the 0.5.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.5.0/deploy). | [Documentation](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.5.0/docs). [Examples](https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.5.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 @@ -47,6 +47,7 @@ The following table lists the software versions NGINX Kubernetes Gateway support | NGINX Kubernetes Gateway | Gateway API | Kubernetes | NGINX OSS | |-|-|-|-| | Edge | 0.7.1 | 1.21+ | 1.25.x *| +| 0.5.0 | 0.7.1 | 1.21+ | 1.25.x *| | 0.4.0 | 0.7.1 | 1.21+ | 1.25.x *| | 0.3.0 | 0.6.2 | 1.21+ | 1.23.x *| | 0.2.0 | 0.5.1 | 1.21+ | 1.21.x *| diff --git a/conformance/Makefile b/conformance/Makefile index e256a9445..56262798e 100644 --- a/conformance/Makefile +++ b/conformance/Makefile @@ -1,4 +1,4 @@ -NKG_TAG = edge +NKG_TAG = 0.5.0 NKG_PREFIX = nginx-kubernetes-gateway GATEWAY_CLASS = nginx SUPPORTED_FEATURES = HTTPRoute,HTTPRouteQueryParamMatching,HTTPRouteMethodMatching,HTTPRoutePortRedirect,HTTPRouteSchemeRedirect,GatewayClassObservedGenerationBump diff --git a/conformance/provisioner/provisioner.yaml b/conformance/provisioner/provisioner.yaml index ddb4e53d0..13d05fb71 100644 --- a/conformance/provisioner/provisioner.yaml +++ b/conformance/provisioner/provisioner.yaml @@ -61,8 +61,8 @@ spec: spec: serviceAccountName: nginx-gateway-provisioner containers: - - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge - imagePullPolicy: Always + - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.5.0 + imagePullPolicy: IfNotPresent name: nginx-gateway-provisioner securityContext: runAsUser: 1001 diff --git a/deploy/manifests/deployment.yaml b/deploy/manifests/deployment.yaml index 80b408a1d..b3d2c339b 100644 --- a/deploy/manifests/deployment.yaml +++ b/deploy/manifests/deployment.yaml @@ -34,8 +34,8 @@ spec: - name: nginx mountPath: /etc/nginx containers: - - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge - imagePullPolicy: Always + - image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.5.0 + imagePullPolicy: IfNotPresent name: nginx-gateway volumeMounts: - name: nginx diff --git a/docs/building-the-image.md b/docs/building-the-image.md index 6700e192b..d7fcaf2ed 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.5.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.5.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.5.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 5e32f797b..a2689fbc3 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.5.0 cd nginx-kubernetes-gateway ```