From 9c299fcdf381bea2f32828e4fcc7763e1f9615d2 Mon Sep 17 00:00:00 2001 From: Yaroslav Zhuravlev Date: Sun, 30 Nov 2025 23:19:15 +0000 Subject: [PATCH 1/5] R36 Release notes, Tech specs --- .../nginx-plus/supported-distributions.md | 20 +++--- content/nginx/releases.md | 72 ++++++++++++++++++- content/nginx/technical-specs.md | 2 +- 3 files changed, 81 insertions(+), 13 deletions(-) diff --git a/content/includes/nginx-plus/supported-distributions.md b/content/includes/nginx-plus/supported-distributions.md index 0d7767d04..0fefd7c76 100644 --- a/content/includes/nginx-plus/supported-distributions.md +++ b/content/includes/nginx-plus/supported-distributions.md @@ -4,17 +4,17 @@ nd-files: --- {{}} -| Distribution | Supported on R35 | Supported on R34 | +| Distribution | Supported on R36 | Supported on R35 | |-------------------------------------|----------------------------------------------------|--------------------------------------------------------| -| AlmaLinux | 8 (x86_64, aarch64)
9 (x86_64, aarch64)
10 (x86_64, aarch64) **(new)** | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | -| Alpine Linux | 3.19 (x86_64, aarch64)
3.20 (x86_64, aarch64)
3.21 (x86_64, aarch64)
3.22 (x86_64, aarch64) **(new)** | 3.18 (x86_64, aarch64) **(deprecated)**
3.19 (x86_64, aarch64)
3.20 (x86_64, aarch64)
3.21 (x86_64, aarch64) **(new)** | +| AlmaLinux | 8.1+ (x86_64, aarch64)
9 (x86_64, aarch64)
10 (x86_64, aarch64) | 8 (x86_64, aarch64)
9 (x86_64, aarch64)
10 (x86_64, aarch64) **(new)** | +| Alpine Linux | 3.20 (x86_64, aarch64)
3.21 (x86_64, aarch64)
3.22 (x86_64, aarch64) | 3.19 (x86_64, aarch64)
3.20 (x86_64, aarch64)
3.21 (x86_64, aarch64)
3.22 (x86_64, aarch64) **(new)** | | Amazon Linux | 2023 (x86_64, aarch64) | 2023 (x86_64, aarch64) | | Amazon Linux 2 | LTS (x86_64, aarch64) | LTS (x86_64, aarch64) | -| Debian | 11 (x86_64, aarch64)
12 (x86_64, aarch64) | 11 (x86_64, aarch64)
12 (x86_64, aarch64) | -| FreeBSD | 13.5+ (amd64)
14.3+ (amd64) | 13 (amd64)
14 (amd64) | -| Oracle Linux | 8.1+ (x86_64, aarch64)
9 (x86_64) | 8.1+ (x86_64, aarch64)
9 (x86_64) | -| Red Hat Enterprise Linux (RHEL) | 8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64)
10.0+ (x86_64, aarch64) **(new)** | 8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64) | -| Rocky Linux | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | -| SUSE Linux Enterprise Server (SLES) | 15 SP6+ (x86_64) | 15 SP2+ (x86_64) | -| Ubuntu | 22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64) | 20.04 LTS (x86_64, aarch64) **(deprecated)**
22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64) | +| Debian | 11 (x86_64, aarch64)
12 (x86_64, aarch64)
13 (x86_64, aarch64) **(new)** | 11 (x86_64, aarch64)
12 (x86_64, aarch64) | +| FreeBSD | 13.5+ (amd64)
14.3+ (amd64) | 13.5+ (amd64)
14.3+ (amd64) | +| Oracle Linux | 8.1+ (x86_64, aarch64)
9 (x86_64) | 8.1+ (x86_64, aarch64)
9 (x86_64) | +| Red Hat Enterprise Linux (RHEL) | 8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64)
10.0+ (x86_64, aarch64) | 8.1+ (x86_64, aarch64)
9.0+ (x86_64, aarch64)
10.0+ (x86_64, aarch64) **(new)** | +| Rocky Linux | 8 (x86_64, aarch64)
9 (x86_64, aarch64)
10.0+ (x86_64, aarch64) **(new)** | 8 (x86_64, aarch64)
9 (x86_64, aarch64) | +| SUSE Linux Enterprise Server (SLES) | 15 SP6+ (x86_64)
16 (x86_64) **(new)** | 15 SP6+ (x86_64) | +| Ubuntu | 22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64) | 22.04 LTS (x86_64, aarch64)
24.04 LTS (x86_64, aarch64) | {{
}} diff --git a/content/nginx/releases.md b/content/nginx/releases.md index 00b8ac285..d93be384b 100644 --- a/content/nginx/releases.md +++ b/content/nginx/releases.md @@ -17,8 +17,9 @@ Critical bug patches and security updates are applied to the two (2) most recent {{}} | NGINX Plus Release | Release Date | End of Software Development | End of Security Updates | End of Technical Support | |--------------------|--------------|-----------------------------|-------------------------|--------------------------| -| [R35](#r35) | Aug 13 2025 | R36 release date | R37 release date | Aug 12, 2027 | -| [R34](#r34) | Apr 1, 2025 | Aug 13 2025 | R36 release date | Mar 31, 2027 | +| [R36](#r36) | Dec 1, 2025 | R37 release date | R38 release date | Nov 30, 2027 | +| [R35](#r35) | Aug 13, 2025 | Dec 1, 2025 | R37 release date | Aug 12, 2027 | +| [R34](#r34) | Apr 1, 2025 | Aug 13 2025 | Dec 1, 2025 | Mar 31, 2027 | | [R33](#r33) | Nov 19, 2024 | Apr 1, 2025 | Aug 13 2025 | Nov 18, 2026 | | [R32](#r32) | May 29, 2024 | Nov 19, 2024 | Apr 1, 2025 | May 28, 2026 | | [R31](#r31) | Dec 19, 2023 | May 29, 2024 | Nov 18, 2024 | Dec 18, 2025 | @@ -32,6 +33,73 @@ We strongly recommend running the latest version of NGINX Plus in production to F5 offers 24 months of technical support for each F5 NGINX Plus release. The 24-month support period begins on the initial release date for each version of NGINX Plus, as noted in the table. The release of a patch (for example, `NGINX Plus R34 P2`) does not reset the 24-month technical support period for the impacted release. +## NGINX Plus Release 36 (R36) {#r36} +_December 1, 2025_
+_Based on NGINX Open Source 1.29.3_ + +NGINX Plus R36 is a feature release: + +- HTTP CONNECT forward proxy: the [`tunnel_module`](https://nginx.org/en/docs/http/ngx_http_tunnel_module.html) that handles `CONNECT` requests and establishes an end-to-end virtual connection. + +- Native OIDC Support for [PKCE](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#pkce), [front-channel logout](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#frontchannel_logout_uri), and [POST client authentication](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#client_secret). + +- ACME enhancements for certificate automation: support for [ACME challenges](https://nginx.org/en/docs/http/ngx_http_acme_module.html#challenge) and [keys for external account authorization](https://nginx.org/en/docs/http/ngx_http_acme_module.html#external_account_key). + +- The `num_map` module for [`http`](https://nginx.org/en/docs/http/ngx_http_num_map_module.html) and [`stream`](https://nginx.org/en/docs/stream/ngx_stream_num_map_module.html) that, similar to the [`map`](https://nginx.org/en/docs/http/ngx_http_map_module.html#map) module, allows creating variables whose values depend on numeric values or numeric value ranges. + +- The [`$upstream_last_addr`](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_last_addr) variable that keeps the IP address of the last selected upstream server. + +- The [`$request_port`](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_request_port) and [`$is_request_port`](https://nginx.org/en/docs/http/ngx_http_core_module.html#var_is_request_port) variables. + +- Enhancements in the proxy modules: + + - The [`proxy_allow_upstream`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_allow_upstream) directive and the `denied` parameter of [`proxy_next_upstream`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream) (also for [FastCGI](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_allow_upstream), [gRPC](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_allow_upstream), [memcached](https://nginx.org/en/docs/http/ngx_http_memcached_module.html#memcached_allow_upstream), [tunnel](https://nginx.org/en/docs/http/ngx_http_tunnel_module.html#tunnel_allow_upstream), [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html#scgi_allow_upstream), and [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html#uwsgi_allow_upstream)) that specifies the conditions under which access to the proxied server is allowed or denied. + + - The [`proxy_bind_dynamic`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_bind_dynamic) directive (also for [FastCGI](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_bind_dynamic), [gRPC](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_bind_dynamic), [memcached](https://nginx.org/en/docs/http/ngx_http_memcached_module.html#memcached_bind_dynamic), [tunnel](https://nginx.org/en/docs/http/ngx_http_tunnel_module.html#tunnel_bind_dynamic), [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html#scgi_bind_dynamic), and [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html#uwsgi_bind_dynamic)) that makes the [`bind`](https://nginx.org/en/docs/http/ngx_http_tunnel_module.html#tunnel_bind) operation at each connection attempt. + + - the [`proxy_request_dynamic`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_dynamic) directive (also for [FastCGI](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_request_dynamic), [gRPC](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_request_dynamic), [memcached](https://nginx.org/en/docs/http/ngx_http_memcached_module.html#memcached_request_dynamic), [tunnel](https://nginx.org/en/docs/http/ngx_http_tunnel_module.html#tunnel_request_dynamic), [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html#scgi_request_dynamic), and [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html#uwsgi_request_dynamic)) that enables creation of a separate request instance for each proxied server instead of using a single request for all proxied servers. + +- SSL/TLS enhancements: + + - TLS certificate compression with the `ssl_certificate_compression` directive for [`http`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate_compression), [`stream`](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html#ssl_certificate_compression), and [`mail`](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html#ssl_certificate_compression). + + - The [`$ssl_sigalg`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#var_ssl_sigalg) and [`$ssl_client_sigalg`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#var_ssl_client_sigalg) variables that return the signature algorithm for the client or server certificate for an SSL connection. + + - Support for OpenSSL 3.5. + + - support for 0-RTT in QUIC when using OpenSSL 3.5.1 or newer. + +- Inheritance control for [headers](https://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header_inherit) and [trailers](https://nginx.org/en/docs/http/ngx_http_headers_module.html#add_trailer_inherit). + +- Container images with popular modules, now including ACME, OpenTelemetry, and Prometheus exporter modules. + +{{< call-out "note" "More info" >}} [Announcing NGINX Plus R36](https://community.f5.com/kb/technicalarticles/f5-nginx-plus-r36-release-now-available/342962) blog post {{< /call-out >}} + +NGINX Plus R36 is supported on: + +{{}} +| Distribution | Versions | +|----------------------------------|--------------------------| +| AlmaLinux | 8.1+, 9, 10 | +| Alpine Linux | 3.20, 3.21, 3.22 | +| Amazon Linux | 2 LTS, 2023 | +| Debian | 11, 12, 13 | +| FreeBSD | 13.5+, 14.3+ | +| Oracle Linux | 8.1+, 9 | +| RHEL | 8.1+, 9, 10 | +| Rocky Linux | 8.1+, 9, 10 | +| SUSE Linux Enterprise Server | 15 SP6+, 16 | +| Ubuntu | 22.04 LTS, 24.04 LTS | +{{< /bootstrap-table >}} + +**Notes:** + +- Alpine Linux 3.19 is removed +- Alpine Linux 3.20 is deprecated +- Debian 13 is new in this release +- Rocky Linux 10 is new in this release +- SLES 16 is new in this release + ## NGINX Plus Release 35 (R35) {#r35} _August 13, 2025_
diff --git a/content/nginx/technical-specs.md b/content/nginx/technical-specs.md index 3c64e3801..e49275f5a 100644 --- a/content/nginx/technical-specs.md +++ b/content/nginx/technical-specs.md @@ -35,7 +35,7 @@ Dynamic modules are supported on the [same distributions as NGINX Plus](#support | **RHEL 8 & 9** | ✓ (x86_64 only) | ❌ | ✓ | ✓ | ✓ | ✓ | | **Rocky Linux 8** | ❌ | ❌ | ✓ | ✓ | ✓ | ✓ | | **Rocky Linux 9** | ✓ (x86_64 only) | ❌ | ✓ | ✓ | ✓ | ✓ | -| **SLES** | ❌ | ✓ | ✓ | ✓ | ✓ | ❌ | +| **SLES** | ❌ | 15 only | ✓ | ✓ | ✓ | ✓ | | **Ubuntu 20.04** | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | | **Ubuntu 22.04 & 24.04** | ✓ (x86_64 only) | ✓ | ✓ | ✓ | ✓ | ✓ | From acec0874da42a8ed445e9bd085556670e9517db6 Mon Sep 17 00:00:00 2001 From: Yaroslav Zhuravlev Date: Mon, 1 Dec 2025 12:54:01 +0000 Subject: [PATCH 2/5] update oss and plus versions --- .../nginx/admin-guide/dynamic-modules/acme.md | 2 +- .../dynamic-modules/opentelemetry.md | 2 +- .../installing-nginx-open-source.md | 20 +++++++++---------- .../installing-nginx/installing-nginx-plus.md | 14 ++++++------- .../monitoring/live-activity-monitoring.md | 14 ++++++------- content/nginx/fips-compliance-nginx-plus.md | 2 +- content/nginx/open-source-components.md | 2 +- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/content/nginx/admin-guide/dynamic-modules/acme.md b/content/nginx/admin-guide/dynamic-modules/acme.md index df8afe2c8..ca26c31dc 100644 --- a/content/nginx/admin-guide/dynamic-modules/acme.md +++ b/content/nginx/admin-guide/dynamic-modules/acme.md @@ -29,7 +29,7 @@ The installation process closely follows the [NGINX Plus installation procedure] Expected output of the command: ```shell - nginx version: nginx/1.29.0 (nginx-plus-r35) + nginx version: nginx/1.29.3 (nginx-plus-r36) ``` 3. Ensure you have the **nginx-repo.crt** and **nginx-repo.key** files from [MyF5 Customer Portal](https://account.f5.com/myf5) in the **/etc/ssl/nginx/** directory. These files are required for accessing the NGINX Plus repository. diff --git a/content/nginx/admin-guide/dynamic-modules/opentelemetry.md b/content/nginx/admin-guide/dynamic-modules/opentelemetry.md index 4b0d5b6fd..f52eefc47 100644 --- a/content/nginx/admin-guide/dynamic-modules/opentelemetry.md +++ b/content/nginx/admin-guide/dynamic-modules/opentelemetry.md @@ -43,7 +43,7 @@ The installation process closely follows the [NGINX Plus installation procedure] Expected output of the command: ```shell - nginx version: nginx/1.29.0 (nginx-plus-r35) + nginx version: nginx/1.29.3 (nginx-plus-r36) ``` 3. Ensure you have the **nginx-repo.crt** and **nginx-repo.key** files from [MyF5 Customer Portal](https://account.f5.com/myf5) in the **/etc/ssl/nginx/** directory. These files are required for accessing the NGINX Plus repository. diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md index c602f874d..820485541 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-open-source.md @@ -241,7 +241,7 @@ Before installing, check if your operating system and architecture are supported Expected output: ```shell HTTP/1.1 200 OK - Server: nginx/1.29.0 + Server: nginx/1.29.3 ``` After installation, the following files are available for configuration and troubleshooting: @@ -352,7 +352,7 @@ Before installing, check if your operating system and architecture are supported ```shell HTTP/1.1 200 OK - Server: nginx/1.29.0 + Server: nginx/1.29.3 ``` After installation, the following files are available for configuration and troubleshooting: @@ -459,7 +459,7 @@ Before installing, check if your operating system and architecture are supported ```shell HTTP/1.1 200 OK - Server: nginx/1.29.0 + Server: nginx/1.29.3 ``` After installation, the following files are available for configuration and troubleshooting: @@ -553,7 +553,7 @@ Before installing, check if your operating system and architecture are supported Expected output: ```shell HTTP/1.1 200 OK - Server: nginx/1.29.0 + Server: nginx/1.29.3 ``` After installation, the following files are available for configuration and troubleshooting: @@ -671,7 +671,7 @@ Before installing, check if your operating system and architecture are supported ```shell HTTP/1.1 200 OK - Server: nginx/1.29.0 + Server: nginx/1.29.3 ``` After installation, the following files are available for configuration and troubleshooting: @@ -764,7 +764,7 @@ Before installing, check if your operating system and architecture are supported Expected output: ```shell HTTP/1.1 200 OK - Server: nginx/1.29.0 + Server: nginx/1.29.3 ``` After installation, the following files are available for configuration and troubleshooting: @@ -841,7 +841,7 @@ Before installing, check if your operating system and architecture are supported Expected output: ```shell HTTP/1.1 200 OK - Server: nginx/1.29.0 + Server: nginx/1.29.3 ``` After installation, the following files are available for configuration and troubleshooting: @@ -1017,9 +1017,9 @@ Download the source files for both the stable and mainline versions from [**ngin To download and unpack the source for the latest _mainline_ version, run: ```shell -wget https://nginx.org/download/nginx-1.29.0.tar.gz && \ -tar zxf nginx-1.29.0.tar.gz && \ -cd nginx-1.29.0 +wget https://nginx.org/download/nginx-1.29.3.tar.gz && \ +tar zxf nginx-1.29.3.tar.gz && \ +cd nginx-1.29.3 ``` To download and unpack source files for the latest _stable_ version, run: diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md index 10bf08c63..8669b6eba 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-plus.md @@ -616,7 +616,7 @@ For a community dynamic module to work with NGINX Plus, it must be compiled alo Expected output of the command: ```shell - nginx version: nginx/1.29.0 (nginx-plus-r35) + nginx version: nginx/1.29.3 (nginx-plus-r36) ``` 1. Prepare the build environment. @@ -649,10 +649,10 @@ For a community dynamic module to work with NGINX Plus, it must be compiled alo - Identify the NGINX Open Source version that corresponds to your version of NGINX Plus. See [NGINX Plus Releases]({{< ref "nginx/releases.md" >}}). - - Download the sources for the appropriate NGINX Open Source mainline version, in this case 1.29.0: + - Download the sources for the appropriate NGINX Open Source mainline version, in this case 1.29.3: ```shell - wget -qO - https://nginx.org/download/nginx-1.29.0.tar.gz | tar zxfv - + wget -qO - https://nginx.org/download/nginx-1.29.3.tar.gz | tar zxfv - ``` 1. Obtain the source for the dynamic module. @@ -668,7 +668,7 @@ For a community dynamic module to work with NGINX Plus, it must be compiled alo First, establish binary compatibility by running the `configure` script with the `‑‑with‑compat` option. Then compile the module with `make modules`. ```shell - cd nginx-1.29.0/ && \ + cd nginx-1.29.3/ && \ ./configure --with-compat --add-dynamic-module=../ && \ make modules ``` @@ -688,7 +688,7 @@ For a community dynamic module to work with NGINX Plus, it must be compiled alo 1. Make a copy of the module file and include the NGINX Open Source version in the filename. This makes it simpler to manage multiple versions of a dynamic module in the production environment. ```shell - cp objs/ngx_http_hello_world_module.so ./ngx_http_hello_world_module_1.29.0.so + cp objs/ngx_http_hello_world_module.so ./ngx_http_hello_world_module_1.29.3.so ``` 1. Transfer the resulting `.so` file from your build environment to the production environment. @@ -700,7 +700,7 @@ For a community dynamic module to work with NGINX Plus, it must be compiled alo - `/usr/local/etc/nginx/modules` for FreeBSD ```shell - sudo cp ngx_http_hello_world_module_1.29.0.so /usr/local/nginx/modules/ngx_http_hello_world_module_1.29.0.so + sudo cp ngx_http_hello_world_module_1.29.3.so /usr/local/nginx/modules/ngx_http_hello_world_module_1.29.3.so ``` After installing the module, you need to enable it in the NGINX Plus configuration file. For more information, see [Enabling Dynamic Modules](#enable_dynamic). @@ -990,7 +990,7 @@ To upgrade your NGINX Plus installation to the newest version: The output of the command: ```shell - nginx version: nginx/1.29.0 (nginx-plus-r35) + nginx version: nginx/1.29.3 (nginx-plus-r36) ``` ## Upgrade NGINX Plus modules {#upgrade_modules} diff --git a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md index 7bb5a27b7..2bfefb7bb 100644 --- a/content/nginx/admin-guide/monitoring/live-activity-monitoring.md +++ b/content/nginx/admin-guide/monitoring/live-activity-monitoring.md @@ -398,12 +398,12 @@ The JSON data returned: ```json { - "version" : "1.29.0", - "build" : "nginx-plus-r35", + "version" : "1.29.3", + "build" : "nginx-plus-r36", "address" : "206.251.255.64", "generation" : 14, - "load_timestamp" : "2025-08-01T10:00:00.114Z", - "timestamp" : "2025-08-01T14:06:36.475Z", + "load_timestamp" : "2025-12-01T10:00:00.114Z", + "timestamp" : "2025-12-01T14:06:36.475Z", "pid" : 2201, "ppid" : 92033 } @@ -419,8 +419,8 @@ The JSON data returned: ```json { - "version" : "1.29.0", - "build" : "nginx-plus-r35" + "version" : "1.29.3", + "build" : "nginx-plus-r36" } ``` @@ -521,7 +521,7 @@ To enable the Swagger UI: |OpenAPI YAML File/API Version | NGINX Plus Version | Changes | | ---| --- | --- | -|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}})| The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| +|[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [33]({{< ref "/nginx/releases.md#r33" >}}), [34]({{< ref "nginx/releases.md#r34" >}}), [35]({{< ref "nginx/releases.md#r35" >}}), [36]({{< ref "nginx/releases.md#r36" >}}) | The [`/license`](https://nginx.org/en/docs/http/ngx_http_api_module.html#license) data were added| |[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v9/nginx_api.yaml) for API version 9 | NGINX Plus Releases [30]({{< ref "nginx/releases.md#r30" >}}), [31]({{< ref "nginx/releases.md#r31" >}}), [32]({{< ref "nginx/releases.md#r32" >}}) | The [`/workers/`](https://nginx.org/en/docs/http/ngx_http_api_module.html#workers_) data were added| |[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v8/nginx_api.yaml) for API version 8 | NGINX Plus Releases [27]({{< ref "nginx/releases.md#r27" >}}), [28]({{< ref "nginx/releases.md#r28" >}}), [29]({{< ref "nginx/releases.md#r29" >}}) | SSL statistics for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream) and stream [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_upstream), SSL statistics for each HTTP [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone) and stream [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_stream_server_zone), extended statistics for [SSL](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_ssl_object) endpoint| |[{{}}OpenAPI v2](/nginx/admin-guide/yaml/v7/nginx_api.yaml) for API version 7 | NGINX Plus Releases [25]({{< ref "nginx/releases.md#r25" >}}), [26]({{< ref "nginx/releases.md#r26" >}}),| The `codes` data in `responses` for each HTTP [upstream](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_upstream), [server zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_server_zone), and [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#def_nginx_http_location_zone) were added| diff --git a/content/nginx/fips-compliance-nginx-plus.md b/content/nginx/fips-compliance-nginx-plus.md index 580c47829..3c85a31a6 100644 --- a/content/nginx/fips-compliance-nginx-plus.md +++ b/content/nginx/fips-compliance-nginx-plus.md @@ -258,7 +258,7 @@ nginx -V Sample output from the command: ```shell -nginx version: nginx/1.29.0 (nginx-plus-r35) +nginx version: nginx/1.29.3 (nginx-plus-r36) built by gcc 11.5.0 20240719 (Red Hat 11.5.0-5) (GCC) built with OpenSSL 3.2.2 4 Jun 2024 ``` diff --git a/content/nginx/open-source-components.md b/content/nginx/open-source-components.md index c023fe4c2..16189aed0 100644 --- a/content/nginx/open-source-components.md +++ b/content/nginx/open-source-components.md @@ -12,7 +12,7 @@ type: Open source components included in the F5 NGINX Plus (package name is `nginx-plus`) are: -- nginx/OSS 1.29.0, distributed under 2-clause BSD license. +- nginx/OSS 1.29.3, distributed under 2-clause BSD license. Homepage: From 6d5165f27c5c07e3925ac0b995ec91db2d1fb851 Mon Sep 17 00:00:00 2001 From: Yaroslav Zhuravlev Date: Mon, 1 Dec 2025 14:06:17 +0000 Subject: [PATCH 3/5] feat: dynamic modules docker images --- .../admin-guide/installing-nginx/installing-nginx-docker.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md index 6743349ae..e5bbce232 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md @@ -44,6 +44,9 @@ The registry contains the following image types: - Unprivileged installation of NGINX Plus and NGINX Agent:
`https://private-registry.nginx.com/v2/nginx-plus/rootless-agent` +- [NGINX Plus dynamic modules]({{< ref "/nginx/dynamic-modules/dynamic-modules.md" >}}):
+ `https://private-registry.nginx.com/v2/nginx-plus/modules` + The images can be targeted for a particular operating system and NGINX Plus release using tags. ### Tags for operating systems From 48ff610555b07f67215da45e75a5da502ec5a850 Mon Sep 17 00:00:00 2001 From: Yaroslav Zhuravlev Date: Mon, 1 Dec 2025 15:10:50 +0000 Subject: [PATCH 4/5] fix: blogpost url, OpenSSL 3.5 note --- content/nginx/releases.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/nginx/releases.md b/content/nginx/releases.md index d93be384b..b3100ec37 100644 --- a/content/nginx/releases.md +++ b/content/nginx/releases.md @@ -65,15 +65,17 @@ NGINX Plus R36 is a feature release: - The [`$ssl_sigalg`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#var_ssl_sigalg) and [`$ssl_client_sigalg`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#var_ssl_client_sigalg) variables that return the signature algorithm for the client or server certificate for an SSL connection. + - support for 0-RTT in QUIC when using OpenSSL 3.5.1 or newer. + - Support for OpenSSL 3.5. - - support for 0-RTT in QUIC when using OpenSSL 3.5.1 or newer. + {{< call-out "note" "Important" >}} NGINX Plus is built on the latest minor release of each supported operating system platform. In many cases, the latest revisions of these operating systems are adapting their platforms to support OpenSSL 3.5 (for example, RHEL 9.7 and 10.1). In these situations, NGINX Plus requires that OpenSSL 3.5.0 or later is installed for proper operation. {{< /call-out >}} - Inheritance control for [headers](https://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header_inherit) and [trailers](https://nginx.org/en/docs/http/ngx_http_headers_module.html#add_trailer_inherit). - Container images with popular modules, now including ACME, OpenTelemetry, and Prometheus exporter modules. -{{< call-out "note" "More info" >}} [Announcing NGINX Plus R36](https://community.f5.com/kb/technicalarticles/f5-nginx-plus-r36-release-now-available/342962) blog post {{< /call-out >}} +{{< call-out "note" "More info" >}} [Announcing NGINX Plus R36](https://community.f5.com/kb/technicalarticles/f5-nginx-plus-r36-release-now-available/344514) blog post. {{< /call-out >}} NGINX Plus R36 is supported on: From 938682456421bea4c36be51e9c66f3a4b98b2c63 Mon Sep 17 00:00:00 2001 From: Yaroslav Zhuravlev Date: Mon, 1 Dec 2025 16:01:11 +0000 Subject: [PATCH 5/5] fix: url --- .../admin-guide/installing-nginx/installing-nginx-docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md b/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md index e5bbce232..614ca45be 100644 --- a/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md +++ b/content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md @@ -44,7 +44,7 @@ The registry contains the following image types: - Unprivileged installation of NGINX Plus and NGINX Agent:
`https://private-registry.nginx.com/v2/nginx-plus/rootless-agent` -- [NGINX Plus dynamic modules]({{< ref "/nginx/dynamic-modules/dynamic-modules.md" >}}):
+- [NGINX Plus dynamic modules]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md" >}}):
`https://private-registry.nginx.com/v2/nginx-plus/modules` The images can be targeted for a particular operating system and NGINX Plus release using tags.