Skip to content

Releases: myfreeer/nginx-build-msys2

1.23.3

31 Dec 03:47

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog

Changes with nginx 1.23.3                                        13 Dec 2022

    *) Bugfix: an error might occur when reading PROXY protocol version 2
       header with large number of TLVs.

    *) Bugfix: a segmentation fault might occur in a worker process if SSI
       was used to process subrequests created by other modules.
       Thanks to Ciel Zhao.

    *) Workaround: when a hostname used in the "listen" directive resolves
       to multiple addresses, nginx now ignores duplicates within these
       addresses.

    *) Bugfix: nginx might hog CPU during unbuffered proxying if SSL
       connections to backends were used.

1.23.2

23 Oct 11:21

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog

Changes with nginx 1.23.2                                        19 Oct 2022

    *) Security: processing of a specially crafted mp4 file by the
       ngx_http_mp4_module might cause a worker process crash, worker
       process memory disclosure, or might have potential other impact
       (CVE-2022-41741, CVE-2022-41742).

    *) Feature: the "$proxy_protocol_tlv_..." variables.

    *) Feature: TLS session tickets encryption keys are now automatically
       rotated when using shared memory in the "ssl_session_cache"
       directive.

    *) Change: the logging level of the "bad record type" SSL errors has
       been lowered from "crit" to "info".
       Thanks to Murilo Andrade.

    *) Change: now when using shared memory in the "ssl_session_cache"
       directive the "could not allocate new session" errors are logged at
       the "warn" level instead of "alert" and not more often than once per
       second.

    *) Bugfix: nginx/Windows could not be built with OpenSSL 3.0.x.

    *) Bugfix: in logging of the PROXY protocol errors.
       Thanks to Sergey Brester.

    *) Workaround: shared memory from the "ssl_session_cache" directive was
       spent on sessions using TLS session tickets when using TLSv1.3 with
       OpenSSL.

    *) Workaround: timeout specified with the "ssl_session_timeout"
       directive did not work when using TLSv1.3 with OpenSSL or BoringSSL.

1.23.1

07 Aug 10:41

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog

Changes with nginx 1.23.1                                        19 Jul 2022

    *) Feature: memory usage optimization in configurations with SSL
       proxying.

    *) Feature: looking up of IPv4 addresses while resolving now can be
       disabled with the "ipv4=off" parameter of the "resolver" directive.

    *) Change: the logging level of the "bad key share", "bad extension",
       "bad cipher", and "bad ecpoint" SSL errors has been lowered from
       "crit" to "info".

    *) Bugfix: while returning byte ranges nginx did not remove the
       "Content-Range" header line if it was present in the original backend
       response.

    *) Bugfix: a proxied response might be truncated during reconfiguration
       on Linux; the bug had appeared in 1.17.5.

1.23.0

10 Jul 06:10

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog


Changes with nginx 1.23.0                                        21 Jun 2022

    *) Change in internal API: now header lines are represented as linked
       lists.

    *) Change: now nginx combines arbitrary header lines with identical
       names when sending to FastCGI, SCGI, and uwsgi backends, in the
       $r->header_in() method of the ngx_http_perl_module, and during lookup
       of the "$http_...", "$sent_http_...", "$sent_trailer_...",
       "$upstream_http_...", and "$upstream_trailer_..." variables.

    *) Bugfix: if there were multiple "Vary" header lines in the backend
       response, nginx only used the last of them when caching.

    *) Bugfix: if there were multiple "WWW-Authenticate" header lines in the
       backend response and errors with code 401 were intercepted or the
       "auth_request" directive was used, nginx only sent the first of the
       header lines to the client.

    *) Change: the logging level of the "application data after close
       notify" SSL errors has been lowered from "crit" to "info".

    *) Bugfix: connections might hang if nginx was built on Linux 2.6.17 or
       newer, but was used on systems without EPOLLRDHUP support, notably
       with epoll emulation layers; the bug had appeared in 1.17.5.
       Thanks to Marcus Ball.

    *) Bugfix: nginx did not cache the response if the "Expires" response
       header line disabled caching, but following "Cache-Control" header
       line enabled caching.


1.22.1

23 Oct 11:20

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog

Changes with nginx 1.22.1                                        19 Oct 2022

    *) Security: processing of a specially crafted mp4 file by the
       ngx_http_mp4_module might cause a worker process crash, worker
       process memory disclosure, or might have potential other impact
       (CVE-2022-41741, CVE-2022-41742).

1.22.0

20 Jun 12:50

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog


Changes with nginx 1.22.0                                        24 May 2022

    *) 1.22.x stable branch.


