Skip to content

Commit 0f2a916

Browse files
authored
Release 0.4.0 (#810)
* Release 0.4.0 * Update tags in conformance folder and improve changelog
1 parent 6202bb3 commit 0f2a916

File tree

8 files changed

+66
-12
lines changed

8 files changed

+66
-12
lines changed

CHANGELOG.md

+53
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,59 @@
22

33
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.
44

5+
## Release 0.4.0
6+
7+
*July 6, 2023*
8+
9+
This release brings:
10+
- 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)
11+
- 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).
12+
- 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).
13+
- 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).
14+
- 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)
15+
- Miscellaneous enhancements and bug fixes.
16+
17+
FEATURES:
18+
* Allow empty sectionName in HTTPRoute parentRef. [PR-626](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/626)
19+
* Exact PathMatch support for HTTPRoutes. [PR-603](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/603)
20+
* Set ResolvedRefs condition to true on HTTPRoutes. [PR-645](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/645)
21+
* Set gateway Pod IP as GatewayStatus address. [PR-638](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/638)
22+
* Set Accepted condition type on Gateway status. [PR-633](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/633)
23+
* Drop unrequired capabilities from containers. [PR-677](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/677)
24+
* Update route condition where listener is not found. [PR-675](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/675)
25+
* Set Gateway Programmed condition. [PR-658](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/658)
26+
* AllowedRoutes support for Listeners. [PR-721](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/721)
27+
* Support custom listener ports. [PR-745](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/745)
28+
* Add support for RequestHeaderModifier for HTTPRouteRule objects. [PR-717](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/717)
29+
* Add wildcard hostname support. [PR-769](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/769)
30+
* Add Programmed status for listener. [PR-786](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/786)
31+
* ReferenceGrant from Gateway to Secret. [PR-791](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/791)
32+
33+
BUG FIXES:
34+
* Set upstream zone size to 512k. [PR-609](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/609)
35+
* Allow empty HTTPRoute hostnames. [PR-650](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/650)
36+
* Allow long server names. [PR-651](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/651)
37+
* Add in required capabilities for writing TLS secrets. [PR-718](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/718)
38+
* Fix binding to multiple listeners with empty section name. [PR-730](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/730)
39+
* Add timeout and retry logic for finding NGINX PID file. [PR-676](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/676)
40+
* Prioritize method matching. [PR-789](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/789)
41+
* Add NewListenerInvalidRouteKinds condition. [PR-799](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/799)
42+
* 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)
43+
* Set GatewayClass status for ignored GatewayClasses. [PR-804](https://github.com/nginxinc/nginx-kubernetes-gateway/pull/804)
44+
45+
DEPENDENCIES:
46+
* 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)
47+
48+
COMPATIBILITY:
49+
- The Gateway API version: `0.7.1`
50+
- NGINX version: `1.25.x` *
51+
- Kubernetes version: `1.21+`
52+
53+
\*the installation manifests use the `nginx:1.25` image, which always points to the latest version of 1.25.x releases.
54+
55+
CONTAINER IMAGES:
56+
- Control plane: `ghcr.io/nginxinc/nginx-kubernetes-gateway:0.4.0`
57+
558
## Release 0.3.0
659

760
*April 24, 2023*

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION = edge
1+
VERSION = 0.4.0
22
TAG = $(VERSION)
33
PREFIX ?= nginx-kubernetes-gateway
44

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Learn about our [design principles](/docs/developer/design-principles.md) and [a
2222

2323
We publish NGINX Kubernetes Gateway releases on GitHub. See our [releases page](https://github.com/nginxinc/nginx-kubernetes-gateway/releases).
2424

25-
The latest release is [0.3.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.3.0).
25+
The latest release is [0.4.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v0.4.0).
2626

2727
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.
2828

@@ -37,7 +37,7 @@ The table below summarizes the options regarding the images, manifests, document
3737

3838
| Version | Description | Image | Installation Manifests | Documentation and Examples |
3939
|-|-|-|-|-|
40-
| 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). |
40+
| 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). |
4141
| 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). |
4242

4343
## Technical Specifications
@@ -47,6 +47,7 @@ The following table lists the software versions NGINX Kubernetes Gateway support
4747
| NGINX Kubernetes Gateway | Gateway API | Kubernetes | NGINX OSS |
4848
|-|-|-|-|
4949
| Edge | 0.7.1 | 1.21+ | 1.25.x *|
50+
| 0.4.0 | 0.7.1 | 1.21+ | 1.25.x *|
5051
| 0.3.0 | 0.6.2 | 1.21+ | 1.23.x *|
5152
| 0.2.0 | 0.5.1 | 1.21+ | 1.21.x *|
5253
| 0.1.0 | 0.5.0 | 1.19+ | 1.21.3 |

conformance/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
NKG_TAG = edge
1+
NKG_TAG = 0.4.0
22
NKG_PREFIX = nginx-kubernetes-gateway
33
GATEWAY_CLASS = nginx
44
SUPPORTED_FEATURES = HTTPRoute,HTTPRouteQueryParamMatching,HTTPRouteMethodMatching,HTTPRoutePortRedirect,HTTPRouteSchemeRedirect,GatewayClassObservedGenerationBump

conformance/provisioner/provisioner.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ spec:
6161
spec:
6262
serviceAccountName: nginx-gateway-provisioner
6363
containers:
64-
- image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge
65-
imagePullPolicy: Always
64+
- image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.4.0
65+
imagePullPolicy: IfNotPresent
6666
name: nginx-gateway-provisioner
6767
securityContext:
6868
runAsUser: 1001

deploy/manifests/deployment.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ spec:
3434
- name: nginx
3535
mountPath: /etc/nginx
3636
containers:
37-
- image: ghcr.io/nginxinc/nginx-kubernetes-gateway:edge
38-
imagePullPolicy: Always
37+
- image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.4.0
38+
imagePullPolicy: IfNotPresent
3939
name: nginx-gateway
4040
volumeMounts:
4141
- name: nginx

docs/building-the-image.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Before you can build the NGINX Kubernetes Gateway, make sure you have the follow
1212
1. Clone the repo and change into the `nginx-kubernetes-gateway` directory:
1313

1414
```
15-
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git
15+
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.4.0
1616
cd nginx-kubernetes-gateway
1717
```
1818

@@ -22,12 +22,12 @@ Before you can build the NGINX Kubernetes Gateway, make sure you have the follow
2222
make PREFIX=myregistry.example.com/nginx-kubernetes-gateway container
2323
```
2424

25-
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`.
25+
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`.
2626

2727
1. Push the image to your container registry:
2828

2929
```
30-
docker push myregistry.example.com/nginx-kubernetes-gateway:edge
30+
docker push myregistry.example.com/nginx-kubernetes-gateway:0.4.0
3131
```
3232

3333
Make sure to substitute `myregistry.example.com/nginx-kubernetes-gateway` with your registry.

docs/installation.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ This guide walks you through how to install NGINX Kubernetes Gateway on a generi
1313
1. Clone the repo and change into the `nginx-kubernetes-gateway` directory:
1414

1515
```
16-
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git
16+
git clone https://github.com/nginxinc/nginx-kubernetes-gateway.git --branch v0.4.0
1717
cd nginx-kubernetes-gateway
1818
```
1919

0 commit comments

Comments
 (0)