NGINX Unit is a dynamic web application server, designed to run applications
in multiple languages. Unit is lightweight, polyglot, and dynamically
configured via API. The design of the server allows reconfiguration of
specific application parameters as needed by the engineering or operations.
===> The following configuration options are available for unit-java8-1.35.0_1:
DEBUG=off: Enable debug logging
IPV6=on: IPv6 protocol support
NJS=off: Enable NGINX JavaScript
OTEL=off: Enable OpenTelemetry
UNIXSOCK=on: Enable unix sockets
===> Use 'make config' to modify these settings
*/*unit*: update NGINX Unit: 1.34.2 -> 1.35.0
Going forward, NGINX Unit will no longer receive new features or
enhancements from the project maintainers.
NGINX Unit is still open to community contributions.
The team is focusing its limited capacity to keep NGINX Unit stable,
secure and high-quality. Its focus will be on critical maintenance, such
as for security issues, dependency upgrades, and resolving crashes or
undefined behavior.
<ChangeLog>
*) Security: fix missing websocket payload length validation in the Java
(Only the first 15 lines of the commit message are shown above )
*/*unit*: security update NGINX Unit: 1.34.1 -> 1.34.2
<ChangeLog>
*) 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).
*) Bugfix: fix incorrect websocket payload length calculation in the
Java language module.
</ChangeLog>
*/*unit*: update NGINX Unit: 1.34.0 -> 1.34.1
<ChangeLog>
*) Bugfix: fix instability issues due to OpenTelemetry (OTEL) support.
*) Bugfix: fix issues with building OpenTelemetry (OTEL) support on
various platforms, including macOS.
</ChangeLog>
Mk/**java.mk: Convert bsd.java.mk to USES
The following features have been added or changed:
- Instead of USE_JAVA use USES=java. This defaults to
USES=java:build,run if NO_BUILD is undefined. Else it defaults to
USES=java:run
- Instead of USE_ANT=yes use USES=java:ant which also implies
USES=java:build
- Instead of JAVA_BUILD=yes use USES=java:build. Does not imply run or
extract
- Instead of JAVA_EXTRACT=yes use USES=java:extract does not imply
build or run
- Instead of JAVA_RUN=yes use USES=java:run does not imply extract or
build
- Instead of USE_JAVA=<version> use USES=java and JAVA_VERSION=<version>
Approved by: mat (portmgr), glewis
Differential Revision: https://reviews.freebsd.org/D48201
*/*unit*: update NGINX Unit: 1.33.0 -> 1.34.0
Other changes:
- enable SSL support (corresponding knob is removed)
- enable PCRE2 support (PCRE, PCRE2, REGEX, NOPCRE knobs are removed)
- add QuickJS library as a dependency for the unitd+njs build
The unitd OTel support is the rust-based software. I was inspired
by the devel/xtensa-esp-elf/Makefile, so create the corresponding
solution.
<ChangeLog>
*) Feature: initial OpenTelemetry (OTEL) support. (Disabled by default).
*) Feature: support for JSON formatted access logs.
*) Bugfix: tweak the Perl language module to avoid breaking scripts in
some circumstances.
</ChangeLog>
*/*unit*: update NGINX Unit: 1.32.0 -> 1.32.1
<ChangeLog>
*) Bugfix: NJS variables in templates may have incorrect values due to
improper caching.
*) Bugfix: Wasm application process hangs after receiving restart signal
from the control.
</ChangeLog>
*/*unit*: update NGINX Unit: 1.31.1 -> 1.32.0
<ChangeLog>
*) Feature: WebAssembly Components using WASI interfaces defined in
wasi:http/proxy@0.2.0.
*) Feature: conditional access logging.
*) Feature: NJS variables access.
*) Feature: $request_id variable contains a string that is formed using
random data and can be used as a unique request identifier.
*) Feature: options to set control socket permissions.
(Only the first 15 lines of the commit message are shown above )
*/*unit*: update NGINX Unit: 1.31.0 -> 1.31.1
<ChangeLog>
*) Feature: allow to set the HTTP response status in Wasm module.
*) Feature: allow uploads larger than 4GiB in Wasm module.
*) Bugfix: application process could crash while rewriting URLs with
query strings.
*) Bugfix: requests larger than about 64MiB could cause error in Wasm
module.
*) Bugfix: when using many headers in Java module some of them could be
(Only the first 15 lines of the commit message are shown above )
*/*unit*: update NGINX Unit: 1.30.0 -> 1.31.0
Add www/unit-wasm port, connect to build.
<ChangeLog>
*) Change: if building with njs, version 0.8.0 or later is now required.
*) Feature: technology preview of WebAssembly application module.
*) Feature: "response_headers" option to manage headers in the action
and fallback.
*) Feature: HTTP response header variables.
*) Feature: ASGI lifespan state support. Thanks to synodriver.
*) Bugfix: ensure that $uri variable is not cached.
*) Bugfix: deprecated options were unavailable.
*) Bugfix: ASGI applications inaccessible over IPv6.
</ChangeLog>
*/*unit*: update NGINX Unit: 1.29.0 -> 1.29.1
<ChangeLog>
*) Bugfix: stop creating world-writeable directories.
*) Bugfix: memory leak related to NJS.
*) Bugfix: path parsing in PHP applications.
*) Bugfix: enabled UTF-8 for Python config by default to avoid
applications failing in some cases.
*) Bugfix: using asyncio.get_running_loop() instead of
asyncio.get_event_loop() when it's available to prevent errors in
some Python ASGI applications.
*) Bugfix: applications that make use of various low level APIs such as
pthreads could fail to work correctly.
*) Bugfix: websocket endianness detection for obscure operating systems.
</ChangeLog>
*/unit*: update NGINX Unit from 1.28.0 to 1.29.0
<ChangeLog>
*) Change: removed $uri auto-append for "share" when loading
configuration.
*) Change: prefer system crypto policy instead of hardcoding a default.
*) Feature: njs support with the basic syntax of JS template literals.
*) Feature: support per-application cgroups on Linux.
*) Feature: the $request_time variable contains the request processing
time.
(Only the first 15 lines of the commit message are shown above )
www/unit*: update from 1.26.1* to 1.27.0
<ChangeLog>
*) Feature: ability to specify a custom index file name when serving
static files.
*) Feature: variables support in the "location" option of the "return"
action.
*) Feature: support empty strings in the "location" option of the
"return" action.
*) Feature: added a new variable, $request_uri, that includes both the
path and the query parts as per RFC 3986, sections 3-4.
(Only the first 15 lines of the commit message are shown above )
www/unit-*: use more canonical way to configure and build
NGINX Unit modules ports depend on www/unit and require to run
an additional configure command for a specific version of a
programming language. This change make those commands more
consistent with configure and make parameters for the Unit
binary and its modules.
Bump PORTREVISIONs.
www/unit*: update to the recent bugfix release 1.26.1
<ChangeLog>
*) Bugfix: occasionally, the Unit daemon was unable to fully terminate;
the bug had appeared in 1.26.0.
*) Bugfix: a prototype process could crash on an application process
exit; the bug had appeared in 1.26.0.
*) Bugfix: the router process crashed on reconfiguration if "access_log"
was configured without listeners.
*) Bugfix: a segmentation fault occurred in the PHP module if chdir() or
fastcgi_finish_request() was called in the OPcache preloading script.
*) Bugfix: fatal errors on DragonFly BSD; the bug had appeared in
1.26.0.
</ChangeLog>
www/unit: update from 1.25.0 to 1.26.0.
Event: FreeBSD Vendor Summit 2021
<ChangeLog>
*) Change: the "share" option now specifies the entire path to the files
it serves, rather than a document root directory to be prepended to
the request URI.
*) Feature: automatic adjustment of existing configurations to the new
"share" behavior when updating from previous versions.
*) Feature: variables support in the "share" option.
(Only the first 15 lines of the commit message are shown above )
www/unit: update from 1.23.0 to 1.24.0.
Update distinfo file for www/unit-java.
Also, remove needless "3.6+" flag for python dependency because
www/unit supports all python versions.
<ChangeLog>
*) Change: PHP added to the default MIME type list.
*) Feature: arbitrary configuration of TLS connections via OpenSSL
commands.
*) Feature: the ability to limit static file serving by MIME types.
(Only the first 15 lines of the commit message are shown above )
Update from 1.22.0 to 1.23.0.
<ChangeLog>
*) Feature: support for multiple certificate bundles on a listener via
the Server Name Indication (SNI) TLS extension.
*) Feature: "--mandir" ./configure option to specify the directory for
man page installation.
*) Bugfix: the router process could crash on premature TLS connection
close; the bug had appeared in 1.17.0.
*) Bugfix: a connection leak occurred on premature TLS connection close;
the bug had appeared in 1.6.
(Only the first 15 lines of the commit message are shown above )
Update from 1.21.0 to 1.22.0.
<ChangeLog>
*) Feature: the ServerRequest and ServerResponse objects of Node.js
module are now compliant with Stream API.
*) Feature: support for specifying multiple directories in the "path"
option of Python apps.
*) Bugfix: a memory leak occurred in the router process when serving
files larger than 128K; the bug had appeared in 1.13.0.
*) Bugfix: apps could stop processing new requests under high load; the
bug had appeared in 1.19.0.
(Only the first 15 lines of the commit message are shown above )
Update from 1.20.0 to 1.21.0.
<ChangeLog>
*) Change: procfs is mounted by default for all languages when "rootfs"
isolation is used.
*) Change: any characters valid according to RFC 7230 are now allowed in
HTTP header field names.
*) Change: HTTP header fields with underscores ("_") are now discarded
from requests by default.
*) Feature: optional multithreaded request processing for Java, Python,
Perl, and Ruby apps.
(Only the first 15 lines of the commit message are shown above )