xref: /unit/docs/changes.xml (revision 2117)
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>
482113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action.
492113Sartem.konev@nginx.com</para>
502113Sartem.konev@nginx.com</change>
512113Sartem.konev@nginx.com
522113Sartem.konev@nginx.com<change type="feature">
532113Sartem.konev@nginx.com<para>
542113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query
552113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4.
562113Sartem.konev@nginx.com</para>
572113Sartem.konev@nginx.com</change>
582113Sartem.konev@nginx.com
592113Sartem.konev@nginx.com<change type="feature">
602113Sartem.konev@nginx.com<para>
612113Sartem.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>
792113Sartem.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
103*2117Szelenkov@nginx.com<change type="bugfix">
104*2117Szelenkov@nginx.com<para>
105*2117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions.
106*2117Szelenkov@nginx.com</para>
107*2117Szelenkov@nginx.com</change>
108*2117Szelenkov@nginx.com
1092050Svbart@nginx.com</changes>
1102050Svbart@nginx.com
1112050Svbart@nginx.com
1122050Svbart@nginx.com<changes apply="unit-php
1132050Svbart@nginx.com                unit-python unit-python2.7
1142050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1152050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
1162050Svbart@nginx.com                unit-go
1172050Svbart@nginx.com                unit-perl
1182050Svbart@nginx.com                unit-ruby
1192050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1202050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
1212029SN/A         ver="1.26.1" rev="1"
1222045SN/A         date="2021-12-02" time="18:00:00 +0300"
1232029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1242029SN/A
1252029SN/A<change>
1262029SN/A<para>
1272029SN/ANGINX Unit updated to 1.26.1.
1282029SN/A</para>
1292029SN/A</change>
1302029SN/A
1312029SN/A</changes>
1322029SN/A
1332029SN/A
1342029SN/A<changes apply="unit" ver="1.26.1" rev="1"
1352045SN/A         date="2021-12-02" time="18:00:00 +0300"
1362029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1372029SN/A
1382033SN/A<change type="bugfix">
1392033SN/A<para>
1402044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
1412044SN/Aappeared in 1.26.0.
1422033SN/A</para>
1432033SN/A</change>
1442033SN/A
1452034SN/A<change type="bugfix">
1462034SN/A<para>
1472044SN/Aa prototype process could crash on an application process exit; the bug had
1482034SN/Aappeared in 1.26.0.
1492034SN/A</para>
1502034SN/A</change>
1512034SN/A
1522035SN/A<change type="bugfix">
1532035SN/A<para>
1542044SN/Athe router process crashed on reconfiguration if "access_log" was configured
1552044SN/Awithout listeners.
1562044SN/A</para>
1572044SN/A</change>
1582044SN/A
1592044SN/A<change type="bugfix">
1602044SN/A<para>
1612035SN/Aa segmentation fault occurred in the PHP module if chdir() or
1622035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
1632035SN/A</para>
1642035SN/A</change>
1652035SN/A
1662040SN/A<change type="bugfix">
1672040SN/A<para>
1682041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
1692041SN/A</para>
1702041SN/A</change>
1712041SN/A
1722029SN/A</changes>
1732029SN/A
1742029SN/A
1751973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
1762007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1771973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1781973Sdefan@nginx.com
1791973Sdefan@nginx.com<change>
1801973Sdefan@nginx.com<para>
1811973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
1821973Sdefan@nginx.com</para>
1831973Sdefan@nginx.com</change>
1841973Sdefan@nginx.com
1851973Sdefan@nginx.com</changes>
1861973Sdefan@nginx.com
1871973Sdefan@nginx.com
1881973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
1892007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1901973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1911973Sdefan@nginx.com
1921973Sdefan@nginx.com<change>
1931973Sdefan@nginx.com<para>
1941973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
1951973Sdefan@nginx.com</para>
1961973Sdefan@nginx.com</change>
1971973Sdefan@nginx.com
1981973Sdefan@nginx.com</changes>
1991973Sdefan@nginx.com
2001973Sdefan@nginx.com
2011896Svbart@nginx.com<changes apply="unit-php
2021896Svbart@nginx.com                unit-python unit-python2.7
2031896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2041896Svbart@nginx.com                unit-python3.8 unit-python3.9
2051896Svbart@nginx.com                unit-go
2061896Svbart@nginx.com                unit-perl
2071896Svbart@nginx.com                unit-ruby
2081896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2091896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2101951Svbart@nginx.com         ver="1.26.0" rev="1"
2112007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2121951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2131951Svbart@nginx.com
2141951Svbart@nginx.com<change>
2151951Svbart@nginx.com<para>
2161951Svbart@nginx.comNGINX Unit updated to 1.26.0.
2171951Svbart@nginx.com</para>
2181951Svbart@nginx.com</change>
2191951Svbart@nginx.com
2201951Svbart@nginx.com</changes>
2211951Svbart@nginx.com
2221951Svbart@nginx.com
2231951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
2242007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
2251951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2261951Svbart@nginx.com
2271960Sz.hong@f5.com<change type="change">
2281960Sz.hong@f5.com<para>
2291960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
2301960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
2311960Sz.hong@f5.com</para>
2321960Sz.hong@f5.com</change>
2331960Sz.hong@f5.com
2341960Sz.hong@f5.com<change type="feature">
2351960Sz.hong@f5.com<para>
2362006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
2372006Svbart@nginx.comwhen updating from previous versions.
2382006Svbart@nginx.com</para>
2392006Svbart@nginx.com</change>
2402006Svbart@nginx.com
2412006Svbart@nginx.com<change type="feature">
2422006Svbart@nginx.com<para>
2431960Sz.hong@f5.comvariables support in the "share" option.
2441960Sz.hong@f5.com</para>
2451960Sz.hong@f5.com</change>
2461960Sz.hong@f5.com
2471959Sz.hong@f5.com<change type="feature">
2481959Sz.hong@f5.com<para>
2491961Sz.hong@f5.commultiple paths in the "share" option.
2501961Sz.hong@f5.com</para>
2511961Sz.hong@f5.com</change>
2521961Sz.hong@f5.com
2531961Sz.hong@f5.com<change type="feature">
2541961Sz.hong@f5.com<para>
2551959Sz.hong@f5.comvariables support in the "chroot" option.
2561959Sz.hong@f5.com</para>
2571959Sz.hong@f5.com</change>
2581959Sz.hong@f5.com
2591969Sz.hong@f5.com<change type="feature">
2601969Sz.hong@f5.com<para>
2612006Svbart@nginx.comPHP opcache is shared between application processes.
2621969Sz.hong@f5.com</para>
2631969Sz.hong@f5.com</change>
2641969Sz.hong@f5.com
2651991Sz.hong@f5.com<change type="feature">
2661991Sz.hong@f5.com<para>
2671991Sz.hong@f5.comrequest routing by the query string.
2681991Sz.hong@f5.com</para>
2691991Sz.hong@f5.com</change>
2701991Sz.hong@f5.com
2711955Smax.romanov@nginx.com<change type="bugfix">
2721955Smax.romanov@nginx.com<para>
2732006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
2742006Svbart@nginx.comby asynchronous or multithreaded apps.
2751955Smax.romanov@nginx.com</para>
2761955Smax.romanov@nginx.com</change>
2771955Smax.romanov@nginx.com
2781956Smax.romanov@nginx.com<change type="bugfix">
2791956Smax.romanov@nginx.com<para>
2801956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
2811956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
2821956Smax.romanov@nginx.com</para>
2831956Smax.romanov@nginx.com</change>
2841956Smax.romanov@nginx.com
2851992Smax.romanov@nginx.com<change type="bugfix">
2861992Smax.romanov@nginx.com<para>
2872006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
2881992Smax.romanov@nginx.com</para>
2891992Smax.romanov@nginx.com</change>
2901992Smax.romanov@nginx.com
2911951Svbart@nginx.com</changes>
2921951Svbart@nginx.com
2931951Svbart@nginx.com
2941951Svbart@nginx.com<changes apply="unit-php
2951951Svbart@nginx.com                unit-python unit-python2.7
2961951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2971951Svbart@nginx.com                unit-python3.8 unit-python3.9
2981951Svbart@nginx.com                unit-go
2991951Svbart@nginx.com                unit-perl
3001951Svbart@nginx.com                unit-ruby
3011951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3021951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
3031896Svbart@nginx.com         ver="1.25.0" rev="1"
3041945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3051896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3061896Svbart@nginx.com
3071896Svbart@nginx.com<change>
3081896Svbart@nginx.com<para>
3091896Svbart@nginx.comNGINX Unit updated to 1.25.0.
3101896Svbart@nginx.com</para>
3111896Svbart@nginx.com</change>
3121896Svbart@nginx.com
3131896Svbart@nginx.com</changes>
3141896Svbart@nginx.com
3151896Svbart@nginx.com
3161896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
3171945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
3181896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3191896Svbart@nginx.com
3201910So.canty@f5.com<change type="feature">
3211910So.canty@f5.com<para>
3221944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
3231942Sa.suvorov@f5.com</para>
3241942Sa.suvorov@f5.com</change>
3251942Sa.suvorov@f5.com
3261942Sa.suvorov@f5.com<change type="feature">
3271942Sa.suvorov@f5.com<para>
3281920Sa.suvorov@f5.comTLS sessions cache.
3291920Sa.suvorov@f5.com</para>
3301920Sa.suvorov@f5.com</change>
3311920Sa.suvorov@f5.com
3321920Sa.suvorov@f5.com<change type="feature">
3331920Sa.suvorov@f5.com<para>
3341944Svbart@nginx.comTLS session tickets.
3351910So.canty@f5.com</para>
3361910So.canty@f5.com</change>
3371910So.canty@f5.com
3381926Smax.romanov@nginx.com<change type="feature">
3391926Smax.romanov@nginx.com<para>
3401926Smax.romanov@nginx.comapplication restart control.
3411926Smax.romanov@nginx.com</para>
3421926Smax.romanov@nginx.com</change>
3431926Smax.romanov@nginx.com
3441936So.canty@f5.com<change type="feature">
3451936So.canty@f5.com<para>
3461944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
3471936So.canty@f5.com</para>
3481936So.canty@f5.com</change>
3491936So.canty@f5.com
3501907Smax.romanov@nginx.com<change type="bugfix">
3511907Smax.romanov@nginx.com<para>
3521944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
3531944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
3541921Sa.suvorov@f5.com</para>
3551921Sa.suvorov@f5.com</change>
3561921Sa.suvorov@f5.com
3571921Sa.suvorov@f5.com<change type="bugfix">
3581921Sa.suvorov@f5.com<para>
3591944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
3601944Svbart@nginx.combundles in a listener if the client did not use SNI.
3611907Smax.romanov@nginx.com</para>
3621907Smax.romanov@nginx.com</change>
3631907Smax.romanov@nginx.com
3641907Smax.romanov@nginx.com<change type="bugfix">
3651907Smax.romanov@nginx.com<para>
3661950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
3671915Smax.romanov@nginx.comreconfiguration.
3681915Smax.romanov@nginx.com</para>
3691915Smax.romanov@nginx.com</change>
3701915Smax.romanov@nginx.com
3711915Smax.romanov@nginx.com<change type="bugfix">
3721915Smax.romanov@nginx.com<para>
3731944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
3741944Svbart@nginx.comframework.
3751944Svbart@nginx.com</para>
3761944Svbart@nginx.com</change>
3771944Svbart@nginx.com
3781944Svbart@nginx.com<change type="bugfix">
3791944Svbart@nginx.com<para>
3801944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
3811944Svbart@nginx.comstopped or crashed.
3821907Smax.romanov@nginx.com</para>
3831907Smax.romanov@nginx.com</change>
3841907Smax.romanov@nginx.com
3851909So.canty@f5.com<change type="bugfix">
3861909So.canty@f5.com<para>
3871909So.canty@f5.comthe controller or router process could crash if the configuration contained
3881909So.canty@f5.coma full-form IPv6 in a listener address.
3891909So.canty@f5.com</para>
3901909So.canty@f5.com</change>
3911909So.canty@f5.com
3921916Smax.romanov@nginx.com<change type="bugfix">
3931916Smax.romanov@nginx.com<para>
3941929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
3951929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
3961929Sz.hong@f5.com</para>
3971929Sz.hong@f5.com</change>
3981929Sz.hong@f5.com
3991930So.canty@f5.com<change type="bugfix">
4001930So.canty@f5.com<para>
4011944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
4021944Svbart@nginx.comor destination address patterns.
4031930So.canty@f5.com</para>
4041930So.canty@f5.com</change>
4051930So.canty@f5.com
4061896Svbart@nginx.com</changes>
4071896Svbart@nginx.com
4081896Svbart@nginx.com
4091887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
4101891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4111887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4121887Sdefan@nginx.com
4131887Sdefan@nginx.com<change>
4141887Sdefan@nginx.com<para>
4151887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
4161887Sdefan@nginx.com</para>
4171887Sdefan@nginx.com</change>
4181887Sdefan@nginx.com
4191887Sdefan@nginx.com</changes>
4201887Sdefan@nginx.com
4211887Sdefan@nginx.com
4221887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
4231891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4241887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4251887Sdefan@nginx.com
4261887Sdefan@nginx.com<change>
4271887Sdefan@nginx.com<para>
4281887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
4291887Sdefan@nginx.com</para>
4301887Sdefan@nginx.com</change>
4311887Sdefan@nginx.com
4321887Sdefan@nginx.com</changes>
4331887Sdefan@nginx.com
4341887Sdefan@nginx.com
4351834Svbart@nginx.com<changes apply="unit-php
4361834Svbart@nginx.com                unit-python unit-python2.7
4371834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4381834Svbart@nginx.com                unit-python3.8 unit-python3.9
4391834Svbart@nginx.com                unit-go
4401834Svbart@nginx.com                unit-perl
4411834Svbart@nginx.com                unit-ruby
4421834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4431834Svbart@nginx.com                unit-jsc14 unit-jsc15"
4441839Svbart@nginx.com         ver="1.24.0" rev="1"
4451891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4461839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4471839Svbart@nginx.com
4481839Svbart@nginx.com<change>
4491839Svbart@nginx.com<para>
4501839Svbart@nginx.comNGINX Unit updated to 1.24.0.
4511839Svbart@nginx.com</para>
4521839Svbart@nginx.com</change>
4531839Svbart@nginx.com
4541839Svbart@nginx.com</changes>
4551839Svbart@nginx.com
4561839Svbart@nginx.com
4571839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
4581891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4591839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4601839Svbart@nginx.com
4611882So.canty@f5.com<change type="change">
4621882So.canty@f5.com<para>
4631882So.canty@f5.comPHP added to the default MIME type list.
4641882So.canty@f5.com</para>
4651882So.canty@f5.com</change>
4661882So.canty@f5.com
4671855Sz.hong@f5.com<change type="feature">
4681855Sz.hong@f5.com<para>
4691885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
4701885Sa.suvorov@f5.com</para>
4711885Sa.suvorov@f5.com</change>
4721885Sa.suvorov@f5.com
4731885Sa.suvorov@f5.com<change type="feature">
4741885Sa.suvorov@f5.com<para>
4751890Svbart@nginx.comthe ability to limit static file serving by MIME types.
4761890Svbart@nginx.com</para>
4771890Svbart@nginx.com</change>
4781890Svbart@nginx.com
4791890Svbart@nginx.com<change type="feature">
4801890Svbart@nginx.com<para>
4811890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
4821890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
4831872So.canty@f5.com</para>
4841872So.canty@f5.com</change>
4851872So.canty@f5.com
4861872So.canty@f5.com<change type="feature">
4871872So.canty@f5.com<para>
4881889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
4891889Sartem.konev@nginx.comNode.js.
4901865So.canty@f5.com</para>
4911865So.canty@f5.com</change>
4921865So.canty@f5.com
4931865So.canty@f5.com<change type="feature">
4941865So.canty@f5.com<para>
4951890Svbart@nginx.commultiple "targets" in Python applications.
4961855Sz.hong@f5.com</para>
4971855Sz.hong@f5.com</change>
4981855Sz.hong@f5.com
4991870So.canty@f5.com<change type="feature">
5001870So.canty@f5.com<para>
5011870So.canty@f5.comcompatibility with Ruby 3.0.
5021870So.canty@f5.com</para>
5031870So.canty@f5.com</change>
5041870So.canty@f5.com
5051861Svbart@nginx.com<change type="bugfix">
5061861Svbart@nginx.com<para>
5071889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
5081884Sa.suvorov@f5.com</para>
5091884Sa.suvorov@f5.com</change>
5101884Sa.suvorov@f5.com
5111884Sa.suvorov@f5.com<change type="bugfix">
5121884Sa.suvorov@f5.com<para>
5131861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
5141861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
5151861Svbart@nginx.com</para>
5161861Svbart@nginx.com</change>
5171861Svbart@nginx.com
5181839Svbart@nginx.com</changes>
5191839Svbart@nginx.com
5201839Svbart@nginx.com
5211839Svbart@nginx.com<changes apply="unit-php
5221839Svbart@nginx.com                unit-python unit-python2.7
5231839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5241839Svbart@nginx.com                unit-python3.8 unit-python3.9
5251839Svbart@nginx.com                unit-go
5261839Svbart@nginx.com                unit-perl
5271839Svbart@nginx.com                unit-ruby
5281839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5291839Svbart@nginx.com                unit-jsc14 unit-jsc15"
5301834Svbart@nginx.com         ver="1.23.0" rev="1"
5311834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5321834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5331834Svbart@nginx.com
5341834Svbart@nginx.com<change>
5351834Svbart@nginx.com<para>
5361834Svbart@nginx.comNGINX Unit updated to 1.23.0.
5371834Svbart@nginx.com</para>
5381834Svbart@nginx.com</change>
5391834Svbart@nginx.com
5401834Svbart@nginx.com</changes>
5411834Svbart@nginx.com
5421834Svbart@nginx.com
5431806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
5441834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
5451806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5461806Svbart@nginx.com
5471825Sthresh@nginx.com<change type="feature">
5481825Sthresh@nginx.com<para>
5491833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
5501828Sa.suvorov@f5.comIndication (SNI) TLS extension.
5511828Sa.suvorov@f5.com</para>
5521828Sa.suvorov@f5.com</change>
5531828Sa.suvorov@f5.com
5541828Sa.suvorov@f5.com<change type="feature">
5551828Sa.suvorov@f5.com<para>
5561833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
5571833Sartem.konev@nginx.cominstallation.
5581825Sthresh@nginx.com</para>
5591825Sthresh@nginx.com</change>
5601825Sthresh@nginx.com
5611811Smax.romanov@nginx.com<change type="bugfix">
5621811Smax.romanov@nginx.com<para>
5631812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
5641812Svbart@nginx.comappeared in 1.17.0.
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 connection leak occurred on premature TLS connection close; the bug had
5711812Svbart@nginx.comappeared in 1.6.
5721812Svbart@nginx.com</para>
5731812Svbart@nginx.com</change>
5741812Svbart@nginx.com
5751812Svbart@nginx.com<change type="bugfix">
5761812Svbart@nginx.com<para>
5771833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
5781832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
5791832Smax.romanov@nginx.com</para>
5801832Smax.romanov@nginx.com</change>
5811832Smax.romanov@nginx.com
5821832Smax.romanov@nginx.com<change type="bugfix">
5831832Smax.romanov@nginx.com<para>
5841833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
5851811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
5861811Smax.romanov@nginx.com</para>
5871811Smax.romanov@nginx.com</change>
5881806Svbart@nginx.com
5891813Svbart@nginx.com<change type="bugfix">
5901813Svbart@nginx.com<para>
5911813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
5921813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
5931813Svbart@nginx.com</para>
5941813Svbart@nginx.com</change>
5951813Svbart@nginx.com
5961814Svbart@nginx.com<change type="bugfix">
5971814Svbart@nginx.com<para>
5981820Svbart@nginx.comthe controller process could crash while requesting information about a
5991820Svbart@nginx.comcertificate with a non-DNS SAN entry.
6001820Svbart@nginx.com</para>
6011820Svbart@nginx.com</change>
6021820Svbart@nginx.com
6031820Svbart@nginx.com<change type="bugfix">
6041820Svbart@nginx.com<para>
6051822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
6061833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
6071822Svbart@nginx.com</para>
6081822Svbart@nginx.com</change>
6091822Svbart@nginx.com
6101822Svbart@nginx.com<change type="bugfix">
6111822Svbart@nginx.com<para>
6121833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
6131833Sartem.konev@nginx.comclass.
6141814Svbart@nginx.com</para>
6151814Svbart@nginx.com</change>
6161814Svbart@nginx.com
6171815Svbart@nginx.com<change type="bugfix">
6181815Svbart@nginx.com<para>
6191815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
6201815Svbart@nginx.comappeared in 1.22.0.
6211815Svbart@nginx.com</para>
6221815Svbart@nginx.com</change>
6231815Svbart@nginx.com
6241806Svbart@nginx.com</changes>
6251806Svbart@nginx.com
6261806Svbart@nginx.com
6271798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
6281798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6291798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6301798Sdefan@nginx.com
6311798Sdefan@nginx.com<change>
6321798Sdefan@nginx.com<para>
6331798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
6341798Sdefan@nginx.com</para>
6351798Sdefan@nginx.com</change>
6361798Sdefan@nginx.com
6371798Sdefan@nginx.com</changes>
6381798Sdefan@nginx.com
6391798Sdefan@nginx.com
6401763Sdefan@nginx.com<changes apply="unit-php
6411763Sdefan@nginx.com                unit-python unit-python2.7
6421763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6431763Sdefan@nginx.com                unit-python3.8
6441763Sdefan@nginx.com                unit-go
6451763Sdefan@nginx.com                unit-perl
6461763Sdefan@nginx.com                unit-ruby
6471763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
6481763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
6491763Sdefan@nginx.com         ver="1.22.0" rev="1"
6501793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6511763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6521763Sdefan@nginx.com
6531763Sdefan@nginx.com<change>
6541763Sdefan@nginx.com<para>
6551763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
6561763Sdefan@nginx.com</para>
6571763Sdefan@nginx.com</change>
6581763Sdefan@nginx.com
6591763Sdefan@nginx.com</changes>
6601763Sdefan@nginx.com
6611763Sdefan@nginx.com
6621727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
6631793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6641727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6651727Svbart@nginx.com
6661759Svbart@nginx.com<change type="feature">
6671759Svbart@nginx.com<para>
6681792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
6691792Svbart@nginx.comcompliant with Stream API.
6701759Svbart@nginx.com</para>
6711759Svbart@nginx.com</change>
6721759Svbart@nginx.com
6731766Smax.romanov@nginx.com<change type="feature">
6741766Smax.romanov@nginx.com<para>
6751792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
6761792Svbart@nginx.comapps.
6771732Svbart@nginx.com</para>
6781732Svbart@nginx.com</change>
6791732Svbart@nginx.com
6801733Svbart@nginx.com<change type="bugfix">
6811733Svbart@nginx.com<para>
6821792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
6831792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
6841754Smax.romanov@nginx.com</para>
6851754Smax.romanov@nginx.com</change>
6861754Smax.romanov@nginx.com
6871755Smax.romanov@nginx.com<change type="bugfix">
6881755Smax.romanov@nginx.com<para>
6891790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
6901755Smax.romanov@nginx.comappeared in 1.19.0.
6911755Smax.romanov@nginx.com</para>
6921755Smax.romanov@nginx.com</change>
6931755Smax.romanov@nginx.com
6941756Smax.romanov@nginx.com<change type="bugfix">
6951756Smax.romanov@nginx.com<para>
6961790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
6971790Sartem.konev@nginx.comappeared in 1.19.0.
6981756Smax.romanov@nginx.com</para>
6991756Smax.romanov@nginx.com</change>
7001756Smax.romanov@nginx.com
7011760Smax.romanov@nginx.com<change type="bugfix">
7021760Smax.romanov@nginx.com<para>
7031792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
7041792Svbart@nginx.com</para>
7051792Svbart@nginx.com</change>
7061792Svbart@nginx.com
7071792Svbart@nginx.com<change type="bugfix">
7081792Svbart@nginx.com<para>
7091792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
7101792Svbart@nginx.commissing in the PHP module.
7111792Svbart@nginx.com</para>
7121792Svbart@nginx.com</change>
7131792Svbart@nginx.com
7141792Svbart@nginx.com<change type="bugfix">
7151792Svbart@nginx.com<para>
7161792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
7171792Svbart@nginx.com</para>
7181792Svbart@nginx.com</change>
7191792Svbart@nginx.com
7201792Svbart@nginx.com<change type="bugfix">
7211792Svbart@nginx.com<para>
7221792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
7231792Svbart@nginx.com</para>
7241792Svbart@nginx.com</change>
7251792Svbart@nginx.com
7261792Svbart@nginx.com<change type="bugfix">
7271792Svbart@nginx.com<para>
7281792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
7291792Svbart@nginx.comthe bug had appeared in 1.21.0.
7301760Smax.romanov@nginx.com</para>
7311760Smax.romanov@nginx.com</change>
7321760Smax.romanov@nginx.com
7331780Smax.romanov@nginx.com<change type="bugfix">
7341780Smax.romanov@nginx.com<para>
7351790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
7361790Sartem.konev@nginx.comWebSocket.
7371780Smax.romanov@nginx.com</para>
7381780Smax.romanov@nginx.com</change>
7391780Smax.romanov@nginx.com
7401789Smax.romanov@nginx.com<change type="bugfix">
7411789Smax.romanov@nginx.com<para>
7421789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
7431789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
7441789Smax.romanov@nginx.com</para>
7451789Smax.romanov@nginx.com</change>
7461789Smax.romanov@nginx.com
7471727Svbart@nginx.com</changes>
7481727Svbart@nginx.com
7491727Svbart@nginx.com
7501722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
7511722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7521722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7531722Svbart@nginx.com
7541722Svbart@nginx.com<change>
7551722Svbart@nginx.com<para>
7561722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
7571722Svbart@nginx.com</para>
7581722Svbart@nginx.com</change>
7591722Svbart@nginx.com
7601722Svbart@nginx.com</changes>
7611722Svbart@nginx.com
7621722Svbart@nginx.com
7631722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
7641722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7651722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7661722Svbart@nginx.com
7671722Svbart@nginx.com<change>
7681722Svbart@nginx.com<para>
7691722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
7701722Svbart@nginx.com</para>
7711722Svbart@nginx.com</change>
7721722Svbart@nginx.com
7731722Svbart@nginx.com</changes>
7741722Svbart@nginx.com
7751722Svbart@nginx.com
7761722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
7771722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7781722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7791722Svbart@nginx.com
7801722Svbart@nginx.com<change>
7811722Svbart@nginx.com<para>
7821722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
7831722Svbart@nginx.com</para>
7841722Svbart@nginx.com</change>
7851722Svbart@nginx.com
7861722Svbart@nginx.com</changes>
7871722Svbart@nginx.com
7881722Svbart@nginx.com
7891722Svbart@nginx.com<changes apply="unit-php
7901722Svbart@nginx.com                unit-python unit-python2.7
7911722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7921722Svbart@nginx.com                unit-python3.8
7931722Svbart@nginx.com                unit-go
7941722Svbart@nginx.com                unit-perl
7951722Svbart@nginx.com                unit-ruby
7961722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7971722Svbart@nginx.com         ver="1.21.0" rev="1"
7981722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7991722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8001722Svbart@nginx.com
8011722Svbart@nginx.com<change>
8021722Svbart@nginx.com<para>
8031722Svbart@nginx.comNGINX Unit updated to 1.21.0.
8041722Svbart@nginx.com</para>
8051722Svbart@nginx.com</change>
8061722Svbart@nginx.com
8071722Svbart@nginx.com</changes>
8081722Svbart@nginx.com
8091722Svbart@nginx.com
8101722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
8111722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
8121722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8131722Svbart@nginx.com
8141722Svbart@nginx.com<change type="change">
8151722Svbart@nginx.com<para>
8161722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
8171722Svbart@nginx.com</para>
8181722Svbart@nginx.com</change>
8191722Svbart@nginx.com
8201722Svbart@nginx.com<change type="change">
8211722Svbart@nginx.com<para>
8221722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
8231722Svbart@nginx.comnames.
8241722Svbart@nginx.com</para>
8251722Svbart@nginx.com</change>
8261722Svbart@nginx.com
8271722Svbart@nginx.com<change type="change">
8281722Svbart@nginx.com<para>
8291722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
8301722Svbart@nginx.comdefault.
8311722Svbart@nginx.com</para>
8321722Svbart@nginx.com</change>
8331722Svbart@nginx.com
8341722Svbart@nginx.com<change type="feature">
8351722Svbart@nginx.com<para>
8361722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
8371722Svbart@nginx.com</para>
8381722Svbart@nginx.com</change>
8391722Svbart@nginx.com
8401722Svbart@nginx.com<change type="feature">
8411722Svbart@nginx.com<para>
8421722Svbart@nginx.comregular expressions in route matching patterns.
8431722Svbart@nginx.com</para>
8441722Svbart@nginx.com</change>
8451722Svbart@nginx.com
8461722Svbart@nginx.com<change type="feature">
8471722Svbart@nginx.com<para>
8481722Svbart@nginx.comcompatibility with Python 3.9.
8491722Svbart@nginx.com</para>
8501722Svbart@nginx.com</change>
8511722Svbart@nginx.com
8521722Svbart@nginx.com<change type="feature">
8531722Svbart@nginx.com<para>
8541722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
8551722Svbart@nginx.com</para>
8561722Svbart@nginx.com</change>
8571722Svbart@nginx.com
8581722Svbart@nginx.com<change type="feature">
8591722Svbart@nginx.com<para>
8601722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
8611722Svbart@nginx.com</para>
8621722Svbart@nginx.com</change>
8631722Svbart@nginx.com
8641722Svbart@nginx.com<change type="feature">
8651722Svbart@nginx.com<para>
8661722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
8671722Svbart@nginx.comcontinues code execution without holding onto the client connection.
8681722Svbart@nginx.com</para>
8691722Svbart@nginx.com</change>
8701722Svbart@nginx.com
8711722Svbart@nginx.com<change type="feature">
8721722Svbart@nginx.com<para>
8731722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
8741722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
8751722Svbart@nginx.com</para>
8761722Svbart@nginx.com</change>
8771722Svbart@nginx.com
8781722Svbart@nginx.com<change type="feature">
8791722Svbart@nginx.com<para>
8801722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
8811722Svbart@nginx.commounting of eponymous filesystems.
8821722Svbart@nginx.com</para>
8831722Svbart@nginx.com</change>
8841722Svbart@nginx.com
8851722Svbart@nginx.com<change type="bugfix">
8861722Svbart@nginx.com<para>
8871722Svbart@nginx.comthe router process could crash when running Go applications under high load;
8881722Svbart@nginx.comthe bug had appeared in 1.19.0.
8891722Svbart@nginx.com</para>
8901722Svbart@nginx.com</change>
8911722Svbart@nginx.com
8921722Svbart@nginx.com<change type="bugfix">
8931722Svbart@nginx.com<para>
8941722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
8951722Svbart@nginx.com</para>
8961722Svbart@nginx.com</change>
8971722Svbart@nginx.com
8981722Svbart@nginx.com<change type="bugfix">
8991722Svbart@nginx.com<para>
9001722Svbart@nginx.comvarious compatibility issues in Java applications.
9011722Svbart@nginx.com</para>
9021722Svbart@nginx.com</change>
9031722Svbart@nginx.com
9041722Svbart@nginx.com<change type="bugfix">
9051722Svbart@nginx.com<para>
9061722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
9071722Svbart@nginx.comuse "rootfs" isolation.
9081722Svbart@nginx.com</para>
9091722Svbart@nginx.com</change>
9101722Svbart@nginx.com
9111722Svbart@nginx.com</changes>
9121722Svbart@nginx.com
9131722Svbart@nginx.com
9141330Svbart@nginx.com<changes apply="unit-php
9151330Svbart@nginx.com                unit-python unit-python2.7
9161330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9171330Svbart@nginx.com                unit-python3.8
9181330Svbart@nginx.com                unit-go
9191330Svbart@nginx.com                unit-perl
9201330Svbart@nginx.com                unit-ruby
9211330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9221640Svbart@nginx.com         ver="1.20.0" rev="1"
9231640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9241640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9251640Svbart@nginx.com
9261640Svbart@nginx.com<change>
9271640Svbart@nginx.com<para>
9281640Svbart@nginx.comNGINX Unit updated to 1.20.0.
9291640Svbart@nginx.com</para>
9301640Svbart@nginx.com</change>
9311640Svbart@nginx.com
9321640Svbart@nginx.com</changes>
9331640Svbart@nginx.com
9341640Svbart@nginx.com
9351640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
9361640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
9371640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9381640Svbart@nginx.com
9391640Svbart@nginx.com<change type="change">
9401640Svbart@nginx.com<para>
9411640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
9421640Svbart@nginx.comextensions from the host system.
9431640Svbart@nginx.com</para>
9441640Svbart@nginx.com</change>
9451640Svbart@nginx.com
9461640Svbart@nginx.com<change type="change">
9471640Svbart@nginx.com<para>
9481640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
9491640Svbart@nginx.com</para>
9501640Svbart@nginx.com</change>
9511640Svbart@nginx.com
9521643Svbart@nginx.com<change type="change">
9531643Svbart@nginx.com<para>
9541643Svbart@nginx.comfunctional tests migrated to the pytest framework.
9551643Svbart@nginx.com</para>
9561643Svbart@nginx.com</change>
9571643Svbart@nginx.com
9581640Svbart@nginx.com<change type="feature">
9591640Svbart@nginx.com<para>
9601640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
9611640Svbart@nginx.cominterface.
9621640Svbart@nginx.com</para>
9631640Svbart@nginx.com</change>
9641640Svbart@nginx.com
9651640Svbart@nginx.com<change type="feature">
9661640Svbart@nginx.com<para>
9671640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
9681640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
9691640Svbart@nginx.comspecification.
9701640Svbart@nginx.com</para>
9711640Svbart@nginx.com</change>
9721640Svbart@nginx.com
9731640Svbart@nginx.com<change type="feature">
9741640Svbart@nginx.com<para>
9751640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
9761640Svbart@nginx.comenvironments.
9771640Svbart@nginx.com</para>
9781640Svbart@nginx.com</change>
9791640Svbart@nginx.com
9801640Svbart@nginx.com<change type="feature">
9811640Svbart@nginx.com<para>
9821640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
9831640Svbart@nginx.com</para>
9841640Svbart@nginx.com</change>
9851640Svbart@nginx.com
9861640Svbart@nginx.com<change type="feature">
9871640Svbart@nginx.com<para>
9881640Svbart@nginx.comthe "callable" option sets Python application callable names.
9891640Svbart@nginx.com</para>
9901640Svbart@nginx.com</change>
9911640Svbart@nginx.com
9921640Svbart@nginx.com<change type="feature">
9931640Svbart@nginx.com<para>
9941640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
9951640Svbart@nginx.com</para>
9961640Svbart@nginx.com</change>
9971640Svbart@nginx.com
9981640Svbart@nginx.com<change type="feature">
9991640Svbart@nginx.com<para>
10001640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
10011640Svbart@nginx.comautomatic mounting of language module dependencies.
10021640Svbart@nginx.com</para>
10031640