xref: /unit/docs/changes.xml (revision 2173)
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
34*2173Salx.manpages@gmail.com<change type="change">
35*2173Salx.manpages@gmail.com<para>
36*2173Salx.manpages@gmail.comincreased the applications' startup timeout.
37*2173Salx.manpages@gmail.com</para>
38*2173Salx.manpages@gmail.com</change>
39*2173Salx.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
962129Szelenkov@nginx.com</changes>
972129Szelenkov@nginx.com
982129Szelenkov@nginx.com
992129Szelenkov@nginx.com<changes apply="unit-php
1002129Szelenkov@nginx.com                unit-python unit-python2.7
1012129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1022129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1032129Szelenkov@nginx.com                unit-go
1042129Szelenkov@nginx.com                unit-perl
1052129Szelenkov@nginx.com                unit-ruby
1062129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1072129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1082012Svbart@nginx.com         ver="1.27.0" rev="1"
1092127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1102012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1112012Svbart@nginx.com
1122012Svbart@nginx.com<change>
1132012Svbart@nginx.com<para>
1142012Svbart@nginx.comNGINX Unit updated to 1.27.0.
1152012Svbart@nginx.com</para>
1162012Svbart@nginx.com</change>
1172012Svbart@nginx.com
1182012Svbart@nginx.com</changes>
1192012Svbart@nginx.com
1202012Svbart@nginx.com
1212012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
1222127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1232012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1242012Svbart@nginx.com
1252072Sz.hong@f5.com<change type="feature">
1262072Sz.hong@f5.com<para>
1272108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
1282108Salx.manpages@gmail.com</para>
1292108Salx.manpages@gmail.com</change>
1302108Salx.manpages@gmail.com
1312108Salx.manpages@gmail.com<change type="feature">
1322108Salx.manpages@gmail.com<para>
1332081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
1342081Salx.manpages@gmail.com</para>
1352081Salx.manpages@gmail.com</change>
1362081Salx.manpages@gmail.com
1372081Salx.manpages@gmail.com<change type="feature">
1382081Salx.manpages@gmail.com<para>
1392113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
1402113Sartem.konev@nginx.com</para>
1412113Sartem.konev@nginx.com</change>
1422113Sartem.konev@nginx.com
1432113Sartem.konev@nginx.com<change type="feature">
1442113Sartem.konev@nginx.com<para>
1452113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
1462113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
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.comRuby Rack environment parameter "SCRIPT_NAME" support.
1532110Salx.manpages@gmail.com</para>
1542110Salx.manpages@gmail.com</change>
1552110Salx.manpages@gmail.com
1562110Salx.manpages@gmail.com<change type="feature">
1572110Salx.manpages@gmail.com<para>
1582072Sz.hong@f5.comcompatibility with GCC 12.
1592072Sz.hong@f5.com</para>
1602072Sz.hong@f5.com</change>
1612072Sz.hong@f5.com
1622060Smax.romanov@nginx.com<change type="bugfix">
1632060Smax.romanov@nginx.com<para>
1642093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
1652093Sz.hong@f5.com</para>
1662093Sz.hong@f5.com</change>
1672093Sz.hong@f5.com
1682093Sz.hong@f5.com<change type="bugfix">
1692093Sz.hong@f5.com<para>
1702113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
1712069Sz.hong@f5.comcertificates was uploaded.
1722069Sz.hong@f5.com</para>
1732069Sz.hong@f5.com</change>
1742069Sz.hong@f5.com
1752069Sz.hong@f5.com<change type="bugfix">
1762069Sz.hong@f5.com<para>
1772060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
1782060Smax.romanov@nginx.com</para>
1792060Smax.romanov@nginx.com</change>
1802060Smax.romanov@nginx.com
1812061Smax.romanov@nginx.com<change type="bugfix">
1822061Smax.romanov@nginx.com<para>
1832061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
1842061Smax.romanov@nginx.com</para>
1852061Smax.romanov@nginx.com</change>
1862061Smax.romanov@nginx.com
1872067Smax.romanov@nginx.com<change type="bugfix">
1882067Smax.romanov@nginx.com<para>
1892067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
1902067Smax.romanov@nginx.comobject, notably with Falcon.
1912067Smax.romanov@nginx.com</para>
1922067Smax.romanov@nginx.com</change>
1932067Smax.romanov@nginx.com
1942117Szelenkov@nginx.com<change type="bugfix">
1952117Szelenkov@nginx.com<para>
1962117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
1972117Szelenkov@nginx.com</para>
1982117Szelenkov@nginx.com</change>
1992117Szelenkov@nginx.com
2002050Svbart@nginx.com</changes>
2012050Svbart@nginx.com
2022050Svbart@nginx.com
2032050Svbart@nginx.com<changes apply="unit-php
2042050Svbart@nginx.com                unit-python unit-python2.7
2052050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2062050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
2072050Svbart@nginx.com                unit-go
2082050Svbart@nginx.com                unit-perl
2092050Svbart@nginx.com                unit-ruby
2102050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2112050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
2122029SN/A         ver="1.26.1" rev="1"
2132045SN/A         date="2021-12-02" time="18:00:00 +0300"
2142029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2152029SN/A
2162029SN/A<change>
2172029SN/A<para>
2182029SN/ANGINX Unit updated to 1.26.1.
2192029SN/A</para>
2202029SN/A</change>
2212029SN/A
2222029SN/A</changes>
2232029SN/A
2242029SN/A
2252029SN/A<changes apply="unit" ver="1.26.1" rev="1"
2262045SN/A         date="2021-12-02" time="18:00:00 +0300"
2272029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2282029SN/A
2292033SN/A<change type="bugfix">
2302033SN/A<para>
2312044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
2322044SN/Aappeared in 1.26.0.
2332033SN/A</para>
2342033SN/A</change>
2352033SN/A
2362034SN/A<change type="bugfix">
2372034SN/A<para>
2382044SN/Aa prototype process could crash on an application process exit; the bug had
2392034SN/Aappeared in 1.26.0.
2402034SN/A</para>
2412034SN/A</change>
2422034SN/A
2432035SN/A<change type="bugfix">
2442035SN/A<para>
2452044SN/Athe router process crashed on reconfiguration if "access_log" was configured
2462044SN/Awithout listeners.
2472044SN/A</para>
2482044SN/A</change>
2492044SN/A
2502044SN/A<change type="bugfix">
2512044SN/A<para>
2522035SN/Aa segmentation fault occurred in the PHP module if chdir() or
2532035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
2542035SN/A</para>
2552035SN/A</change>
2562035SN/A
2572040SN/A<change type="bugfix">
2582040SN/A<para>
2592041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
2602041SN/A</para>
2612041SN/A</change>
2622041SN/A
2632029SN/A</changes>
2642029SN/A
2652029SN/A
2661973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
2672007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2681973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2691973Sdefan@nginx.com
2701973Sdefan@nginx.com<change>
2711973Sdefan@nginx.com<para>
2721973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
2731973Sdefan@nginx.com</para>
2741973Sdefan@nginx.com</change>
2751973Sdefan@nginx.com
2761973Sdefan@nginx.com</changes>
2771973Sdefan@nginx.com
2781973Sdefan@nginx.com
2791973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
2802007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2811973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2821973Sdefan@nginx.com
2831973Sdefan@nginx.com<change>
2841973Sdefan@nginx.com<para>
2851973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
2861973Sdefan@nginx.com</para>
2871973Sdefan@nginx.com</change>
2881973Sdefan@nginx.com
2891973Sdefan@nginx.com</changes>
2901973Sdefan@nginx.com
2911973Sdefan@nginx.com
2921896Svbart@nginx.com<changes apply="unit-php
2931896Svbart@nginx.com                unit-python unit-python2.7
2941896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2951896Svbart@nginx.com                unit-python3.8 unit-python3.9
2961896Svbart@nginx.com                unit-go
2971896Svbart@nginx.com                unit-perl
2981896Svbart@nginx.com                unit-ruby
2991896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3001896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3011951Svbart@nginx.com         ver="1.26.0" rev="1"
3022007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3031951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3041951Svbart@nginx.com
3051951Svbart@nginx.com<change>
3061951Svbart@nginx.com<para>
3071951Svbart@nginx.comNGINX Unit updated to 1.26.0.
3081951Svbart@nginx.com</para>
3091951Svbart@nginx.com</change>
3101951Svbart@nginx.com
3111951Svbart@nginx.com</changes>
3121951Svbart@nginx.com
3131951Svbart@nginx.com
3141951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
3152007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
3161951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3171951Svbart@nginx.com
3181960Sz.hong@f5.com<change type="change">
3191960Sz.hong@f5.com<para>
3201960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
3211960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
3221960Sz.hong@f5.com</para>
3231960Sz.hong@f5.com</change>
3241960Sz.hong@f5.com
3251960Sz.hong@f5.com<change type="feature">
3261960Sz.hong@f5.com<para>
3272006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
3282006Svbart@nginx.comwhen updating from previous versions.
3292006Svbart@nginx.com</para>
3302006Svbart@nginx.com</change>
3312006Svbart@nginx.com
3322006Svbart@nginx.com<change type="feature">
3332006Svbart@nginx.com<para>
3341960Sz.hong@f5.comvariables support in the "share" option.
3351960Sz.hong@f5.com</para>
3361960Sz.hong@f5.com</change>
3371960Sz.hong@f5.com
3381959Sz.hong@f5.com<change type="feature">
3391959Sz.hong@f5.com<para>
3401961Sz.hong@f5.commultiple paths in the "share" option.
3411961Sz.hong@f5.com</para>
3421961Sz.hong@f5.com</change>
3431961Sz.hong@f5.com
3441961Sz.hong@f5.com<change type="feature">
3451961Sz.hong@f5.com<para>
3461959Sz.hong@f5.comvariables support in the "chroot" option.
3471959Sz.hong@f5.com</para>
3481959Sz.hong@f5.com</change>
3491959Sz.hong@f5.com
3501969Sz.hong@f5.com<change type="feature">
3511969Sz.hong@f5.com<para>
3522006Svbart@nginx.comPHP opcache is shared between application processes.
3531969Sz.hong@f5.com</para>
3541969Sz.hong@f5.com</change>
3551969Sz.hong@f5.com
3561991Sz.hong@f5.com<change type="feature">
3571991Sz.hong@f5.com<para>
3581991Sz.hong@f5.comrequest routing by the query string.
3591991Sz.hong@f5.com</para>
3601991Sz.hong@f5.com</change>
3611991Sz.hong@f5.com
3621955Smax.romanov@nginx.com<change type="bugfix">
3631955Smax.romanov@nginx.com<para>
3642006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
3652006Svbart@nginx.comby asynchronous or multithreaded apps.
3661955Smax.romanov@nginx.com</para>
3671955Smax.romanov@nginx.com</change>
3681955Smax.romanov@nginx.com
3691956Smax.romanov@nginx.com<change type="bugfix">
3701956Smax.romanov@nginx.com<para>
3711956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
3721956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
3731956Smax.romanov@nginx.com</para>
3741956Smax.romanov@nginx.com</change>
3751956Smax.romanov@nginx.com
3761992Smax.romanov@nginx.com<change type="bugfix">
3771992Smax.romanov@nginx.com<para>
3782006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
3791992Smax.romanov@nginx.com</para>
3801992Smax.romanov@nginx.com</change>
3811992Smax.romanov@nginx.com
3821951Svbart@nginx.com</changes>
3831951Svbart@nginx.com
3841951Svbart@nginx.com
3851951Svbart@nginx.com<changes apply="unit-php
3861951Svbart@nginx.com                unit-python unit-python2.7
3871951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3881951Svbart@nginx.com                unit-python3.8 unit-python3.9
3891951Svbart@nginx.com                unit-go
3901951Svbart@nginx.com                unit-perl
3911951Svbart@nginx.com                unit-ruby
3921951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3931951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3941896Svbart@nginx.com         ver="1.25.0" rev="1"
3951945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3961896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3971896Svbart@nginx.com
3981896Svbart@nginx.com<change>
3991896Svbart@nginx.com<para>
4001896Svbart@nginx.comNGINX Unit updated to 1.25.0.
4011896Svbart@nginx.com</para>
4021896Svbart@nginx.com</change>
4031896Svbart@nginx.com
4041896Svbart@nginx.com</changes>
4051896Svbart@nginx.com
4061896Svbart@nginx.com
4071896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
4081945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
4091896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4101896Svbart@nginx.com
4111910So.canty@f5.com<change type="feature">
4121910So.canty@f5.com<para>
4131944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
4141942Sa.suvorov@f5.com</para>
4151942Sa.suvorov@f5.com</change>
4161942Sa.suvorov@f5.com
4171942Sa.suvorov@f5.com<change type="feature">
4181942Sa.suvorov@f5.com<para>
4191920Sa.suvorov@f5.comTLS sessions cache.
4201920Sa.suvorov@f5.com</para>
4211920Sa.suvorov@f5.com</change>
4221920Sa.suvorov@f5.com
4231920Sa.suvorov@f5.com<change type="feature">
4241920Sa.suvorov@f5.com<para>
4251944Svbart@nginx.comTLS session tickets.
4261910So.canty@f5.com</para>
4271910So.canty@f5.com</change>
4281910So.canty@f5.com
4291926Smax.romanov@nginx.com<change type="feature">
4301926Smax.romanov@nginx.com<para>
4311926Smax.romanov@nginx.comapplication restart control.
4321926Smax.romanov@nginx.com</para>
4331926Smax.romanov@nginx.com</change>
4341926Smax.romanov@nginx.com
4351936So.canty@f5.com<change type="feature">
4361936So.canty@f5.com<para>
4371944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
4381936So.canty@f5.com</para>
4391936So.canty@f5.com</change>
4401936So.canty@f5.com
4411907Smax.romanov@nginx.com<change type="bugfix">
4421907Smax.romanov@nginx.com<para>
4431944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
4441944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
4451921Sa.suvorov@f5.com</para>
4461921Sa.suvorov@f5.com</change>
4471921Sa.suvorov@f5.com
4481921Sa.suvorov@f5.com<change type="bugfix">
4491921Sa.suvorov@f5.com<para>
4501944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
4511944Svbart@nginx.combundles in a listener if the client did not use SNI.
4521907Smax.romanov@nginx.com</para>
4531907Smax.romanov@nginx.com</change>
4541907Smax.romanov@nginx.com
4551907Smax.romanov@nginx.com<change type="bugfix">
4561907Smax.romanov@nginx.com<para>
4571950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
4581915Smax.romanov@nginx.comreconfiguration.
4591915Smax.romanov@nginx.com</para>
4601915Smax.romanov@nginx.com</change>
4611915Smax.romanov@nginx.com
4621915Smax.romanov@nginx.com<change type="bugfix">
4631915Smax.romanov@nginx.com<para>
4641944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
4651944Svbart@nginx.comframework.
4661944Svbart@nginx.com</para>
4671944Svbart@nginx.com</change>
4681944Svbart@nginx.com
4691944Svbart@nginx.com<change type="bugfix">
4701944Svbart@nginx.com<para>
4711944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
4721944Svbart@nginx.comstopped or crashed.
4731907Smax.romanov@nginx.com</para>
4741907Smax.romanov@nginx.com</change>
4751907Smax.romanov@nginx.com
4761909So.canty@f5.com<change type="bugfix">
4771909So.canty@f5.com<para>
4781909So.canty@f5.comthe controller or router process could crash if the configuration contained
4791909So.canty@f5.coma full-form IPv6 in a listener address.
4801909So.canty@f5.com</para>
4811909So.canty@f5.com</change>
4821909So.canty@f5.com
4831916Smax.romanov@nginx.com<change type="bugfix">
4841916Smax.romanov@nginx.com<para>
4851929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
4861929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
4871929Sz.hong@f5.com</para>
4881929Sz.hong@f5.com</change>
4891929Sz.hong@f5.com
4901930So.canty@f5.com<change type="bugfix">
4911930So.canty@f5.com<para>
4921944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
4931944Svbart@nginx.comor destination address patterns.
4941930So.canty@f5.com</para>
4951930So.canty@f5.com</change>
4961930So.canty@f5.com
4971896Svbart@nginx.com</changes>
4981896Svbart@nginx.com
4991896Svbart@nginx.com
5001887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
5011891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5021887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5031887Sdefan@nginx.com
5041887Sdefan@nginx.com<change>
5051887Sdefan@nginx.com<para>
5061887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
5071887Sdefan@nginx.com</para>
5081887Sdefan@nginx.com</change>
5091887Sdefan@nginx.com
5101887Sdefan@nginx.com</changes>
5111887Sdefan@nginx.com
5121887Sdefan@nginx.com
5131887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
5141891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5151887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5161887Sdefan@nginx.com
5171887Sdefan@nginx.com<change>
5181887Sdefan@nginx.com<para>
5191887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
5201887Sdefan@nginx.com</para>
5211887Sdefan@nginx.com</change>
5221887Sdefan@nginx.com
5231887Sdefan@nginx.com</changes>
5241887Sdefan@nginx.com
5251887Sdefan@nginx.com
5261834Svbart@nginx.com<changes apply="unit-php
5271834Svbart@nginx.com                unit-python unit-python2.7
5281834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5291834Svbart@nginx.com                unit-python3.8 unit-python3.9
5301834Svbart@nginx.com                unit-go
5311834Svbart@nginx.com                unit-perl
5321834Svbart@nginx.com                unit-ruby
5331834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5341834Svbart@nginx.com                unit-jsc14 unit-jsc15"
5351839Svbart@nginx.com         ver="1.24.0" rev="1"
5361891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5371839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5381839Svbart@nginx.com
5391839Svbart@nginx.com<change>
5401839Svbart@nginx.com<para>
5411839Svbart@nginx.comNGINX Unit updated to 1.24.0.
5421839Svbart@nginx.com</para>
5431839Svbart@nginx.com</change>
5441839Svbart@nginx.com
5451839Svbart@nginx.com</changes>
5461839Svbart@nginx.com
5471839Svbart@nginx.com
5481839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
5491891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5501839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5511839Svbart@nginx.com
5521882So.canty@f5.com<change type="change">
5531882So.canty@f5.com<para>
5541882So.canty@f5.comPHP added to the default MIME type list.
5551882So.canty@f5.com</para>
5561882So.canty@f5.com</change>
5571882So.canty@f5.com
5581855Sz.hong@f5.com<change type="feature">
5591855Sz.hong@f5.com<para>
5601885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
5611885Sa.suvorov@f5.com</para>
5621885Sa.suvorov@f5.com</change>
5631885Sa.suvorov@f5.com
5641885Sa.suvorov@f5.com<change type="feature">
5651885Sa.suvorov@f5.com<para>
5661890Svbart@nginx.comthe ability to limit static file serving by MIME types.
5671890Svbart@nginx.com</para>
5681890Svbart@nginx.com</change>
5691890Svbart@nginx.com
5701890Svbart@nginx.com<change type="feature">
5711890Svbart@nginx.com<para>
5721890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
5731890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
5741872So.canty@f5.com</para>
5751872So.canty@f5.com</change>
5761872So.canty@f5.com
5771872So.canty@f5.com<change type="feature">
5781872So.canty@f5.com<para>
5791889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
5801889Sartem.konev@nginx.comNode.js.
5811865So.canty@f5.com</para>
5821865So.canty@f5.com</change>
5831865So.canty@f5.com
5841865So.canty@f5.com<change type="feature">
5851865So.canty@f5.com<para>
5861890Svbart@nginx.commultiple "targets" in Python applications.
5871855Sz.hong@f5.com</para>
5881855Sz.hong@f5.com</change>
5891855Sz.hong@f5.com
5901870So.canty@f5.com<change type="feature">
5911870So.canty@f5.com<para>
5921870So.canty@f5.comcompatibility with Ruby 3.0.
5931870So.canty@f5.com</para>
5941870So.canty@f5.com</change>
5951870So.canty@f5.com
5961861Svbart@nginx.com<change type="bugfix">
5971861Svbart@nginx.com<para>
5981889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
5991884Sa.suvorov@f5.com</para>
6001884Sa.suvorov@f5.com</change>
6011884Sa.suvorov@f5.com
6021884Sa.suvorov@f5.com<change type="bugfix">
6031884Sa.suvorov@f5.com<para>
6041861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
6051861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
6061861Svbart@nginx.com</para>
6071861Svbart@nginx.com</change>
6081861Svbart@nginx.com
6091839Svbart@nginx.com</changes>
6101839Svbart@nginx.com
6111839Svbart@nginx.com
6121839Svbart@nginx.com<changes apply="unit-php
6131839Svbart@nginx.com                unit-python unit-python2.7
6141839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6151839Svbart@nginx.com                unit-python3.8 unit-python3.9
6161839Svbart@nginx.com                unit-go
6171839Svbart@nginx.com                unit-perl
6181839Svbart@nginx.com                unit-ruby
6191839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6201839Svbart@nginx.com                unit-jsc14 unit-jsc15"
6211834Svbart@nginx.com         ver="1.23.0" rev="1"
6221834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6231834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6241834Svbart@nginx.com
6251834Svbart@nginx.com<change>
6261834Svbart@nginx.com<para>
6271834Svbart@nginx.comNGINX Unit updated to 1.23.0.
6281834Svbart@nginx.com</para>
6291834Svbart@nginx.com</change>
6301834Svbart@nginx.com
6311834Svbart@nginx.com</changes>
6321834Svbart@nginx.com
6331834Svbart@nginx.com
6341806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
6351834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6361806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6371806Svbart@nginx.com
6381825Sthresh@nginx.com<change type="feature">
6391825Sthresh@nginx.com<para>
6401833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
6411828Sa.suvorov@f5.comIndication (SNI) TLS extension.
6421828Sa.suvorov@f5.com</para>
6431828Sa.suvorov@f5.com</change>
6441828Sa.suvorov@f5.com
6451828Sa.suvorov@f5.com<change type="feature">
6461828Sa.suvorov@f5.com<para>
6471833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
6481833Sartem.konev@nginx.cominstallation.
6491825Sthresh@nginx.com</para>
6501825Sthresh@nginx.com</change>
6511825Sthresh@nginx.com
6521811Smax.romanov@nginx.com<change type="bugfix">
6531811Smax.romanov@nginx.com<para>
6541812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
6551812Svbart@nginx.comappeared in 1.17.0.
6561812Svbart@nginx.com</para>
6571812Svbart@nginx.com</change>
6581812Svbart@nginx.com
6591812Svbart@nginx.com<change type="bugfix">
6601812Svbart@nginx.com<para>
6611833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
6621812Svbart@nginx.comappeared in 1.6.
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 descriptor and memory leak occurred in the router process when processing
6691832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
6701832Smax.romanov@nginx.com</para>
6711832Smax.romanov@nginx.com</change>
6721832Smax.romanov@nginx.com
6731832Smax.romanov@nginx.com<change type="bugfix">
6741832Smax.romanov@nginx.com<para>
6751833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
6761811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
6771811Smax.romanov@nginx.com</para>
6781811Smax.romanov@nginx.com</change>
6791806Svbart@nginx.com
6801813Svbart@nginx.com<change type="bugfix">
6811813Svbart@nginx.com<para>
6821813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
6831813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
6841813Svbart@nginx.com</para>
6851813Svbart@nginx.com</change>
6861813Svbart@nginx.com
6871814Svbart@nginx.com<change type="bugfix">
6881814Svbart@nginx.com<para>
6891820Svbart@nginx.comthe controller process could crash while requesting information about a
6901820Svbart@nginx.comcertificate with a non-DNS SAN entry.
6911820Svbart@nginx.com</para>
6921820Svbart@nginx.com</change>
6931820Svbart@nginx.com
6941820Svbart@nginx.com<change type="bugfix">
6951820Svbart@nginx.com<para>
6961822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
6971833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
6981822Svbart@nginx.com</para>
6991822Svbart@nginx.com</change>
7001822Svbart@nginx.com
7011822Svbart@nginx.com<change type="bugfix">
7021822Svbart@nginx.com<para>
7031833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
7041833Sartem.konev@nginx.comclass.
7051814Svbart@nginx.com</para>
7061814Svbart@nginx.com</change>
7071814Svbart@nginx.com
7081815Svbart@nginx.com<change type="bugfix">
7091815Svbart@nginx.com<para>
7101815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
7111815Svbart@nginx.comappeared in 1.22.0.
7121815Svbart@nginx.com</para>
7131815Svbart@nginx.com</change>
7141815Svbart@nginx.com
7151806Svbart@nginx.com</changes>
7161806Svbart@nginx.com
7171806Svbart@nginx.com
7181798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
7191798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7201798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7211798Sdefan@nginx.com
7221798Sdefan@nginx.com<change>
7231798Sdefan@nginx.com<para>
7241798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
7251798Sdefan@nginx.com</para>
7261798Sdefan@nginx.com</change>
7271798Sdefan@nginx.com
7281798Sdefan@nginx.com</changes>
7291798Sdefan@nginx.com
7301798Sdefan@nginx.com
7311763Sdefan@nginx.com<changes apply="unit-php
7321763Sdefan@nginx.com                unit-python unit-python2.7
7331763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7341763Sdefan@nginx.com                unit-python3.8
7351763Sdefan@nginx.com                unit-go
7361763Sdefan@nginx.com                unit-perl
7371763Sdefan@nginx.com                unit-ruby
7381763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
7391763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
7401763Sdefan@nginx.com         ver="1.22.0" rev="1"
7411793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7421763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7431763Sdefan@nginx.com
7441763Sdefan@nginx.com<change>
7451763Sdefan@nginx.com<para>
7461763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
7471763Sdefan@nginx.com</para>
7481763Sdefan@nginx.com</change>
7491763Sdefan@nginx.com
7501763Sdefan@nginx.com</changes>
7511763Sdefan@nginx.com
7521763Sdefan@nginx.com
7531727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
7541793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7551727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7561727Svbart@nginx.com
7571759Svbart@nginx.com<change type="feature">
7581759Svbart@nginx.com<para>
7591792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
7601792Svbart@nginx.comcompliant with Stream API.
7611759Svbart@nginx.com</para>
7621759Svbart@nginx.com</change>
7631759Svbart@nginx.com
7641766Smax.romanov@nginx.com<change type="feature">
7651766Smax.romanov@nginx.com<para>
7661792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
7671792Svbart@nginx.comapps.
7681732Svbart@nginx.com</para>
7691732Svbart@nginx.com</change>
7701732Svbart@nginx.com
7711733Svbart@nginx.com<change type="bugfix">
7721733Svbart@nginx.com<para>
7731792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
7741792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
7751754Smax.romanov@nginx.com</para>
7761754Smax.romanov@nginx.com</change>
7771754Smax.romanov@nginx.com
7781755Smax.romanov@nginx.com<change type="bugfix">
7791755Smax.romanov@nginx.com<para>
7801790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
7811755Smax.romanov@nginx.comappeared in 1.19.0.
7821755Smax.romanov@nginx.com</para>
7831755Smax.romanov@nginx.com</change>
7841755Smax.romanov@nginx.com
7851756Smax.romanov@nginx.com<change type="bugfix">
7861756Smax.romanov@nginx.com<para>
7871790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
7881790Sartem.konev@nginx.comappeared in 1.19.0.
7891756Smax.romanov@nginx.com</para>
7901756Smax.romanov@nginx.com</change>
7911756Smax.romanov@nginx.com
7921760Smax.romanov@nginx.com<change type="bugfix">
7931760Smax.romanov@nginx.com<para>
7941792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
7951792Svbart@nginx.com</para>
7961792Svbart@nginx.com</change>
7971792Svbart@nginx.com
7981792Svbart@nginx.com<change type="bugfix">
7991792Svbart@nginx.com<para>
8001792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
8011792Svbart@nginx.commissing in the PHP module.
8021792Svbart@nginx.com</para>
8031792Svbart@nginx.com</change>
8041792Svbart@nginx.com
8051792Svbart@nginx.com<change type="bugfix">
8061792Svbart@nginx.com<para>
8071792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
8081792Svbart@nginx.com</para>
8091792Svbart@nginx.com</change>
8101792Svbart@nginx.com
8111792Svbart@nginx.com<change type="bugfix">
8121792Svbart@nginx.com<para>
8131792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
8141792Svbart@nginx.com</para>
8151792Svbart@nginx.com</change>
8161792Svbart@nginx.com
8171792Svbart@nginx.com<change type="bugfix">
8181792Svbart@nginx.com<para>
8191792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
8201792Svbart@nginx.comthe bug had appeared in 1.21.0.
8211760Smax.romanov@nginx.com</para>
8221760Smax.romanov@nginx.com</change>
8231760Smax.romanov@nginx.com
8241780Smax.romanov@nginx.com<change type="bugfix">
8251780Smax.romanov@nginx.com<para>
8261790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
8271790Sartem.konev@nginx.comWebSocket.
8281780Smax.romanov@nginx.com</para>
8291780Smax.romanov@nginx.com</change>
8301780Smax.romanov@nginx.com
8311789Smax.romanov@nginx.com<change type="bugfix">
8321789Smax.romanov@nginx.com<para>
8331789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
8341789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
8351789Smax.romanov@nginx.com</para>
8361789Smax.romanov@nginx.com</change>
8371789Smax.romanov@nginx.com
8381727Svbart@nginx.com</changes>
8391727Svbart@nginx.com
8401727Svbart@nginx.com
8411722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
8421722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8431722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8441722Svbart@nginx.com
8451722Svbart@nginx.com<change>
8461722Svbart@nginx.com<para>
8471722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
8481722Svbart@nginx.com</para>
8491722Svbart@nginx.com</change>
8501722Svbart@nginx.com
8511722Svbart@nginx.com</changes>
8521722Svbart@nginx.com
8531722Svbart@nginx.com
8541722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
8551722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8561722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8571722Svbart@nginx.com
8581722Svbart@nginx.com<change>
8591722Svbart@nginx.com<para>
8601722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
8611722Svbart@nginx.com</para>
8621722Svbart@nginx.com</change>
8631722Svbart@nginx.com
8641722Svbart@nginx.com</changes>
8651722Svbart@nginx.com
8661722Svbart@nginx.com
8671722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
8681722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8691722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8701722Svbart@nginx.com
8711722Svbart@nginx.com<change>
8721722Svbart@nginx.com<para>
8731722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
8741722Svbart@nginx.com</para>
8751722Svbart@nginx.com</change>
8761722Svbart@nginx.com
8771722Svbart@nginx.com</changes>
8781722Svbart@nginx.com
8791722Svbart@nginx.com
8801722Svbart@nginx.com<changes apply="unit-php
8811722Svbart@nginx.com                unit-python unit-python2.7
8821722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8831722Svbart@nginx.com                unit-python3.8
8841722Svbart@nginx.com                unit-go
8851722Svbart@nginx.com                unit-perl
8861722Svbart@nginx.com                unit-ruby
8871722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8881722Svbart@nginx.com         ver="1.21.0" rev="1"
8891722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8901722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8911722Svbart@nginx.com
8921722Svbart@nginx.com<change>
8931722Svbart@nginx.com<para>
8941722Svbart@nginx.comNGINX Unit updated to 1.21.0.
8951722Svbart@nginx.com</para>
8961722Svbart@nginx.com</change>
8971722Svbart@nginx.com
8981722Svbart@nginx.com</changes>
8991722Svbart@nginx.com
9001722Svbart@nginx.com
9011722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
9021722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
9031722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9041722Svbart@nginx.com
9051722Svbart@nginx.com<change type="change">
9061722Svbart@nginx.com<para>
9071722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
9081722Svbart@nginx.com</para>
9091722Svbart@nginx.com</change>
9101722Svbart@nginx.com
9111722Svbart@nginx.com<change type="change">
9121722Svbart@nginx.com<para>
9131722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
9141722Svbart@nginx.comnames.
9151722Svbart@nginx.com</para>
9161722Svbart@nginx.com</change>
9171722Svbart@nginx.com
9181722Svbart@nginx.com<change type="change">
9191722Svbart@nginx.com<para>
9201722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
9211722Svbart@nginx.comdefault.
9221722Svbart@nginx.com</para>
9231722Svbart@nginx.com</change>
9241722Svbart@nginx.com
9251722Svbart@nginx.com<change type="feature">
9261722Svbart@nginx.com<para>
9271722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
9281722Svbart@nginx.com</para>
9291722Svbart@nginx.com</change>
9301722Svbart@nginx.com
9311722Svbart@nginx.com<change type="feature">
9321722Svbart@nginx.com<para>
9331722Svbart@nginx.comregular expressions in route matching patterns.
9341722Svbart@nginx.com</para>
9351722Svbart@nginx.com</change>
9361722Svbart@nginx.com
9371722Svbart@nginx.com<change type="feature">
9381722Svbart@nginx.com<para>
9391722Svbart@nginx.comcompatibility with Python 3.9.
9401722Svbart@nginx.com</para>
9411722Svbart@nginx.com</change>
9421722Svbart@nginx.com
9431722Svbart@nginx.com<change type="feature">
9441722Svbart@nginx.com<para>
9451722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
9461722Svbart@nginx.com</para>
9471722Svbart@nginx.com</change>
9481722Svbart@nginx.com
9491722Svbart@nginx.com<change type="feature">
9501722Svbart@nginx.com<para>
9511722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
9521722Svbart@nginx.com</para>
9531722Svbart@nginx.com</change>
9541722Svbart@nginx.com
9551722Svbart@nginx.com<change type="feature">
9561722Svbart@nginx.com<para>
9571722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
9581722Svbart@nginx.comcontinues code execution without holding onto the client connection.
9591722Svbart@nginx.com</para>
9601722Svbart@nginx.com</change>
9611722Sv