xref: /unit/docs/changes.xml (revision 2113)
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"
172012Svbart@nginx.com         ver="1.27.0" rev="1"
182012Svbart@nginx.com         date="" time=""
192012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
202012Svbart@nginx.com
212012Svbart@nginx.com<change>
222012Svbart@nginx.com<para>
232012Svbart@nginx.comNGINX Unit updated to 1.27.0.
242012Svbart@nginx.com</para>
252012Svbart@nginx.com</change>
262012Svbart@nginx.com
272012Svbart@nginx.com</changes>
282012Svbart@nginx.com
292012Svbart@nginx.com
302012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
312012Svbart@nginx.com         date="" time=""
322012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
332012Svbart@nginx.com
342072Sz.hong@f5.com<change type="feature">
352072Sz.hong@f5.com<para>
362108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
372108Salx.manpages@gmail.com</para>
382108Salx.manpages@gmail.com</change>
392108Salx.manpages@gmail.com
402108Salx.manpages@gmail.com<change type="feature">
412108Salx.manpages@gmail.com<para>
422081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
432081Salx.manpages@gmail.com</para>
442081Salx.manpages@gmail.com</change>
452081Salx.manpages@gmail.com
462081Salx.manpages@gmail.com<change type="feature">
472081Salx.manpages@gmail.com<para>
48*2113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
49*2113Sartem.konev@nginx.com</para>
50*2113Sartem.konev@nginx.com</change>
51*2113Sartem.konev@nginx.com
52*2113Sartem.konev@nginx.com<change type="feature">
53*2113Sartem.konev@nginx.com<para>
54*2113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
55*2113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
56*2113Sartem.konev@nginx.com</para>
57*2113Sartem.konev@nginx.com</change>
58*2113Sartem.konev@nginx.com
59*2113Sartem.konev@nginx.com<change type="feature">
60*2113Sartem.konev@nginx.com<para>
61*2113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support.
622110Salx.manpages@gmail.com</para>
632110Salx.manpages@gmail.com</change>
642110Salx.manpages@gmail.com
652110Salx.manpages@gmail.com<change type="feature">
662110Salx.manpages@gmail.com<para>
672072Sz.hong@f5.comcompatibility with GCC 12.
682072Sz.hong@f5.com</para>
692072Sz.hong@f5.com</change>
702072Sz.hong@f5.com
712060Smax.romanov@nginx.com<change type="bugfix">
722060Smax.romanov@nginx.com<para>
732093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
742093Sz.hong@f5.com</para>
752093Sz.hong@f5.com</change>
762093Sz.hong@f5.com
772093Sz.hong@f5.com<change type="bugfix">
782093Sz.hong@f5.com<para>
79*2113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four
802069Sz.hong@f5.comcertificates was uploaded.
812069Sz.hong@f5.com</para>
822069Sz.hong@f5.com</change>
832069Sz.hong@f5.com
842069Sz.hong@f5.com<change type="bugfix">
852069Sz.hong@f5.com<para>
862060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
872060Smax.romanov@nginx.com</para>
882060Smax.romanov@nginx.com</change>
892060Smax.romanov@nginx.com
902061Smax.romanov@nginx.com<change type="bugfix">
912061Smax.romanov@nginx.com<para>
922061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
932061Smax.romanov@nginx.com</para>
942061Smax.romanov@nginx.com</change>
952061Smax.romanov@nginx.com
962067Smax.romanov@nginx.com<change type="bugfix">
972067Smax.romanov@nginx.com<para>
982067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
992067Smax.romanov@nginx.comobject, notably with Falcon.
1002067Smax.romanov@nginx.com</para>
1012067Smax.romanov@nginx.com</change>
1022067Smax.romanov@nginx.com
1032050Svbart@nginx.com</changes>
1042050Svbart@nginx.com
1052050Svbart@nginx.com
1062050Svbart@nginx.com<changes apply="unit-php
1072050Svbart@nginx.com                unit-python unit-python2.7
1082050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1092050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1102050Svbart@nginx.com                unit-go
1112050Svbart@nginx.com                unit-perl
1122050Svbart@nginx.com                unit-ruby
1132050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1142050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1152029SN/A         ver="1.26.1" rev="1"
1162045SN/A         date="2021-12-02" time="18:00:00 +0300"
1172029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1182029SN/A
1192029SN/A<change>
1202029SN/A<para>
1212029SN/ANGINX Unit updated to 1.26.1.
1222029SN/A</para>
1232029SN/A</change>
1242029SN/A
1252029SN/A</changes>
1262029SN/A
1272029SN/A
1282029SN/A<changes apply="unit" ver="1.26.1" rev="1"
1292045SN/A         date="2021-12-02" time="18:00:00 +0300"
1302029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1312029SN/A
1322033SN/A<change type="bugfix">
1332033SN/A<para>
1342044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
1352044SN/Aappeared in 1.26.0.
1362033SN/A</para>
1372033SN/A</change>
1382033SN/A
1392034SN/A<change type="bugfix">
1402034SN/A<para>
1412044SN/Aa prototype process could crash on an application process exit; the bug had
1422034SN/Aappeared in 1.26.0.
1432034SN/A</para>
1442034SN/A</change>
1452034SN/A
1462035SN/A<change type="bugfix">
1472035SN/A<para>
1482044SN/Athe router process crashed on reconfiguration if "access_log" was configured
1492044SN/Awithout listeners.
1502044SN/A</para>
1512044SN/A</change>
1522044SN/A
1532044SN/A<change type="bugfix">
1542044SN/A<para>
1552035SN/Aa segmentation fault occurred in the PHP module if chdir() or
1562035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
1572035SN/A</para>
1582035SN/A</change>
1592035SN/A
1602040SN/A<change type="bugfix">
1612040SN/A<para>
1622041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
1632041SN/A</para>
1642041SN/A</change>
1652041SN/A
1662029SN/A</changes>
1672029SN/A
1682029SN/A
1691973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
1702007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1711973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1721973Sdefan@nginx.com
1731973Sdefan@nginx.com<change>
1741973Sdefan@nginx.com<para>
1751973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
1761973Sdefan@nginx.com</para>
1771973Sdefan@nginx.com</change>
1781973Sdefan@nginx.com
1791973Sdefan@nginx.com</changes>
1801973Sdefan@nginx.com
1811973Sdefan@nginx.com
1821973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
1832007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1841973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1851973Sdefan@nginx.com
1861973Sdefan@nginx.com<change>
1871973Sdefan@nginx.com<para>
1881973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
1891973Sdefan@nginx.com</para>
1901973Sdefan@nginx.com</change>
1911973Sdefan@nginx.com
1921973Sdefan@nginx.com</changes>
1931973Sdefan@nginx.com
1941973Sdefan@nginx.com
1951896Svbart@nginx.com<changes apply="unit-php
1961896Svbart@nginx.com                unit-python unit-python2.7
1971896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1981896Svbart@nginx.com                unit-python3.8 unit-python3.9
1991896Svbart@nginx.com                unit-go
2001896Svbart@nginx.com                unit-perl
2011896Svbart@nginx.com                unit-ruby
2021896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2031896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2041951Svbart@nginx.com         ver="1.26.0" rev="1"
2052007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2061951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2071951Svbart@nginx.com
2081951Svbart@nginx.com<change>
2091951Svbart@nginx.com<para>
2101951Svbart@nginx.comNGINX Unit updated to 1.26.0.
2111951Svbart@nginx.com</para>
2121951Svbart@nginx.com</change>
2131951Svbart@nginx.com
2141951Svbart@nginx.com</changes>
2151951Svbart@nginx.com
2161951Svbart@nginx.com
2171951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
2182007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2191951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2201951Svbart@nginx.com
2211960Sz.hong@f5.com<change type="change">
2221960Sz.hong@f5.com<para>
2231960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
2241960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
2251960Sz.hong@f5.com</para>
2261960Sz.hong@f5.com</change>
2271960Sz.hong@f5.com
2281960Sz.hong@f5.com<change type="feature">
2291960Sz.hong@f5.com<para>
2302006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
2312006Svbart@nginx.comwhen updating from previous versions.
2322006Svbart@nginx.com</para>
2332006Svbart@nginx.com</change>
2342006Svbart@nginx.com
2352006Svbart@nginx.com<change type="feature">
2362006Svbart@nginx.com<para>
2371960Sz.hong@f5.comvariables support in the "share" option.
2381960Sz.hong@f5.com</para>
2391960Sz.hong@f5.com</change>
2401960Sz.hong@f5.com
2411959Sz.hong@f5.com<change type="feature">
2421959Sz.hong@f5.com<para>
2431961Sz.hong@f5.commultiple paths in the "share" option.
2441961Sz.hong@f5.com</para>
2451961Sz.hong@f5.com</change>
2461961Sz.hong@f5.com
2471961Sz.hong@f5.com<change type="feature">
2481961Sz.hong@f5.com<para>
2491959Sz.hong@f5.comvariables support in the "chroot" option.
2501959Sz.hong@f5.com</para>
2511959Sz.hong@f5.com</change>
2521959Sz.hong@f5.com
2531969Sz.hong@f5.com<change type="feature">
2541969Sz.hong@f5.com<para>
2552006Svbart@nginx.comPHP opcache is shared between application processes.
2561969Sz.hong@f5.com</para>
2571969Sz.hong@f5.com</change>
2581969Sz.hong@f5.com
2591991Sz.hong@f5.com<change type="feature">
2601991Sz.hong@f5.com<para>
2611991Sz.hong@f5.comrequest routing by the query string.
2621991Sz.hong@f5.com</para>
2631991Sz.hong@f5.com</change>
2641991Sz.hong@f5.com
2651955Smax.romanov@nginx.com<change type="bugfix">
2661955Smax.romanov@nginx.com<para>
2672006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
2682006Svbart@nginx.comby asynchronous or multithreaded apps.
2691955Smax.romanov@nginx.com</para>
2701955Smax.romanov@nginx.com</change>
2711955Smax.romanov@nginx.com
2721956Smax.romanov@nginx.com<change type="bugfix">
2731956Smax.romanov@nginx.com<para>
2741956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
2751956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
2761956Smax.romanov@nginx.com</para>
2771956Smax.romanov@nginx.com</change>
2781956Smax.romanov@nginx.com
2791992Smax.romanov@nginx.com<change type="bugfix">
2801992Smax.romanov@nginx.com<para>
2812006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
2821992Smax.romanov@nginx.com</para>
2831992Smax.romanov@nginx.com</change>
2841992Smax.romanov@nginx.com
2851951Svbart@nginx.com</changes>
2861951Svbart@nginx.com
2871951Svbart@nginx.com
2881951Svbart@nginx.com<changes apply="unit-php
2891951Svbart@nginx.com                unit-python unit-python2.7
2901951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2911951Svbart@nginx.com                unit-python3.8 unit-python3.9
2921951Svbart@nginx.com                unit-go
2931951Svbart@nginx.com                unit-perl
2941951Svbart@nginx.com                unit-ruby
2951951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2961951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2971896Svbart@nginx.com         ver="1.25.0" rev="1"
2981945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2991896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3001896Svbart@nginx.com
3011896Svbart@nginx.com<change>
3021896Svbart@nginx.com<para>
3031896Svbart@nginx.comNGINX Unit updated to 1.25.0.
3041896Svbart@nginx.com</para>
3051896Svbart@nginx.com</change>
3061896Svbart@nginx.com
3071896Svbart@nginx.com</changes>
3081896Svbart@nginx.com
3091896Svbart@nginx.com
3101896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
3111945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3121896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3131896Svbart@nginx.com
3141910So.canty@f5.com<change type="feature">
3151910So.canty@f5.com<para>
3161944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
3171942Sa.suvorov@f5.com</para>
3181942Sa.suvorov@f5.com</change>
3191942Sa.suvorov@f5.com
3201942Sa.suvorov@f5.com<change type="feature">
3211942Sa.suvorov@f5.com<para>
3221920Sa.suvorov@f5.comTLS sessions cache.
3231920Sa.suvorov@f5.com</para>
3241920Sa.suvorov@f5.com</change>
3251920Sa.suvorov@f5.com
3261920Sa.suvorov@f5.com<change type="feature">
3271920Sa.suvorov@f5.com<para>
3281944Svbart@nginx.comTLS session tickets.
3291910So.canty@f5.com</para>
3301910So.canty@f5.com</change>
3311910So.canty@f5.com
3321926Smax.romanov@nginx.com<change type="feature">
3331926Smax.romanov@nginx.com<para>
3341926Smax.romanov@nginx.comapplication restart control.
3351926Smax.romanov@nginx.com</para>
3361926Smax.romanov@nginx.com</change>
3371926Smax.romanov@nginx.com
3381936So.canty@f5.com<change type="feature">
3391936So.canty@f5.com<para>
3401944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
3411936So.canty@f5.com</para>
3421936So.canty@f5.com</change>
3431936So.canty@f5.com
3441907Smax.romanov@nginx.com<change type="bugfix">
3451907Smax.romanov@nginx.com<para>
3461944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
3471944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
3481921Sa.suvorov@f5.com</para>
3491921Sa.suvorov@f5.com</change>
3501921Sa.suvorov@f5.com
3511921Sa.suvorov@f5.com<change type="bugfix">
3521921Sa.suvorov@f5.com<para>
3531944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
3541944Svbart@nginx.combundles in a listener if the client did not use SNI.
3551907Smax.romanov@nginx.com</para>
3561907Smax.romanov@nginx.com</change>
3571907Smax.romanov@nginx.com
3581907Smax.romanov@nginx.com<change type="bugfix">
3591907Smax.romanov@nginx.com<para>
3601950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
3611915Smax.romanov@nginx.comreconfiguration.
3621915Smax.romanov@nginx.com</para>
3631915Smax.romanov@nginx.com</change>
3641915Smax.romanov@nginx.com
3651915Smax.romanov@nginx.com<change type="bugfix">
3661915Smax.romanov@nginx.com<para>
3671944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
3681944Svbart@nginx.comframework.
3691944Svbart@nginx.com</para>
3701944Svbart@nginx.com</change>
3711944Svbart@nginx.com
3721944Svbart@nginx.com<change type="bugfix">
3731944Svbart@nginx.com<para>
3741944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
3751944Svbart@nginx.comstopped or crashed.
3761907Smax.romanov@nginx.com</para>
3771907Smax.romanov@nginx.com</change>
3781907Smax.romanov@nginx.com
3791909So.canty@f5.com<change type="bugfix">
3801909So.canty@f5.com<para>
3811909So.canty@f5.comthe controller or router process could crash if the configuration contained
3821909So.canty@f5.coma full-form IPv6 in a listener address.
3831909So.canty@f5.com</para>
3841909So.canty@f5.com</change>
3851909So.canty@f5.com
3861916Smax.romanov@nginx.com<change type="bugfix">
3871916Smax.romanov@nginx.com<para>
3881929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
3891929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
3901929Sz.hong@f5.com</para>
3911929Sz.hong@f5.com</change>
3921929Sz.hong@f5.com
3931930So.canty@f5.com<change type="bugfix">
3941930So.canty@f5.com<para>
3951944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
3961944Svbart@nginx.comor destination address patterns.
3971930So.canty@f5.com</para>
3981930So.canty@f5.com</change>
3991930So.canty@f5.com
4001896Svbart@nginx.com</changes>
4011896Svbart@nginx.com
4021896Svbart@nginx.com
4031887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
4041891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4051887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4061887Sdefan@nginx.com
4071887Sdefan@nginx.com<change>
4081887Sdefan@nginx.com<para>
4091887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
4101887Sdefan@nginx.com</para>
4111887Sdefan@nginx.com</change>
4121887Sdefan@nginx.com
4131887Sdefan@nginx.com</changes>
4141887Sdefan@nginx.com
4151887Sdefan@nginx.com
4161887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
4171891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4181887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4191887Sdefan@nginx.com
4201887Sdefan@nginx.com<change>
4211887Sdefan@nginx.com<para>
4221887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
4231887Sdefan@nginx.com</para>
4241887Sdefan@nginx.com</change>
4251887Sdefan@nginx.com
4261887Sdefan@nginx.com</changes>
4271887Sdefan@nginx.com
4281887Sdefan@nginx.com
4291834Svbart@nginx.com<changes apply="unit-php
4301834Svbart@nginx.com                unit-python unit-python2.7
4311834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4321834Svbart@nginx.com                unit-python3.8 unit-python3.9
4331834Svbart@nginx.com                unit-go
4341834Svbart@nginx.com                unit-perl
4351834Svbart@nginx.com                unit-ruby
4361834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4371834Svbart@nginx.com                unit-jsc14 unit-jsc15"
4381839Svbart@nginx.com         ver="1.24.0" rev="1"
4391891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4401839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4411839Svbart@nginx.com
4421839Svbart@nginx.com<change>
4431839Svbart@nginx.com<para>
4441839Svbart@nginx.comNGINX Unit updated to 1.24.0.
4451839Svbart@nginx.com</para>
4461839Svbart@nginx.com</change>
4471839Svbart@nginx.com
4481839Svbart@nginx.com</changes>
4491839Svbart@nginx.com
4501839Svbart@nginx.com
4511839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
4521891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4531839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4541839Svbart@nginx.com
4551882So.canty@f5.com<change type="change">
4561882So.canty@f5.com<para>
4571882So.canty@f5.comPHP added to the default MIME type list.
4581882So.canty@f5.com</para>
4591882So.canty@f5.com</change>
4601882So.canty@f5.com
4611855Sz.hong@f5.com<change type="feature">
4621855Sz.hong@f5.com<para>
4631885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
4641885Sa.suvorov@f5.com</para>
4651885Sa.suvorov@f5.com</change>
4661885Sa.suvorov@f5.com
4671885Sa.suvorov@f5.com<change type="feature">
4681885Sa.suvorov@f5.com<para>
4691890Svbart@nginx.comthe ability to limit static file serving by MIME types.
4701890Svbart@nginx.com</para>
4711890Svbart@nginx.com</change>
4721890Svbart@nginx.com
4731890Svbart@nginx.com<change type="feature">
4741890Svbart@nginx.com<para>
4751890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
4761890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
4771872So.canty@f5.com</para>
4781872So.canty@f5.com</change>
4791872So.canty@f5.com
4801872So.canty@f5.com<change type="feature">
4811872So.canty@f5.com<para>
4821889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
4831889Sartem.konev@nginx.comNode.js.
4841865So.canty@f5.com</para>
4851865So.canty@f5.com</change>
4861865So.canty@f5.com
4871865So.canty@f5.com<change type="feature">
4881865So.canty@f5.com<para>
4891890Svbart@nginx.commultiple "targets" in Python applications.
4901855Sz.hong@f5.com</para>
4911855Sz.hong@f5.com</change>
4921855Sz.hong@f5.com
4931870So.canty@f5.com<change type="feature">
4941870So.canty@f5.com<para>
4951870So.canty@f5.comcompatibility with Ruby 3.0.
4961870So.canty@f5.com</para>
4971870So.canty@f5.com</change>
4981870So.canty@f5.com
4991861Svbart@nginx.com<change type="bugfix">
5001861Svbart@nginx.com<para>
5011889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
5021884Sa.suvorov@f5.com</para>
5031884Sa.suvorov@f5.com</change>
5041884Sa.suvorov@f5.com
5051884Sa.suvorov@f5.com<change type="bugfix">
5061884Sa.suvorov@f5.com<para>
5071861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
5081861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
5091861Svbart@nginx.com</para>
5101861Svbart@nginx.com</change>
5111861Svbart@nginx.com
5121839Svbart@nginx.com</changes>
5131839Svbart@nginx.com
5141839Svbart@nginx.com
5151839Svbart@nginx.com<changes apply="unit-php
5161839Svbart@nginx.com                unit-python unit-python2.7
5171839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5181839Svbart@nginx.com                unit-python3.8 unit-python3.9
5191839Svbart@nginx.com                unit-go
5201839Svbart@nginx.com                unit-perl
5211839Svbart@nginx.com                unit-ruby
5221839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5231839Svbart@nginx.com                unit-jsc14 unit-jsc15"
5241834Svbart@nginx.com         ver="1.23.0" rev="1"
5251834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5261834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5271834Svbart@nginx.com
5281834Svbart@nginx.com<change>
5291834Svbart@nginx.com<para>
5301834Svbart@nginx.comNGINX Unit updated to 1.23.0.
5311834Svbart@nginx.com</para>
5321834Svbart@nginx.com</change>
5331834Svbart@nginx.com
5341834Svbart@nginx.com</changes>
5351834Svbart@nginx.com
5361834Svbart@nginx.com
5371806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
5381834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5391806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5401806Svbart@nginx.com
5411825Sthresh@nginx.com<change type="feature">
5421825Sthresh@nginx.com<para>
5431833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
5441828Sa.suvorov@f5.comIndication (SNI) TLS extension.
5451828Sa.suvorov@f5.com</para>
5461828Sa.suvorov@f5.com</change>
5471828Sa.suvorov@f5.com
5481828Sa.suvorov@f5.com<change type="feature">
5491828Sa.suvorov@f5.com<para>
5501833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
5511833Sartem.konev@nginx.cominstallation.
5521825Sthresh@nginx.com</para>
5531825Sthresh@nginx.com</change>
5541825Sthresh@nginx.com
5551811Smax.romanov@nginx.com<change type="bugfix">
5561811Smax.romanov@nginx.com<para>
5571812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
5581812Svbart@nginx.comappeared in 1.17.0.
5591812Svbart@nginx.com</para>
5601812Svbart@nginx.com</change>
5611812Svbart@nginx.com
5621812Svbart@nginx.com<change type="bugfix">
5631812Svbart@nginx.com<para>
5641833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
5651812Svbart@nginx.comappeared in 1.6.
5661812Svbart@nginx.com</para>
5671812Svbart@nginx.com</change>
5681812Svbart@nginx.com
5691812Svbart@nginx.com<change type="bugfix">
5701812Svbart@nginx.com<para>
5711833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
5721832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
5731832Smax.romanov@nginx.com</para>
5741832Smax.romanov@nginx.com</change>
5751832Smax.romanov@nginx.com
5761832Smax.romanov@nginx.com<change type="bugfix">
5771832Smax.romanov@nginx.com<para>
5781833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
5791811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
5801811Smax.romanov@nginx.com</para>
5811811Smax.romanov@nginx.com</change>
5821806Svbart@nginx.com
5831813Svbart@nginx.com<change type="bugfix">
5841813Svbart@nginx.com<para>
5851813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
5861813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
5871813Svbart@nginx.com</para>
5881813Svbart@nginx.com</change>
5891813Svbart@nginx.com
5901814Svbart@nginx.com<change type="bugfix">
5911814Svbart@nginx.com<para>
5921820Svbart@nginx.comthe controller process could crash while requesting information about a
5931820Svbart@nginx.comcertificate with a non-DNS SAN entry.
5941820Svbart@nginx.com</para>
5951820Svbart@nginx.com</change>
5961820Svbart@nginx.com
5971820Svbart@nginx.com<change type="bugfix">
5981820Svbart@nginx.com<para>
5991822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
6001833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
6011822Svbart@nginx.com</para>
6021822Svbart@nginx.com</change>
6031822Svbart@nginx.com
6041822Svbart@nginx.com<change type="bugfix">
6051822Svbart@nginx.com<para>
6061833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
6071833Sartem.konev@nginx.comclass.
6081814Svbart@nginx.com</para>
6091814Svbart@nginx.com</change>
6101814Svbart@nginx.com
6111815Svbart@nginx.com<change type="bugfix">
6121815Svbart@nginx.com<para>
6131815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
6141815Svbart@nginx.comappeared in 1.22.0.
6151815Svbart@nginx.com</para>
6161815Svbart@nginx.com</change>
6171815Svbart@nginx.com
6181806Svbart@nginx.com</changes>
6191806Svbart@nginx.com
6201806Svbart@nginx.com
6211798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
6221798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6231798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6241798Sdefan@nginx.com
6251798Sdefan@nginx.com<change>
6261798Sdefan@nginx.com<para>
6271798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
6281798Sdefan@nginx.com</para>
6291798Sdefan@nginx.com</change>
6301798Sdefan@nginx.com
6311798Sdefan@nginx.com</changes>
6321798Sdefan@nginx.com
6331798Sdefan@nginx.com
6341763Sdefan@nginx.com<changes apply="unit-php
6351763Sdefan@nginx.com                unit-python unit-python2.7
6361763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6371763Sdefan@nginx.com                unit-python3.8
6381763Sdefan@nginx.com                unit-go
6391763Sdefan@nginx.com                unit-perl
6401763Sdefan@nginx.com                unit-ruby
6411763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6421763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
6431763Sdefan@nginx.com         ver="1.22.0" rev="1"
6441793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6451763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6461763Sdefan@nginx.com
6471763Sdefan@nginx.com<change>
6481763Sdefan@nginx.com<para>
6491763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
6501763Sdefan@nginx.com</para>
6511763Sdefan@nginx.com</change>
6521763Sdefan@nginx.com
6531763Sdefan@nginx.com</changes>
6541763Sdefan@nginx.com
6551763Sdefan@nginx.com
6561727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
6571793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6581727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6591727Svbart@nginx.com
6601759Svbart@nginx.com<change type="feature">
6611759Svbart@nginx.com<para>
6621792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
6631792Svbart@nginx.comcompliant with Stream API.
6641759Svbart@nginx.com</para>
6651759Svbart@nginx.com</change>
6661759Svbart@nginx.com
6671766Smax.romanov@nginx.com<change type="feature">
6681766Smax.romanov@nginx.com<para>
6691792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
6701792Svbart@nginx.comapps.
6711732Svbart@nginx.com</para>
6721732Svbart@nginx.com</change>
6731732Svbart@nginx.com
6741733Svbart@nginx.com<change type="bugfix">
6751733Svbart@nginx.com<para>
6761792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
6771792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
6781754Smax.romanov@nginx.com</para>
6791754Smax.romanov@nginx.com</change>
6801754Smax.romanov@nginx.com
6811755Smax.romanov@nginx.com<change type="bugfix">
6821755Smax.romanov@nginx.com<para>
6831790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
6841755Smax.romanov@nginx.comappeared in 1.19.0.
6851755Smax.romanov@nginx.com</para>
6861755Smax.romanov@nginx.com</change>
6871755Smax.romanov@nginx.com
6881756Smax.romanov@nginx.com<change type="bugfix">
6891756Smax.romanov@nginx.com<para>
6901790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
6911790Sartem.konev@nginx.comappeared in 1.19.0.
6921756Smax.romanov@nginx.com</para>
6931756Smax.romanov@nginx.com</change>
6941756Smax.romanov@nginx.com
6951760Smax.romanov@nginx.com<change type="bugfix">
6961760Smax.romanov@nginx.com<para>
6971792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
6981792Svbart@nginx.com</para>
6991792Svbart@nginx.com</change>
7001792Svbart@nginx.com
7011792Svbart@nginx.com<change type="bugfix">
7021792Svbart@nginx.com<para>
7031792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
7041792Svbart@nginx.commissing in the PHP module.
7051792Svbart@nginx.com</para>
7061792Svbart@nginx.com</change>
7071792Svbart@nginx.com
7081792Svbart@nginx.com<change type="bugfix">
7091792Svbart@nginx.com<para>
7101792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
7111792Svbart@nginx.com</para>
7121792Svbart@nginx.com</change>
7131792Svbart@nginx.com
7141792Svbart@nginx.com<change type="bugfix">
7151792Svbart@nginx.com<para>
7161792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
7171792Svbart@nginx.com</para>
7181792Svbart@nginx.com</change>
7191792Svbart@nginx.com
7201792Svbart@nginx.com<change type="bugfix">
7211792Svbart@nginx.com<para>
7221792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
7231792Svbart@nginx.comthe bug had appeared in 1.21.0.
7241760Smax.romanov@nginx.com</para>
7251760Smax.romanov@nginx.com</change>
7261760Smax.romanov@nginx.com
7271780Smax.romanov@nginx.com<change type="bugfix">
7281780Smax.romanov@nginx.com<para>
7291790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
7301790Sartem.konev@nginx.comWebSocket.
7311780Smax.romanov@nginx.com</para>
7321780Smax.romanov@nginx.com</change>
7331780Smax.romanov@nginx.com
7341789Smax.romanov@nginx.com<change type="bugfix">
7351789Smax.romanov@nginx.com<para>
7361789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
7371789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
7381789Smax.romanov@nginx.com</para>
7391789Smax.romanov@nginx.com</change>
7401789Smax.romanov@nginx.com
7411727Svbart@nginx.com</changes>
7421727Svbart@nginx.com
7431727Svbart@nginx.com
7441722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
7451722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7461722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7471722Svbart@nginx.com
7481722Svbart@nginx.com<change>
7491722Svbart@nginx.com<para>
7501722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
7511722Svbart@nginx.com</para>
7521722Svbart@nginx.com</change>
7531722Svbart@nginx.com
7541722Svbart@nginx.com</changes>
7551722Svbart@nginx.com
7561722Svbart@nginx.com
7571722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
7581722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7591722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7601722Svbart@nginx.com
7611722Svbart@nginx.com<change>
7621722Svbart@nginx.com<para>
7631722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
7641722Svbart@nginx.com</para>
7651722Svbart@nginx.com</change>
7661722Svbart@nginx.com
7671722Svbart@nginx.com</changes>
7681722Svbart@nginx.com
7691722Svbart@nginx.com
7701722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
7711722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7721722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7731722Svbart@nginx.com
7741722Svbart@nginx.com<change>
7751722Svbart@nginx.com<para>
7761722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
7771722Svbart@nginx.com</para>
7781722Svbart@nginx.com</change>
7791722Svbart@nginx.com
7801722Svbart@nginx.com</changes>
7811722Svbart@nginx.com
7821722Svbart@nginx.com
7831722Svbart@nginx.com<changes apply="unit-php
7841722Svbart@nginx.com                unit-python unit-python2.7
7851722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7861722Svbart@nginx.com                unit-python3.8
7871722Svbart@nginx.com                unit-go
7881722Svbart@nginx.com                unit-perl
7891722Svbart@nginx.com                unit-ruby
7901722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7911722Svbart@nginx.com         ver="1.21.0" rev="1"
7921722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7931722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7941722Svbart@nginx.com
7951722Svbart@nginx.com<change>
7961722Svbart@nginx.com<para>
7971722Svbart@nginx.comNGINX Unit updated to 1.21.0.
7981722Svbart@nginx.com</para>
7991722Svbart@nginx.com</change>
8001722Svbart@nginx.com
8011722Svbart@nginx.com</changes>
8021722Svbart@nginx.com
8031722Svbart@nginx.com
8041722Svbart@nginx.com<changes apply="unit" 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 type="change">
8091722Svbart@nginx.com<para>
8101722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
8111722Svbart@nginx.com</para>
8121722Svbart@nginx.com</change>
8131722Svbart@nginx.com
8141722Svbart@nginx.com<change type="change">
8151722Svbart@nginx.com<para>
8161722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
8171722Svbart@nginx.comnames.
8181722Svbart@nginx.com</para>
8191722Svbart@nginx.com</change>
8201722Svbart@nginx.com
8211722Svbart@nginx.com<change type="change">
8221722Svbart@nginx.com<para>
8231722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
8241722Svbart@nginx.comdefault.
8251722Svbart@nginx.com</para>
8261722Svbart@nginx.com</change>
8271722Svbart@nginx.com
8281722Svbart@nginx.com<change type="feature">
8291722Svbart@nginx.com<para>
8301722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
8311722Svbart@nginx.com</para>
8321722Svbart@nginx.com</change>
8331722Svbart@nginx.com
8341722Svbart@nginx.com<change type="feature">
8351722Svbart@nginx.com<para>
8361722Svbart@nginx.comregular expressions in route matching patterns.
8371722Svbart@nginx.com</para>
8381722Svbart@nginx.com</change>
8391722Svbart@nginx.com
8401722Svbart@nginx.com<change type="feature">
8411722Svbart@nginx.com<para>
8421722Svbart@nginx.comcompatibility with Python 3.9.
8431722Svbart@nginx.com</para>
8441722Svbart@nginx.com</change>
8451722Svbart@nginx.com
8461722Svbart@nginx.com<change type="feature">
8471722Svbart@nginx.com<para>
8481722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
8491722Svbart@nginx.com</para>
8501722Svbart@nginx.com</change>
8511722Svbart@nginx.com
8521722Svbart@nginx.com<change type="feature">
8531722Svbart@nginx.com<para>
8541722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
8551722Svbart@nginx.com</para>
8561722Svbart@nginx.com</change>
8571722Svbart@nginx.com
8581722Svbart@nginx.com<change type="feature">
8591722Svbart@nginx.com<para>
8601722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
8611722Svbart@nginx.comcontinues code execution without holding onto the client connection.
8621722Svbart@nginx.com</para>
8631722Svbart@nginx.com</change>
8641722Svbart@nginx.com
8651722Svbart@nginx.com<change type="feature">
8661722Svbart@nginx.com<para>
8671722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
8681722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
8691722Svbart@nginx.com</para>
8701722Svbart@nginx.com</change>
8711722Svbart@nginx.com
8721722Svbart@nginx.com<change type="feature">
8731722Svbart@nginx.com<para>
8741722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
8751722Svbart@nginx.commounting of eponymous filesystems.
8761722Svbart@nginx.com</para>
8771722Svbart@nginx.com</change>
8781722Svbart@nginx.com
8791722Svbart@nginx.com<change type="bugfix">
8801722Svbart@nginx.com<para>
8811722Svbart@nginx.comthe router process could crash when running Go applications under high load;
8821722Svbart@nginx.comthe bug had appeared in 1.19.0.
8831722Svbart@nginx.com</para>
8841722Svbart@nginx.com</change>
8851722Svbart@nginx.com
8861722Svbart@nginx.com<change type="bugfix">
8871722Svbart@nginx.com<para>
8881722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
8891722Svbart@nginx.com</para>
8901722Svbart@nginx.com</change>
8911722Svbart@nginx.com
8921722Svbart@nginx.com<change type="bugfix">
8931722Svbart@nginx.com<para>
8941722Svbart@nginx.comvarious compatibility issues in Java applications.
8951722Svbart@nginx.com</para>
8961722Svbart@nginx.com</change>
8971722Svbart@nginx.com
8981722Svbart@nginx.com<change type="bugfix">
8991722Svbart@nginx.com<para>
9001722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
9011722Svbart@nginx.comuse "rootfs" isolation.
9021722Svbart@nginx.com</para>
9031722Svbart@nginx.com</change>
9041722Svbart@nginx.com
9051722Svbart@nginx.com</changes>
9061722Svbart@nginx.com
9071722Svbart@nginx.com
9081330Svbart@nginx.com<changes apply="unit-php
9091330Svbart@nginx.com                unit-python unit-python2.7
9101330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9111330Svbart@nginx.com                unit-python3.8
9121330Svbart@nginx.com                unit-go
9131330Svbart@nginx.com                unit-perl
9141330Svbart@nginx.com                unit-ruby
9151330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9161640Svbart@nginx.com         ver="1.20.0" rev="1"
9171640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9181640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9191640Svbart@nginx.com
9201640Svbart@nginx.com<change>
9211640Svbart@nginx.com<para>
9221640Svbart@nginx.comNGINX Unit updated to 1.20.0.
9231640Svbart@nginx.com</para>
9241640Svbart@nginx.com</change>
9251640Svbart@nginx.com
9261640Svbart@nginx.com</changes>
9271640Svbart@nginx.com
9281640Svbart@nginx.com
9291640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
9301640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9311640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9321640Svbart@nginx.com
9331640Svbart@nginx.com<change type="change">
9341640Svbart@nginx.com<para>
9351640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
9361640Svbart@nginx.comextensions from the host system.
9371640Svbart@nginx.com</para>
9381640Svbart@nginx.com</change>
9391640Svbart@nginx.com
9401640Svbart@nginx.com<change type="change">
9411640Svbart@nginx.com<para>
9421640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
9431640Svbart@nginx.com</para>
9441640Svbart@nginx.com</change>
9451640Svbart@nginx.com
9461643Svbart@nginx.com<change type="change">
9471643Svbart@nginx.com<para>
9481643Svbart@nginx.comfunctional tests migrated to the pytest framework.
9491643Svbart@nginx.com</para>
9501643Svbart@nginx.com</change>
9511643Svbart@nginx.com
9521640Svbart@nginx.com<change type="feature">
9531640Svbart@nginx.com<para>
9541640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
9551640Svbart@nginx.cominterface.
9561640Svbart@nginx.com</para>
9571640Svbart@nginx.com</change>
9581640Svbart@nginx.com
9591640Svbart@nginx.com<change type="feature">
9601640Svbart@nginx.com<para>
9611640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
9621640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
9631640Svbart@nginx.comspecification.
9641640Svbart@nginx.com</para>
9651640Svbart@nginx.com</change>
9661640Svbart@nginx.com
9671640Svbart@nginx.com<change type="feature">
9681640Svbart@nginx.com<para>
9691640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
9701640Svbart@nginx.comenvironments.
9711640Svbart@nginx.com</para>
9721640Svbart@nginx.com</change>
9731640Svbart@nginx.com
9741640Svbart@nginx.com<change type="feature">
9751640Svbart@nginx.com<para>
9761640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
9771640Svbart@nginx.com</para>
9781640Svbart@nginx.com</change>
9791640Svbart@nginx.com
9801640Svbart@nginx.com<change type="feature">
9811640Svbart@nginx.com<para>
9821640Svbart@nginx.comthe "callable" option sets Python application callable names.
9831640Svbart@nginx.com</para>
9841640Svbart@nginx.com</change>
9851640Svbart@nginx.com
9861640Svbart@nginx.com<change type="feature">
9871640Svbart@nginx.com<para>
9881640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
9891640Svbart@nginx.com</para>
9901640Svbart@nginx.com</change>
9911640Svbart@nginx.com
9921640Svbart@nginx.com<change type="feature">
9931640Svbart@nginx.com<para>
9941640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
9951640Svbart@nginx.comautomatic mounting of language module dependencies.
9961640Svbart@nginx.com</para>
9971640Svbart@nginx.com</change>
9981640Svbart@nginx.com
9991640Svbart@nginx.com<change type="bugfix">
10001640Svbart@nginx.com<para>
10011640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
10021640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
10031640Svbart@nginx.com</para>
10041640Svbart@nginx.com</change>
10051640Svbart@nginx.com
1006