Changes with nginx 1.21.6                                        25 Jan 2022

    *) Bugfix: when using EPOLLEXCLUSIVE on Linux client connections were
       unevenly distributed among worker processes.

    *) Bugfix: nginx returned the "Connection: keep-alive" header line in
       responses during graceful shutdown of old worker processes.

    *) Bugfix: in the "ssl_session_ticket_key" when using TLSv1.3.


Changes with nginx 1.21.5                                        28 Dec 2021

    *) Change: now nginx is built with the PCRE2 library by default.

    *) Change: now nginx always uses sendfile(SF_NODISKIO) on FreeBSD.

    *) Feature: support for sendfile(SF_NOCACHE) on FreeBSD.

    *) Feature: the $ssl_curve variable.

    *) Bugfix: connections might hang when using HTTP/2 without SSL with the
       "sendfile" and "aio" directives.


Changes with nginx 1.21.4                                        02 Nov 2021

    *) Change: support for NPN instead of ALPN to establish HTTP/2
       connections has been removed.

    *) Change: now nginx rejects SSL connections if ALPN is used by the
       client, but no supported protocols can be negotiated.

    *) Change: the default value of the "sendfile_max_chunk" directive was
       changed to 2 megabytes.

    *) Feature: the "proxy_half_close" directive in the stream module.

    *) Feature: the "ssl_alpn" directive in the stream module.

    *) Feature: the $ssl_alpn_protocol variable.

    *) Feature: support for SSL_sendfile() when using OpenSSL 3.0.

    *) Feature: the "mp4_start_key_frame" directive in the
       ngx_http_mp4_module.
       Thanks to Tracey Jaquith.

    *) Bugfix: in the $content_length variable when using chunked transfer
       encoding.

    *) Bugfix: after receiving a response with incorrect length from a
       proxied backend nginx might nevertheless cache the connection.
       Thanks to Awdhesh Mathpal.

    *) Bugfix: invalid headers from backends were logged at the "info" level
       instead of "error"; the bug had appeared in 1.21.1.

    *) Bugfix: requests might hang when using HTTP/2 and the "aio_write"
       directive.


Changes with nginx 1.21.3                                        07 Sep 2021

    *) Change: optimization of client request body reading when using
       HTTP/2.

    *) Bugfix: in request body filters internal API when using HTTP/2 and
       buffering of the data being processed.


Changes with nginx 1.21.2                                        31 Aug 2021

    *) Change: now nginx rejects HTTP/1.0 requests with the
       "Transfer-Encoding" header line.

    *) Change: export ciphers are no longer supported.

    *) Feature: OpenSSL 3.0 compatibility.

    *) Feature: the "Auth-SSL-Protocol" and "Auth-SSL-Cipher" header lines
       are now passed to the mail proxy authentication server.
       Thanks to Rob Mueller.

    *) Feature: request body filters API now permits buffering of the data
       being processed.

    *) Bugfix: backend SSL connections in the stream module might hang after
       an SSL handshake.

    *) Bugfix: the security level, which is available in OpenSSL 1.1.0 or
       newer, did not affect loading of the server certificates when set
       with "@SECLEVEL=N" in the "ssl_ciphers" directive.

    *) Bugfix: SSL connections with gRPC backends might hang if select,
       poll, or /dev/poll methods were used.

    *) Bugfix: when using HTTP/2 client request body was always written to
       disk if the "Content-Length" header line was not present in the
       request.


