Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.32.0 #1133

Merged
merged 4 commits into from
Feb 27, 2024
Merged

Release 1.32.0 #1133

merged 4 commits into from
Feb 27, 2024

Conversation

andrey-zelenkov
Copy link
Contributor

No description provided.

@ac000
Copy link
Member

ac000 commented Feb 16, 2024

The version bump shouldn't be part of this should it? Which of those commits do you see as being tagged as 1.32.0?

@andrey-zelenkov
Copy link
Contributor Author

The version bump shouldn't be part of this should it?

This commit can be excluded from the pull request, but it should still be added shortly after the release anyway.

Which of those commits do you see as being tagged as 1.32.0?

4117874

CHANGES Outdated
Comment on lines 2 to 54
Changes with Unit 1.32.0 26 Feb 2024

*) Feature: conditional access logging.

*) Feature: $request_id variable contains a string that is formed using
random data and can be used as a unique request identifier.

*) Feature: Ruby response field arrays.

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

*) Bugfix: HTTP header field value encoding could be misinterpreted in
Python module.

*) Bugfix: http.createServer() now accepts "options" argument introduced
in Node.js v9.6.0, v8.12.0.

*) 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: correct environment variables in Go module for macOS/arm64
systems.


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, should be a few more things getting added to this before the release, at the least

#1000
#1024
#1122

Would be nice to get this simple fix in

#999

Copy link
Contributor Author

@andrey-zelenkov andrey-zelenkov Feb 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, will edit this one once changes pushed.

Also going to update Dockerfiles if #1131 gets merged.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that should get merged.

CHANGES Outdated
@@ -1,4 +1,30 @@

Changes with Unit 1.32.0 26 Feb 2024
Copy link
Collaborator

@callahad callahad Feb 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Placeholder comment: the 26 Feb date may change by a few days. Need to ensure it doesn't conflict with any dates on the internal release calendar. 27th and 29th look free right now; will coordinate with release management folks to lock in a date.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's aim for 27 Feb 2024 here and in the changes.xml

@ac000
Copy link
Member

ac000 commented Feb 19, 2024

Currently missing changelog entries from my side...

02d1984c HTTP: Remove short read check in nxt_http_static_buf_completion() # Fixes static file serving under certain conditions
b500c36d Allow to set the permissions of the Unix domain control socket # File permissions, owner & group
0c983530 Node.js: Build/install fix
30b410e4 Avoid a segfault in nxt_conn_io_sendbuf() # Fixes a crash in the router process

@andrey-zelenkov
Copy link
Contributor Author

Rebased, updated changes.xml to include new entries, dockerfiles updated, CHANGES regenerated and date updated, docs/unit-openapi.yaml changes moved from 12f3db2 to 4bb90e5.

