xref: /unit/docs/changes.xml (revision 2174)
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
402133Sz.hong@f5.com<change type="feature">
412133Sz.hong@f5.com<para>
422161Salx.manpages@gmail.comsupporting UNIX sockets in address matching.
432161Salx.manpages@gmail.com</para>
442161Salx.manpages@gmail.com</change>
452161Salx.manpages@gmail.com
462161Salx.manpages@gmail.com<change type="feature">
472161Salx.manpages@gmail.com<para>
482133Sz.hong@f5.comforwarded header to replace client address and protocol.
492133Sz.hong@f5.com</para>
502133Sz.hong@f5.com</change>
512133Sz.hong@f5.com
522147Sz.hong@f5.com<change type="feature">
532147Sz.hong@f5.com<para>
542147Sz.hong@f5.comability to get dynamic variables.
552147Sz.hong@f5.com</para>
562147Sz.hong@f5.com</change>
572147Sz.hong@f5.com
582149Sz.hong@f5.com<change type="feature">
592149Sz.hong@f5.com<para>
602149Sz.hong@f5.commore http variables support.
612149Sz.hong@f5.com</para>
622149Sz.hong@f5.com</change>
632149Sz.hong@f5.com
642161Salx.manpages@gmail.com<change type="feature">
652161Salx.manpages@gmail.com<para>
662161Salx.manpages@gmail.comadded a new variable, $dollar, that translates to a literal "$" during
672162Salx.manpages@gmail.comvariable substitution.
682161Salx.manpages@gmail.com</para>
692161Salx.manpages@gmail.com</change>
702161Salx.manpages@gmail.com
712166Sz.hong@f5.com<change type="feature">
722166Sz.hong@f5.com<para>
732166Sz.hong@f5.comcustomizable access log format.
742166Sz.hong@f5.com</para>
752166Sz.hong@f5.com</change>
762166Sz.hong@f5.com
772137Salx.manpages@gmail.com<change type="bugfix">
782137Salx.manpages@gmail.com<para>
792137Salx.manpages@gmail.coman index file that didn't contain a file extension was incorrectly
802137Salx.manpages@gmail.comhandled, and caused a use-after-free bug.
812137Salx.manpages@gmail.com</para>
822137Salx.manpages@gmail.com</change>
832137Salx.manpages@gmail.com
842163Salx.manpages@gmail.com<change type="bugfix">
852163Salx.manpages@gmail.com<para>
862163Salx.manpages@gmail.comforce SCRIPT_NAME in Ruby to always be an empty string.
872163Salx.manpages@gmail.com</para>
882163Salx.manpages@gmail.com</change>
892163Salx.manpages@gmail.com
902164Sz.hong@f5.com<change type="bugfix">
912164Sz.hong@f5.com<para>
922164Sz.hong@f5.comthe ruby application process could crash if it's interrupted by SIGTERM signal.
932164Sz.hong@f5.com</para>
942164Sz.hong@f5.com</change>
952164Sz.hong@f5.com
96*2174Smax.romanov@gmail.com<change type="bugfix">
97*2174Smax.romanov@gmail.com<para>
98*2174Smax.romanov@gmail.comwhen isolated PID numbers reach the prototype process host PID,
99*2174Smax.romanov@gmail.comthe prototype crashed.
100*2174Smax.romanov@gmail.com</para>
101*2174Smax.romanov@gmail.com</change>
102*2174Smax.romanov@gmail.com
1032129Szelenkov@nginx.com</changes>
1042129Szelenkov@nginx.com
1052129Szelenkov@nginx.com
1062129Szelenkov@nginx.com<changes apply="unit-php
1072129Szelenkov@nginx.com                unit-python unit-python2.7
1082129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1092129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1102129Szelenkov@nginx.com                unit-go
1112129Szelenkov@nginx.com                unit-perl
1122129Szelenkov@nginx.com                unit-ruby
1132129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1142129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1152012Svbart@nginx.com         ver="1.27.0" rev="1"
1162127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1172012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1182012Svbart@nginx.com
1192012Svbart@nginx.com<change>
1202012Svbart@nginx.com<para>
1212012Svbart@nginx.comNGINX Unit updated to 1.27.0.
1222012Svbart@nginx.com</para>
1232012Svbart@nginx.com</change>
1242012Svbart@nginx.com
1252012Svbart@nginx.com</changes>
1262012Svbart@nginx.com
1272012Svbart@nginx.com
1282012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
1292127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1302012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1312012Svbart@nginx.com
1322072Sz.hong@f5.com<change type="feature">
1332072Sz.hong@f5.com<para>
1342108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
1352108Salx.manpages@gmail.com</para>
1362108Salx.manpages@gmail.com</change>
1372108Salx.manpages@gmail.com
1382108Salx.manpages@gmail.com<change type="feature">
1392108Salx.manpages@gmail.com<para>
1402081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
1412081Salx.manpages@gmail.com</para>
1422081Salx.manpages@gmail.com</change>
1432081Salx.manpages@gmail.com
1442081Salx.manpages@gmail.com<change type="feature">
1452081Salx.manpages@gmail.com<para>
1462113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
1472113Sartem.konev@nginx.com</para>
1482113Sartem.konev@nginx.com</change>
1492113Sartem.konev@nginx.com
1502113Sartem.konev@nginx.com<change type="feature">
1512113Sartem.konev@nginx.com<para>
1522113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
1532113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
1542113Sartem.konev@nginx.com</para>
1552113Sartem.konev@nginx.com</change>
1562113Sartem.konev@nginx.com
1572113Sartem.konev@nginx.com<change type="feature">
1582113Sartem.konev@nginx.com<para>
1592113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
1602110Salx.manpages@gmail.com</para>
1612110Salx.manpages@gmail.com</change>
1622110Salx.manpages@gmail.com
1632110Salx.manpages@gmail.com<change type="feature">
1642110Salx.manpages@gmail.com<para>
1652072Sz.hong@f5.comcompatibility with GCC 12.
1662072Sz.hong@f5.com</para>
1672072Sz.hong@f5.com</change>
1682072Sz.hong@f5.com
1692060Smax.romanov@nginx.com<change type="bugfix">
1702060Smax.romanov@nginx.com<para>
1712093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
1722093Sz.hong@f5.com</para>
1732093Sz.hong@f5.com</change>
1742093Sz.hong@f5.com
1752093Sz.hong@f5.com<change type="bugfix">
1762093Sz.hong@f5.com<para>
1772113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
1782069Sz.hong@f5.comcertificates was uploaded.
1792069Sz.hong@f5.com</para>
1802069Sz.hong@f5.com</change>
1812069Sz.hong@f5.com
1822069Sz.hong@f5.com<change type="bugfix">
1832069Sz.hong@f5.com<para>
1842060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
1852060Smax.romanov@nginx.com</para>
1862060Smax.romanov@nginx.com</change>
1872060Smax.romanov@nginx.com
1882061Smax.romanov@nginx.com<change type="bugfix">
1892061Smax.romanov@nginx.com<para>
1902061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
1912061Smax.romanov@nginx.com</para>
1922061Smax.romanov@nginx.com</change>
1932061Smax.romanov@nginx.com
1942067Smax.romanov@nginx.com<change type="bugfix">
1952067Smax.romanov@nginx.com<para>
1962067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
1972067Smax.romanov@nginx.comobject, notably with Falcon.
1982067Smax.romanov@nginx.com</para>
1992067Smax.romanov@nginx.com</change>
2002067Smax.romanov@nginx.com
2012117Szelenkov@nginx.com<change type="bugfix">
2022117Szelenkov@nginx.com<para>
2032117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
2042117Szelenkov@nginx.com</para>
2052117Szelenkov@nginx.com</change>
2062117Szelenkov@nginx.com
2072050Svbart@nginx.com</changes>
2082050Svbart@nginx.com
2092050Svbart@nginx.com
2102050Svbart@nginx.com<changes apply="unit-php
2112050Svbart@nginx.com                unit-python unit-python2.7
2122050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2132050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
2142050Svbart@nginx.com                unit-go
2152050Svbart@nginx.com                unit-perl
2162050Svbart@nginx.com                unit-ruby
2172050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2182050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
2192029SN/A         ver="1.26.1" rev="1"
2202045SN/A         date="2021-12-02" time="18:00:00 +0300"
2212029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2222029SN/A
2232029SN/A<change>
2242029SN/A<para>
2252029SN/ANGINX Unit updated to 1.26.1.
2262029SN/A</para>
2272029SN/A</change>
2282029SN/A
2292029SN/A</changes>
2302029SN/A
2312029SN/A
2322029SN/A<changes apply="unit" ver="1.26.1" rev="1"
2332045SN/A         date="2021-12-02" time="18:00:00 +0300"
2342029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2352029SN/A
2362033SN/A<change type="bugfix">
2372033SN/A<para>
2382044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
2392044SN/Aappeared in 1.26.0.
2402033SN/A</para>
2412033SN/A</change>
2422033SN/A
2432034SN/A<change type="bugfix">
2442034SN/A<para>
2452044SN/Aa prototype process could crash on an application process exit; the bug had
2462034SN/Aappeared in 1.26.0.
2472034SN/A</para>
2482034SN/A</change>
2492034SN/A
2502035SN/A<change type="bugfix">
2512035SN/A<para>
2522044SN/Athe router process crashed on reconfiguration if "access_log" was configured
2532044SN/Awithout listeners.
2542044SN/A</para>
2552044SN/A</change>
2562044SN/A
2572044SN/A<change type="bugfix">
2582044SN/A<para>
2592035SN/Aa segmentation fault occurred in the PHP module if chdir() or
2602035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
2612035SN/A</para>
2622035SN/A</change>
2632035SN/A
2642040SN/A<change type="bugfix">
2652040SN/A<para>
2662041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
2672041SN/A</para>
2682041SN/A</change>
2692041SN/A
2702029SN/A</changes>
2712029SN/A
2722029SN/A
2731973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
2742007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2751973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2761973Sdefan@nginx.com
2771973Sdefan@nginx.com<change>
2781973Sdefan@nginx.com<para>
2791973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
2801973Sdefan@nginx.com</para>
2811973Sdefan@nginx.com</change>
2821973Sdefan@nginx.com
2831973Sdefan@nginx.com</changes>
2841973Sdefan@nginx.com
2851973Sdefan@nginx.com
2861973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
2872007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2881973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2891973Sdefan@nginx.com
2901973Sdefan@nginx.com<change>
2911973Sdefan@nginx.com<para>
2921973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
2931973Sdefan@nginx.com</para>
2941973Sdefan@nginx.com</change>
2951973Sdefan@nginx.com
2961973Sdefan@nginx.com</changes>
2971973Sdefan@nginx.com
2981973Sdefan@nginx.com
2991896Svbart@nginx.com<changes apply="unit-php
3001896Svbart@nginx.com                unit-python unit-python2.7
3011896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3021896Svbart@nginx.com                unit-python3.8 unit-python3.9
3031896Svbart@nginx.com                unit-go
3041896Svbart@nginx.com                unit-perl
3051896Svbart@nginx.com                unit-ruby
3061896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3071896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3081951Svbart@nginx.com         ver="1.26.0" rev="1"
3092007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3101951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3111951Svbart@nginx.com
3121951Svbart@nginx.com<change>
3131951Svbart@nginx.com<para>
3141951Svbart@nginx.comNGINX Unit updated to 1.26.0.
3151951Svbart@nginx.com</para>
3161951Svbart@nginx.com</change>
3171951Svbart@nginx.com
3181951Svbart@nginx.com</changes>
3191951Svbart@nginx.com
3201951Svbart@nginx.com
3211951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
3222007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3231951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3241951Svbart@nginx.com
3251960Sz.hong@f5.com<change type="change">
3261960Sz.hong@f5.com<para>
3271960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
3281960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
3291960Sz.hong@f5.com</para>
3301960Sz.hong@f5.com</change>
3311960Sz.hong@f5.com
3321960Sz.hong@f5.com<change type="feature">
3331960Sz.hong@f5.com<para>
3342006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
3352006Svbart@nginx.comwhen updating from previous versions.
3362006Svbart@nginx.com</para>
3372006Svbart@nginx.com</change>
3382006Svbart@nginx.com
3392006Svbart@nginx.com<change type="feature">
3402006Svbart@nginx.com<para>
3411960Sz.hong@f5.comvariables support in the "share" option.
3421960Sz.hong@f5.com</para>
3431960Sz.hong@f5.com</change>
3441960Sz.hong@f5.com
3451959Sz.hong@f5.com<change type="feature">
3461959Sz.hong@f5.com<para>
3471961Sz.hong@f5.commultiple paths in the "share" option.
3481961Sz.hong@f5.com</para>
3491961Sz.hong@f5.com</change>
3501961Sz.hong@f5.com
3511961Sz.hong@f5.com<change type="feature">
3521961Sz.hong@f5.com<para>
3531959Sz.hong@f5.comvariables support in the "chroot" option.
3541959Sz.hong@f5.com</para>
3551959Sz.hong@f5.com</change>
3561959Sz.hong@f5.com
3571969Sz.hong@f5.com<change type="feature">
3581969Sz.hong@f5.com<para>
3592006Svbart@nginx.comPHP opcache is shared between application processes.
3601969Sz.hong@f5.com</para>
3611969Sz.hong@f5.com</change>
3621969Sz.hong@f5.com
3631991Sz.hong@f5.com<change type="feature">
3641991Sz.hong@f5.com<para>
3651991Sz.hong@f5.comrequest routing by the query string.
3661991Sz.hong@f5.com</para>
3671991Sz.hong@f5.com</change>
3681991Sz.hong@f5.com
3691955Smax.romanov@nginx.com<change type="bugfix">
3701955Smax.romanov@nginx.com<para>
3712006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
3722006Svbart@nginx.comby asynchronous or multithreaded apps.
3731955Smax.romanov@nginx.com</para>
3741955Smax.romanov@nginx.com</change>
3751955Smax.romanov@nginx.com
3761956Smax.romanov@nginx.com<change type="bugfix">
3771956Smax.romanov@nginx.com<para>
3781956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
3791956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
3801956Smax.romanov@nginx.com</para>
3811956Smax.romanov@nginx.com</change>
3821956Smax.romanov@nginx.com
3831992Smax.romanov@nginx.com<change type="bugfix">
3841992Smax.romanov@nginx.com<para>
3852006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
3861992Smax.romanov@nginx.com</para>
3871992Smax.romanov@nginx.com</change>
3881992Smax.romanov@nginx.com
3891951Svbart@nginx.com</changes>
3901951Svbart@nginx.com
3911951Svbart@nginx.com
3921951Svbart@nginx.com<changes apply="unit-php
3931951Svbart@nginx.com                unit-python unit-python2.7
3941951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3951951Svbart@nginx.com                unit-python3.8 unit-python3.9
3961951Svbart@nginx.com                unit-go
3971951Svbart@nginx.com                unit-perl
3981951Svbart@nginx.com                unit-ruby
3991951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4001951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
4011896Svbart@nginx.com         ver="1.25.0" rev="1"
4021945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4031896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4041896Svbart@nginx.com
4051896Svbart@nginx.com<change>
4061896Svbart@nginx.com<para>
4071896Svbart@nginx.comNGINX Unit updated to 1.25.0.
4081896Svbart@nginx.com</para>
4091896Svbart@nginx.com</change>
4101896Svbart@nginx.com
4111896Svbart@nginx.com</changes>
4121896Svbart@nginx.com
4131896Svbart@nginx.com
4141896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
4151945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4161896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4171896Svbart@nginx.com
4181910So.canty@f5.com<change type="feature">
4191910So.canty@f5.com<para>
4201944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
4211942Sa.suvorov@f5.com</para>
4221942Sa.suvorov@f5.com</change>
4231942Sa.suvorov@f5.com
4241942Sa.suvorov@f5.com<change type="feature">
4251942Sa.suvorov@f5.com<para>
4261920Sa.suvorov@f5.comTLS sessions cache.
4271920Sa.suvorov@f5.com</para>
4281920Sa.suvorov@f5.com</change>
4291920Sa.suvorov@f5.com
4301920Sa.suvorov@f5.com<change type="feature">
4311920Sa.suvorov@f5.com<para>
4321944Svbart@nginx.comTLS session tickets.
4331910So.canty@f5.com</para>
4341910So.canty@f5.com</change>
4351910So.canty@f5.com
4361926Smax.romanov@nginx.com<change type="feature">
4371926Smax.romanov@nginx.com<para>
4381926Smax.romanov@nginx.comapplication restart control.
4391926Smax.romanov@nginx.com</para>
4401926Smax.romanov@nginx.com</change>
4411926Smax.romanov@nginx.com
4421936So.canty@f5.com<change type="feature">
4431936So.canty@f5.com<para>
4441944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
4451936So.canty@f5.com</para>
4461936So.canty@f5.com</change>
4471936So.canty@f5.com
4481907Smax.romanov@nginx.com<change type="bugfix">
4491907Smax.romanov@nginx.com<para>
4501944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
4511944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
4521921Sa.suvorov@f5.com</para>
4531921Sa.suvorov@f5.com</change>
4541921Sa.suvorov@f5.com
4551921Sa.suvorov@f5.com<change type="bugfix">
4561921Sa.suvorov@f5.com<para>
4571944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
4581944Svbart@nginx.combundles in a listener if the client did not use SNI.
4591907Smax.romanov@nginx.com</para>
4601907Smax.romanov@nginx.com</change>
4611907Smax.romanov@nginx.com
4621907Smax.romanov@nginx.com<change type="bugfix">
4631907Smax.romanov@nginx.com<para>
4641950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
4651915Smax.romanov@nginx.comreconfiguration.
4661915Smax.romanov@nginx.com</para>
4671915Smax.romanov@nginx.com</change>
4681915Smax.romanov@nginx.com
4691915Smax.romanov@nginx.com<change type="bugfix">
4701915Smax.romanov@nginx.com<para>
4711944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
4721944Svbart@nginx.comframework.
4731944Svbart@nginx.com</para>
4741944Svbart@nginx.com</change>
4751944Svbart@nginx.com
4761944Svbart@nginx.com<change type="bugfix">
4771944Svbart@nginx.com<para>
4781944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
4791944Svbart@nginx.comstopped or crashed.
4801907Smax.romanov@nginx.com</para>
4811907Smax.romanov@nginx.com</change>
4821907Smax.romanov@nginx.com
4831909So.canty@f5.com<change type="bugfix">
4841909So.canty@f5.com<para>
4851909So.canty@f5.comthe controller or router process could crash if the configuration contained
4861909So.canty@f5.coma full-form IPv6 in a listener address.
4871909So.canty@f5.com</para>
4881909So.canty@f5.com</change>
4891909So.canty@f5.com
4901916Smax.romanov@nginx.com<change type="bugfix">
4911916Smax.romanov@nginx.com<para>
4921929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
4931929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
4941929Sz.hong@f5.com</para>
4951929Sz.hong@f5.com</change>
4961929Sz.hong@f5.com
4971930So.canty@f5.com<change type="bugfix">
4981930So.canty@f5.com<para>
4991944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
5001944Svbart@nginx.comor destination address patterns.
5011930So.canty@f5.com</para>
5021930So.canty@f5.com</change>
5031930So.canty@f5.com
5041896Svbart@nginx.com</changes>
5051896Svbart@nginx.com
5061896Svbart@nginx.com
5071887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
5081891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5091887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5101887Sdefan@nginx.com
5111887Sdefan@nginx.com<change>
5121887Sdefan@nginx.com<para>
5131887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
5141887Sdefan@nginx.com</para>
5151887Sdefan@nginx.com</change>
5161887Sdefan@nginx.com
5171887Sdefan@nginx.com</changes>
5181887Sdefan@nginx.com
5191887Sdefan@nginx.com
5201887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
5211891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5221887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5231887Sdefan@nginx.com
5241887Sdefan@nginx.com<change>
5251887Sdefan@nginx.com<para>
5261887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
5271887Sdefan@nginx.com</para>
5281887Sdefan@nginx.com</change>
5291887Sdefan@nginx.com
5301887Sdefan@nginx.com</changes>
5311887Sdefan@nginx.com
5321887Sdefan@nginx.com
5331834Svbart@nginx.com<changes apply="unit-php
5341834Svbart@nginx.com                unit-python unit-python2.7
5351834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5361834Svbart@nginx.com                unit-python3.8 unit-python3.9
5371834Svbart@nginx.com                unit-go
5381834Svbart@nginx.com                unit-perl
5391834Svbart@nginx.com                unit-ruby
5401834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5411834Svbart@nginx.com                unit-jsc14 unit-jsc15"
5421839Svbart@nginx.com         ver="1.24.0" rev="1"
5431891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5441839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5451839Svbart@nginx.com
5461839Svbart@nginx.com<change>
5471839Svbart@nginx.com<para>
5481839Svbart@nginx.comNGINX Unit updated to 1.24.0.
5491839Svbart@nginx.com</para>
5501839Svbart@nginx.com</change>
5511839Svbart@nginx.com
5521839Svbart@nginx.com</changes>
5531839Svbart@nginx.com
5541839Svbart@nginx.com
5551839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
5561891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5571839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5581839Svbart@nginx.com
5591882So.canty@f5.com<change type="change">
5601882So.canty@f5.com<para>
5611882So.canty@f5.comPHP added to the default MIME type list.
5621882So.canty@f5.com</para>
5631882So.canty@f5.com</change>
5641882So.canty@f5.com
5651855Sz.hong@f5.com<change type="feature">
5661855Sz.hong@f5.com<para>
5671885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
5681885Sa.suvorov@f5.com</para>
5691885Sa.suvorov@f5.com</change>
5701885Sa.suvorov@f5.com
5711885Sa.suvorov@f5.com<change type="feature">
5721885Sa.suvorov@f5.com<para>
5731890Svbart@nginx.comthe ability to limit static file serving by MIME types.
5741890Svbart@nginx.com</para>
5751890Svbart@nginx.com</change>
5761890Svbart@nginx.com
5771890Svbart@nginx.com<change type="feature">
5781890Svbart@nginx.com<para>
5791890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
5801890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
5811872So.canty@f5.com</para>
5821872So.canty@f5.com</change>
5831872So.canty@f5.com
5841872So.canty@f5.com<change type="feature">
5851872So.canty@f5.com<para>
5861889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
5871889Sartem.konev@nginx.comNode.js.
5881865So.canty@f5.com</para>
5891865So.canty@f5.com</change>
5901865So.canty@f5.com
5911865So.canty@f5.com<change type="feature">
5921865So.canty@f5.com<para>
5931890Svbart@nginx.commultiple "targets" in Python applications.
5941855Sz.hong@f5.com</para>
5951855Sz.hong@f5.com</change>
5961855Sz.hong@f5.com
5971870So.canty@f5.com<change type="feature">
5981870So.canty@f5.com<para>
5991870So.canty@f5.comcompatibility with Ruby 3.0.
6001870So.canty@f5.com</para>
6011870So.canty@f5.com</change>
6021870So.canty@f5.com
6031861Svbart@nginx.com<change type="bugfix">
6041861Svbart@nginx.com<para>
6051889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
6061884Sa.suvorov@f5.com</para>
6071884Sa.suvorov@f5.com</change>
6081884Sa.suvorov@f5.com
6091884Sa.suvorov@f5.com<change type="bugfix">
6101884Sa.suvorov@f5.com<para>
6111861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
6121861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
6131861Svbart@nginx.com</para>
6141861Svbart@nginx.com</change>
6151861Svbart@nginx.com
6161839Svbart@nginx.com</changes>
6171839Svbart@nginx.com
6181839Svbart@nginx.com
6191839Svbart@nginx.com<changes apply="unit-php
6201839Svbart@nginx.com                unit-python unit-python2.7
6211839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6221839Svbart@nginx.com                unit-python3.8 unit-python3.9
6231839Svbart@nginx.com                unit-go
6241839Svbart@nginx.com                unit-perl
6251839Svbart@nginx.com                unit-ruby
6261839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6271839Svbart@nginx.com                unit-jsc14 unit-jsc15"
6281834Svbart@nginx.com         ver="1.23.0" rev="1"
6291834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6301834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6311834Svbart@nginx.com
6321834Svbart@nginx.com<change>
6331834Svbart@nginx.com<para>
6341834Svbart@nginx.comNGINX Unit updated to 1.23.0.
6351834Svbart@nginx.com</para>
6361834Svbart@nginx.com</change>
6371834Svbart@nginx.com
6381834Svbart@nginx.com</changes>
6391834Svbart@nginx.com
6401834Svbart@nginx.com
6411806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
6421834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6431806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6441806Svbart@nginx.com
6451825Sthresh@nginx.com<change type="feature">
6461825Sthresh@nginx.com<para>
6471833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
6481828Sa.suvorov@f5.comIndication (SNI) TLS extension.
6491828Sa.suvorov@f5.com</para>
6501828Sa.suvorov@f5.com</change>
6511828Sa.suvorov@f5.com
6521828Sa.suvorov@f5.com<change type="feature">
6531828Sa.suvorov@f5.com<para>
6541833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
6551833Sartem.konev@nginx.cominstallation.
6561825Sthresh@nginx.com</para>
6571825Sthresh@nginx.com</change>
6581825Sthresh@nginx.com
6591811Smax.romanov@nginx.com<change type="bugfix">
6601811Smax.romanov@nginx.com<para>
6611812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
6621812Svbart@nginx.comappeared in 1.17.0.
6631812Svbart@nginx.com</para>
6641812Svbart@nginx.com</change>
6651812Svbart@nginx.com
6661812Svbart@nginx.com<change type="bugfix">
6671812Svbart@nginx.com<para>
6681833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
6691812Svbart@nginx.comappeared in 1.6.
6701812Svbart@nginx.com</para>
6711812Svbart@nginx.com</change>
6721812Svbart@nginx.com
6731812Svbart@nginx.com<change type="bugfix">
6741812Svbart@nginx.com<para>
6751833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
6761832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
6771832Smax.romanov@nginx.com</para>
6781832Smax.romanov@nginx.com</change>
6791832Smax.romanov@nginx.com
6801832Smax.romanov@nginx.com<change type="bugfix">
6811832Smax.romanov@nginx.com<para>
6821833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
6831811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
6841811Smax.romanov@nginx.com</para>
6851811Smax.romanov@nginx.com</change>
6861806Svbart@nginx.com
6871813Svbart@nginx.com<change type="bugfix">
6881813Svbart@nginx.com<para>
6891813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
6901813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
6911813Svbart@nginx.com</para>
6921813Svbart@nginx.com</change>
6931813Svbart@nginx.com
6941814Svbart@nginx.com<change type="bugfix">
6951814Svbart@nginx.com<para>
6961820Svbart@nginx.comthe controller process could crash while requesting information about a
6971820Svbart@nginx.comcertificate with a non-DNS SAN entry.
6981820Svbart@nginx.com</para>
6991820Svbart@nginx.com</change>
7001820Svbart@nginx.com
7011820Svbart@nginx.com<change type="bugfix">
7021820Svbart@nginx.com<para>
7031822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
7041833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
7051822Svbart@nginx.com</para>
7061822Svbart@nginx.com</change>
7071822Svbart@nginx.com
7081822Svbart@nginx.com<change type="bugfix">
7091822Svbart@nginx.com<para>
7101833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
7111833Sartem.konev@nginx.comclass.
7121814Svbart@nginx.com</para>
7131814Svbart@nginx.com</change>
7141814Svbart@nginx.com
7151815Svbart@nginx.com<change type="bugfix">
7161815Svbart@nginx.com<para>
7171815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
7181815Svbart@nginx.comappeared in 1.22.0.
7191815Svbart@nginx.com</para>
7201815Svbart@nginx.com</change>
7211815Svbart@nginx.com
7221806Svbart@nginx.com</changes>
7231806Svbart@nginx.com
7241806Svbart@nginx.com
7251798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
7261798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7271798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7281798Sdefan@nginx.com
7291798Sdefan@nginx.com<change>
7301798Sdefan@nginx.com<para>
7311798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
7321798Sdefan@nginx.com</para>
7331798Sdefan@nginx.com</change>
7341798Sdefan@nginx.com
7351798Sdefan@nginx.com</changes>
7361798Sdefan@nginx.com
7371798Sdefan@nginx.com
7381763Sdefan@nginx.com<changes apply="unit-php
7391763Sdefan@nginx.com                unit-python unit-python2.7
7401763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7411763Sdefan@nginx.com                unit-python3.8
7421763Sdefan@nginx.com                unit-go
7431763Sdefan@nginx.com                unit-perl
7441763Sdefan@nginx.com                unit-ruby
7451763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
7461763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
7471763Sdefan@nginx.com         ver="1.22.0" rev="1"
7481793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7491763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7501763Sdefan@nginx.com
7511763Sdefan@nginx.com<change>
7521763Sdefan@nginx.com<para>
7531763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
7541763Sdefan@nginx.com</para>
7551763Sdefan@nginx.com</change>
7561763Sdefan@nginx.com
7571763Sdefan@nginx.com</changes>
7581763Sdefan@nginx.com
7591763Sdefan@nginx.com
7601727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
7611793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7621727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7631727Svbart@nginx.com
7641759Svbart@nginx.com<change type="feature">
7651759Svbart@nginx.com<para>
7661792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
7671792Svbart@nginx.comcompliant with Stream API.
7681759Svbart@nginx.com</para>
7691759Svbart@nginx.com</change>
7701759Svbart@nginx.com
7711766Smax.romanov@nginx.com<change type="feature">
7721766Smax.romanov@nginx.com<para>
7731792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
7741792Svbart@nginx.comapps.
7751732Svbart@nginx.com</para>
7761732Svbart@nginx.com</change>
7771732Svbart@nginx.com
7781733Svbart@nginx.com<change type="bugfix">
7791733Svbart@nginx.com<para>
7801792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
7811792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
7821754Smax.romanov@nginx.com</para>
7831754Smax.romanov@nginx.com</change>
7841754Smax.romanov@nginx.com
7851755Smax.romanov@nginx.com<change type="bugfix">
7861755Smax.romanov@nginx.com<para>
7871790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
7881755Smax.romanov@nginx.comappeared in 1.19.0.
7891755Smax.romanov@nginx.com</para>
7901755Smax.romanov@nginx.com</change>
7911755Smax.romanov@nginx.com
7921756Smax.romanov@nginx.com<change type="bugfix">
7931756Smax.romanov@nginx.com<para>
7941790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
7951790Sartem.konev@nginx.comappeared in 1.19.0.
7961756Smax.romanov@nginx.com</para>
7971756Smax.romanov@nginx.com</change>
7981756Smax.romanov@nginx.com
7991760Smax.romanov@nginx.com<change type="bugfix">
8001760Smax.romanov@nginx.com<para>
8011792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
8021792Svbart@nginx.com</para>
8031792Svbart@nginx.com</change>
8041792Svbart@nginx.com
8051792Svbart@nginx.com<change type="bugfix">
8061792Svbart@nginx.com<para>
8071792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
8081792Svbart@nginx.commissing in the PHP module.
8091792Svbart@nginx.com</para>
8101792Svbart@nginx.com</change>
8111792Svbart@nginx.com
8121792Svbart@nginx.com<change type="bugfix">
8131792Svbart@nginx.com<para>
8141792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
8151792Svbart@nginx.com</para>
8161792Svbart@nginx.com</change>
8171792Svbart@nginx.com
8181792Svbart@nginx.com<change type="bugfix">
8191792Svbart@nginx.com<para>
8201792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
8211792Svbart@nginx.com</para>
8221792Svbart@nginx.com</change>
8231792Svbart@nginx.com
8241792Svbart@nginx.com<change type="bugfix">
8251792Svbart@nginx.com<para>
8261792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
8271792Svbart@nginx.comthe bug had appeared in 1.21.0.
8281760Smax.romanov@nginx.com</para>
8291760Smax.romanov@nginx.com</change>
8301760Smax.romanov@nginx.com
8311780Smax.romanov@nginx.com<change type="bugfix">
8321780Smax.romanov@nginx.com<para>
8331790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
8341790Sartem.konev@nginx.comWebSocket.
8351780Smax.romanov@nginx.com</para>
8361780Smax.romanov@nginx.com</change>
8371780Smax.romanov@nginx.com
8381789Smax.romanov@nginx.com<change type="bugfix">
8391789Smax.romanov@nginx.com<para>
8401789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
8411789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
8421789Smax.romanov@nginx.com</para>
8431789Smax.romanov@nginx.com</change>
8441789Smax.romanov@nginx.com
8451727Svbart@nginx.com</changes>
8461727Svbart@nginx.com
8471727Svbart@nginx.com
8481722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
8491722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8501722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8511722Svbart@nginx.com
8521722Svbart@nginx.com<change>
8531722Svbart@nginx.com<para>
8541722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
8551722Svbart@nginx.com</para>
8561722Svbart@nginx.com</change>
8571722Svbart@nginx.com
8581722Svbart@nginx.com</changes>
8591722Svbart@nginx.com
8601722Svbart@nginx.com
8611722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
8621722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8631722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8641722Svbart@nginx.com
8651722Svbart@nginx.com<change>
8661722Svbart@nginx.com<para>
8671722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
8681722Svbart@nginx.com</para>
8691722Svbart@nginx.com</change>
8701722Svbart@nginx.com
8711722Svbart@nginx.com</changes>
8721722Svbart@nginx.com
8731722Svbart@nginx.com
8741722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
8751722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8761722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8771722Svbart@nginx.com
8781722Svbart@nginx.com<change>
8791722Svbart@nginx.com<para>
8801722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
8811722Svbart@nginx.com</para>
8821722Svbart@nginx.com</change>
8831722Svbart@nginx.com
8841722Svbart@nginx.com</changes>
8851722Svbart@nginx.com
8861722Svbart@nginx.com
8871722Svbart@nginx.com<changes apply="unit-php
8881722Svbart@nginx.com                unit-python unit-python2.7
8891722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8901722Svbart@nginx.com                unit-python3.8
8911722Svbart@nginx.com                unit-go
8921722Svbart@nginx.com                unit-perl
8931722Svbart@nginx.com                unit-ruby
8941722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8951722Svbart@nginx.com         ver="1.21.0" rev="1"
8961722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8971722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8981722Svbart@nginx.com
8991722Svbart@nginx.com<change>
9001722Svbart@nginx.com<para>
9011722Svbart@nginx.comNGINX Unit updated to 1.21.0.
9021722Svbart@nginx.com</para>
9031722Svbart@nginx.com</change>
9041722Svbart@nginx.com
9051722Svbart@nginx.com</changes>
9061722Svbart@nginx.com
9071722Svbart@nginx.com
9081722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
9091722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
9101722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9111722Svbart@nginx.com
9121722Svbart@nginx.com<change type="change">
9131722Svbart@nginx.com<para>
9141722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
9151722Svbart@nginx.com</para>
9161722Svbart@nginx.com</change>
9171722Svbart@nginx.com
9181722Svbart@nginx.com<change type="change">
9191722Svbart@nginx.com<para>
9201722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
9211722Svbart@nginx.comnames.
9221722Svbart@nginx.com</para>
9231722Svbart@nginx.com</change>
9241722Svbart@nginx.com
9251722Svbart@nginx.com<change type="change">
9261722Svbart@nginx.com<para>
9271722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
9281722Svbart@nginx.comdefault.
9291722Svbart@nginx.com</para>
9301722Svbart@nginx.com</change>
9311722Svbart@nginx.com
9321722Svbart@nginx.com<change type="feature">
9331722Svbart@nginx.com<para>
9341722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
9351722Svbart@nginx.com</para>
9361722Svbart@nginx.com</change>
9371722Svbart@nginx.com
9381722Svbart@nginx.com<change type="feature">
9391722Svbart@nginx.com<para>
9401722Svbart@nginx.comregular expressions in route matching patterns.
9411722Svbart@nginx.com</para>
9421722Svbart@nginx.com</change>
9431722Svbart@nginx.com
9441722Svbart@nginx.com<change type="feature">
9451722Svbart@nginx.com<para>
9461722Svbart@nginx.comcompatibility with Python 3.9.
9471722Svbart@nginx.com</para>
9481722Svbart@nginx.com</change>
9491722Svbart@nginx.com
9501722Svbart@nginx.com<change type="feature">
9511722Svbart@nginx.com<para>
9521722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
9531722Svbart@nginx.com</para>
954