Skip to content
This repository was archived by the owner on Oct 8, 2025. It is now read-only.
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
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Artem Konev <[email protected]> <[email protected]
Ava Hahn <[email protected]> <[email protected]>
Dan Callahan <[email protected]> <[email protected]>
Danielle De Leo <[email protected]> <[email protected]>
Dave McAllister <[email protected]> <[email protected]>
Dylan Arbour <[email protected]> <[email protected]>
Dylan Arbour <[email protected]> <[email protected]>
Igor Ippolitov <[email protected]> <[email protected]>
Expand Down
35 changes: 35 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@

Changes with Unit 1.35.0 03 Sep 2025

*) Security: fix missing websocket payload length validation in the Java
language module which could lead to Java language module processes
consuming excess CPU. (CVE-2025-1695).

*) Change: if building with njs, version 0.9.0 or later is now required.

*) Feature: HTTP compression.

*) Feature: PHP 8.5 compatibility.

*) Feature: Ruby 3.4 compatibility.

*) Feature: Django 5.x compatibility.

*) Feature: Python Litestar WebSockets compatibility.

*) Feature: GCC 15 compatibility.

*) Bugfix: set SERVER_PORT to the actual value.

*) Bugfix: fix issue in node.js with duplicate headers in response.

*) Bugfix: fix WebSockets with Firefox.

*) Bugfix: fix incorrect websocket payload length calculation in the
Java language module.

*) Bugfix: fix instability issues due to OpenTelemetry (OTEL) support.

*) Bugfix: fix issues with building OpenTelemetry (OTEL) support on
various platforms, including macOS.


Changes with Unit 1.34.0 19 Dec 2024

*) Feature: initial OpenTelemetry (OTEL) support. (Disabled by default).
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

![NGINX Unit Logo](docs/unitlogo.svg)

# NGINX Unit is actively seeking contributors and maintainers.
# NGINX Unit is actively seeking contributors and maintainers

Please see: [SUPPORT.md](/SUPPORT.md)

Expand All @@ -34,7 +34,8 @@ the most out of today's computing platforms.

### macOS

Run the following command to install both `unitd` (the Unit daemon) and `unitctl` (the control tool).
Run the following command to install both `unitd` (the Unit daemon) and
`unitctl` (the control tool).