Changes with nginx 1.21.1                                        06 Jul 2021

    *) Change: now nginx always returns an error for the CONNECT method.

    *) Change: now nginx always returns an error if both "Content-Length"
       and "Transfer-Encoding" header lines are present in the request.

    *) Change: now nginx always returns an error if spaces or control
       characters are used in the request line.

    *) Change: now nginx always returns an error if spaces or control
       characters are used in a header name.

    *) Change: now nginx always returns an error if spaces or control
       characters are used in the "Host" request header line.

    *) Change: optimization of configuration testing when using many
       listening sockets.

    *) Bugfix: nginx did not escape """, "<", ">", "\", "^", "`", "{", "|",
       and "}" characters when proxying with changed URI.

    *) Bugfix: SSL variables might be empty when used in logs; the bug had
       appeared in 1.19.5.

    *) Bugfix: keepalive connections with gRPC backends might not be closed
       after receiving a GOAWAY frame.

    *) Bugfix: reduced memory consumption for long-lived requests when
       proxying with more than 64 buffers.


Changes with nginx 1.21.0                                        25 May 2021

    *) Security: 1-byte memory overwrite might occur during DNS server
       response processing if the "resolver" directive was used, allowing an
       attacker who is able to forge UDP packets from the DNS server to
       cause worker process crash or, potentially, arbitrary code execution
       (CVE-2021-23017).

    *) Feature: variables support in the "proxy_ssl_certificate",
       "proxy_ssl_certificate_key" "grpc_ssl_certificate",
       "grpc_ssl_certificate_key", "uwsgi_ssl_certificate", and
       "uwsgi_ssl_certificate_key" directives.

    *) Feature: the "max_errors" directive in the mail proxy module.

    *) Feature: the mail proxy module supports POP3 and IMAP pipelining.

    *) Feature: the "fastopen" parameter of the "listen" directive in the
       stream module.
       Thanks to Anbang Wen.

    *) Bugfix: special characters were not escaped during automatic redirect
       with appended trailing slash.

    *) Bugfix: connections with clients in the mail proxy module might be
       closed unexpectedly when using SMTP pipelining.

1.21.6

02 Feb 07:04

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog


Changes with nginx 1.21.6                                        25 Jan 2022

    *) Bugfix: when using EPOLLEXCLUSIVE on Linux client connections were
       unevenly distributed among worker processes.

    *) Bugfix: nginx returned the "Connection: keep-alive" header line in
       responses during graceful shutdown of old worker processes.

    *) Bugfix: in the "ssl_session_ticket_key" when using TLSv1.3.

1.21.5

01 Jan 06:52

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Changes

  • build: use pcre2 if supported

Sources

Nginx changelog


Changes with nginx 1.21.5                                        28 Dec 2021

    *) Change: now nginx is built with the PCRE2 library by default.

    *) Change: now nginx always uses sendfile(SF_NODISKIO) on FreeBSD.

    *) Feature: support for sendfile(SF_NOCACHE) on FreeBSD.

    *) Feature: the $ssl_curve variable.

    *) Bugfix: connections might hang when using HTTP/2 without SSL with the
       "sendfile" and "aio" directives.

1.21.4

13 Nov 11:43
eed9ea9

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Changes

  • build: create a git branch on tag checkout
  • build: slim build without openssl
  • build: set FD_SETSIZE to 1024
  • build: fix pcre url

Sources

Nginx changelog


Changes with nginx 1.21.4                                        02 Nov 2021

    *) Change: support for NPN instead of ALPN to establish HTTP/2
       connections has been removed.

    *) Change: now nginx rejects SSL connections if ALPN is used by the
       client, but no supported protocols can be negotiated.

    *) Change: the default value of the "sendfile_max_chunk" directive was
       changed to 2 megabytes.

    *) Feature: the "proxy_half_close" directive in the stream module.

    *) Feature: the "ssl_alpn" directive in the stream module.

    *) Feature: the $ssl_alpn_protocol variable.

    *) Feature: support for SSL_sendfile() when using OpenSSL 3.0.

    *) Feature: the "mp4_start_key_frame" directive in the
       ngx_http_mp4_module.
       Thanks to Tracey Jaquith.

    *) Bugfix: in the $content_length variable when using chunked transfer
       encoding.

    *) Bugfix: after receiving a response with incorrect length from a
       proxied backend nginx might nevertheless cache the connection.
       Thanks to Awdhesh Mathpal.

    *) Bugfix: invalid headers from backends were logged at the "info" level
       instead of "error"; the bug had appeared in 1.21.1.

    *) Bugfix: requests might hang when using HTTP/2 and the "aio_write"
       directive.

1.20.2

20 Nov 03:11
eed9ea9

Choose a tag to compare

Binaries

  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-slim-*-i686.exe: 32-bit nginx without openssl
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols
  • nginx-slim-*-x86_64.exe: 64-bit nginx without openssl

Sources

Nginx changelog

Changes with nginx 1.20.2                                        16 Nov 2021

    *) Feature: OpenSSL 3.0 compatibility.

    *) Bugfix: SSL variables might be empty when used in logs; the bug had
       appeared in 1.19.5.

    *) Bugfix: keepalive connections with gRPC backends might not be closed
       after receiving a GOAWAY frame.

    *) Bugfix: backend SSL connections in the stream module might hang after
       an SSL handshake.

    *) Bugfix: SSL connections with gRPC backends might hang if select,
       poll, or /dev/poll methods were used.

    *) Bugfix: in the $content_length variable when using chunked transfer
       encoding.

    *) Bugfix: requests might hang when using HTTP/2 and the "aio_write"
       directive.