xref: /unit/docs/changes.xml (revision 2110)
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
342087Sz.hong@f5.com<change type="change">
352087Sz.hong@f5.com<para>
362087Sz.hong@f5.comRuby Rack environment parameter "SCRIPT_NAME" support.
372087Sz.hong@f5.com</para>
382087Sz.hong@f5.com</change>
392087Sz.hong@f5.com
402098Salx.manpages@gmail.com<change type="change">
412098Salx.manpages@gmail.com<para>
422098Salx.manpages@gmail.comsupporting empty strings in the "location" option of the "return" action.
432098Salx.manpages@gmail.com</para>
442098Salx.manpages@gmail.com</change>
452098Salx.manpages@gmail.com
462072Sz.hong@f5.com<change type="feature">
472072Sz.hong@f5.com<para>
482108Salx.manpages@gmail.comability to specify a custom index file name when serving static files.
492108Salx.manpages@gmail.com</para>
502108Salx.manpages@gmail.com</change>
512108Salx.manpages@gmail.com
522108Salx.manpages@gmail.com<change type="feature">
532108Salx.manpages@gmail.com<para>
542081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
552081Salx.manpages@gmail.com</para>
562081Salx.manpages@gmail.com</change>
572081Salx.manpages@gmail.com
582081Salx.manpages@gmail.com<change type="feature">
592081Salx.manpages@gmail.com<para>
60*2110Salx.manpages@gmail.comadded new variable $request_uri with the same meaning as in NGINX.
61*2110Salx.manpages@gmail.com</para>
62*2110Salx.manpages@gmail.com</change>
63*2110Salx.manpages@gmail.com
64*2110Salx.manpages@gmail.com<change type="feature">
65*2110Salx.manpages@gmail.com<para>
662072Sz.hong@f5.comcompatibility with GCC 12.
672072Sz.hong@f5.com</para>
682072Sz.hong@f5.com</change>
692072Sz.hong@f5.com
702060Smax.romanov@nginx.com<change type="bugfix">
712060Smax.romanov@nginx.com<para>
722093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging.
732093Sz.hong@f5.com</para>
742093Sz.hong@f5.com</change>
752093Sz.hong@f5.com
762093Sz.hong@f5.com<change type="bugfix">
772093Sz.hong@f5.com<para>
782069Sz.hong@f5.comthe controller process could crash when a chain with more than 4
792069Sz.hong@f5.comcertificates was uploaded.
802069Sz.hong@f5.com</para>
812069Sz.hong@f5.com</change>
822069Sz.hong@f5.com
832069Sz.hong@f5.com<change type="bugfix">
842069Sz.hong@f5.com<para>
852060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
862060Smax.romanov@nginx.com</para>
872060Smax.romanov@nginx.com</change>
882060Smax.romanov@nginx.com
892061Smax.romanov@nginx.com<change type="bugfix">
902061Smax.romanov@nginx.com<para>
912061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
922061Smax.romanov@nginx.com</para>
932061Smax.romanov@nginx.com</change>
942061Smax.romanov@nginx.com
952067Smax.romanov@nginx.com<change type="bugfix">
962067Smax.romanov@nginx.com<para>
972067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
982067Smax.romanov@nginx.comobject, notably with Falcon.
992067Smax.romanov@nginx.com</para>
1002067Smax.romanov@nginx.com</change>
1012067Smax.romanov@nginx.com
1022050Svbart@nginx.com</changes>
1032050Svbart@nginx.com
1042050Svbart@nginx.com
1052050Svbart@nginx.com<changes apply="unit-php
1062050Svbart@nginx.com                unit-python unit-python2.7
1072050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1082050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1092050Svbart@nginx.com                unit-go
1102050Svbart@nginx.com                unit-perl
1112050Svbart@nginx.com                unit-ruby
1122050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1132050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1142029SN/A         ver="1.26.1" rev="1"
1152045SN/A         date="2021-12-02" time="18:00:00 +0300"
1162029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1172029SN/A
1182029SN/A<change>
1192029SN/A<para>
1202029SN/ANGINX Unit updated to 1.26.1.
1212029SN/A</para>
1222029SN/A</change>
1232029SN/A
1242029SN/A</changes>
1252029SN/A
1262029SN/A
1272029SN/A<changes apply="unit" ver="1.26.1" rev="1"
1282045SN/A         date="2021-12-02" time="18:00:00 +0300"
1292029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1302029SN/A
1312033SN/A<change type="bugfix">
1322033SN/A<para>
1332044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
1342044SN/Aappeared in 1.26.0.
1352033SN/A</para>
1362033SN/A</change>
1372033SN/A
1382034SN/A<change type="bugfix">
1392034SN/A<para>
1402044SN/Aa prototype process could crash on an application process exit; the bug had
1412034SN/Aappeared in 1.26.0.
1422034SN/A</para>
1432034SN/A</change>
1442034SN/A
1452035SN/A<change type="bugfix">
1462035SN/A<para>
1472044SN/Athe router process crashed on reconfiguration if "access_log" was configured
1482044SN/Awithout listeners.
1492044SN/A</para>
1502044SN/A</change>
1512044SN/A
1522044SN/A<change type="bugfix">
1532044SN/A<para>
1542035SN/Aa segmentation fault occurred in the PHP module if chdir() or
1552035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
1562035SN/A</para>
1572035SN/A</change>
1582035SN/A
1592040SN/A<change type="bugfix">
1602040SN/A<para>
1612041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
1622041SN/A</para>
1632041SN/A</change>
1642041SN/A
1652029SN/A</changes>
1662029SN/A
1672029SN/A
1681973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
1692007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1701973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1711973Sdefan@nginx.com
1721973Sdefan@nginx.com<change>
1731973Sdefan@nginx.com<para>
1741973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
1751973Sdefan@nginx.com</para>
1761973Sdefan@nginx.com</change>
1771973Sdefan@nginx.com
1781973Sdefan@nginx.com</changes>
1791973Sdefan@nginx.com
1801973Sdefan@nginx.com
1811973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
1822007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1831973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1841973Sdefan@nginx.com
1851973Sdefan@nginx.com<change>
1861973Sdefan@nginx.com<para>
1871973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
1881973Sdefan@nginx.com</para>
1891973Sdefan@nginx.com</change>
1901973Sdefan@nginx.com
1911973Sdefan@nginx.com</changes>
1921973Sdefan@nginx.com
1931973Sdefan@nginx.com
1941896Svbart@nginx.com<changes apply="unit-php
1951896Svbart@nginx.com                unit-python unit-python2.7
1961896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1971896Svbart@nginx.com                unit-python3.8 unit-python3.9
1981896Svbart@nginx.com                unit-go
1991896Svbart@nginx.com                unit-perl
2001896Svbart@nginx.com                unit-ruby
2011896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2021896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2031951Svbart@nginx.com         ver="1.26.0" rev="1"
2042007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2051951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2061951Svbart@nginx.com
2071951Svbart@nginx.com<change>
2081951Svbart@nginx.com<para>
2091951Svbart@nginx.comNGINX Unit updated to 1.26.0.
2101951Svbart@nginx.com</para>
2111951Svbart@nginx.com</change>
2121951Svbart@nginx.com
2131951Svbart@nginx.com</changes>
2141951Svbart@nginx.com
2151951Svbart@nginx.com
2161951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
2172007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2181951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2191951Svbart@nginx.com
2201960Sz.hong@f5.com<change type="change">
2211960Sz.hong@f5.com<para>
2221960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
2231960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
2241960Sz.hong@f5.com</para>
2251960Sz.hong@f5.com</change>
2261960Sz.hong@f5.com
2271960Sz.hong@f5.com<change type="feature">
2281960Sz.hong@f5.com<para>
2292006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
2302006Svbart@nginx.comwhen updating from previous versions.
2312006Svbart@nginx.com</para>
2322006Svbart@nginx.com</change>
2332006Svbart@nginx.com
2342006Svbart@nginx.com<change type="feature">
2352006Svbart@nginx.com<para>
2361960Sz.hong@f5.comvariables support in the "share" option.
2371960Sz.hong@f5.com</para>
2381960Sz.hong@f5.com</change>
2391960Sz.hong@f5.com
2401959Sz.hong@f5.com<change type="feature">
2411959Sz.hong@f5.com<para>
2421961Sz.hong@f5.commultiple paths in the "share" option.
2431961Sz.hong@f5.com</para>
2441961Sz.hong@f5.com</change>
2451961Sz.hong@f5.com
2461961Sz.hong@f5.com<change type="feature">
2471961Sz.hong@f5.com<para>
2481959Sz.hong@f5.comvariables support in the "chroot" option.
2491959Sz.hong@f5.com</para>
2501959Sz.hong@f5.com</change>
2511959Sz.hong@f5.com
2521969Sz.hong@f5.com<change type="feature">
2531969Sz.hong@f5.com<para>
2542006Svbart@nginx.comPHP opcache is shared between application processes.
2551969Sz.hong@f5.com</para>
2561969Sz.hong@f5.com</change>
2571969Sz.hong@f5.com
2581991Sz.hong@f5.com<change type="feature">
2591991Sz.hong@f5.com<para>
2601991Sz.hong@f5.comrequest routing by the query string.
2611991Sz.hong@f5.com</para>
2621991Sz.hong@f5.com</change>
2631991Sz.hong@f5.com
2641955Smax.romanov@nginx.com<change type="bugfix">
2651955Smax.romanov@nginx.com<para>
2662006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
2672006Svbart@nginx.comby asynchronous or multithreaded apps.
2681955Smax.romanov@nginx.com</para>
2691955Smax.romanov@nginx.com</change>
2701955Smax.romanov@nginx.com
2711956Smax.romanov@nginx.com<change type="bugfix">
2721956Smax.romanov@nginx.com<para>
2731956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
2741956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
2751956Smax.romanov@nginx.com</para>
2761956Smax.romanov@nginx.com</change>
2771956Smax.romanov@nginx.com
2781992Smax.romanov@nginx.com<change type="bugfix">
2791992Smax.romanov@nginx.com<para>
2802006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
2811992Smax.romanov@nginx.com</para>
2821992Smax.romanov@nginx.com</change>
2831992Smax.romanov@nginx.com
2841951Svbart@nginx.com</changes>
2851951Svbart@nginx.com
2861951Svbart@nginx.com
2871951Svbart@nginx.com<changes apply="unit-php
2881951Svbart@nginx.com                unit-python unit-python2.7
2891951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2901951Svbart@nginx.com                unit-python3.8 unit-python3.9
2911951Svbart@nginx.com                unit-go
2921951Svbart@nginx.com                unit-perl
2931951Svbart@nginx.com                unit-ruby
2941951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2951951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2961896Svbart@nginx.com         ver="1.25.0" rev="1"
2971945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2981896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2991896Svbart@nginx.com
3001896Svbart@nginx.com<change>
3011896Svbart@nginx.com<para>
3021896Svbart@nginx.comNGINX Unit updated to 1.25.0.
3031896Svbart@nginx.com</para>
3041896Svbart@nginx.com</change>
3051896Svbart@nginx.com
3061896Svbart@nginx.com</changes>
3071896Svbart@nginx.com
3081896Svbart@nginx.com
3091896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
3101945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3111896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3121896Svbart@nginx.com
3131910So.canty@f5.com<change type="feature">
3141910So.canty@f5.com<para>
3151944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
3161942Sa.suvorov@f5.com</para>
3171942Sa.suvorov@f5.com</change>
3181942Sa.suvorov@f5.com
3191942Sa.suvorov@f5.com<change type="feature">
3201942Sa.suvorov@f5.com<para>
3211920Sa.suvorov@f5.comTLS sessions cache.
3221920Sa.suvorov@f5.com</para>
3231920Sa.suvorov@f5.com</change>
3241920Sa.suvorov@f5.com
3251920Sa.suvorov@f5.com<change type="feature">
3261920Sa.suvorov@f5.com<para>
3271944Svbart@nginx.comTLS session tickets.
3281910So.canty@f5.com</para>
3291910So.canty@f5.com</change>
3301910So.canty@f5.com
3311926Smax.romanov@nginx.com<change type="feature">
3321926Smax.romanov@nginx.com<para>
3331926Smax.romanov@nginx.comapplication restart control.
3341926Smax.romanov@nginx.com</para>
3351926Smax.romanov@nginx.com</change>
3361926Smax.romanov@nginx.com
3371936So.canty@f5.com<change type="feature">
3381936So.canty@f5.com<para>
3391944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
3401936So.canty@f5.com</para>
3411936So.canty@f5.com</change>
3421936So.canty@f5.com
3431907Smax.romanov@nginx.com<change type="bugfix">
3441907Smax.romanov@nginx.com<para>
3451944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
3461944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
3471921Sa.suvorov@f5.com</para>
3481921Sa.suvorov@f5.com</change>
3491921Sa.suvorov@f5.com
3501921Sa.suvorov@f5.com<change type="bugfix">
3511921Sa.suvorov@f5.com<para>
3521944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
3531944Svbart@nginx.combundles in a listener if the client did not use SNI.
3541907Smax.romanov@nginx.com</para>
3551907Smax.romanov@nginx.com</change>
3561907Smax.romanov@nginx.com
3571907Smax.romanov@nginx.com<change type="bugfix">
3581907Smax.romanov@nginx.com<para>
3591950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
3601915Smax.romanov@nginx.comreconfiguration.
3611915Smax.romanov@nginx.com</para>
3621915Smax.romanov@nginx.com</change>
3631915Smax.romanov@nginx.com
3641915Smax.romanov@nginx.com<change type="bugfix">
3651915Smax.romanov@nginx.com<para>
3661944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
3671944Svbart@nginx.comframework.
3681944Svbart@nginx.com</para>
3691944Svbart@nginx.com</change>
3701944Svbart@nginx.com
3711944Svbart@nginx.com<change type="bugfix">
3721944Svbart@nginx.com<para>
3731944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
3741944Svbart@nginx.comstopped or crashed.
3751907Smax.romanov@nginx.com</para>
3761907Smax.romanov@nginx.com</change>
3771907Smax.romanov@nginx.com
3781909So.canty@f5.com<change type="bugfix">
3791909So.canty@f5.com<para>
3801909So.canty@f5.comthe controller or router process could crash if the configuration contained
3811909So.canty@f5.coma full-form IPv6 in a listener address.
3821909So.canty@f5.com</para>
3831909So.canty@f5.com</change>
3841909So.canty@f5.com
3851916Smax.romanov@nginx.com<change type="bugfix">
3861916Smax.romanov@nginx.com<para>
3871929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
3881929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
3891929Sz.hong@f5.com</para>
3901929Sz.hong@f5.com</change>
3911929Sz.hong@f5.com
3921930So.canty@f5.com<change type="bugfix">
3931930So.canty@f5.com<para>
3941944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
3951944Svbart@nginx.comor destination address patterns.
3961930So.canty@f5.com</para>
3971930So.canty@f5.com</change>
3981930So.canty@f5.com
3991896Svbart@nginx.com</changes>
4001896Svbart@nginx.com
4011896Svbart@nginx.com
4021887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
4031891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4041887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4051887Sdefan@nginx.com
4061887Sdefan@nginx.com<change>
4071887Sdefan@nginx.com<para>
4081887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
4091887Sdefan@nginx.com</para>
4101887Sdefan@nginx.com</change>
4111887Sdefan@nginx.com
4121887Sdefan@nginx.com</changes>
4131887Sdefan@nginx.com
4141887Sdefan@nginx.com
4151887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
4161891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4171887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4181887Sdefan@nginx.com
4191887Sdefan@nginx.com<change>
4201887Sdefan@nginx.com<para>
4211887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
4221887Sdefan@nginx.com</para>
4231887Sdefan@nginx.com</change>
4241887Sdefan@nginx.com
4251887Sdefan@nginx.com</changes>
4261887Sdefan@nginx.com
4271887Sdefan@nginx.com
4281834Svbart@nginx.com<changes apply="unit-php
4291834Svbart@nginx.com                unit-python unit-python2.7
4301834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4311834Svbart@nginx.com                unit-python3.8 unit-python3.9
4321834Svbart@nginx.com                unit-go
4331834Svbart@nginx.com                unit-perl
4341834Svbart@nginx.com                unit-ruby
4351834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4361834Svbart@nginx.com                unit-jsc14 unit-jsc15"
4371839Svbart@nginx.com         ver="1.24.0" rev="1"
4381891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4391839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4401839Svbart@nginx.com
4411839Svbart@nginx.com<change>
4421839Svbart@nginx.com<para>
4431839Svbart@nginx.comNGINX Unit updated to 1.24.0.
4441839Svbart@nginx.com</para>
4451839Svbart@nginx.com</change>
4461839Svbart@nginx.com
4471839Svbart@nginx.com</changes>
4481839Svbart@nginx.com
4491839Svbart@nginx.com
4501839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
4511891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4521839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4531839Svbart@nginx.com
4541882So.canty@f5.com<change type="change">
4551882So.canty@f5.com<para>
4561882So.canty@f5.comPHP added to the default MIME type list.
4571882So.canty@f5.com</para>
4581882So.canty@f5.com</change>
4591882So.canty@f5.com
4601855Sz.hong@f5.com<change type="feature">
4611855Sz.hong@f5.com<para>
4621885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
4631885Sa.suvorov@f5.com</para>
4641885Sa.suvorov@f5.com</change>
4651885Sa.suvorov@f5.com
4661885Sa.suvorov@f5.com<change type="feature">
4671885Sa.suvorov@f5.com<para>
4681890Svbart@nginx.comthe ability to limit static file serving by MIME types.
4691890Svbart@nginx.com</para>
4701890Svbart@nginx.com</change>
4711890Svbart@nginx.com
4721890Svbart@nginx.com<change type="feature">
4731890Svbart@nginx.com<para>
4741890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
4751890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
4761872So.canty@f5.com</para>
4771872So.canty@f5.com</change>
4781872So.canty@f5.com
4791872So.canty@f5.com<change type="feature">
4801872So.canty@f5.com<para>
4811889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
4821889Sartem.konev@nginx.comNode.js.
4831865So.canty@f5.com</para>
4841865So.canty@f5.com</change>
4851865So.canty@f5.com
4861865So.canty@f5.com<change type="feature">
4871865So.canty@f5.com<para>
4881890Svbart@nginx.commultiple "targets" in Python applications.
4891855Sz.hong@f5.com</para>
4901855Sz.hong@f5.com</change>
4911855Sz.hong@f5.com
4921870So.canty@f5.com<change type="feature">
4931870So.canty@f5.com<para>
4941870So.canty@f5.comcompatibility with Ruby 3.0.
4951870So.canty@f5.com</para>
4961870So.canty@f5.com</change>
4971870So.canty@f5.com
4981861Svbart@nginx.com<change type="bugfix">
4991861Svbart@nginx.com<para>
5001889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
5011884Sa.suvorov@f5.com</para>
5021884Sa.suvorov@f5.com</change>
5031884Sa.suvorov@f5.com
5041884Sa.suvorov@f5.com<change type="bugfix">
5051884Sa.suvorov@f5.com<para>
5061861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
5071861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
5081861Svbart@nginx.com</para>
5091861Svbart@nginx.com</change>
5101861Svbart@nginx.com
5111839Svbart@nginx.com</changes>
5121839Svbart@nginx.com
5131839Svbart@nginx.com
5141839Svbart@nginx.com<changes apply="unit-php
5151839Svbart@nginx.com                unit-python unit-python2.7
5161839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5171839Svbart@nginx.com                unit-python3.8 unit-python3.9
5181839Svbart@nginx.com                unit-go
5191839Svbart@nginx.com                unit-perl
5201839Svbart@nginx.com                unit-ruby
5211839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5221839Svbart@nginx.com                unit-jsc14 unit-jsc15"
5231834Svbart@nginx.com         ver="1.23.0" rev="1"
5241834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5251834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5261834Svbart@nginx.com
5271834Svbart@nginx.com<change>
5281834Svbart@nginx.com<para>
5291834Svbart@nginx.comNGINX Unit updated to 1.23.0.
5301834Svbart@nginx.com</para>
5311834Svbart@nginx.com</change>
5321834Svbart@nginx.com
5331834Svbart@nginx.com</changes>
5341834Svbart@nginx.com
5351834Svbart@nginx.com
5361806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
5371834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5381806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5391806Svbart@nginx.com
5401825Sthresh@nginx.com<change type="feature">
5411825Sthresh@nginx.com<para>
5421833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
5431828Sa.suvorov@f5.comIndication (SNI) TLS extension.
5441828Sa.suvorov@f5.com</para>
5451828Sa.suvorov@f5.com</change>
5461828Sa.suvorov@f5.com
5471828Sa.suvorov@f5.com<change type="feature">
5481828Sa.suvorov@f5.com<para>
5491833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
5501833Sartem.konev@nginx.cominstallation.
5511825Sthresh@nginx.com</para>
5521825Sthresh@nginx.com</change>
5531825Sthresh@nginx.com
5541811Smax.romanov@nginx.com<change type="bugfix">
5551811Smax.romanov@nginx.com<para>
5561812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
5571812Svbart@nginx.comappeared in 1.17.0.
5581812Svbart@nginx.com</para>
5591812Svbart@nginx.com</change>
5601812Svbart@nginx.com
5611812Svbart@nginx.com<change type="bugfix">
5621812Svbart@nginx.com<para>
5631833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
5641812Svbart@nginx.comappeared in 1.6.
5651812Svbart@nginx.com</para>
5661812Svbart@nginx.com</change>
5671812Svbart@nginx.com
5681812Svbart@nginx.com<change type="bugfix">
5691812Svbart@nginx.com<para>
5701833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
5711832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
5721832Smax.romanov@nginx.com</para>
5731832Smax.romanov@nginx.com</change>
5741832Smax.romanov@nginx.com
5751832Smax.romanov@nginx.com<change type="bugfix">
5761832Smax.romanov@nginx.com<para>
5771833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
5781811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
5791811Smax.romanov@nginx.com</para>
5801811Smax.romanov@nginx.com</change>
5811806Svbart@nginx.com
5821813Svbart@nginx.com<change type="bugfix">
5831813Svbart@nginx.com<para>
5841813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
5851813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
5861813Svbart@nginx.com</para>
5871813Svbart@nginx.com</change>
5881813Svbart@nginx.com
5891814Svbart@nginx.com<change type="bugfix">
5901814Svbart@nginx.com<para>
5911820Svbart@nginx.comthe controller process could crash while requesting information about a
5921820Svbart@nginx.comcertificate with a non-DNS SAN entry.
5931820Svbart@nginx.com</para>
5941820Svbart@nginx.com</change>
5951820Svbart@nginx.com
5961820Svbart@nginx.com<change type="bugfix">
5971820Svbart@nginx.com<para>
5981822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
5991833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
6001822Svbart@nginx.com</para>
6011822Svbart@nginx.com</change>
6021822Svbart@nginx.com
6031822Svbart@nginx.com<change type="bugfix">
6041822Svbart@nginx.com<para>
6051833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
6061833Sartem.konev@nginx.comclass.
6071814Svbart@nginx.com</para>
6081814Svbart@nginx.com</change>
6091814Svbart@nginx.com
6101815Svbart@nginx.com<change type="bugfix">
6111815Svbart@nginx.com<para>
6121815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
6131815Svbart@nginx.comappeared in 1.22.0.
6141815Svbart@nginx.com</para>
6151815Svbart@nginx.com</change>
6161815Svbart@nginx.com
6171806Svbart@nginx.com</changes>
6181806Svbart@nginx.com
6191806Svbart@nginx.com
6201798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
6211798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6221798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6231798Sdefan@nginx.com
6241798Sdefan@nginx.com<change>
6251798Sdefan@nginx.com<para>
6261798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
6271798Sdefan@nginx.com</para>
6281798Sdefan@nginx.com</change>
6291798Sdefan@nginx.com
6301798Sdefan@nginx.com</changes>
6311798Sdefan@nginx.com
6321798Sdefan@nginx.com
6331763Sdefan@nginx.com<changes apply="unit-php
6341763Sdefan@nginx.com                unit-python unit-python2.7
6351763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6361763Sdefan@nginx.com                unit-python3.8
6371763Sdefan@nginx.com                unit-go
6381763Sdefan@nginx.com                unit-perl
6391763Sdefan@nginx.com                unit-ruby
6401763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6411763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
6421763Sdefan@nginx.com         ver="1.22.0" rev="1"
6431793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6441763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6451763Sdefan@nginx.com
6461763Sdefan@nginx.com<change>
6471763Sdefan@nginx.com<para>
6481763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
6491763Sdefan@nginx.com</para>
6501763Sdefan@nginx.com</change>
6511763Sdefan@nginx.com
6521763Sdefan@nginx.com</changes>
6531763Sdefan@nginx.com
6541763Sdefan@nginx.com
6551727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
6561793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6571727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6581727Svbart@nginx.com
6591759Svbart@nginx.com<change type="feature">
6601759Svbart@nginx.com<para>
6611792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
6621792Svbart@nginx.comcompliant with Stream API.
6631759Svbart@nginx.com</para>
6641759Svbart@nginx.com</change>
6651759Svbart@nginx.com
6661766Smax.romanov@nginx.com<change type="feature">
6671766Smax.romanov@nginx.com<para>
6681792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
6691792Svbart@nginx.comapps.
6701732Svbart@nginx.com</para>
6711732Svbart@nginx.com</change>
6721732Svbart@nginx.com
6731733Svbart@nginx.com<change type="bugfix">
6741733Svbart@nginx.com<para>
6751792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
6761792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
6771754Smax.romanov@nginx.com</para>
6781754Smax.romanov@nginx.com</change>
6791754Smax.romanov@nginx.com
6801755Smax.romanov@nginx.com<change type="bugfix">
6811755Smax.romanov@nginx.com<para>
6821790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
6831755Smax.romanov@nginx.comappeared in 1.19.0.
6841755Smax.romanov@nginx.com</para>
6851755Smax.romanov@nginx.com</change>
6861755Smax.romanov@nginx.com
6871756Smax.romanov@nginx.com<change type="bugfix">
6881756Smax.romanov@nginx.com<para>
6891790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
6901790Sartem.konev@nginx.comappeared in 1.19.0.
6911756Smax.romanov@nginx.com</para>
6921756Smax.romanov@nginx.com</change>
6931756Smax.romanov@nginx.com
6941760Smax.romanov@nginx.com<change type="bugfix">
6951760Smax.romanov@nginx.com<para>
6961792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
6971792Svbart@nginx.com</para>
6981792Svbart@nginx.com</change>
6991792Svbart@nginx.com
7001792Svbart@nginx.com<change type="bugfix">
7011792Svbart@nginx.com<para>
7021792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
7031792Svbart@nginx.commissing in the PHP module.
7041792Svbart@nginx.com</para>
7051792Svbart@nginx.com</change>
7061792Svbart@nginx.com
7071792Svbart@nginx.com<change type="bugfix">
7081792Svbart@nginx.com<para>
7091792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
7101792Svbart@nginx.com</para>
7111792Svbart@nginx.com</change>
7121792Svbart@nginx.com
7131792Svbart@nginx.com<change type="bugfix">
7141792Svbart@nginx.com<para>
7151792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
7161792Svbart@nginx.com</para>
7171792Svbart@nginx.com</change>
7181792Svbart@nginx.com
7191792Svbart@nginx.com<change type="bugfix">
7201792Svbart@nginx.com<para>
7211792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
7221792Svbart@nginx.comthe bug had appeared in 1.21.0.
7231760Smax.romanov@nginx.com</para>
7241760Smax.romanov@nginx.com</change>
7251760Smax.romanov@nginx.com
7261780Smax.romanov@nginx.com<change type="bugfix">
7271780Smax.romanov@nginx.com<para>
7281790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
7291790Sartem.konev@nginx.comWebSocket.
7301780Smax.romanov@nginx.com</para>
7311780Smax.romanov@nginx.com</change>
7321780Smax.romanov@nginx.com
7331789Smax.romanov@nginx.com<change type="bugfix">
7341789Smax.romanov@nginx.com<para>
7351789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
7361789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
7371789Smax.romanov@nginx.com</para>
7381789Smax.romanov@nginx.com</change>
7391789Smax.romanov@nginx.com
7401727Svbart@nginx.com</changes>
7411727Svbart@nginx.com
7421727Svbart@nginx.com
7431722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
7441722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7451722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7461722Svbart@nginx.com
7471722Svbart@nginx.com<change>
7481722Svbart@nginx.com<para>
7491722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
7501722Svbart@nginx.com</para>
7511722Svbart@nginx.com</change>
7521722Svbart@nginx.com
7531722Svbart@nginx.com</changes>
7541722Svbart@nginx.com
7551722Svbart@nginx.com
7561722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
7571722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7581722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7591722Svbart@nginx.com
7601722Svbart@nginx.com<change>
7611722Svbart@nginx.com<para>
7621722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
7631722Svbart@nginx.com</para>
7641722Svbart@nginx.com</change>
7651722Svbart@nginx.com
7661722Svbart@nginx.com</changes>
7671722Svbart@nginx.com
7681722Svbart@nginx.com
7691722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
7701722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7711722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7721722Svbart@nginx.com
7731722Svbart@nginx.com<change>
7741722Svbart@nginx.com<para>
7751722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
7761722Svbart@nginx.com</para>
7771722Svbart@nginx.com</change>
7781722Svbart@nginx.com
7791722Svbart@nginx.com</changes>
7801722Svbart@nginx.com
7811722Svbart@nginx.com
7821722Svbart@nginx.com<changes apply="unit-php
7831722Svbart@nginx.com                unit-python unit-python2.7
7841722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7851722Svbart@nginx.com                unit-python3.8
7861722Svbart@nginx.com                unit-go
7871722Svbart@nginx.com                unit-perl
7881722Svbart@nginx.com                unit-ruby
7891722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7901722Svbart@nginx.com         ver="1.21.0" rev="1"
7911722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7921722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7931722Svbart@nginx.com
7941722Svbart@nginx.com<change>
7951722Svbart@nginx.com<para>
7961722Svbart@nginx.comNGINX Unit updated to 1.21.0.
7971722Svbart@nginx.com</para>
7981722Svbart@nginx.com</change>
7991722Svbart@nginx.com
8001722Svbart@nginx.com</changes>
8011722Svbart@nginx.com
8021722Svbart@nginx.com
8031722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
8041722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8051722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8061722Svbart@nginx.com
8071722Svbart@nginx.com<change type="change">
8081722Svbart@nginx.com<para>
8091722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
8101722Svbart@nginx.com</para>
8111722Svbart@nginx.com</change>
8121722Svbart@nginx.com
8131722Svbart@nginx.com<change type="change">
8141722Svbart@nginx.com<para>
8151722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
8161722Svbart@nginx.comnames.
8171722Svbart@nginx.com</para>
8181722Svbart@nginx.com</change>
8191722Svbart@nginx.com
8201722Svbart@nginx.com<change type="change">
8211722Svbart@nginx.com<para>
8221722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
8231722Svbart@nginx.comdefault.
8241722Svbart@nginx.com</para>
8251722Svbart@nginx.com</change>
8261722Svbart@nginx.com
8271722Svbart@nginx.com<change type="feature">
8281722Svbart@nginx.com<para>
8291722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
8301722Svbart@nginx.com</para>
8311722Svbart@nginx.com</change>
8321722Svbart@nginx.com
8331722Svbart@nginx.com<change type="feature">
8341722Svbart@nginx.com<para>
8351722Svbart@nginx.comregular expressions in route matching patterns.
8361722Svbart@nginx.com</para>
8371722Svbart@nginx.com</change>
8381722Svbart@nginx.com
8391722Svbart@nginx.com<change type="feature">
8401722Svbart@nginx.com<para>
8411722Svbart@nginx.comcompatibility with Python 3.9.
8421722Svbart@nginx.com</para>
8431722Svbart@nginx.com</change>
8441722Svbart@nginx.com
8451722Svbart@nginx.com<change type="feature">
8461722Svbart@nginx.com<para>
8471722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
8481722Svbart@nginx.com</para>
8491722Svbart@nginx.com</change>
8501722Svbart@nginx.com
8511722Svbart@nginx.com<change type="feature">
8521722Svbart@nginx.com<para>
8531722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
8541722Svbart@nginx.com</para>
8551722Svbart@nginx.com</change>
8561722Svbart@nginx.com
8571722Svbart@nginx.com<change type="feature">
8581722Svbart@nginx.com<para>
8591722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
8601722Svbart@nginx.comcontinues code execution without holding onto the client connection.
8611722Svbart@nginx.com</para>
8621722Svbart@nginx.com</change>
8631722Svbart@nginx.com
8641722Svbart@nginx.com<change type="feature">
8651722Svbart@nginx.com<para>
8661722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
8671722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
8681722Svbart@nginx.com</para>
8691722Svbart@nginx.com</change>
8701722Svbart@nginx.com
8711722Svbart@nginx.com<change type="feature">
8721722Svbart@nginx.com<para>
8731722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
8741722Svbart@nginx.commounting of eponymous filesystems.
8751722Svbart@nginx.com</para>
8761722Svbart@nginx.com</change>
8771722Svbart@nginx.com
8781722Svbart@nginx.com<change type="bugfix">
8791722Svbart@nginx.com<para>
8801722Svbart@nginx.comthe router process could crash when running Go applications under high load;
8811722Svbart@nginx.comthe bug had appeared in 1.19.0.
8821722Svbart@nginx.com</para>
8831722Svbart@nginx.com</change>
8841722Svbart@nginx.com
8851722Svbart@nginx.com<change type="bugfix">
8861722Svbart@nginx.com<para>
8871722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
8881722Svbart@nginx.com</para>
8891722Svbart@nginx.com</change>
8901722Svbart@nginx.com
8911722Svbart@nginx.com<change type="bugfix">
8921722Svbart@nginx.com<para>
8931722Svbart@nginx.comvarious compatibility issues in Java applications.
8941722Svbart@nginx.com</para>
8951722Svbart@nginx.com</change>
8961722Svbart@nginx.com
8971722Svbart@nginx.com<change type="bugfix">
8981722Svbart@nginx.com<para>
8991722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
9001722Svbart@nginx.comuse "rootfs" isolation.
9011722Svbart@nginx.com</para>
9021722Svbart@nginx.com</change>
9031722Svbart@nginx.com
9041722Svbart@nginx.com</changes>
9051722Svbart@nginx.com
9061722Svbart@nginx.com
9071330Svbart@nginx.com<changes apply="unit-php
9081330Svbart@nginx.com                unit-python unit-python2.7
9091330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9101330Svbart@nginx.com                unit-python3.8
9111330Svbart@nginx.com                unit-go
9121330Svbart@nginx.com                unit-perl
9131330Svbart@nginx.com                unit-ruby
9141330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9151640Svbart@nginx.com         ver="1.20.0" rev="1"
9161640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9171640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9181640Svbart@nginx.com
9191640Svbart@nginx.com<change>
9201640Svbart@nginx.com<para>
9211640Svbart@nginx.comNGINX Unit updated to 1.20.0.
9221640Svbart@nginx.com</para>
9231640Svbart@nginx.com</change>
9241640Svbart@nginx.com
9251640Svbart@nginx.com</changes>
9261640Svbart@nginx.com
9271640Svbart@nginx.com
9281640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
9291640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9301640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9311640Svbart@nginx.com
9321640Svbart@nginx.com<change type="change">
9331640Svbart@nginx.com<para>
9341640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
9351640Svbart@nginx.comextensions from the host system.
9361640Svbart@nginx.com</para>
9371640Svbart@nginx.com</change>
9381640Svbart@nginx.com
9391640Svbart@nginx.com<change type="change">
9401640Svbart@nginx.com<para>
9411640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
9421640Svbart@nginx.com</para>
9431640Svbart@nginx.com</change>
9441640Svbart@nginx.com
9451643Svbart@nginx.com<change type="change">
9461643Svbart@nginx.com<para>
9471643Svbart@nginx.comfunctional tests migrated to the pytest framework.
9481643Svbart@nginx.com</para>
9491643Svbart@nginx.com</change>
9501643Svbart@nginx.com
9511640Svbart@nginx.com<change type="feature">
9521640Svbart@nginx.com<para>
9531640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
9541640Svbart@nginx.cominterface.
9551640Svbart@nginx.com</para>
9561640Svbart@nginx.com</change>
9571640Svbart@nginx.com
9581640Svbart@nginx.com<change type="feature">
9591640Svbart@nginx.com<para>
9601640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
9611640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
9621640Svbart@nginx.comspecification.
9631640Svbart@nginx.com</para>
9641640Svbart@nginx.com</change>
9651640Svbart@nginx.com
9661640Svbart@nginx.com<change type="feature">
9671640Svbart@nginx.com<para>
9681640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
9691640Svbart@nginx.comenvironments.
9701640Svbart@nginx.com</para>
9711640Svbart@nginx.com</change>
9721640Svbart@nginx.com
9731640Svbart@nginx.com<change type="feature">
9741640Svbart@nginx.com<para>
9751640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
9761640Svbart@nginx.com</para>
9771640Svbart@nginx.com</change>
9781640Svbart@nginx.com
9791640Svbart@nginx.com<change type="feature">
9801640Svbart@nginx.com<para>
9811640Svbart@nginx.comthe "callable" option sets Python application callable names.
9821640Svbart@nginx.com</para>
9831640Svbart@nginx.com</change>
9841640Svbart@nginx.com
9851640Svbart@nginx.com<change type="feature">
9861640