xref: /unit/docs/changes.xml (revision 1909)
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
81896Svbart@nginx.com<changes apply="unit-php
91896Svbart@nginx.com                unit-python unit-python2.7
101896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
111896Svbart@nginx.com                unit-python3.8 unit-python3.9
121896Svbart@nginx.com                unit-go
131896Svbart@nginx.com                unit-perl
141896Svbart@nginx.com                unit-ruby
151896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
161896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
171896Svbart@nginx.com         ver="1.25.0" rev="1"
181896Svbart@nginx.com         date="" time=""
191896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
201896Svbart@nginx.com
211896Svbart@nginx.com<change>
221896Svbart@nginx.com<para>
231896Svbart@nginx.comNGINX Unit updated to 1.25.0.
241896Svbart@nginx.com</para>
251896Svbart@nginx.com</change>
261896Svbart@nginx.com
271896Svbart@nginx.com</changes>
281896Svbart@nginx.com
291896Svbart@nginx.com
301896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
311896Svbart@nginx.com         date="" time=""
321896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
331896Svbart@nginx.com
341907Smax.romanov@nginx.com<change type="bugfix">
351907Smax.romanov@nginx.com<para>
361907Smax.romanov@nginx.comthe router process could crash on TLS connection open when multiple listeners
371907Smax.romanov@nginx.comwith TLS certificate configured; the bug had appeared in 1.23.0.
381907Smax.romanov@nginx.com</para>
391907Smax.romanov@nginx.com</change>
401907Smax.romanov@nginx.com
411907Smax.romanov@nginx.com<change type="bugfix">
421907Smax.romanov@nginx.com<para>
431907Smax.romanov@nginx.coma descriptor and memory leak occurred in the router process when an app
441907Smax.romanov@nginx.comprocess stopped or crashed.
451907Smax.romanov@nginx.com</para>
461907Smax.romanov@nginx.com</change>
471907Smax.romanov@nginx.com
48*1909So.canty@f5.com<change type="bugfix">
49*1909So.canty@f5.com<para>
50*1909So.canty@f5.comthe controller or router process could crash if the configuration contained
51*1909So.canty@f5.coma full-form IPv6 in a listener address.
52*1909So.canty@f5.com</para>
53*1909So.canty@f5.com</change>
54*1909So.canty@f5.com
551896Svbart@nginx.com</changes>
561896Svbart@nginx.com
571896Svbart@nginx.com
581887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
591891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
601887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
611887Sdefan@nginx.com
621887Sdefan@nginx.com<change>
631887Sdefan@nginx.com<para>
641887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
651887Sdefan@nginx.com</para>
661887Sdefan@nginx.com</change>
671887Sdefan@nginx.com
681887Sdefan@nginx.com</changes>
691887Sdefan@nginx.com
701887Sdefan@nginx.com
711887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
721891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
731887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
741887Sdefan@nginx.com
751887Sdefan@nginx.com<change>
761887Sdefan@nginx.com<para>
771887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
781887Sdefan@nginx.com</para>
791887Sdefan@nginx.com</change>
801887Sdefan@nginx.com
811887Sdefan@nginx.com</changes>
821887Sdefan@nginx.com
831887Sdefan@nginx.com
841834Svbart@nginx.com<changes apply="unit-php
851834Svbart@nginx.com                unit-python unit-python2.7
861834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
871834Svbart@nginx.com                unit-python3.8 unit-python3.9
881834Svbart@nginx.com                unit-go
891834Svbart@nginx.com                unit-perl
901834Svbart@nginx.com                unit-ruby
911834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
921834Svbart@nginx.com                unit-jsc14 unit-jsc15"
931839Svbart@nginx.com         ver="1.24.0" rev="1"
941891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
951839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
961839Svbart@nginx.com
971839Svbart@nginx.com<change>
981839Svbart@nginx.com<para>
991839Svbart@nginx.comNGINX Unit updated to 1.24.0.
1001839Svbart@nginx.com</para>
1011839Svbart@nginx.com</change>
1021839Svbart@nginx.com
1031839Svbart@nginx.com</changes>
1041839Svbart@nginx.com
1051839Svbart@nginx.com
1061839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
1071891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
1081839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1091839Svbart@nginx.com
1101882So.canty@f5.com<change type="change">
1111882So.canty@f5.com<para>
1121882So.canty@f5.comPHP added to the default MIME type list.
1131882So.canty@f5.com</para>
1141882So.canty@f5.com</change>
1151882So.canty@f5.com
1161855Sz.hong@f5.com<change type="feature">
1171855Sz.hong@f5.com<para>
1181885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
1191885Sa.suvorov@f5.com</para>
1201885Sa.suvorov@f5.com</change>
1211885Sa.suvorov@f5.com
1221885Sa.suvorov@f5.com<change type="feature">
1231885Sa.suvorov@f5.com<para>
1241890Svbart@nginx.comthe ability to limit static file serving by MIME types.
1251890Svbart@nginx.com</para>
1261890Svbart@nginx.com</change>
1271890Svbart@nginx.com
1281890Svbart@nginx.com<change type="feature">
1291890Svbart@nginx.com<para>
1301890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
1311890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
1321872So.canty@f5.com</para>
1331872So.canty@f5.com</change>
1341872So.canty@f5.com
1351872So.canty@f5.com<change type="feature">
1361872So.canty@f5.com<para>
1371889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
1381889Sartem.konev@nginx.comNode.js.
1391865So.canty@f5.com</para>
1401865So.canty@f5.com</change>
1411865So.canty@f5.com
1421865So.canty@f5.com<change type="feature">
1431865So.canty@f5.com<para>
1441890Svbart@nginx.commultiple "targets" in Python applications.
1451855Sz.hong@f5.com</para>
1461855Sz.hong@f5.com</change>
1471855Sz.hong@f5.com
1481870So.canty@f5.com<change type="feature">
1491870So.canty@f5.com<para>
1501870So.canty@f5.comcompatibility with Ruby 3.0.
1511870So.canty@f5.com</para>
1521870So.canty@f5.com</change>
1531870So.canty@f5.com
1541861Svbart@nginx.com<change type="bugfix">
1551861Svbart@nginx.com<para>
1561889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
1571884Sa.suvorov@f5.com</para>
1581884Sa.suvorov@f5.com</change>
1591884Sa.suvorov@f5.com
1601884Sa.suvorov@f5.com<change type="bugfix">
1611884Sa.suvorov@f5.com<para>
1621861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
1631861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
1641861Svbart@nginx.com</para>
1651861Svbart@nginx.com</change>
1661861Svbart@nginx.com
1671839Svbart@nginx.com</changes>
1681839Svbart@nginx.com
1691839Svbart@nginx.com
1701839Svbart@nginx.com<changes apply="unit-php
1711839Svbart@nginx.com                unit-python unit-python2.7
1721839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1731839Svbart@nginx.com                unit-python3.8 unit-python3.9
1741839Svbart@nginx.com                unit-go
1751839Svbart@nginx.com                unit-perl
1761839Svbart@nginx.com                unit-ruby
1771839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1781839Svbart@nginx.com                unit-jsc14 unit-jsc15"
1791834Svbart@nginx.com         ver="1.23.0" rev="1"
1801834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
1811834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1821834Svbart@nginx.com
1831834Svbart@nginx.com<change>
1841834Svbart@nginx.com<para>
1851834Svbart@nginx.comNGINX Unit updated to 1.23.0.
1861834Svbart@nginx.com</para>
1871834Svbart@nginx.com</change>
1881834Svbart@nginx.com
1891834Svbart@nginx.com</changes>
1901834Svbart@nginx.com
1911834Svbart@nginx.com
1921806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
1931834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
1941806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1951806Svbart@nginx.com
1961825Sthresh@nginx.com<change type="feature">
1971825Sthresh@nginx.com<para>
1981833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
1991828Sa.suvorov@f5.comIndication (SNI) TLS extension.
2001828Sa.suvorov@f5.com</para>
2011828Sa.suvorov@f5.com</change>
2021828Sa.suvorov@f5.com
2031828Sa.suvorov@f5.com<change type="feature">
2041828Sa.suvorov@f5.com<para>
2051833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
2061833Sartem.konev@nginx.cominstallation.
2071825Sthresh@nginx.com</para>
2081825Sthresh@nginx.com</change>
2091825Sthresh@nginx.com
2101811Smax.romanov@nginx.com<change type="bugfix">
2111811Smax.romanov@nginx.com<para>
2121812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
2131812Svbart@nginx.comappeared in 1.17.0.
2141812Svbart@nginx.com</para>
2151812Svbart@nginx.com</change>
2161812Svbart@nginx.com
2171812Svbart@nginx.com<change type="bugfix">
2181812Svbart@nginx.com<para>
2191833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
2201812Svbart@nginx.comappeared in 1.6.
2211812Svbart@nginx.com</para>
2221812Svbart@nginx.com</change>
2231812Svbart@nginx.com
2241812Svbart@nginx.com<change type="bugfix">
2251812Svbart@nginx.com<para>
2261833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
2271832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
2281832Smax.romanov@nginx.com</para>
2291832Smax.romanov@nginx.com</change>
2301832Smax.romanov@nginx.com
2311832Smax.romanov@nginx.com<change type="bugfix">
2321832Smax.romanov@nginx.com<para>
2331833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
2341811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
2351811Smax.romanov@nginx.com</para>
2361811Smax.romanov@nginx.com</change>
2371806Svbart@nginx.com
2381813Svbart@nginx.com<change type="bugfix">
2391813Svbart@nginx.com<para>
2401813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
2411813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
2421813Svbart@nginx.com</para>
2431813Svbart@nginx.com</change>
2441813Svbart@nginx.com
2451814Svbart@nginx.com<change type="bugfix">
2461814Svbart@nginx.com<para>
2471820Svbart@nginx.comthe controller process could crash while requesting information about a
2481820Svbart@nginx.comcertificate with a non-DNS SAN entry.
2491820Svbart@nginx.com</para>
2501820Svbart@nginx.com</change>
2511820Svbart@nginx.com
2521820Svbart@nginx.com<change type="bugfix">
2531820Svbart@nginx.com<para>
2541822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
2551833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
2561822Svbart@nginx.com</para>
2571822Svbart@nginx.com</change>
2581822Svbart@nginx.com
2591822Svbart@nginx.com<change type="bugfix">
2601822Svbart@nginx.com<para>
2611833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
2621833Sartem.konev@nginx.comclass.
2631814Svbart@nginx.com</para>
2641814Svbart@nginx.com</change>
2651814Svbart@nginx.com
2661815Svbart@nginx.com<change type="bugfix">
2671815Svbart@nginx.com<para>
2681815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
2691815Svbart@nginx.comappeared in 1.22.0.
2701815Svbart@nginx.com</para>
2711815Svbart@nginx.com</change>
2721815Svbart@nginx.com
2731806Svbart@nginx.com</changes>
2741806Svbart@nginx.com
2751806Svbart@nginx.com
2761798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
2771798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2781798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2791798Sdefan@nginx.com
2801798Sdefan@nginx.com<change>
2811798Sdefan@nginx.com<para>
2821798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
2831798Sdefan@nginx.com</para>
2841798Sdefan@nginx.com</change>
2851798Sdefan@nginx.com
2861798Sdefan@nginx.com</changes>
2871798Sdefan@nginx.com
2881798Sdefan@nginx.com
2891763Sdefan@nginx.com<changes apply="unit-php
2901763Sdefan@nginx.com                unit-python unit-python2.7
2911763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2921763Sdefan@nginx.com                unit-python3.8
2931763Sdefan@nginx.com                unit-go
2941763Sdefan@nginx.com                unit-perl
2951763Sdefan@nginx.com                unit-ruby
2961763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2971763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
2981763Sdefan@nginx.com         ver="1.22.0" rev="1"
2991793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
3001763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3011763Sdefan@nginx.com
3021763Sdefan@nginx.com<change>
3031763Sdefan@nginx.com<para>
3041763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
3051763Sdefan@nginx.com</para>
3061763Sdefan@nginx.com</change>
3071763Sdefan@nginx.com
3081763Sdefan@nginx.com</changes>
3091763Sdefan@nginx.com
3101763Sdefan@nginx.com
3111727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
3121793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
3131727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3141727Svbart@nginx.com
3151759Svbart@nginx.com<change type="feature">
3161759Svbart@nginx.com<para>
3171792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
3181792Svbart@nginx.comcompliant with Stream API.
3191759Svbart@nginx.com</para>
3201759Svbart@nginx.com</change>
3211759Svbart@nginx.com
3221766Smax.romanov@nginx.com<change type="feature">
3231766Smax.romanov@nginx.com<para>
3241792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
3251792Svbart@nginx.comapps.
3261732Svbart@nginx.com</para>
3271732Svbart@nginx.com</change>
3281732Svbart@nginx.com
3291733Svbart@nginx.com<change type="bugfix">
3301733Svbart@nginx.com<para>
3311792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
3321792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
3331754Smax.romanov@nginx.com</para>
3341754Smax.romanov@nginx.com</change>
3351754Smax.romanov@nginx.com
3361755Smax.romanov@nginx.com<change type="bugfix">
3371755Smax.romanov@nginx.com<para>
3381790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
3391755Smax.romanov@nginx.comappeared in 1.19.0.
3401755Smax.romanov@nginx.com</para>
3411755Smax.romanov@nginx.com</change>
3421755Smax.romanov@nginx.com
3431756Smax.romanov@nginx.com<change type="bugfix">
3441756Smax.romanov@nginx.com<para>
3451790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
3461790Sartem.konev@nginx.comappeared in 1.19.0.
3471756Smax.romanov@nginx.com</para>
3481756Smax.romanov@nginx.com</change>
3491756Smax.romanov@nginx.com
3501760Smax.romanov@nginx.com<change type="bugfix">
3511760Smax.romanov@nginx.com<para>
3521792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
3531792Svbart@nginx.com</para>
3541792Svbart@nginx.com</change>
3551792Svbart@nginx.com
3561792Svbart@nginx.com<change type="bugfix">
3571792Svbart@nginx.com<para>
3581792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
3591792Svbart@nginx.commissing in the PHP module.
3601792Svbart@nginx.com</para>
3611792Svbart@nginx.com</change>
3621792Svbart@nginx.com
3631792Svbart@nginx.com<change type="bugfix">
3641792Svbart@nginx.com<para>
3651792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
3661792Svbart@nginx.com</para>
3671792Svbart@nginx.com</change>
3681792Svbart@nginx.com
3691792Svbart@nginx.com<change type="bugfix">
3701792Svbart@nginx.com<para>
3711792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
3721792Svbart@nginx.com</para>
3731792Svbart@nginx.com</change>
3741792Svbart@nginx.com
3751792Svbart@nginx.com<change type="bugfix">
3761792Svbart@nginx.com<para>
3771792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
3781792Svbart@nginx.comthe bug had appeared in 1.21.0.
3791760Smax.romanov@nginx.com</para>
3801760Smax.romanov@nginx.com</change>
3811760Smax.romanov@nginx.com
3821780Smax.romanov@nginx.com<change type="bugfix">
3831780Smax.romanov@nginx.com<para>
3841790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
3851790Sartem.konev@nginx.comWebSocket.
3861780Smax.romanov@nginx.com</para>
3871780Smax.romanov@nginx.com</change>
3881780Smax.romanov@nginx.com
3891789Smax.romanov@nginx.com<change type="bugfix">
3901789Smax.romanov@nginx.com<para>
3911789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
3921789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
3931789Smax.romanov@nginx.com</para>
3941789Smax.romanov@nginx.com</change>
3951789Smax.romanov@nginx.com
3961727Svbart@nginx.com</changes>
3971727Svbart@nginx.com
3981727Svbart@nginx.com
3991722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
4001722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4011722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4021722Svbart@nginx.com
4031722Svbart@nginx.com<change>
4041722Svbart@nginx.com<para>
4051722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
4061722Svbart@nginx.com</para>
4071722Svbart@nginx.com</change>
4081722Svbart@nginx.com
4091722Svbart@nginx.com</changes>
4101722Svbart@nginx.com
4111722Svbart@nginx.com
4121722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
4131722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4141722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4151722Svbart@nginx.com
4161722Svbart@nginx.com<change>
4171722Svbart@nginx.com<para>
4181722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
4191722Svbart@nginx.com</para>
4201722Svbart@nginx.com</change>
4211722Svbart@nginx.com
4221722Svbart@nginx.com</changes>
4231722Svbart@nginx.com
4241722Svbart@nginx.com
4251722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
4261722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4271722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4281722Svbart@nginx.com
4291722Svbart@nginx.com<change>
4301722Svbart@nginx.com<para>
4311722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
4321722Svbart@nginx.com</para>
4331722Svbart@nginx.com</change>
4341722Svbart@nginx.com
4351722Svbart@nginx.com</changes>
4361722Svbart@nginx.com
4371722Svbart@nginx.com
4381722Svbart@nginx.com<changes apply="unit-php
4391722Svbart@nginx.com                unit-python unit-python2.7
4401722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4411722Svbart@nginx.com                unit-python3.8
4421722Svbart@nginx.com                unit-go
4431722Svbart@nginx.com                unit-perl
4441722Svbart@nginx.com                unit-ruby
4451722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4461722Svbart@nginx.com         ver="1.21.0" rev="1"
4471722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4481722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4491722Svbart@nginx.com
4501722Svbart@nginx.com<change>
4511722Svbart@nginx.com<para>
4521722Svbart@nginx.comNGINX Unit updated to 1.21.0.
4531722Svbart@nginx.com</para>
4541722Svbart@nginx.com</change>
4551722Svbart@nginx.com
4561722Svbart@nginx.com</changes>
4571722Svbart@nginx.com
4581722Svbart@nginx.com
4591722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
4601722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4611722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4621722Svbart@nginx.com
4631722Svbart@nginx.com<change type="change">
4641722Svbart@nginx.com<para>
4651722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
4661722Svbart@nginx.com</para>
4671722Svbart@nginx.com</change>
4681722Svbart@nginx.com
4691722Svbart@nginx.com<change type="change">
4701722Svbart@nginx.com<para>
4711722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
4721722Svbart@nginx.comnames.
4731722Svbart@nginx.com</para>
4741722Svbart@nginx.com</change>
4751722Svbart@nginx.com
4761722Svbart@nginx.com<change type="change">
4771722Svbart@nginx.com<para>
4781722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
4791722Svbart@nginx.comdefault.
4801722Svbart@nginx.com</para>
4811722Svbart@nginx.com</change>
4821722Svbart@nginx.com
4831722Svbart@nginx.com<change type="feature">
4841722Svbart@nginx.com<para>
4851722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
4861722Svbart@nginx.com</para>
4871722Svbart@nginx.com</change>
4881722Svbart@nginx.com
4891722Svbart@nginx.com<change type="feature">
4901722Svbart@nginx.com<para>
4911722Svbart@nginx.comregular expressions in route matching patterns.
4921722Svbart@nginx.com</para>
4931722Svbart@nginx.com</change>
4941722Svbart@nginx.com
4951722Svbart@nginx.com<change type="feature">
4961722Svbart@nginx.com<para>
4971722Svbart@nginx.comcompatibility with Python 3.9.
4981722Svbart@nginx.com</para>
4991722Svbart@nginx.com</change>
5001722Svbart@nginx.com
5011722Svbart@nginx.com<change type="feature">
5021722Svbart@nginx.com<para>
5031722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
5041722Svbart@nginx.com</para>
5051722Svbart@nginx.com</change>
5061722Svbart@nginx.com
5071722Svbart@nginx.com<change type="feature">
5081722Svbart@nginx.com<para>
5091722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
5101722Svbart@nginx.com</para>
5111722Svbart@nginx.com</change>
5121722Svbart@nginx.com
5131722Svbart@nginx.com<change type="feature">
5141722Svbart@nginx.com<para>
5151722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
5161722Svbart@nginx.comcontinues code execution without holding onto the client connection.
5171722Svbart@nginx.com</para>
5181722Svbart@nginx.com</change>
5191722Svbart@nginx.com
5201722Svbart@nginx.com<change type="feature">
5211722Svbart@nginx.com<para>
5221722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
5231722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
5241722Svbart@nginx.com</para>
5251722Svbart@nginx.com</change>
5261722Svbart@nginx.com
5271722Svbart@nginx.com<change type="feature">
5281722Svbart@nginx.com<para>
5291722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
5301722Svbart@nginx.commounting of eponymous filesystems.
5311722Svbart@nginx.com</para>
5321722Svbart@nginx.com</change>
5331722Svbart@nginx.com
5341722Svbart@nginx.com<change type="bugfix">
5351722Svbart@nginx.com<para>
5361722Svbart@nginx.comthe router process could crash when running Go applications under high load;
5371722Svbart@nginx.comthe bug had appeared in 1.19.0.
5381722Svbart@nginx.com</para>
5391722Svbart@nginx.com</change>
5401722Svbart@nginx.com
5411722Svbart@nginx.com<change type="bugfix">
5421722Svbart@nginx.com<para>
5431722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
5441722Svbart@nginx.com</para>
5451722Svbart@nginx.com</change>
5461722Svbart@nginx.com
5471722Svbart@nginx.com<change type="bugfix">
5481722Svbart@nginx.com<para>
5491722Svbart@nginx.comvarious compatibility issues in Java applications.
5501722Svbart@nginx.com</para>
5511722Svbart@nginx.com</change>
5521722Svbart@nginx.com
5531722Svbart@nginx.com<change type="bugfix">
5541722Svbart@nginx.com<para>
5551722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
5561722Svbart@nginx.comuse "rootfs" isolation.
5571722Svbart@nginx.com</para>
5581722Svbart@nginx.com</change>
5591722Svbart@nginx.com
5601722Svbart@nginx.com</changes>
5611722Svbart@nginx.com
5621722Svbart@nginx.com
5631330Svbart@nginx.com<changes apply="unit-php
5641330Svbart@nginx.com                unit-python unit-python2.7
5651330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5661330Svbart@nginx.com                unit-python3.8
5671330Svbart@nginx.com                unit-go
5681330Svbart@nginx.com                unit-perl
5691330Svbart@nginx.com                unit-ruby
5701330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5711640Svbart@nginx.com         ver="1.20.0" rev="1"
5721640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
5731640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5741640Svbart@nginx.com
5751640Svbart@nginx.com<change>
5761640Svbart@nginx.com<para>
5771640Svbart@nginx.comNGINX Unit updated to 1.20.0.
5781640Svbart@nginx.com</para>
5791640Svbart@nginx.com</change>
5801640Svbart@nginx.com
5811640Svbart@nginx.com</changes>
5821640Svbart@nginx.com
5831640Svbart@nginx.com
5841640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
5851640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
5861640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5871640Svbart@nginx.com
5881640Svbart@nginx.com<change type="change">
5891640Svbart@nginx.com<para>
5901640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
5911640Svbart@nginx.comextensions from the host system.
5921640Svbart@nginx.com</para>
5931640Svbart@nginx.com</change>
5941640Svbart@nginx.com
5951640Svbart@nginx.com<change type="change">
5961640Svbart@nginx.com<para>
5971640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
5981640Svbart@nginx.com</para>
5991640Svbart@nginx.com</change>
6001640Svbart@nginx.com
6011643Svbart@nginx.com<change type="change">
6021643Svbart@nginx.com<para>
6031643Svbart@nginx.comfunctional tests migrated to the pytest framework.
6041643Svbart@nginx.com</para>
6051643Svbart@nginx.com</change>
6061643Svbart@nginx.com
6071640Svbart@nginx.com<change type="feature">
6081640Svbart@nginx.com<para>
6091640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
6101640Svbart@nginx.cominterface.
6111640Svbart@nginx.com</para>
6121640Svbart@nginx.com</change>
6131640Svbart@nginx.com
6141640Svbart@nginx.com<change type="feature">
6151640Svbart@nginx.com<para>
6161640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
6171640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
6181640Svbart@nginx.comspecification.
6191640Svbart@nginx.com</para>
6201640Svbart@nginx.com</change>
6211640Svbart@nginx.com
6221640Svbart@nginx.com<change type="feature">
6231640Svbart@nginx.com<para>
6241640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
6251640Svbart@nginx.comenvironments.
6261640Svbart@nginx.com</para>
6271640Svbart@nginx.com</change>
6281640Svbart@nginx.com
6291640Svbart@nginx.com<change type="feature">
6301640Svbart@nginx.com<para>
6311640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
6321640Svbart@nginx.com</para>
6331640Svbart@nginx.com</change>
6341640Svbart@nginx.com
6351640Svbart@nginx.com<change type="feature">
6361640Svbart@nginx.com<para>
6371640Svbart@nginx.comthe "callable" option sets Python application callable names.
6381640Svbart@nginx.com</para>
6391640Svbart@nginx.com</change>
6401640Svbart@nginx.com
6411640Svbart@nginx.com<change type="feature">
6421640Svbart@nginx.com<para>
6431640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
6441640Svbart@nginx.com</para>
6451640Svbart@nginx.com</change>
6461640Svbart@nginx.com
6471640Svbart@nginx.com<change type="feature">
6481640Svbart@nginx.com<para>
6491640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
6501640Svbart@nginx.comautomatic mounting of language module dependencies.
6511640Svbart@nginx.com</para>
6521640Svbart@nginx.com</change>
6531640Svbart@nginx.com
6541640Svbart@nginx.com<change type="bugfix">
6551640Svbart@nginx.com<para>
6561640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
6571640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
6581640Svbart@nginx.com</para>
6591640Svbart@nginx.com</change>
6601640Svbart@nginx.com
6611640Svbart@nginx.com<change type="bugfix">
6621640Svbart@nginx.com<para>
6631640Svbart@nginx.comthe router process could crash during reconfiguration.
6641640Svbart@nginx.com</para>
6651640Svbart@nginx.com</change>
6661640Svbart@nginx.com
6671640Svbart@nginx.com<change type="bugfix">
6681640Svbart@nginx.com<para>
6691640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
6701640Svbart@nginx.com</para>
6711640Svbart@nginx.com</change>
6721640Svbart@nginx.com
6731640Svbart@nginx.com<change type="bugfix">
6741640Svbart@nginx.com<para>
6751640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
6761640Svbart@nginx.comthe bug had appeared in 1.19.0.
6771640Svbart@nginx.com</para>
6781640Svbart@nginx.com</change>
6791640Svbart@nginx.com
6801640Svbart@nginx.com<change type="bugfix">
6811640Svbart@nginx.com<para>
6821640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
6831640Svbart@nginx.comthe bug had appeared in 1.16.0.
6841640Svbart@nginx.com</para>
6851640Svbart@nginx.com</change>
6861640Svbart@nginx.com
6871640Svbart@nginx.com</changes>
6881640Svbart@nginx.com
6891640Svbart@nginx.com
6901640Svbart@nginx.com<changes apply="unit-php
6911640Svbart@nginx.com                unit-python unit-python2.7
6921640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6931640Svbart@nginx.com                unit-python3.8
6941640Svbart@nginx.com                unit-go
6951640Svbart@nginx.com                unit-perl
6961640Svbart@nginx.com                unit-ruby
6971640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6981570Svbart@nginx.com         ver="1.19.0" rev="1"
6991570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
7001570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7011570Svbart@nginx.com
7021570Svbart@nginx.com<change>
7031570Svbart@nginx.com<para>
7041570Svbart@nginx.comNGINX Unit updated to 1.19.0.
7051570Svbart@nginx.com</para>
7061570Svbart@nginx.com</change>
7071570Svbart@nginx.com
7081570Svbart@nginx.com</changes>
7091570Svbart@nginx.com
7101570Svbart@nginx.com
7111570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
7121570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
7131570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7141570Svbart@nginx.com
7151570Svbart@nginx.com<change type="feature">
7161570Svbart@nginx.com<para>
7171570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
7181570Svbart@nginx.comincrease performance, and improve scalability.
7191570Svbart@nginx.com</para>
7201570Svbart@nginx.com</change>
7211570Svbart@nginx.com
7221570Svbart@nginx.com<change type="feature">
7231570Svbart@nginx.com<para>
7241570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
7251570Svbart@nginx.com</para>
7261570Svbart@nginx.com</change>
7271570Svbart@nginx.com
7281570Svbart@nginx.com<change type="feature">
7291570Svbart@nginx.com<para>
7301570Svbart@nginx.comchunked transfer encoding in proxy responses.
7311570Svbart@nginx.com</para>
7321570Svbart@nginx.com</change>
7331570Svbart@nginx.com
7341570Svbart@nginx.com<change type="feature">
7351570Svbart@nginx.com<para>
7361570Svbart@nginx.combasic variables support in the "pass" option.
7371570Svbart@nginx.com</para>
7381570Svbart@nginx.com</change>
7391570Svbart@nginx.com
7401570Svbart@nginx.com<change type="feature">
7411570Svbart@nginx.com<para>
7421570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
7431570Svbart@nginx.comThanks to Remi Collet.
7441570Svbart@nginx.com</para>
7451570Svbart@nginx.com</change>
7461570Svbart@nginx.com
7471570Svbart@nginx.com<change type="bugfix">
7481570Svbart@nginx.com<para>
7491570Svbart@nginx.comthe router process could crash while passing requests to an application under
7501570Svbart@nginx.comhigh load.
7511570Svbart@nginx.com</para>
7521570Svbart@nginx.com</change>
7531570Svbart@nginx.com
7541570Svbart@nginx.com<change type="bugfix">
7551570Svbart@nginx.com<para>
7561570Svbart@nginx.coma number of language modules failed to build on some systems;
7571570Svbart@nginx.comthe bug had appeared in 1.18.0.
7581570Svbart@nginx.com</para>
7591570Svbart@nginx.com</change>
7601570Svbart@nginx.com
7611570Svbart@nginx.com<change type="bugfix">
7621570Svbart@nginx.com<para>
7631570Svbart@nginx.comtime in error log messages from PHP applications could lag.
7641570Svbart@nginx.com</para>
7651570Svbart@nginx.com</change>
7661570Svbart@nginx.com
7671570Svbart@nginx.com<change type="bugfix">
7681570Svbart@nginx.com<para>
7691570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
7701570Svbart@nginx.comthe bug had appeared in 1.18.0.
7711570Svbart@nginx.com</para>
7721570Svbart@nginx.com</change>
7731570Svbart@nginx.com
7741570Svbart@nginx.com<change type="bugfix">
7751570Svbart@nginx.com<para>
7761570Svbart@nginx.commemory leak during reconfiguration.
7771570Svbart@nginx.com</para>
7781570Svbart@nginx.com</change>
7791570Svbart@nginx.com
7801570Svbart@nginx.com<change type="bugfix">
7811570Svbart@nginx.com<para>
7821570Svbart@nginx.comthe daemon didn't start without language modules;
7831570Svbart@nginx.comthe bug had appeared in 1.18.0.
7841570Svbart@nginx.com</para>
7851570Svbart@nginx.com</change>
7861570Svbart@nginx.com
7871570Svbart@nginx.com<change type="bugfix">
7881570Svbart@nginx.com<para>
7891570Svbart@nginx.comthe router process could crash at exit.
7901570Svbart@nginx.com</para>
7911570Svbart@nginx.com</change>
7921570Svbart@nginx.com
7931570Svbart@nginx.com<change type="bugfix">
7941570Svbart@nginx.com<para>
7951570Svbart@nginx.comNode.js applications could crash at exit.
7961570Svbart@nginx.com</para>
7971570Svbart@nginx.com</change>
7981570Svbart@nginx.com
7991570Svbart@nginx.com<change type="bugfix">
8001570Svbart@nginx.com<para>
8011570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
8021570Svbart@nginx.com</para>
8031570Svbart@nginx.com</change>
8041570Svbart@nginx.com
8051570Svbart@nginx.com</changes>
8061570Svbart@nginx.com
8071570Svbart@nginx.com
8081570Svbart@nginx.com<changes apply="unit-php
8091570Svbart@nginx.com                unit-python unit-python2.7
8101570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8111570Svbart@nginx.com                unit-python3.8
8121570Svbart@nginx.com                unit-go
8131570Svbart@nginx.com                unit-perl
8141570Svbart@nginx.com                unit-ruby
8151570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8161491Svbart@nginx.com         ver="1.18.0" rev="1"
8171491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
8181491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8191491Svbart@nginx.com
8201491Svbart@nginx.com<change>
8211491Svbart@nginx.com<para>
8221491Svbart@nginx.comNGINX Unit updated to 1.18.0.
8231491Svbart@nginx.com</para>
8241491Svbart@nginx.com</change>
8251491Svbart@nginx.com
8261491Svbart@nginx.com</changes>
8271491Svbart@nginx.com
8281491Svbart@nginx.com
8291491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
8301491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
8311491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8321491Svbart@nginx.com
8331491Svbart@nginx.com<change type="feature">
8341491Svbart@nginx.com<para>
8351491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
8361491Svbart@nginx.com</para>
8371491Svbart@nginx.com</change>
8381491Svbart@nginx.com
8391491Svbart@nginx.com<change type="feature">
8401491Svbart@nginx.com<para>
8411491Svbart@nginx.commultiple "targets" in PHP applications.
8421491Svbart@nginx.com</para>
8431491Svbart@nginx.com</change>
8441491Svbart@nginx.com
8451491Svbart@nginx.com<change type="feature">
8461491Svbart@nginx.com<para>
8471491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
8481491Svbart@nginx.comand in the "pass" option.
8491491Svbart@nginx.com</para>
8501491Svbart@nginx.com</change>
8511491Svbart@nginx.com
8521491Svbart@nginx.com</changes>
8531491Svbart@nginx.com
8541491Svbart@nginx.com
8551491Svbart@nginx.com<changes apply="unit-php
8561491Svbart@nginx.com                unit-python unit-python2.7
8571491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8581491Svbart@nginx.com                unit-python3.8
8591491Svbart@nginx.com                unit-go
8601491Svbart@nginx.com                unit-perl
8611491Svbart@nginx.com                unit-ruby
8621491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8631460Svbart@nginx.com         ver="1.17.0" rev="1"
8641460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
8651460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8661460Svbart@nginx.com
8671460Svbart@nginx.com<change>
8681460Svbart@nginx.com<para>
8691460Svbart@nginx.comNGINX Unit updated to 1.17.0.
8701460Svbart@nginx.com</para>
8711460Svbart@nginx.com</change>
8721460Svbart@nginx.com
8731460Svbart@nginx.com</changes>
8741460Svbart@nginx.com
8751460Svbart@nginx.com
8761460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
8771460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
8781460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8791460Svbart@nginx.com
8801460Svbart@nginx.com<change type="feature">
8811460Svbart@nginx.com<para>
8821460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
8831460Svbart@nginx.comredirection.
8841460Svbart@nginx.com</para>
8851460Svbart@nginx.com</change>
8861460Svbart@nginx.com
8871460Svbart@nginx.com<change type="feature">
8881460Svbart@nginx.com<para>
8891460Svbart@nginx.comfractional weights support for upstream servers.
8901460Svbart@nginx.com</para>
8911460Svbart@nginx.com</change>
8921460Svbart@nginx.com
8931460Svbart@nginx.com<change type="bugfix">
8941460Svbart@nginx.com<para>
8951460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
8961460Svbart@nginx.comhigh load.
8971460Svbart@nginx.com</para>
8981460Svbart@nginx.com</change>
8991460Svbart@nginx.com
9001460Svbart@nginx.com<change type="bugfix">
9011460Svbart@nginx.com<para>
9021460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
9031460Svbart@nginx.com</para>
9041460Svbart@nginx.com</change>
9051460Svbart@nginx.com
9061460Svbart@nginx.com<change type="bugfix">
9071460Svbart@nginx.com<para>
9081460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
9091460Svbart@nginx.comopen connections limit.
9101460Svbart@nginx.com</para>
9111460Svbart@nginx.com</change>
9121460Svbart@nginx.com
9131460Svbart@nginx.com<change type="bugfix">
9141460Svbart@nginx.com<para>
9151460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
9161460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
9171460Svbart@nginx.com</para>
9181460Svbart@nginx.com</change>
9191460Svbart@nginx.com
9201460Svbart@nginx.com<change type="bugfix">
9211460Svbart@nginx.com<para>
9221460Svbart@nginx.comexisting application processes didn't reopen the log file.
9231460Svbart@nginx.com</para>
9241460Svbart@nginx.com</change>
9251460Svbart@nginx.com
9261460Svbart@nginx.com<change type="bugfix">
9271460Svbart@nginx.com<para>
9281460Svbart@nginx.comincompatibility with some Node.js applications.
9291460Svbart@nginx.com</para>
9301460Svbart@nginx.com</change>
9311460Svbart@nginx.com
9321460Svbart@nginx.com<change type="bugfix">
9331460Svbart@nginx.com<para>
9341460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
9351460Svbart@nginx.com</para>
9361460Svbart@nginx.com</change>
9371460Svbart@nginx.com
9381460Svbart@nginx.com</changes>
9391460Svbart@nginx.com
9401460Svbart@nginx.com
9411460Svbart@nginx.com<changes apply="unit-php
9421460Svbart@nginx.com                unit-python unit-python2.7
9431460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9441460Svbart@nginx.com                unit-python3.8
9451460Svbart@nginx.com                unit-go
9461460Svbart@nginx.com                unit-perl
9471460Svbart@nginx.com                unit-ruby
9481460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9491404Svbart@nginx.com         ver="1.16.0" rev="1"
9501404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
9511404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9521404Svbart@nginx.com
9531404Svbart@nginx.com<change>
9541404Svbart@nginx.com<para>
9551404Svbart@nginx.comNGINX Unit updated to 1.16.0.
9561404Svbart@nginx.com</para>
9571404Svbart@nginx.com</change>
9581404Svbart@nginx.com
9591404Svbart@nginx.com</changes>
9601404Svbart@nginx.com
9611404Svbart@nginx.com
9621404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
9631404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
9641404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9651404Svbart@nginx.com
9661404Svbart@nginx.com<change type="feature">
9671404Svbart@nginx.com<para>
9681404Svbart@nginx.combasic load-balancing support with round-robin.
9691404Svbart@nginx.com</para>
9701404Svbart@nginx.com</change>
9711404Svbart@nginx.com
9721404Svbart@nginx.com<change type="feature">
9731404Svbart@nginx.com<para>
9741404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
9751404Svbart@nginx.comserved from the "share" directory.
9761404Svbart@nginx.com</para>
9771404Svbart@nginx.com</change>
9781404Svbart@nginx.com
9791404Svbart@nginx.com<change type="feature">
9801404Svbart@nginx.com<para>
9811404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
9821404Svbart@nginx.com</para>
9831404Svbart@nginx.com</change>
9841404Svbart@nginx.com
9851404Svbart@nginx.com<change type="feature">
9861404Svbart@nginx.com<para>
9871404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
9881404Svbart@nginx.com</para>
9891404Svbart@nginx.com</change>
9901404Svbart@nginx.com
9911404Svbart@nginx.com<change type="bugfix">
9921404Svbart@nginx.com<para>
9931404Svbart@nginx.comnegative address matching in router might work improperly in combination with
9941404Svbart@nginx.comnon-negative patterns.
9951404Svbart@nginx.com</para>
9961404Svbart@nginx.com</change>
9971404Svbart@nginx.com
9981404Svbart@nginx.com<change type="bugfix">
9991404Svbart@nginx.com<para>
10001404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
10011404Svbart@nginx.com</para>
10021404Svbart@nginx.com</change>
10031404Svbart@nginx.com
10041404Svbart@nginx.com<change type="bugfix">
10051404Svbart@nginx.com<para>
10061404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
10071404Svbart@nginx.com</para>
10081404Svbart@nginx.com</change>
10091404Svbart@nginx.com
10101404Svbart@nginx.com<change type="bugfix">
10111404Svbart@nginx.com<para>
10121404Svbart@nginx.comcompatibility issues with some Python applications.
10131404Svbart@nginx.com</para>
10141404Svbart@nginx.com</change>
10151404Svbart@nginx.com
10161404Svbart@nginx.com</changes>
10171404Svbart@nginx.com
10181404Svbart@nginx.com
10191404Svbart@nginx.com<changes apply="unit-php
10201404Svbart@nginx.com                unit-python unit-python2.7
10211404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10221404Svbart@nginx.com                unit-python3.8
10231404Svbart@nginx.com                unit-go
10241404Svbart@nginx.com                unit-perl
10251404Svbart@nginx.com                unit-ruby
10261404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10271357Svbart@nginx.com         ver="1.15.0" rev="1"
10281357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
10291357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10301357Svbart@nginx.com
10311357Svbart@nginx.com<change>
10321357Svbart@nginx.com<para>
10331357Svbart@nginx.comNGINX Unit updated to 1.15.0.
10341357Svbart@nginx.com</para>
10351357Svbart@nginx.com</change>
10361357Svbart@nginx.com
10371357Svbart@nginx.com</changes>
10381357Svbart@nginx.com
10391357Svbart@nginx.com
10401357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
10411357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
10421357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10431357Svbart@nginx.com
10441357Svbart@nginx.com<change type="change">
10451357Svbart@nginx.com<para>
10461357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
10471357Svbart@nginx.com</para>
10481357Svbart@nginx.com</change>
10491357Svbart@nginx.com
10501357Svbart@nginx.com<change type="feature">
10511357Svbart@nginx.com<para>
10521357Svbart@nginx.comcompatibility with Ruby 2.7.
10531357Svbart@nginx.com</para>
10541357Svbart@nginx.com</change>
10551357Svbart@nginx.com
10561357Svbart@nginx.com<change type="bugfix">
10571357Svbart@nginx.com<para>
10581357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
10591357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
10601357Svbart@nginx.com</para>
10611357Svbart@nginx.com</change>
10621357Svbart@nginx.com
10631357Svbart@nginx.com<change type="bugfix">
10641357Svbart@nginx.com<para>
10651357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
10661357Svbart@nginx.com</para>
10671357Svbart@nginx.com</change>
10681357Svbart@nginx.com
10691357Svbart@nginx.com</changes>
10701357Svbart@nginx.com
10711357Svbart@nginx.com
10721357Svbart@nginx.com<changes apply="unit-php
10731357Svbart@nginx.com                unit-python unit-python2.7
10741357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10751357Svbart@nginx.com                unit-python3.8
10761357Svbart@nginx.com                unit-go
10771357Svbart@nginx.com                unit-perl
10781357Svbart@nginx.com                unit-ruby
10791357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10801330Svbart@nginx.com         ver="1.14.0" rev="1"
10811330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
10821330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10831330Svbart@nginx.com
10841330Svbart@nginx.com<change>
10851330Svbart@nginx.com<para>
10861330Svbart@nginx.comNGINX Unit updated to 1.14.0.
10871330Svbart@nginx.com</para>
10881330Svbart@nginx.com</change>
10891330Svbart@nginx.com
10901330Svbart@nginx.com</changes>
10911330Svbart@nginx.com
10921330Svbart@nginx.com
10931330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
10941330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
10951330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10961330Svbart@nginx.com
10971330Svbart@nginx.com<change type="change">
10981330Svbart@nginx.com<para>
10991330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
11001330Svbart@nginx.com</para>
11011330Svbart@nginx.com</change>
11021330Svbart@nginx.com
11031330Svbart@nginx.com<change type="change">
11041330Svbart@nginx.com<para>
11051330Svbart@nginx.comGo package now links to libunit instead of including library sources.
11061330Svbart@nginx.com</para>
11071330Svbart@nginx.com</change>
11081330Svbart@nginx.com
11091330Svbart@nginx.com<change type="feature">
11101330Svbart@nginx.com<para>
11111330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
11121330Svbart@nginx.comruns as an unprivileged user.
11131330Svbart@nginx.com</para>
11141330Svbart@nginx.com</change>
11151330Svbart@nginx.com
11161330Svbart@nginx.com<change type="feature">
11171330Svbart@nginx.com<para>
11181330Svbart@nginx.comrequest routing by source and destination addresses and ports.
11191330Svbart@nginx.com</para>
11201330Svbart@nginx.com</change>
11211330Svbart@nginx.com
11221330Svbart@nginx.com<change type="bugfix">
11231330Svbart@nginx.com<para>
11241330Svbart@nginx.commemory bloat on large responses.
11251330Svbart@nginx.com</para>
11261330Svbart@nginx.com</change>
11271330Svbart@nginx.com
11281330Svbart@nginx.com</changes>
11291330Svbart@nginx.com
11301330Svbart@nginx.com
11311290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
11321290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
11331290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11341290Sdefan@nginx.com
11351290Sdefan@nginx.com<change>
11361290Sdefan@nginx.com<para>
11371290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
11381290Sdefan@nginx.com</para>
11391290Sdefan@nginx.com</change>
11401290Sdefan@nginx.com
11411290Sdefan@nginx.com</changes>
11421290Sdefan@nginx.com
11431290Sdefan@nginx.com
11441290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
11451290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
11461290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11471290Sdefan@nginx.com
11481290Sdefan@nginx.com<change>
11491290Sdefan@nginx.com<para>
11501290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
11511290Sdefan@nginx.com</para>
11521290Sdefan@nginx.com</change>
11531290Sdefan@nginx.com
11541290Sdefan@nginx.com</changes>
11551290Sdefan@nginx.com
11561290Sdefan@nginx.com
11571289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
11581289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
11591289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11601289Sdefan@nginx.com
11611289Sdefan@nginx.com<change>
11621289Sdefan@nginx.com<para>
11631289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
11641289Sdefan@nginx.com</para>
11651289Sdefan@nginx.com</change>
11661289Sdefan@nginx.com
11671289Sdefan@nginx.com</changes>
11681289Sdefan@nginx.com
11691289Sdefan@nginx.com
11701185Svbart@nginx.com<changes apply="unit-php
11711185Svbart@nginx.com                unit-python unit-python2.7
11721185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11731185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11741185Svbart@nginx.com                unit-perl
11751185Svbart@nginx.com                unit-ruby
11761185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11771284Svbart@nginx.com         ver="1.13.0" rev="1"
11781284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
11791284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11801284Svbart@nginx.com
11811284Svbart@nginx.com<change>
11821284Svbart@nginx.com<para>
11831284Svbart@nginx.comNGINX Unit updated to 1.13.0.
11841284Svbart@nginx.com</para>
11851284Svbart@nginx.com</change>
11861284Svbart@nginx.com
11871284Svbart@nginx.com</changes>
11881284Svbart@nginx.com
11891284Svbart@nginx.com
11901284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
11911284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
11921284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11931284Svbart@nginx.com
11941284Svbart@nginx.com<change type="feature">
11951284Svbart@nginx.com<para>
11961284Svbart@nginx.combasic support for HTTP reverse proxying.
11971284Svbart@nginx.com</para>
11981284Svbart@nginx.com</change>
11991284Svbart@nginx.com
12001284Svbart@nginx.com<change type="feature">
12011284Svbart@nginx.com<para>
12021284Svbart@nginx.comcompatibility with Python 3.8.
12031284Svbart@nginx.com</para>
12041284Svbart@nginx.com</change>
12051284Svbart@nginx.com
12061284Svbart@nginx.com<change type="bugfix">
12071284Svbart@nginx.com<para>
12081284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
12091284Svbart@nginx.com</para>
12101284Svbart@nginx.com</change>
12111284Svbart@nginx.com
12121284Svbart@nginx.com<change type="bugfix">
12131284Svbart@nginx.com<para>
12141284Svbart@nginx.comthreads in Python applications might not work correctly.
12151284Svbart@nginx.com</para>
12161284Svbart@nginx.com</change>
12171284Svbart@nginx.com
12181284Svbart@nginx.com<change type="bugfix">
12191284Svbart@nginx.com<para>
12201284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
12211284Svbart@nginx.com</para>
12221284Svbart@nginx.com</change>
12231284Svbart@nginx.com
12241284Svbart@nginx.com<change type="bugfix">
12251284Svbart@nginx.com<para>
12261284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
12271284Svbart@nginx.comdelays.
12281284Svbart@nginx.com</para>
12291284Svbart@nginx.com</change>
12301284Svbart@nginx.com
12311284Svbart@nginx.com<change type="bugfix">
12321284Svbart@nginx.com<para>
12331284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
12341284Svbart@nginx.com</para>
12351284Svbart@nginx.com</change>
12361284Svbart@nginx.com
12371284Svbart@nginx.com</changes>
12381284Svbart@nginx.com
12391284Svbart@nginx.com
12401284Svbart@nginx.com<changes apply="unit-php
12411284Svbart@nginx.com                unit-python unit-python2.7
12421284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12431284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12441284Svbart@nginx.com                unit-perl
12451284Svbart@nginx.com                unit-ruby
12461284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12471222Svbart@nginx.com         ver="1.12.0" rev="1"
12481222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
12491222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12501222Svbart@nginx.com
12511222Svbart@nginx.com<change>
12521222Svbart@nginx.com<para>
12531222Svbart@nginx.comNGINX Unit updated to 1.12.0.
12541222Svbart@nginx.com</para>
12551222Svbart@nginx.com</change>
12561222Svbart@nginx.com
12571222Svbart@nginx.com</changes>
12581222Svbart@nginx.com
12591222Svbart@nginx.com
12601222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
12611222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
12621222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12631222Svbart@nginx.com
12641222Svbart@nginx.com<change type="feature">
12651222Svbart@nginx.com<para>
12661222Svbart@nginx.comcompatibility with PHP 7.4.
12671222Svbart@nginx.com</para>
12681222Svbart@nginx.com</change>
12691222Svbart@nginx.com
12701222Svbart@nginx.com<change type="bugfix">
12711222Svbart@nginx.com<para>
12721222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
12731222Svbart@nginx.com</para>
12741222Svbart@nginx.com</change>
12751222Svbart@nginx.com
12761222Svbart@nginx.com<change type="bugfix">
12771222Svbart@nginx.com<para>
12781222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
12791222Svbart@nginx.com</para>
12801222Svbart@nginx.com</change>
12811222Svbart@nginx.com
12821222Svbart@nginx.com<change type="bugfix">
12831222Svbart@nginx.com<para>
12841222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
12851222Svbart@nginx.com</para>
12861222Svbart@nginx.com</change>
12871222Svbart@nginx.com
12881222Svbart@nginx.com</changes>
12891222Svbart@nginx.com
12901222Svbart@nginx.com
1291