xref: /unit/docs/changes.xml (revision 2137)
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*2137Salx.manpages@gmail.com<change type="bugfix">
41*2137Salx.manpages@gmail.com<para>
42*2137Salx.manpages@gmail.coman index file that didn't contain a file extension was incorrectly
43*2137Salx.manpages@gmail.comhandled, and caused a use-after-free bug.
44*2137Salx.manpages@gmail.com</para>
45*2137Salx.manpages@gmail.com</change>
46*2137Salx.manpages@gmail.com
472129Szelenkov@nginx.com</changes>
482129Szelenkov@nginx.com
492129Szelenkov@nginx.com
502129Szelenkov@nginx.com<changes apply="unit-php
512129Szelenkov@nginx.com                unit-python unit-python2.7
522129Szelenkov@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
532129Szelenkov@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
542129Szelenkov@nginx.com                unit-go
552129Szelenkov@nginx.com                unit-perl
562129Szelenkov@nginx.com                unit-ruby
572129Szelenkov@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
582129Szelenkov@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
592012Svbart@nginx.com         ver="1.27.0" rev="1"
602127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
612012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
622012Svbart@nginx.com
632012Svbart@nginx.com<change>
642012Svbart@nginx.com<para>
652012Svbart@nginx.comNGINX Unit updated to 1.27.0.
662012Svbart@nginx.com</para>
672012Svbart@nginx.com</change>
682012Svbart@nginx.com
692012Svbart@nginx.com</changes>
702012Svbart@nginx.com
712012Svbart@nginx.com
722012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
732127Szelenkov@nginx.com         date="2022-06-02" time="18:00:00 +0300"
742012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
752012Svbart@nginx.com
762072Sz.hong@f5.com<change type="feature">
772072Sz.hong@f5.com<para>
782108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
792108Salx.manpages@gmail.com</para>
802108Salx.manpages@gmail.com</change>
812108Salx.manpages@gmail.com
822108Salx.manpages@gmail.com<change type="feature">
832108Salx.manpages@gmail.com<para>
842081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
852081Salx.manpages@gmail.com</para>
862081Salx.manpages@gmail.com</change>
872081Salx.manpages@gmail.com
882081Salx.manpages@gmail.com<change type="feature">
892081Salx.manpages@gmail.com<para>
902113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
912113Sartem.konev@nginx.com</para>
922113Sartem.konev@nginx.com</change>
932113Sartem.konev@nginx.com
942113Sartem.konev@nginx.com<change type="feature">
952113Sartem.konev@nginx.com<para>
962113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
972113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
982113Sartem.konev@nginx.com</para>
992113Sartem.konev@nginx.com</change>
1002113Sartem.konev@nginx.com
1012113Sartem.konev@nginx.com<change type="feature">
1022113Sartem.konev@nginx.com<para>
1032113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
1042110Salx.manpages@gmail.com</para>
1052110Salx.manpages@gmail.com</change>
1062110Salx.manpages@gmail.com
1072110Salx.manpages@gmail.com<change type="feature">
1082110Salx.manpages@gmail.com<para>
1092072Sz.hong@f5.comcompatibility with GCC 12.
1102072Sz.hong@f5.com</para>
1112072Sz.hong@f5.com</change>
1122072Sz.hong@f5.com
1132060Smax.romanov@nginx.com<change type="bugfix">
1142060Smax.romanov@nginx.com<para>
1152093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
1162093Sz.hong@f5.com</para>
1172093Sz.hong@f5.com</change>
1182093Sz.hong@f5.com
1192093Sz.hong@f5.com<change type="bugfix">
1202093Sz.hong@f5.com<para>
1212113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
1222069Sz.hong@f5.comcertificates was uploaded.
1232069Sz.hong@f5.com</para>
1242069Sz.hong@f5.com</change>
1252069Sz.hong@f5.com
1262069Sz.hong@f5.com<change type="bugfix">
1272069Sz.hong@f5.com<para>
1282060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
1292060Smax.romanov@nginx.com</para>
1302060Smax.romanov@nginx.com</change>
1312060Smax.romanov@nginx.com
1322061Smax.romanov@nginx.com<change type="bugfix">
1332061Smax.romanov@nginx.com<para>
1342061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
1352061Smax.romanov@nginx.com</para>
1362061Smax.romanov@nginx.com</change>
1372061Smax.romanov@nginx.com
1382067Smax.romanov@nginx.com<change type="bugfix">
1392067Smax.romanov@nginx.com<para>
1402067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
1412067Smax.romanov@nginx.comobject, notably with Falcon.
1422067Smax.romanov@nginx.com</para>
1432067Smax.romanov@nginx.com</change>
1442067Smax.romanov@nginx.com
1452117Szelenkov@nginx.com<change type="bugfix">
1462117Szelenkov@nginx.com<para>
1472117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
1482117Szelenkov@nginx.com</para>
1492117Szelenkov@nginx.com</change>
1502117Szelenkov@nginx.com
1512050Svbart@nginx.com</changes>
1522050Svbart@nginx.com
1532050Svbart@nginx.com
1542050Svbart@nginx.com<changes apply="unit-php
1552050Svbart@nginx.com                unit-python unit-python2.7
1562050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1572050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1582050Svbart@nginx.com                unit-go
1592050Svbart@nginx.com                unit-perl
1602050Svbart@nginx.com                unit-ruby
1612050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1622050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1632029SN/A         ver="1.26.1" rev="1"
1642045SN/A         date="2021-12-02" time="18:00:00 +0300"
1652029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1662029SN/A
1672029SN/A<change>
1682029SN/A<para>
1692029SN/ANGINX Unit updated to 1.26.1.
1702029SN/A</para>
1712029SN/A</change>
1722029SN/A
1732029SN/A</changes>
1742029SN/A
1752029SN/A
1762029SN/A<changes apply="unit" ver="1.26.1" rev="1"
1772045SN/A         date="2021-12-02" time="18:00:00 +0300"
1782029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1792029SN/A
1802033SN/A<change type="bugfix">
1812033SN/A<para>
1822044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
1832044SN/Aappeared in 1.26.0.
1842033SN/A</para>
1852033SN/A</change>
1862033SN/A
1872034SN/A<change type="bugfix">
1882034SN/A<para>
1892044SN/Aa prototype process could crash on an application process exit; the bug had
1902034SN/Aappeared in 1.26.0.
1912034SN/A</para>
1922034SN/A</change>
1932034SN/A
1942035SN/A<change type="bugfix">
1952035SN/A<para>
1962044SN/Athe router process crashed on reconfiguration if "access_log" was configured
1972044SN/Awithout listeners.
1982044SN/A</para>
1992044SN/A</change>
2002044SN/A
2012044SN/A<change type="bugfix">
2022044SN/A<para>
2032035SN/Aa segmentation fault occurred in the PHP module if chdir() or
2042035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
2052035SN/A</para>
2062035SN/A</change>
2072035SN/A
2082040SN/A<change type="bugfix">
2092040SN/A<para>
2102041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
2112041SN/A</para>
2122041SN/A</change>
2132041SN/A
2142029SN/A</changes>
2152029SN/A
2162029SN/A
2171973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
2182007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2191973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2201973Sdefan@nginx.com
2211973Sdefan@nginx.com<change>
2221973Sdefan@nginx.com<para>
2231973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
2241973Sdefan@nginx.com</para>
2251973Sdefan@nginx.com</change>
2261973Sdefan@nginx.com
2271973Sdefan@nginx.com</changes>
2281973Sdefan@nginx.com
2291973Sdefan@nginx.com
2301973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
2312007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2321973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2331973Sdefan@nginx.com
2341973Sdefan@nginx.com<change>
2351973Sdefan@nginx.com<para>
2361973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
2371973Sdefan@nginx.com</para>
2381973Sdefan@nginx.com</change>
2391973Sdefan@nginx.com
2401973Sdefan@nginx.com</changes>
2411973Sdefan@nginx.com
2421973Sdefan@nginx.com
2431896Svbart@nginx.com<changes apply="unit-php
2441896Svbart@nginx.com                unit-python unit-python2.7
2451896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2461896Svbart@nginx.com                unit-python3.8 unit-python3.9
2471896Svbart@nginx.com                unit-go
2481896Svbart@nginx.com                unit-perl
2491896Svbart@nginx.com                unit-ruby
2501896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2511896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2521951Svbart@nginx.com         ver="1.26.0" rev="1"
2532007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2541951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2551951Svbart@nginx.com
2561951Svbart@nginx.com<change>
2571951Svbart@nginx.com<para>
2581951Svbart@nginx.comNGINX Unit updated to 1.26.0.
2591951Svbart@nginx.com</para>
2601951Svbart@nginx.com</change>
2611951Svbart@nginx.com
2621951Svbart@nginx.com</changes>
2631951Svbart@nginx.com
2641951Svbart@nginx.com
2651951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
2662007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2671951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2681951Svbart@nginx.com
2691960Sz.hong@f5.com<change type="change">
2701960Sz.hong@f5.com<para>
2711960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
2721960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
2731960Sz.hong@f5.com</para>
2741960Sz.hong@f5.com</change>
2751960Sz.hong@f5.com
2761960Sz.hong@f5.com<change type="feature">
2771960Sz.hong@f5.com<para>
2782006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
2792006Svbart@nginx.comwhen updating from previous versions.
2802006Svbart@nginx.com</para>
2812006Svbart@nginx.com</change>
2822006Svbart@nginx.com
2832006Svbart@nginx.com<change type="feature">
2842006Svbart@nginx.com<para>
2851960Sz.hong@f5.comvariables support in the "share" option.
2861960Sz.hong@f5.com</para>
2871960Sz.hong@f5.com</change>
2881960Sz.hong@f5.com
2891959Sz.hong@f5.com<change type="feature">
2901959Sz.hong@f5.com<para>
2911961Sz.hong@f5.commultiple paths in the "share" option.
2921961Sz.hong@f5.com</para>
2931961Sz.hong@f5.com</change>
2941961Sz.hong@f5.com
2951961Sz.hong@f5.com<change type="feature">
2961961Sz.hong@f5.com<para>
2971959Sz.hong@f5.comvariables support in the "chroot" option.
2981959Sz.hong@f5.com</para>
2991959Sz.hong@f5.com</change>
3001959Sz.hong@f5.com
3011969Sz.hong@f5.com<change type="feature">
3021969Sz.hong@f5.com<para>
3032006Svbart@nginx.comPHP opcache is shared between application processes.
3041969Sz.hong@f5.com</para>
3051969Sz.hong@f5.com</change>
3061969Sz.hong@f5.com
3071991Sz.hong@f5.com<change type="feature">
3081991Sz.hong@f5.com<para>
3091991Sz.hong@f5.comrequest routing by the query string.
3101991Sz.hong@f5.com</para>
3111991Sz.hong@f5.com</change>
3121991Sz.hong@f5.com
3131955Smax.romanov@nginx.com<change type="bugfix">
3141955Smax.romanov@nginx.com<para>
3152006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
3162006Svbart@nginx.comby asynchronous or multithreaded apps.
3171955Smax.romanov@nginx.com</para>
3181955Smax.romanov@nginx.com</change>
3191955Smax.romanov@nginx.com
3201956Smax.romanov@nginx.com<change type="bugfix">
3211956Smax.romanov@nginx.com<para>
3221956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
3231956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
3241956Smax.romanov@nginx.com</para>
3251956Smax.romanov@nginx.com</change>
3261956Smax.romanov@nginx.com
3271992Smax.romanov@nginx.com<change type="bugfix">
3281992Smax.romanov@nginx.com<para>
3292006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
3301992Smax.romanov@nginx.com</para>
3311992Smax.romanov@nginx.com</change>
3321992Smax.romanov@nginx.com
3331951Svbart@nginx.com</changes>
3341951Svbart@nginx.com
3351951Svbart@nginx.com
3361951Svbart@nginx.com<changes apply="unit-php
3371951Svbart@nginx.com                unit-python unit-python2.7
3381951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3391951Svbart@nginx.com                unit-python3.8 unit-python3.9
3401951Svbart@nginx.com                unit-go
3411951Svbart@nginx.com                unit-perl
3421951Svbart@nginx.com                unit-ruby
3431951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3441951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3451896Svbart@nginx.com         ver="1.25.0" rev="1"
3461945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3471896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3481896Svbart@nginx.com
3491896Svbart@nginx.com<change>
3501896Svbart@nginx.com<para>
3511896Svbart@nginx.comNGINX Unit updated to 1.25.0.
3521896Svbart@nginx.com</para>
3531896Svbart@nginx.com</change>
3541896Svbart@nginx.com
3551896Svbart@nginx.com</changes>
3561896Svbart@nginx.com
3571896Svbart@nginx.com
3581896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
3591945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3601896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3611896Svbart@nginx.com
3621910So.canty@f5.com<change type="feature">
3631910So.canty@f5.com<para>
3641944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
3651942Sa.suvorov@f5.com</para>
3661942Sa.suvorov@f5.com</change>
3671942Sa.suvorov@f5.com
3681942Sa.suvorov@f5.com<change type="feature">
3691942Sa.suvorov@f5.com<para>
3701920Sa.suvorov@f5.comTLS sessions cache.
3711920Sa.suvorov@f5.com</para>
3721920Sa.suvorov@f5.com</change>
3731920Sa.suvorov@f5.com
3741920Sa.suvorov@f5.com<change type="feature">
3751920Sa.suvorov@f5.com<para>
3761944Svbart@nginx.comTLS session tickets.
3771910So.canty@f5.com</para>
3781910So.canty@f5.com</change>
3791910So.canty@f5.com
3801926Smax.romanov@nginx.com<change type="feature">
3811926Smax.romanov@nginx.com<para>
3821926Smax.romanov@nginx.comapplication restart control.
3831926Smax.romanov@nginx.com</para>
3841926Smax.romanov@nginx.com</change>
3851926Smax.romanov@nginx.com
3861936So.canty@f5.com<change type="feature">
3871936So.canty@f5.com<para>
3881944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
3891936So.canty@f5.com</para>
3901936So.canty@f5.com</change>
3911936So.canty@f5.com
3921907Smax.romanov@nginx.com<change type="bugfix">
3931907Smax.romanov@nginx.com<para>
3941944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
3951944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
3961921Sa.suvorov@f5.com</para>
3971921Sa.suvorov@f5.com</change>
3981921Sa.suvorov@f5.com
3991921Sa.suvorov@f5.com<change type="bugfix">
4001921Sa.suvorov@f5.com<para>
4011944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
4021944Svbart@nginx.combundles in a listener if the client did not use SNI.
4031907Smax.romanov@nginx.com</para>
4041907Smax.romanov@nginx.com</change>
4051907Smax.romanov@nginx.com
4061907Smax.romanov@nginx.com<change type="bugfix">
4071907Smax.romanov@nginx.com<para>
4081950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
4091915Smax.romanov@nginx.comreconfiguration.
4101915Smax.romanov@nginx.com</para>
4111915Smax.romanov@nginx.com</change>
4121915Smax.romanov@nginx.com
4131915Smax.romanov@nginx.com<change type="bugfix">
4141915Smax.romanov@nginx.com<para>
4151944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
4161944Svbart@nginx.comframework.
4171944Svbart@nginx.com</para>
4181944Svbart@nginx.com</change>
4191944Svbart@nginx.com
4201944Svbart@nginx.com<change type="bugfix">
4211944Svbart@nginx.com<para>
4221944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
4231944Svbart@nginx.comstopped or crashed.
4241907Smax.romanov@nginx.com</para>
4251907Smax.romanov@nginx.com</change>
4261907Smax.romanov@nginx.com
4271909So.canty@f5.com<change type="bugfix">
4281909So.canty@f5.com<para>
4291909So.canty@f5.comthe controller or router process could crash if the configuration contained
4301909So.canty@f5.coma full-form IPv6 in a listener address.
4311909So.canty@f5.com</para>
4321909So.canty@f5.com</change>
4331909So.canty@f5.com
4341916Smax.romanov@nginx.com<change type="bugfix">
4351916Smax.romanov@nginx.com<para>
4361929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
4371929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
4381929Sz.hong@f5.com</para>
4391929Sz.hong@f5.com</change>
4401929Sz.hong@f5.com
4411930So.canty@f5.com<change type="bugfix">
4421930So.canty@f5.com<para>
4431944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
4441944Svbart@nginx.comor destination address patterns.
4451930So.canty@f5.com</para>
4461930So.canty@f5.com</change>
4471930So.canty@f5.com
4481896Svbart@nginx.com</changes>
4491896Svbart@nginx.com
4501896Svbart@nginx.com
4511887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
4521891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4531887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4541887Sdefan@nginx.com
4551887Sdefan@nginx.com<change>
4561887Sdefan@nginx.com<para>
4571887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
4581887Sdefan@nginx.com</para>
4591887Sdefan@nginx.com</change>
4601887Sdefan@nginx.com
4611887Sdefan@nginx.com</changes>
4621887Sdefan@nginx.com
4631887Sdefan@nginx.com
4641887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
4651891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4661887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4671887Sdefan@nginx.com
4681887Sdefan@nginx.com<change>
4691887Sdefan@nginx.com<para>
4701887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
4711887Sdefan@nginx.com</para>
4721887Sdefan@nginx.com</change>
4731887Sdefan@nginx.com
4741887Sdefan@nginx.com</changes>
4751887Sdefan@nginx.com
4761887Sdefan@nginx.com
4771834Svbart@nginx.com<changes apply="unit-php
4781834Svbart@nginx.com                unit-python unit-python2.7
4791834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4801834Svbart@nginx.com                unit-python3.8 unit-python3.9
4811834Svbart@nginx.com                unit-go
4821834Svbart@nginx.com                unit-perl
4831834Svbart@nginx.com                unit-ruby
4841834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4851834Svbart@nginx.com                unit-jsc14 unit-jsc15"
4861839Svbart@nginx.com         ver="1.24.0" rev="1"
4871891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4881839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4891839Svbart@nginx.com
4901839Svbart@nginx.com<change>
4911839Svbart@nginx.com<para>
4921839Svbart@nginx.comNGINX Unit updated to 1.24.0.
4931839Svbart@nginx.com</para>
4941839Svbart@nginx.com</change>
4951839Svbart@nginx.com
4961839Svbart@nginx.com</changes>
4971839Svbart@nginx.com
4981839Svbart@nginx.com
4991839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
5001891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
5011839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5021839Svbart@nginx.com
5031882So.canty@f5.com<change type="change">
5041882So.canty@f5.com<para>
5051882So.canty@f5.comPHP added to the default MIME type list.
5061882So.canty@f5.com</para>
5071882So.canty@f5.com</change>
5081882So.canty@f5.com
5091855Sz.hong@f5.com<change type="feature">
5101855Sz.hong@f5.com<para>
5111885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
5121885Sa.suvorov@f5.com</para>
5131885Sa.suvorov@f5.com</change>
5141885Sa.suvorov@f5.com
5151885Sa.suvorov@f5.com<change type="feature">
5161885Sa.suvorov@f5.com<para>
5171890Svbart@nginx.comthe ability to limit static file serving by MIME types.
5181890Svbart@nginx.com</para>
5191890Svbart@nginx.com</change>
5201890Svbart@nginx.com
5211890Svbart@nginx.com<change type="feature">
5221890Svbart@nginx.com<para>
5231890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
5241890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
5251872So.canty@f5.com</para>
5261872So.canty@f5.com</change>
5271872So.canty@f5.com
5281872So.canty@f5.com<change type="feature">
5291872So.canty@f5.com<para>
5301889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
5311889Sartem.konev@nginx.comNode.js.
5321865So.canty@f5.com</para>
5331865So.canty@f5.com</change>
5341865So.canty@f5.com
5351865So.canty@f5.com<change type="feature">
5361865So.canty@f5.com<para>
5371890Svbart@nginx.commultiple "targets" in Python applications.
5381855Sz.hong@f5.com</para>
5391855Sz.hong@f5.com</change>
5401855Sz.hong@f5.com
5411870So.canty@f5.com<change type="feature">
5421870So.canty@f5.com<para>
5431870So.canty@f5.comcompatibility with Ruby 3.0.
5441870So.canty@f5.com</para>
5451870So.canty@f5.com</change>
5461870So.canty@f5.com
5471861Svbart@nginx.com<change type="bugfix">
5481861Svbart@nginx.com<para>
5491889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
5501884Sa.suvorov@f5.com</para>
5511884Sa.suvorov@f5.com</change>
5521884Sa.suvorov@f5.com
5531884Sa.suvorov@f5.com<change type="bugfix">
5541884Sa.suvorov@f5.com<para>
5551861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
5561861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
5571861Svbart@nginx.com</para>
5581861Svbart@nginx.com</change>
5591861Svbart@nginx.com
5601839Svbart@nginx.com</changes>
5611839Svbart@nginx.com
5621839Svbart@nginx.com
5631839Svbart@nginx.com<changes apply="unit-php
5641839Svbart@nginx.com                unit-python unit-python2.7
5651839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5661839Svbart@nginx.com                unit-python3.8 unit-python3.9
5671839Svbart@nginx.com                unit-go
5681839Svbart@nginx.com                unit-perl
5691839Svbart@nginx.com                unit-ruby
5701839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5711839Svbart@nginx.com                unit-jsc14 unit-jsc15"
5721834Svbart@nginx.com         ver="1.23.0" rev="1"
5731834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5741834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5751834Svbart@nginx.com
5761834Svbart@nginx.com<change>
5771834Svbart@nginx.com<para>
5781834Svbart@nginx.comNGINX Unit updated to 1.23.0.
5791834Svbart@nginx.com</para>
5801834Svbart@nginx.com</change>
5811834Svbart@nginx.com
5821834Svbart@nginx.com</changes>
5831834Svbart@nginx.com
5841834Svbart@nginx.com
5851806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
5861834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5871806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5881806Svbart@nginx.com
5891825Sthresh@nginx.com<change type="feature">
5901825Sthresh@nginx.com<para>
5911833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
5921828Sa.suvorov@f5.comIndication (SNI) TLS extension.
5931828Sa.suvorov@f5.com</para>
5941828Sa.suvorov@f5.com</change>
5951828Sa.suvorov@f5.com
5961828Sa.suvorov@f5.com<change type="feature">
5971828Sa.suvorov@f5.com<para>
5981833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
5991833Sartem.konev@nginx.cominstallation.
6001825Sthresh@nginx.com</para>
6011825Sthresh@nginx.com</change>
6021825Sthresh@nginx.com
6031811Smax.romanov@nginx.com<change type="bugfix">
6041811Smax.romanov@nginx.com<para>
6051812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
6061812Svbart@nginx.comappeared in 1.17.0.
6071812Svbart@nginx.com</para>
6081812Svbart@nginx.com</change>
6091812Svbart@nginx.com
6101812Svbart@nginx.com<change type="bugfix">
6111812Svbart@nginx.com<para>
6121833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
6131812Svbart@nginx.comappeared in 1.6.
6141812Svbart@nginx.com</para>
6151812Svbart@nginx.com</change>
6161812Svbart@nginx.com
6171812Svbart@nginx.com<change type="bugfix">
6181812Svbart@nginx.com<para>
6191833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
6201832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
6211832Smax.romanov@nginx.com</para>
6221832Smax.romanov@nginx.com</change>
6231832Smax.romanov@nginx.com
6241832Smax.romanov@nginx.com<change type="bugfix">
6251832Smax.romanov@nginx.com<para>
6261833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
6271811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
6281811Smax.romanov@nginx.com</para>
6291811Smax.romanov@nginx.com</change>
6301806Svbart@nginx.com
6311813Svbart@nginx.com<change type="bugfix">
6321813Svbart@nginx.com<para>
6331813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
6341813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
6351813Svbart@nginx.com</para>
6361813Svbart@nginx.com</change>
6371813Svbart@nginx.com
6381814Svbart@nginx.com<change type="bugfix">
6391814Svbart@nginx.com<para>
6401820Svbart@nginx.comthe controller process could crash while requesting information about a
6411820Svbart@nginx.comcertificate with a non-DNS SAN entry.
6421820Svbart@nginx.com</para>
6431820Svbart@nginx.com</change>
6441820Svbart@nginx.com
6451820Svbart@nginx.com<change type="bugfix">
6461820Svbart@nginx.com<para>
6471822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
6481833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
6491822Svbart@nginx.com</para>
6501822Svbart@nginx.com</change>
6511822Svbart@nginx.com
6521822Svbart@nginx.com<change type="bugfix">
6531822Svbart@nginx.com<para>
6541833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
6551833Sartem.konev@nginx.comclass.
6561814Svbart@nginx.com</para>
6571814Svbart@nginx.com</change>
6581814Svbart@nginx.com
6591815Svbart@nginx.com<change type="bugfix">
6601815Svbart@nginx.com<para>
6611815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
6621815Svbart@nginx.comappeared in 1.22.0.
6631815Svbart@nginx.com</para>
6641815Svbart@nginx.com</change>
6651815Svbart@nginx.com
6661806Svbart@nginx.com</changes>
6671806Svbart@nginx.com
6681806Svbart@nginx.com
6691798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
6701798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6711798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6721798Sdefan@nginx.com
6731798Sdefan@nginx.com<change>
6741798Sdefan@nginx.com<para>
6751798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
6761798Sdefan@nginx.com</para>
6771798Sdefan@nginx.com</change>
6781798Sdefan@nginx.com
6791798Sdefan@nginx.com</changes>
6801798Sdefan@nginx.com
6811798Sdefan@nginx.com
6821763Sdefan@nginx.com<changes apply="unit-php
6831763Sdefan@nginx.com                unit-python unit-python2.7
6841763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6851763Sdefan@nginx.com                unit-python3.8
6861763Sdefan@nginx.com                unit-go
6871763Sdefan@nginx.com                unit-perl
6881763Sdefan@nginx.com                unit-ruby
6891763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6901763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
6911763Sdefan@nginx.com         ver="1.22.0" rev="1"
6921793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6931763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6941763Sdefan@nginx.com
6951763Sdefan@nginx.com<change>
6961763Sdefan@nginx.com<para>
6971763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
6981763Sdefan@nginx.com</para>
6991763Sdefan@nginx.com</change>
7001763Sdefan@nginx.com
7011763Sdefan@nginx.com</changes>
7021763Sdefan@nginx.com
7031763Sdefan@nginx.com
7041727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
7051793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
7061727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7071727Svbart@nginx.com
7081759Svbart@nginx.com<change type="feature">
7091759Svbart@nginx.com<para>
7101792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
7111792Svbart@nginx.comcompliant with Stream API.
7121759Svbart@nginx.com</para>
7131759Svbart@nginx.com</change>
7141759Svbart@nginx.com
7151766Smax.romanov@nginx.com<change type="feature">
7161766Smax.romanov@nginx.com<para>
7171792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
7181792Svbart@nginx.comapps.
7191732Svbart@nginx.com</para>
7201732Svbart@nginx.com</change>
7211732Svbart@nginx.com
7221733Svbart@nginx.com<change type="bugfix">
7231733Svbart@nginx.com<para>
7241792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
7251792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
7261754Smax.romanov@nginx.com</para>
7271754Smax.romanov@nginx.com</change>
7281754Smax.romanov@nginx.com
7291755Smax.romanov@nginx.com<change type="bugfix">
7301755Smax.romanov@nginx.com<para>
7311790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
7321755Smax.romanov@nginx.comappeared in 1.19.0.
7331755Smax.romanov@nginx.com</para>
7341755Smax.romanov@nginx.com</change>
7351755Smax.romanov@nginx.com
7361756Smax.romanov@nginx.com<change type="bugfix">
7371756Smax.romanov@nginx.com<para>
7381790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
7391790Sartem.konev@nginx.comappeared in 1.19.0.
7401756Smax.romanov@nginx.com</para>
7411756Smax.romanov@nginx.com</change>
7421756Smax.romanov@nginx.com
7431760Smax.romanov@nginx.com<change type="bugfix">
7441760Smax.romanov@nginx.com<para>
7451792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
7461792Svbart@nginx.com</para>
7471792Svbart@nginx.com</change>
7481792Svbart@nginx.com
7491792Svbart@nginx.com<change type="bugfix">
7501792Svbart@nginx.com<para>
7511792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
7521792Svbart@nginx.commissing in the PHP module.
7531792Svbart@nginx.com</para>
7541792Svbart@nginx.com</change>
7551792Svbart@nginx.com
7561792Svbart@nginx.com<change type="bugfix">
7571792Svbart@nginx.com<para>
7581792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
7591792Svbart@nginx.com</para>
7601792Svbart@nginx.com</change>
7611792Svbart@nginx.com
7621792Svbart@nginx.com<change type="bugfix">
7631792Svbart@nginx.com<para>
7641792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
7651792Svbart@nginx.com</para>
7661792Svbart@nginx.com</change>
7671792Svbart@nginx.com
7681792Svbart@nginx.com<change type="bugfix">
7691792Svbart@nginx.com<para>
7701792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
7711792Svbart@nginx.comthe bug had appeared in 1.21.0.
7721760Smax.romanov@nginx.com</para>
7731760Smax.romanov@nginx.com</change>
7741760Smax.romanov@nginx.com
7751780Smax.romanov@nginx.com<change type="bugfix">
7761780Smax.romanov@nginx.com<para>
7771790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
7781790Sartem.konev@nginx.comWebSocket.
7791780Smax.romanov@nginx.com</para>
7801780Smax.romanov@nginx.com</change>
7811780Smax.romanov@nginx.com
7821789Smax.romanov@nginx.com<change type="bugfix">
7831789Smax.romanov@nginx.com<para>
7841789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
7851789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
7861789Smax.romanov@nginx.com</para>
7871789Smax.romanov@nginx.com</change>
7881789Smax.romanov@nginx.com
7891727Svbart@nginx.com</changes>
7901727Svbart@nginx.com
7911727Svbart@nginx.com
7921722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
7931722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7941722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7951722Svbart@nginx.com
7961722Svbart@nginx.com<change>
7971722Svbart@nginx.com<para>
7981722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
7991722Svbart@nginx.com</para>
8001722Svbart@nginx.com</change>
8011722Svbart@nginx.com
8021722Svbart@nginx.com</changes>
8031722Svbart@nginx.com
8041722Svbart@nginx.com
8051722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
8061722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8071722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8081722Svbart@nginx.com
8091722Svbart@nginx.com<change>
8101722Svbart@nginx.com<para>
8111722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
8121722Svbart@nginx.com</para>
8131722Svbart@nginx.com</change>
8141722Svbart@nginx.com
8151722Svbart@nginx.com</changes>
8161722Svbart@nginx.com
8171722Svbart@nginx.com
8181722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
8191722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8201722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8211722Svbart@nginx.com
8221722Svbart@nginx.com<change>
8231722Svbart@nginx.com<para>
8241722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
8251722Svbart@nginx.com</para>
8261722Svbart@nginx.com</change>
8271722Svbart@nginx.com
8281722Svbart@nginx.com</changes>
8291722Svbart@nginx.com
8301722Svbart@nginx.com
8311722Svbart@nginx.com<changes apply="unit-php
8321722Svbart@nginx.com                unit-python unit-python2.7
8331722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8341722Svbart@nginx.com                unit-python3.8
8351722Svbart@nginx.com                unit-go
8361722Svbart@nginx.com                unit-perl
8371722Svbart@nginx.com                unit-ruby
8381722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8391722Svbart@nginx.com         ver="1.21.0" rev="1"
8401722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8411722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8421722Svbart@nginx.com
8431722Svbart@nginx.com<change>
8441722Svbart@nginx.com<para>
8451722Svbart@nginx.comNGINX Unit updated to 1.21.0.
8461722Svbart@nginx.com</para>
8471722Svbart@nginx.com</change>
8481722Svbart@nginx.com
8491722Svbart@nginx.com</changes>
8501722Svbart@nginx.com
8511722Svbart@nginx.com
8521722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
8531722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8541722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8551722Svbart@nginx.com
8561722Svbart@nginx.com<change type="change">
8571722Svbart@nginx.com<para>
8581722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
8591722Svbart@nginx.com</para>
8601722Svbart@nginx.com</change>
8611722Svbart@nginx.com
8621722Svbart@nginx.com<change type="change">
8631722Svbart@nginx.com<para>
8641722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
8651722Svbart@nginx.comnames.
8661722Svbart@nginx.com</para>
8671722Svbart@nginx.com</change>
8681722Svbart@nginx.com
8691722Svbart@nginx.com<change type="change">
8701722Svbart@nginx.com<para>
8711722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
8721722Svbart@nginx.comdefault.
8731722Svbart@nginx.com</para>
8741722Svbart@nginx.com</change>
8751722Svbart@nginx.com
8761722Svbart@nginx.com<change type="feature">
8771722Svbart@nginx.com<para>
8781722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
8791722Svbart@nginx.com</para>
8801722Svbart@nginx.com</change>
8811722Svbart@nginx.com
8821722Svbart@nginx.com<change type="feature">
8831722Svbart@nginx.com<para>
8841722Svbart@nginx.comregular expressions in route matching patterns.
8851722Svbart@nginx.com</para>
8861722Svbart@nginx.com</change>
8871722Svbart@nginx.com
8881722Svbart@nginx.com<change type="feature">
8891722Svbart@nginx.com<para>
8901722Svbart@nginx.comcompatibility with Python 3.9.
8911722Svbart@nginx.com</para>
8921722Svbart@nginx.com</change>
8931722Svbart@nginx.com
8941722Svbart@nginx.com<change type="feature">
8951722Svbart@nginx.com<para>
8961722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
8971722Svbart@nginx.com</para>
8981722Svbart@nginx.com</change>
8991722Svbart@nginx.com
9001722Svbart@nginx.com<change type="feature">
9011722Svbart@nginx.com<para>
9021722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
9031722Svbart@nginx.com</para>
9041722Svbart@nginx.com</change>
9051722Svbart@nginx.com
9061722Svbart@nginx.com<change type="feature">
9071722Svbart@nginx.com<para>
9081722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
9091722Svbart@nginx.comcontinues code execution without holding onto the client connection.
9101722Svbart@nginx.com</para>
9111722Svbart@nginx.com</change>
9121722Svbart@nginx.com
9131722Svbart@nginx.com<change type="feature">
9141722Svbart@nginx.com<para>
9151722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
9161722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
9171722Svbart@nginx.com</para>
9181722Svbart@nginx.com</change>
9191722Svbart@nginx.com
9201722Svbart@nginx.com<change type="feature">
9211722Svbart@nginx.com<para>
9221722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
9231722Svbart@nginx.commounting of eponymous filesystems.
9241722Svbart@nginx.com</para>
9251722Svbart@nginx.com</change>
9261722Svbart@nginx.com
9271722Svbart@nginx.com<change type="bugfix">
9281722Svbart@nginx.com<para>
9291722Svbart@nginx.comthe router process could crash when running Go applications under high load;
9301722Svbart@nginx.comthe bug had appeared in 1.19.0.
9311722Svbart@nginx.com</para>
9321722Svbart@nginx.com</change>
9331722Svbart@nginx.com
9341722Svbart@nginx.com<change type="bugfix">
9351722Svbart@nginx.com<para>
9361722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
9371722Svbart@nginx.com</para>
9381722Svbart@nginx.com</change>
9391722Svbart@nginx.com
9401722Svbart@nginx.com<change type="bugfix">
9411722Svbart@nginx.com<para>
9421722Svbart@nginx.comvarious compatibility issues in Java applications.
9431722Svbart@nginx.com</para>
9441722Svbart@nginx.com</change>
9451722Svbart@nginx.com
9461722Svbart@nginx.com<change type="bugfix">
9471722Svbart@nginx.com<para>
9481722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
9491722Svbart@nginx.comuse "rootfs" isolation.
9501722Svbart@nginx.com</para>
9511722Svbart@nginx.com</change>
9521722Svbart@nginx.com
9531722Svbart@nginx.com</changes>
9541722Svbart@nginx.com
9551722Svbart@nginx.com
9561330Svbart@nginx.com<changes apply="unit-php
9571330Svbart@nginx.com                unit-python unit-python2.7
9581330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9591330Svbart@nginx.com                unit-python3.8
9601330Svbart@nginx.com                unit-go
9611330Svbart@nginx.com                unit-perl
9621330Svbart@nginx.com                unit-ruby
9631330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9641640Svbart@nginx.com         ver="1.20.0" rev="1"
9651640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9661640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9671640Svbart@nginx.com
9681640Svbart@nginx.com<change>
9691640Svbart@nginx.com<para>
9701640Svbart@nginx.comNGINX Unit updated to 1.20.0.
9711640Svbart@nginx.com</para>
9721640Svbart@nginx.com</change>
9731640Svbart@nginx.com
9741640Svbart@nginx.com</changes>
9751640Svbart@nginx.com
9761640Svbart@nginx.com
977