xref: /unit/docs/changes.xml (revision 2147)
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>
362133Sz.hong@f5.comforwarded header to replace client address and protocol.
372133Sz.hong@f5.com</para>
382133Sz.hong@f5.com</change>
392133Sz.hong@f5.com
40*2147Sz.hong@f5.com<change type="feature">
41*2147Sz.hong@f5.com<para>
42*2147Sz.hong@f5.comability to get dynamic variables.
43*2147Sz.hong@f5.com</para>
44*2147Sz.hong@f5.com</change>
45*2147Sz.hong@f5.com
462137Salx.manpages@gmail.com<change type="bugfix">
472137Salx.manpages@gmail.com<para>
482137Salx.manpages@gmail.coman index file that didn't contain a file extension was incorrectly
492137Salx.manpages@gmail.comhandled, and caused a use-after-free bug.
502137Salx.manpages@gmail.com</para>
512137Salx.manpages@gmail.com</change>
522137Salx.manpages@gmail.com
532145Stippexs91@googlemail.com<change type="change">
542145Stippexs91@googlemail.com<para>
552145Stippexs91@googlemail.comincreased the applications' startup timeout.
562145Stippexs91@googlemail.com</para>
572145Stippexs91@googlemail.com</change>
582145Stippexs91@googlemail.com
592129Szelenkov@nginx.com</changes>
602129Szelenkov@nginx.com
612129Szelenkov@nginx.com
622129Szelenkov@nginx.com<changes apply="unit-php
632129Szelenkov@nginx.com                unit-python unit-python2.7
642129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
652129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
662129Szelenkov@nginx.com                unit-go
672129Szelenkov@nginx.com                unit-perl
682129Szelenkov@nginx.com                unit-ruby
692129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
702129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
712012Svbart@nginx.com         ver="1.27.0" rev="1"
722127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
732012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
742012Svbart@nginx.com
752012Svbart@nginx.com<change>
762012Svbart@nginx.com<para>
772012Svbart@nginx.comNGINX Unit updated to 1.27.0.
782012Svbart@nginx.com</para>
792012Svbart@nginx.com</change>
802012Svbart@nginx.com
812012Svbart@nginx.com</changes>
822012Svbart@nginx.com
832012Svbart@nginx.com
842012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
852127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
862012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
872012Svbart@nginx.com
882072Sz.hong@f5.com<change type="feature">
892072Sz.hong@f5.com<para>
902108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
912108Salx.manpages@gmail.com</para>
922108Salx.manpages@gmail.com</change>
932108Salx.manpages@gmail.com
942108Salx.manpages@gmail.com<change type="feature">
952108Salx.manpages@gmail.com<para>
962081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
972081Salx.manpages@gmail.com</para>
982081Salx.manpages@gmail.com</change>
992081Salx.manpages@gmail.com
1002081Salx.manpages@gmail.com<change type="feature">
1012081Salx.manpages@gmail.com<para>
1022113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
1032113Sartem.konev@nginx.com</para>
1042113Sartem.konev@nginx.com</change>
1052113Sartem.konev@nginx.com
1062113Sartem.konev@nginx.com<change type="feature">
1072113Sartem.konev@nginx.com<para>
1082113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
1092113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
1102113Sartem.konev@nginx.com</para>
1112113Sartem.konev@nginx.com</change>
1122113Sartem.konev@nginx.com
1132113Sartem.konev@nginx.com<change type="feature">
1142113Sartem.konev@nginx.com<para>
1152113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
1162110Salx.manpages@gmail.com</para>
1172110Salx.manpages@gmail.com</change>
1182110Salx.manpages@gmail.com
1192110Salx.manpages@gmail.com<change type="feature">
1202110Salx.manpages@gmail.com<para>
1212072Sz.hong@f5.comcompatibility with GCC 12.
1222072Sz.hong@f5.com</para>
1232072Sz.hong@f5.com</change>
1242072Sz.hong@f5.com
1252060Smax.romanov@nginx.com<change type="bugfix">
1262060Smax.romanov@nginx.com<para>
1272093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
1282093Sz.hong@f5.com</para>
1292093Sz.hong@f5.com</change>
1302093Sz.hong@f5.com
1312093Sz.hong@f5.com<change type="bugfix">
1322093Sz.hong@f5.com<para>
1332113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
1342069Sz.hong@f5.comcertificates was uploaded.
1352069Sz.hong@f5.com</para>
1362069Sz.hong@f5.com</change>
1372069Sz.hong@f5.com
1382069Sz.hong@f5.com<change type="bugfix">
1392069Sz.hong@f5.com<para>
1402060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
1412060Smax.romanov@nginx.com</para>
1422060Smax.romanov@nginx.com</change>
1432060Smax.romanov@nginx.com
1442061Smax.romanov@nginx.com<change type="bugfix">
1452061Smax.romanov@nginx.com<para>
1462061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
1472061Smax.romanov@nginx.com</para>
1482061Smax.romanov@nginx.com</change>
1492061Smax.romanov@nginx.com
1502067Smax.romanov@nginx.com<change type="bugfix">
1512067Smax.romanov@nginx.com<para>
1522067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
1532067Smax.romanov@nginx.comobject, notably with Falcon.
1542067Smax.romanov@nginx.com</para>
1552067Smax.romanov@nginx.com</change>
1562067Smax.romanov@nginx.com
1572117Szelenkov@nginx.com<change type="bugfix">
1582117Szelenkov@nginx.com<para>
1592117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
1602117Szelenkov@nginx.com</para>
1612117Szelenkov@nginx.com</change>
1622117Szelenkov@nginx.com
1632050Svbart@nginx.com</changes>
1642050Svbart@nginx.com
1652050Svbart@nginx.com
1662050Svbart@nginx.com<changes apply="unit-php
1672050Svbart@nginx.com                unit-python unit-python2.7
1682050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1692050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1702050Svbart@nginx.com                unit-go
1712050Svbart@nginx.com                unit-perl
1722050Svbart@nginx.com                unit-ruby
1732050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1742050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1752029SN/A         ver="1.26.1" rev="1"
1762045SN/A         date="2021-12-02" time="18:00:00 +0300"
1772029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1782029SN/A
1792029SN/A<change>
1802029SN/A<para>
1812029SN/ANGINX Unit updated to 1.26.1.
1822029SN/A</para>
1832029SN/A</change>
1842029SN/A
1852029SN/A</changes>
1862029SN/A
1872029SN/A
1882029SN/A<changes apply="unit" ver="1.26.1" rev="1"
1892045SN/A         date="2021-12-02" time="18:00:00 +0300"
1902029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1912029SN/A
1922033SN/A<change type="bugfix">
1932033SN/A<para>
1942044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
1952044SN/Aappeared in 1.26.0.
1962033SN/A</para>
1972033SN/A</change>
1982033SN/A
1992034SN/A<change type="bugfix">
2002034SN/A<para>
2012044SN/Aa prototype process could crash on an application process exit; the bug had
2022034SN/Aappeared in 1.26.0.
2032034SN/A</para>
2042034SN/A</change>
2052034SN/A
2062035SN/A<change type="bugfix">
2072035SN/A<para>
2082044SN/Athe router process crashed on reconfiguration if "access_log" was configured
2092044SN/Awithout listeners.
2102044SN/A</para>
2112044SN/A</change>
2122044SN/A
2132044SN/A<change type="bugfix">
2142044SN/A<para>
2152035SN/Aa segmentation fault occurred in the PHP module if chdir() or
2162035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
2172035SN/A</para>
2182035SN/A</change>
2192035SN/A
2202040SN/A<change type="bugfix">
2212040SN/A<para>
2222041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
2232041SN/A</para>
2242041SN/A</change>
2252041SN/A
2262029SN/A</changes>
2272029SN/A
2282029SN/A
2291973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
2302007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2311973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2321973Sdefan@nginx.com
2331973Sdefan@nginx.com<change>
2341973Sdefan@nginx.com<para>
2351973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
2361973Sdefan@nginx.com</para>
2371973Sdefan@nginx.com</change>
2381973Sdefan@nginx.com
2391973Sdefan@nginx.com</changes>
2401973Sdefan@nginx.com
2411973Sdefan@nginx.com
2421973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
2432007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2441973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2451973Sdefan@nginx.com
2461973Sdefan@nginx.com<change>
2471973Sdefan@nginx.com<para>
2481973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
2491973Sdefan@nginx.com</para>
2501973Sdefan@nginx.com</change>
2511973Sdefan@nginx.com
2521973Sdefan@nginx.com</changes>
2531973Sdefan@nginx.com
2541973Sdefan@nginx.com
2551896Svbart@nginx.com<changes apply="unit-php
2561896Svbart@nginx.com                unit-python unit-python2.7
2571896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2581896Svbart@nginx.com                unit-python3.8 unit-python3.9
2591896Svbart@nginx.com                unit-go
2601896Svbart@nginx.com                unit-perl
2611896Svbart@nginx.com                unit-ruby
2621896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2631896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2641951Svbart@nginx.com         ver="1.26.0" rev="1"
2652007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2661951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2671951Svbart@nginx.com
2681951Svbart@nginx.com<change>
2691951Svbart@nginx.com<para>
2701951Svbart@nginx.comNGINX Unit updated to 1.26.0.
2711951Svbart@nginx.com</para>
2721951Svbart@nginx.com</change>
2731951Svbart@nginx.com
2741951Svbart@nginx.com</changes>
2751951Svbart@nginx.com
2761951Svbart@nginx.com
2771951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
2782007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2791951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2801951Svbart@nginx.com
2811960Sz.hong@f5.com<change type="change">
2821960Sz.hong@f5.com<para>
2831960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
2841960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
2851960Sz.hong@f5.com</para>
2861960Sz.hong@f5.com</change>
2871960Sz.hong@f5.com
2881960Sz.hong@f5.com<change type="feature">
2891960Sz.hong@f5.com<para>
2902006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
2912006Svbart@nginx.comwhen updating from previous versions.
2922006Svbart@nginx.com</para>
2932006Svbart@nginx.com</change>
2942006Svbart@nginx.com
2952006Svbart@nginx.com<change type="feature">
2962006Svbart@nginx.com<para>
2971960Sz.hong@f5.comvariables support in the "share" option.
2981960Sz.hong@f5.com</para>
2991960Sz.hong@f5.com</change>
3001960Sz.hong@f5.com
3011959Sz.hong@f5.com<change type="feature">
3021959Sz.hong@f5.com<para>
3031961Sz.hong@f5.commultiple paths in the "share" option.
3041961Sz.hong@f5.com</para>
3051961Sz.hong@f5.com</change>
3061961Sz.hong@f5.com
3071961Sz.hong@f5.com<change type="feature">
3081961Sz.hong@f5.com<para>
3091959Sz.hong@f5.comvariables support in the "chroot" option.
3101959Sz.hong@f5.com</para>
3111959Sz.hong@f5.com</change>
3121959Sz.hong@f5.com
3131969Sz.hong@f5.com<change type="feature">
3141969Sz.hong@f5.com<para>
3152006Svbart@nginx.comPHP opcache is shared between application processes.
3161969Sz.hong@f5.com</para>
3171969Sz.hong@f5.com</change>
3181969Sz.hong@f5.com
3191991Sz.hong@f5.com<change type="feature">
3201991Sz.hong@f5.com<para>
3211991Sz.hong@f5.comrequest routing by the query string.
3221991Sz.hong@f5.com</para>
3231991Sz.hong@f5.com</change>
3241991Sz.hong@f5.com
3251955Smax.romanov@nginx.com<change type="bugfix">
3261955Smax.romanov@nginx.com<para>
3272006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
3282006Svbart@nginx.comby asynchronous or multithreaded apps.
3291955Smax.romanov@nginx.com</para>
3301955Smax.romanov@nginx.com</change>
3311955Smax.romanov@nginx.com
3321956Smax.romanov@nginx.com<change type="bugfix">
3331956Smax.romanov@nginx.com<para>
3341956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
3351956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
3361956Smax.romanov@nginx.com</para>
3371956Smax.romanov@nginx.com</change>
3381956Smax.romanov@nginx.com
3391992Smax.romanov@nginx.com<change type="bugfix">
3401992Smax.romanov@nginx.com<para>
3412006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
3421992Smax.romanov@nginx.com</para>
3431992Smax.romanov@nginx.com</change>
3441992Smax.romanov@nginx.com
3451951Svbart@nginx.com</changes>
3461951Svbart@nginx.com
3471951Svbart@nginx.com
3481951Svbart@nginx.com<changes apply="unit-php
3491951Svbart@nginx.com                unit-python unit-python2.7
3501951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3511951Svbart@nginx.com                unit-python3.8 unit-python3.9
3521951Svbart@nginx.com                unit-go
3531951Svbart@nginx.com                unit-perl
3541951Svbart@nginx.com                unit-ruby
3551951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3561951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3571896Svbart@nginx.com         ver="1.25.0" rev="1"
3581945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3591896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3601896Svbart@nginx.com
3611896Svbart@nginx.com<change>
3621896Svbart@nginx.com<para>
3631896Svbart@nginx.comNGINX Unit updated to 1.25.0.
3641896Svbart@nginx.com</para>
3651896Svbart@nginx.com</change>
3661896Svbart@nginx.com
3671896Svbart@nginx.com</changes>
3681896Svbart@nginx.com
3691896Svbart@nginx.com
3701896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
3711945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3721896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3731896Svbart@nginx.com
3741910So.canty@f5.com<change type="feature">
3751910So.canty@f5.com<para>
3761944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
3771942Sa.suvorov@f5.com</para>
3781942Sa.suvorov@f5.com</change>
3791942Sa.suvorov@f5.com
3801942Sa.suvorov@f5.com<change type="feature">
3811942Sa.suvorov@f5.com<para>
3821920Sa.suvorov@f5.comTLS sessions cache.
3831920Sa.suvorov@f5.com</para>
3841920Sa.suvorov@f5.com</change>
3851920Sa.suvorov@f5.com
3861920Sa.suvorov@f5.com<change type="feature">
3871920Sa.suvorov@f5.com<para>
3881944Svbart@nginx.comTLS session tickets.
3891910So.canty@f5.com</para>
3901910So.canty@f5.com</change>
3911910So.canty@f5.com
3921926Smax.romanov@nginx.com<change type="feature">
3931926Smax.romanov@nginx.com<para>
3941926Smax.romanov@nginx.comapplication restart control.
3951926Smax.romanov@nginx.com</para>
3961926Smax.romanov@nginx.com</change>
3971926Smax.romanov@nginx.com
3981936So.canty@f5.com<change type="feature">
3991936So.canty@f5.com<para>
4001944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
4011936So.canty@f5.com</para>
4021936So.canty@f5.com</change>
4031936So.canty@f5.com
4041907Smax.romanov@nginx.com<change type="bugfix">
4051907Smax.romanov@nginx.com<para>
4061944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
4071944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
4081921Sa.suvorov@f5.com</para>
4091921Sa.suvorov@f5.com</change>
4101921Sa.suvorov@f5.com
4111921Sa.suvorov@f5.com<change type="bugfix">
4121921Sa.suvorov@f5.com<para>
4131944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
4141944Svbart@nginx.combundles in a listener if the client did not use SNI.
4151907Smax.romanov@nginx.com</para>
4161907Smax.romanov@nginx.com</change>
4171907Smax.romanov@nginx.com
4181907Smax.romanov@nginx.com<change type="bugfix">
4191907Smax.romanov@nginx.com<para>
4201950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
4211915Smax.romanov@nginx.comreconfiguration.
4221915Smax.romanov@nginx.com</para>
4231915Smax.romanov@nginx.com</change>
4241915Smax.romanov@nginx.com
4251915Smax.romanov@nginx.com<change type="bugfix">
4261915Smax.romanov@nginx.com<para>
4271944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
4281944Svbart@nginx.comframework.
4291944Svbart@nginx.com</para>
4301944Svbart@nginx.com</change>
4311944Svbart@nginx.com
4321944Svbart@nginx.com<change type="bugfix">
4331944Svbart@nginx.com<para>
4341944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
4351944Svbart@nginx.comstopped or crashed.
4361907Smax.romanov@nginx.com</para>
4371907Smax.romanov@nginx.com</change>
4381907Smax.romanov@nginx.com
4391909So.canty@f5.com<change type="bugfix">
4401909So.canty@f5.com<para>
4411909So.canty@f5.comthe controller or router process could crash if the configuration contained
4421909So.canty@f5.coma full-form IPv6 in a listener address.
4431909So.canty@f5.com</para>
4441909So.canty@f5.com</change>
4451909So.canty@f5.com
4461916Smax.romanov@nginx.com<change type="bugfix">
4471916Smax.romanov@nginx.com<para>
4481929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
4491929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
4501929Sz.hong@f5.com</para>
4511929Sz.hong@f5.com</change>
4521929Sz.hong@f5.com
4531930So.canty@f5.com<change type="bugfix">
4541930So.canty@f5.com<para>
4551944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
4561944Svbart@nginx.comor destination address patterns.
4571930So.canty@f5.com</para>
4581930So.canty@f5.com</change>
4591930So.canty@f5.com
4601896Svbart@nginx.com</changes>
4611896Svbart@nginx.com
4621896Svbart@nginx.com
4631887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
4641891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4651887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4661887Sdefan@nginx.com
4671887Sdefan@nginx.com<change>
4681887Sdefan@nginx.com<para>
4691887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
4701887Sdefan@nginx.com</para>
4711887Sdefan@nginx.com</change>
4721887Sdefan@nginx.com
4731887Sdefan@nginx.com</changes>
4741887Sdefan@nginx.com
4751887Sdefan@nginx.com
4761887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
4771891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4781887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4791887Sdefan@nginx.com
4801887Sdefan@nginx.com<change>
4811887Sdefan@nginx.com<para>
4821887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
4831887Sdefan@nginx.com</para>
4841887Sdefan@nginx.com</change>
4851887Sdefan@nginx.com
4861887Sdefan@nginx.com</changes>
4871887Sdefan@nginx.com
4881887Sdefan@nginx.com
4891834Svbart@nginx.com<changes apply="unit-php
4901834Svbart@nginx.com                unit-python unit-python2.7
4911834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4921834Svbart@nginx.com                unit-python3.8 unit-python3.9
4931834Svbart@nginx.com                unit-go
4941834Svbart@nginx.com                unit-perl
4951834Svbart@nginx.com                unit-ruby
4961834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4971834Svbart@nginx.com                unit-jsc14 unit-jsc15"
4981839Svbart@nginx.com         ver="1.24.0" rev="1"
4991891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5001839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5011839Svbart@nginx.com
5021839Svbart@nginx.com<change>
5031839Svbart@nginx.com<para>
5041839Svbart@nginx.comNGINX Unit updated to 1.24.0.
5051839Svbart@nginx.com</para>
5061839Svbart@nginx.com</change>
5071839Svbart@nginx.com
5081839Svbart@nginx.com</changes>
5091839Svbart@nginx.com
5101839Svbart@nginx.com
5111839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
5121891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5131839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5141839Svbart@nginx.com
5151882So.canty@f5.com<change type="change">
5161882So.canty@f5.com<para>
5171882So.canty@f5.comPHP added to the default MIME type list.
5181882So.canty@f5.com</para>
5191882So.canty@f5.com</change>
5201882So.canty@f5.com
5211855Sz.hong@f5.com<change type="feature">
5221855Sz.hong@f5.com<para>
5231885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
5241885Sa.suvorov@f5.com</para>
5251885Sa.suvorov@f5.com</change>
5261885Sa.suvorov@f5.com
5271885Sa.suvorov@f5.com<change type="feature">
5281885Sa.suvorov@f5.com<para>
5291890Svbart@nginx.comthe ability to limit static file serving by MIME types.
5301890Svbart@nginx.com</para>
5311890Svbart@nginx.com</change>
5321890Svbart@nginx.com
5331890Svbart@nginx.com<change type="feature">
5341890Svbart@nginx.com<para>
5351890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
5361890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
5371872So.canty@f5.com</para>
5381872So.canty@f5.com</change>
5391872So.canty@f5.com
5401872So.canty@f5.com<change type="feature">
5411872So.canty@f5.com<para>
5421889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
5431889Sartem.konev@nginx.comNode.js.
5441865So.canty@f5.com</para>
5451865So.canty@f5.com</change>
5461865So.canty@f5.com
5471865So.canty@f5.com<change type="feature">
5481865So.canty@f5.com<para>
5491890Svbart@nginx.commultiple "targets" in Python applications.
5501855Sz.hong@f5.com</para>
5511855Sz.hong@f5.com</change>
5521855Sz.hong@f5.com
5531870So.canty@f5.com<change type="feature">
5541870So.canty@f5.com<para>
5551870So.canty@f5.comcompatibility with Ruby 3.0.
5561870So.canty@f5.com</para>
5571870So.canty@f5.com</change>
5581870So.canty@f5.com
5591861Svbart@nginx.com<change type="bugfix">
5601861Svbart@nginx.com<para>
5611889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
5621884Sa.suvorov@f5.com</para>
5631884Sa.suvorov@f5.com</change>
5641884Sa.suvorov@f5.com
5651884Sa.suvorov@f5.com<change type="bugfix">
5661884Sa.suvorov@f5.com<para>
5671861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
5681861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
5691861Svbart@nginx.com</para>
5701861Svbart@nginx.com</change>
5711861Svbart@nginx.com
5721839Svbart@nginx.com</changes>
5731839Svbart@nginx.com
5741839Svbart@nginx.com
5751839Svbart@nginx.com<changes apply="unit-php
5761839Svbart@nginx.com                unit-python unit-python2.7
5771839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5781839Svbart@nginx.com                unit-python3.8 unit-python3.9
5791839Svbart@nginx.com                unit-go
5801839Svbart@nginx.com                unit-perl
5811839Svbart@nginx.com                unit-ruby
5821839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5831839Svbart@nginx.com                unit-jsc14 unit-jsc15"
5841834Svbart@nginx.com         ver="1.23.0" rev="1"
5851834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5861834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5871834Svbart@nginx.com
5881834Svbart@nginx.com<change>
5891834Svbart@nginx.com<para>
5901834Svbart@nginx.comNGINX Unit updated to 1.23.0.
5911834Svbart@nginx.com</para>
5921834Svbart@nginx.com</change>
5931834Svbart@nginx.com
5941834Svbart@nginx.com</changes>
5951834Svbart@nginx.com
5961834Svbart@nginx.com
5971806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
5981834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5991806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6001806Svbart@nginx.com
6011825Sthresh@nginx.com<change type="feature">
6021825Sthresh@nginx.com<para>
6031833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
6041828Sa.suvorov@f5.comIndication (SNI) TLS extension.
6051828Sa.suvorov@f5.com</para>
6061828Sa.suvorov@f5.com</change>
6071828Sa.suvorov@f5.com
6081828Sa.suvorov@f5.com<change type="feature">
6091828Sa.suvorov@f5.com<para>
6101833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
6111833Sartem.konev@nginx.cominstallation.
6121825Sthresh@nginx.com</para>
6131825Sthresh@nginx.com</change>
6141825Sthresh@nginx.com
6151811Smax.romanov@nginx.com<change type="bugfix">
6161811Smax.romanov@nginx.com<para>
6171812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
6181812Svbart@nginx.comappeared in 1.17.0.
6191812Svbart@nginx.com</para>
6201812Svbart@nginx.com</change>
6211812Svbart@nginx.com
6221812Svbart@nginx.com<change type="bugfix">
6231812Svbart@nginx.com<para>
6241833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
6251812Svbart@nginx.comappeared in 1.6.
6261812Svbart@nginx.com</para>
6271812Svbart@nginx.com</change>
6281812Svbart@nginx.com
6291812Svbart@nginx.com<change type="bugfix">
6301812Svbart@nginx.com<para>
6311833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
6321832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
6331832Smax.romanov@nginx.com</para>
6341832Smax.romanov@nginx.com</change>
6351832Smax.romanov@nginx.com
6361832Smax.romanov@nginx.com<change type="bugfix">
6371832Smax.romanov@nginx.com<para>
6381833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
6391811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
6401811Smax.romanov@nginx.com</para>
6411811Smax.romanov@nginx.com</change>
6421806Svbart@nginx.com
6431813Svbart@nginx.com<change type="bugfix">
6441813Svbart@nginx.com<para>
6451813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
6461813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
6471813Svbart@nginx.com</para>
6481813Svbart@nginx.com</change>
6491813Svbart@nginx.com
6501814Svbart@nginx.com<change type="bugfix">
6511814Svbart@nginx.com<para>
6521820Svbart@nginx.comthe controller process could crash while requesting information about a
6531820Svbart@nginx.comcertificate with a non-DNS SAN entry.
6541820Svbart@nginx.com</para>
6551820Svbart@nginx.com</change>
6561820Svbart@nginx.com
6571820Svbart@nginx.com<change type="bugfix">
6581820Svbart@nginx.com<para>
6591822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
6601833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
6611822Svbart@nginx.com</para>
6621822Svbart@nginx.com</change>
6631822Svbart@nginx.com
6641822Svbart@nginx.com<change type="bugfix">
6651822Svbart@nginx.com<para>
6661833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
6671833Sartem.konev@nginx.comclass.
6681814Svbart@nginx.com</para>
6691814Svbart@nginx.com</change>
6701814Svbart@nginx.com
6711815Svbart@nginx.com<change type="bugfix">
6721815Svbart@nginx.com<para>
6731815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
6741815Svbart@nginx.comappeared in 1.22.0.
6751815Svbart@nginx.com</para>
6761815Svbart@nginx.com</change>
6771815Svbart@nginx.com
6781806Svbart@nginx.com</changes>
6791806Svbart@nginx.com
6801806Svbart@nginx.com
6811798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
6821798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6831798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6841798Sdefan@nginx.com
6851798Sdefan@nginx.com<change>
6861798Sdefan@nginx.com<para>
6871798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
6881798Sdefan@nginx.com</para>
6891798Sdefan@nginx.com</change>
6901798Sdefan@nginx.com
6911798Sdefan@nginx.com</changes>
6921798Sdefan@nginx.com
6931798Sdefan@nginx.com
6941763Sdefan@nginx.com<changes apply="unit-php
6951763Sdefan@nginx.com                unit-python unit-python2.7
6961763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6971763Sdefan@nginx.com                unit-python3.8
6981763Sdefan@nginx.com                unit-go
6991763Sdefan@nginx.com                unit-perl
7001763Sdefan@nginx.com                unit-ruby
7011763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
7021763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
7031763Sdefan@nginx.com         ver="1.22.0" rev="1"
7041793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7051763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7061763Sdefan@nginx.com
7071763Sdefan@nginx.com<change>
7081763Sdefan@nginx.com<para>
7091763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
7101763Sdefan@nginx.com</para>
7111763Sdefan@nginx.com</change>
7121763Sdefan@nginx.com
7131763Sdefan@nginx.com</changes>
7141763Sdefan@nginx.com
7151763Sdefan@nginx.com
7161727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
7171793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7181727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7191727Svbart@nginx.com
7201759Svbart@nginx.com<change type="feature">
7211759Svbart@nginx.com<para>
7221792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
7231792Svbart@nginx.comcompliant with Stream API.
7241759Svbart@nginx.com</para>
7251759Svbart@nginx.com</change>
7261759Svbart@nginx.com
7271766Smax.romanov@nginx.com<change type="feature">
7281766Smax.romanov@nginx.com<para>
7291792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
7301792Svbart@nginx.comapps.
7311732Svbart@nginx.com</para>
7321732Svbart@nginx.com</change>
7331732Svbart@nginx.com
7341733Svbart@nginx.com<change type="bugfix">
7351733Svbart@nginx.com<para>
7361792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
7371792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
7381754Smax.romanov@nginx.com</para>
7391754Smax.romanov@nginx.com</change>
7401754Smax.romanov@nginx.com
7411755Smax.romanov@nginx.com<change type="bugfix">
7421755Smax.romanov@nginx.com<para>
7431790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
7441755Smax.romanov@nginx.comappeared in 1.19.0.
7451755Smax.romanov@nginx.com</para>
7461755Smax.romanov@nginx.com</change>
7471755Smax.romanov@nginx.com
7481756Smax.romanov@nginx.com<change type="bugfix">
7491756Smax.romanov@nginx.com<para>
7501790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
7511790Sartem.konev@nginx.comappeared in 1.19.0.
7521756Smax.romanov@nginx.com</para>
7531756Smax.romanov@nginx.com</change>
7541756Smax.romanov@nginx.com
7551760Smax.romanov@nginx.com<change type="bugfix">
7561760Smax.romanov@nginx.com<para>
7571792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
7581792Svbart@nginx.com</para>
7591792Svbart@nginx.com</change>
7601792Svbart@nginx.com
7611792Svbart@nginx.com<change type="bugfix">
7621792Svbart@nginx.com<para>
7631792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
7641792Svbart@nginx.commissing in the PHP module.
7651792Svbart@nginx.com</para>
7661792Svbart@nginx.com</change>
7671792Svbart@nginx.com
7681792Svbart@nginx.com<change type="bugfix">
7691792Svbart@nginx.com<para>
7701792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
7711792Svbart@nginx.com</para>
7721792Svbart@nginx.com</change>
7731792Svbart@nginx.com
7741792Svbart@nginx.com<change type="bugfix">
7751792Svbart@nginx.com<para>
7761792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
7771792Svbart@nginx.com</para>
7781792Svbart@nginx.com</change>
7791792Svbart@nginx.com
7801792Svbart@nginx.com<change type="bugfix">
7811792Svbart@nginx.com<para>
7821792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
7831792Svbart@nginx.comthe bug had appeared in 1.21.0.
7841760Smax.romanov@nginx.com</para>
7851760Smax.romanov@nginx.com</change>
7861760Smax.romanov@nginx.com
7871780Smax.romanov@nginx.com<change type="bugfix">
7881780Smax.romanov@nginx.com<para>
7891790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
7901790Sartem.konev@nginx.comWebSocket.
7911780Smax.romanov@nginx.com</para>
7921780Smax.romanov@nginx.com</change>
7931780Smax.romanov@nginx.com
7941789Smax.romanov@nginx.com<change type="bugfix">
7951789Smax.romanov@nginx.com<para>
7961789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
7971789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
7981789Smax.romanov@nginx.com</para>
7991789Smax.romanov@nginx.com</change>
8001789Smax.romanov@nginx.com
8011727Svbart@nginx.com</changes>
8021727Svbart@nginx.com
8031727Svbart@nginx.com
8041722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
8051722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8061722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8071722Svbart@nginx.com
8081722Svbart@nginx.com<change>
8091722Svbart@nginx.com<para>
8101722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
8111722Svbart@nginx.com</para>
8121722Svbart@nginx.com</change>
8131722Svbart@nginx.com
8141722Svbart@nginx.com</changes>
8151722Svbart@nginx.com
8161722Svbart@nginx.com
8171722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
8181722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8191722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8201722Svbart@nginx.com
8211722Svbart@nginx.com<change>
8221722Svbart@nginx.com<para>
8231722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
8241722Svbart@nginx.com</para>
8251722Svbart@nginx.com</change>
8261722Svbart@nginx.com
8271722Svbart@nginx.com</changes>
8281722Svbart@nginx.com
8291722Svbart@nginx.com
8301722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
8311722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8321722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8331722Svbart@nginx.com
8341722Svbart@nginx.com<change>
8351722Svbart@nginx.com<para>
8361722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
8371722Svbart@nginx.com</para>
8381722Svbart@nginx.com</change>
8391722Svbart@nginx.com
8401722Svbart@nginx.com</changes>
8411722Svbart@nginx.com
8421722Svbart@nginx.com
8431722Svbart@nginx.com<changes apply="unit-php
8441722Svbart@nginx.com                unit-python unit-python2.7
8451722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8461722Svbart@nginx.com                unit-python3.8
8471722Svbart@nginx.com                unit-go
8481722Svbart@nginx.com                unit-perl
8491722Svbart@nginx.com                unit-ruby
8501722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8511722Svbart@nginx.com         ver="1.21.0" rev="1"
8521722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8531722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8541722Svbart@nginx.com
8551722Svbart@nginx.com<change>
8561722Svbart@nginx.com<para>
8571722Svbart@nginx.comNGINX Unit updated to 1.21.0.
8581722Svbart@nginx.com</para>
8591722Svbart@nginx.com</change>
8601722Svbart@nginx.com
8611722Svbart@nginx.com</changes>
8621722Svbart@nginx.com
8631722Svbart@nginx.com
8641722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
8651722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8661722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8671722Svbart@nginx.com
8681722Svbart@nginx.com<change type="change">
8691722Svbart@nginx.com<para>
8701722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
8711722Svbart@nginx.com</para>
8721722Svbart@nginx.com</change>
8731722Svbart@nginx.com
8741722Svbart@nginx.com<change type="change">
8751722Svbart@nginx.com<para>
8761722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
8771722Svbart@nginx.comnames.
8781722Svbart@nginx.com</para>
8791722Svbart@nginx.com</change>
8801722Svbart@nginx.com
8811722Svbart@nginx.com<change type="change">
8821722Svbart@nginx.com<para>
8831722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
8841722Svbart@nginx.comdefault.
8851722Svbart@nginx.com</para>
8861722Svbart@nginx.com</change>
8871722Svbart@nginx.com
8881722Svbart@nginx.com<change type="feature">
8891722Svbart@nginx.com<para>
8901722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
8911722Svbart@nginx.com</para>
8921722Svbart@nginx.com</change>
8931722Svbart@nginx.com
8941722Svbart@nginx.com<change type="feature">
8951722Svbart@nginx.com<para>
8961722Svbart@nginx.comregular expressions in route matching patterns.
8971722Svbart@nginx.com</para>
8981722Svbart@nginx.com</change>
8991722Svbart@nginx.com
9001722Svbart@nginx.com<change type="feature">
9011722Svbart@nginx.com<para>
9021722Svbart@nginx.comcompatibility with Python 3.9.
9031722Svbart@nginx.com</para>
9041722Svbart@nginx.com</change>
9051722Svbart@nginx.com
9061722Svbart@nginx.com<change type="feature">
9071722Svbart@nginx.com<para>
9081722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
9091722Svbart@nginx.com</para>
9101722Svbart@nginx.com</change>
9111722Svbart@nginx.com
9121722Svbart@nginx.com<change type="feature">
9131722Svbart@nginx.com<para>
9141722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
9151722Svbart@nginx.com</para>
9161722Svbart@nginx.com</change>
9171722Svbart@nginx.com
9181722Svbart@nginx.com<change type="feature">
9191722Svbart@nginx.com<para>
9201722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
9211722Svbart@nginx.comcontinues code execution without holding onto the client connection.
9221722Svbart@nginx.com</para>
9231722Svbart@nginx.com</change>
9241722Svbart@nginx.com
9251722Svbart@nginx.com<change type="feature">
9261722Svbart@nginx.com<para>
9271722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
9281722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
9291722Svbart@nginx.com</para>
9301722Svbart@nginx.com</change>
9311722Svbart@nginx.com
9321722Svbart@nginx.com<change type="feature">
9331722Svbart@nginx.com<para>
9341722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
9351722Svbart@nginx.commounting of eponymous filesystems.
9361722Svbart@nginx.com</para>
9371722Svbart@nginx.com</change>
9381722Svbart@nginx.com
9391722Svbart@nginx.com<change type="bugfix">
9401722Svbart@nginx.com<para>
9411722Svbart@nginx.comthe router process could crash when running Go applications under high load;
9421722Svbart@nginx.comthe bug had appeared in 1.19.0.
9431722Svbart@nginx.com</para>
9441722Svbart@nginx.com</change>
9451722Svbart@nginx.com
9461722Svbart@nginx.com<change type="bugfix">
9471722Svbart@nginx.com<para>
9481722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
9491722Svbart@nginx.com</para>
9501722Svbart@nginx.com</change>
9511722Svbart@nginx.com
9521722Svbart@nginx.com<change type="bugfix">
9531722Svbart@nginx.com<para>
9541722Svbart@nginx.comvarious compatibility issues in Java applications.
9551722Svbart@nginx.com</para>
9561722Svbart@nginx.com</change>
9571722Svbart@nginx.com
9581722Svbart@nginx.com<change type="bugfix">
9591722Svbart@nginx.com<para>
9601722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
9611722Svbart@nginx.comuse "rootfs" isolation.
9621722Svbart@nginx.com</para>
9631722Svbart@nginx.com</change>
9641722Svbart@nginx.com
9651722Svbart@nginx.com</changes>
9661722Svbart@nginx.com
9671722Svbart@nginx.com
9681330Svbart@nginx.com<changes apply="unit-php
9691330Svbart@nginx.com                unit-python unit-python2.7
9701330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9711330Svbart@nginx.com                unit-python3.8
9721330Svbart@nginx.com                unit-go
9731330Svbart@nginx.com                unit-perl
9741330Svbart@nginx.com                unit-ruby
975