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" 17*2129Szelenkov@nginx.com ver="1.28.0" rev="1" 18*2129Szelenkov@nginx.com date="" time="" 19*2129Szelenkov@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 20*2129Szelenkov@nginx.com 21*2129Szelenkov@nginx.com<change> 22*2129Szelenkov@nginx.com<para> 23*2129Szelenkov@nginx.comNGINX Unit updated to 1.28.0. 24*2129Szelenkov@nginx.com</para> 25*2129Szelenkov@nginx.com</change> 26*2129Szelenkov@nginx.com 27*2129Szelenkov@nginx.com</changes> 28*2129Szelenkov@nginx.com 29*2129Szelenkov@nginx.com 30*2129Szelenkov@nginx.com<changes apply="unit" ver="1.28.0" rev="1" 31*2129Szelenkov@nginx.com date="" time="" 32*2129Szelenkov@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 33*2129Szelenkov@nginx.com 34*2129Szelenkov@nginx.com</changes> 35*2129Szelenkov@nginx.com 36*2129Szelenkov@nginx.com 37*2129Szelenkov@nginx.com<changes apply="unit-php 38*2129Szelenkov@nginx.com unit-python unit-python2.7 39*2129Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 40*2129Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 41*2129Szelenkov@nginx.com unit-go 42*2129Szelenkov@nginx.com unit-perl 43*2129Szelenkov@nginx.com unit-ruby 44*2129Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 45*2129Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 462012Svbart@nginx.com ver="1.27.0" rev="1" 472127Szelenkov@nginx.com date="2022-06-02" time="18:00:00 +0300" 482012Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 492012Svbart@nginx.com 502012Svbart@nginx.com<change> 512012Svbart@nginx.com<para> 522012Svbart@nginx.comNGINX Unit updated to 1.27.0. 532012Svbart@nginx.com</para> 542012Svbart@nginx.com</change> 552012Svbart@nginx.com 562012Svbart@nginx.com</changes> 572012Svbart@nginx.com 582012Svbart@nginx.com 592012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1" 602127Szelenkov@nginx.com date="2022-06-02" time="18:00:00 +0300" 612012Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 622012Svbart@nginx.com 632072Sz.hong@f5.com<change type="feature"> 642072Sz.hong@f5.com<para> 652108Salx.manpages@gmail.comability to specify a custom index file name when serving static files. 662108Salx.manpages@gmail.com</para> 672108Salx.manpages@gmail.com</change> 682108Salx.manpages@gmail.com 692108Salx.manpages@gmail.com<change type="feature"> 702108Salx.manpages@gmail.com<para> 712081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action. 722081Salx.manpages@gmail.com</para> 732081Salx.manpages@gmail.com</change> 742081Salx.manpages@gmail.com 752081Salx.manpages@gmail.com<change type="feature"> 762081Salx.manpages@gmail.com<para> 772113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action. 782113Sartem.konev@nginx.com</para> 792113Sartem.konev@nginx.com</change> 802113Sartem.konev@nginx.com 812113Sartem.konev@nginx.com<change type="feature"> 822113Sartem.konev@nginx.com<para> 832113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query 842113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4. 852113Sartem.konev@nginx.com</para> 862113Sartem.konev@nginx.com</change> 872113Sartem.konev@nginx.com 882113Sartem.konev@nginx.com<change type="feature"> 892113Sartem.konev@nginx.com<para> 902113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support. 912110Salx.manpages@gmail.com</para> 922110Salx.manpages@gmail.com</change> 932110Salx.manpages@gmail.com 942110Salx.manpages@gmail.com<change type="feature"> 952110Salx.manpages@gmail.com<para> 962072Sz.hong@f5.comcompatibility with GCC 12. 972072Sz.hong@f5.com</para> 982072Sz.hong@f5.com</change> 992072Sz.hong@f5.com 1002060Smax.romanov@nginx.com<change type="bugfix"> 1012060Smax.romanov@nginx.com<para> 1022093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging. 1032093Sz.hong@f5.com</para> 1042093Sz.hong@f5.com</change> 1052093Sz.hong@f5.com 1062093Sz.hong@f5.com<change type="bugfix"> 1072093Sz.hong@f5.com<para> 1082113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four 1092069Sz.hong@f5.comcertificates was uploaded. 1102069Sz.hong@f5.com</para> 1112069Sz.hong@f5.com</change> 1122069Sz.hong@f5.com 1132069Sz.hong@f5.com<change type="bugfix"> 1142069Sz.hong@f5.com<para> 1152060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack. 1162060Smax.romanov@nginx.com</para> 1172060Smax.romanov@nginx.com</change> 1182060Smax.romanov@nginx.com 1192061Smax.romanov@nginx.com<change type="bugfix"> 1202061Smax.romanov@nginx.com<para> 1212061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails. 1222061Smax.romanov@nginx.com</para> 1232061Smax.romanov@nginx.com</change> 1242061Smax.romanov@nginx.com 1252067Smax.romanov@nginx.com<change type="bugfix"> 1262067Smax.romanov@nginx.com<para> 1272067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable 1282067Smax.romanov@nginx.comobject, notably with Falcon. 1292067Smax.romanov@nginx.com</para> 1302067Smax.romanov@nginx.com</change> 1312067Smax.romanov@nginx.com 1322117Szelenkov@nginx.com<change type="bugfix"> 1332117Szelenkov@nginx.com<para> 1342117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions. 1352117Szelenkov@nginx.com</para> 1362117Szelenkov@nginx.com</change> 1372117Szelenkov@nginx.com 1382050Svbart@nginx.com</changes> 1392050Svbart@nginx.com 1402050Svbart@nginx.com 1412050Svbart@nginx.com<changes apply="unit-php 1422050Svbart@nginx.com unit-python unit-python2.7 1432050Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1442050Svbart@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 1452050Svbart@nginx.com unit-go 1462050Svbart@nginx.com unit-perl 1472050Svbart@nginx.com unit-ruby 1482050Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1492050Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 1502029SN/A ver="1.26.1" rev="1" 1512045SN/A date="2021-12-02" time="18:00:00 +0300" 1522029SN/A packager="Andrei Belov <defan@nginx.com>"> 1532029SN/A 1542029SN/A<change> 1552029SN/A<para> 1562029SN/ANGINX Unit updated to 1.26.1. 1572029SN/A</para> 1582029SN/A</change> 1592029SN/A 1602029SN/A</changes> 1612029SN/A 1622029SN/A 1632029SN/A<changes apply="unit" ver="1.26.1" rev="1" 1642045SN/A date="2021-12-02" time="18:00:00 +0300" 1652029SN/A packager="Andrei Belov <defan@nginx.com>"> 1662029SN/A 1672033SN/A<change type="bugfix"> 1682033SN/A<para> 1692044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had 1702044SN/Aappeared in 1.26.0. 1712033SN/A</para> 1722033SN/A</change> 1732033SN/A 1742034SN/A<change type="bugfix"> 1752034SN/A<para> 1762044SN/Aa prototype process could crash on an application process exit; the bug had 1772034SN/Aappeared in 1.26.0. 1782034SN/A</para> 1792034SN/A</change> 1802034SN/A 1812035SN/A<change type="bugfix"> 1822035SN/A<para> 1832044SN/Athe router process crashed on reconfiguration if "access_log" was configured 1842044SN/Awithout listeners. 1852044SN/A</para> 1862044SN/A</change> 1872044SN/A 1882044SN/A<change type="bugfix"> 1892044SN/A<para> 1902035SN/Aa segmentation fault occurred in the PHP module if chdir() or 1912035SN/Afastcgi_finish_request() was called in the OPcache preloading script. 1922035SN/A</para> 1932035SN/A</change> 1942035SN/A 1952040SN/A<change type="bugfix"> 1962040SN/A<para> 1972041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0. 1982041SN/A</para> 1992041SN/A</change> 2002041SN/A 2012029SN/A</changes> 2022029SN/A 2032029SN/A 2041973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1" 2052007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2061973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2071973Sdefan@nginx.com 2081973Sdefan@nginx.com<change> 2091973Sdefan@nginx.com<para> 2101973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit. 2111973Sdefan@nginx.com</para> 2121973Sdefan@nginx.com</change> 2131973Sdefan@nginx.com 2141973Sdefan@nginx.com</changes> 2151973Sdefan@nginx.com 2161973Sdefan@nginx.com 2171973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1" 2182007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2191973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2201973Sdefan@nginx.com 2211973Sdefan@nginx.com<change> 2221973Sdefan@nginx.com<para> 2231973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit. 2241973Sdefan@nginx.com</para> 2251973Sdefan@nginx.com</change> 2261973Sdefan@nginx.com 2271973Sdefan@nginx.com</changes> 2281973Sdefan@nginx.com 2291973Sdefan@nginx.com 2301896Svbart@nginx.com<changes apply="unit-php 2311896Svbart@nginx.com unit-python unit-python2.7 2321896Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2331896Svbart@nginx.com unit-python3.8 unit-python3.9 2341896Svbart@nginx.com unit-go 2351896Svbart@nginx.com unit-perl 2361896Svbart@nginx.com unit-ruby 2371896Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 2381896Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 2391951Svbart@nginx.com ver="1.26.0" rev="1" 2402007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2411951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2421951Svbart@nginx.com 2431951Svbart@nginx.com<change> 2441951Svbart@nginx.com<para> 2451951Svbart@nginx.comNGINX Unit updated to 1.26.0. 2461951Svbart@nginx.com</para> 2471951Svbart@nginx.com</change> 2481951Svbart@nginx.com 2491951Svbart@nginx.com</changes> 2501951Svbart@nginx.com 2511951Svbart@nginx.com 2521951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1" 2532007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2541951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2551951Svbart@nginx.com 2561960Sz.hong@f5.com<change type="change"> 2571960Sz.hong@f5.com<para> 2581960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves, 2591960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI. 2601960Sz.hong@f5.com</para> 2611960Sz.hong@f5.com</change> 2621960Sz.hong@f5.com 2631960Sz.hong@f5.com<change type="feature"> 2641960Sz.hong@f5.com<para> 2652006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior 2662006Svbart@nginx.comwhen updating from previous versions. 2672006Svbart@nginx.com</para> 2682006Svbart@nginx.com</change> 2692006Svbart@nginx.com 2702006Svbart@nginx.com<change type="feature"> 2712006Svbart@nginx.com<para> 2721960Sz.hong@f5.comvariables support in the "share" option. 2731960Sz.hong@f5.com</para> 2741960Sz.hong@f5.com</change> 2751960Sz.hong@f5.com 2761959Sz.hong@f5.com<change type="feature"> 2771959Sz.hong@f5.com<para> 2781961Sz.hong@f5.commultiple paths in the "share" option. 2791961Sz.hong@f5.com</para> 2801961Sz.hong@f5.com</change> 2811961Sz.hong@f5.com 2821961Sz.hong@f5.com<change type="feature"> 2831961Sz.hong@f5.com<para> 2841959Sz.hong@f5.comvariables support in the "chroot" option. 2851959Sz.hong@f5.com</para> 2861959Sz.hong@f5.com</change> 2871959Sz.hong@f5.com 2881969Sz.hong@f5.com<change type="feature"> 2891969Sz.hong@f5.com<para> 2902006Svbart@nginx.comPHP opcache is shared between application processes. 2911969Sz.hong@f5.com</para> 2921969Sz.hong@f5.com</change> 2931969Sz.hong@f5.com 2941991Sz.hong@f5.com<change type="feature"> 2951991Sz.hong@f5.com<para> 2961991Sz.hong@f5.comrequest routing by the query string. 2971991Sz.hong@f5.com</para> 2981991Sz.hong@f5.com</change> 2991991Sz.hong@f5.com 3001955Smax.romanov@nginx.com<change type="bugfix"> 3011955Smax.romanov@nginx.com<para> 3022006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached 3032006Svbart@nginx.comby asynchronous or multithreaded apps. 3041955Smax.romanov@nginx.com</para> 3051955Smax.romanov@nginx.com</change> 3061955Smax.romanov@nginx.com 3071956Smax.romanov@nginx.com<change type="bugfix"> 3081956Smax.romanov@nginx.com<para> 3091956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client 3101956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured. 3111956Smax.romanov@nginx.com</para> 3121956Smax.romanov@nginx.com</change> 3131956Smax.romanov@nginx.com 3141992Smax.romanov@nginx.com<change type="bugfix"> 3151992Smax.romanov@nginx.com<para> 3162006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35. 3171992Smax.romanov@nginx.com</para> 3181992Smax.romanov@nginx.com</change> 3191992Smax.romanov@nginx.com 3201951Svbart@nginx.com</changes> 3211951Svbart@nginx.com 3221951Svbart@nginx.com 3231951Svbart@nginx.com<changes apply="unit-php 3241951Svbart@nginx.com unit-python unit-python2.7 3251951Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3261951Svbart@nginx.com unit-python3.8 unit-python3.9 3271951Svbart@nginx.com unit-go 3281951Svbart@nginx.com unit-perl 3291951Svbart@nginx.com unit-ruby 3301951Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3311951Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 3321896Svbart@nginx.com ver="1.25.0" rev="1" 3331945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 3341896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3351896Svbart@nginx.com 3361896Svbart@nginx.com<change> 3371896Svbart@nginx.com<para> 3381896Svbart@nginx.comNGINX Unit updated to 1.25.0. 3391896Svbart@nginx.com</para> 3401896Svbart@nginx.com</change> 3411896Svbart@nginx.com 3421896Svbart@nginx.com</changes> 3431896Svbart@nginx.com 3441896Svbart@nginx.com 3451896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 3461945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 3471896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3481896Svbart@nginx.com 3491910So.canty@f5.com<change type="feature"> 3501910So.canty@f5.com<para> 3511944Svbart@nginx.comclient IP address replacement from a specified HTTP header field. 3521942Sa.suvorov@f5.com</para> 3531942Sa.suvorov@f5.com</change> 3541942Sa.suvorov@f5.com 3551942Sa.suvorov@f5.com<change type="feature"> 3561942Sa.suvorov@f5.com<para> 3571920Sa.suvorov@f5.comTLS sessions cache. 3581920Sa.suvorov@f5.com</para> 3591920Sa.suvorov@f5.com</change> 3601920Sa.suvorov@f5.com 3611920Sa.suvorov@f5.com<change type="feature"> 3621920Sa.suvorov@f5.com<para> 3631944Svbart@nginx.comTLS session tickets. 3641910So.canty@f5.com</para> 3651910So.canty@f5.com</change> 3661910So.canty@f5.com 3671926Smax.romanov@nginx.com<change type="feature"> 3681926Smax.romanov@nginx.com<para> 3691926Smax.romanov@nginx.comapplication restart control. 3701926Smax.romanov@nginx.com</para> 3711926Smax.romanov@nginx.com</change> 3721926Smax.romanov@nginx.com 3731936So.canty@f5.com<change type="feature"> 3741936So.canty@f5.com<para> 3751944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby. 3761936So.canty@f5.com</para> 3771936So.canty@f5.com</change> 3781936So.canty@f5.com 3791907Smax.romanov@nginx.com<change type="bugfix"> 3801907Smax.romanov@nginx.com<para> 3811944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners 3821944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0. 3831921Sa.suvorov@f5.com</para> 3841921Sa.suvorov@f5.com</change> 3851921Sa.suvorov@f5.com 3861921Sa.suvorov@f5.com<change type="bugfix"> 3871921Sa.suvorov@f5.com<para> 3881944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate 3891944Svbart@nginx.combundles in a listener if the client did not use SNI. 3901907Smax.romanov@nginx.com</para> 3911907Smax.romanov@nginx.com</change> 3921907Smax.romanov@nginx.com 3931907Smax.romanov@nginx.com<change type="bugfix"> 3941907Smax.romanov@nginx.com<para> 3951950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application 3961915Smax.romanov@nginx.comreconfiguration. 3971915Smax.romanov@nginx.com</para> 3981915Smax.romanov@nginx.com</change> 3991915Smax.romanov@nginx.com 4001915Smax.romanov@nginx.com<change type="bugfix"> 4011915Smax.romanov@nginx.com<para> 4021944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette 4031944Svbart@nginx.comframework. 4041944Svbart@nginx.com</para> 4051944Svbart@nginx.com</change> 4061944Svbart@nginx.com 4071944Svbart@nginx.com<change type="bugfix"> 4081944Svbart@nginx.com<para> 4091944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process 4101944Svbart@nginx.comstopped or crashed. 4111907Smax.romanov@nginx.com</para> 4121907Smax.romanov@nginx.com</change> 4131907Smax.romanov@nginx.com 4141909So.canty@f5.com<change type="bugfix"> 4151909So.canty@f5.com<para> 4161909So.canty@f5.comthe controller or router process could crash if the configuration contained 4171909So.canty@f5.coma full-form IPv6 in a listener address. 4181909So.canty@f5.com</para> 4191909So.canty@f5.com</change> 4201909So.canty@f5.com 4211916Smax.romanov@nginx.com<change type="bugfix"> 4221916Smax.romanov@nginx.com<para> 4231929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes" 4241929Sz.hong@f5.comor "upstreams" using a variable "pass" option. 4251929Sz.hong@f5.com</para> 4261929Sz.hong@f5.com</change> 4271929Sz.hong@f5.com 4281930So.canty@f5.com<change type="bugfix"> 4291930So.canty@f5.com<para> 4301944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source 4311944Svbart@nginx.comor destination address patterns. 4321930So.canty@f5.com</para> 4331930So.canty@f5.com</change> 4341930So.canty@f5.com 4351896Svbart@nginx.com</changes> 4361896Svbart@nginx.com 4371896Svbart@nginx.com 4381887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 4391891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 4401887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4411887Sdefan@nginx.com 4421887Sdefan@nginx.com<change> 4431887Sdefan@nginx.com<para> 4441887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit. 4451887Sdefan@nginx.com</para> 4461887Sdefan@nginx.com</change> 4471887Sdefan@nginx.com 4481887Sdefan@nginx.com</changes> 4491887Sdefan@nginx.com 4501887Sdefan@nginx.com 4511887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 4521891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 4531887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4541887Sdefan@nginx.com 4551887Sdefan@nginx.com<change> 4561887Sdefan@nginx.com<para> 4571887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 4581887Sdefan@nginx.com</para> 4591887Sdefan@nginx.com</change> 4601887Sdefan@nginx.com 4611887Sdefan@nginx.com</changes> 4621887Sdefan@nginx.com 4631887Sdefan@nginx.com 4641834Svbart@nginx.com<changes apply="unit-php 4651834Svbart@nginx.com unit-python unit-python2.7 4661834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4671834Svbart@nginx.com unit-python3.8 unit-python3.9 4681834Svbart@nginx.com unit-go 4691834Svbart@nginx.com unit-perl 4701834Svbart@nginx.com unit-ruby 4711834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 4721834Svbart@nginx.com unit-jsc14 unit-jsc15" 4731839Svbart@nginx.com ver="1.24.0" rev="1" 4741891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 4751839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4761839Svbart@nginx.com 4771839Svbart@nginx.com<change> 4781839Svbart@nginx.com<para> 4791839Svbart@nginx.comNGINX Unit updated to 1.24.0. 4801839Svbart@nginx.com</para> 4811839Svbart@nginx.com</change> 4821839Svbart@nginx.com 4831839Svbart@nginx.com</changes> 4841839Svbart@nginx.com 4851839Svbart@nginx.com 4861839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 4871891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 4881839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4891839Svbart@nginx.com 4901882So.canty@f5.com<change type="change"> 4911882So.canty@f5.com<para> 4921882So.canty@f5.comPHP added to the default MIME type list. 4931882So.canty@f5.com</para> 4941882So.canty@f5.com</change> 4951882So.canty@f5.com 4961855Sz.hong@f5.com<change type="feature"> 4971855Sz.hong@f5.com<para> 4981885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands. 4991885Sa.suvorov@f5.com</para> 5001885Sa.suvorov@f5.com</change> 5011885Sa.suvorov@f5.com 5021885Sa.suvorov@f5.com<change type="feature"> 5031885Sa.suvorov@f5.com<para> 5041890Svbart@nginx.comthe ability to limit static file serving by MIME types. 5051890Svbart@nginx.com</para> 5061890Svbart@nginx.com</change> 5071890Svbart@nginx.com 5081890Svbart@nginx.com<change type="feature"> 5091890Svbart@nginx.com<para> 5101890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount 5111890Svbart@nginx.compoint traversal on a per-request basis when serving static files. 5121872So.canty@f5.com</para> 5131872So.canty@f5.com</change> 5141872So.canty@f5.com 5151872So.canty@f5.com<change type="feature"> 5161872So.canty@f5.com<para> 5171889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 5181889Sartem.konev@nginx.comNode.js. 5191865So.canty@f5.com</para> 5201865So.canty@f5.com</change> 5211865So.canty@f5.com 5221865So.canty@f5.com<change type="feature"> 5231865So.canty@f5.com<para> 5241890Svbart@nginx.commultiple "targets" in Python applications. 5251855Sz.hong@f5.com</para> 5261855Sz.hong@f5.com</change> 5271855Sz.hong@f5.com 5281870So.canty@f5.com<change type="feature"> 5291870So.canty@f5.com<para> 5301870So.canty@f5.comcompatibility with Ruby 3.0. 5311870So.canty@f5.com</para> 5321870So.canty@f5.com</change> 5331870So.canty@f5.com 5341861Svbart@nginx.com<change type="bugfix"> 5351861Svbart@nginx.com<para> 5361889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection. 5371884Sa.suvorov@f5.com</para> 5381884Sa.suvorov@f5.com</change> 5391884Sa.suvorov@f5.com 5401884Sa.suvorov@f5.com<change type="bugfix"> 5411884Sa.suvorov@f5.com<para> 5421861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 5431861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 5441861Svbart@nginx.com</para> 5451861Svbart@nginx.com</change> 5461861Svbart@nginx.com 5471839Svbart@nginx.com</changes> 5481839Svbart@nginx.com 5491839Svbart@nginx.com 5501839Svbart@nginx.com<changes apply="unit-php 5511839Svbart@nginx.com unit-python unit-python2.7 5521839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5531839Svbart@nginx.com unit-python3.8 unit-python3.9 5541839Svbart@nginx.com unit-go 5551839Svbart@nginx.com unit-perl 5561839Svbart@nginx.com unit-ruby 5571839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 5581839Svbart@nginx.com unit-jsc14 unit-jsc15" 5591834Svbart@nginx.com ver="1.23.0" rev="1" 5601834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 5611834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5621834Svbart@nginx.com 5631834Svbart@nginx.com<change> 5641834Svbart@nginx.com<para> 5651834Svbart@nginx.comNGINX Unit updated to 1.23.0. 5661834Svbart@nginx.com</para> 5671834Svbart@nginx.com</change> 5681834Svbart@nginx.com 5691834Svbart@nginx.com</changes> 5701834Svbart@nginx.com 5711834Svbart@nginx.com 5721806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 5731834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 5741806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5751806Svbart@nginx.com 5761825Sthresh@nginx.com<change type="feature"> 5771825Sthresh@nginx.com<para> 5781833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 5791828Sa.suvorov@f5.comIndication (SNI) TLS extension. 5801828Sa.suvorov@f5.com</para> 5811828Sa.suvorov@f5.com</change> 5821828Sa.suvorov@f5.com 5831828Sa.suvorov@f5.com<change type="feature"> 5841828Sa.suvorov@f5.com<para> 5851833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 5861833Sartem.konev@nginx.cominstallation. 5871825Sthresh@nginx.com</para> 5881825Sthresh@nginx.com</change> 5891825Sthresh@nginx.com 5901811Smax.romanov@nginx.com<change type="bugfix"> 5911811Smax.romanov@nginx.com<para> 5921812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 5931812Svbart@nginx.comappeared in 1.17.0. 5941812Svbart@nginx.com</para> 5951812Svbart@nginx.com</change> 5961812Svbart@nginx.com 5971812Svbart@nginx.com<change type="bugfix"> 5981812Svbart@nginx.com<para> 5991833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 6001812Svbart@nginx.comappeared in 1.6. 6011812Svbart@nginx.com</para> 6021812Svbart@nginx.com</change> 6031812Svbart@nginx.com 6041812Svbart@nginx.com<change type="bugfix"> 6051812Svbart@nginx.com<para> 6061833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 6071832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 6081832Smax.romanov@nginx.com</para> 6091832Smax.romanov@nginx.com</change> 6101832Smax.romanov@nginx.com 6111832Smax.romanov@nginx.com<change type="bugfix"> 6121832Smax.romanov@nginx.com<para> 6131833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 6141811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 6151811Smax.romanov@nginx.com</para> 6161811Smax.romanov@nginx.com</change> 6171806Svbart@nginx.com 6181813Svbart@nginx.com<change type="bugfix"> 6191813Svbart@nginx.com<para> 6201813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 6211813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 6221813Svbart@nginx.com</para> 6231813Svbart@nginx.com</change> 6241813Svbart@nginx.com 6251814Svbart@nginx.com<change type="bugfix"> 6261814Svbart@nginx.com<para> 6271820Svbart@nginx.comthe controller process could crash while requesting information about a 6281820Svbart@nginx.comcertificate with a non-DNS SAN entry. 6291820Svbart@nginx.com</para> 6301820Svbart@nginx.com</change> 6311820Svbart@nginx.com 6321820Svbart@nginx.com<change type="bugfix"> 6331820Svbart@nginx.com<para> 6341822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 6351833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 6361822Svbart@nginx.com</para> 6371822Svbart@nginx.com</change> 6381822Svbart@nginx.com 6391822Svbart@nginx.com<change type="bugfix"> 6401822Svbart@nginx.com<para> 6411833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 6421833Sartem.konev@nginx.comclass. 6431814Svbart@nginx.com</para> 6441814Svbart@nginx.com</change> 6451814Svbart@nginx.com 6461815Svbart@nginx.com<change type="bugfix"> 6471815Svbart@nginx.com<para> 6481815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 6491815Svbart@nginx.comappeared in 1.22.0. 6501815Svbart@nginx.com</para> 6511815Svbart@nginx.com</change> 6521815Svbart@nginx.com 6531806Svbart@nginx.com</changes> 6541806Svbart@nginx.com 6551806Svbart@nginx.com 6561798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 6571798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 6581798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6591798Sdefan@nginx.com 6601798Sdefan@nginx.com<change> 6611798Sdefan@nginx.com<para> 6621798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 6631798Sdefan@nginx.com</para> 6641798Sdefan@nginx.com</change> 6651798Sdefan@nginx.com 6661798Sdefan@nginx.com</changes> 6671798Sdefan@nginx.com 6681798Sdefan@nginx.com 6691763Sdefan@nginx.com<changes apply="unit-php 6701763Sdefan@nginx.com unit-python unit-python2.7 6711763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6721763Sdefan@nginx.com unit-python3.8 6731763Sdefan@nginx.com unit-go 6741763Sdefan@nginx.com unit-perl 6751763Sdefan@nginx.com unit-ruby 6761763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 6771763Sdefan@nginx.com unit-jsc14 unit-jsc15" 6781763Sdefan@nginx.com ver="1.22.0" rev="1" 6791793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 6801763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6811763Sdefan@nginx.com 6821763Sdefan@nginx.com<change> 6831763Sdefan@nginx.com<para> 6841763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 6851763Sdefan@nginx.com</para> 6861763Sdefan@nginx.com</change> 6871763Sdefan@nginx.com 6881763Sdefan@nginx.com</changes> 6891763Sdefan@nginx.com 6901763Sdefan@nginx.com 6911727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 6921793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 6931727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6941727Svbart@nginx.com 6951759Svbart@nginx.com<change type="feature"> 6961759Svbart@nginx.com<para> 6971792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 6981792Svbart@nginx.comcompliant with Stream API. 6991759Svbart@nginx.com</para> 7001759Svbart@nginx.com</change> 7011759Svbart@nginx.com 7021766Smax.romanov@nginx.com<change type="feature"> 7031766Smax.romanov@nginx.com<para> 7041792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 7051792Svbart@nginx.comapps. 7061732Svbart@nginx.com</para> 7071732Svbart@nginx.com</change> 7081732Svbart@nginx.com 7091733Svbart@nginx.com<change type="bugfix"> 7101733Svbart@nginx.com<para> 7111792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 7121792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 7131754Smax.romanov@nginx.com</para> 7141754Smax.romanov@nginx.com</change> 7151754Smax.romanov@nginx.com 7161755Smax.romanov@nginx.com<change type="bugfix"> 7171755Smax.romanov@nginx.com<para> 7181790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 7191755Smax.romanov@nginx.comappeared in 1.19.0. 7201755Smax.romanov@nginx.com</para> 7211755Smax.romanov@nginx.com</change> 7221755Smax.romanov@nginx.com 7231756Smax.romanov@nginx.com<change type="bugfix"> 7241756Smax.romanov@nginx.com<para> 7251790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 7261790Sartem.konev@nginx.comappeared in 1.19.0. 7271756Smax.romanov@nginx.com</para> 7281756Smax.romanov@nginx.com</change> 7291756Smax.romanov@nginx.com 7301760Smax.romanov@nginx.com<change type="bugfix"> 7311760Smax.romanov@nginx.com<para> 7321792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 7331792Svbart@nginx.com</para> 7341792Svbart@nginx.com</change> 7351792Svbart@nginx.com 7361792Svbart@nginx.com<change type="bugfix"> 7371792Svbart@nginx.com<para> 7381792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 7391792Svbart@nginx.commissing in the PHP module. 7401792Svbart@nginx.com</para> 7411792Svbart@nginx.com</change> 7421792Svbart@nginx.com 7431792Svbart@nginx.com<change type="bugfix"> 7441792Svbart@nginx.com<para> 7451792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 7461792Svbart@nginx.com</para> 7471792Svbart@nginx.com</change> 7481792Svbart@nginx.com 7491792Svbart@nginx.com<change type="bugfix"> 7501792Svbart@nginx.com<para> 7511792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 7521792Svbart@nginx.com</para> 7531792Svbart@nginx.com</change> 7541792Svbart@nginx.com 7551792Svbart@nginx.com<change type="bugfix"> 7561792Svbart@nginx.com<para> 7571792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 7581792Svbart@nginx.comthe bug had appeared in 1.21.0. 7591760Smax.romanov@nginx.com</para> 7601760Smax.romanov@nginx.com</change> 7611760Smax.romanov@nginx.com 7621780Smax.romanov@nginx.com<change type="bugfix"> 7631780Smax.romanov@nginx.com<para> 7641790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 7651790Sartem.konev@nginx.comWebSocket. 7661780Smax.romanov@nginx.com</para> 7671780Smax.romanov@nginx.com</change> 7681780Smax.romanov@nginx.com 7691789Smax.romanov@nginx.com<change type="bugfix"> 7701789Smax.romanov@nginx.com<para> 7711789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 7721789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 7731789Smax.romanov@nginx.com</para> 7741789Smax.romanov@nginx.com</change> 7751789Smax.romanov@nginx.com 7761727Svbart@nginx.com</changes> 7771727Svbart@nginx.com 7781727Svbart@nginx.com 7791722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 7801722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 7811722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7821722Svbart@nginx.com 7831722Svbart@nginx.com<change> 7841722Svbart@nginx.com<para> 7851722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 7861722Svbart@nginx.com</para> 7871722Svbart@nginx.com</change> 7881722Svbart@nginx.com 7891722Svbart@nginx.com</changes> 7901722Svbart@nginx.com 7911722Svbart@nginx.com 7921722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 7931722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 7941722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7951722Svbart@nginx.com 7961722Svbart@nginx.com<change> 7971722Svbart@nginx.com<para> 7981722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 7991722Svbart@nginx.com</para> 8001722Svbart@nginx.com</change> 8011722Svbart@nginx.com 8021722Svbart@nginx.com</changes> 8031722Svbart@nginx.com 8041722Svbart@nginx.com 8051722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 8061722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8071722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8081722Svbart@nginx.com 8091722Svbart@nginx.com<change> 8101722Svbart@nginx.com<para> 8111722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 8121722Svbart@nginx.com</para> 8131722Svbart@nginx.com</change> 8141722Svbart@nginx.com 8151722Svbart@nginx.com</changes> 8161722Svbart@nginx.com 8171722Svbart@nginx.com 8181722Svbart@nginx.com<changes apply="unit-php 8191722Svbart@nginx.com unit-python unit-python2.7 8201722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8211722Svbart@nginx.com unit-python3.8 8221722Svbart@nginx.com unit-go 8231722Svbart@nginx.com unit-perl 8241722Svbart@nginx.com unit-ruby 8251722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8261722Svbart@nginx.com ver="1.21.0" rev="1" 8271722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8281722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8291722Svbart@nginx.com 8301722Svbart@nginx.com<change> 8311722Svbart@nginx.com<para> 8321722Svbart@nginx.comNGINX Unit updated to 1.21.0. 8331722Svbart@nginx.com</para> 8341722Svbart@nginx.com</change> 8351722Svbart@nginx.com 8361722Svbart@nginx.com</changes> 8371722Svbart@nginx.com 8381722Svbart@nginx.com 8391722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 8401722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8411722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8421722Svbart@nginx.com 8431722Svbart@nginx.com<change type="change"> 8441722Svbart@nginx.com<para> 8451722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 8461722Svbart@nginx.com</para> 8471722Svbart@nginx.com</change> 8481722Svbart@nginx.com 8491722Svbart@nginx.com<change type="change"> 8501722Svbart@nginx.com<para> 8511722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 8521722Svbart@nginx.comnames. 8531722Svbart@nginx.com</para> 8541722Svbart@nginx.com</change> 8551722Svbart@nginx.com 8561722Svbart@nginx.com<change type="change"> 8571722Svbart@nginx.com<para> 8581722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 8591722Svbart@nginx.comdefault. 8601722Svbart@nginx.com</para> 8611722Svbart@nginx.com</change> 8621722Svbart@nginx.com 8631722Svbart@nginx.com<change type="feature"> 8641722Svbart@nginx.com<para> 8651722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 8661722Svbart@nginx.com</para> 8671722Svbart@nginx.com</change> 8681722Svbart@nginx.com 8691722Svbart@nginx.com<change type="feature"> 8701722Svbart@nginx.com<para> 8711722Svbart@nginx.comregular expressions in route matching patterns. 8721722Svbart@nginx.com</para> 8731722Svbart@nginx.com</change> 8741722Svbart@nginx.com 8751722Svbart@nginx.com<change type="feature"> 8761722Svbart@nginx.com<para> 8771722Svbart@nginx.comcompatibility with Python 3.9. 8781722Svbart@nginx.com</para> 8791722Svbart@nginx.com</change> 8801722Svbart@nginx.com 8811722Svbart@nginx.com<change type="feature"> 8821722Svbart@nginx.com<para> 8831722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 8841722Svbart@nginx.com</para> 8851722Svbart@nginx.com</change> 8861722Svbart@nginx.com 8871722Svbart@nginx.com<change type="feature"> 8881722Svbart@nginx.com<para> 8891722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 8901722Svbart@nginx.com</para> 8911722Svbart@nginx.com</change> 8921722Svbart@nginx.com 8931722Svbart@nginx.com<change type="feature"> 8941722Svbart@nginx.com<para> 8951722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 8961722Svbart@nginx.comcontinues code execution without holding onto the client connection. 8971722Svbart@nginx.com</para> 8981722Svbart@nginx.com</change> 8991722Svbart@nginx.com 9001722Svbart@nginx.com<change type="feature"> 9011722Svbart@nginx.com<para> 9021722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 9031722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 9041722Svbart@nginx.com</para> 9051722Svbart@nginx.com</change> 9061722Svbart@nginx.com 9071722Svbart@nginx.com<change type="feature"> 9081722Svbart@nginx.com<para> 9091722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 9101722Svbart@nginx.commounting of eponymous filesystems. 9111722Svbart@nginx.com</para> 9121722Svbart@nginx.com</change> 9131722Svbart@nginx.com 9141722Svbart@nginx.com<change type="bugfix"> 9151722Svbart@nginx.com<para> 9161722Svbart@nginx.comthe router process could crash when running Go applications under high load; 9171722Svbart@nginx.comthe bug had appeared in 1.19.0. 9181722Svbart@nginx.com</para> 9191722Svbart@nginx.com</change> 9201722Svbart@nginx.com 9211722Svbart@nginx.com<change type="bugfix"> 9221722Svbart@nginx.com<para> 9231722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 9241722Svbart@nginx.com</para> 9251722Svbart@nginx.com</change> 9261722Svbart@nginx.com 9271722Svbart@nginx.com<change type="bugfix"> 9281722Svbart@nginx.com<para> 9291722Svbart@nginx.comvarious compatibility issues in Java applications. 9301722Svbart@nginx.com</para> 9311722Svbart@nginx.com</change> 9321722Svbart@nginx.com 9331722Svbart@nginx.com<change type="bugfix"> 9341722Svbart@nginx.com<para> 9351722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 9361722Svbart@nginx.comuse "rootfs" isolation. 9371722Svbart@nginx.com</para> 9381722Svbart@nginx.com</change> 9391722Svbart@nginx.com 9401722Svbart@nginx.com</changes> 9411722Svbart@nginx.com 9421722Svbart@nginx.com 9431330Svbart@nginx.com<changes apply="unit-php 9441330Svbart@nginx.com unit-python unit-python2.7 9451330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9461330Svbart@nginx.com unit-python3.8 9471330Svbart@nginx.com unit-go 9481330Svbart@nginx.com unit-perl 9491330Svbart@nginx.com unit-ruby 9501330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9511640Svbart@nginx.com ver="1.20.0" rev="1" 9521640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 9531640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9541640Svbart@nginx.com 9551640Svbart@nginx.com<change> 9561640Svbart@nginx.com<para> 9571640Svbart@nginx.comNGINX Unit updated to 1.20.0. 9581640Svbart@nginx.com</para> 9591640Svbart@nginx.com</change> 9601640Svbart@nginx.com 9611640Svbart@nginx.com</changes> 9621640Svbart@nginx.com 9631640Svbart@nginx.com 9641640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 9651640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 9661640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9671640Svbart@nginx.com 9681640Svbart@nginx.com<change type="change"> 9691640Svbart@nginx.com<para> 9701640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 9711640Svbart@nginx.comextensions from the host system. 9721640Svbart@nginx.com</para> 9731640Svbart@nginx.com</change> 9741640Svbart@nginx.com 9751640Svbart@nginx.com<change type="change"> 9761640Svbart@nginx.com<para> 9771640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 9781640Svbart@nginx.com</para> 9791640Svbart@nginx.com</change> 9801640Svbart@nginx.com 9811643Svbart@nginx.com<change type="change"> 9821643Svbart@nginx.com<para> 9831643Svbart@nginx.comfunctional tests migrated to the pytest framework. 9841643Svbart@nginx.com</para> 9851643Svbart@nginx.com</change> 9861643Svbart@nginx.com 9871640Svbart@nginx.com<change type="feature"> 9881640Svbart@nginx.com<para> 9891640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 9901640Svbart@nginx.cominterface. 9911640Svbart@nginx.com</para> 9921640Svbart@nginx.com</change> 9931640Svbart@nginx.com 9941640Svbart@nginx.com<change type="feature"> 9951640Svbart@nginx.com<para> 9961640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 9971640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 9981640Svbart@nginx.comspecification. 9991640Svbart@nginx.com</para> 10001640Svbart@nginx.com</change> 10011640Svbart@nginx.com 10021640