xref: /unit/docs/changes.xml (revision 2164)
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
342133Sz.hong@f5.com<change type="feature">
352133Sz.hong@f5.com<para>
362161Salx.manpages@gmail.comsupporting UNIX sockets in address matching.
372161Salx.manpages@gmail.com</para>
382161Salx.manpages@gmail.com</change>
392161Salx.manpages@gmail.com
402161Salx.manpages@gmail.com<change type="feature">
412161Salx.manpages@gmail.com<para>
422133Sz.hong@f5.comforwarded header to replace client address and protocol.
432133Sz.hong@f5.com</para>
442133Sz.hong@f5.com</change>
452133Sz.hong@f5.com
462147Sz.hong@f5.com<change type="feature">
472147Sz.hong@f5.com<para>
482147Sz.hong@f5.comability to get dynamic variables.
492147Sz.hong@f5.com</para>
502147Sz.hong@f5.com</change>
512147Sz.hong@f5.com
522149Sz.hong@f5.com<change type="feature">
532149Sz.hong@f5.com<para>
542149Sz.hong@f5.commore http variables support.
552149Sz.hong@f5.com</para>
562149Sz.hong@f5.com</change>
572149Sz.hong@f5.com
582161Salx.manpages@gmail.com<change type="feature">
592161Salx.manpages@gmail.com<para>
602161Salx.manpages@gmail.comadded a new variable, $dollar, that translates to a literal "$" during
612162Salx.manpages@gmail.comvariable substitution.
622161Salx.manpages@gmail.com</para>
632161Salx.manpages@gmail.com</change>
642161Salx.manpages@gmail.com
652137Salx.manpages@gmail.com<change type="bugfix">
662137Salx.manpages@gmail.com<para>
672137Salx.manpages@gmail.coman index file that didn't contain a file extension was incorrectly
682137Salx.manpages@gmail.comhandled, and caused a use-after-free bug.
692137Salx.manpages@gmail.com</para>
702137Salx.manpages@gmail.com</change>
712137Salx.manpages@gmail.com
722145Stippexs91@googlemail.com<change type="change">
732145Stippexs91@googlemail.com<para>
742145Stippexs91@googlemail.comincreased the applications' startup timeout.
752145Stippexs91@googlemail.com</para>
762145Stippexs91@googlemail.com</change>
772145Stippexs91@googlemail.com
782163Salx.manpages@gmail.com<change type="bugfix">
792163Salx.manpages@gmail.com<para>
802163Salx.manpages@gmail.comforce SCRIPT_NAME in Ruby to always be an empty string.
812163Salx.manpages@gmail.com</para>
822163Salx.manpages@gmail.com</change>
832163Salx.manpages@gmail.com
84*2164Sz.hong@f5.com<change type="bugfix">
85*2164Sz.hong@f5.com<para>
86*2164Sz.hong@f5.comthe ruby application process could crash if it's interrupted by SIGTERM signal.
87*2164Sz.hong@f5.com</para>
88*2164Sz.hong@f5.com</change>
89*2164Sz.hong@f5.com
902129Szelenkov@nginx.com</changes>
912129Szelenkov@nginx.com
922129Szelenkov@nginx.com
932129Szelenkov@nginx.com<changes apply="unit-php
942129Szelenkov@nginx.com                unit-python unit-python2.7
952129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
962129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
972129Szelenkov@nginx.com                unit-go
982129Szelenkov@nginx.com                unit-perl
992129Szelenkov@nginx.com                unit-ruby
1002129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1012129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1022012Svbart@nginx.com         ver="1.27.0" rev="1"
1032127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
1042012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1052012Svbart@nginx.com
1062012Svbart@nginx.com<change>
1072012Svbart@nginx.com<para>
1082012Svbart@nginx.comNGINX Unit updated to 1.27.0.
1092012Svbart@nginx.com</para>
1102012Svbart@nginx.com</change>
1112012Svbart@nginx.com
1122012Svbart@nginx.com</changes>
1132012Svbart@nginx.com
1142012Svbart@nginx.com
1152012Svbart@nginx.com<changes apply="unit" 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
1192072Sz.hong@f5.com<change type="feature">
1202072Sz.hong@f5.com<para>
1212108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
1222108Salx.manpages@gmail.com</para>
1232108Salx.manpages@gmail.com</change>
1242108Salx.manpages@gmail.com
1252108Salx.manpages@gmail.com<change type="feature">
1262108Salx.manpages@gmail.com<para>
1272081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
1282081Salx.manpages@gmail.com</para>
1292081Salx.manpages@gmail.com</change>
1302081Salx.manpages@gmail.com
1312081Salx.manpages@gmail.com<change type="feature">
1322081Salx.manpages@gmail.com<para>
1332113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
1342113Sartem.konev@nginx.com</para>
1352113Sartem.konev@nginx.com</change>
1362113Sartem.konev@nginx.com
1372113Sartem.konev@nginx.com<change type="feature">
1382113Sartem.konev@nginx.com<para>
1392113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
1402113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
1412113Sartem.konev@nginx.com</para>
1422113Sartem.konev@nginx.com</change>
1432113Sartem.konev@nginx.com
1442113Sartem.konev@nginx.com<change type="feature">
1452113Sartem.konev@nginx.com<para>
1462113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
1472110Salx.manpages@gmail.com</para>
1482110Salx.manpages@gmail.com</change>
1492110Salx.manpages@gmail.com
1502110Salx.manpages@gmail.com<change type="feature">
1512110Salx.manpages@gmail.com<para>
1522072Sz.hong@f5.comcompatibility with GCC 12.
1532072Sz.hong@f5.com</para>
1542072Sz.hong@f5.com</change>
1552072Sz.hong@f5.com
1562060Smax.romanov@nginx.com<change type="bugfix">
1572060Smax.romanov@nginx.com<para>
1582093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
1592093Sz.hong@f5.com</para>
1602093Sz.hong@f5.com</change>
1612093Sz.hong@f5.com
1622093Sz.hong@f5.com<change type="bugfix">
1632093Sz.hong@f5.com<para>
1642113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
1652069Sz.hong@f5.comcertificates was uploaded.
1662069Sz.hong@f5.com</para>
1672069Sz.hong@f5.com</change>
1682069Sz.hong@f5.com
1692069Sz.hong@f5.com<change type="bugfix">
1702069Sz.hong@f5.com<para>
1712060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
1722060Smax.romanov@nginx.com</para>
1732060Smax.romanov@nginx.com</change>
1742060Smax.romanov@nginx.com
1752061Smax.romanov@nginx.com<change type="bugfix">
1762061Smax.romanov@nginx.com<para>
1772061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
1782061Smax.romanov@nginx.com</para>
1792061Smax.romanov@nginx.com</change>
1802061Smax.romanov@nginx.com
1812067Smax.romanov@nginx.com<change type="bugfix">
1822067Smax.romanov@nginx.com<para>
1832067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
1842067Smax.romanov@nginx.comobject, notably with Falcon.
1852067Smax.romanov@nginx.com</para>
1862067Smax.romanov@nginx.com</change>
1872067Smax.romanov@nginx.com
1882117Szelenkov@nginx.com<change type="bugfix">
1892117Szelenkov@nginx.com<para>
1902117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
1912117Szelenkov@nginx.com</para>
1922117Szelenkov@nginx.com</change>
1932117Szelenkov@nginx.com
1942050Svbart@nginx.com</changes>
1952050Svbart@nginx.com
1962050Svbart@nginx.com
1972050Svbart@nginx.com<changes apply="unit-php
1982050Svbart@nginx.com                unit-python unit-python2.7
1992050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2002050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
2012050Svbart@nginx.com                unit-go
2022050Svbart@nginx.com                unit-perl
2032050Svbart@nginx.com                unit-ruby
2042050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2052050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
2062029SN/A         ver="1.26.1" rev="1"
2072045SN/A         date="2021-12-02" time="18:00:00 +0300"
2082029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2092029SN/A
2102029SN/A<change>
2112029SN/A<para>
2122029SN/ANGINX Unit updated to 1.26.1.
2132029SN/A</para>
2142029SN/A</change>
2152029SN/A
2162029SN/A</changes>
2172029SN/A
2182029SN/A
2192029SN/A<changes apply="unit" 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
2232033SN/A<change type="bugfix">
2242033SN/A<para>
2252044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
2262044SN/Aappeared in 1.26.0.
2272033SN/A</para>
2282033SN/A</change>
2292033SN/A
2302034SN/A<change type="bugfix">
2312034SN/A<para>
2322044SN/Aa prototype process could crash on an application process exit; the bug had
2332034SN/Aappeared in 1.26.0.
2342034SN/A</para>
2352034SN/A</change>
2362034SN/A
2372035SN/A<change type="bugfix">
2382035SN/A<para>
2392044SN/Athe router process crashed on reconfiguration if "access_log" was configured
2402044SN/Awithout listeners.
2412044SN/A</para>
2422044SN/A</change>
2432044SN/A
2442044SN/A<change type="bugfix">
2452044SN/A<para>
2462035SN/Aa segmentation fault occurred in the PHP module if chdir() or
2472035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
2482035SN/A</para>
2492035SN/A</change>
2502035SN/A
2512040SN/A<change type="bugfix">
2522040SN/A<para>
2532041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
2542041SN/A</para>
2552041SN/A</change>
2562041SN/A
2572029SN/A</changes>
2582029SN/A
2592029SN/A
2601973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
2612007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2621973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2631973Sdefan@nginx.com
2641973Sdefan@nginx.com<change>
2651973Sdefan@nginx.com<para>
2661973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
2671973Sdefan@nginx.com</para>
2681973Sdefan@nginx.com</change>
2691973Sdefan@nginx.com
2701973Sdefan@nginx.com</changes>
2711973Sdefan@nginx.com
2721973Sdefan@nginx.com
2731973Sdefan@nginx.com<changes apply="unit-python3.10" 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 Python 3.10 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
2861896Svbart@nginx.com<changes apply="unit-php
2871896Svbart@nginx.com                unit-python unit-python2.7
2881896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2891896Svbart@nginx.com                unit-python3.8 unit-python3.9
2901896Svbart@nginx.com                unit-go
2911896Svbart@nginx.com                unit-perl
2921896Svbart@nginx.com                unit-ruby
2931896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2941896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2951951Svbart@nginx.com         ver="1.26.0" rev="1"
2962007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2971951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2981951Svbart@nginx.com
2991951Svbart@nginx.com<change>
3001951Svbart@nginx.com<para>
3011951Svbart@nginx.comNGINX Unit updated to 1.26.0.
3021951Svbart@nginx.com</para>
3031951Svbart@nginx.com</change>
3041951Svbart@nginx.com
3051951Svbart@nginx.com</changes>
3061951Svbart@nginx.com
3071951Svbart@nginx.com
3081951Svbart@nginx.com<changes apply="unit" 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
3121960Sz.hong@f5.com<change type="change">
3131960Sz.hong@f5.com<para>
3141960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
3151960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
3161960Sz.hong@f5.com</para>
3171960Sz.hong@f5.com</change>
3181960Sz.hong@f5.com
3191960Sz.hong@f5.com<change type="feature">
3201960Sz.hong@f5.com<para>
3212006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
3222006Svbart@nginx.comwhen updating from previous versions.
3232006Svbart@nginx.com</para>
3242006Svbart@nginx.com</change>
3252006Svbart@nginx.com
3262006Svbart@nginx.com<change type="feature">
3272006Svbart@nginx.com<para>
3281960Sz.hong@f5.comvariables support in the "share" option.
3291960Sz.hong@f5.com</para>
3301960Sz.hong@f5.com</change>
3311960Sz.hong@f5.com
3321959Sz.hong@f5.com<change type="feature">
3331959Sz.hong@f5.com<para>
3341961Sz.hong@f5.commultiple paths in the "share" option.
3351961Sz.hong@f5.com</para>
3361961Sz.hong@f5.com</change>
3371961Sz.hong@f5.com
3381961Sz.hong@f5.com<change type="feature">
3391961Sz.hong@f5.com<para>
3401959Sz.hong@f5.comvariables support in the "chroot" option.
3411959Sz.hong@f5.com</para>
3421959Sz.hong@f5.com</change>
3431959Sz.hong@f5.com
3441969Sz.hong@f5.com<change type="feature">
3451969Sz.hong@f5.com<para>
3462006Svbart@nginx.comPHP opcache is shared between application processes.
3471969Sz.hong@f5.com</para>
3481969Sz.hong@f5.com</change>
3491969Sz.hong@f5.com
3501991Sz.hong@f5.com<change type="feature">
3511991Sz.hong@f5.com<para>
3521991Sz.hong@f5.comrequest routing by the query string.
3531991Sz.hong@f5.com</para>
3541991Sz.hong@f5.com</change>
3551991Sz.hong@f5.com
3561955Smax.romanov@nginx.com<change type="bugfix">
3571955Smax.romanov@nginx.com<para>
3582006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
3592006Svbart@nginx.comby asynchronous or multithreaded apps.
3601955Smax.romanov@nginx.com</para>
3611955Smax.romanov@nginx.com</change>
3621955Smax.romanov@nginx.com
3631956Smax.romanov@nginx.com<change type="bugfix">
3641956Smax.romanov@nginx.com<para>
3651956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
3661956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
3671956Smax.romanov@nginx.com</para>
3681956Smax.romanov@nginx.com</change>
3691956Smax.romanov@nginx.com
3701992Smax.romanov@nginx.com<change type="bugfix">
3711992Smax.romanov@nginx.com<para>
3722006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
3731992Smax.romanov@nginx.com</para>
3741992Smax.romanov@nginx.com</change>
3751992Smax.romanov@nginx.com
3761951Svbart@nginx.com</changes>
3771951Svbart@nginx.com
3781951Svbart@nginx.com
3791951Svbart@nginx.com<changes apply="unit-php
3801951Svbart@nginx.com                unit-python unit-python2.7
3811951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3821951Svbart@nginx.com                unit-python3.8 unit-python3.9
3831951Svbart@nginx.com                unit-go
3841951Svbart@nginx.com                unit-perl
3851951Svbart@nginx.com                unit-ruby
3861951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3871951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3881896Svbart@nginx.com         ver="1.25.0" rev="1"
3891945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3901896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3911896Svbart@nginx.com
3921896Svbart@nginx.com<change>
3931896Svbart@nginx.com<para>
3941896Svbart@nginx.comNGINX Unit updated to 1.25.0.
3951896Svbart@nginx.com</para>
3961896Svbart@nginx.com</change>
3971896Svbart@nginx.com
3981896Svbart@nginx.com</changes>
3991896Svbart@nginx.com
4001896Svbart@nginx.com
4011896Svbart@nginx.com<changes apply="unit" 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
4051910So.canty@f5.com<change type="feature">
4061910So.canty@f5.com<para>
4071944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
4081942Sa.suvorov@f5.com</para>
4091942Sa.suvorov@f5.com</change>
4101942Sa.suvorov@f5.com
4111942Sa.suvorov@f5.com<change type="feature">
4121942Sa.suvorov@f5.com<para>
4131920Sa.suvorov@f5.comTLS sessions cache.
4141920Sa.suvorov@f5.com</para>
4151920Sa.suvorov@f5.com</change>
4161920Sa.suvorov@f5.com
4171920Sa.suvorov@f5.com<change type="feature">
4181920Sa.suvorov@f5.com<para>
4191944Svbart@nginx.comTLS session tickets.
4201910So.canty@f5.com</para>
4211910So.canty@f5.com</change>
4221910So.canty@f5.com
4231926Smax.romanov@nginx.com<change type="feature">
4241926Smax.romanov@nginx.com<para>
4251926Smax.romanov@nginx.comapplication restart control.
4261926Smax.romanov@nginx.com</para>
4271926Smax.romanov@nginx.com</change>
4281926Smax.romanov@nginx.com
4291936So.canty@f5.com<change type="feature">
4301936So.canty@f5.com<para>
4311944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
4321936So.canty@f5.com</para>
4331936So.canty@f5.com</change>
4341936So.canty@f5.com
4351907Smax.romanov@nginx.com<change type="bugfix">
4361907Smax.romanov@nginx.com<para>
4371944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
4381944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
4391921Sa.suvorov@f5.com</para>
4401921Sa.suvorov@f5.com</change>
4411921Sa.suvorov@f5.com
4421921Sa.suvorov@f5.com<change type="bugfix">
4431921Sa.suvorov@f5.com<para>
4441944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
4451944Svbart@nginx.combundles in a listener if the client did not use SNI.
4461907Smax.romanov@nginx.com</para>
4471907Smax.romanov@nginx.com</change>
4481907Smax.romanov@nginx.com
4491907Smax.romanov@nginx.com<change type="bugfix">
4501907Smax.romanov@nginx.com<para>
4511950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
4521915Smax.romanov@nginx.comreconfiguration.
4531915Smax.romanov@nginx.com</para>
4541915Smax.romanov@nginx.com</change>
4551915Smax.romanov@nginx.com
4561915Smax.romanov@nginx.com<change type="bugfix">
4571915Smax.romanov@nginx.com<para>
4581944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
4591944Svbart@nginx.comframework.
4601944Svbart@nginx.com</para>
4611944Svbart@nginx.com</change>
4621944Svbart@nginx.com
4631944Svbart@nginx.com<change type="bugfix">
4641944Svbart@nginx.com<para>
4651944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
4661944Svbart@nginx.comstopped or crashed.
4671907Smax.romanov@nginx.com</para>
4681907Smax.romanov@nginx.com</change>
4691907Smax.romanov@nginx.com
4701909So.canty@f5.com<change type="bugfix">
4711909So.canty@f5.com<para>
4721909So.canty@f5.comthe controller or router process could crash if the configuration contained
4731909So.canty@f5.coma full-form IPv6 in a listener address.
4741909So.canty@f5.com</para>
4751909So.canty@f5.com</change>
4761909So.canty@f5.com
4771916Smax.romanov@nginx.com<change type="bugfix">
4781916Smax.romanov@nginx.com<para>
4791929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
4801929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
4811929Sz.hong@f5.com</para>
4821929Sz.hong@f5.com</change>
4831929Sz.hong@f5.com
4841930So.canty@f5.com<change type="bugfix">
4851930So.canty@f5.com<para>
4861944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
4871944Svbart@nginx.comor destination address patterns.
4881930So.canty@f5.com</para>
4891930So.canty@f5.com</change>
4901930So.canty@f5.com
4911896Svbart@nginx.com</changes>
4921896Svbart@nginx.com
4931896Svbart@nginx.com
4941887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
4951891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4961887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4971887Sdefan@nginx.com
4981887Sdefan@nginx.com<change>
4991887Sdefan@nginx.com<para>
5001887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
5011887Sdefan@nginx.com</para>
5021887Sdefan@nginx.com</change>
5031887Sdefan@nginx.com
5041887Sdefan@nginx.com</changes>
5051887Sdefan@nginx.com
5061887Sdefan@nginx.com
5071887Sdefan@nginx.com<changes apply="unit-jsc16" 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 16 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
5201834Svbart@nginx.com<changes apply="unit-php
5211834Svbart@nginx.com                unit-python unit-python2.7
5221834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5231834Svbart@nginx.com                unit-python3.8 unit-python3.9
5241834Svbart@nginx.com                unit-go
5251834Svbart@nginx.com                unit-perl
5261834Svbart@nginx.com                unit-ruby
5271834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5281834Svbart@nginx.com                unit-jsc14 unit-jsc15"
5291839Svbart@nginx.com         ver="1.24.0" rev="1"
5301891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5311839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5321839Svbart@nginx.com
5331839Svbart@nginx.com<change>
5341839Svbart@nginx.com<para>
5351839Svbart@nginx.comNGINX Unit updated to 1.24.0.
5361839Svbart@nginx.com</para>
5371839Svbart@nginx.com</change>
5381839Svbart@nginx.com
5391839Svbart@nginx.com</changes>
5401839Svbart@nginx.com
5411839Svbart@nginx.com
5421839Svbart@nginx.com<changes apply="unit" 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
5461882So.canty@f5.com<change type="change">
5471882So.canty@f5.com<para>
5481882So.canty@f5.comPHP added to the default MIME type list.
5491882So.canty@f5.com</para>
5501882So.canty@f5.com</change>
5511882So.canty@f5.com
5521855Sz.hong@f5.com<change type="feature">
5531855Sz.hong@f5.com<para>
5541885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
5551885Sa.suvorov@f5.com</para>
5561885Sa.suvorov@f5.com</change>
5571885Sa.suvorov@f5.com
5581885Sa.suvorov@f5.com<change type="feature">
5591885Sa.suvorov@f5.com<para>
5601890Svbart@nginx.comthe ability to limit static file serving by MIME types.
5611890Svbart@nginx.com</para>
5621890Svbart@nginx.com</change>
5631890Svbart@nginx.com
5641890Svbart@nginx.com<change type="feature">
5651890Svbart@nginx.com<para>
5661890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
5671890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
5681872So.canty@f5.com</para>
5691872So.canty@f5.com</change>
5701872So.canty@f5.com
5711872So.canty@f5.com<change type="feature">
5721872So.canty@f5.com<para>
5731889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
5741889Sartem.konev@nginx.comNode.js.
5751865So.canty@f5.com</para>
5761865So.canty@f5.com</change>
5771865So.canty@f5.com
5781865So.canty@f5.com<change type="feature">
5791865So.canty@f5.com<para>
5801890Svbart@nginx.commultiple "targets" in Python applications.
5811855Sz.hong@f5.com</para>
5821855Sz.hong@f5.com</change>
5831855Sz.hong@f5.com
5841870So.canty@f5.com<change type="feature">
5851870So.canty@f5.com<para>
5861870So.canty@f5.comcompatibility with Ruby 3.0.
5871870So.canty@f5.com</para>
5881870So.canty@f5.com</change>
5891870So.canty@f5.com
5901861Svbart@nginx.com<change type="bugfix">
5911861Svbart@nginx.com<para>
5921889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
5931884Sa.suvorov@f5.com</para>
5941884Sa.suvorov@f5.com</change>
5951884Sa.suvorov@f5.com
5961884Sa.suvorov@f5.com<change type="bugfix">
5971884Sa.suvorov@f5.com<para>
5981861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
5991861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
6001861Svbart@nginx.com</para>
6011861Svbart@nginx.com</change>
6021861Svbart@nginx.com
6031839Svbart@nginx.com</changes>
6041839Svbart@nginx.com
6051839Svbart@nginx.com
6061839Svbart@nginx.com<changes apply="unit-php
6071839Svbart@nginx.com                unit-python unit-python2.7
6081839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6091839Svbart@nginx.com                unit-python3.8 unit-python3.9
6101839Svbart@nginx.com                unit-go
6111839Svbart@nginx.com                unit-perl
6121839Svbart@nginx.com                unit-ruby
6131839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6141839Svbart@nginx.com                unit-jsc14 unit-jsc15"
6151834Svbart@nginx.com         ver="1.23.0" rev="1"
6161834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6171834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6181834Svbart@nginx.com
6191834Svbart@nginx.com<change>
6201834Svbart@nginx.com<para>
6211834Svbart@nginx.comNGINX Unit updated to 1.23.0.
6221834Svbart@nginx.com</para>
6231834Svbart@nginx.com</change>
6241834Svbart@nginx.com
6251834Svbart@nginx.com</changes>
6261834Svbart@nginx.com
6271834Svbart@nginx.com
6281806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
6291834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
6301806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6311806Svbart@nginx.com
6321825Sthresh@nginx.com<change type="feature">
6331825Sthresh@nginx.com<para>
6341833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
6351828Sa.suvorov@f5.comIndication (SNI) TLS extension.
6361828Sa.suvorov@f5.com</para>
6371828Sa.suvorov@f5.com</change>
6381828Sa.suvorov@f5.com
6391828Sa.suvorov@f5.com<change type="feature">
6401828Sa.suvorov@f5.com<para>
6411833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
6421833Sartem.konev@nginx.cominstallation.
6431825Sthresh@nginx.com</para>
6441825Sthresh@nginx.com</change>
6451825Sthresh@nginx.com
6461811Smax.romanov@nginx.com<change type="bugfix">
6471811Smax.romanov@nginx.com<para>
6481812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
6491812Svbart@nginx.comappeared in 1.17.0.
6501812Svbart@nginx.com</para>
6511812Svbart@nginx.com</change>
6521812Svbart@nginx.com
6531812Svbart@nginx.com<change type="bugfix">
6541812Svbart@nginx.com<para>
6551833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
6561812Svbart@nginx.comappeared in 1.6.
6571812Svbart@nginx.com</para>
6581812Svbart@nginx.com</change>
6591812Svbart@nginx.com
6601812Svbart@nginx.com<change type="bugfix">
6611812Svbart@nginx.com<para>
6621833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
6631832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
6641832Smax.romanov@nginx.com</para>
6651832Smax.romanov@nginx.com</change>
6661832Smax.romanov@nginx.com
6671832Smax.romanov@nginx.com<change type="bugfix">
6681832Smax.romanov@nginx.com<para>
6691833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
6701811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
6711811Smax.romanov@nginx.com</para>
6721811Smax.romanov@nginx.com</change>
6731806Svbart@nginx.com
6741813Svbart@nginx.com<change type="bugfix">
6751813Svbart@nginx.com<para>
6761813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
6771813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
6781813Svbart@nginx.com</para>
6791813Svbart@nginx.com</change>
6801813Svbart@nginx.com
6811814Svbart@nginx.com<change type="bugfix">
6821814Svbart@nginx.com<para>
6831820Svbart@nginx.comthe controller process could crash while requesting information about a
6841820Svbart@nginx.comcertificate with a non-DNS SAN entry.
6851820Svbart@nginx.com</para>
6861820Svbart@nginx.com</change>
6871820Svbart@nginx.com
6881820Svbart@nginx.com<change type="bugfix">
6891820Svbart@nginx.com<para>
6901822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
6911833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
6921822Svbart@nginx.com</para>
6931822Svbart@nginx.com</change>
6941822Svbart@nginx.com
6951822Svbart@nginx.com<change type="bugfix">
6961822Svbart@nginx.com<para>
6971833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
6981833Sartem.konev@nginx.comclass.
6991814Svbart@nginx.com</para>
7001814Svbart@nginx.com</change>
7011814Svbart@nginx.com
7021815Svbart@nginx.com<change type="bugfix">
7031815Svbart@nginx.com<para>
7041815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
7051815Svbart@nginx.comappeared in 1.22.0.
7061815Svbart@nginx.com</para>
7071815Svbart@nginx.com</change>
7081815Svbart@nginx.com
7091806Svbart@nginx.com</changes>
7101806Svbart@nginx.com
7111806Svbart@nginx.com
7121798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
7131798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7141798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7151798Sdefan@nginx.com
7161798Sdefan@nginx.com<change>
7171798Sdefan@nginx.com<para>
7181798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
7191798Sdefan@nginx.com</para>
7201798Sdefan@nginx.com</change>
7211798Sdefan@nginx.com
7221798Sdefan@nginx.com</changes>
7231798Sdefan@nginx.com
7241798Sdefan@nginx.com
7251763Sdefan@nginx.com<changes apply="unit-php
7261763Sdefan@nginx.com                unit-python unit-python2.7
7271763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7281763Sdefan@nginx.com                unit-python3.8
7291763Sdefan@nginx.com                unit-go
7301763Sdefan@nginx.com                unit-perl
7311763Sdefan@nginx.com                unit-ruby
7321763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
7331763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
7341763Sdefan@nginx.com         ver="1.22.0" rev="1"
7351793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7361763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7371763Sdefan@nginx.com
7381763Sdefan@nginx.com<change>
7391763Sdefan@nginx.com<para>
7401763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
7411763Sdefan@nginx.com</para>
7421763Sdefan@nginx.com</change>
7431763Sdefan@nginx.com
7441763Sdefan@nginx.com</changes>
7451763Sdefan@nginx.com
7461763Sdefan@nginx.com
7471727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
7481793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7491727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7501727Svbart@nginx.com
7511759Svbart@nginx.com<change type="feature">
7521759Svbart@nginx.com<para>
7531792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
7541792Svbart@nginx.comcompliant with Stream API.
7551759Svbart@nginx.com</para>
7561759Svbart@nginx.com</change>
7571759Svbart@nginx.com
7581766Smax.romanov@nginx.com<change type="feature">
7591766Smax.romanov@nginx.com<para>
7601792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
7611792Svbart@nginx.comapps.
7621732Svbart@nginx.com</para>
7631732Svbart@nginx.com</change>
7641732Svbart@nginx.com
7651733Svbart@nginx.com<change type="bugfix">
7661733Svbart@nginx.com<para>
7671792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
7681792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
7691754Smax.romanov@nginx.com</para>
7701754Smax.romanov@nginx.com</change>
7711754Smax.romanov@nginx.com
7721755Smax.romanov@nginx.com<change type="bugfix">
7731755Smax.romanov@nginx.com<para>
7741790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
7751755Smax.romanov@nginx.comappeared in 1.19.0.
7761755Smax.romanov@nginx.com</para>
7771755Smax.romanov@nginx.com</change>
7781755Smax.romanov@nginx.com
7791756Smax.romanov@nginx.com<change type="bugfix">
7801756Smax.romanov@nginx.com<para>
7811790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
7821790Sartem.konev@nginx.comappeared in 1.19.0.
7831756Smax.romanov@nginx.com</para>
7841756Smax.romanov@nginx.com</change>
7851756Smax.romanov@nginx.com
7861760Smax.romanov@nginx.com<change type="bugfix">
7871760Smax.romanov@nginx.com<para>
7881792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
7891792Svbart@nginx.com</para>
7901792Svbart@nginx.com</change>
7911792Svbart@nginx.com
7921792Svbart@nginx.com<change type="bugfix">
7931792Svbart@nginx.com<para>
7941792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
7951792Svbart@nginx.commissing in the PHP module.
7961792Svbart@nginx.com</para>
7971792Svbart@nginx.com</change>
7981792Svbart@nginx.com
7991792Svbart@nginx.com<change type="bugfix">
8001792Svbart@nginx.com<para>
8011792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
8021792Svbart@nginx.com</para>
8031792Svbart@nginx.com</change>
8041792Svbart@nginx.com
8051792Svbart@nginx.com<change type="bugfix">
8061792Svbart@nginx.com<para>
8071792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
8081792Svbart@nginx.com</para>
8091792Svbart@nginx.com</change>
8101792Svbart@nginx.com
8111792Svbart@nginx.com<change type="bugfix">
8121792Svbart@nginx.com<para>
8131792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
8141792Svbart@nginx.comthe bug had appeared in 1.21.0.
8151760Smax.romanov@nginx.com</para>
8161760Smax.romanov@nginx.com</change>
8171760Smax.romanov@nginx.com
8181780Smax.romanov@nginx.com<change type="bugfix">
8191780Smax.romanov@nginx.com<para>
8201790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
8211790Sartem.konev@nginx.comWebSocket.
8221780Smax.romanov@nginx.com</para>
8231780Smax.romanov@nginx.com</change>
8241780Smax.romanov@nginx.com
8251789Smax.romanov@nginx.com<change type="bugfix">
8261789Smax.romanov@nginx.com<para>
8271789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
8281789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
8291789Smax.romanov@nginx.com</para>
8301789Smax.romanov@nginx.com</change>
8311789Smax.romanov@nginx.com
8321727Svbart@nginx.com</changes>
8331727Svbart@nginx.com
8341727Svbart@nginx.com
8351722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
8361722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8371722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8381722Svbart@nginx.com
8391722Svbart@nginx.com<change>
8401722Svbart@nginx.com<para>
8411722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
8421722Svbart@nginx.com</para>
8431722Svbart@nginx.com</change>
8441722Svbart@nginx.com
8451722Svbart@nginx.com</changes>
8461722Svbart@nginx.com
8471722Svbart@nginx.com
8481722Svbart@nginx.com<changes apply="unit-jsc14" 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 14 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-jsc13" 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 13 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-php
8751722Svbart@nginx.com                unit-python unit-python2.7
8761722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8771722Svbart@nginx.com                unit-python3.8
8781722Svbart@nginx.com                unit-go
8791722Svbart@nginx.com                unit-perl
8801722Svbart@nginx.com                unit-ruby
8811722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8821722Svbart@nginx.com         ver="1.21.0" rev="1"
8831722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8841722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8851722Svbart@nginx.com
8861722Svbart@nginx.com<change>
8871722Svbart@nginx.com<para>
8881722Svbart@nginx.comNGINX Unit updated to 1.21.0.
8891722Svbart@nginx.com</para>
8901722Svbart@nginx.com</change>
8911722Svbart@nginx.com
8921722Svbart@nginx.com</changes>
8931722Svbart@nginx.com
8941722Svbart@nginx.com
8951722Svbart@nginx.com<changes apply="unit" 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 type="change">
9001722Svbart@nginx.com<para>
9011722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
9021722Svbart@nginx.com</para>
9031722Svbart@nginx.com</change>
9041722Svbart@nginx.com
9051722Svbart@nginx.com<change type="change">
9061722Svbart@nginx.com<para>
9071722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
9081722Svbart@nginx.comnames.
9091722Svbart@nginx.com</para>
9101722Svbart@nginx.com</change>
9111722Svbart@nginx.com
9121722Svbart@nginx.com<change type="change">
9131722Svbart@nginx.com<para>
9141722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
9151722Svbart@nginx.comdefault.
9161722Svbart@nginx.com</para>
9171722Svbart@nginx.com</change>
9181722Svbart@nginx.com
9191722Svbart@nginx.com<change type="feature">
9201722Svbart@nginx.com<para>
9211722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
9221722Svbart@nginx.com</para>
9231722Svbart@nginx.com</change>
9241722Svbart@nginx.com
9251722Svbart@nginx.com<change type="feature">
9261722Svbart@nginx.com<para>
9271722Svbart@nginx.comregular expressions in route matching patterns.
9281722Svbart@nginx.com</para>
9291722Svbart@nginx.com</change>
9301722Svbart@nginx.com
9311722Svbart@nginx.com<change type="feature">
9321722Svbart@nginx.com<para>
9331722Svbart@nginx.comcompatibility with Python 3.9.
9341722Svbart@nginx.com</para>
9351722Svbart@nginx.com</change>
9361722Svbart@nginx.com
9371722Svbart@nginx.com<change type="feature">
9381722Svbart@nginx.com<para>
9391722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
9401722Svbart@nginx.com</para>
9411722Svbart@nginx.com</change>
9421722Svbart@nginx.com
9431722Svbart@nginx.com<change type="feature">
9441722Svbart@nginx.com<para>
9451722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
9461722Svbart@nginx.com</para>
9471722Svbart@nginx.com</change>
9481722Svbart@nginx.com
9491722Svbart@nginx.com<change type="feature">
9501722Svbart@nginx.com<para>
9511722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
9521722Svbart@nginx.comcontinues code execution without holding onto the client connection.
9531722Svbart@nginx.com</para>
9541722Svbart@nginx.com</change>
9551722Svbart@nginx.com
9561722Svbart@nginx.com<change type="feature">
9571722Svbart@nginx.com<para>
9581722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
9591722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
9601722Svbart@nginx.com</para>
961