% git range-diff 8a8b28d1...12f3db2d
 -:  -------- >  1:  c3af21e9 Docker: Switch to github
 -:  -------- >  2:  baff936b Packages: Move dist target to git archive
 -:  -------- >  3:  34b3a812 Add nxt_file_chown()
 -:  -------- >  4:  b500c36d Allow to set the permissions of the Unix domain control socket
 -:  -------- >  5:  2bd3b418 Docs: Update man page for new --control-* options
 -:  -------- >  6:  1dca8602 Tools: disambiguate unitc control socket detection
 -:  -------- >  7:  756feafd Node.js: Use console.warn instead of stderr.write
 -:  -------- >  8:  ea239635 Docker: Switch python3.12 to using github
 -:  -------- >  9:  0c983530 Node.js: Build/install fix
 -:  -------- > 10:  30b410e4 Avoid a segfault in nxt_conn_io_sendbuf()
 -:  -------- > 11:  62894ae7 Var: Refactored nxt_var_ref_get()
 -:  -------- > 12:  01fd121c Var: Refactored nxt_http_unknown_var_ref()
 -:  -------- > 13:  63507c49 Var: Make nxt_var_cache_value() more general
 -:  -------- > 14:  46554015 Var: Introduced nxt_var_get()
 -:  -------- > 15:  63ad4deb NJS: Simplified nxt_js_call()
 -:  -------- > 16:  33c6c4d4 NJS: variable access support
 -:  -------- > 17:  183a1e9d Docker: redirect logs to stderr
 -:  -------- > 18:  5570d807 Packages: fixed a path to python 3.12 example app
 -:  -------- > 19:  53648ed5 Tools: Fix typo in tools/README.md
 -:  -------- > 20:  d24ae5a9 Add additional replace rules for node:* modules
 -:  -------- > 21:  bd0abdf0 Docker: Shallow clone the Unit repo
 -:  -------- > 22:  914cd4e3 .mailmap: Map some more personal addresses
 -:  -------- > 23:  d52a9361 Docker: Update versions of Go, Node, PHP, Ruby
 -:  -------- > 24:  2765522b Tests: NJS request variables
 -:  -------- > 25:  cca2c46e Tools: setup-unit: Use trap(1) to handle cleanup
 -:  -------- > 26:  d6ed0003 Tools: setup-unit: De-duplicate code
 -:  -------- > 27:  e9a0c49d Tools: setup-unit: Pass --fail-with-body to curl(1)
 -:  -------- > 28:  565a8ed0 Tools: setup-unit: ctl edit: Print file name on error
 -:  -------- > 29:  bc093ab3 Tools: setup-unit: Fix error message
 -:  -------- > 30:  6aa5ef63 Tools: setup-unit: ctl edit: Append suffix to tmp file name
 -:  -------- > 31:  f71ead5f Updated copyright notice.
 1:  64741ecf ! 32:  5fc71fc8 Edited changes.xml for the 1.32.0 release
    @@ docs/changes.xml: can be used as a unique request identifier.
      
      <change type="feature">
      <para>
    ++options to set control socket permissions.
    ++</para>
    ++</change>
    ++
    ++<change type="feature">
    ++<para>
     +Ruby response field arrays.
     +</para>
     +</change>
     +
     +<change type="bugfix">
     +<para>
    ++router could crash while sending large files. Thanks to rustedsword.
    ++</para>
    ++</change>
    ++
    ++<change type="bugfix">
    ++<para>
    ++trying to serve static files over a certain size could lead to error.
    ++</para>
    ++</change>
    ++
    ++<change type="bugfix">
    ++<para>
     +"uidmap" and "gidmap" isolation options validation.
     +</para>
     +</change>
    @@ docs/changes.xml: can be used as a unique request identifier.
      with Next.js.
      </para>
     @@ docs/changes.xml: ServerRequest.httpVersion variable format in Node.js module.
    + </para>
      </change>
      
    ++<change type="bugfix">
    ++<para>
    ++Node.js module name rules, notable for Nuxt applications.
    ++</para>
    ++</change>
      
     -</changes>
     -
 2:  d6b3c589 ! 33:  26337373 Generated Dockerfiles for Unit 1.32.0
    @@ Metadata
      ## Commit message ##
         Generated Dockerfiles for Unit 1.32.0
     
    - ## pkg/docker/Dockerfile.go1.20 ##
    -@@ pkg/docker/Dockerfile.go1.20: LABEL org.opencontainers.image.url="https://unit.nginx.org"
    + ## pkg/docker/Dockerfile.go1.21 ##
    +@@ pkg/docker/Dockerfile.go1.21: 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]>"
    @@ pkg/docker/Dockerfile.go1.20: LABEL org.opencontainers.image.url="https://unit.n
      
      RUN set -ex \
          && savedAptMark="$(apt-mark showmanual)" \
    -@@ pkg/docker/Dockerfile.go1.20: RUN set -ex \
    +@@ pkg/docker/Dockerfile.go1.21: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
     
    - ## pkg/docker/Dockerfile.go1.21 ##
    -@@ pkg/docker/Dockerfile.go1.21: LABEL org.opencontainers.image.url="https://unit.nginx.org"
    + ## pkg/docker/Dockerfile.go1.22 ##
    +@@ pkg/docker/Dockerfile.go1.22: 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]>"
    @@ pkg/docker/Dockerfile.go1.21: LABEL org.opencontainers.image.url="https://unit.n
      
      RUN set -ex \
          && savedAptMark="$(apt-mark showmanual)" \
    -@@ pkg/docker/Dockerfile.go1.21: RUN set -ex \
    +@@ pkg/docker/Dockerfile.go1.22: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.jsc11: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.minimal: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
     
    - ## pkg/docker/Dockerfile.node18 ##
    -@@ pkg/docker/Dockerfile.node18: LABEL org.opencontainers.image.url="https://unit.nginx.org"
    + ## pkg/docker/Dockerfile.node20 ##
    +@@ pkg/docker/Dockerfile.node20: 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]>"
    @@ pkg/docker/Dockerfile.node18: LABEL org.opencontainers.image.url="https://unit.n
      
      RUN set -ex \
          && savedAptMark="$(apt-mark showmanual)" \
    -@@ pkg/docker/Dockerfile.node18: RUN set -ex \
    +@@ pkg/docker/Dockerfile.node20: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
     
    - ## pkg/docker/Dockerfile.node20 ##
    -@@ pkg/docker/Dockerfile.node20: LABEL org.opencontainers.image.url="https://unit.nginx.org"
    + ## pkg/docker/Dockerfile.node21 ##
    +@@ pkg/docker/Dockerfile.node21: 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]>"
    @@ pkg/docker/Dockerfile.node20: LABEL org.opencontainers.image.url="https://unit.n
      
      RUN set -ex \
          && savedAptMark="$(apt-mark showmanual)" \
    -@@ pkg/docker/Dockerfile.node20: RUN set -ex \
    +@@ pkg/docker/Dockerfile.node21: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.perl5.36: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.perl5.38: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.php8.2: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
    +     && cd unit \
    +     && NCPU="$(getconf _NPROCESSORS_ONLN)" \
    +     && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    +
    + ## pkg/docker/Dockerfile.php8.3 ##
    +@@ pkg/docker/Dockerfile.php8.3: 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.31.1"
    ++LABEL org.opencontainers.image.version="1.32.0"
    + 
    + RUN set -ex \
    +     && savedAptMark="$(apt-mark showmanual)" \
    +@@ pkg/docker/Dockerfile.php8.3: 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.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.python3.11: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.python3.12: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.ruby3.2: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
    +     && cd unit \
    +     && NCPU="$(getconf _NPROCESSORS_ONLN)" \
    +     && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    +
    + ## pkg/docker/Dockerfile.ruby3.3 ##
    +@@ pkg/docker/Dockerfile.ruby3.3: 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.31.1"
    ++LABEL org.opencontainers.image.version="1.32.0"
    + 
    + RUN set -ex \
    +     && savedAptMark="$(apt-mark showmanual)" \
    +@@ pkg/docker/Dockerfile.ruby3.3: 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.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    @@ pkg/docker/Dockerfile.wasm: RUN set -ex \
          && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
          && mkdir -p /usr/src/unit \
          && cd /usr/src/unit \
    --    && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
    -+    && hg clone -u 1.32.0-1 https://hg.nginx.org/unit \
    +-    && git clone --depth 1 -b 1.31.1-1 https://github.com/nginx/unit \
    ++    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
 3:  41178745 ! 34:  4bb90e5f Added version 1.32.0 CHANGES
    @@ Commit message
      ## CHANGES ##
     @@
      
    -+Changes with Unit 1.32.0                                         26 Feb 2024
    ++Changes with Unit 1.32.0                                         27 Feb 2024
     +
     +    *) 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 response field arrays.
     +
    ++    *) Bugfix: router could crash while sending large files. Thanks to
    ++       rustedsword.
    ++
    ++    *) Bugfix: trying to serve static files over a certain size could lead
    ++       to error.
    ++
     +    *) Bugfix: "uidmap" and "gidmap" isolation options validation.
     +
     +    *) Bugfix: HTTP header field value encoding could be misinterpreted in
    @@ CHANGES
     +
     +    *) Bugfix: ServerRequest.httpVersion variable format in Node.js module.
     +
    ++    *) Bugfix: Node.js module name rules, notable for Nuxt applications.
    ++
     +    *) Bugfix: correct environment variables in Go module for macOS/arm64
     +       systems.
     +
    @@ docs/changes.xml: Initial release of Python 3.12 module for NGINX Unit.
                      unit-wasm"
               ver="1.32.0" rev="1"
     -         date="" time=""
    -+         date="2024-02-26" time="18:00:00 +0300"
    ++         date="2024-02-27" time="18:00:00 +0300"
               packager="Nginx Packaging &lt;[email protected]&gt;">
      
      <change>
      
      <change>
    @@ docs/changes.xml: NGINX Unit updated to 1.32.0.
      
      <changes apply="unit" ver="1.32.0" rev="1"
     -         date="" time=""
    -+         date="2024-02-26" time="18:00:00 +0300"
    ++         date="2024-02-27" time="18:00:00 +0300"
               packager="Nginx Packaging &lt;[email protected]&gt;">
      
      <change type="feature">
    +
    + ## docs/unit-openapi.yaml ##
    +@@
    + openapi: 3.0.0
    + info:
    +-  title: "NGINX Unit 1.31.1"
    ++  title: "NGINX Unit 1.32.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,
 4:  8a8b28d1 ! 35:  12f3db2d Version bump
    @@ docs/changes.xml
               date="2023-10-17" time="16:00:00 -0700"
               packager="Nginx Packaging &lt;[email protected]&gt;">
     
    - ## docs/unit-openapi.yaml ##
    -@@
    - openapi: 3.0.0
    - info:
    --  title: "NGINX Unit 1.31.1"
    -+  title: "NGINX Unit 1.32.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,
    -
      ## version ##
     @@
      ```

@andrey-zelenkov
Copy link
Contributor Author

One more forgotten change:

% git range-diff 12f3db2d...80e48e52
1:  5fc71fc8 ! 1:  62cb2b8c Edited changes.xml for the 1.32.0 release
    @@ docs/changes.xml: ServerRequest.httpVersion variable format in Node.js module.
      
     -</changes>
     -
    --
    ++<change type="bugfix">
    ++<para>
    ++Node.js tarball location changed to avoid build/install errors.
    ++</para>
    ++</change>
    + 
     -<changes apply="unit" ver="1.32.0" rev="1"
     -         date="" time=""
     -         packager="Nginx Packaging &lt;[email protected]&gt;">
2:  26337373 = 2:  783c319d Generated Dockerfiles for Unit 1.32.0
3:  4bb90e5f ! 3:  9bc0dcda Added version 1.32.0 CHANGES
    @@ CHANGES
     +
     +    *) Bugfix: Node.js module name rules, notable for Nuxt applications.
     +
    ++    *) Bugfix: Node.js tarball location changed to avoid build/install
    ++       errors.
    ++
     +    *) Bugfix: correct environment variables in Go module for macOS/arm64
     +       systems.
     +
4:  12f3db2d = 4:  80e48e52 Version bump

CHANGES Outdated Show resolved Hide resolved
@ac000
Copy link
Member

ac000 commented Feb 21, 2024 via email

@ac000
Copy link
Member

ac000 commented Feb 21, 2024

You can now mention 'WebAssembly WASI 0.2.0 Component Model support'

@tippexs @callahad will probably want to word it...

@andrey-zelenkov
Copy link
Contributor Author

Rebased and updated (+ regenerated) changes. Also corrected wording:

% git range-diff 80e48e52...dc70957f
 -:  -------- >  1:  697a5850 Python: bytearray body support for ASGI module.
 -:  -------- >  2:  56d3a1a7 Add GitHub Actions
 -:  -------- >  3:  bca44630 .mailmap: Map Dylan's GitHub address
 -:  -------- >  4:  f2e64475 Wasm-wc: Register a new Wasm component model language module type
 -:  -------- >  5:  f0782722 Wasm-wc: Add core configuration data structure
 -:  -------- >  6:  20ada4b5 Wasm-wc: Core of initial Wasm component model language module support
 -:  -------- >  7:  a9345dd4 Add a .rustfmt.toml file
 -:  -------- >  8:  79c81772 Wasm-wc: Run src/lib.rs through rustfmt
 -:  -------- >  9:  ac3a54d6 Wasm-wc: Improve request buffer handling
 -:  -------- > 10:  98f808af Wasm-wc: Upgrade to wasmtime 17
 -:  -------- > 11:  60eb6c43 Wasm-wc: Allow to use the 'reactor' adaptor again
 -:  -------- > 12:  8d030139 Wasm-wc: Add Cargo.lock
 -:  -------- > 13:  07a0c9a3 Wasm-wc: Wire up the language module to the config system
 -:  -------- > 14:  da44dc00 Fix alignment of wasm options text in auto/help
 -:  -------- > 15:  4e6d7e87 Wasm-wc: Wire it up to the build system
 -:  -------- > 16:  7702293d Docker: Bump rust version to 1.76.0
 -:  -------- > 17:  1297f6f0 Docker: Add wasm-wasi-component to the wasm target
 -:  -------- > 18:  4c558697 Docker: Re-generate Dockerfile.wasm
 -:  -------- > 19:  7883acc6 Tests: Ruby hook tests unstable for version older 3.0
 -:  -------- > 20:  99da2f3c Tests: check for the AddressSanitizer flag during discovery
 -:  -------- > 21:  dbd9d25f Tests: skip some of TLS reconfiguration tests under AddressSanitizer
 -:  -------- > 22:  cabea47d Tests: renamed test_python_procman.py since it's not Python-specific
 -:  -------- > 23:  3f805bc6 Packages: added wasm-wasi-component module packaging for deb-based distros
 -:  -------- > 24:  7a640556 Packages: added wasm-wasi-component module packaging for rpm-based distros
 -:  -------- > 25:  7b13c306 Wasm-wc: Add nxt_unit.o as a dependency in the auto script
 -:  -------- > 26:  d54af163 Wasm-wc: Use the cargo build output as the make target dependency
 -:  -------- > 27:  2f3c7c2c Update third-party java components to their recent versions
 1:  62cb2b8c ! 28:  e683ce4d Edited changes.xml for the 1.32.0 release
    @@ docs/changes.xml: NGINX Unit updated to 1.32.0.
      </change>
      
     -<change type="bugfix">
    --<para>
    --http.createServer() now accepts "options" argument introduced in Node.js v9.6.0, v8.12.0.
    --</para>
    --</change>
     +
     +</changes>
     +
    @@ docs/changes.xml: NGINX Unit updated to 1.32.0.
     +<changes apply="unit" ver="1.32.0" rev="1"
     +         date="" time=""
     +         packager="Nginx Packaging &lt;[email protected]&gt;">
    - 
    - <change type="feature">
    ++
    ++<change type="feature">
      <para>
    +-http.createServer() now accepts "options" argument introduced in Node.js v9.6.0, v8.12.0.
    ++WebAssembly WASI 0.2.0 Component Model.
    + </para>
    + </change>
    + 
     @@ docs/changes.xml: can be used as a unique request identifier.
      
      <change type="feature">
      <para>
    +-bytearray in response body for ASGI applications.
     +options to set control socket permissions.
     +</para>
     +</change>
    @@ docs/changes.xml: can be used as a unique request identifier.
     +<change type="feature">
     +<para>
     +Ruby response field arrays.
    + </para>
    + </change>
    + 
    + <change type="feature">
    + <para>
    ++bytearray in response body for ASGI applications.
     +</para>
     +</change>
     +
    @@ docs/changes.xml: can be used as a unique request identifier.
     +
     +<change type="bugfix">
     +<para>
    -+trying to serve static files over a certain size could lead to error.
    ++serving static files from a network filesystem could lead to error.
     +</para>
     +</change>
     +
 2:  783c319d ! 29:  5557634f Generated Dockerfiles for Unit 1.32.0
    @@ pkg/docker/Dockerfile.ruby3.3: RUN set -ex \
          && cd unit \
          && NCPU="$(getconf _NPROCESSORS_ONLN)" \
          && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
    -
    - ## pkg/docker/Dockerfile.wasm ##
    -@@ pkg/docker/Dockerfile.wasm: 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.31.1"
    -+LABEL org.opencontainers.image.version="1.32.0"
    - 
    - RUN set -ex \
    -     && savedAptMark="$(apt-mark showmanual)" \
    -@@ pkg/docker/Dockerfile.wasm: 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.31.1-1 https://github.com/nginx/unit \
    -+    && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
    -     && cd unit \
    -     && NCPU="$(getconf _NPROCESSORS_ONLN)" \
    -     && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
 3:  9bc0dcda ! 30:  581d64cd Added version 1.32.0 CHANGES
    @@ CHANGES
      
     +Changes with Unit 1.32.0                                         27 Feb 2024
     +
    ++    *) Feature: WebAssembly WASI 0.2.0 Component Model.
    ++
     +    *) Feature: conditional access logging.
     +
     +    *) Feature: NJS variables access.
    @@ CHANGES
     +
     +    *) Feature: Ruby response field arrays.
     +
    ++    *) Feature: bytearray in response body for ASGI applications.
    ++
     +    *) Bugfix: router could crash while sending large files. Thanks to
     +       rustedsword.
     +
    -+    *) Bugfix: trying to serve static files over a certain size could lead
    -+       to error.
    ++    *) Bugfix: serving static files from a network filesystem could lead to
    ++       error.
     +
     +    *) Bugfix: "uidmap" and "gidmap" isolation options validation.
     +
 4:  80e48e52 = 31:  dc70957f Version bump

@ac000
Copy link
Member

ac000 commented Feb 22, 2024

I wonder if it's worth mentioning these two patches of Alex's in the changelog?

commit 9e986704480de0d6b74dafa5ebcf775eaa88333a
Author: Alejandro Colomar <[email protected]>
Date:   Thu Feb 8 11:15:34 2024 +0100

    Configuration: Fix validation of "processes"
    
    It's an integer, not a floating number.
    
commit 46cef09f296d9a3d54b98331d25920fc6322bea8
Author: Alejandro Colomar <[email protected]>
Date:   Wed Jan 31 15:34:57 2024 +0100

    Configuration: Don't corrupt abstract socket names
    
    The commit that added support for Unix sockets accepts abstract sockets
    using '@' in the config, but we stored it internally using '\0'.
    
    We want to support abstract sockets transparently to the user, so that
    if the user configures unitd with '@', if we receive a query about the
    current configuration, the user should see the same exact thing that was
    configured.  So, this commit avoids the transformation in the internal
    state file, storing user input pristine, and we only transform the '@'
    in temporary strings.
    
    This commit fixes another bug, where we try to connect to abstract
    sockets with a trailing '\0' in their name due to calling twice
    nxt_sockaddr_parse() on the same string.  By calling that function only
    once with each copy of the string, we have fixed that bug.
    
    ...

@andrey-zelenkov
Copy link
Contributor Author

Configuration: Fix validation of "processes"

I don't think it worth to mention since this is more of a typo. I doubt that anyone seriously tried to use a non-integer number of processes.

Configuration: Don't corrupt abstract socket names

If I understand it correctly then this one actually worth to mention. Will add something like abstract socket names could be corrupted while router respawn or abstract socket names could be corrupted while replicating state to changes.xml. Thank you.

@andrey-zelenkov
Copy link
Contributor Author

andrey-zelenkov commented Feb 22, 2024

Done:

% git range-diff dc70957f...523b1b0a
1:  e683ce4d ! 1:  1f4b7131 Edited changes.xml for the 1.32.0 release
    @@ docs/changes.xml: can be used as a unique request identifier.
      <para>
     -bytearray in response body for ASGI applications.
     +options to set control socket permissions.
    -+</para>
    -+</change>
    -+
    -+<change type="feature">
    -+<para>
    -+Ruby response field arrays.
      </para>
      </change>
1:  e683ce4d ! 1:  1f4b7131 Edited changes.xml for the 1.32.0 release
    @@ docs/changes.xml: can be used as a unique request identifier.
      <para>
     -bytearray in response body for ASGI applications.
     +options to set control socket permissions.
    -+</para>
    -+</change>
    -+
    -+<change type="feature">
    -+<para>
    -+Ruby response field arrays.
      </para>
      </change>
      
      <change type="feature">
      <para>
    ++Ruby response field arrays.
    ++</para>
    ++</change>
    ++
    ++<change type="feature">
    ++<para>
     +bytearray in response body for ASGI applications.
     +</para>
     +</change>
    @@ docs/changes.xml: can be used as a unique request identifier.
     +
     +<change type="bugfix">
     +<para>
    ++abstract socket names were corrupted while router respawn. Thanks to Alejandro
    ++Colomar.
    ++</para>
    ++</change>
    ++
    ++<change type="bugfix">
    ++<para>
     +HTTP header field value encoding could be misinterpreted in Python module.
     +</para>
     +</change>
2:  5557634f = 2:  bca4a05f Generated Dockerfiles for Unit 1.32.0
3:  581d64cd ! 3:  6fc028dc Added version 1.32.0 CHANGES
    @@ CHANGES
     +
     +    *) Bugfix: "uidmap" and "gidmap" isolation options validation.
     +
    ++    *) Bugfix: abstract socket names were corrupted while router respawn.
    ++       Thanks to Alejandro Colomar.
    ++
     +    *) Bugfix: HTTP header field value encoding could be misinterpreted in
     +       Python module.
     +
4:  dc70957f = 4:  523b1b0a Version bump

@ac000
Copy link
Member

ac000 commented Feb 22, 2024

The abstract socket name corruption was... complex...

The simplest I could put it would be "... the abstract UNIX socket name could be corrupted during configuration validation..."

Specifically this kind of config would trigger it

"upstreams": {
    "u": {
        "servers": {
            "unix:@abstract": {}
        }
    }
}

due to calling nxt_sockaddr_unix_parse() twice...

See this thread starting here for the gory details.

@andrey-zelenkov
Copy link
Contributor Author

Rebased and reworded.

% git range-diff 523b1b0a...f5b84a3d
-:  -------- > 1:  e2cab032 Remove debug from builds and tests
-:  -------- > 2:  faa7e792 Packages: Pass CFLAGS to compile wasm modules on all packaging targets
1:  1f4b7131 ! 3:  f5798841 Edited changes.xml for the 1.32.0 release
    @@ docs/changes.xml: can be used as a unique request identifier.
     +
     +<change type="bugfix">
     +<para>
    -+abstract socket names were corrupted while router respawn. Thanks to Alejandro
    -+Colomar.
    ++abstract UNIX socket name could be corrupted during configuration validation.
    ++Thanks to Alejandro Colomar.
     +</para>
     +</change>
     +
2:  bca4a05f = 4:  e6241819 Generated Dockerfiles for Unit 1.32.0
3:  6fc028dc ! 5:  cd60e00d Added version 1.32.0 CHANGES
    @@ CHANGES
     +
     +    *) Bugfix: "uidmap" and "gidmap" isolation options validation.
     +
    -+    *) Bugfix: abstract socket names were corrupted while router respawn.
    -+       Thanks to Alejandro Colomar.
    ++    *) 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.
4:  523b1b0a = 6:  f5b84a3d Version bump

Copy link
Collaborator

@callahad callahad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy enough with where things are, but I think we can better describe what our changes actually do / mean. A few suggestions below.

docs/changes.xml Outdated


<changes apply="unit" ver="1.32.0" rev="1"
date="2024-02-27" time="18:00:00 +0300"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...Why UTC+3? Is that a nod to when we still had the Moscow office?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just copied from previous changes. Happy to set any UTC here (can suggest i.e. +0000)

docs/changes.xml Outdated
<para>
http.createServer() now accepts "options" argument introduced in Node.js v9.6.0, v8.12.0.
WebAssembly WASI 0.2.0 Component Model.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
WebAssembly WASI 0.2.0 Component Model.
Support for WebAssembly Components using WASI interfaces defined in wasi:http/proxy@0.2.0.

docs/changes.xml Outdated
packager="Nginx Packaging &lt;[email protected]&gt;">
<change type="bugfix">
<para>
correct environment variables in Go module for macOS/arm64 systems.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
correct environment variables in Go module for macOS/arm64 systems.
Go module now sets environment variables necessary for building on macOS/arm64 systems.

docs/changes.xml Outdated
@@ -97,13 +187,23 @@ ServerRequest.httpVersion variable format in Node.js module.
</para>
</change>

<change type="bugfix">
<para>
Node.js module name rules, notable for Nuxt applications.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Node.js module name rules, notable for Nuxt applications.
Node.js module now handles standard library imports prefixed with "node:", making it possible to run newer Nuxt applications, among others.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the word "now" seems redundant here and elsewhere. I would prefer to get rid of it wherever it already exists, instead of spreading it. All other changes look good, I'll add them in a few hours. Thanks!

docs/changes.xml Outdated
Comment on lines 172 to 173
http.createServer() now accepts "options" argument introduced in Node.js v9.6.0,
v8.12.0.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
http.createServer() now accepts "options" argument introduced in Node.js v9.6.0,
v8.12.0.
Node.js http.createServer() now accepts and ignores the "options" argument, improving compatibility with strapi applications, among others.

docs/changes.xml Outdated
</para>
</change>

<change type="feature">
<para>
bytearray in response body for ASGI applications.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bytearray in response body for ASGI applications.
Python now supports bytearray response bodies for ASGI applications.

docs/changes.xml Outdated

<change type="feature">
<para>
Ruby response field arrays.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ruby response field arrays.
Ruby now supports arrays in response headers, improving compatibility with Rack v3.0.

@ac000
Copy link
Member

ac000 commented Feb 26, 2024 via email

@andrey-zelenkov
Copy link
Contributor Author

Rebased and improved wording in changes.xml suggested by @callahad:

% git range-diff f5b84a3d...ccbed6c5
-:  -------- > 1:  9d02b906 Add PHP 8.2 and 8.1 to test matrix
-:  -------- > 2:  d5665f49 Update setup-go to v5
1:  f5798841 ! 3:  d0644670 Edited changes.xml for the 1.32.0 release
    @@ docs/changes.xml: NGINX Unit updated to 1.32.0.
     +<change type="feature">
      <para>
     -http.createServer() now accepts "options" argument introduced in Node.js v9.6.0, v8.12.0.
    -+WebAssembly WASI 0.2.0 Component Model.
    ++WebAssembly Components using WASI interfaces defined in wasi:http/[email protected].
      </para>
      </change>
      
    @@ docs/changes.xml: can be used as a unique request identifier.
      <para>
     -bytearray in response body for ASGI applications.
     +options to set control socket permissions.
    - </para>
    - </change>
    - 
    - <change type="feature">
    - <para>
    -+Ruby response field arrays.
     +</para>
     +</change>
     +
     +<change type="feature">
     +<para>
    -+bytearray in response body for ASGI applications.
    ++Ruby arrays in response headers, improving compatibility with Rack v3.0.
    + </para>
    + </change>
    + 
    + <change type="feature">
    + <para>
    ++Python bytearray response bodies for ASGI applications.
     +</para>
     +</change>
     +
    @@ docs/changes.xml: can be used as a unique request identifier.
     +
     +<change type="bugfix">
     +<para>
    -+http.createServer() now accepts "options" argument introduced in Node.js v9.6.0,
    -+v8.12.0.
    ++Node.js http.createServer() accepts and ignores the "options" argument,
    ++improving compatibility with strapi applications, among others.
     +</para>
     +</change>
     +
    @@ docs/changes.xml: ServerRequest.httpVersion variable format in Node.js module.
      
     +<change type="bugfix">
     +<para>
    -+Node.js module name rules, notable for Nuxt applications.
    ++Node.js module handles standard library imports prefixed with "node:", making it
    ++possible to run newer Nuxt applications, among others.
     +</para>
     +</change>
      
    @@ docs/changes.xml: ServerRequest.httpVersion variable format in Node.js module.
     -         packager="Nginx Packaging &lt;[email protected]&gt;">
     +<change type="bugfix">
     +<para>
    -+correct environment variables in Go module for macOS/arm64 systems.
    ++Go module sets environment variables necessary for building on macOS/arm64
    ++systems.
     +</para>
     +</change>
      
      </changes>
      
    +@@ docs/changes.xml: compatibility with Node.js 15.0.0 and above.
    + 
    + <change type="bugfix">
    + <para>
    +-Node.JS unit-http NPM module now has appropriate default paths for
    +-macOS/arm64 systems.
    ++Node.JS unit-http NPM module now has appropriate default paths for macOS/arm64
    ++systems.
    + </para>
    + </change>
    + 
2:  e6241819 = 4:  d2d44ac6 Generated Dockerfiles for Unit 1.32.0
3:  cd60e00d ! 5:  dcf0e276 Added version 1.32.0 CHANGES
    @@ CHANGES
      
     +Changes with Unit 1.32.0                                         27 Feb 2024
     +
    -+    *) Feature: WebAssembly WASI 0.2.0 Component Model.
    ++    *) Feature: WebAssembly Components using WASI interfaces defined in
    ++       wasi:http/[email protected].
     +
     +    *) Feature: conditional access logging.
     +
    @@ CHANGES
     +
     +    *) Feature: options to set control socket permissions.
     +
    -+    *) Feature: Ruby response field arrays.
    ++    *) Feature: Ruby arrays in response headers, improving compatibility
    ++       with Rack v3.0.
     +
    -+    *) Feature: bytearray in response body for ASGI applications.
    ++    *) Feature: Python bytearray response bodies for ASGI applications.
     +
     +    *) Bugfix: router could crash while sending large files. Thanks to
     +       rustedsword.
    @@ CHANGES
     +    *) Bugfix: HTTP header field value encoding could be misinterpreted in
     +       Python module.
     +
    -+    *) Bugfix: http.createServer() now accepts "options" argument introduced
    -+       in Node.js v9.6.0, v8.12.0.
    ++    *) 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 name rules, notable for Nuxt applications.
    ++    *) 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: correct environment variables in Go module for macOS/arm64
    -+       systems.
    ++    *) Bugfix: Go module sets environment variables necessary for building
    ++       on macOS/arm64 systems.
     +
     +
      Changes with Unit 1.31.1                                         19 Oct 2023
    @@ docs/changes.xml: Initial release of Python 3.12 module for NGINX Unit.
                      unit-wasm"
               ver="1.32.0" rev="1"
     -         date="" time=""
    -+         date="2024-02-27" time="18:00:00 +0300"
    ++         date="2024-02-27" time="18:00:00 +0000"
               packager="Nginx Packaging &lt;[email protected]&gt;">
      
      <change>
    @@ docs/changes.xml: NGINX Unit updated to 1.32.0.
      
      <changes apply="unit" ver="1.32.0" rev="1"
     -         date="" time=""
    -+         date="2024-02-27" time="18:00:00 +0300"
    ++         date="2024-02-27" time="18:00:00 +0000"
               packager="Nginx Packaging &lt;[email protected]&gt;">
      
      <change type="feature">
4:  f5b84a3d = 6:  ccbed6c5 Version bump

@callahad
Copy link
Collaborator

I'm happy enough with where things are. Thanks!

@andrey-zelenkov andrey-zelenkov merged commit e67d743 into nginx:master Feb 27, 2024
16 of 17 checks passed
@Juan48302
Copy link

Currently missing changelog entries from my side...

02d1984c HTTP: Remove short read check in nxt_http_static_buf_completion() # Fixes static file serving under certain conditions
b500c36d Allow to set the permissions of the Unix domain control socket # File permissions, owner & group
0c983530 Node.js: Build/install fix
30b410e4 Avoid a segfault in nxt_conn_io_sendbuf() # Fixes a crash in the router process

1 similar comment
@Juan48302
Copy link

Currently missing changelog entries from my side...

02d1984c HTTP: Remove short read check in nxt_http_static_buf_completion() # Fixes static file serving under certain conditions
b500c36d Allow to set the permissions of the Unix domain control socket # File permissions, owner & group
0c983530 Node.js: Build/install fix
30b410e4 Avoid a segfault in nxt_conn_io_sendbuf() # Fixes a crash in the router process

@tippexs
Copy link
Contributor

tippexs commented Mar 8, 2024

Good morning @Juan48302 . Thanks for reaching out but we are not adding all fixes / refactoring to the CHANGES document.

b500c36d is mentioned in the CHANGES as *) Feature: options to set control socket permissions.
The other Bugfixes where small fixes so we decided not to mention them in the CHANGES.

@ac000
Copy link
Member

ac000 commented Mar 8, 2024

@tippexs Those comments look like spam... that's a comment of mine that is being quoted...

@callahad
Copy link
Collaborator

callahad commented Mar 8, 2024

Reported

@andrey-zelenkov andrey-zelenkov deleted the release_1_32_0 branch March 15, 2024 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants