xref: /unit/docs/changes.xml (revision 2188)
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"
172129Szelenkov@nginx.com         ver="1.28.0" rev="1"
182129Szelenkov@nginx.com         date="" time=""
192135Sthresh@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
202129Szelenkov@nginx.com
212129Szelenkov@nginx.com<change>
222129Szelenkov@nginx.com<para>
232129Szelenkov@nginx.comNGINX Unit updated to 1.28.0.
242129Szelenkov@nginx.com</para>
252129Szelenkov@nginx.com</change>
262129Szelenkov@nginx.com
272129Szelenkov@nginx.com</changes>
282129Szelenkov@nginx.com
292129Szelenkov@nginx.com
302129Szelenkov@nginx.com<changes apply="unit" ver="1.28.0" rev="1"
312129Szelenkov@nginx.com         date="" time=""
322135Sthresh@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
332129Szelenkov@nginx.com
342173Salx.manpages@gmail.com<change type="change">
352173Salx.manpages@gmail.com<para>
362173Salx.manpages@gmail.comincreased the applications' startup timeout.
372173Salx.manpages@gmail.com</para>
382173Salx.manpages@gmail.com</change>
392173Salx.manpages@gmail.com
402181Salx.manpages@gmail.com<change type="change">
412181Salx.manpages@gmail.com<para>
422181Salx.manpages@gmail.comdisallowed abstract Unix domain socket syntax in non-Linux systems.
432181Salx.manpages@gmail.com</para>
442181Salx.manpages@gmail.com</change>
452181Salx.manpages@gmail.com
462133Sz.hong@f5.com<change type="feature">
472133Sz.hong@f5.com<para>
48*2188Szelenkov@nginx.comsupport for abstract Unix sockets.
492179Salx.manpages@gmail.com</para>
502179Salx.manpages@gmail.com</change>
512179Salx.manpages@gmail.com
522179Salx.manpages@gmail.com<change type="feature">
532179Salx.manpages@gmail.com<para>
54*2188Szelenkov@nginx.comsupport for Unix sockets in address matching.
552161Salx.manpages@gmail.com</para>
562161Salx.manpages@gmail.com</change>
572161Salx.manpages@gmail.com
582161Salx.manpages@gmail.com<change type="feature">
592161Salx.manpages@gmail.com<para>
602133Sz.hong@f5.comforwarded header to replace client address and protocol.
612133Sz.hong@f5.com</para>
622133Sz.hong@f5.com</change>
632133Sz.hong@f5.com
642147Sz.hong@f5.com<change type="feature">
652147Sz.hong@f5.com<para>
662147Sz.hong@f5.comability to get dynamic variables.
672147Sz.hong@f5.com</para>
682147Sz.hong@f5.com</change>
692147Sz.hong@f5.com
702149Sz.hong@f5.com<change type="feature">
712149Sz.hong@f5.com<para>
722149Sz.hong@f5.commore http variables support.
732149Sz.hong@f5.com</para>
742149Sz.hong@f5.com</change>
752149Sz.hong@f5.com
762161Salx.manpages@gmail.com<change type="feature">
772161Salx.manpages@gmail.com<para>
78*2188Szelenkov@nginx.comthe $dollar variable translates to a literal "$" during variable substitution.
792161Salx.manpages@gmail.com</para>
802161Salx.manpages@gmail.com</change>
812161Salx.manpages@gmail.com
822166Sz.hong@f5.com<change type="feature">
832166Sz.hong@f5.com<para>
842166Sz.hong@f5.comcustomizable access log format.
852166Sz.hong@f5.com</para>
862166Sz.hong@f5.com</change>
872166Sz.hong@f5.com
882185Svbart@nginx.com<change type="feature">
892185Svbart@nginx.com<para>
902185Svbart@nginx.combasic statistics API.
912185Svbart@nginx.com</para>
922185Svbart@nginx.com</change>
932185Svbart@nginx.com
942137Salx.manpages@gmail.com<change type="bugfix">
952137Salx.manpages@gmail.com<para>
96*2188Szelenkov@nginx.comrouter process could crash if index file didn't contain an extension.
972137Salx.manpages@gmail.com</para>
982137Salx.manpages@gmail.com</change>
992137Salx.manpages@gmail.com
1002163Salx.manpages@gmail.com<change type="bugfix">
1012163Salx.manpages@gmail.com<para>
1022163Salx.manpages@gmail.comforce SCRIPT_NAME in Ruby to always be an empty string.
1032163Salx.manpages@gmail.com</para>
1042163Salx.manpages@gmail.com</change>
1052163Salx.manpages@gmail.com
1062164Sz.hong@f5.com<change type="bugfix">
1072164Sz.hong@f5.com<para>
108*2188Szelenkov@nginx.comthe Ruby application process could crash on SIGTERM.
1092164Sz.hong@f5.com</para>
1102164Sz.hong@f5.com</change>
1112164Sz.hong@f5.com
1122174Smax.romanov@gmail.com<change type="bugfix">
1132174Smax.romanov@gmail.com<para>
114*2188Szelenkov@nginx.comthe Ruby application process could crash on SIGINT.
1152183Sa.clayton@f5.com</para>
1162183Sa.clayton@f5.com</change>
1172183Sa.clayton@f5.com
1182183Sa.clayton@f5.com<change type="bugfix">
1192183Sa.clayton@f5.com<para>
1202174Smax.romanov@gmail.comwhen isolated PID numbers reach the prototype process host PID,
1212174Smax.romanov@gmail.comthe prototype crashed.
1222174Smax.romanov@gmail.com</para>
1232174Smax.romanov@gmail.com</change>
1242174Smax.romanov@gmail.com
1252129Szelenkov@nginx.com</changes>
1262129Szelenkov@nginx.com
1272129Szelenkov@nginx.com
1282129Szelenkov@nginx.com<changes apply="unit-php
1292129Szelenkov@nginx.com                unit-python unit-python2.7
1302129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1312129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1322129Szelenkov@nginx.com                unit-go
1332129Szelenkov@nginx.com                unit-perl
1342129Szelenkov@nginx.com                unit-ruby
1352129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1362129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1372012Svbart@nginx.com         ver="1.27.0" rev="1"
1382127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1392012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1402012Svbart@nginx.com
1412012Svbart@nginx.com<change>
1422012Svbart@nginx.com<para>
1432012Svbart@nginx.comNGINX Unit updated to 1.27.0.
1442012Svbart@nginx.com</para>
1452012Svbart@nginx.com</change>
1462012Svbart@nginx.com
1472012Svbart@nginx.com</changes>
1482012Svbart@nginx.com
1492012Svbart@nginx.com
1502012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
1512127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1522012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1532012Svbart@nginx.com
1542072Sz.hong@f5.com<change type="feature">
1552072Sz.hong@f5.com<para>
1562108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
1572108Salx.manpages@gmail.com</para>
1582108Salx.manpages@gmail.com</change>
1592108Salx.manpages@gmail.com
1602108Salx.manpages@gmail.com<change type="feature">
1612108Salx.manpages@gmail.com<para>
1622081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
1632081Salx.manpages@gmail.com</para>
1642081Salx.manpages@gmail.com</change>
1652081Salx.manpages@gmail.com
1662081Salx.manpages@gmail.com<change type="feature">
1672081Salx.manpages@gmail.com<para>
1682113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
1692113Sartem.konev@nginx.com</para>
1702113Sartem.konev@nginx.com</change>
1712113Sartem.konev@nginx.com
1722113Sartem.konev@nginx.com<change type="feature">
1732113Sartem.konev@nginx.com<para>
1742113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
1752113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
1762113Sartem.konev@nginx.com</para>
1772113Sartem.konev@nginx.com</change>
1782113Sartem.konev@nginx.com
1792113Sartem.konev@nginx.com<change type="feature">
1802113Sartem.konev@nginx.com<para>
1812113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
1822110Salx.manpages@gmail.com</para>
1832110Salx.manpages@gmail.com</change>
1842110Salx.manpages@gmail.com
1852110Salx.manpages@gmail.com<change type="feature">
1862110Salx.manpages@gmail.com<para>
1872072Sz.hong@f5.comcompatibility with GCC 12.
1882072Sz.hong@f5.com</para>
1892072Sz.hong@f5.com</change>
1902072Sz.hong@f5.com
1912060Smax.romanov@nginx.com<change type="bugfix">
1922060Smax.romanov@nginx.com<para>
1932093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
1942093Sz.hong@f5.com</para>
1952093Sz.hong@f5.com</change>
1962093Sz.hong@f5.com
1972093Sz.hong@f5.com<change type="bugfix">
1982093Sz.hong@f5.com<para>
1992113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
2002069Sz.hong@f5.comcertificates was uploaded.
2012069Sz.hong@f5.com</para>
2022069Sz.hong@f5.com</change>
2032069Sz.hong@f5.com
2042069Sz.hong@f5.com<change type="bugfix">
2052069Sz.hong@f5.com<para>
2062060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
2072060Smax.romanov@nginx.com</para>
2082060Smax.romanov@nginx.com</change>
2092060Smax.romanov@nginx.com
2102061Smax.romanov@nginx.com<change type="bugfix">
2112061Smax.romanov@nginx.com<para>
2122061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
2132061Smax.romanov@nginx.com</para>
2142061Smax.romanov@nginx.com</change>
2152061Smax.romanov@nginx.com
2162067Smax.romanov@nginx.com<change type="bugfix">
2172067Smax.romanov@nginx.com<para>
2182067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
2192067Smax.romanov@nginx.comobject, notably with Falcon.
2202067Smax.romanov@nginx.com</para>
2212067Smax.romanov@nginx.com</change>
2222067Smax.romanov@nginx.com
2232117Szelenkov@nginx.com<change type="bugfix">
2242117Szelenkov@nginx.com<para>
2252117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
2262117Szelenkov@nginx.com</para>
2272117Szelenkov@nginx.com</change>
2282117Szelenkov@nginx.com
2292050Svbart@nginx.com</changes>
2302050Svbart@nginx.com
2312050Svbart@nginx.com
2322050Svbart@nginx.com<changes apply="unit-php
2332050Svbart@nginx.com                unit-python unit-python2.7
2342050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2352050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
2362050Svbart@nginx.com                unit-go
2372050Svbart@nginx.com                unit-perl
2382050Svbart@nginx.com                unit-ruby
2392050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2402050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
2412029SN/A         ver="1.26.1" rev="1"
2422045SN/A         date="2021-12-02" time="18:00:00 +0300"
2432029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2442029SN/A
2452029SN/A<change>
2462029SN/A<para>
2472029SN/ANGINX Unit updated to 1.26.1.
2482029SN/A</para>
2492029SN/A</change>
2502029SN/A
2512029SN/A</changes>
2522029SN/A
2532029SN/A
2542029SN/A<changes apply="unit" ver="1.26.1" rev="1"
2552045SN/A         date="2021-12-02" time="18:00:00 +0300"
2562029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2572029SN/A
2582033SN/A<change type="bugfix">
2592033SN/A<para>
2602044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
2612044SN/Aappeared in 1.26.0.
2622033SN/A</para>
2632033SN/A</change>
2642033SN/A
2652034SN/A<change type="bugfix">
2662034SN/A<para>
2672044SN/Aa prototype process could crash on an application process exit; the bug had
2682034SN/Aappeared in 1.26.0.
2692034SN/A</para>
2702034SN/A</change>
2712034SN/A
2722035SN/A<change type="bugfix">
2732035SN/A<para>
2742044SN/Athe router process crashed on reconfiguration if "access_log" was configured
2752044SN/Awithout listeners.
2762044SN/A</para>
2772044SN/A</change>
2782044SN/A
2792044SN/A<change type="bugfix">
2802044SN/A<para>
2812035SN/Aa segmentation fault occurred in the PHP module if chdir() or
2822035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
2832035SN/A</para>
2842035SN/A</change>
2852035SN/A
2862040SN/A<change type="bugfix">
2872040SN/A<para>
2882041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
2892041SN/A</para>
2902041SN/A</change>
2912041SN/A
2922029SN/A</changes>
2932029SN/A
2942029SN/A
2951973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
2962007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2971973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2981973Sdefan@nginx.com
2991973Sdefan@nginx.com<change>
3001973Sdefan@nginx.com<para>
3011973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
3021973Sdefan@nginx.com</para>
3031973Sdefan@nginx.com</change>
3041973Sdefan@nginx.com
3051973Sdefan@nginx.com</changes>
3061973Sdefan@nginx.com
3071973Sdefan@nginx.com
3081973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
3092007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3101973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3111973Sdefan@nginx.com
3121973Sdefan@nginx.com<change>
3131973Sdefan@nginx.com<para>
3141973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
3151973Sdefan@nginx.com</para>
3161973Sdefan@nginx.com</change>
3171973Sdefan@nginx.com
3181973Sdefan@nginx.com</changes>
3191973Sdefan@nginx.com
3201973Sdefan@nginx.com
3211896Svbart@nginx.com<changes apply="unit-php
3221896Svbart@nginx.com                unit-python unit-python2.7
3231896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3241896Svbart@nginx.com                unit-python3.8 unit-python3.9
3251896Svbart@nginx.com                unit-go
3261896Svbart@nginx.com                unit-perl
3271896Svbart@nginx.com                unit-ruby
3281896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3291896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3301951Svbart@nginx.com         ver="1.26.0" rev="1"
3312007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3321951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3331951Svbart@nginx.com
3341951Svbart@nginx.com<change>
3351951Svbart@nginx.com<para>
3361951Svbart@nginx.comNGINX Unit updated to 1.26.0.
3371951Svbart@nginx.com</para>
3381951Svbart@nginx.com</change>
3391951Svbart@nginx.com
3401951Svbart@nginx.com</changes>
3411951Svbart@nginx.com
3421951Svbart@nginx.com
3431951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
3442007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3451951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3461951Svbart@nginx.com
3471960Sz.hong@f5.com<change type="change">
3481960Sz.hong@f5.com<para>
3491960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
3501960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
3511960Sz.hong@f5.com</para>
3521960Sz.hong@f5.com</change>
3531960Sz.hong@f5.com
3541960Sz.hong@f5.com<change type="feature">
3551960Sz.hong@f5.com<para>
3562006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
3572006Svbart@nginx.comwhen updating from previous versions.
3582006Svbart@nginx.com</para>
3592006Svbart@nginx.com</change>
3602006Svbart@nginx.com
3612006Svbart@nginx.com<change type="feature">
3622006Svbart@nginx.com<para>
3631960Sz.hong@f5.comvariables support in the "share" option.
3641960Sz.hong@f5.com</para>
3651960Sz.hong@f5.com</change>
3661960Sz.hong@f5.com
3671959Sz.hong@f5.com<change type="feature">
3681959Sz.hong@f5.com<para>
3691961Sz.hong@f5.commultiple paths in the "share" option.
3701961Sz.hong@f5.com</para>
3711961Sz.hong@f5.com</change>
3721961Sz.hong@f5.com
3731961Sz.hong@f5.com<change type="feature">
3741961Sz.hong@f5.com<para>
3751959Sz.hong@f5.comvariables support in the "chroot" option.
3761959Sz.hong@f5.com</para>
3771959Sz.hong@f5.com</change>
3781959Sz.hong@f5.com
3791969Sz.hong@f5.com<change type="feature">
3801969Sz.hong@f5.com<para>
3812006Svbart@nginx.comPHP opcache is shared between application processes.
3821969Sz.hong@f5.com</para>
3831969Sz.hong@f5.com</change>
3841969Sz.hong@f5.com
3851991Sz.hong@f5.com<change type="feature">
3861991Sz.hong@f5.com<para>
3871991Sz.hong@f5.comrequest routing by the query string.
3881991Sz.hong@f5.com</para>
3891991Sz.hong@f5.com</change>
3901991Sz.hong@f5.com
3911955Smax.romanov@nginx.com<change type="bugfix">
3921955Smax.romanov@nginx.com<para>
3932006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
3942006Svbart@nginx.comby asynchronous or multithreaded apps.
3951955Smax.romanov@nginx.com</para>
3961955Smax.romanov@nginx.com</change>
3971955Smax.romanov@nginx.com
3981956Smax.romanov@nginx.com<change type="bugfix">
3991956Smax.romanov@nginx.com<para>
4001956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
4011956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
4021956Smax.romanov@nginx.com</para>
4031956Smax.romanov@nginx.com</change>
4041956Smax.romanov@nginx.com
4051992Smax.romanov@nginx.com<change type="bugfix">
4061992Smax.romanov@nginx.com<para>
4072006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
4081992Smax.romanov@nginx.com</para>
4091992Smax.romanov@nginx.com</change>
4101992Smax.romanov@nginx.com
4111951Svbart@nginx.com</changes>
4121951Svbart@nginx.com
4131951Svbart@nginx.com
4141951Svbart@nginx.com<changes apply="unit-php
4151951Svbart@nginx.com                unit-python unit-python2.7
4161951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4171951Svbart@nginx.com                unit-python3.8 unit-python3.9
4181951Svbart@nginx.com                unit-go
4191951Svbart@nginx.com                unit-perl
4201951Svbart@nginx.com                unit-ruby
4211951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4221951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
4231896Svbart@nginx.com         ver="1.25.0" rev="1"
4241945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4251896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4261896Svbart@nginx.com
4271896Svbart@nginx.com<change>
4281896Svbart@nginx.com<para>
4291896Svbart@nginx.comNGINX Unit updated to 1.25.0.
4301896Svbart@nginx.com</para>
4311896Svbart@nginx.com</change>
4321896Svbart@nginx.com
4331896Svbart@nginx.com</changes>
4341896Svbart@nginx.com
4351896Svbart@nginx.com
4361896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
4371945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4381896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4391896Svbart@nginx.com
4401910So.canty@f5.com<change type="feature">
4411910So.canty@f5.com<para>
4421944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
4431942Sa.suvorov@f5.com</para>
4441942Sa.suvorov@f5.com</change>
4451942Sa.suvorov@f5.com
4461942Sa.suvorov@f5.com<change type="feature">
4471942Sa.suvorov@f5.com<para>
4481920Sa.suvorov@f5.comTLS sessions cache.
4491920Sa.suvorov@f5.com</para>
4501920Sa.suvorov@f5.com</change>
4511920Sa.suvorov@f5.com
4521920Sa.suvorov@f5.com<change type="feature">
4531920Sa.suvorov@f5.com<para>
4541944Svbart@nginx.comTLS session tickets.
4551910So.canty@f5.com</para>
4561910So.canty@f5.com</change>
4571910So.canty@f5.com
4581926Smax.romanov@nginx.com<change type="feature">
4591926Smax.romanov@nginx.com<para>
4601926Smax.romanov@nginx.comapplication restart control.
4611926Smax.romanov@nginx.com</para>
4621926Smax.romanov@nginx.com</change>
4631926Smax.romanov@nginx.com
4641936So.canty@f5.com<change type="feature">
4651936So.canty@f5.com<para>
4661944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
4671936So.canty@f5.com</para>
4681936So.canty@f5.com</change>
4691936So.canty@f5.com
4701907Smax.romanov@nginx.com<change type="bugfix">
4711907Smax.romanov@nginx.com<para>
4721944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
4731944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
4741921Sa.suvorov@f5.com</para>
4751921Sa.suvorov@f5.com</change>
4761921Sa.suvorov@f5.com
4771921Sa.suvorov@f5.com<change type="bugfix">
4781921Sa.suvorov@f5.com<para>
4791944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
4801944Svbart@nginx.combundles in a listener if the client did not use SNI.
4811907Smax.romanov@nginx.com</para>
4821907Smax.romanov@nginx.com</change>
4831907Smax.romanov@nginx.com
4841907Smax.romanov@nginx.com<change type="bugfix">
4851907Smax.romanov@nginx.com<para>
4861950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
4871915Smax.romanov@nginx.comreconfiguration.
4881915Smax.romanov@nginx.com</para>
4891915Smax.romanov@nginx.com</change>
4901915Smax.romanov@nginx.com
4911915Smax.romanov@nginx.com<change type="bugfix">
4921915Smax.romanov@nginx.com<para>
4931944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
4941944Svbart@nginx.comframework.
4951944Svbart@nginx.com</para>
4961944Svbart@nginx.com</change>
4971944Svbart@nginx.com
4981944Svbart@nginx.com<change type="bugfix">
4991944Svbart@nginx.com<para>
5001944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
5011944Svbart@nginx.comstopped or crashed.
5021907Smax.romanov@nginx.com</para>
5031907Smax.romanov@nginx.com</change>
5041907Smax.romanov@nginx.com
5051909So.canty@f5.com<change type="bugfix">
5061909So.canty@f5.com<para>
5071909So.canty@f5.comthe controller or router process could crash if the configuration contained
5081909So.canty@f5.coma full-form IPv6 in a listener address.
5091909So.canty@f5.com</para>
5101909So.canty@f5.com</change>
5111909So.canty@f5.com
5121916Smax.romanov@nginx.com<change type="bugfix">
5131916Smax.romanov@nginx.com<para>
5141929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
5151929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
5161929Sz.hong@f5.com</para>
5171929Sz.hong@f5.com</change>
5181929Sz.hong@f5.com
5191930So.canty@f5.com<change type="bugfix">
5201930So.canty@f5.com<para>
5211944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
5221944Svbart@nginx.comor destination address patterns.
5231930So.canty@f5.com</para>
5241930So.canty@f5.com</change>
5251930So.canty@f5.com
5261896Svbart@nginx.com</changes>
5271896Svbart@nginx.com
5281896Svbart@nginx.com
5291887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
5301891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5311887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5321887Sdefan@nginx.com
5331887Sdefan@nginx.com<change>
5341887Sdefan@nginx.com<para>
5351887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
5361887Sdefan@nginx.com</para>
5371887Sdefan@nginx.com</change>
5381887Sdefan@nginx.com
5391887Sdefan@nginx.com</changes>
5401887Sdefan@nginx.com
5411887Sdefan@nginx.com
5421887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
5431891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5441887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5451887Sdefan@nginx.com
5461887Sdefan@nginx.com<change>
5471887Sdefan@nginx.com<para>
5481887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
5491887Sdefan@nginx.com</para>
5501887Sdefan@nginx.com</change>
5511887Sdefan@nginx.com
5521887Sdefan@nginx.com</changes>
5531887Sdefan@nginx.com
5541887Sdefan@nginx.com
5551834Svbart@nginx.com<changes apply="unit-php
5561834Svbart@nginx.com                unit-python unit-python2.7
5571834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5581834Svbart@nginx.com                unit-python3.8 unit-python3.9
5591834Svbart@nginx.com                unit-go
5601834Svbart@nginx.com                unit-perl
5611834Svbart@nginx.com                unit-ruby
5621834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5631834Svbart@nginx.com                unit-jsc14 unit-jsc15"
5641839Svbart@nginx.com         ver="1.24.0" rev="1"
5651891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5661839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5671839Svbart@nginx.com
5681839Svbart@nginx.com<change>
5691839Svbart@nginx.com<para>
5701839Svbart@nginx.comNGINX Unit updated to 1.24.0.
5711839Svbart@nginx.com</para>
5721839Svbart@nginx.com</change>
5731839Svbart@nginx.com
5741839Svbart@nginx.com</changes>
5751839Svbart@nginx.com
5761839Svbart@nginx.com
5771839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
5781891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5791839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5801839Svbart@nginx.com
5811882So.canty@f5.com<change type="change">
5821882So.canty@f5.com<para>
5831882So.canty@f5.comPHP added to the default MIME type list.
5841882So.canty@f5.com</para>
5851882So.canty@f5.com</change>
5861882So.canty@f5.com
5871855Sz.hong@f5.com<change type="feature">
5881855Sz.hong@f5.com<para>
5891885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
5901885Sa.suvorov@f5.com</para>
5911885Sa.suvorov@f5.com</change>
5921885Sa.suvorov@f5.com
5931885Sa.suvorov@f5.com<change type="feature">
5941885Sa.suvorov@f5.com<para>
5951890Svbart@nginx.comthe ability to limit static file serving by MIME types.
5961890Svbart@nginx.com</para>
5971890Svbart@nginx.com</change>
5981890Svbart@nginx.com
5991890Svbart@nginx.com<change type="feature">
6001890Svbart@nginx.com<para>
6011890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
6021890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
6031872So.canty@f5.com</para>
6041872So.canty@f5.com</change>
6051872So.canty@f5.com
6061872So.canty@f5.com<change type="feature">
6071872So.canty@f5.com<para>
6081889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
6091889Sartem.konev@nginx.comNode.js.
6101865So.canty@f5.com</para>
6111865So.canty@f5.com</change>
6121865So.canty@f5.com
6131865So.canty@f5.com<change type="feature">
6141865So.canty@f5.com<para>
6151890Svbart@nginx.commultiple "targets" in Python applications.
6161855Sz.hong@f5.com</para>
6171855Sz.hong@f5.com</change>
6181855Sz.hong@f5.com
6191870So.canty@f5.com<change type="feature">
6201870So.canty@f5.com<para>
6211870So.canty@f5.comcompatibility with Ruby 3.0.
6221870So.canty@f5.com</para>
6231870So.canty@f5.com</change>
6241870So.canty@f5.com
6251861Svbart@nginx.com<change type="bugfix">
6261861Svbart@nginx.com<para>
6271889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
6281884Sa.suvorov@f5.com</para>
6291884Sa.suvorov@f5.com</change>
6301884Sa.suvorov@f5.com
6311884Sa.suvorov@f5.com<change type="bugfix">
6321884Sa.suvorov@f5.com<para>
6331861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
6341861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
6351861Svbart@nginx.com</para>
6361861Svbart@nginx.com</change>
6371861Svbart@nginx.com
6381839Svbart@nginx.com</changes>
6391839Svbart@nginx.com
6401839Svbart@nginx.com
6411839Svbart@nginx.com<changes apply="unit-php
6421839Svbart@nginx.com                unit-python unit-python2.7
6431839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6441839Svbart@nginx.com                unit-python3.8 unit-python3.9
6451839Svbart@nginx.com                unit-go
6461839Svbart@nginx.com                unit-perl
6471839Svbart@nginx.com                unit-ruby
6481839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6491839Svbart@nginx.com                unit-jsc14 unit-jsc15"
6501834Svbart@nginx.com         ver="1.23.0" rev="1"
6511834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6521834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6531834Svbart@nginx.com
6541834Svbart@nginx.com<change>
6551834Svbart@nginx.com<para>
6561834Svbart@nginx.comNGINX Unit updated to 1.23.0.
6571834Svbart@nginx.com</para>
6581834Svbart@nginx.com</change>
6591834Svbart@nginx.com
6601834Svbart@nginx.com</changes>
6611834Svbart@nginx.com
6621834Svbart@nginx.com
6631806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
6641834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6651806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6661806Svbart@nginx.com
6671825Sthresh@nginx.com<change type="feature">
6681825Sthresh@nginx.com<para>
6691833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
6701828Sa.suvorov@f5.comIndication (SNI) TLS extension.
6711828Sa.suvorov@f5.com</para>
6721828Sa.suvorov@f5.com</change>
6731828Sa.suvorov@f5.com
6741828Sa.suvorov@f5.com<change type="feature">
6751828Sa.suvorov@f5.com<para>
6761833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
6771833Sartem.konev@nginx.cominstallation.
6781825Sthresh@nginx.com</para>
6791825Sthresh@nginx.com</change>
6801825Sthresh@nginx.com
6811811Smax.romanov@nginx.com<change type="bugfix">
6821811Smax.romanov@nginx.com<para>
6831812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
6841812Svbart@nginx.comappeared in 1.17.0.
6851812Svbart@nginx.com</para>
6861812Svbart@nginx.com</change>
6871812Svbart@nginx.com
6881812Svbart@nginx.com<change type="bugfix">
6891812Svbart@nginx.com<para>
6901833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
6911812Svbart@nginx.comappeared in 1.6.
6921812Svbart@nginx.com</para>
6931812Svbart@nginx.com</change>
6941812Svbart@nginx.com
6951812Svbart@nginx.com<change type="bugfix">
6961812Svbart@nginx.com<para>
6971833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
6981832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
6991832Smax.romanov@nginx.com</para>
7001832Smax.romanov@nginx.com</change>
7011832Smax.romanov@nginx.com
7021832Smax.romanov@nginx.com<change type="bugfix">
7031832Smax.romanov@nginx.com<para>
7041833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
7051811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
7061811Smax.romanov@nginx.com</para>
7071811Smax.romanov@nginx.com</change>
7081806Svbart@nginx.com
7091813Svbart@nginx.com<change type="bugfix">
7101813Svbart@nginx.com<para>
7111813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
7121813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
7131813Svbart@nginx.com</para>
7141813Svbart@nginx.com</change>
7151813Svbart@nginx.com
7161814Svbart@nginx.com<change type="bugfix">
7171814Svbart@nginx.com<para>
7181820Svbart@nginx.comthe controller process could crash while requesting information about a
7191820Svbart@nginx.comcertificate with a non-DNS SAN entry.
7201820Svbart@nginx.com</para>
7211820Svbart@nginx.com</change>
7221820Svbart@nginx.com
7231820Svbart@nginx.com<change type="bugfix">
7241820Svbart@nginx.com<para>
7251822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
7261833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
7271822Svbart@nginx.com</para>
7281822Svbart@nginx.com</change>
7291822Svbart@nginx.com
7301822Svbart@nginx.com<change type="bugfix">
7311822Svbart@nginx.com<para>
7321833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
7331833Sartem.konev@nginx.comclass.
7341814Svbart@nginx.com</para>
7351814Svbart@nginx.com</change>
7361814Svbart@nginx.com
7371815Svbart@nginx.com<change type="bugfix">
7381815Svbart@nginx.com<para>
7391815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
7401815Svbart@nginx.comappeared in 1.22.0.
7411815Svbart@nginx.com</para>
7421815Svbart@nginx.com</change>
7431815Svbart@nginx.com
7441806Svbart@nginx.com</changes>
7451806Svbart@nginx.com
7461806Svbart@nginx.com
7471798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
7481798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7491798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7501798Sdefan@nginx.com
7511798Sdefan@nginx.com<change>
7521798Sdefan@nginx.com<para>
7531798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
7541798Sdefan@nginx.com</para>
7551798Sdefan@nginx.com</change>
7561798Sdefan@nginx.com
7571798Sdefan@nginx.com</changes>
7581798Sdefan@nginx.com
7591798Sdefan@nginx.com
7601763Sdefan@nginx.com<changes apply="unit-php
7611763Sdefan@nginx.com                unit-python unit-python2.7
7621763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7631763Sdefan@nginx.com                unit-python3.8
7641763Sdefan@nginx.com                unit-go
7651763Sdefan@nginx.com                unit-perl
7661763Sdefan@nginx.com                unit-ruby
7671763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
7681763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
7691763Sdefan@nginx.com         ver="1.22.0" rev="1"
7701793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7711763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7721763Sdefan@nginx.com
7731763Sdefan@nginx.com<change>
7741763Sdefan@nginx.com<para>
7751763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
7761763Sdefan@nginx.com</para>
7771763Sdefan@nginx.com</change>
7781763Sdefan@nginx.com
7791763Sdefan@nginx.com</changes>
7801763Sdefan@nginx.com
7811763Sdefan@nginx.com
7821727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
7831793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7841727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7851727Svbart@nginx.com
7861759Svbart@nginx.com<change type="feature">
7871759Svbart@nginx.com<para>
7881792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
7891792Svbart@nginx.comcompliant with Stream API.
7901759Svbart@nginx.com</para>
7911759Svbart@nginx.com</change>
7921759Svbart@nginx.com
7931766Smax.romanov@nginx.com<change type="feature">
7941766Smax.romanov@nginx.com<para>
7951792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
7961792Svbart@nginx.comapps.
7971732Svbart@nginx.com</para>
7981732Svbart@nginx.com</change>
7991732Svbart@nginx.com
8001733Svbart@nginx.com<change type="bugfix">
8011733Svbart@nginx.com<para>
8021792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
8031792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
8041754Smax.romanov@nginx.com</para>
8051754Smax.romanov@nginx.com</change>
8061754Smax.romanov@nginx.com
8071755Smax.romanov@nginx.com<change type="bugfix">
8081755Smax.romanov@nginx.com<para>
8091790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
8101755Smax.romanov@nginx.comappeared in 1.19.0.
8111755Smax.romanov@nginx.com</para>
8121755Smax.romanov@nginx.com</change>
8131755Smax.romanov@nginx.com
8141756Smax.romanov@nginx.com<change type="bugfix">
8151756Smax.romanov@nginx.com<para>
8161790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
8171790Sartem.konev@nginx.comappeared in 1.19.0.
8181756Smax.romanov@nginx.com</para>
8191756Smax.romanov@nginx.com</change>
8201756Smax.romanov@nginx.com
8211760Smax.romanov@nginx.com<change type="bugfix">
8221760Smax.romanov@nginx.com<para>
8231792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
8241792Svbart@nginx.com</para>
8251792Svbart@nginx.com</change>
8261792Svbart@nginx.com
8271792Svbart@nginx.com<change type="bugfix">
8281792Svbart@nginx.com<para>
8291792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
8301792Svbart@nginx.commissing in the PHP module.
8311792Svbart@nginx.com</para>
8321792Svbart@nginx.com</change>
8331792Svbart@nginx.com
8341792Svbart@nginx.com<change type="bugfix">
8351792Svbart@nginx.com<para>
8361792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
8371792Svbart@nginx.com</para>
8381792Svbart@nginx.com</change>
8391792Svbart@nginx.com
8401792Svbart@nginx.com<change type="bugfix">
8411792Svbart@nginx.com<para>
8421792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
8431792Svbart@nginx.com</para>
8441792Svbart@nginx.com</change>
8451792Svbart@nginx.com
8461792Svbart@nginx.com<change type="bugfix">
8471792Svbart@nginx.com<para>
8481792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
8491792Svbart@nginx.comthe bug had appeared in 1.21.0.
8501760Smax.romanov@nginx.com</para>
8511760Smax.romanov@nginx.com</change>
8521760Smax.romanov@nginx.com
8531780Smax.romanov@nginx.com<change type="bugfix">
8541780Smax.romanov@nginx.com<para>
8551790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
8561790Sartem.konev@nginx.comWebSocket.
8571780Smax.romanov@nginx.com</para>
8581780Smax.romanov@nginx.com</change>
8591780Smax.romanov@nginx.com
8601789Smax.romanov@nginx.com<change type="bugfix">
8611789Smax.romanov@nginx.com<para>
8621789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
8631789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
8641789Smax.romanov@nginx.com</para>
8651789Smax.romanov@nginx.com</change>
8661789Smax.romanov@nginx.com
8671727Svbart@nginx.com</changes>
8681727Svbart@nginx.com
8691727Svbart@nginx.com
8701722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
8711722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8721722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8731722Svbart@nginx.com
874