Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.4.0 #810

Merged
merged 2 commits into from
Jul 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,59 @@

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.4.0

*July 6, 2023*

This release brings:
- Support for more features of the Gateway API resources. See the [Gateway Compatibility doc](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.4.0/docs/gateway-api-compatibility.md)
- Support for running the conformance test suite. See the [Conformance tests README](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.4.0/conformance/README.md).
- Defined Enhancement Proposal process for NGINX Kubernetes Gateway project. See the [Enhancement Proposal README](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.4.0/docs/proposals/README.md).
- Improved developer documentation for contributing to the project. See the [Development quickstart](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.4.0/docs/developer/quickstart.md).
- Architecture document that explains how NGINX Kubernetes Gateway works at a high level. See the [Architecture doc](https://github.com/nginxinc/nginx-kubernetes-gateway/blob/v0.4.0/docs/architecture.md)
- Miscellaneous enhancements and bug fixes.

FEATURES:
sjberman marked this conversation as resolved.
Show resolved Hide resolved
* Allow empty sectionName in HTTPRoute parentRef. [PR-626](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/626)
* Exact PathMatch support for HTTPRoutes. [PR-603](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/603)
* Set ResolvedRefs condition to true on HTTPRoutes. [PR-645](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/645)
* Set gateway Pod IP as GatewayStatus address. [PR-638](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/638)
* Set Accepted condition type on Gateway status. [PR-633](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/633)
* Drop unrequired capabilities from containers. [PR-677](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/677)
* Update route condition where listener is not found. [PR-675](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/675)
* Set Gateway Programmed condition. [PR-658](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/658)
* AllowedRoutes support for Listeners. [PR-721](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/721)
* Support custom listener ports. [PR-745](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/745)
* Add support for RequestHeaderModifier for HTTPRouteRule objects. [PR-717](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/717)
* Add wildcard hostname support. [PR-769](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/769)
* Add Programmed status for listener. [PR-786](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/786)
* ReferenceGrant from Gateway to Secret. [PR-791](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/791)

BUG FIXES:
* Set upstream zone size to 512k. [PR-609](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/609)
* Allow empty HTTPRoute hostnames. [PR-650](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/650)
* Allow long server names. [PR-651](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/651)
* Add in required capabilities for writing TLS secrets. [PR-718](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/718)
* Fix binding to multiple listeners with empty section name. [PR-730](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/730)
* Add timeout and retry logic for finding NGINX PID file. [PR-676](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/676)
* Prioritize method matching. [PR-789](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/789)
* Add NewListenerInvalidRouteKinds condition. [PR-799](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/799)
* Set ResolvedRefs/False/InvalidKind condition on the HTTPRoute if a BackendRef specifies an unknown kind. [PR-800](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/800)
* Set GatewayClass status for ignored GatewayClasses. [PR-804](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/804)

DEPENDENCIES:
* Bump sigs.k8s.io/gateway-api from 0.7.0 to 0.7.1. [PR-711](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/711)

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.4.0`

## Release 0.3.0

*April 24, 2023*
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION = edge
VERSION = 0.4.0
TAG = $(VERSION)
PREFIX ?= nginx-kubernetes-gateway

Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.3.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.3.0).
The latest release is [0.4.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.4.0).
sjberman marked this conversation as resolved.
Show resolved Hide resolved

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.

Expand All @@ -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.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). |
| 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). |
| 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
Expand All @@ -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.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 *|
| 0.1.0 | 0.5.0 | 1.19+ | 1.21.3 |
Expand Down
2 changes: 1 addition & 1 deletion conformance/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
NKG_TAG = edge
NKG_TAG = 0.4.0
NKG_PREFIX = nginx-kubernetes-gateway
GATEWAY_CLASS = nginx
SUPPORTED_FEATURES = HTTPRoute,HTTPRouteQueryParamMatching,HTTPRouteMethodMatching,HTTPRoutePortRedirect,HTTPRouteSchemeRedirect,GatewayClassObservedGenerationBump
Expand Down
4 changes: 2 additions & 2 deletions conformance/provisioner/provisioner.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.4.0
imagePullPolicy: IfNotPresent
name: nginx-gateway-provisioner
securityContext:
runAsUser: 1001
Expand Down
4 changes: 2 additions & 2 deletions deploy/manifests/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.4.0
kate-osborn marked this conversation as resolved.
Show resolved Hide resolved
imagePullPolicy: IfNotPresent
name: nginx-gateway
volumeMounts:
- name: nginx
Expand Down
6 changes: 3 additions & 3 deletions docs/building-the-image.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.4.0
cd nginx-kubernetes-gateway
```

Expand All @@ -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.4.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.4.0
```

Make sure to substitute `myregistry.example.com/nginx-kubernetes-gateway` with your registry.
2 changes: 1 addition & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.4.0
cd nginx-kubernetes-gateway
```

Expand Down
Loading