xref: /unit/docs/changes.xml (revision 2204:654ec7adbe4f)
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
342203Sz.hong@f5.com<change type="bugfix">
352203Sz.hong@f5.com<para>
362203Sz.hong@f5.comfix HTTP cookie parsing when the value contains an equals sign.
372203Sz.hong@f5.com</para>
382203Sz.hong@f5.com</change>
392203Sz.hong@f5.com
40*2204Sz.hong@f5.com<change type="bugfix">
41*2204Sz.hong@f5.com<para>
42*2204Sz.hong@f5.comfix error in connection statistics when using proxy.
43*2204Sz.hong@f5.com</para>
44*2204Sz.hong@f5.com</change>
45*2204Sz.hong@f5.com
462202Szelenkov@nginx.com</changes>
472202Szelenkov@nginx.com
482202Szelenkov@nginx.com
492202Szelenkov@nginx.com<changes apply="unit-php
502202Szelenkov@nginx.com                unit-python unit-python2.7
512202Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
522202Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
532202Szelenkov@nginx.com                unit-go
542202Szelenkov@nginx.com                unit-perl
552202Szelenkov@nginx.com                unit-ruby
562202Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
572202Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
582129Szelenkov@nginx.com         ver="1.28.0" rev="1"
592197Szelenkov@nginx.com         date="2022-09-13" time="18:00:00 +0300"
602135Sthresh@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
612129Szelenkov@nginx.com
622129Szelenkov@nginx.com<change>
632129Szelenkov@nginx.com<para>
642129Szelenkov@nginx.comNGINX Unit updated to 1.28.0.
652129Szelenkov@nginx.com</para>
662129Szelenkov@nginx.com</change>
672129Szelenkov@nginx.com
682129Szelenkov@nginx.com</changes>
692129Szelenkov@nginx.com
702129Szelenkov@nginx.com
712129Szelenkov@nginx.com<changes apply="unit" ver="1.28.0" rev="1"
722197Szelenkov@nginx.com         date="2022-09-13" time="18:00:00 +0300"
732135Sthresh@nginx.com         packager="Nginx Packaging &lt;nginx-packaging@f5.com&gt;">
742129Szelenkov@nginx.com
752173Salx.manpages@gmail.com<change type="change">
762173Salx.manpages@gmail.com<para>
772173Salx.manpages@gmail.comincreased the applications' startup timeout.
782173Salx.manpages@gmail.com</para>
792173Salx.manpages@gmail.com</change>
802173Salx.manpages@gmail.com
812181Salx.manpages@gmail.com<change type="change">
822181Salx.manpages@gmail.com<para>
832181Salx.manpages@gmail.comdisallowed abstract Unix domain socket syntax in non-Linux systems.
842181Salx.manpages@gmail.com</para>
852181Salx.manpages@gmail.com</change>
862181Salx.manpages@gmail.com
872133Sz.hong@f5.com<change type="feature">
882133Sz.hong@f5.com<para>
892196Szelenkov@nginx.combasic statistics API.
902179Salx.manpages@gmail.com</para>
912179Salx.manpages@gmail.com</change>
922179Salx.manpages@gmail.com
932179Salx.manpages@gmail.com<change type="feature">
942179Salx.manpages@gmail.com<para>
952196Szelenkov@nginx.comcustomizable access log format.
962196Szelenkov@nginx.com</para>
972196Szelenkov@nginx.com</change>
982196Szelenkov@nginx.com
992196Szelenkov@nginx.com<change type="feature">
1002196Szelenkov@nginx.com<para>
1012196Szelenkov@nginx.commore HTTP variables support.
1022161Salx.manpages@gmail.com</para>
1032161Salx.manpages@gmail.com</change>
1042161Salx.manpages@gmail.com
1052161Salx.manpages@gmail.com<change type="feature">
1062161Salx.manpages@gmail.com<para>
1072133Sz.hong@f5.comforwarded header to replace client address and protocol.
1082133Sz.hong@f5.com</para>
1092133Sz.hong@f5.com</change>
1102133Sz.hong@f5.com
1112147Sz.hong@f5.com<change type="feature">
1122147Sz.hong@f5.com<para>
1132147Sz.hong@f5.comability to get dynamic variables.
1142147Sz.hong@f5.com</para>
1152147Sz.hong@f5.com</change>
1162147Sz.hong@f5.com
1172149Sz.hong@f5.com<change type="feature">
1182149Sz.hong@f5.com<para>
1192196Szelenkov@nginx.comsupport for abstract Unix sockets.
1202196Szelenkov@nginx.com</para>
1212196Szelenkov@nginx.com</change>
1222196Szelenkov@nginx.com
1232196Szelenkov@nginx.com<change type="feature">
1242196Szelenkov@nginx.com<para>
1252196Szelenkov@nginx.comsupport for Unix sockets in address matching.
1262149Sz.hong@f5.com</para>
1272149Sz.hong@f5.com</change>
1282149Sz.hong@f5.com
1292161Salx.manpages@gmail.com<change type="feature">
1302161Salx.manpages@gmail.com<para>
1312188Szelenkov@nginx.comthe $dollar variable translates to a literal "$" during variable substitution.
1322161Salx.manpages@gmail.com</para>
1332161Salx.manpages@gmail.com</change>
1342161Salx.manpages@gmail.com
1352137Salx.manpages@gmail.com<change type="bugfix">
1362137Salx.manpages@gmail.com<para>
1372188Szelenkov@nginx.comrouter process could crash if index file didn't contain an extension.
1382137Salx.manpages@gmail.com</para>
1392137Salx.manpages@gmail.com</change>
1402137Salx.manpages@gmail.com
1412163Salx.manpages@gmail.com<change type="bugfix">
1422163Salx.manpages@gmail.com<para>
1432163Salx.manpages@gmail.comforce SCRIPT_NAME in Ruby to always be an empty string.
1442163Salx.manpages@gmail.com</para>
1452163Salx.manpages@gmail.com</change>
1462163Salx.manpages@gmail.com
1472164Sz.hong@f5.com<change type="bugfix">
1482164Sz.hong@f5.com<para>
1492196Szelenkov@nginx.comwhen isolated PID numbers reach the prototype process host PID,
1502196Szelenkov@nginx.comthe prototype crashed.
1512196Szelenkov@nginx.com</para>
1522196Szelenkov@nginx.com</change>
1532196Szelenkov@nginx.com
1542196Szelenkov@nginx.com<change type="bugfix">
1552196Szelenkov@nginx.com<para>
1562188Szelenkov@nginx.comthe Ruby application process could crash on SIGTERM.
1572164Sz.hong@f5.com</para>
1582164Sz.hong@f5.com</change>
1592164Sz.hong@f5.com
1602174Smax.romanov@gmail.com<change type="bugfix">
1612174Smax.romanov@gmail.com<para>
1622188Szelenkov@nginx.comthe Ruby application process could crash on SIGINT.
1632183Sa.clayton@f5.com</para>
1642183Sa.clayton@f5.com</change>
1652183Sa.clayton@f5.com
1662183Sa.clayton@f5.com<change type="bugfix">
1672183Sa.clayton@f5.com<para>
1682194Sa.colomar@f5.commutex leak in the C API.
1692194Sa.colomar@f5.com</para>
1702194Sa.colomar@f5.com</change>
1712194Sa.colomar@f5.com
1722129Szelenkov@nginx.com</changes>
1732129Szelenkov@nginx.com
1742129Szelenkov@nginx.com
1752129Szelenkov@nginx.com<changes apply="unit-php
1762129Szelenkov@nginx.com                unit-python unit-python2.7
1772129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1782129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1792129Szelenkov@nginx.com                unit-go
1802129Szelenkov@nginx.com                unit-perl
1812129Szelenkov@nginx.com                unit-ruby
1822129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1832129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1842012Svbart@nginx.com         ver="1.27.0" rev="1"
1852127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1862012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1872012Svbart@nginx.com
1882012Svbart@nginx.com<change>
1892012Svbart@nginx.com<para>
1902012Svbart@nginx.comNGINX Unit updated to 1.27.0.
1912012Svbart@nginx.com</para>
1922012Svbart@nginx.com</change>
1932012Svbart@nginx.com
1942012Svbart@nginx.com</changes>
1952012Svbart@nginx.com
1962012Svbart@nginx.com
1972012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
1982127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1992012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2002012Svbart@nginx.com
2012072Sz.hong@f5.com<change type="feature">
2022072Sz.hong@f5.com<para>
2032108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
2042108Salx.manpages@gmail.com</para>
2052108Salx.manpages@gmail.com</change>
2062108Salx.manpages@gmail.com
2072108Salx.manpages@gmail.com<change type="feature">
2082108Salx.manpages@gmail.com<para>
2092081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
2102081Salx.manpages@gmail.com</para>
2112081Salx.manpages@gmail.com</change>
2122081Salx.manpages@gmail.com
2132081Salx.manpages@gmail.com<change type="feature">
2142081Salx.manpages@gmail.com<para>
2152113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
2162113Sartem.konev@nginx.com</para>
2172113Sartem.konev@nginx.com</change>
2182113Sartem.konev@nginx.com
2192113Sartem.konev@nginx.com<change type="feature">
2202113Sartem.konev@nginx.com<para>
2212113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
2222113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
2232113Sartem.konev@nginx.com</para>
2242113Sartem.konev@nginx.com</change>
2252113Sartem.konev@nginx.com
2262113Sartem.konev@nginx.com<change type="feature">
2272113Sartem.konev@nginx.com<para>
2282113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
2292110Salx.manpages@gmail.com</para>
2302110Salx.manpages@gmail.com</change>
2312110Salx.manpages@gmail.com
2322110Salx.manpages@gmail.com<change type="feature">
2332110Salx.manpages@gmail.com<para>
2342072Sz.hong@f5.comcompatibility with GCC 12.
2352072Sz.hong@f5.com</para>
2362072Sz.hong@f5.com</change>
2372072Sz.hong@f5.com
2382060Smax.romanov@nginx.com<change type="bugfix">
2392060Smax.romanov@nginx.com<para>
2402093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
2412093Sz.hong@f5.com</para>
2422093Sz.hong@f5.com</change>
2432093Sz.hong@f5.com
2442093Sz.hong@f5.com<change type="bugfix">
2452093Sz.hong@f5.com<para>
2462113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
2472069Sz.hong@f5.comcertificates was uploaded.
2482069Sz.hong@f5.com</para>
2492069Sz.hong@f5.com</change>
2502069Sz.hong@f5.com
2512069Sz.hong@f5.com<change type="bugfix">
2522069Sz.hong@f5.com<para>
2532060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
2542060Smax.romanov@nginx.com</para>
2552060Smax.romanov@nginx.com</change>
2562060Smax.romanov@nginx.com
2572061Smax.romanov@nginx.com<change type="bugfix">
2582061Smax.romanov@nginx.com<para>
2592061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
2602061Smax.romanov@nginx.com</para>
2612061Smax.romanov@nginx.com</change>
2622061Smax.romanov@nginx.com
2632067Smax.romanov@nginx.com<change type="bugfix">
2642067Smax.romanov@nginx.com<para>
2652067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
2662067Smax.romanov@nginx.comobject, notably with Falcon.
2672067Smax.romanov@nginx.com</para>
2682067Smax.romanov@nginx.com</change>
2692067Smax.romanov@nginx.com
2702117Szelenkov@nginx.com<change type="bugfix">
2712117Szelenkov@nginx.com<para>
2722117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
2732117Szelenkov@nginx.com</para>
2742117Szelenkov@nginx.com</change>
2752117Szelenkov@nginx.com
2762050Svbart@nginx.com</changes>
2772050Svbart@nginx.com
2782050Svbart@nginx.com
2792050Svbart@nginx.com<changes apply="unit-php
2802050Svbart@nginx.com                unit-python unit-python2.7
2812050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2822050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
2832050Svbart@nginx.com                unit-go
2842050Svbart@nginx.com                unit-perl
2852050Svbart@nginx.com                unit-ruby
2862050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2872050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
2882029SN/A         ver="1.26.1" rev="1"
2892045SN/A         date="2021-12-02" time="18:00:00 +0300"
2902029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2912029SN/A
2922029SN/A<change>
2932029SN/A<para>
2942029SN/ANGINX Unit updated to 1.26.1.
2952029SN/A</para>
2962029SN/A</change>
2972029SN/A
2982029SN/A</changes>
2992029SN/A
3002029SN/A
3012029SN/A<changes apply="unit" ver="1.26.1" rev="1"
3022045SN/A         date="2021-12-02" time="18:00:00 +0300"
3032029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3042029SN/A
3052033SN/A<change type="bugfix">
3062033SN/A<para>
3072044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
3082044SN/Aappeared in 1.26.0.
3092033SN/A</para>
3102033SN/A</change>
3112033SN/A
3122034SN/A<change type="bugfix">
3132034SN/A<para>
3142044SN/Aa prototype process could crash on an application process exit; the bug had
3152034SN/Aappeared in 1.26.0.
3162034SN/A</para>
3172034SN/A</change>
3182034SN/A
3192035SN/A<change type="bugfix">
3202035SN/A<para>
3212044SN/Athe router process crashed on reconfiguration if "access_log" was configured
3222044SN/Awithout listeners.
3232044SN/A</para>
3242044SN/A</change>
3252044SN/A
3262044SN/A<change type="bugfix">
3272044SN/A<para>
3282035SN/Aa segmentation fault occurred in the PHP module if chdir() or
3292035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
3302035SN/A</para>
3312035SN/A</change>
3322035SN/A
3332040SN/A<change type="bugfix">
3342040SN/A<para>
3352041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
3362041SN/A</para>
3372041SN/A</change>
3382041SN/A
3392029SN/A</changes>
3402029SN/A
3412029SN/A
3421973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
3432007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3441973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3451973Sdefan@nginx.com
3461973Sdefan@nginx.com<change>
3471973Sdefan@nginx.com<para>
3481973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
3491973Sdefan@nginx.com</para>
3501973Sdefan@nginx.com</change>
3511973Sdefan@nginx.com
3521973Sdefan@nginx.com</changes>
3531973Sdefan@nginx.com
3541973Sdefan@nginx.com
3551973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
3562007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3571973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3581973Sdefan@nginx.com
3591973Sdefan@nginx.com<change>
3601973Sdefan@nginx.com<para>
3611973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
3621973Sdefan@nginx.com</para>
3631973Sdefan@nginx.com</change>
3641973Sdefan@nginx.com
3651973Sdefan@nginx.com</changes>
3661973Sdefan@nginx.com
3671973Sdefan@nginx.com
3681896Svbart@nginx.com<changes apply="unit-php
3691896Svbart@nginx.com                unit-python unit-python2.7
3701896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3711896Svbart@nginx.com                unit-python3.8 unit-python3.9
3721896Svbart@nginx.com                unit-go
3731896Svbart@nginx.com                unit-perl
3741896Svbart@nginx.com                unit-ruby
3751896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3761896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3771951Svbart@nginx.com         ver="1.26.0" rev="1"
3782007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3791951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3801951Svbart@nginx.com
3811951Svbart@nginx.com<change>
3821951Svbart@nginx.com<para>
3831951Svbart@nginx.comNGINX Unit updated to 1.26.0.
3841951Svbart@nginx.com</para>
3851951Svbart@nginx.com</change>
3861951Svbart@nginx.com
3871951Svbart@nginx.com</changes>
3881951Svbart@nginx.com
3891951Svbart@nginx.com
3901951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
3912007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3921951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3931951Svbart@nginx.com
3941960Sz.hong@f5.com<change type="change">
3951960Sz.hong@f5.com<para>
3961960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
3971960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
3981960Sz.hong@f5.com</para>
3991960Sz.hong@f5.com</change>
4001960Sz.hong@f5.com
4011960Sz.hong@f5.com<change type="feature">
4021960Sz.hong@f5.com<para>
4032006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
4042006Svbart@nginx.comwhen updating from previous versions.
4052006Svbart@nginx.com</para>
4062006Svbart@nginx.com</change>
4072006Svbart@nginx.com
4082006Svbart@nginx.com<change type="feature">
4092006Svbart@nginx.com<para>
4101960Sz.hong@f5.comvariables support in the "share" option.
4111960Sz.hong@f5.com</para>
4121960Sz.hong@f5.com</change>
4131960Sz.hong@f5.com
4141959Sz.hong@f5.com<change type="feature">
4151959Sz.hong@f5.com<para>
4161961Sz.hong@f5.commultiple paths in the "share" option.
4171961Sz.hong@f5.com</para>
4181961Sz.hong@f5.com</change>
4191961Sz.hong@f5.com
4201961Sz.hong@f5.com<change type="feature">
4211961Sz.hong@f5.com<para>
4221959Sz.hong@f5.comvariables support in the "chroot" option.
4231959Sz.hong@f5.com</para>
4241959Sz.hong@f5.com</change>
4251959Sz.hong@f5.com
4261969Sz.hong@f5.com<change type="feature">
4271969Sz.hong@f5.com<para>
4282006Svbart@nginx.comPHP opcache is shared between application processes.
4291969Sz.hong@f5.com</para>
4301969Sz.hong@f5.com</change>
4311969Sz.hong@f5.com
4321991Sz.hong@f5.com<change type="feature">
4331991Sz.hong@f5.com<para>
4341991Sz.hong@f5.comrequest routing by the query string.
4351991Sz.hong@f5.com</para>
4361991Sz.hong@f5.com</change>
4371991Sz.hong@f5.com
4381955Smax.romanov@nginx.com<change type="bugfix">
4391955Smax.romanov@nginx.com<para>
4402006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
4412006Svbart@nginx.comby asynchronous or multithreaded apps.
4421955Smax.romanov@nginx.com</para>
4431955Smax.romanov@nginx.com</change>
4441955Smax.romanov@nginx.com
4451956Smax.romanov@nginx.com<change type="bugfix">
4461956Smax.romanov@nginx.com<para>
4471956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
4481956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
4491956Smax.romanov@nginx.com</para>
4501956Smax.romanov@nginx.com</change>
4511956Smax.romanov@nginx.com
4521992Smax.romanov@nginx.com<change type="bugfix">
4531992Smax.romanov@nginx.com<para>
4542006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
4551992Smax.romanov@nginx.com</para>
4561992Smax.romanov@nginx.com</change>
4571992Smax.romanov@nginx.com
4581951Svbart@nginx.com</changes>
4591951Svbart@nginx.com
4601951Svbart@nginx.com
4611951Svbart@nginx.com<changes apply="unit-php
4621951Svbart@nginx.com                unit-python unit-python2.7
4631951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4641951Svbart@nginx.com                unit-python3.8 unit-python3.9
4651951Svbart@nginx.com                unit-go
4661951Svbart@nginx.com                unit-perl
4671951Svbart@nginx.com                unit-ruby
4681951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4691951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
4701896Svbart@nginx.com         ver="1.25.0" rev="1"
4711945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4721896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4731896Svbart@nginx.com
4741896Svbart@nginx.com<change>
4751896Svbart@nginx.com<para>
4761896Svbart@nginx.comNGINX Unit updated to 1.25.0.
4771896Svbart@nginx.com</para>
4781896Svbart@nginx.com</change>
4791896Svbart@nginx.com
4801896Svbart@nginx.com</changes>
4811896Svbart@nginx.com
4821896Svbart@nginx.com
4831896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
4841945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4851896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4861896Svbart@nginx.com
4871910So.canty@f5.com<change type="feature">
4881910So.canty@f5.com<para>
4891944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
4901942Sa.suvorov@f5.com</para>
4911942Sa.suvorov@f5.com</change>
4921942Sa.suvorov@f5.com
4931942Sa.suvorov@f5.com<change type="feature">
4941942Sa.suvorov@f5.com<para>
4951920Sa.suvorov@f5.comTLS sessions cache.
4961920Sa.suvorov@f5.com</para>
4971920Sa.suvorov@f5.com</change>
4981920Sa.suvorov@f5.com
4991920Sa.suvorov@f5.com<change type="feature">
5001920Sa.suvorov@f5.com<para>
5011944Svbart@nginx.comTLS session tickets.
5021910So.canty@f5.com</para>
5031910So.canty@f5.com</change>
5041910So.canty@f5.com
5051926Smax.romanov@nginx.com<change type="feature">
5061926Smax.romanov@nginx.com<para>
5071926Smax.romanov@nginx.comapplication restart control.
5081926Smax.romanov@nginx.com</para>
5091926Smax.romanov@nginx.com</change>
5101926Smax.romanov@nginx.com
5111936So.canty@f5.com<change type="feature">
5121936So.canty@f5.com<para>
5131944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
5141936So.canty@f5.com</para>
5151936So.canty@f5.com</change>
5161936So.canty@f5.com
5171907Smax.romanov@nginx.com<change type="bugfix">
5181907Smax.romanov@nginx.com<para>
5191944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
5201944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
5211921Sa.suvorov@f5.com</para>
5221921Sa.suvorov@f5.com</change>
5231921Sa.suvorov@f5.com
5241921Sa.suvorov@f5.com<change type="bugfix">
5251921Sa.suvorov@f5.com<para>
5261944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
5271944Svbart@nginx.combundles in a listener if the client did not use SNI.
5281907Smax.romanov@nginx.com</para>
5291907Smax.romanov@nginx.com</change>
5301907Smax.romanov@nginx.com
5311907Smax.romanov@nginx.com<change type="bugfix">
5321907Smax.romanov@nginx.com<para>
5331950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
5341915Smax.romanov@nginx.comreconfiguration.
5351915Smax.romanov@nginx.com</para>
5361915Smax.romanov@nginx.com</change>
5371915Smax.romanov@nginx.com
5381915Smax.romanov@nginx.com<change type="bugfix">
5391915Smax.romanov@nginx.com<para>
5401944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
5411944Svbart@nginx.comframework.
5421944Svbart@nginx.com</para>
5431944Svbart@nginx.com</change>
5441944Svbart@nginx.com
5451944Svbart@nginx.com<change type="bugfix">
5461944Svbart@nginx.com<para>
5471944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
5481944Svbart@nginx.comstopped or crashed.
5491907Smax.romanov@nginx.com</para>
5501907Smax.romanov@nginx.com</change>
5511907Smax.romanov@nginx.com
5521909So.canty@f5.com<change type="bugfix">
5531909So.canty@f5.com<para>
5541909So.canty@f5.comthe controller or router process could crash if the configuration contained
5551909So.canty@f5.coma full-form IPv6 in a listener address.
5561909So.canty@f5.com</para>
5571909So.canty@f5.com</change>
5581909So.canty@f5.com
5591916Smax.romanov@nginx.com<change type="bugfix">
5601916Smax.romanov@nginx.com<para>
5611929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
5621929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
5631929Sz.hong@f5.com</para>
5641929Sz.hong@f5.com</change>
5651929Sz.hong@f5.com
5661930So.canty@f5.com<change type="bugfix">
5671930So.canty@f5.com<para>
5681944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
5691944Svbart@nginx.comor destination address patterns.
5701930So.canty@f5.com</para>
5711930So.canty@f5.com</change>
5721930So.canty@f5.com
5731896Svbart@nginx.com</changes>
5741896Svbart@nginx.com
5751896Svbart@nginx.com
5761887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
5771891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5781887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5791887Sdefan@nginx.com
5801887Sdefan@nginx.com<change>
5811887Sdefan@nginx.com<para>
5821887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
5831887Sdefan@nginx.com</para>
5841887Sdefan@nginx.com</change>
5851887Sdefan@nginx.com
5861887Sdefan@nginx.com</changes>
5871887Sdefan@nginx.com
5881887Sdefan@nginx.com
5891887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
5901891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5911887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5921887Sdefan@nginx.com
5931887Sdefan@nginx.com<change>
5941887Sdefan@nginx.com<para>
5951887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
5961887Sdefan@nginx.com</para>
5971887Sdefan@nginx.com</change>
5981887Sdefan@nginx.com
5991887Sdefan@nginx.com</changes>
6001887Sdefan@nginx.com
6011887Sdefan@nginx.com
6021834Svbart@nginx.com<changes apply="unit-php
6031834Svbart@nginx.com                unit-python unit-python2.7
6041834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6051834Svbart@nginx.com                unit-python3.8 unit-python3.9
6061834Svbart@nginx.com                unit-go
6071834Svbart@nginx.com                unit-perl
6081834Svbart@nginx.com                unit-ruby
6091834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6101834Svbart@nginx.com                unit-jsc14 unit-jsc15"
6111839Svbart@nginx.com         ver="1.24.0" rev="1"
6121891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
6131839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6141839Svbart@nginx.com
6151839Svbart@nginx.com<change>
6161839Svbart@nginx.com<para>
6171839Svbart@nginx.comNGINX Unit updated to 1.24.0.
6181839Svbart@nginx.com</para>
6191839Svbart@nginx.com</change>
6201839Svbart@nginx.com
6211839Svbart@nginx.com</changes>
6221839Svbart@nginx.com
6231839Svbart@nginx.com
6241839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
6251891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
6261839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6271839Svbart@nginx.com
6281882So.canty@f5.com<change type="change">
6291882So.canty@f5.com<para>
6301882So.canty@f5.comPHP added to the default MIME type list.
6311882So.canty@f5.com</para>
6321882So.canty@f5.com</change>
6331882So.canty@f5.com
6341855Sz.hong@f5.com<change type="feature">
6351855Sz.hong@f5.com<para>
6361885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
6371885Sa.suvorov@f5.com</para>
6381885Sa.suvorov@f5.com</change>
6391885Sa.suvorov@f5.com
6401885Sa.suvorov@f5.com<change type="feature">
6411885Sa.suvorov@f5.com<para>
6421890Svbart@nginx.comthe ability to limit static file serving by MIME types.
6431890Svbart@nginx.com</para>
6441890Svbart@nginx.com</change>
6451890Svbart@nginx.com
6461890Svbart@nginx.com<change type="feature">
6471890Svbart@nginx.com<para>
6481890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
6491890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
6501872So.canty@f5.com</para>
6511872So.canty@f5.com</change>
6521872So.canty@f5.com
6531872So.canty@f5.com<change type="feature">
6541872So.canty@f5.com<para>
6551889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
6561889Sartem.konev@nginx.comNode.js.
6571865So.canty@f5.com</para>
6581865So.canty@f5.com</change>
6591865So.canty@f5.com
6601865So.canty@f5.com<change type="feature">
6611865So.canty@f5.com<para>
6621890Svbart@nginx.commultiple "targets" in Python applications.
6631855Sz.hong@f5.com</para>
6641855Sz.hong@f5.com</change>
6651855Sz.hong@f5.com
6661870So.canty@f5.com<change type="feature">
6671870So.canty@f5.com<para>
6681870So.canty@f5.comcompatibility with Ruby 3.0.
6691870So.canty@f5.com</para>
6701870So.canty@f5.com</change>
6711870So.canty@f5.com
6721861Svbart@nginx.com<change type="bugfix">
6731861Svbart@nginx.com<para>
6741889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
6751884Sa.suvorov@f5.com</para>
6761884Sa.suvorov@f5.com</change>
6771884Sa.suvorov@f5.com
6781884Sa.suvorov@f5.com<change type="bugfix">
6791884Sa.suvorov@f5.com<para>
6801861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
6811861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
6821861Svbart@nginx.com</para>
6831861Svbart@nginx.com</change>
6841861Svbart@nginx.com
6851839Svbart@nginx.com</changes>
6861839Svbart@nginx.com
6871839Svbart@nginx.com
6881839Svbart@nginx.com<changes apply="unit-php
6891839Svbart@nginx.com                unit-python unit-python2.7
6901839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6911839Svbart@nginx.com                unit-python3.8 unit-python3.9
6921839Svbart@nginx.com                unit-go
6931839Svbart@nginx.com                unit-perl
6941839Svbart@nginx.com                unit-ruby
6951839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6961839Svbart@nginx.com                unit-jsc14 unit-jsc15"
6971834Svbart@nginx.com         ver="1.23.0" rev="1"
6981834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6991834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7001834Svbart@nginx.com
7011834Svbart@nginx.com<change>
7021834Svbart@nginx.com<para>
7031834Svbart@nginx.comNGINX Unit updated to 1.23.0.
7041834Svbart@nginx.com</para>
7051834Svbart@nginx.com</change>
7061834Svbart@nginx.com
7071834Svbart@nginx.com</changes>
7081834Svbart@nginx.com
7091834Svbart@nginx.com
7101806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
7111834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
7121806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7131806Svbart@nginx.com
7141825Sthresh@nginx.com<change type="feature">
7151825Sthresh@nginx.com<para>
7161833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
7171828Sa.suvorov@f5.comIndication (SNI) TLS extension.
7181828Sa.suvorov@f5.com</para>
7191828Sa.suvorov@f5.com</change>
7201828Sa.suvorov@f5.com
7211828Sa.suvorov@f5.com<change type="feature">
7221828Sa.suvorov@f5.com<para>
7231833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
7241833Sartem.konev@nginx.cominstallation.
7251825Sthresh@nginx.com</para>
7261825Sthresh@nginx.com</change>
7271825Sthresh@nginx.com
7281811Smax.romanov@nginx.com<change type="bugfix">
7291811Smax.romanov@nginx.com<para>
7301812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
7311812Svbart@nginx.comappeared in 1.17.0.
7321812Svbart@nginx.com</para>
7331812Svbart@nginx.com</change>
7341812Svbart@nginx.com
7351812Svbart@nginx.com<change type="bugfix">
7361812Svbart@nginx.com<para>
7371833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
7381812Svbart@nginx.comappeared in 1.6.
7391812Svbart@nginx.com</para>
7401812Svbart@nginx.com</change>
7411812Svbart@nginx.com
7421812Svbart@nginx.com<change type="bugfix">
7431812Svbart@nginx.com<para>
7441833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
7451832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
7461832Smax.romanov@nginx.com</para>
7471832Smax.romanov@nginx.com</change>
7481832Smax.romanov@nginx.com
7491832Smax.romanov@nginx.com<change type="bugfix">
7501832Smax.romanov@nginx.com<para>
7511833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
7521811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
7531811Smax.romanov@nginx.com</para>
7541811Smax.romanov@nginx.com</change>
7551806Svbart@nginx.com
7561813Svbart@nginx.com<change type="bugfix">
7571813Svbart@nginx.com<para>
7581813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
7591813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
7601813Svbart@nginx.com</para>
7611813Svbart@nginx.com</change>
7621813Svbart@nginx.com
7631814Svbart@nginx.com<change type="bugfix">
7641814Svbart@nginx.com<para>
7651820Svbart@nginx.comthe controller process could crash while requesting information about a
7661820Svbart@nginx.comcertificate with a non-DNS SAN entry.
7671820Svbart@nginx.com</para>
7681820Svbart@nginx.com</change>
7691820Svbart@nginx.com
7701820Svbart@nginx.com<change type="bugfix">
7711820Svbart@nginx.com<para>
7721822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
7731833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
7741822Svbart@nginx.com</para>
7751822Svbart@nginx.com</change>
7761822Svbart@nginx.com
7771822Svbart@nginx.com<change type="bugfix">
7781822Svbart@nginx.com<para>
7791833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
7801833Sartem.konev@nginx.comclass.
7811814Svbart@nginx.com</para>
7821814Svbart@nginx.com</change>
7831814Svbart@nginx.com
7841815Svbart@nginx.com<change type="bugfix">
7851815Svbart@nginx.com<para>
7861815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
7871815Svbart@nginx.comappeared in 1.22.0.
7881815Svbart@nginx.com</para>
7891815Svbart@nginx.com</change>
7901815Svbart@nginx.com
7911806Svbart@nginx.com</changes>
7921806Svbart@nginx.com
7931806Svbart@nginx.com
7941798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
7951798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7961798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7971798Sdefan@nginx.com
7981798Sdefan@nginx.com<change>
7991798Sdefan@nginx.com<para>
8001798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
8011798Sdefan@nginx.com</para>
8021798Sdefan@nginx.com</change>
8031798Sdefan@nginx.com
8041798Sdefan@nginx.com</changes>
8051798Sdefan@nginx.com
8061798Sdefan@nginx.com
8071763Sdefan@nginx.com<changes apply="unit-php
8081763Sdefan@nginx.com                unit-python unit-python2.7
8091763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8101763Sdefan@nginx.com                unit-python3.8
8111763Sdefan@nginx.com                unit-go
8121763Sdefan@nginx.com                unit-perl
8131763Sdefan@nginx.com                unit-ruby
8141763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
8151763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
8161763Sdefan@nginx.com         ver="1.22.0" rev="1"
8171793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
8181763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8191763Sdefan@nginx.com
8201763Sdefan@nginx.com<change>
8211763Sdefan@nginx.com<para>
8221763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
8231763Sdefan@nginx.com</para>
8241763Sdefan@nginx.com</change>
8251763Sdefan@nginx.com
8261763Sdefan@nginx.com</changes>
8271763Sdefan@nginx.com
8281763Sdefan@nginx.com
8291727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
8301793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
8311727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8321727Svbart@nginx.com
8331759Svbart@nginx.com<change type="feature">
8341759Svbart@nginx.com<para>
8351792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
8361792Svbart@nginx.comcompliant with Stream API.
8371759Svbart@nginx.com</para>
8381759Svbart@nginx.com</change>
8391759Svbart@nginx.com
8401766Smax.romanov@nginx.com<change type="feature">
8411766Smax.romanov@nginx.com<para>
8421792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
8431792Svbart@nginx.comapps.
8441732Svbart@nginx.com</para>
8451732Svbart@nginx.com</change>
8461732Svbart@nginx.com
8471733Svbart@nginx.com<change type="bugfix">
8481733Svbart@nginx.com<para>
8491792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
8501792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
8511754Smax.romanov@nginx.com</para>
8521754Smax.romanov@nginx.com</change>
8531754Smax.romanov@nginx.com
8541755Smax.romanov@nginx.com<change type="bugfix">
8551755Smax.romanov@nginx.com<para>
8561790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
8571755Smax.romanov@nginx.comappeared in 1.19.0.
8581755Smax.romanov@nginx.com</para>
8591755Smax.romanov@nginx.com</change>
8601755Smax.romanov@nginx.com
8611756Smax.romanov@nginx.com<change type="bugfix">
8621756Smax.romanov@nginx.com<para>
8631790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
8641790Sartem.konev@nginx.comappeared in 1.19.0.
8651756Smax.romanov@nginx.com</para>
8661756Smax.romanov@nginx.com</change>
8671756Smax.romanov@nginx.com
8681760Smax.romanov@nginx.com<change type="bugfix">
8691760Smax.romanov@nginx.com<para>
8701792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
8711792Svbart@nginx.com</para>
8721792Svbart@nginx.com</change>
8731792Svbart@nginx.com
8741792Svbart@nginx.com<change type="bugfix">
8751792Svbart@nginx.com<para>
8761792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
8771792Svbart@nginx.commissing in the PHP module.
8781792Svbart@nginx.com</para>
8791792Svbart@nginx.com</change>
8801792Svbart@nginx.com
8811792