xref: /unit/docs/changes.xml (revision 1870)
1369Sdefan@nginx.com<?xml version="1.0" ?>
2369Sdefan@nginx.com<!DOCTYPE change_log SYSTEM "changes.dtd" >
3369Sdefan@nginx.com
4369Sdefan@nginx.com
5369Sdefan@nginx.com<change_log title="unit">
6369Sdefan@nginx.com
7369Sdefan@nginx.com
81834Svbart@nginx.com<changes apply="unit-php
91834Svbart@nginx.com                unit-python unit-python2.7
101834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
111834Svbart@nginx.com                unit-python3.8 unit-python3.9
121834Svbart@nginx.com                unit-go
131834Svbart@nginx.com                unit-perl
141834Svbart@nginx.com                unit-ruby
151834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
161834Svbart@nginx.com                unit-jsc14 unit-jsc15"
171839Svbart@nginx.com         ver="1.24.0" rev="1"
181839Svbart@nginx.com         date="" time=""
191839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
201839Svbart@nginx.com
211839Svbart@nginx.com<change>
221839Svbart@nginx.com<para>
231839Svbart@nginx.comNGINX Unit updated to 1.24.0.
241839Svbart@nginx.com</para>
251839Svbart@nginx.com</change>
261839Svbart@nginx.com
271839Svbart@nginx.com</changes>
281839Svbart@nginx.com
291839Svbart@nginx.com
301839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
311839Svbart@nginx.com         date="" time=""
321839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
331839Svbart@nginx.com
341855Sz.hong@f5.com<change type="feature">
351855Sz.hong@f5.com<para>
361865So.canty@f5.coma shim for automatic overriding "http" and "websocket" modules in Node.js.
371865So.canty@f5.com</para>
381865So.canty@f5.com</change>
391865So.canty@f5.com
401865So.canty@f5.com<change type="feature">
411865So.canty@f5.com<para>
421859So.canty@f5.comability to limit serving of static files by MIME types.
431859So.canty@f5.com</para>
441859So.canty@f5.com</change>
451859So.canty@f5.com
461859So.canty@f5.com<change type="feature">
471859So.canty@f5.com<para>
481855Sz.hong@f5.comsupport for chrooting, rejecting symlinks, and rejecting crossing mounting
491855Sz.hong@f5.compoints on a per-request basis during static file serving.
501855Sz.hong@f5.com</para>
511855Sz.hong@f5.com</change>
521855Sz.hong@f5.com
53*1870So.canty@f5.com<change type="feature">
54*1870So.canty@f5.com<para>
55*1870So.canty@f5.comcompatibility with Ruby 3.0.
56*1870So.canty@f5.com</para>
57*1870So.canty@f5.com</change>
58*1870So.canty@f5.com
591861Svbart@nginx.com<change type="bugfix">
601861Svbart@nginx.com<para>
611861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
621861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
631861Svbart@nginx.com</para>
641861Svbart@nginx.com</change>
651861Svbart@nginx.com
661839Svbart@nginx.com</changes>
671839Svbart@nginx.com
681839Svbart@nginx.com
691839Svbart@nginx.com<changes apply="unit-php
701839Svbart@nginx.com                unit-python unit-python2.7
711839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
721839Svbart@nginx.com                unit-python3.8 unit-python3.9
731839Svbart@nginx.com                unit-go
741839Svbart@nginx.com                unit-perl
751839Svbart@nginx.com                unit-ruby
761839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
771839Svbart@nginx.com                unit-jsc14 unit-jsc15"
781834Svbart@nginx.com         ver="1.23.0" rev="1"
791834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
801834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
811834Svbart@nginx.com
821834Svbart@nginx.com<change>
831834Svbart@nginx.com<para>
841834Svbart@nginx.comNGINX Unit updated to 1.23.0.
851834Svbart@nginx.com</para>
861834Svbart@nginx.com</change>
871834Svbart@nginx.com
881834Svbart@nginx.com</changes>
891834Svbart@nginx.com
901834Svbart@nginx.com
911806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
921834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
931806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
941806Svbart@nginx.com
951825Sthresh@nginx.com<change type="feature">
961825Sthresh@nginx.com<para>
971833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
981828Sa.suvorov@f5.comIndication (SNI) TLS extension.
991828Sa.suvorov@f5.com</para>
1001828Sa.suvorov@f5.com</change>
1011828Sa.suvorov@f5.com
1021828Sa.suvorov@f5.com<change type="feature">
1031828Sa.suvorov@f5.com<para>
1041833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
1051833Sartem.konev@nginx.cominstallation.
1061825Sthresh@nginx.com</para>
1071825Sthresh@nginx.com</change>
1081825Sthresh@nginx.com
1091811Smax.romanov@nginx.com<change type="bugfix">
1101811Smax.romanov@nginx.com<para>
1111812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
1121812Svbart@nginx.comappeared in 1.17.0.
1131812Svbart@nginx.com</para>
1141812Svbart@nginx.com</change>
1151812Svbart@nginx.com
1161812Svbart@nginx.com<change type="bugfix">
1171812Svbart@nginx.com<para>
1181833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
1191812Svbart@nginx.comappeared in 1.6.
1201812Svbart@nginx.com</para>
1211812Svbart@nginx.com</change>
1221812Svbart@nginx.com
1231812Svbart@nginx.com<change type="bugfix">
1241812Svbart@nginx.com<para>
1251833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
1261832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
1271832Smax.romanov@nginx.com</para>
1281832Smax.romanov@nginx.com</change>
1291832Smax.romanov@nginx.com
1301832Smax.romanov@nginx.com<change type="bugfix">
1311832Smax.romanov@nginx.com<para>
1321833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
1331811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
1341811Smax.romanov@nginx.com</para>
1351811Smax.romanov@nginx.com</change>
1361806Svbart@nginx.com
1371813Svbart@nginx.com<change type="bugfix">
1381813Svbart@nginx.com<para>
1391813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
1401813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
1411813Svbart@nginx.com</para>
1421813Svbart@nginx.com</change>
1431813Svbart@nginx.com
1441814Svbart@nginx.com<change type="bugfix">
1451814Svbart@nginx.com<para>
1461820Svbart@nginx.comthe controller process could crash while requesting information about a
1471820Svbart@nginx.comcertificate with a non-DNS SAN entry.
1481820Svbart@nginx.com</para>
1491820Svbart@nginx.com</change>
1501820Svbart@nginx.com
1511820Svbart@nginx.com<change type="bugfix">
1521820Svbart@nginx.com<para>
1531822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
1541833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
1551822Svbart@nginx.com</para>
1561822Svbart@nginx.com</change>
1571822Svbart@nginx.com
1581822Svbart@nginx.com<change type="bugfix">
1591822Svbart@nginx.com<para>
1601833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
1611833Sartem.konev@nginx.comclass.
1621814Svbart@nginx.com</para>
1631814Svbart@nginx.com</change>
1641814Svbart@nginx.com
1651815Svbart@nginx.com<change type="bugfix">
1661815Svbart@nginx.com<para>
1671815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
1681815Svbart@nginx.comappeared in 1.22.0.
1691815Svbart@nginx.com</para>
1701815Svbart@nginx.com</change>
1711815Svbart@nginx.com
1721806Svbart@nginx.com</changes>
1731806Svbart@nginx.com
1741806Svbart@nginx.com
1751798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
1761798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1771798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1781798Sdefan@nginx.com
1791798Sdefan@nginx.com<change>
1801798Sdefan@nginx.com<para>
1811798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
1821798Sdefan@nginx.com</para>
1831798Sdefan@nginx.com</change>
1841798Sdefan@nginx.com
1851798Sdefan@nginx.com</changes>
1861798Sdefan@nginx.com
1871798Sdefan@nginx.com
1881763Sdefan@nginx.com<changes apply="unit-php
1891763Sdefan@nginx.com                unit-python unit-python2.7
1901763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1911763Sdefan@nginx.com                unit-python3.8
1921763Sdefan@nginx.com                unit-go
1931763Sdefan@nginx.com                unit-perl
1941763Sdefan@nginx.com                unit-ruby
1951763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1961763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
1971763Sdefan@nginx.com         ver="1.22.0" rev="1"
1981793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1991763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2001763Sdefan@nginx.com
2011763Sdefan@nginx.com<change>
2021763Sdefan@nginx.com<para>
2031763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
2041763Sdefan@nginx.com</para>
2051763Sdefan@nginx.com</change>
2061763Sdefan@nginx.com
2071763Sdefan@nginx.com</changes>
2081763Sdefan@nginx.com
2091763Sdefan@nginx.com
2101727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
2111793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2121727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2131727Svbart@nginx.com
2141759Svbart@nginx.com<change type="feature">
2151759Svbart@nginx.com<para>
2161792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
2171792Svbart@nginx.comcompliant with Stream API.
2181759Svbart@nginx.com</para>
2191759Svbart@nginx.com</change>
2201759Svbart@nginx.com
2211766Smax.romanov@nginx.com<change type="feature">
2221766Smax.romanov@nginx.com<para>
2231792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
2241792Svbart@nginx.comapps.
2251732Svbart@nginx.com</para>
2261732Svbart@nginx.com</change>
2271732Svbart@nginx.com
2281733Svbart@nginx.com<change type="bugfix">
2291733Svbart@nginx.com<para>
2301792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
2311792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
2321754Smax.romanov@nginx.com</para>
2331754Smax.romanov@nginx.com</change>
2341754Smax.romanov@nginx.com
2351755Smax.romanov@nginx.com<change type="bugfix">
2361755Smax.romanov@nginx.com<para>
2371790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
2381755Smax.romanov@nginx.comappeared in 1.19.0.
2391755Smax.romanov@nginx.com</para>
2401755Smax.romanov@nginx.com</change>
2411755Smax.romanov@nginx.com
2421756Smax.romanov@nginx.com<change type="bugfix">
2431756Smax.romanov@nginx.com<para>
2441790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
2451790Sartem.konev@nginx.comappeared in 1.19.0.
2461756Smax.romanov@nginx.com</para>
2471756Smax.romanov@nginx.com</change>
2481756Smax.romanov@nginx.com
2491760Smax.romanov@nginx.com<change type="bugfix">
2501760Smax.romanov@nginx.com<para>
2511792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
2521792Svbart@nginx.com</para>
2531792Svbart@nginx.com</change>
2541792Svbart@nginx.com
2551792Svbart@nginx.com<change type="bugfix">
2561792Svbart@nginx.com<para>
2571792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
2581792Svbart@nginx.commissing in the PHP module.
2591792Svbart@nginx.com</para>
2601792Svbart@nginx.com</change>
2611792Svbart@nginx.com
2621792Svbart@nginx.com<change type="bugfix">
2631792Svbart@nginx.com<para>
2641792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
2651792Svbart@nginx.com</para>
2661792Svbart@nginx.com</change>
2671792Svbart@nginx.com
2681792Svbart@nginx.com<change type="bugfix">
2691792Svbart@nginx.com<para>
2701792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
2711792Svbart@nginx.com</para>
2721792Svbart@nginx.com</change>
2731792Svbart@nginx.com
2741792Svbart@nginx.com<change type="bugfix">
2751792Svbart@nginx.com<para>
2761792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
2771792Svbart@nginx.comthe bug had appeared in 1.21.0.
2781760Smax.romanov@nginx.com</para>
2791760Smax.romanov@nginx.com</change>
2801760Smax.romanov@nginx.com
2811780Smax.romanov@nginx.com<change type="bugfix">
2821780Smax.romanov@nginx.com<para>
2831790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
2841790Sartem.konev@nginx.comWebSocket.
2851780Smax.romanov@nginx.com</para>
2861780Smax.romanov@nginx.com</change>
2871780Smax.romanov@nginx.com
2881789Smax.romanov@nginx.com<change type="bugfix">
2891789Smax.romanov@nginx.com<para>
2901789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
2911789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
2921789Smax.romanov@nginx.com</para>
2931789Smax.romanov@nginx.com</change>
2941789Smax.romanov@nginx.com
2951727Svbart@nginx.com</changes>
2961727Svbart@nginx.com
2971727Svbart@nginx.com
2981722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
2991722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3001722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3011722Svbart@nginx.com
3021722Svbart@nginx.com<change>
3031722Svbart@nginx.com<para>
3041722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
3051722Svbart@nginx.com</para>
3061722Svbart@nginx.com</change>
3071722Svbart@nginx.com
3081722Svbart@nginx.com</changes>
3091722Svbart@nginx.com
3101722Svbart@nginx.com
3111722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
3121722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3131722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3141722Svbart@nginx.com
3151722Svbart@nginx.com<change>
3161722Svbart@nginx.com<para>
3171722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
3181722Svbart@nginx.com</para>
3191722Svbart@nginx.com</change>
3201722Svbart@nginx.com
3211722Svbart@nginx.com</changes>
3221722Svbart@nginx.com
3231722Svbart@nginx.com
3241722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
3251722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3261722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3271722Svbart@nginx.com
3281722Svbart@nginx.com<change>
3291722Svbart@nginx.com<para>
3301722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
3311722Svbart@nginx.com</para>
3321722Svbart@nginx.com</change>
3331722Svbart@nginx.com
3341722Svbart@nginx.com</changes>
3351722Svbart@nginx.com
3361722Svbart@nginx.com
3371722Svbart@nginx.com<changes apply="unit-php
3381722Svbart@nginx.com                unit-python unit-python2.7
3391722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3401722Svbart@nginx.com                unit-python3.8
3411722Svbart@nginx.com                unit-go
3421722Svbart@nginx.com                unit-perl
3431722Svbart@nginx.com                unit-ruby
3441722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
3451722Svbart@nginx.com         ver="1.21.0" rev="1"
3461722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3471722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3481722Svbart@nginx.com
3491722Svbart@nginx.com<change>
3501722Svbart@nginx.com<para>
3511722Svbart@nginx.comNGINX Unit updated to 1.21.0.
3521722Svbart@nginx.com</para>
3531722Svbart@nginx.com</change>
3541722Svbart@nginx.com
3551722Svbart@nginx.com</changes>
3561722Svbart@nginx.com
3571722Svbart@nginx.com
3581722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
3591722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3601722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3611722Svbart@nginx.com
3621722Svbart@nginx.com<change type="change">
3631722Svbart@nginx.com<para>
3641722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
3651722Svbart@nginx.com</para>
3661722Svbart@nginx.com</change>
3671722Svbart@nginx.com
3681722Svbart@nginx.com<change type="change">
3691722Svbart@nginx.com<para>
3701722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
3711722Svbart@nginx.comnames.
3721722Svbart@nginx.com</para>
3731722Svbart@nginx.com</change>
3741722Svbart@nginx.com
3751722Svbart@nginx.com<change type="change">
3761722Svbart@nginx.com<para>
3771722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
3781722Svbart@nginx.comdefault.
3791722Svbart@nginx.com</para>
3801722Svbart@nginx.com</change>
3811722Svbart@nginx.com
3821722Svbart@nginx.com<change type="feature">
3831722Svbart@nginx.com<para>
3841722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
3851722Svbart@nginx.com</para>
3861722Svbart@nginx.com</change>
3871722Svbart@nginx.com
3881722Svbart@nginx.com<change type="feature">
3891722Svbart@nginx.com<para>
3901722Svbart@nginx.comregular expressions in route matching patterns.
3911722Svbart@nginx.com</para>
3921722Svbart@nginx.com</change>
3931722Svbart@nginx.com
3941722Svbart@nginx.com<change type="feature">
3951722Svbart@nginx.com<para>
3961722Svbart@nginx.comcompatibility with Python 3.9.
3971722Svbart@nginx.com</para>
3981722Svbart@nginx.com</change>
3991722Svbart@nginx.com
4001722Svbart@nginx.com<change type="feature">
4011722Svbart@nginx.com<para>
4021722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
4031722Svbart@nginx.com</para>
4041722Svbart@nginx.com</change>
4051722Svbart@nginx.com
4061722Svbart@nginx.com<change type="feature">
4071722Svbart@nginx.com<para>
4081722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
4091722Svbart@nginx.com</para>
4101722Svbart@nginx.com</change>
4111722Svbart@nginx.com
4121722Svbart@nginx.com<change type="feature">
4131722Svbart@nginx.com<para>
4141722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
4151722Svbart@nginx.comcontinues code execution without holding onto the client connection.
4161722Svbart@nginx.com</para>
4171722Svbart@nginx.com</change>
4181722Svbart@nginx.com
4191722Svbart@nginx.com<change type="feature">
4201722Svbart@nginx.com<para>
4211722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
4221722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
4231722Svbart@nginx.com</para>
4241722Svbart@nginx.com</change>
4251722Svbart@nginx.com
4261722Svbart@nginx.com<change type="feature">
4271722Svbart@nginx.com<para>
4281722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
4291722Svbart@nginx.commounting of eponymous filesystems.
4301722Svbart@nginx.com</para>
4311722Svbart@nginx.com</change>
4321722Svbart@nginx.com
4331722Svbart@nginx.com<change type="bugfix">
4341722Svbart@nginx.com<para>
4351722Svbart@nginx.comthe router process could crash when running Go applications under high load;
4361722Svbart@nginx.comthe bug had appeared in 1.19.0.
4371722Svbart@nginx.com</para>
4381722Svbart@nginx.com</change>
4391722Svbart@nginx.com
4401722Svbart@nginx.com<change type="bugfix">
4411722Svbart@nginx.com<para>
4421722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
4431722Svbart@nginx.com</para>
4441722Svbart@nginx.com</change>
4451722Svbart@nginx.com
4461722Svbart@nginx.com<change type="bugfix">
4471722Svbart@nginx.com<para>
4481722Svbart@nginx.comvarious compatibility issues in Java applications.
4491722Svbart@nginx.com</para>
4501722Svbart@nginx.com</change>
4511722Svbart@nginx.com
4521722Svbart@nginx.com<change type="bugfix">
4531722Svbart@nginx.com<para>
4541722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
4551722Svbart@nginx.comuse "rootfs" isolation.
4561722Svbart@nginx.com</para>
4571722Svbart@nginx.com</change>
4581722Svbart@nginx.com
4591722Svbart@nginx.com</changes>
4601722Svbart@nginx.com
4611722Svbart@nginx.com
4621330Svbart@nginx.com<changes apply="unit-php
4631330Svbart@nginx.com                unit-python unit-python2.7
4641330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4651330Svbart@nginx.com                unit-python3.8
4661330Svbart@nginx.com                unit-go
4671330Svbart@nginx.com                unit-perl
4681330Svbart@nginx.com                unit-ruby
4691330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4701640Svbart@nginx.com         ver="1.20.0" rev="1"
4711640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
4721640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4731640Svbart@nginx.com
4741640Svbart@nginx.com<change>
4751640Svbart@nginx.com<para>
4761640Svbart@nginx.comNGINX Unit updated to 1.20.0.
4771640Svbart@nginx.com</para>
4781640Svbart@nginx.com</change>
4791640Svbart@nginx.com
4801640Svbart@nginx.com</changes>
4811640Svbart@nginx.com
4821640Svbart@nginx.com
4831640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
4841640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
4851640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4861640Svbart@nginx.com
4871640Svbart@nginx.com<change type="change">
4881640Svbart@nginx.com<para>
4891640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
4901640Svbart@nginx.comextensions from the host system.
4911640Svbart@nginx.com</para>
4921640Svbart@nginx.com</change>
4931640Svbart@nginx.com
4941640Svbart@nginx.com<change type="change">
4951640Svbart@nginx.com<para>
4961640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
4971640Svbart@nginx.com</para>
4981640Svbart@nginx.com</change>
4991640Svbart@nginx.com
5001643Svbart@nginx.com<change type="change">
5011643Svbart@nginx.com<para>
5021643Svbart@nginx.comfunctional tests migrated to the pytest framework.
5031643Svbart@nginx.com</para>
5041643Svbart@nginx.com</change>
5051643Svbart@nginx.com
5061640Svbart@nginx.com<change type="feature">
5071640Svbart@nginx.com<para>
5081640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
5091640Svbart@nginx.cominterface.
5101640Svbart@nginx.com</para>
5111640Svbart@nginx.com</change>
5121640Svbart@nginx.com
5131640Svbart@nginx.com<change type="feature">
5141640Svbart@nginx.com<para>
5151640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
5161640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
5171640Svbart@nginx.comspecification.
5181640Svbart@nginx.com</para>
5191640Svbart@nginx.com</change>
5201640Svbart@nginx.com
5211640Svbart@nginx.com<change type="feature">
5221640Svbart@nginx.com<para>
5231640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
5241640Svbart@nginx.comenvironments.
5251640Svbart@nginx.com</para>
5261640Svbart@nginx.com</change>
5271640Svbart@nginx.com
5281640Svbart@nginx.com<change type="feature">
5291640Svbart@nginx.com<para>
5301640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
5311640Svbart@nginx.com</para>
5321640Svbart@nginx.com</change>
5331640Svbart@nginx.com
5341640Svbart@nginx.com<change type="feature">
5351640Svbart@nginx.com<para>
5361640Svbart@nginx.comthe "callable" option sets Python application callable names.
5371640Svbart@nginx.com</para>
5381640Svbart@nginx.com</change>
5391640Svbart@nginx.com
5401640Svbart@nginx.com<change type="feature">
5411640Svbart@nginx.com<para>
5421640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
5431640Svbart@nginx.com</para>
5441640Svbart@nginx.com</change>
5451640Svbart@nginx.com
5461640Svbart@nginx.com<change type="feature">
5471640Svbart@nginx.com<para>
5481640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
5491640Svbart@nginx.comautomatic mounting of language module dependencies.
5501640Svbart@nginx.com</para>
5511640Svbart@nginx.com</change>
5521640Svbart@nginx.com
5531640Svbart@nginx.com<change type="bugfix">
5541640Svbart@nginx.com<para>
5551640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
5561640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
5571640Svbart@nginx.com</para>
5581640Svbart@nginx.com</change>
5591640Svbart@nginx.com
5601640Svbart@nginx.com<change type="bugfix">
5611640Svbart@nginx.com<para>
5621640Svbart@nginx.comthe router process could crash during reconfiguration.
5631640Svbart@nginx.com</para>
5641640Svbart@nginx.com</change>
5651640Svbart@nginx.com
5661640Svbart@nginx.com<change type="bugfix">
5671640Svbart@nginx.com<para>
5681640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
5691640Svbart@nginx.com</para>
5701640Svbart@nginx.com</change>
5711640Svbart@nginx.com
5721640Svbart@nginx.com<change type="bugfix">
5731640Svbart@nginx.com<para>
5741640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
5751640Svbart@nginx.comthe bug had appeared in 1.19.0.
5761640Svbart@nginx.com</para>
5771640Svbart@nginx.com</change>
5781640Svbart@nginx.com
5791640Svbart@nginx.com<change type="bugfix">
5801640Svbart@nginx.com<para>
5811640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
5821640Svbart@nginx.comthe bug had appeared in 1.16.0.
5831640Svbart@nginx.com</para>
5841640Svbart@nginx.com</change>
5851640Svbart@nginx.com
5861640Svbart@nginx.com</changes>
5871640Svbart@nginx.com
5881640Svbart@nginx.com
5891640Svbart@nginx.com<changes apply="unit-php
5901640Svbart@nginx.com                unit-python unit-python2.7
5911640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5921640Svbart@nginx.com                unit-python3.8
5931640Svbart@nginx.com                unit-go
5941640Svbart@nginx.com                unit-perl
5951640Svbart@nginx.com                unit-ruby
5961640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5971570Svbart@nginx.com         ver="1.19.0" rev="1"
5981570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
5991570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6001570Svbart@nginx.com
6011570Svbart@nginx.com<change>
6021570Svbart@nginx.com<para>
6031570Svbart@nginx.comNGINX Unit updated to 1.19.0.
6041570Svbart@nginx.com</para>
6051570Svbart@nginx.com</change>
6061570Svbart@nginx.com
6071570Svbart@nginx.com</changes>
6081570Svbart@nginx.com
6091570Svbart@nginx.com
6101570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
6111570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
6121570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6131570Svbart@nginx.com
6141570Svbart@nginx.com<change type="feature">
6151570Svbart@nginx.com<para>
6161570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
6171570Svbart@nginx.comincrease performance, and improve scalability.
6181570Svbart@nginx.com</para>
6191570Svbart@nginx.com</change>
6201570Svbart@nginx.com
6211570Svbart@nginx.com<change type="feature">
6221570Svbart@nginx.com<para>
6231570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
6241570Svbart@nginx.com</para>
6251570Svbart@nginx.com</change>
6261570Svbart@nginx.com
6271570Svbart@nginx.com<change type="feature">
6281570Svbart@nginx.com<para>
6291570Svbart@nginx.comchunked transfer encoding in proxy responses.
6301570Svbart@nginx.com</para>
6311570Svbart@nginx.com</change>
6321570Svbart@nginx.com
6331570Svbart@nginx.com<change type="feature">
6341570Svbart@nginx.com<para>
6351570Svbart@nginx.combasic variables support in the "pass" option.
6361570Svbart@nginx.com</para>
6371570Svbart@nginx.com</change>
6381570Svbart@nginx.com
6391570Svbart@nginx.com<change type="feature">
6401570Svbart@nginx.com<para>
6411570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
6421570Svbart@nginx.comThanks to Remi Collet.
6431570Svbart@nginx.com</para>
6441570Svbart@nginx.com</change>
6451570Svbart@nginx.com
6461570Svbart@nginx.com<change type="bugfix">
6471570Svbart@nginx.com<para>
6481570Svbart@nginx.comthe router process could crash while passing requests to an application under
6491570Svbart@nginx.comhigh load.
6501570Svbart@nginx.com</para>
6511570Svbart@nginx.com</change>
6521570Svbart@nginx.com
6531570Svbart@nginx.com<change type="bugfix">
6541570Svbart@nginx.com<para>
6551570Svbart@nginx.coma number of language modules failed to build on some systems;
6561570Svbart@nginx.comthe bug had appeared in 1.18.0.
6571570Svbart@nginx.com</para>
6581570Svbart@nginx.com</change>
6591570Svbart@nginx.com
6601570Svbart@nginx.com<change type="bugfix">
6611570Svbart@nginx.com<para>
6621570Svbart@nginx.comtime in error log messages from PHP applications could lag.
6631570Svbart@nginx.com</para>
6641570Svbart@nginx.com</change>
6651570Svbart@nginx.com
6661570Svbart@nginx.com<change type="bugfix">
6671570Svbart@nginx.com<para>
6681570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
6691570Svbart@nginx.comthe bug had appeared in 1.18.0.
6701570Svbart@nginx.com</para>
6711570Svbart@nginx.com</change>
6721570Svbart@nginx.com
6731570Svbart@nginx.com<change type="bugfix">
6741570Svbart@nginx.com<para>
6751570Svbart@nginx.commemory leak during reconfiguration.
6761570Svbart@nginx.com</para>
6771570Svbart@nginx.com</change>
6781570Svbart@nginx.com
6791570Svbart@nginx.com<change type="bugfix">
6801570Svbart@nginx.com<para>
6811570Svbart@nginx.comthe daemon didn't start without language modules;
6821570Svbart@nginx.comthe bug had appeared in 1.18.0.
6831570Svbart@nginx.com</para>
6841570Svbart@nginx.com</change>
6851570Svbart@nginx.com
6861570Svbart@nginx.com<change type="bugfix">
6871570Svbart@nginx.com<para>
6881570Svbart@nginx.comthe router process could crash at exit.
6891570Svbart@nginx.com</para>
6901570Svbart@nginx.com</change>
6911570Svbart@nginx.com
6921570Svbart@nginx.com<change type="bugfix">
6931570Svbart@nginx.com<para>
6941570Svbart@nginx.comNode.js applications could crash at exit.
6951570Svbart@nginx.com</para>
6961570Svbart@nginx.com</change>
6971570Svbart@nginx.com
6981570Svbart@nginx.com<change type="bugfix">
6991570Svbart@nginx.com<para>
7001570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
7011570Svbart@nginx.com</para>
7021570Svbart@nginx.com</change>
7031570Svbart@nginx.com
7041570Svbart@nginx.com</changes>
7051570Svbart@nginx.com
7061570Svbart@nginx.com
7071570Svbart@nginx.com<changes apply="unit-php
7081570Svbart@nginx.com                unit-python unit-python2.7
7091570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7101570Svbart@nginx.com                unit-python3.8
7111570Svbart@nginx.com                unit-go
7121570Svbart@nginx.com                unit-perl
7131570Svbart@nginx.com                unit-ruby
7141570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7151491Svbart@nginx.com         ver="1.18.0" rev="1"
7161491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
7171491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7181491Svbart@nginx.com
7191491Svbart@nginx.com<change>
7201491Svbart@nginx.com<para>
7211491Svbart@nginx.comNGINX Unit updated to 1.18.0.
7221491Svbart@nginx.com</para>
7231491Svbart@nginx.com</change>
7241491Svbart@nginx.com
7251491Svbart@nginx.com</changes>
7261491Svbart@nginx.com
7271491Svbart@nginx.com
7281491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
7291491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
7301491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7311491Svbart@nginx.com
7321491Svbart@nginx.com<change type="feature">
7331491Svbart@nginx.com<para>
7341491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
7351491Svbart@nginx.com</para>
7361491Svbart@nginx.com</change>
7371491Svbart@nginx.com
7381491Svbart@nginx.com<change type="feature">
7391491Svbart@nginx.com<para>
7401491Svbart@nginx.commultiple "targets" in PHP applications.
7411491Svbart@nginx.com</para>
7421491Svbart@nginx.com</change>
7431491Svbart@nginx.com
7441491Svbart@nginx.com<change type="feature">
7451491Svbart@nginx.com<para>
7461491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
7471491Svbart@nginx.comand in the "pass" option.
7481491Svbart@nginx.com</para>
7491491Svbart@nginx.com</change>
7501491Svbart@nginx.com
7511491Svbart@nginx.com</changes>
7521491Svbart@nginx.com
7531491Svbart@nginx.com
7541491Svbart@nginx.com<changes apply="unit-php
7551491Svbart@nginx.com                unit-python unit-python2.7
7561491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7571491Svbart@nginx.com                unit-python3.8
7581491Svbart@nginx.com                unit-go
7591491Svbart@nginx.com                unit-perl
7601491Svbart@nginx.com                unit-ruby
7611491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7621460Svbart@nginx.com         ver="1.17.0" rev="1"
7631460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
7641460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7651460Svbart@nginx.com
7661460Svbart@nginx.com<change>
7671460Svbart@nginx.com<para>
7681460Svbart@nginx.comNGINX Unit updated to 1.17.0.
7691460Svbart@nginx.com</para>
7701460Svbart@nginx.com</change>
7711460Svbart@nginx.com
7721460Svbart@nginx.com</changes>
7731460Svbart@nginx.com
7741460Svbart@nginx.com
7751460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
7761460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
7771460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7781460Svbart@nginx.com
7791460Svbart@nginx.com<change type="feature">
7801460Svbart@nginx.com<para>
7811460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
7821460Svbart@nginx.comredirection.
7831460Svbart@nginx.com</para>
7841460Svbart@nginx.com</change>
7851460Svbart@nginx.com
7861460Svbart@nginx.com<change type="feature">
7871460Svbart@nginx.com<para>
7881460Svbart@nginx.comfractional weights support for upstream servers.
7891460Svbart@nginx.com</para>
7901460Svbart@nginx.com</change>
7911460Svbart@nginx.com
7921460Svbart@nginx.com<change type="bugfix">
7931460Svbart@nginx.com<para>
7941460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
7951460Svbart@nginx.comhigh load.
7961460Svbart@nginx.com</para>
7971460Svbart@nginx.com</change>
7981460Svbart@nginx.com
7991460Svbart@nginx.com<change type="bugfix">
8001460Svbart@nginx.com<para>
8011460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
8021460Svbart@nginx.com</para>
8031460Svbart@nginx.com</change>
8041460Svbart@nginx.com
8051460Svbart@nginx.com<change type="bugfix">
8061460Svbart@nginx.com<para>
8071460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
8081460Svbart@nginx.comopen connections limit.
8091460Svbart@nginx.com</para>
8101460Svbart@nginx.com</change>
8111460Svbart@nginx.com
8121460Svbart@nginx.com<change type="bugfix">
8131460Svbart@nginx.com<para>
8141460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
8151460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
8161460Svbart@nginx.com</para>
8171460Svbart@nginx.com</change>
8181460Svbart@nginx.com
8191460Svbart@nginx.com<change type="bugfix">
8201460Svbart@nginx.com<para>
8211460Svbart@nginx.comexisting application processes didn't reopen the log file.
8221460Svbart@nginx.com</para>
8231460Svbart@nginx.com</change>
8241460Svbart@nginx.com
8251460Svbart@nginx.com<change type="bugfix">
8261460Svbart@nginx.com<para>
8271460Svbart@nginx.comincompatibility with some Node.js applications.
8281460Svbart@nginx.com</para>
8291460Svbart@nginx.com</change>
8301460Svbart@nginx.com
8311460Svbart@nginx.com<change type="bugfix">
8321460Svbart@nginx.com<para>
8331460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
8341460Svbart@nginx.com</para>
8351460Svbart@nginx.com</change>
8361460Svbart@nginx.com
8371460Svbart@nginx.com</changes>
8381460Svbart@nginx.com
8391460Svbart@nginx.com
8401460Svbart@nginx.com<changes apply="unit-php
8411460Svbart@nginx.com                unit-python unit-python2.7
8421460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8431460Svbart@nginx.com                unit-python3.8
8441460Svbart@nginx.com                unit-go
8451460Svbart@nginx.com                unit-perl
8461460Svbart@nginx.com                unit-ruby
8471460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8481404Svbart@nginx.com         ver="1.16.0" rev="1"
8491404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
8501404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8511404Svbart@nginx.com
8521404Svbart@nginx.com<change>
8531404Svbart@nginx.com<para>
8541404Svbart@nginx.comNGINX Unit updated to 1.16.0.
8551404Svbart@nginx.com</para>
8561404Svbart@nginx.com</change>
8571404Svbart@nginx.com
8581404Svbart@nginx.com</changes>
8591404Svbart@nginx.com
8601404Svbart@nginx.com
8611404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
8621404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
8631404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8641404Svbart@nginx.com
8651404Svbart@nginx.com<change type="feature">
8661404Svbart@nginx.com<para>
8671404Svbart@nginx.combasic load-balancing support with round-robin.
8681404Svbart@nginx.com</para>
8691404Svbart@nginx.com</change>
8701404Svbart@nginx.com
8711404Svbart@nginx.com<change type="feature">
8721404Svbart@nginx.com<para>
8731404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
8741404Svbart@nginx.comserved from the "share" directory.
8751404Svbart@nginx.com</para>
8761404Svbart@nginx.com</change>
8771404Svbart@nginx.com
8781404Svbart@nginx.com<change type="feature">
8791404Svbart@nginx.com<para>
8801404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
8811404Svbart@nginx.com</para>
8821404Svbart@nginx.com</change>
8831404Svbart@nginx.com
8841404Svbart@nginx.com<change type="feature">
8851404Svbart@nginx.com<para>
8861404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
8871404Svbart@nginx.com</para>
8881404Svbart@nginx.com</change>
8891404Svbart@nginx.com
8901404Svbart@nginx.com<change type="bugfix">
8911404Svbart@nginx.com<para>
8921404Svbart@nginx.comnegative address matching in router might work improperly in combination with
8931404Svbart@nginx.comnon-negative patterns.
8941404Svbart@nginx.com</para>
8951404Svbart@nginx.com</change>
8961404Svbart@nginx.com
8971404Svbart@nginx.com<change type="bugfix">
8981404Svbart@nginx.com<para>
8991404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
9001404Svbart@nginx.com</para>
9011404Svbart@nginx.com</change>
9021404Svbart@nginx.com
9031404Svbart@nginx.com<change type="bugfix">
9041404Svbart@nginx.com<para>
9051404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
9061404Svbart@nginx.com</para>
9071404Svbart@nginx.com</change>
9081404Svbart@nginx.com
9091404Svbart@nginx.com<change type="bugfix">
9101404Svbart@nginx.com<para>
9111404Svbart@nginx.comcompatibility issues with some Python applications.
9121404Svbart@nginx.com</para>
9131404Svbart@nginx.com</change>
9141404Svbart@nginx.com
9151404Svbart@nginx.com</changes>
9161404Svbart@nginx.com
9171404Svbart@nginx.com
9181404Svbart@nginx.com<changes apply="unit-php
9191404Svbart@nginx.com                unit-python unit-python2.7
9201404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9211404Svbart@nginx.com                unit-python3.8
9221404Svbart@nginx.com                unit-go
9231404Svbart@nginx.com                unit-perl
9241404Svbart@nginx.com                unit-ruby
9251404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9261357Svbart@nginx.com         ver="1.15.0" rev="1"
9271357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
9281357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9291357Svbart@nginx.com
9301357Svbart@nginx.com<change>
9311357Svbart@nginx.com<para>
9321357Svbart@nginx.comNGINX Unit updated to 1.15.0.
9331357Svbart@nginx.com</para>
9341357Svbart@nginx.com</change>
9351357Svbart@nginx.com
9361357Svbart@nginx.com</changes>
9371357Svbart@nginx.com
9381357Svbart@nginx.com
9391357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
9401357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
9411357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9421357Svbart@nginx.com
9431357Svbart@nginx.com<change type="change">
9441357Svbart@nginx.com<para>
9451357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
9461357Svbart@nginx.com</para>
9471357Svbart@nginx.com</change>
9481357Svbart@nginx.com
9491357Svbart@nginx.com<change type="feature">
9501357Svbart@nginx.com<para>
9511357Svbart@nginx.comcompatibility with Ruby 2.7.
9521357Svbart@nginx.com</para>
9531357Svbart@nginx.com</change>
9541357Svbart@nginx.com
9551357Svbart@nginx.com<change type="bugfix">
9561357Svbart@nginx.com<para>
9571357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
9581357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
9591357Svbart@nginx.com</para>
9601357Svbart@nginx.com</change>
9611357Svbart@nginx.com
9621357Svbart@nginx.com<change type="bugfix">
9631357Svbart@nginx.com<para>
9641357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
9651357Svbart@nginx.com</para>
9661357Svbart@nginx.com</change>
9671357Svbart@nginx.com
9681357Svbart@nginx.com</changes>
9691357Svbart@nginx.com
9701357Svbart@nginx.com
9711357Svbart@nginx.com<changes apply="unit-php
9721357Svbart@nginx.com                unit-python unit-python2.7
9731357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9741357Svbart@nginx.com                unit-python3.8
9751357Svbart@nginx.com                unit-go
9761357Svbart@nginx.com                unit-perl
9771357Svbart@nginx.com                unit-ruby
9781357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9791330Svbart@nginx.com         ver="1.14.0" rev="1"
9801330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
9811330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9821330Svbart@nginx.com
9831330Svbart@nginx.com<change>
9841330Svbart@nginx.com<para>
9851330Svbart@nginx.comNGINX Unit updated to 1.14.0.
9861330Svbart@nginx.com</para>
9871330Svbart@nginx.com</change>
9881330Svbart@nginx.com
9891330Svbart@nginx.com</changes>
9901330Svbart@nginx.com
9911330Svbart@nginx.com
9921330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
9931330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
9941330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9951330Svbart@nginx.com
9961330Svbart@nginx.com<change type="change">
9971330Svbart@nginx.com<para>
9981330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
9991330Svbart@nginx.com</para>
10001330Svbart@nginx.com</change>
10011330Svbart@nginx.com
10021330Svbart@nginx.com<change type="change">
10031330Svbart@nginx.com<para>
10041330Svbart@nginx.comGo package now links to libunit instead of including library sources.
10051330Svbart@nginx.com</para>
10061330Svbart@nginx.com</change>
10071330Svbart@nginx.com
10081330Svbart@nginx.com<change type="feature">
10091330Svbart@nginx.com<para>
10101330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
10111330Svbart@nginx.comruns as an unprivileged user.
10121330Svbart@nginx.com</para>
10131330Svbart@nginx.com</change>
10141330Svbart@nginx.com
10151330Svbart@nginx.com<change type="feature">
10161330Svbart@nginx.com<para>
10171330Svbart@nginx.comrequest routing by source and destination addresses and ports.
10181330Svbart@nginx.com</para>
10191330Svbart@nginx.com</change>
10201330Svbart@nginx.com
10211330Svbart@nginx.com<change type="bugfix">
10221330Svbart@nginx.com<para>
10231330Svbart@nginx.commemory bloat on large responses.
10241330Svbart@nginx.com</para>
10251330Svbart@nginx.com</change>
10261330Svbart@nginx.com
10271330Svbart@nginx.com</changes>
10281330Svbart@nginx.com
10291330Svbart@nginx.com
10301290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
10311290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
10321290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10331290Sdefan@nginx.com
10341290Sdefan@nginx.com<change>
10351290Sdefan@nginx.com<para>
10361290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
10371290Sdefan@nginx.com</para>
10381290Sdefan@nginx.com</change>
10391290Sdefan@nginx.com
10401290Sdefan@nginx.com</changes>
10411290Sdefan@nginx.com
10421290Sdefan@nginx.com
10431290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
10441290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
10451290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10461290Sdefan@nginx.com
10471290Sdefan@nginx.com<change>
10481290Sdefan@nginx.com<para>
10491290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
10501290Sdefan@nginx.com</para>
10511290Sdefan@nginx.com</change>
10521290Sdefan@nginx.com
10531290Sdefan@nginx.com</changes>
10541290Sdefan@nginx.com
10551290Sdefan@nginx.com
10561289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
10571289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
10581289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10591289Sdefan@nginx.com
10601289Sdefan@nginx.com<change>
10611289Sdefan@nginx.com<para>
10621289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
10631289Sdefan@nginx.com</para>
10641289Sdefan@nginx.com</change>
10651289Sdefan@nginx.com
10661289Sdefan@nginx.com</changes>
10671289Sdefan@nginx.com
10681289Sdefan@nginx.com
10691185Svbart@nginx.com<changes apply="unit-php
10701185Svbart@nginx.com                unit-python unit-python2.7
10711185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10721185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
10731185Svbart@nginx.com                unit-perl
10741185Svbart@nginx.com                unit-ruby
10751185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10761284Svbart@nginx.com         ver="1.13.0" rev="1"
10771284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
10781284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10791284Svbart@nginx.com
10801284Svbart@nginx.com<change>
10811284Svbart@nginx.com<para>
10821284Svbart@nginx.comNGINX Unit updated to 1.13.0.
10831284Svbart@nginx.com</para>
10841284Svbart@nginx.com</change>
10851284Svbart@nginx.com
10861284Svbart@nginx.com</changes>
10871284Svbart@nginx.com
10881284Svbart@nginx.com
10891284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
10901284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
10911284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10921284Svbart@nginx.com
10931284Svbart@nginx.com<change type="feature">
10941284Svbart@nginx.com<para>
10951284Svbart@nginx.combasic support for HTTP reverse proxying.
10961284Svbart@nginx.com</para>
10971284Svbart@nginx.com</change>
10981284Svbart@nginx.com
10991284Svbart@nginx.com<change type="feature">
11001284Svbart@nginx.com<para>
11011284Svbart@nginx.comcompatibility with Python 3.8.
11021284Svbart@nginx.com</para>
11031284Svbart@nginx.com</change>
11041284Svbart@nginx.com
11051284Svbart@nginx.com<change type="bugfix">
11061284Svbart@nginx.com<para>
11071284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
11081284Svbart@nginx.com</para>
11091284Svbart@nginx.com</change>
11101284Svbart@nginx.com
11111284Svbart@nginx.com<change type="bugfix">
11121284Svbart@nginx.com<para>
11131284Svbart@nginx.comthreads in Python applications might not work correctly.
11141284Svbart@nginx.com</para>
11151284Svbart@nginx.com</change>
11161284Svbart@nginx.com
11171284Svbart@nginx.com<change type="bugfix">
11181284Svbart@nginx.com<para>
11191284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
11201284Svbart@nginx.com</para>
11211284Svbart@nginx.com</change>
11221284Svbart@nginx.com
11231284Svbart@nginx.com<change type="bugfix">
11241284Svbart@nginx.com<para>
11251284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
11261284Svbart@nginx.comdelays.
11271284Svbart@nginx.com</para>
11281284Svbart@nginx.com</change>
11291284Svbart@nginx.com
11301284Svbart@nginx.com<change type="bugfix">
11311284Svbart@nginx.com<para>
11321284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
11331284Svbart@nginx.com</para>
11341284Svbart@nginx.com</change>
11351284Svbart@nginx.com
11361284Svbart@nginx.com</changes>
11371284Svbart@nginx.com
11381284Svbart@nginx.com
11391284Svbart@nginx.com<changes apply="unit-php
11401284Svbart@nginx.com                unit-python unit-python2.7
11411284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11421284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11431284Svbart@nginx.com                unit-perl
11441284Svbart@nginx.com                unit-ruby
11451284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11461222Svbart@nginx.com         ver="1.12.0" rev="1"
11471222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
11481222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11491222Svbart@nginx.com
11501222Svbart@nginx.com<change>
11511222Svbart@nginx.com<para>
11521222Svbart@nginx.comNGINX Unit updated to 1.12.0.
11531222Svbart@nginx.com</para>
11541222Svbart@nginx.com</change>
11551222Svbart@nginx.com
11561222Svbart@nginx.com</changes>
11571222Svbart@nginx.com
11581222Svbart@nginx.com
11591222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
11601222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
11611222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11621222Svbart@nginx.com
11631222Svbart@nginx.com<change type="feature">
11641222Svbart@nginx.com<para>
11651222Svbart@nginx.comcompatibility with PHP 7.4.
11661222Svbart@nginx.com</para>
11671222Svbart@nginx.com</change>
11681222Svbart@nginx.com
11691222Svbart@nginx.com<change type="bugfix">
11701222Svbart@nginx.com<para>
11711222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
11721222Svbart@nginx.com</para>
11731222Svbart@nginx.com</change>
11741222Svbart@nginx.com
11751222Svbart@nginx.com<change type="bugfix">
11761222Svbart@nginx.com<para>
11771222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
11781222Svbart@nginx.com</para>
11791222Svbart@nginx.com</change>
11801222Svbart@nginx.com
11811222Svbart@nginx.com<change type="bugfix">
11821222Svbart@nginx.com<para>
11831222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
11841222Svbart@nginx.com</para>
11851222Svbart@nginx.com</change>
11861222Svbart@nginx.com
11871222Svbart@nginx.com</changes>
11881222Svbart@nginx.com
11891222Svbart@nginx.com
11901222Svbart@nginx.com
11911222Svbart@nginx.com<changes apply="unit-php
11921222Svbart@nginx.com                unit-python unit-python2.7
11931222Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11941222Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11951222Svbart@nginx.com                unit-perl
11961222Svbart@nginx.com                unit-ruby
11971222Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11981185Svbart@nginx.com         ver="1.11.0" rev="1"
11991185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
12001185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
12011185Svbart@nginx.com
12021185Svbart@nginx.com<change>
12031185Svbart@nginx.com<para>
12041185Svbart@nginx.comNGINX Unit updated to 1.11.0.
12051185Svbart@nginx.com</para>
12061185Svbart@nginx.com</change>
12071185Svbart@nginx.com
12081185Svbart@nginx.com</changes>
12091185Svbart@nginx.com
12101185Svbart@nginx.com
12111185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1"
12121185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
12131185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
12141185Svbart@nginx.com
12151185Svbart@nginx.com<change type="feature">
12161185Svbart@nginx.com<para>
12171185Svbart@nginx.combasic support for serving static files.
12181185Svbart@nginx.com</para>
12191185Svbart@nginx.com</change>
12201185Svbart@nginx.com
12211185Svbart@nginx.com<change type="feature">
12221185Svbart@nginx.com<para>
12231185Svbart@nginx.comisolation of application processes with Linux namespaces.
12241185Svbart@nginx.com</para>
12251185Svbart@nginx.com</change>
12261185Svbart@nginx.com
12271185Svbart@nginx.com<change type="feature">
12281185Svbart@nginx.com<para>
12291185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers.
12301185Svbart@nginx.com</para>
12311185Svbart@nginx.com</change>
12321185Svbart@nginx.com
12331185Svbart@nginx.com<change type="feature">
12341185Svbart@nginx.com<para>
12351185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/"
12361185Svbart@nginx.comusing URI encoding (%2F).
12371185Svbart@nginx.com</para>
12381185Svbart@nginx.com</change>
12391185Svbart@nginx.com
12401185Svbart@nginx.com<change type="bugfix">
12411185Svbart@nginx.com<para>
12421185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load.
12431185Svbart@nginx.com</para>
12441185Svbart@nginx.com</change>
12451185Svbart@nginx.com
12461185Svbart@nginx.com<change type="bugfix">
12471185Svbart@nginx.com<para>
12481185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than
12491185Svbart@nginx.comGNU ld (e.g. gold or LLD).
12501185Svbart@nginx.com</para>
12511185Svbart@nginx.com</change>
12521185Svbart@nginx.com
12531185Svbart@nginx.com</changes>
12541185Svbart@nginx.com
12551185Svbart@nginx.com
12561142Sdefan@nginx.com<changes apply="unit
12571142Sdefan@nginx.com                unit-php
12581142Sdefan@nginx.com                unit-python unit-python2.7
12591142Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12601142Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12611142Sdefan@nginx.com                unit-perl
12621142Sdefan@nginx.com                unit-ruby
12631142Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12641142Sdefan@nginx.com         ver="1.10.0" rev="2"
12651142Sdefan@nginx.com         date="2019-08-23" time="12:00:00 +0300"
12661142Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12671142Sdefan@nginx.com
12681142Sdefan@nginx.com<change type="bugfix">
12691142Sdefan@nginx.com<para>
12701142Sdefan@nginx.commissed header files added to unit development package.
12711142Sdefan@nginx.com</para>
12721142Sdefan@nginx.com</change>
12731142Sdefan@nginx.com
12741142Sdefan@nginx.com</changes>
12751142Sdefan@nginx.com
12761142Sdefan@nginx.com
12771134Svbart@nginx.com<changes apply="unit-php
12781134Svbart@nginx.com                unit-python unit-python2.7
12791134Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12801134Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12811134Svbart@nginx.com                unit-perl
12821134Svbart@nginx.com                unit-ruby
12831134Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12841134Svbart@nginx.com         ver="1.10.0" rev="1"
12851134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
12861134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12871134Svbart@nginx.com
12881134Svbart@nginx.com<change>
12891134Svbart@nginx.com<para>
12901134Svbart@nginx.comNGINX Unit updated to 1.10.0.
12911134Svbart@nginx.com</para>
12921134Svbart@nginx.com</change>
12931134Svbart@nginx.com
12941134Svbart@nginx.com</changes>
12951134Svbart@nginx.com
12961134Svbart@nginx.com
12971134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1"
12981134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
12991134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13001134Svbart@nginx.com
13011134Svbart@nginx.com<change type="change">
13021134Svbart@nginx.com<para>
13031134Svbart@nginx.commatching of cookies in routes made case sensitive.
13041134Svbart@nginx.com</para>
13051134Svbart@nginx.com</change>
13061134Svbart@nginx.com
13071134Svbart@nginx.com<change type="change">
13081134Svbart@nginx.com<para>
13091134Svbart@nginx.comdecreased log level of common errors when clients close connections.
13101134Svbart@nginx.com</para>
13111134Svbart@nginx.com</change>
13121134Svbart@nginx.com
13131134Svbart@nginx.com<change type="change">
13141134Svbart@nginx.com<para>
13151134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option.
13161134Svbart@nginx.com</para>
13171134Svbart@nginx.com</change>
1318