``` console
$ brew install nginx/unit/unit
Expand Down
5 changes: 3 additions & 2 deletions SUPPORT.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Maintenance and support guidelines

# NGINX Unit is seeking new maintainers.
# NGINX Unit is seeking new maintainers

Going forward, NGINX Unit will no longer receive new features or enhancements from the project maintainers.
Going forward, NGINX Unit will no longer receive new features or
enhancements from the project maintainers.

NGINX Unit is still open to community contributions.

Expand Down
91 changes: 89 additions & 2 deletions docs/changes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
unit-jsc19 unit-jsc20 unit-jsc21
unit-wasm"
ver="1.35.0" rev="1"
date="" time=""
date="2025-09-03" time="18:00:00 +0000"
packager="Nginx Packaging &lt;[email protected]&gt;">

<change>
Expand All @@ -31,9 +31,96 @@ NGINX Unit updated to 1.35.0.


<changes apply="unit" ver="1.35.0" rev="1"
date="" time=""
date="2025-09-03" time="18:00:00 +0000"
packager="Nginx Packaging &lt;[email protected]&gt;">

<change type="security">
<para>
fix missing websocket payload length validation in the Java language module
which could lead to Java language module processes consuming excess CPU.
(CVE-2025-1695).
</para>
</change>

<change type="change">
<para>
if building with njs, version 0.9.0 or later is now required.
</para>
</change>

<change type="feature">
<para>
HTTP compression.
</para>
</change>

<change type="feature">
<para>
PHP 8.5 compatibility.
</para>
</change>

<change type="feature">
<para>
Ruby 3.4 compatibility.
</para>
</change>

<change type="feature">
<para>
Django 5.x compatibility.
</para>
</change>

<change type="feature">
<para>
Python Litestar WebSockets compatibility.
</para>
</change>

<change type="feature">
<para>
GCC 15 compatibility.
</para>
</change>

<change type="bugfix">
<para>
set SERVER_PORT to the actual value.
</para>
</change>

<change type="bugfix">
<para>
fix issue in node.js with duplicate headers in response.
</para>
</change>

<change type="bugfix">
<para>
fix WebSockets with Firefox.
</para>
</change>

<change type="bugfix">
<para>
fix incorrect websocket payload length calculation in the Java language module.
</para>
</change>

<change type="bugfix">
<para>
fix instability issues due to OpenTelemetry (OTEL) support.
</para>
</change>

<change type="bugfix">
<para>
fix issues with building OpenTelemetry (OTEL) support on various platforms,
including macOS.
</para>
</change>

</changes>


Expand Down
2 changes: 1 addition & 1 deletion docs/unit-openapi.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
openapi: 3.0.0
info:
title: "NGINX Unit 1.34.0"
title: "NGINX Unit 1.35.0"
description: "NGINX Unit is a lightweight and versatile application runtime
that provides the essential components for your web application as a
single open-source server: running application code, serving static assets,
Expand Down
2 changes: 1 addition & 1 deletion pkg/contrib/src/njs/SHA512SUMS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
a8c893593606ee5f16df65e0d7214b3487e39dbc85e0d2dd907dd086b8bf9f06b0b902000d31bdaa1836ae6aaae001d2624b4499daf887b775be5e79a32956aa njs-0.9.0.tar.gz
9e26936d88d56d7b90387ed45c291c955cd29aa9fcbb180a6eb267e9373ccb4904c343b6acf61bf4f3a21c8ad2d84fd0fcc328228683fbe349abd59f4ca92b63 njs-0.9.1.tar.gz
2 changes: 1 addition & 1 deletion pkg/contrib/src/njs/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
NJS_VERSION := 0.9.0
NJS_VERSION := 0.9.1
2 changes: 1 addition & 1 deletion pkg/contrib/src/wasmtime/SHA512SUMS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
758358d0e63d887b4816266e2f29af93c541808f42de5244814b9581a371302223e5e3fc63867e35c91f4ce3a14526aa4394c622c8bcea6dede4cb4679449965 wasmtime-v31.0.0-src.tar.gz
7b1d6bc524d42103b6a1513f6919f5a07c6d22ddc7b4b5d352639c183fd87aab2659380ecba021d1bc67300158797d65ad1673e2ac9a868693289a7cd424cb4a wasmtime-v35.0.0-src.tar.gz
2 changes: 1 addition & 1 deletion pkg/contrib/src/wasmtime/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
WASMTIME_VERSION := 31.0.0
WASMTIME_VERSION := 35.0.0
17 changes: 10 additions & 7 deletions pkg/docker/Dockerfile.go1.22 → pkg/docker/Dockerfile.go1.24
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
FROM golang:1.22-bookworm
FROM golang:1.24-bookworm

LABEL org.opencontainers.image.title="Unit (go1.22)"
LABEL org.opencontainers.image.title="Unit (go1.24)"
LABEL org.opencontainers.image.description="Official build of Unit for Docker."
LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <[email protected]>"
LABEL org.opencontainers.image.version="1.34.0"
LABEL org.opencontainers.image.version="1.35.0"

RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config libclang-dev cmake \
&& export RUST_VERSION=1.83.0 \
ca-certificates git build-essential libssl-dev libpcre2-dev zlib1g-dev libzstd-dev libbrotli-dev curl pkg-config pkgconf libclang-dev cmake \
&& export RUST_VERSION=1.89.0 \
&& export RUSTUP_HOME=/usr/src/unit/rustup \
&& export CARGO_HOME=/usr/src/unit/cargo \
&& export PATH=/usr/src/unit/cargo/bin:$PATH \
Expand All @@ -35,7 +35,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
&& git clone --depth 1 -b 1.34.0-1 https://github.com/nginx/unit \
&& git clone --depth 1 -b 1.35.0 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
Expand All @@ -55,7 +55,10 @@ RUN set -ex \
--libdir=/usr/lib/$DEB_HOST_MULTIARCH" \
&& CONFIGURE_ARGS="$CONFIGURE_ARGS_MODULES \
--njs \
--otel" \
--otel \
--zlib \
--zstd \
--brotli" \
&& make -j $NCPU -C pkg/contrib .njs \
&& export PKG_CONFIG_PATH=$(pwd)/pkg/contrib/njs/build \
&& ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
Expand Down
17 changes: 10 additions & 7 deletions pkg/docker/Dockerfile.go1.23 → pkg/docker/Dockerfile.go1.25
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
FROM golang:1.23-bookworm
FROM golang:1.25-bookworm

LABEL org.opencontainers.image.title="Unit (go1.23)"
LABEL org.opencontainers.image.title="Unit (go1.25)"
LABEL org.opencontainers.image.description="Official build of Unit for Docker."
LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <[email protected]>"
LABEL org.opencontainers.image.version="1.34.0"
LABEL org.opencontainers.image.version="1.35.0"

RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config libclang-dev cmake \
&& export RUST_VERSION=1.83.0 \
ca-certificates git build-essential libssl-dev libpcre2-dev zlib1g-dev libzstd-dev libbrotli-dev curl pkg-config pkgconf libclang-dev cmake \
&& export RUST_VERSION=1.89.0 \
&& export RUSTUP_HOME=/usr/src/unit/rustup \
&& export CARGO_HOME=/usr/src/unit/cargo \
&& export PATH=/usr/src/unit/cargo/bin:$PATH \
Expand All @@ -35,7 +35,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
&& git clone --depth 1 -b 1.34.0-1 https://github.com/nginx/unit \
&& git clone --depth 1 -b 1.35.0 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
Expand All @@ -55,7 +55,10 @@ RUN set -ex \
--libdir=/usr/lib/$DEB_HOST_MULTIARCH" \
&& CONFIGURE_ARGS="$CONFIGURE_ARGS_MODULES \
--njs \
--otel" \
--otel \
--zlib \
--zstd \
--brotli" \
&& make -j $NCPU -C pkg/contrib .njs \
&& export PKG_CONFIG_PATH=$(pwd)/pkg/contrib/njs/build \
&& ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
Expand Down
13 changes: 8 additions & 5 deletions pkg/docker/Dockerfile.jsc11
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <[email protected]>"
LABEL org.opencontainers.image.version="1.34.0"
LABEL org.opencontainers.image.version="1.35.0"

RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config libclang-dev cmake \
&& export RUST_VERSION=1.83.0 \
ca-certificates git build-essential libssl-dev libpcre2-dev zlib1g-dev libzstd-dev libbrotli-dev curl pkg-config pkgconf libclang-dev cmake \
&& export RUST_VERSION=1.89.0 \
&& export RUSTUP_HOME=/usr/src/unit/rustup \
&& export CARGO_HOME=/usr/src/unit/cargo \
&& export PATH=/usr/src/unit/cargo/bin:$PATH \
Expand All @@ -35,7 +35,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
&& git clone --depth 1 -b 1.34.0-1 https://github.com/nginx/unit \
&& git clone --depth 1 -b 1.35.0 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
Expand All @@ -55,7 +55,10 @@ RUN set -ex \
--libdir=/usr/lib/$DEB_HOST_MULTIARCH" \
&& CONFIGURE_ARGS="$CONFIGURE_ARGS_MODULES \
--njs \
--otel" \
--otel \
--zlib \
--zstd \
--brotli" \
&& make -j $NCPU -C pkg/contrib .njs \
&& export PKG_CONFIG_PATH=$(pwd)/pkg/contrib/njs/build \
&& ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
Expand Down
13 changes: 8 additions & 5 deletions pkg/docker/Dockerfile.minimal
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <[email protected]>"
LABEL org.opencontainers.image.version="1.34.0"
LABEL org.opencontainers.image.version="1.35.0"

RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config libclang-dev cmake \
&& export RUST_VERSION=1.83.0 \
ca-certificates git build-essential libssl-dev libpcre2-dev zlib1g-dev libzstd-dev libbrotli-dev curl pkg-config pkgconf libclang-dev cmake \
&& export RUST_VERSION=1.89.0 \
&& export RUSTUP_HOME=/usr/src/unit/rustup \
&& export CARGO_HOME=/usr/src/unit/cargo \
&& export PATH=/usr/src/unit/cargo/bin:$PATH \
Expand All @@ -35,7 +35,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
&& git clone --depth 1 -b 1.34.0-1 https://github.com/nginx/unit \
&& git clone --depth 1 -b 1.35.0 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
Expand All @@ -55,7 +55,10 @@ RUN set -ex \
--libdir=/usr/lib/$DEB_HOST_MULTIARCH" \
&& CONFIGURE_ARGS="$CONFIGURE_ARGS_MODULES \
--njs \
--otel" \
--otel \
--zlib \
--zstd \
--brotli" \
&& make -j $NCPU -C pkg/contrib .njs \
&& export PKG_CONFIG_PATH=$(pwd)/pkg/contrib/njs/build \
&& ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
Expand Down
Loading
Loading