xref: /unit/docs/changes.xml (revision 2081)
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>
36*2081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action.
37*2081Salx.manpages@gmail.com</para>
38*2081Salx.manpages@gmail.com</change>
39*2081Salx.manpages@gmail.com
40*2081Salx.manpages@gmail.com<change type="feature">
41*2081Salx.manpages@gmail.com<para>
422072Sz.hong@f5.comcompatibility with GCC 12.
432072Sz.hong@f5.com</para>
442072Sz.hong@f5.com</change>
452072Sz.hong@f5.com
462060Smax.romanov@nginx.com<change type="bugfix">
472060Smax.romanov@nginx.com<para>
482069Sz.hong@f5.comthe controller process could crash when a chain with more than 4
492069Sz.hong@f5.comcertificates was uploaded.
502069Sz.hong@f5.com</para>
512069Sz.hong@f5.com</change>
522069Sz.hong@f5.com
532069Sz.hong@f5.com<change type="bugfix">
542069Sz.hong@f5.com<para>
552060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
562060Smax.romanov@nginx.com</para>
572060Smax.romanov@nginx.com</change>
582060Smax.romanov@nginx.com
592061Smax.romanov@nginx.com<change type="bugfix">
602061Smax.romanov@nginx.com<para>
612061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
622061Smax.romanov@nginx.com</para>
632061Smax.romanov@nginx.com</change>
642061Smax.romanov@nginx.com
652067Smax.romanov@nginx.com<change type="bugfix">
662067Smax.romanov@nginx.com<para>
672067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
682067Smax.romanov@nginx.comobject, notably with Falcon.
692067Smax.romanov@nginx.com</para>
702067Smax.romanov@nginx.com</change>
712067Smax.romanov@nginx.com
722050Svbart@nginx.com</changes>
732050Svbart@nginx.com
742050Svbart@nginx.com
752050Svbart@nginx.com<changes apply="unit-php
762050Svbart@nginx.com                unit-python unit-python2.7
772050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
782050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
792050Svbart@nginx.com                unit-go
802050Svbart@nginx.com                unit-perl
812050Svbart@nginx.com                unit-ruby
822050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
832050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
842029SN/A         ver="1.26.1" rev="1"
852045SN/A         date="2021-12-02" time="18:00:00 +0300"
862029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
872029SN/A
882029SN/A<change>
892029SN/A<para>
902029SN/ANGINX Unit updated to 1.26.1.
912029SN/A</para>
922029SN/A</change>
932029SN/A
942029SN/A</changes>
952029SN/A
962029SN/A
972029SN/A<changes apply="unit" ver="1.26.1" rev="1"
982045SN/A         date="2021-12-02" time="18:00:00 +0300"
992029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1002029SN/A
1012033SN/A<change type="bugfix">
1022033SN/A<para>
1032044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
1042044SN/Aappeared in 1.26.0.
1052033SN/A</para>
1062033SN/A</change>
1072033SN/A
1082034SN/A<change type="bugfix">
1092034SN/A<para>
1102044SN/Aa prototype process could crash on an application process exit; the bug had
1112034SN/Aappeared in 1.26.0.
1122034SN/A</para>
1132034SN/A</change>
1142034SN/A
1152035SN/A<change type="bugfix">
1162035SN/A<para>
1172044SN/Athe router process crashed on reconfiguration if "access_log" was configured
1182044SN/Awithout listeners.
1192044SN/A</para>
1202044SN/A</change>
1212044SN/A
1222044SN/A<change type="bugfix">
1232044SN/A<para>
1242035SN/Aa segmentation fault occurred in the PHP module if chdir() or
1252035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
1262035SN/A</para>
1272035SN/A</change>
1282035SN/A
1292040SN/A<change type="bugfix">
1302040SN/A<para>
1312041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
1322041SN/A</para>
1332041SN/A</change>
1342041SN/A
1352029SN/A</changes>
1362029SN/A
1372029SN/A
1381973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
1392007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1401973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1411973Sdefan@nginx.com
1421973Sdefan@nginx.com<change>
1431973Sdefan@nginx.com<para>
1441973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
1451973Sdefan@nginx.com</para>
1461973Sdefan@nginx.com</change>
1471973Sdefan@nginx.com
1481973Sdefan@nginx.com</changes>
1491973Sdefan@nginx.com
1501973Sdefan@nginx.com
1511973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
1522007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1531973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1541973Sdefan@nginx.com
1551973Sdefan@nginx.com<change>
1561973Sdefan@nginx.com<para>
1571973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
1581973Sdefan@nginx.com</para>
1591973Sdefan@nginx.com</change>
1601973Sdefan@nginx.com
1611973Sdefan@nginx.com</changes>
1621973Sdefan@nginx.com
1631973Sdefan@nginx.com
1641896Svbart@nginx.com<changes apply="unit-php
1651896Svbart@nginx.com                unit-python unit-python2.7
1661896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1671896Svbart@nginx.com                unit-python3.8 unit-python3.9
1681896Svbart@nginx.com                unit-go
1691896Svbart@nginx.com                unit-perl
1701896Svbart@nginx.com                unit-ruby
1711896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1721896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
1731951Svbart@nginx.com         ver="1.26.0" rev="1"
1742007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1751951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1761951Svbart@nginx.com
1771951Svbart@nginx.com<change>
1781951Svbart@nginx.com<para>
1791951Svbart@nginx.comNGINX Unit updated to 1.26.0.
1801951Svbart@nginx.com</para>
1811951Svbart@nginx.com</change>
1821951Svbart@nginx.com
1831951Svbart@nginx.com</changes>
1841951Svbart@nginx.com
1851951Svbart@nginx.com
1861951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
1872007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1881951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1891951Svbart@nginx.com
1901960Sz.hong@f5.com<change type="change">
1911960Sz.hong@f5.com<para>
1921960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
1931960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
1941960Sz.hong@f5.com</para>
1951960Sz.hong@f5.com</change>
1961960Sz.hong@f5.com
1971960Sz.hong@f5.com<change type="feature">
1981960Sz.hong@f5.com<para>
1992006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
2002006Svbart@nginx.comwhen updating from previous versions.
2012006Svbart@nginx.com</para>
2022006Svbart@nginx.com</change>
2032006Svbart@nginx.com
2042006Svbart@nginx.com<change type="feature">
2052006Svbart@nginx.com<para>
2061960Sz.hong@f5.comvariables support in the "share" option.
2071960Sz.hong@f5.com</para>
2081960Sz.hong@f5.com</change>
2091960Sz.hong@f5.com
2101959Sz.hong@f5.com<change type="feature">
2111959Sz.hong@f5.com<para>
2121961Sz.hong@f5.commultiple paths in the "share" option.
2131961Sz.hong@f5.com</para>
2141961Sz.hong@f5.com</change>
2151961Sz.hong@f5.com
2161961Sz.hong@f5.com<change type="feature">
2171961Sz.hong@f5.com<para>
2181959Sz.hong@f5.comvariables support in the "chroot" option.
2191959Sz.hong@f5.com</para>
2201959Sz.hong@f5.com</change>
2211959Sz.hong@f5.com
2221969Sz.hong@f5.com<change type="feature">
2231969Sz.hong@f5.com<para>
2242006Svbart@nginx.comPHP opcache is shared between application processes.
2251969Sz.hong@f5.com</para>
2261969Sz.hong@f5.com</change>
2271969Sz.hong@f5.com
2281991Sz.hong@f5.com<change type="feature">
2291991Sz.hong@f5.com<para>
2301991Sz.hong@f5.comrequest routing by the query string.
2311991Sz.hong@f5.com</para>
2321991Sz.hong@f5.com</change>
2331991Sz.hong@f5.com
2341955Smax.romanov@nginx.com<change type="bugfix">
2351955Smax.romanov@nginx.com<para>
2362006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
2372006Svbart@nginx.comby asynchronous or multithreaded apps.
2381955Smax.romanov@nginx.com</para>
2391955Smax.romanov@nginx.com</change>
2401955Smax.romanov@nginx.com
2411956Smax.romanov@nginx.com<change type="bugfix">
2421956Smax.romanov@nginx.com<para>
2431956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
2441956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
2451956Smax.romanov@nginx.com</para>
2461956Smax.romanov@nginx.com</change>
2471956Smax.romanov@nginx.com
2481992Smax.romanov@nginx.com<change type="bugfix">
2491992Smax.romanov@nginx.com<para>
2502006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
2511992Smax.romanov@nginx.com</para>
2521992Smax.romanov@nginx.com</change>
2531992Smax.romanov@nginx.com
2541951Svbart@nginx.com</changes>
2551951Svbart@nginx.com
2561951Svbart@nginx.com
2571951Svbart@nginx.com<changes apply="unit-php
2581951Svbart@nginx.com                unit-python unit-python2.7
2591951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2601951Svbart@nginx.com                unit-python3.8 unit-python3.9
2611951Svbart@nginx.com                unit-go
2621951Svbart@nginx.com                unit-perl
2631951Svbart@nginx.com                unit-ruby
2641951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2651951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2661896Svbart@nginx.com         ver="1.25.0" rev="1"
2671945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2681896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2691896Svbart@nginx.com
2701896Svbart@nginx.com<change>
2711896Svbart@nginx.com<para>
2721896Svbart@nginx.comNGINX Unit updated to 1.25.0.
2731896Svbart@nginx.com</para>
2741896Svbart@nginx.com</change>
2751896Svbart@nginx.com
2761896Svbart@nginx.com</changes>
2771896Svbart@nginx.com
2781896Svbart@nginx.com
2791896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
2801945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2811896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2821896Svbart@nginx.com
2831910So.canty@f5.com<change type="feature">
2841910So.canty@f5.com<para>
2851944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
2861942Sa.suvorov@f5.com</para>
2871942Sa.suvorov@f5.com</change>
2881942Sa.suvorov@f5.com
2891942Sa.suvorov@f5.com<change type="feature">
2901942Sa.suvorov@f5.com<para>
2911920Sa.suvorov@f5.comTLS sessions cache.
2921920Sa.suvorov@f5.com</para>
2931920Sa.suvorov@f5.com</change>
2941920Sa.suvorov@f5.com
2951920Sa.suvorov@f5.com<change type="feature">
2961920Sa.suvorov@f5.com<para>
2971944Svbart@nginx.comTLS session tickets.
2981910So.canty@f5.com</para>
2991910So.canty@f5.com</change>
3001910So.canty@f5.com
3011926Smax.romanov@nginx.com<change type="feature">
3021926Smax.romanov@nginx.com<para>
3031926Smax.romanov@nginx.comapplication restart control.
3041926Smax.romanov@nginx.com</para>
3051926Smax.romanov@nginx.com</change>
3061926Smax.romanov@nginx.com
3071936So.canty@f5.com<change type="feature">
3081936So.canty@f5.com<para>
3091944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
3101936So.canty@f5.com</para>
3111936So.canty@f5.com</change>
3121936So.canty@f5.com
3131907Smax.romanov@nginx.com<change type="bugfix">
3141907Smax.romanov@nginx.com<para>
3151944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
3161944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
3171921Sa.suvorov@f5.com</para>
3181921Sa.suvorov@f5.com</change>
3191921Sa.suvorov@f5.com
3201921Sa.suvorov@f5.com<change type="bugfix">
3211921Sa.suvorov@f5.com<para>
3221944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
3231944Svbart@nginx.combundles in a listener if the client did not use SNI.
3241907Smax.romanov@nginx.com</para>
3251907Smax.romanov@nginx.com</change>
3261907Smax.romanov@nginx.com
3271907Smax.romanov@nginx.com<change type="bugfix">
3281907Smax.romanov@nginx.com<para>
3291950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
3301915Smax.romanov@nginx.comreconfiguration.
3311915Smax.romanov@nginx.com</para>
3321915Smax.romanov@nginx.com</change>
3331915Smax.romanov@nginx.com
3341915Smax.romanov@nginx.com<change type="bugfix">
3351915Smax.romanov@nginx.com<para>
3361944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
3371944Svbart@nginx.comframework.
3381944Svbart@nginx.com</para>
3391944Svbart@nginx.com</change>
3401944Svbart@nginx.com
3411944Svbart@nginx.com<change type="bugfix">
3421944Svbart@nginx.com<para>
3431944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
3441944Svbart@nginx.comstopped or crashed.
3451907Smax.romanov@nginx.com</para>
3461907Smax.romanov@nginx.com</change>
3471907Smax.romanov@nginx.com
3481909So.canty@f5.com<change type="bugfix">
3491909So.canty@f5.com<para>
3501909So.canty@f5.comthe controller or router process could crash if the configuration contained
3511909So.canty@f5.coma full-form IPv6 in a listener address.
3521909So.canty@f5.com</para>
3531909So.canty@f5.com</change>
3541909So.canty@f5.com
3551916Smax.romanov@nginx.com<change type="bugfix">
3561916Smax.romanov@nginx.com<para>
3571929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
3581929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
3591929Sz.hong@f5.com</para>
3601929Sz.hong@f5.com</change>
3611929Sz.hong@f5.com
3621930So.canty@f5.com<change type="bugfix">
3631930So.canty@f5.com<para>
3641944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
3651944Svbart@nginx.comor destination address patterns.
3661930So.canty@f5.com</para>
3671930So.canty@f5.com</change>
3681930So.canty@f5.com
3691896Svbart@nginx.com</changes>
3701896Svbart@nginx.com
3711896Svbart@nginx.com
3721887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
3731891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3741887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3751887Sdefan@nginx.com
3761887Sdefan@nginx.com<change>
3771887Sdefan@nginx.com<para>
3781887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
3791887Sdefan@nginx.com</para>
3801887Sdefan@nginx.com</change>
3811887Sdefan@nginx.com
3821887Sdefan@nginx.com</changes>
3831887Sdefan@nginx.com
3841887Sdefan@nginx.com
3851887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
3861891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3871887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3881887Sdefan@nginx.com
3891887Sdefan@nginx.com<change>
3901887Sdefan@nginx.com<para>
3911887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
3921887Sdefan@nginx.com</para>
3931887Sdefan@nginx.com</change>
3941887Sdefan@nginx.com
3951887Sdefan@nginx.com</changes>
3961887Sdefan@nginx.com
3971887Sdefan@nginx.com
3981834Svbart@nginx.com<changes apply="unit-php
3991834Svbart@nginx.com                unit-python unit-python2.7
4001834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4011834Svbart@nginx.com                unit-python3.8 unit-python3.9
4021834Svbart@nginx.com                unit-go
4031834Svbart@nginx.com                unit-perl
4041834Svbart@nginx.com                unit-ruby
4051834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4061834Svbart@nginx.com                unit-jsc14 unit-jsc15"
4071839Svbart@nginx.com         ver="1.24.0" rev="1"
4081891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4091839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4101839Svbart@nginx.com
4111839Svbart@nginx.com<change>
4121839Svbart@nginx.com<para>
4131839Svbart@nginx.comNGINX Unit updated to 1.24.0.
4141839Svbart@nginx.com</para>
4151839Svbart@nginx.com</change>
4161839Svbart@nginx.com
4171839Svbart@nginx.com</changes>
4181839Svbart@nginx.com
4191839Svbart@nginx.com
4201839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
4211891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4221839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4231839Svbart@nginx.com
4241882So.canty@f5.com<change type="change">
4251882So.canty@f5.com<para>
4261882So.canty@f5.comPHP added to the default MIME type list.
4271882So.canty@f5.com</para>
4281882So.canty@f5.com</change>
4291882So.canty@f5.com
4301855Sz.hong@f5.com<change type="feature">
4311855Sz.hong@f5.com<para>
4321885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
4331885Sa.suvorov@f5.com</para>
4341885Sa.suvorov@f5.com</change>
4351885Sa.suvorov@f5.com
4361885Sa.suvorov@f5.com<change type="feature">
4371885Sa.suvorov@f5.com<para>
4381890Svbart@nginx.comthe ability to limit static file serving by MIME types.
4391890Svbart@nginx.com</para>
4401890Svbart@nginx.com</change>
4411890Svbart@nginx.com
4421890Svbart@nginx.com<change type="feature">
4431890Svbart@nginx.com<para>
4441890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
4451890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
4461872So.canty@f5.com</para>
4471872So.canty@f5.com</change>
4481872So.canty@f5.com
4491872So.canty@f5.com<change type="feature">
4501872So.canty@f5.com<para>
4511889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
4521889Sartem.konev@nginx.comNode.js.
4531865So.canty@f5.com</para>
4541865So.canty@f5.com</change>
4551865So.canty@f5.com
4561865So.canty@f5.com<change type="feature">
4571865So.canty@f5.com<para>
4581890Svbart@nginx.commultiple "targets" in Python applications.
4591855Sz.hong@f5.com</para>
4601855Sz.hong@f5.com</change>
4611855Sz.hong@f5.com
4621870So.canty@f5.com<change type="feature">
4631870So.canty@f5.com<para>
4641870So.canty@f5.comcompatibility with Ruby 3.0.
4651870So.canty@f5.com</para>
4661870So.canty@f5.com</change>
4671870So.canty@f5.com
4681861Svbart@nginx.com<change type="bugfix">
4691861Svbart@nginx.com<para>
4701889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
4711884Sa.suvorov@f5.com</para>
4721884Sa.suvorov@f5.com</change>
4731884Sa.suvorov@f5.com
4741884Sa.suvorov@f5.com<change type="bugfix">
4751884Sa.suvorov@f5.com<para>
4761861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
4771861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
4781861Svbart@nginx.com</para>
4791861Svbart@nginx.com</change>
4801861Svbart@nginx.com
4811839Svbart@nginx.com</changes>
4821839Svbart@nginx.com
4831839Svbart@nginx.com
4841839Svbart@nginx.com<changes apply="unit-php
4851839Svbart@nginx.com                unit-python unit-python2.7
4861839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4871839Svbart@nginx.com                unit-python3.8 unit-python3.9
4881839Svbart@nginx.com                unit-go
4891839Svbart@nginx.com                unit-perl
4901839Svbart@nginx.com                unit-ruby
4911839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4921839Svbart@nginx.com                unit-jsc14 unit-jsc15"
4931834Svbart@nginx.com         ver="1.23.0" rev="1"
4941834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4951834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4961834Svbart@nginx.com
4971834Svbart@nginx.com<change>
4981834Svbart@nginx.com<para>
4991834Svbart@nginx.comNGINX Unit updated to 1.23.0.
5001834Svbart@nginx.com</para>
5011834Svbart@nginx.com</change>
5021834Svbart@nginx.com
5031834Svbart@nginx.com</changes>
5041834Svbart@nginx.com
5051834Svbart@nginx.com
5061806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
5071834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5081806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5091806Svbart@nginx.com
5101825Sthresh@nginx.com<change type="feature">
5111825Sthresh@nginx.com<para>
5121833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
5131828Sa.suvorov@f5.comIndication (SNI) TLS extension.
5141828Sa.suvorov@f5.com</para>
5151828Sa.suvorov@f5.com</change>
5161828Sa.suvorov@f5.com
5171828Sa.suvorov@f5.com<change type="feature">
5181828Sa.suvorov@f5.com<para>
5191833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
5201833Sartem.konev@nginx.cominstallation.
5211825Sthresh@nginx.com</para>
5221825Sthresh@nginx.com</change>
5231825Sthresh@nginx.com
5241811Smax.romanov@nginx.com<change type="bugfix">
5251811Smax.romanov@nginx.com<para>
5261812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
5271812Svbart@nginx.comappeared in 1.17.0.
5281812Svbart@nginx.com</para>
5291812Svbart@nginx.com</change>
5301812Svbart@nginx.com
5311812Svbart@nginx.com<change type="bugfix">
5321812Svbart@nginx.com<para>
5331833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
5341812Svbart@nginx.comappeared in 1.6.
5351812Svbart@nginx.com</para>
5361812Svbart@nginx.com</change>
5371812Svbart@nginx.com
5381812Svbart@nginx.com<change type="bugfix">
5391812Svbart@nginx.com<para>
5401833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
5411832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
5421832Smax.romanov@nginx.com</para>
5431832Smax.romanov@nginx.com</change>
5441832Smax.romanov@nginx.com
5451832Smax.romanov@nginx.com<change type="bugfix">
5461832Smax.romanov@nginx.com<para>
5471833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
5481811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
5491811Smax.romanov@nginx.com</para>
5501811Smax.romanov@nginx.com</change>
5511806Svbart@nginx.com
5521813Svbart@nginx.com<change type="bugfix">
5531813Svbart@nginx.com<para>
5541813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
5551813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
5561813Svbart@nginx.com</para>
5571813Svbart@nginx.com</change>
5581813Svbart@nginx.com
5591814Svbart@nginx.com<change type="bugfix">
5601814Svbart@nginx.com<para>
5611820Svbart@nginx.comthe controller process could crash while requesting information about a
5621820Svbart@nginx.comcertificate with a non-DNS SAN entry.
5631820Svbart@nginx.com</para>
5641820Svbart@nginx.com</change>
5651820Svbart@nginx.com
5661820Svbart@nginx.com<change type="bugfix">
5671820Svbart@nginx.com<para>
5681822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
5691833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
5701822Svbart@nginx.com</para>
5711822Svbart@nginx.com</change>
5721822Svbart@nginx.com
5731822Svbart@nginx.com<change type="bugfix">
5741822Svbart@nginx.com<para>
5751833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
5761833Sartem.konev@nginx.comclass.
5771814Svbart@nginx.com</para>
5781814Svbart@nginx.com</change>
5791814Svbart@nginx.com
5801815Svbart@nginx.com<change type="bugfix">
5811815Svbart@nginx.com<para>
5821815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
5831815Svbart@nginx.comappeared in 1.22.0.
5841815Svbart@nginx.com</para>
5851815Svbart@nginx.com</change>
5861815Svbart@nginx.com
5871806Svbart@nginx.com</changes>
5881806Svbart@nginx.com
5891806Svbart@nginx.com
5901798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
5911798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5921798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5931798Sdefan@nginx.com
5941798Sdefan@nginx.com<change>
5951798Sdefan@nginx.com<para>
5961798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
5971798Sdefan@nginx.com</para>
5981798Sdefan@nginx.com</change>
5991798Sdefan@nginx.com
6001798Sdefan@nginx.com</changes>
6011798Sdefan@nginx.com
6021798Sdefan@nginx.com
6031763Sdefan@nginx.com<changes apply="unit-php
6041763Sdefan@nginx.com                unit-python unit-python2.7
6051763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6061763Sdefan@nginx.com                unit-python3.8
6071763Sdefan@nginx.com                unit-go
6081763Sdefan@nginx.com                unit-perl
6091763Sdefan@nginx.com                unit-ruby
6101763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6111763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
6121763Sdefan@nginx.com         ver="1.22.0" rev="1"
6131793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6141763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6151763Sdefan@nginx.com
6161763Sdefan@nginx.com<change>
6171763Sdefan@nginx.com<para>
6181763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
6191763Sdefan@nginx.com</para>
6201763Sdefan@nginx.com</change>
6211763Sdefan@nginx.com
6221763Sdefan@nginx.com</changes>
6231763Sdefan@nginx.com
6241763Sdefan@nginx.com
6251727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
6261793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6271727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6281727Svbart@nginx.com
6291759Svbart@nginx.com<change type="feature">
6301759Svbart@nginx.com<para>
6311792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
6321792Svbart@nginx.comcompliant with Stream API.
6331759Svbart@nginx.com</para>
6341759Svbart@nginx.com</change>
6351759Svbart@nginx.com
6361766Smax.romanov@nginx.com<change type="feature">
6371766Smax.romanov@nginx.com<para>
6381792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
6391792Svbart@nginx.comapps.
6401732Svbart@nginx.com</para>
6411732Svbart@nginx.com</change>
6421732Svbart@nginx.com
6431733Svbart@nginx.com<change type="bugfix">
6441733Svbart@nginx.com<para>
6451792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
6461792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
6471754Smax.romanov@nginx.com</para>
6481754Smax.romanov@nginx.com</change>
6491754Smax.romanov@nginx.com
6501755Smax.romanov@nginx.com<change type="bugfix">
6511755Smax.romanov@nginx.com<para>
6521790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
6531755Smax.romanov@nginx.comappeared in 1.19.0.
6541755Smax.romanov@nginx.com</para>
6551755Smax.romanov@nginx.com</change>
6561755Smax.romanov@nginx.com
6571756Smax.romanov@nginx.com<change type="bugfix">
6581756Smax.romanov@nginx.com<para>
6591790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
6601790Sartem.konev@nginx.comappeared in 1.19.0.
6611756Smax.romanov@nginx.com</para>
6621756Smax.romanov@nginx.com</change>
6631756Smax.romanov@nginx.com
6641760Smax.romanov@nginx.com<change type="bugfix">
6651760Smax.romanov@nginx.com<para>
6661792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
6671792Svbart@nginx.com</para>
6681792Svbart@nginx.com</change>
6691792Svbart@nginx.com
6701792Svbart@nginx.com<change type="bugfix">
6711792Svbart@nginx.com<para>
6721792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
6731792Svbart@nginx.commissing in the PHP module.
6741792Svbart@nginx.com</para>
6751792Svbart@nginx.com</change>
6761792Svbart@nginx.com
6771792Svbart@nginx.com<change type="bugfix">
6781792Svbart@nginx.com<para>
6791792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
6801792Svbart@nginx.com</para>
6811792Svbart@nginx.com</change>
6821792Svbart@nginx.com
6831792Svbart@nginx.com<change type="bugfix">
6841792Svbart@nginx.com<para>
6851792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
6861792Svbart@nginx.com</para>
6871792Svbart@nginx.com</change>
6881792Svbart@nginx.com
6891792Svbart@nginx.com<change type="bugfix">
6901792Svbart@nginx.com<para>
6911792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
6921792Svbart@nginx.comthe bug had appeared in 1.21.0.
6931760Smax.romanov@nginx.com</para>
6941760Smax.romanov@nginx.com</change>
6951760Smax.romanov@nginx.com
6961780Smax.romanov@nginx.com<change type="bugfix">
6971780Smax.romanov@nginx.com<para>
6981790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
6991790Sartem.konev@nginx.comWebSocket.
7001780Smax.romanov@nginx.com</para>
7011780Smax.romanov@nginx.com</change>
7021780Smax.romanov@nginx.com
7031789Smax.romanov@nginx.com<change type="bugfix">
7041789Smax.romanov@nginx.com<para>
7051789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
7061789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
7071789Smax.romanov@nginx.com</para>
7081789Smax.romanov@nginx.com</change>
7091789Smax.romanov@nginx.com
7101727Svbart@nginx.com</changes>
7111727Svbart@nginx.com
7121727Svbart@nginx.com
7131722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
7141722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7151722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7161722Svbart@nginx.com
7171722Svbart@nginx.com<change>
7181722Svbart@nginx.com<para>
7191722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
7201722Svbart@nginx.com</para>
7211722Svbart@nginx.com</change>
7221722Svbart@nginx.com
7231722Svbart@nginx.com</changes>
7241722Svbart@nginx.com
7251722Svbart@nginx.com
7261722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
7271722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7281722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7291722Svbart@nginx.com
7301722Svbart@nginx.com<change>
7311722Svbart@nginx.com<para>
7321722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
7331722Svbart@nginx.com</para>
7341722Svbart@nginx.com</change>
7351722Svbart@nginx.com
7361722Svbart@nginx.com</changes>
7371722Svbart@nginx.com
7381722Svbart@nginx.com
7391722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
7401722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7411722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7421722Svbart@nginx.com
7431722Svbart@nginx.com<change>
7441722Svbart@nginx.com<para>
7451722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
7461722Svbart@nginx.com</para>
7471722Svbart@nginx.com</change>
7481722Svbart@nginx.com
7491722Svbart@nginx.com</changes>
7501722Svbart@nginx.com
7511722Svbart@nginx.com
7521722Svbart@nginx.com<changes apply="unit-php
7531722Svbart@nginx.com                unit-python unit-python2.7
7541722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7551722Svbart@nginx.com                unit-python3.8
7561722Svbart@nginx.com                unit-go
7571722Svbart@nginx.com                unit-perl
7581722Svbart@nginx.com                unit-ruby
7591722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7601722Svbart@nginx.com         ver="1.21.0" rev="1"
7611722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7621722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7631722Svbart@nginx.com
7641722Svbart@nginx.com<change>
7651722Svbart@nginx.com<para>
7661722Svbart@nginx.comNGINX Unit updated to 1.21.0.
7671722Svbart@nginx.com</para>
7681722Svbart@nginx.com</change>
7691722Svbart@nginx.com
7701722Svbart@nginx.com</changes>
7711722Svbart@nginx.com
7721722Svbart@nginx.com
7731722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
7741722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7751722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7761722Svbart@nginx.com
7771722Svbart@nginx.com<change type="change">
7781722Svbart@nginx.com<para>
7791722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
7801722Svbart@nginx.com</para>
7811722Svbart@nginx.com</change>
7821722Svbart@nginx.com
7831722Svbart@nginx.com<change type="change">
7841722Svbart@nginx.com<para>
7851722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
7861722Svbart@nginx.comnames.
7871722Svbart@nginx.com</para>
7881722Svbart@nginx.com</change>
7891722Svbart@nginx.com
7901722Svbart@nginx.com<change type="change">
7911722Svbart@nginx.com<para>
7921722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
7931722Svbart@nginx.comdefault.
7941722Svbart@nginx.com</para>
7951722Svbart@nginx.com</change>
7961722Svbart@nginx.com
7971722Svbart@nginx.com<change type="feature">
7981722Svbart@nginx.com<para>
7991722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
8001722Svbart@nginx.com</para>
8011722Svbart@nginx.com</change>
8021722Svbart@nginx.com
8031722Svbart@nginx.com<change type="feature">
8041722Svbart@nginx.com<para>
8051722Svbart@nginx.comregular expressions in route matching patterns.
8061722Svbart@nginx.com</para>
8071722Svbart@nginx.com</change>
8081722Svbart@nginx.com
8091722Svbart@nginx.com<change type="feature">
8101722Svbart@nginx.com<para>
8111722Svbart@nginx.comcompatibility with Python 3.9.
8121722Svbart@nginx.com</para>
8131722Svbart@nginx.com</change>
8141722Svbart@nginx.com
8151722Svbart@nginx.com<change type="feature">
8161722Svbart@nginx.com<para>
8171722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
8181722Svbart@nginx.com</para>
8191722Svbart@nginx.com</change>
8201722Svbart@nginx.com
8211722Svbart@nginx.com<change type="feature">
8221722Svbart@nginx.com<para>
8231722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
8241722Svbart@nginx.com</para>
8251722Svbart@nginx.com</change>
8261722Svbart@nginx.com
8271722Svbart@nginx.com<change type="feature">
8281722Svbart@nginx.com<para>
8291722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
8301722Svbart@nginx.comcontinues code execution without holding onto the client connection.
8311722Svbart@nginx.com</para>
8321722Svbart@nginx.com</change>
8331722Svbart@nginx.com
8341722Svbart@nginx.com<change type="feature">
8351722Svbart@nginx.com<para>
8361722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
8371722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
8381722Svbart@nginx.com</para>
8391722Svbart@nginx.com</change>
8401722Svbart@nginx.com
8411722Svbart@nginx.com<change type="feature">
8421722Svbart@nginx.com<para>
8431722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
8441722Svbart@nginx.commounting of eponymous filesystems.
8451722Svbart@nginx.com</para>
8461722Svbart@nginx.com</change>
8471722Svbart@nginx.com
8481722Svbart@nginx.com<change type="bugfix">
8491722Svbart@nginx.com<para>
8501722Svbart@nginx.comthe router process could crash when running Go applications under high load;
8511722Svbart@nginx.comthe bug had appeared in 1.19.0.
8521722Svbart@nginx.com</para>
8531722Svbart@nginx.com</change>
8541722Svbart@nginx.com
8551722Svbart@nginx.com<change type="bugfix">
8561722Svbart@nginx.com<para>
8571722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
8581722Svbart@nginx.com</para>
8591722Svbart@nginx.com</change>
8601722Svbart@nginx.com
8611722Svbart@nginx.com<change type="bugfix">
8621722Svbart@nginx.com<para>
8631722Svbart@nginx.comvarious compatibility issues in Java applications.
8641722Svbart@nginx.com</para>
8651722Svbart@nginx.com</change>
8661722Svbart@nginx.com
8671722Svbart@nginx.com<change type="bugfix">
8681722Svbart@nginx.com<para>
8691722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
8701722Svbart@nginx.comuse "rootfs" isolation.
8711722Svbart@nginx.com</para>
8721722Svbart@nginx.com</change>
8731722Svbart@nginx.com
8741722Svbart@nginx.com</changes>
8751722Svbart@nginx.com
8761722Svbart@nginx.com
8771330Svbart@nginx.com<changes apply="unit-php
8781330Svbart@nginx.com                unit-python unit-python2.7
8791330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8801330Svbart@nginx.com                unit-python3.8
8811330Svbart@nginx.com                unit-go
8821330Svbart@nginx.com                unit-perl
8831330Svbart@nginx.com                unit-ruby
8841330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8851640Svbart@nginx.com         ver="1.20.0" rev="1"
8861640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8871640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8881640Svbart@nginx.com
8891640Svbart@nginx.com<change>
8901640Svbart@nginx.com<para>
8911640Svbart@nginx.comNGINX Unit updated to 1.20.0.
8921640Svbart@nginx.com</para>
8931640Svbart@nginx.com</change>
8941640Svbart@nginx.com
8951640Svbart@nginx.com</changes>
8961640Svbart@nginx.com
8971640Svbart@nginx.com
8981640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
8991640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9001640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9011640Svbart@nginx.com
9021640Svbart@nginx.com<change type="change">
9031640Svbart@nginx.com<para>
9041640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
9051640Svbart@nginx.comextensions from the host system.
9061640Svbart@nginx.com</para>
9071640Svbart@nginx.com</change>
9081640Svbart@nginx.com
9091640Svbart@nginx.com<change type="change">
9101640Svbart@nginx.com<para>
9111640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
9121640Svbart@nginx.com</para>
9131640Svbart@nginx.com</change>
9141640Svbart@nginx.com
9151643Svbart@nginx.com<change type="change">
9161643Svbart@nginx.com<para>
9171643Svbart@nginx.comfunctional tests migrated to the pytest framework.
9181643Svbart@nginx.com</para>
9191643Svbart@nginx.com</change>
9201643Svbart@nginx.com
9211640Svbart@nginx.com<change type="feature">
9221640Svbart@nginx.com<para>
9231640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
9241640Svbart@nginx.cominterface.
9251640Svbart@nginx.com</para>
9261640Svbart@nginx.com</change>
9271640Svbart@nginx.com
9281640Svbart@nginx.com<change type="feature">
9291640Svbart@nginx.com<para>
9301640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
9311640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
9321640Svbart@nginx.comspecification.
9331640Svbart@nginx.com</para>
9341640Svbart@nginx.com</change>
9351640Svbart@nginx.com
9361640Svbart@nginx.com<change type="feature">
9371640Svbart@nginx.com<para>
9381640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
9391640Svbart@nginx.comenvironments.
9401640Svbart@nginx.com</para>
9411640Svbart@nginx.com</change>
9421640Svbart@nginx.com
9431640Svbart@nginx.com<change type="feature">
9441640Svbart@nginx.com<para>
9451640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
9461640Svbart@nginx.com</para>
9471640Svbart@nginx.com</change>
9481640Svbart@nginx.com
9491640Svbart@nginx.com<change type="feature">
9501640Svbart@nginx.com<para>
9511640Svbart@nginx.comthe "callable" option sets Python application callable names.
9521640Svbart@nginx.com</para>
9531640Svbart@nginx.com</change>
9541640Svbart@nginx.com
9551640Svbart@nginx.com<change type="feature">
9561640Svbart@nginx.com<para>
9571640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
9581640Svbart@nginx.com</para>
9591640Svbart@nginx.com</change>
9601640Svbart@nginx.com
9611640Svbart@nginx.com<change type="feature">
9621640Svbart@nginx.com<para>
9631640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
9641640Svbart@nginx.comautomatic mounting of language module dependencies.
9651640Svbart@nginx.com</para>
9661640Svbart@nginx.com</change>
9671640Svbart@nginx.com
9681640Svbart@nginx.com<change type="bugfix">
9691640Svbart@nginx.com<para>
9701640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
9711640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
9721640Svbart@nginx.com</para>
9731640Svbart@nginx.com</change>
9741640Svbart@nginx.com
9751640Svbart@nginx.com<change type="bugfix">
9761640Svbart@nginx.com<para>
9771640Svbart@nginx.comthe router process could crash during reconfiguration.
9781640Svbart@nginx.com</para>
9791640Svbart@nginx.com</change>
9801640Svbart@nginx.com
9811640Svbart@nginx.com<change type="bugfix">
9821640Svbart@nginx.com<para>
9831640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
9841640Svbart@nginx.com</para>
9851640Svbart@nginx.com</change>
9861640Svbart@nginx.com
9871640Svbart@nginx.com<change type="bugfix">
9881640Svbart@nginx.com<para>
9891640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
9901640Svbart@nginx.comthe bug had appeared in 1.19.0.
9911640Svbart@nginx.com</para>
9921640Svbart@nginx.com</change>
9931640Svbart@nginx.com
9941640Svbart@nginx.com<change type="bugfix">
9951640Svbart@nginx.com<para>
9961640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
9971640Svbart@nginx.comthe bug had appeared in 1.16.0.
9981640Svbart@nginx.com</para>
9991640Svbart@nginx.com</change>
10001640Svbart@nginx.com
10011640Svbart@nginx.com</changes>
10021640Svbart@nginx.com
10031640Svbart@nginx.com
10041640Svbart@nginx.com<changes apply="unit-php
10051640Svbart@nginx.com                unit-python unit-python2.7
10061640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10071640Svbart@nginx.com                unit-python3.8
10081640Svbart@nginx.com                unit-go
10091640Svbart@nginx.com                unit-perl
10101640Svbart@nginx.com                unit-ruby
10111640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10121570Svbart@nginx.com         ver="1.19.0" rev="1"
10131570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
10141570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10151570Svbart@nginx.com
10161570Svbart@nginx.com<change>
10171570Svbart@nginx.com<para>
10181570Svbart@nginx.comNGINX Unit updated to 1.19.0.
10191570Svbart@nginx.com</para>
10201570Svbart@nginx.com</change>
10211570Svbart@nginx.com
10221570Svbart@nginx.com</changes>
10231570Svbart@nginx.com
10241570Svbart@nginx.com
10251570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
10261570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
10271570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10281570Svbart@nginx.com
10291570Svbart@nginx.com<change type="feature">
10301570Svbart@nginx.com<para>
10311570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
10321570Svbart@nginx.comincrease performance, and improve scalability.
10331570Svbart@nginx.com</para>
10341570Svbart@nginx.com</change>
10351570Svbart@nginx.com
10361570Svbart@nginx.com<change type="feature">
10371570Svbart@nginx.com<para>
10381570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
10391570Svbart@nginx.com</para>
10401570Svbart@nginx.com</change>
10411570Svbart@nginx.com
10421570Svbart@nginx.com<change type="feature">
10431570Svbart@nginx.com<para>
10441570Svbart@nginx.comchunked transfer encoding in proxy responses.
10451570Svbart@nginx.com</para>
10461570Svbart@nginx.com</change>
10471570Svbart@nginx.com
10481570Svbart@nginx.com<change type="feature">
10491570Svbart@nginx.com<para>
10501570Svbart@nginx.combasic variables support in the "pass" option.
10511570Svbart@nginx.com</para>
1052