Unit 1.32.0 released

Timo Stark t.stark at f5.com
Tue Feb 27 19:33:36 UTC 2024


Hi, NGINX Unit community,

Unit 1.32.0 comes with a new language module for WebAssembly that supports the
WASI 0.2 HTTP world so that WebAssembly Components implementing this interface
can be hosted on Unit.

This new language module improves upon the existing WebAssembly support.
We recommend all users to use this new implementation for WebAssembly.
We consider the old unit-wasm module deprecated now.

Additionally, we have added the following features:

*) Enhanced the NJS (NGINX JavaScript) experience by making all Unit variables
   accessible from JavaScript

*) Added support for conditional access logging, to help you filter the requests
   that are logged

*) Added support for changing Unit's control socket permissions

*) Added a new variable, $request_id

To learn more, see our blog post about this release:
https://unit.nginx.org/news/2024/unit-1.32.0-released/

Changes with Unit 1.32.0                                         27 Feb 2024

    *) Feature: WebAssembly Components using WASI interfaces defined in
       wasi:http/proxy at 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.

    *) Feature: Ruby arrays in response headers, improving compatibility
       with Rack v3.0.

    *) Feature: Python bytearray response bodies for ASGI applications.

    *) Bugfix: router could crash while sending large files. Thanks to
       rustedsword.

    *) Bugfix: serving static files from a network filesystem could lead to
       error.

    *) Bugfix: "uidmap" and "gidmap" isolation options validation.

    *) Bugfix: abstract UNIX socket name could be corrupted during
       configuration validation. Thanks to Alejandro Colomar.

    *) Bugfix: HTTP header field value encoding could be misinterpreted in
       Python module.
  
    *) Bugfix: Node.js http.createServer() accepts and ignores the "options"
       argument, improving compatibility with strapi applications, among
       others.

    *) Bugfix: ServerRequest.flushHeaders() implemented in Node.js module to
       make it compatible with Next.js.

    *) Bugfix: ServerRequest.httpVersion variable format in Node.js module.

    *) Bugfix: Node.js module handles standard library imports prefixed with
       "node:", making it possible to run newer Nuxt applications, among
       others.

    *) Bugfix: Node.js tarball location changed to avoid build/install
       errors.

    *) Bugfix: Go module sets environment variables necessary for building
       on macOS/arm64 systems.

Wbr, Timo & the Unit team


More information about the unit mailing list