xref: /unit/docs/changes.xml (revision 2203)
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
82029SN/A<changes apply="unit-php
92029SN/A                unit-python unit-python2.7
102029SN/A                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
112029SN/A                unit-python3.8 unit-python3.9 unit-python3.10
122029SN/A                unit-go
132029SN/A                unit-perl
142029SN/A                unit-ruby
152029SN/A                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
162029SN/A                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
172202Szelenkov@nginx.com         ver="1.29.0" rev="1"
182202Szelenkov@nginx.com         date="" time=""
192202Szelenkov@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
202202Szelenkov@nginx.com
212202Szelenkov@nginx.com<change>
222202Szelenkov@nginx.com<para>
232202Szelenkov@nginx.comNGINX Unit updated to 1.29.0.
242202Szelenkov@nginx.com</para>
252202Szelenkov@nginx.com</change>
262202Szelenkov@nginx.com
272202Szelenkov@nginx.com</changes>
282202Szelenkov@nginx.com
292202Szelenkov@nginx.com
302202Szelenkov@nginx.com<changes apply="unit" ver="1.29.0" rev="1"
312202Szelenkov@nginx.com         date="" time=""
322202Szelenkov@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
332202Szelenkov@nginx.com
34*2203Sz.hong@f5.com<change type="bugfix">
35*2203Sz.hong@f5.com<para>
36*2203Sz.hong@f5.comfix HTTP cookie parsing when the value contains an equals sign.
37*2203Sz.hong@f5.com</para>
38*2203Sz.hong@f5.com</change>
39*2203Sz.hong@f5.com
402202Szelenkov@nginx.com</changes>
412202Szelenkov@nginx.com
422202Szelenkov@nginx.com
432202Szelenkov@nginx.com<changes apply="unit-php
442202Szelenkov@nginx.com                unit-python unit-python2.7
452202Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
462202Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
472202Szelenkov@nginx.com                unit-go
482202Szelenkov@nginx.com                unit-perl
492202Szelenkov@nginx.com                unit-ruby
502202Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
512202Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
522129Szelenkov@nginx.com         ver="1.28.0" rev="1"
532197Szelenkov@nginx.com         date="2022-09-13" time="18:00:00 +0300"
542135Sthresh@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
552129Szelenkov@nginx.com
562129Szelenkov@nginx.com<change>
572129Szelenkov@nginx.com<para>
582129Szelenkov@nginx.comNGINX Unit updated to 1.28.0.
592129Szelenkov@nginx.com</para>
602129Szelenkov@nginx.com</change>
612129Szelenkov@nginx.com
622129Szelenkov@nginx.com</changes>
632129Szelenkov@nginx.com
642129Szelenkov@nginx.com
652129Szelenkov@nginx.com<changes apply="unit" ver="1.28.0" rev="1"
662197Szelenkov@nginx.com         date="2022-09-13" time="18:00:00 +0300"
672135Sthresh@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
682129Szelenkov@nginx.com
692173Salx.manpages@gmail.com<change type="change">
702173Salx.manpages@gmail.com<para>
712173Salx.manpages@gmail.comincreased the applications' startup timeout.
722173Salx.manpages@gmail.com</para>
732173Salx.manpages@gmail.com</change>
742173Salx.manpages@gmail.com
752181Salx.manpages@gmail.com<change type="change">
762181Salx.manpages@gmail.com<para>
772181Salx.manpages@gmail.comdisallowed abstract Unix domain socket syntax in non-Linux systems.
782181Salx.manpages@gmail.com</para>
792181Salx.manpages@gmail.com</change>
802181Salx.manpages@gmail.com
812133Sz.hong@f5.com<change type="feature">
822133Sz.hong@f5.com<para>
832196Szelenkov@nginx.combasic statistics API.
842179Salx.manpages@gmail.com</para>
852179Salx.manpages@gmail.com</change>
862179Salx.manpages@gmail.com
872179Salx.manpages@gmail.com<change type="feature">
882179Salx.manpages@gmail.com<para>
892196Szelenkov@nginx.comcustomizable access log format.
902196Szelenkov@nginx.com</para>
912196Szelenkov@nginx.com</change>
922196Szelenkov@nginx.com
932196Szelenkov@nginx.com<change type="feature">
942196Szelenkov@nginx.com<para>
952196Szelenkov@nginx.commore HTTP variables support.
962161Salx.manpages@gmail.com</para>
972161Salx.manpages@gmail.com</change>
982161Salx.manpages@gmail.com
992161Salx.manpages@gmail.com<change type="feature">
1002161Salx.manpages@gmail.com<para>
1012133Sz.hong@f5.comforwarded header to replace client address and protocol.
1022133Sz.hong@f5.com</para>
1032133Sz.hong@f5.com</change>
1042133Sz.hong@f5.com
1052147Sz.hong@f5.com<change type="feature">
1062147Sz.hong@f5.com<para>
1072147Sz.hong@f5.comability to get dynamic variables.
1082147Sz.hong@f5.com</para>
1092147Sz.hong@f5.com</change>
1102147Sz.hong@f5.com
1112149Sz.hong@f5.com<change type="feature">
1122149Sz.hong@f5.com<para>
1132196Szelenkov@nginx.comsupport for abstract Unix sockets.
1142196Szelenkov@nginx.com</para>
1152196Szelenkov@nginx.com</change>
1162196Szelenkov@nginx.com
1172196Szelenkov@nginx.com<change type="feature">
1182196Szelenkov@nginx.com<para>
1192196Szelenkov@nginx.comsupport for Unix sockets in address matching.
1202149Sz.hong@f5.com</para>
1212149Sz.hong@f5.com</change>
1222149Sz.hong@f5.com
1232161Salx.manpages@gmail.com<change type="feature">
1242161Salx.manpages@gmail.com<para>
1252188Szelenkov@nginx.comthe $dollar variable translates to a literal "$" during variable substitution.
1262161Salx.manpages@gmail.com</para>
1272161Salx.manpages@gmail.com</change>
1282161Salx.manpages@gmail.com
1292137Salx.manpages@gmail.com<change type="bugfix">
1302137Salx.manpages@gmail.com<para>
1312188Szelenkov@nginx.comrouter process could crash if index file didn't contain an extension.
1322137Salx.manpages@gmail.com</para>
1332137Salx.manpages@gmail.com</change>
1342137Salx.manpages@gmail.com
1352163Salx.manpages@gmail.com<change type="bugfix">
1362163Salx.manpages@gmail.com<para>
1372163Salx.manpages@gmail.comforce SCRIPT_NAME in Ruby to always be an empty string.
1382163Salx.manpages@gmail.com</para>
1392163Salx.manpages@gmail.com</change>
1402163Salx.manpages@gmail.com
1412164Sz.hong@f5.com<change type="bugfix">
1422164Sz.hong@f5.com<para>
1432196Szelenkov@nginx.comwhen isolated PID numbers reach the prototype process host PID,
1442196Szelenkov@nginx.comthe prototype crashed.
1452196Szelenkov@nginx.com</para>
1462196Szelenkov@nginx.com</change>
1472196Szelenkov@nginx.com
1482196Szelenkov@nginx.com<change type="bugfix">
1492196Szelenkov@nginx.com<para>
1502188Szelenkov@nginx.comthe Ruby application process could crash on SIGTERM.
1512164Sz.hong@f5.com</para>
1522164Sz.hong@f5.com</change>
1532164Sz.hong@f5.com
1542174Smax.romanov@gmail.com<change type="bugfix">
1552174Smax.romanov@gmail.com<para>
1562188Szelenkov@nginx.comthe Ruby application process could crash on SIGINT.
1572183Sa.clayton@f5.com</para>
1582183Sa.clayton@f5.com</change>
1592183Sa.clayton@f5.com
1602183Sa.clayton@f5.com<change type="bugfix">
1612183Sa.clayton@f5.com<para>
1622194Sa.colomar@f5.commutex leak in the C API.
1632194Sa.colomar@f5.com</para>
1642194Sa.colomar@f5.com</change>
1652194Sa.colomar@f5.com
1662129Szelenkov@nginx.com</changes>
1672129Szelenkov@nginx.com
1682129Szelenkov@nginx.com
1692129Szelenkov@nginx.com<changes apply="unit-php
1702129Szelenkov@nginx.com                unit-python unit-python2.7
1712129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1722129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1732129Szelenkov@nginx.com                unit-go
1742129Szelenkov@nginx.com                unit-perl
1752129Szelenkov@nginx.com                unit-ruby
1762129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1772129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1782012Svbart@nginx.com         ver="1.27.0" rev="1"
1792127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1802012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1812012Svbart@nginx.com
1822012Svbart@nginx.com<change>
1832012Svbart@nginx.com<para>
1842012Svbart@nginx.comNGINX Unit updated to 1.27.0.
1852012Svbart@nginx.com</para>
1862012Svbart@nginx.com</change>
1872012Svbart@nginx.com
1882012Svbart@nginx.com</changes>
1892012Svbart@nginx.com
1902012Svbart@nginx.com
1912012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
1922127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1932012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1942012Svbart@nginx.com
1952072Sz.hong@f5.com<change type="feature">
1962072Sz.hong@f5.com<para>
1972108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
1982108Salx.manpages@gmail.com</para>
1992108Salx.manpages@gmail.com</change>
2002108Salx.manpages@gmail.com
2012108Salx.manpages@gmail.com<change type="feature">
2022108Salx.manpages@gmail.com<para>
2032081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
2042081Salx.manpages@gmail.com</para>
2052081Salx.manpages@gmail.com</change>
2062081Salx.manpages@gmail.com
2072081Salx.manpages@gmail.com<change type="feature">
2082081Salx.manpages@gmail.com<para>
2092113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
2102113Sartem.konev@nginx.com</para>
2112113Sartem.konev@nginx.com</change>
2122113Sartem.konev@nginx.com
2132113Sartem.konev@nginx.com<change type="feature">
2142113Sartem.konev@nginx.com<para>
2152113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
2162113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
2172113Sartem.konev@nginx.com</para>
2182113Sartem.konev@nginx.com</change>
2192113Sartem.konev@nginx.com
2202113Sartem.konev@nginx.com<change type="feature">
2212113Sartem.konev@nginx.com<para>
2222113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
2232110Salx.manpages@gmail.com</para>
2242110Salx.manpages@gmail.com</change>
2252110Salx.manpages@gmail.com
2262110Salx.manpages@gmail.com<change type="feature">
2272110Salx.manpages@gmail.com<para>
2282072Sz.hong@f5.comcompatibility with GCC 12.
2292072Sz.hong@f5.com</para>
2302072Sz.hong@f5.com</change>
2312072Sz.hong@f5.com
2322060Smax.romanov@nginx.com<change type="bugfix">
2332060Smax.romanov@nginx.com<para>
2342093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
2352093Sz.hong@f5.com</para>
2362093Sz.hong@f5.com</change>
2372093Sz.hong@f5.com
2382093Sz.hong@f5.com<change type="bugfix">
2392093Sz.hong@f5.com<para>
2402113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
2412069Sz.hong@f5.comcertificates was uploaded.
2422069Sz.hong@f5.com</para>
2432069Sz.hong@f5.com</change>
2442069Sz.hong@f5.com
2452069Sz.hong@f5.com<change type="bugfix">
2462069Sz.hong@f5.com<para>
2472060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
2482060Smax.romanov@nginx.com</para>
2492060Smax.romanov@nginx.com</change>
2502060Smax.romanov@nginx.com
2512061Smax.romanov@nginx.com<change type="bugfix">
2522061Smax.romanov@nginx.com<para>
2532061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
2542061Smax.romanov@nginx.com</para>
2552061Smax.romanov@nginx.com</change>
2562061Smax.romanov@nginx.com
2572067Smax.romanov@nginx.com<change type="bugfix">
2582067Smax.romanov@nginx.com<para>
2592067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
2602067Smax.romanov@nginx.comobject, notably with Falcon.
2612067Smax.romanov@nginx.com</para>
2622067Smax.romanov@nginx.com</change>
2632067Smax.romanov@nginx.com
2642117Szelenkov@nginx.com<change type="bugfix">
2652117Szelenkov@nginx.com<para>
2662117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
2672117Szelenkov@nginx.com</para>
2682117Szelenkov@nginx.com</change>
2692117Szelenkov@nginx.com
2702050Svbart@nginx.com</changes>
2712050Svbart@nginx.com
2722050Svbart@nginx.com
2732050Svbart@nginx.com<changes apply="unit-php
2742050Svbart@nginx.com                unit-python unit-python2.7
2752050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2762050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
2772050Svbart@nginx.com                unit-go
2782050Svbart@nginx.com                unit-perl
2792050Svbart@nginx.com                unit-ruby
2802050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2812050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
2822029SN/A         ver="1.26.1" rev="1"
2832045SN/A         date="2021-12-02" time="18:00:00 +0300"
2842029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2852029SN/A
2862029SN/A<change>
2872029SN/A<para>
2882029SN/ANGINX Unit updated to 1.26.1.
2892029SN/A</para>
2902029SN/A</change>
2912029SN/A
2922029SN/A</changes>
2932029SN/A
2942029SN/A
2952029SN/A<changes apply="unit" ver="1.26.1" rev="1"
2962045SN/A         date="2021-12-02" time="18:00:00 +0300"
2972029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2982029SN/A
2992033SN/A<change type="bugfix">
3002033SN/A<para>
3012044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
3022044SN/Aappeared in 1.26.0.
3032033SN/A</para>
3042033SN/A</change>
3052033SN/A
3062034SN/A<change type="bugfix">
3072034SN/A<para>
3082044SN/Aa prototype process could crash on an application process exit; the bug had
3092034SN/Aappeared in 1.26.0.
3102034SN/A</para>
3112034SN/A</change>
3122034SN/A
3132035SN/A<change type="bugfix">
3142035SN/A<para>
3152044SN/Athe router process crashed on reconfiguration if "access_log" was configured
3162044SN/Awithout listeners.
3172044SN/A</para>
3182044SN/A</change>
3192044SN/A
3202044SN/A<change type="bugfix">
3212044SN/A<para>
3222035SN/Aa segmentation fault occurred in the PHP module if chdir() or
3232035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
3242035SN/A</para>
3252035SN/A</change>
3262035SN/A
3272040SN/A<change type="bugfix">
3282040SN/A<para>
3292041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
3302041SN/A</para>
3312041SN/A</change>
3322041SN/A
3332029SN/A</changes>
3342029SN/A
3352029SN/A
3361973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
3372007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3381973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3391973Sdefan@nginx.com
3401973Sdefan@nginx.com<change>
3411973Sdefan@nginx.com<para>
3421973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
3431973Sdefan@nginx.com</para>
3441973Sdefan@nginx.com</change>
3451973Sdefan@nginx.com
3461973Sdefan@nginx.com</changes>
3471973Sdefan@nginx.com
3481973Sdefan@nginx.com
3491973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
3502007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3511973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3521973Sdefan@nginx.com
3531973Sdefan@nginx.com<change>
3541973Sdefan@nginx.com<para>
3551973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
3561973Sdefan@nginx.com</para>
3571973Sdefan@nginx.com</change>
3581973Sdefan@nginx.com
3591973Sdefan@nginx.com</changes>
3601973Sdefan@nginx.com
3611973Sdefan@nginx.com
3621896Svbart@nginx.com<changes apply="unit-php
3631896Svbart@nginx.com                unit-python unit-python2.7
3641896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3651896Svbart@nginx.com                unit-python3.8 unit-python3.9
3661896Svbart@nginx.com                unit-go
3671896Svbart@nginx.com                unit-perl
3681896Svbart@nginx.com                unit-ruby
3691896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3701896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3711951Svbart@nginx.com         ver="1.26.0" rev="1"
3722007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3731951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3741951Svbart@nginx.com
3751951Svbart@nginx.com<change>
3761951Svbart@nginx.com<para>
3771951Svbart@nginx.comNGINX Unit updated to 1.26.0.
3781951Svbart@nginx.com</para>
3791951Svbart@nginx.com</change>
3801951Svbart@nginx.com
3811951Svbart@nginx.com</changes>
3821951Svbart@nginx.com
3831951Svbart@nginx.com
3841951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
3852007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3861951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3871951Svbart@nginx.com
3881960Sz.hong@f5.com<change type="change">
3891960Sz.hong@f5.com<para>
3901960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
3911960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
3921960Sz.hong@f5.com</para>
3931960Sz.hong@f5.com</change>
3941960Sz.hong@f5.com
3951960Sz.hong@f5.com<change type="feature">
3961960Sz.hong@f5.com<para>
3972006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
3982006Svbart@nginx.comwhen updating from previous versions.
3992006Svbart@nginx.com</para>
4002006Svbart@nginx.com</change>
4012006Svbart@nginx.com
4022006Svbart@nginx.com<change type="feature">
4032006Svbart@nginx.com<para>
4041960Sz.hong@f5.comvariables support in the "share" option.
4051960Sz.hong@f5.com</para>
4061960Sz.hong@f5.com</change>
4071960Sz.hong@f5.com
4081959Sz.hong@f5.com<change type="feature">
4091959Sz.hong@f5.com<para>
4101961Sz.hong@f5.commultiple paths in the "share" option.
4111961Sz.hong@f5.com</para>
4121961Sz.hong@f5.com</change>
4131961Sz.hong@f5.com
4141961Sz.hong@f5.com<change type="feature">
4151961Sz.hong@f5.com<para>
4161959Sz.hong@f5.comvariables support in the "chroot" option.
4171959Sz.hong@f5.com</para>
4181959Sz.hong@f5.com</change>
4191959Sz.hong@f5.com
4201969Sz.hong@f5.com<change type="feature">
4211969Sz.hong@f5.com<para>
4222006Svbart@nginx.comPHP opcache is shared between application processes.
4231969Sz.hong@f5.com</para>
4241969Sz.hong@f5.com</change>
4251969Sz.hong@f5.com
4261991Sz.hong@f5.com<change type="feature">
4271991Sz.hong@f5.com<para>
4281991Sz.hong@f5.comrequest routing by the query string.
4291991Sz.hong@f5.com</para>
4301991Sz.hong@f5.com</change>
4311991Sz.hong@f5.com
4321955Smax.romanov@nginx.com<change type="bugfix">
4331955Smax.romanov@nginx.com<para>
4342006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
4352006Svbart@nginx.comby asynchronous or multithreaded apps.
4361955Smax.romanov@nginx.com</para>
4371955Smax.romanov@nginx.com</change>
4381955Smax.romanov@nginx.com
4391956Smax.romanov@nginx.com<change type="bugfix">
4401956Smax.romanov@nginx.com<para>
4411956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
4421956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
4431956Smax.romanov@nginx.com</para>
4441956Smax.romanov@nginx.com</change>
4451956Smax.romanov@nginx.com
4461992Smax.romanov@nginx.com<change type="bugfix">
4471992Smax.romanov@nginx.com<para>
4482006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
4491992Smax.romanov@nginx.com</para>
4501992Smax.romanov@nginx.com</change>
4511992Smax.romanov@nginx.com
4521951Svbart@nginx.com</changes>
4531951Svbart@nginx.com
4541951Svbart@nginx.com
4551951Svbart@nginx.com<changes apply="unit-php
4561951Svbart@nginx.com                unit-python unit-python2.7
4571951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4581951Svbart@nginx.com                unit-python3.8 unit-python3.9
4591951Svbart@nginx.com                unit-go
4601951Svbart@nginx.com                unit-perl
4611951Svbart@nginx.com                unit-ruby
4621951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4631951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
4641896Svbart@nginx.com         ver="1.25.0" rev="1"
4651945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4661896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4671896Svbart@nginx.com
4681896Svbart@nginx.com<change>
4691896Svbart@nginx.com<para>
4701896Svbart@nginx.comNGINX Unit updated to 1.25.0.
4711896Svbart@nginx.com</para>
4721896Svbart@nginx.com</change>
4731896Svbart@nginx.com
4741896Svbart@nginx.com</changes>
4751896Svbart@nginx.com
4761896Svbart@nginx.com
4771896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
4781945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4791896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4801896Svbart@nginx.com
4811910So.canty@f5.com<change type="feature">
4821910So.canty@f5.com<para>
4831944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
4841942Sa.suvorov@f5.com</para>
4851942Sa.suvorov@f5.com</change>
4861942Sa.suvorov@f5.com
4871942Sa.suvorov@f5.com<change type="feature">
4881942Sa.suvorov@f5.com<para>
4891920Sa.suvorov@f5.comTLS sessions cache.
4901920Sa.suvorov@f5.com</para>
4911920Sa.suvorov@f5.com</change>
4921920Sa.suvorov@f5.com
4931920Sa.suvorov@f5.com<change type="feature">
4941920Sa.suvorov@f5.com<para>
4951944Svbart@nginx.comTLS session tickets.
4961910So.canty@f5.com</para>
4971910So.canty@f5.com</change>
4981910So.canty@f5.com
4991926Smax.romanov@nginx.com<change type="feature">
5001926Smax.romanov@nginx.com<para>
5011926Smax.romanov@nginx.comapplication restart control.
5021926Smax.romanov@nginx.com</para>
5031926Smax.romanov@nginx.com</change>
5041926Smax.romanov@nginx.com
5051936So.canty@f5.com<change type="feature">
5061936So.canty@f5.com<para>
5071944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
5081936So.canty@f5.com</para>
5091936So.canty@f5.com</change>
5101936So.canty@f5.com
5111907Smax.romanov@nginx.com<change type="bugfix">
5121907Smax.romanov@nginx.com<para>
5131944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
5141944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
5151921Sa.suvorov@f5.com</para>
5161921Sa.suvorov@f5.com</change>
5171921Sa.suvorov@f5.com
5181921Sa.suvorov@f5.com<change type="bugfix">
5191921Sa.suvorov@f5.com<para>
5201944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
5211944Svbart@nginx.combundles in a listener if the client did not use SNI.
5221907Smax.romanov@nginx.com</para>
5231907Smax.romanov@nginx.com</change>
5241907Smax.romanov@nginx.com
5251907Smax.romanov@nginx.com<change type="bugfix">
5261907Smax.romanov@nginx.com<para>
5271950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
5281915Smax.romanov@nginx.comreconfiguration.
5291915Smax.romanov@nginx.com</para>
5301915Smax.romanov@nginx.com</change>
5311915Smax.romanov@nginx.com
5321915Smax.romanov@nginx.com<change type="bugfix">
5331915Smax.romanov@nginx.com<para>
5341944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
5351944Svbart@nginx.comframework.
5361944Svbart@nginx.com</para>
5371944Svbart@nginx.com</change>
5381944Svbart@nginx.com
5391944Svbart@nginx.com<change type="bugfix">
5401944Svbart@nginx.com<para>
5411944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
5421944Svbart@nginx.comstopped or crashed.
5431907Smax.romanov@nginx.com</para>
5441907Smax.romanov@nginx.com</change>
5451907Smax.romanov@nginx.com
5461909So.canty@f5.com<change type="bugfix">
5471909So.canty@f5.com<para>
5481909So.canty@f5.comthe controller or router process could crash if the configuration contained
5491909So.canty@f5.coma full-form IPv6 in a listener address.
5501909So.canty@f5.com</para>
5511909So.canty@f5.com</change>
5521909So.canty@f5.com
5531916Smax.romanov@nginx.com<change type="bugfix">
5541916Smax.romanov@nginx.com<para>
5551929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
5561929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
5571929Sz.hong@f5.com</para>
5581929Sz.hong@f5.com</change>
5591929Sz.hong@f5.com
5601930So.canty@f5.com<change type="bugfix">
5611930So.canty@f5.com<para>
5621944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
5631944Svbart@nginx.comor destination address patterns.
5641930So.canty@f5.com</para>
5651930So.canty@f5.com</change>
5661930So.canty@f5.com
5671896Svbart@nginx.com</changes>
5681896Svbart@nginx.com
5691896Svbart@nginx.com
5701887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
5711891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5721887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5731887Sdefan@nginx.com
5741887Sdefan@nginx.com<change>
5751887Sdefan@nginx.com<para>
5761887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
5771887Sdefan@nginx.com</para>
5781887Sdefan@nginx.com</change>
5791887Sdefan@nginx.com
5801887Sdefan@nginx.com</changes>
5811887Sdefan@nginx.com
5821887Sdefan@nginx.com
5831887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
5841891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5851887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5861887Sdefan@nginx.com
5871887Sdefan@nginx.com<change>
5881887Sdefan@nginx.com<para>
5891887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
5901887Sdefan@nginx.com</para>
5911887Sdefan@nginx.com</change>
5921887Sdefan@nginx.com
5931887Sdefan@nginx.com</changes>
5941887Sdefan@nginx.com
5951887Sdefan@nginx.com
5961834Svbart@nginx.com<changes apply="unit-php
5971834Svbart@nginx.com                unit-python unit-python2.7
5981834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5991834Svbart@nginx.com                unit-python3.8 unit-python3.9
6001834Svbart@nginx.com                unit-go
6011834Svbart@nginx.com                unit-perl
6021834Svbart@nginx.com                unit-ruby
6031834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6041834Svbart@nginx.com                unit-jsc14 unit-jsc15"
6051839Svbart@nginx.com         ver="1.24.0" rev="1"
6061891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
6071839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6081839Svbart@nginx.com
6091839Svbart@nginx.com<change>
6101839Svbart@nginx.com<para>
6111839Svbart@nginx.comNGINX Unit updated to 1.24.0.
6121839Svbart@nginx.com</para>
6131839Svbart@nginx.com</change>
6141839Svbart@nginx.com
6151839Svbart@nginx.com</changes>
6161839Svbart@nginx.com
6171839Svbart@nginx.com
6181839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
6191891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
6201839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6211839Svbart@nginx.com
6221882So.canty@f5.com<change type="change">
6231882So.canty@f5.com<para>
6241882So.canty@f5.comPHP added to the default MIME type list.
6251882So.canty@f5.com</para>
6261882So.canty@f5.com</change>
6271882So.canty@f5.com
6281855Sz.hong@f5.com<change type="feature">
6291855Sz.hong@f5.com<para>
6301885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
6311885Sa.suvorov@f5.com</para>
6321885Sa.suvorov@f5.com</change>
6331885Sa.suvorov@f5.com
6341885Sa.suvorov@f5.com<change type="feature">
6351885Sa.suvorov@f5.com<para>
6361890Svbart@nginx.comthe ability to limit static file serving by MIME types.
6371890Svbart@nginx.com</para>
6381890Svbart@nginx.com</change>
6391890Svbart@nginx.com
6401890Svbart@nginx.com<change type="feature">
6411890Svbart@nginx.com<para>
6421890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
6431890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
6441872So.canty@f5.com</para>
6451872So.canty@f5.com</change>
6461872So.canty@f5.com
6471872So.canty@f5.com<change type="feature">
6481872So.canty@f5.com<para>
6491889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
6501889Sartem.konev@nginx.comNode.js.
6511865So.canty@f5.com</para>
6521865So.canty@f5.com</change>
6531865So.canty@f5.com
6541865So.canty@f5.com<change type="feature">
6551865So.canty@f5.com<para>
6561890Svbart@nginx.commultiple "targets" in Python applications.
6571855Sz.hong@f5.com</para>
6581855Sz.hong@f5.com</change>
6591855Sz.hong@f5.com
6601870So.canty@f5.com<change type="feature">
6611870So.canty@f5.com<para>
6621870So.canty@f5.comcompatibility with Ruby 3.0.
6631870So.canty@f5.com</para>
6641870So.canty@f5.com</change>
6651870So.canty@f5.com
6661861Svbart@nginx.com<change type="bugfix">
6671861Svbart@nginx.com<para>
6681889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
6691884Sa.suvorov@f5.com</para>
6701884Sa.suvorov@f5.com</change>
6711884Sa.suvorov@f5.com
6721884Sa.suvorov@f5.com<change type="bugfix">
6731884Sa.suvorov@f5.com<para>
6741861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
6751861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
6761861Svbart@nginx.com</para>
6771861Svbart@nginx.com</change>
6781861Svbart@nginx.com
6791839Svbart@nginx.com</changes>
6801839Svbart@nginx.com
6811839Svbart@nginx.com
6821839Svbart@nginx.com<changes apply="unit-php
6831839Svbart@nginx.com                unit-python unit-python2.7
6841839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6851839Svbart@nginx.com                unit-python3.8 unit-python3.9
6861839Svbart@nginx.com                unit-go
6871839Svbart@nginx.com                unit-perl
6881839Svbart@nginx.com                unit-ruby
6891839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6901839Svbart@nginx.com                unit-jsc14 unit-jsc15"
6911834Svbart@nginx.com         ver="1.23.0" rev="1"
6921834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6931834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6941834Svbart@nginx.com
6951834Svbart@nginx.com<change>
6961834Svbart@nginx.com<para>
6971834Svbart@nginx.comNGINX Unit updated to 1.23.0.
6981834Svbart@nginx.com</para>
6991834Svbart@nginx.com</change>
7001834Svbart@nginx.com
7011834Svbart@nginx.com</changes>
7021834Svbart@nginx.com
7031834Svbart@nginx.com
7041806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
7051834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
7061806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7071806Svbart@nginx.com
7081825Sthresh@nginx.com<change type="feature">
7091825Sthresh@nginx.com<para>
7101833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
7111828Sa.suvorov@f5.comIndication (SNI) TLS extension.
7121828Sa.suvorov@f5.com</para>
7131828Sa.suvorov@f5.com</change>
7141828Sa.suvorov@f5.com
7151828Sa.suvorov@f5.com<change type="feature">
7161828Sa.suvorov@f5.com<para>
7171833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
7181833Sartem.konev@nginx.cominstallation.
7191825Sthresh@nginx.com</para>
7201825Sthresh@nginx.com</change>
7211825Sthresh@nginx.com
7221811Smax.romanov@nginx.com<change type="bugfix">
7231811Smax.romanov@nginx.com<para>
7241812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
7251812Svbart@nginx.comappeared in 1.17.0.
7261812Svbart@nginx.com</para>
7271812Svbart@nginx.com</change>
7281812Svbart@nginx.com
7291812Svbart@nginx.com<change type="bugfix">
7301812Svbart@nginx.com<para>
7311833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
7321812Svbart@nginx.comappeared in 1.6.
7331812Svbart@nginx.com</para>
7341812Svbart@nginx.com</change>
7351812Svbart@nginx.com
7361812Svbart@nginx.com<change type="bugfix">
7371812Svbart@nginx.com<para>
7381833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
7391832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
7401832Smax.romanov@nginx.com</para>
7411832Smax.romanov@nginx.com</change>
7421832Smax.romanov@nginx.com
7431832Smax.romanov@nginx.com<change type="bugfix">
7441832Smax.romanov@nginx.com<para>
7451833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
7461811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
7471811Smax.romanov@nginx.com</para>
7481811Smax.romanov@nginx.com</change>
7491806Svbart@nginx.com
7501813Svbart@nginx.com<change type="bugfix">
7511813Svbart@nginx.com<para>
7521813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
7531813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
7541813Svbart@nginx.com</para>
7551813Svbart@nginx.com</change>
7561813Svbart@nginx.com
7571814Svbart@nginx.com<change type="bugfix">
7581814Svbart@nginx.com<para>
7591820Svbart@nginx.comthe controller process could crash while requesting information about a
7601820Svbart@nginx.comcertificate with a non-DNS SAN entry.
7611820Svbart@nginx.com</para>
7621820Svbart@nginx.com</change>
7631820Svbart@nginx.com
7641820Svbart@nginx.com<change type="bugfix">
7651820Svbart@nginx.com<para>
7661822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
7671833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
7681822Svbart@nginx.com</para>
7691822Svbart@nginx.com</change>
7701822Svbart@nginx.com
7711822Svbart@nginx.com<change type="bugfix">
7721822Svbart@nginx.com<para>
7731833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
7741833Sartem.konev@nginx.comclass.
7751814Svbart@nginx.com</para>
7761814Svbart@nginx.com</change>
7771814Svbart@nginx.com
7781815Svbart@nginx.com<change type="bugfix">
7791815Svbart@nginx.com<para>
7801815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
7811815Svbart@nginx.comappeared in 1.22.0.
7821815Svbart@nginx.com</para>
7831815Svbart@nginx.com</change>
7841815Svbart@nginx.com
7851806Svbart@nginx.com</changes>
7861806Svbart@nginx.com
7871806Svbart@nginx.com
7881798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
7891798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7901798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7911798Sdefan@nginx.com
7921798Sdefan@nginx.com<change>
7931798Sdefan@nginx.com<para>
7941798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
7951798Sdefan@nginx.com</para>
7961798Sdefan@nginx.com</change>
7971798Sdefan@nginx.com
7981798Sdefan@nginx.com</changes>
7991798Sdefan@nginx.com
8001798Sdefan@nginx.com
8011763Sdefan@nginx.com<changes apply="unit-php
8021763Sdefan@nginx.com                unit-python unit-python2.7
8031763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8041763Sdefan@nginx.com                unit-python3.8
8051763Sdefan@nginx.com                unit-go
8061763Sdefan@nginx.com                unit-perl
8071763Sdefan@nginx.com                unit-ruby
8081763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
8091763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
8101763Sdefan@nginx.com         ver="1.22.0" rev="1"
8111793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
8121763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8131763Sdefan@nginx.com
8141763Sdefan@nginx.com<change>
8151763Sdefan@nginx.com<para>
8161763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
8171763Sdefan@nginx.com</para>
8181763Sdefan@nginx.com</change>
8191763Sdefan@nginx.com
8201763Sdefan@nginx.com</changes>
8211763Sdefan@nginx.com
8221763Sdefan@nginx.com
8231727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
8241793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
8251727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8261727Svbart@nginx.com
8271759Svbart@nginx.com<change type="feature">
8281759Svbart@nginx.com<para>
8291792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
8301792Svbart@nginx.comcompliant with Stream API.
8311759Svbart@nginx.com</para>
8321759Svbart@nginx.com</change>
8331759Svbart@nginx.com
8341766Smax.romanov@nginx.com<change type="feature">
8351766Smax.romanov@nginx.com<para>
8361792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
8371792Svbart@nginx.comapps.
8381732Svbart@nginx.com</para>
8391732Svbart@nginx.com</change>
8401732Svbart@nginx.com
8411733Svbart@nginx.com<change type="bugfix">
8421733Svbart@nginx.com<para>
8431792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
8441792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
8451754Smax.romanov@nginx.com</para>
8461754Smax.romanov@nginx.com</change>
8471754Smax.romanov@nginx.com
8481755Smax.romanov@nginx.com<change type="bugfix">
8491755Smax.romanov@nginx.com<para>
8501790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
8511755Smax.romanov@nginx.comappeared in 1.19.0.
8521755Smax.romanov@nginx.com</para>
8531755Smax.romanov@nginx.com</change>
8541755Smax.romanov@nginx.com
8551756Smax.romanov@nginx.com<change type="bugfix">
8561756Smax.romanov@nginx.com<para>
8571790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
8581790Sartem.konev@nginx.comappeared in 1.19.0.
8591756Smax.romanov@nginx.com</para>
8601756Smax.romanov@nginx.com</change>
8611756Smax.romanov@nginx.com
8621760Smax.romanov@nginx.com<change type="bugfix">
8631760Smax.romanov@nginx.com<para>
8641792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
8651792Svbart@nginx.com</para>
8661792Svbart@nginx.com</change>
8671792Svbart@nginx.com
8681792Svbart@nginx.com<change type="bugfix">
8691792Svbart@nginx.com<para>
8701792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
8711792Svbart@nginx.commissing in the PHP module.
8721792Svbart@nginx.com</para>
8731792Svbart@nginx.com</change>
8741792Svbart@nginx.com
8751792Svbart@nginx.com<change type="bugfix">
8761792Svbart@nginx.com<para>
8771792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
8781792Svbart@nginx.com</para>
8791792Svbart@nginx.com</change>
8801792Svbart@nginx.com
8811792Svbart@nginx.com<change type="bugfix">
8821792Svbart@nginx.com<para>
8831792