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 82029Svbart@nginx.com<changes apply="unit-php 92029Svbart@nginx.com unit-python unit-python2.7 102029Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 112029Svbart@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 122029Svbart@nginx.com unit-go 132029Svbart@nginx.com unit-perl 142029Svbart@nginx.com unit-ruby 152029Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 162029Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 172129Szelenkov@nginx.com ver="1.28.0" rev="1" 182129Szelenkov@nginx.com date="" time="" 192135Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 202129Szelenkov@nginx.com 212129Szelenkov@nginx.com<change> 222129Szelenkov@nginx.com<para> 232129Szelenkov@nginx.comNGINX Unit updated to 1.28.0. 242129Szelenkov@nginx.com</para> 252129Szelenkov@nginx.com</change> 262129Szelenkov@nginx.com 272129Szelenkov@nginx.com</changes> 282129Szelenkov@nginx.com 292129Szelenkov@nginx.com 302129Szelenkov@nginx.com<changes apply="unit" ver="1.28.0" rev="1" 312129Szelenkov@nginx.com date="" time="" 322135Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 332129Szelenkov@nginx.com 342133Sz.hong@f5.com<change type="feature"> 352133Sz.hong@f5.com<para> 362133Sz.hong@f5.comforwarded header to replace client address and protocol. 372133Sz.hong@f5.com</para> 382133Sz.hong@f5.com</change> 392133Sz.hong@f5.com 40*2147Sz.hong@f5.com<change type="feature"> 41*2147Sz.hong@f5.com<para> 42*2147Sz.hong@f5.comability to get dynamic variables. 43*2147Sz.hong@f5.com</para> 44*2147Sz.hong@f5.com</change> 45*2147Sz.hong@f5.com 462137Salx.manpages@gmail.com<change type="bugfix"> 472137Salx.manpages@gmail.com<para> 482137Salx.manpages@gmail.coman index file that didn't contain a file extension was incorrectly 492137Salx.manpages@gmail.comhandled, and caused a use-after-free bug. 502137Salx.manpages@gmail.com</para> 512137Salx.manpages@gmail.com</change> 522137Salx.manpages@gmail.com 532145Stippexs91@googlemail.com<change type="change"> 542145Stippexs91@googlemail.com<para> 552145Stippexs91@googlemail.comincreased the applications' startup timeout. 562145Stippexs91@googlemail.com</para> 572145Stippexs91@googlemail.com</change> 582145Stippexs91@googlemail.com 592129Szelenkov@nginx.com</changes> 602129Szelenkov@nginx.com 612129Szelenkov@nginx.com 622129Szelenkov@nginx.com<changes apply="unit-php 632129Szelenkov@nginx.com unit-python unit-python2.7 642129Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 652129Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 662129Szelenkov@nginx.com unit-go 672129Szelenkov@nginx.com unit-perl 682129Szelenkov@nginx.com unit-ruby 692129Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 702129Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 712012Svbart@nginx.com ver="1.27.0" rev="1" 722127Szelenkov@nginx.com date="2022-06-02" time="18:00:00 +0300" 732012Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 742012Svbart@nginx.com 752012Svbart@nginx.com<change> 762012Svbart@nginx.com<para> 772012Svbart@nginx.comNGINX Unit updated to 1.27.0. 782012Svbart@nginx.com</para> 792012Svbart@nginx.com</change> 802012Svbart@nginx.com 812012Svbart@nginx.com</changes> 822012Svbart@nginx.com 832012Svbart@nginx.com 842012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1" 852127Szelenkov@nginx.com date="2022-06-02" time="18:00:00 +0300" 862012Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 872012Svbart@nginx.com 882072Sz.hong@f5.com<change type="feature"> 892072Sz.hong@f5.com<para> 902108Salx.manpages@gmail.comability to specify a custom index file name when serving static files. 912108Salx.manpages@gmail.com</para> 922108Salx.manpages@gmail.com</change> 932108Salx.manpages@gmail.com 942108Salx.manpages@gmail.com<change type="feature"> 952108Salx.manpages@gmail.com<para> 962081Salx.manpages@gmail.comvariables support in the "location" option of the "return" action. 972081Salx.manpages@gmail.com</para> 982081Salx.manpages@gmail.com</change> 992081Salx.manpages@gmail.com 1002081Salx.manpages@gmail.com<change type="feature"> 1012081Salx.manpages@gmail.com<para> 1022113Sartem.konev@nginx.comsupport empty strings in the "location" option of the "return" action. 1032113Sartem.konev@nginx.com</para> 1042113Sartem.konev@nginx.com</change> 1052113Sartem.konev@nginx.com 1062113Sartem.konev@nginx.com<change type="feature"> 1072113Sartem.konev@nginx.com<para> 1082113Sartem.konev@nginx.comadded a new variable, $request_uri, that includes both the path and the query 1092113Sartem.konev@nginx.comparts as per RFC 3986, sections 3-4. 1102113Sartem.konev@nginx.com</para> 1112113Sartem.konev@nginx.com</change> 1122113Sartem.konev@nginx.com 1132113Sartem.konev@nginx.com<change type="feature"> 1142113Sartem.konev@nginx.com<para> 1152113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support. 1162110Salx.manpages@gmail.com</para> 1172110Salx.manpages@gmail.com</change> 1182110Salx.manpages@gmail.com 1192110Salx.manpages@gmail.com<change type="feature"> 1202110Salx.manpages@gmail.com<para> 1212072Sz.hong@f5.comcompatibility with GCC 12. 1222072Sz.hong@f5.com</para> 1232072Sz.hong@f5.com</change> 1242072Sz.hong@f5.com 1252060Smax.romanov@nginx.com<change type="bugfix"> 1262060Smax.romanov@nginx.com<para> 1272093Sz.hong@f5.comRuby Sinatra applications don't work without custom logging. 1282093Sz.hong@f5.com</para> 1292093Sz.hong@f5.com</change> 1302093Sz.hong@f5.com 1312093Sz.hong@f5.com<change type="bugfix"> 1322093Sz.hong@f5.com<para> 1332113Sartem.konev@nginx.comthe controller process could crash when a chain of more than four 1342069Sz.hong@f5.comcertificates was uploaded. 1352069Sz.hong@f5.com</para> 1362069Sz.hong@f5.com</change> 1372069Sz.hong@f5.com 1382069Sz.hong@f5.com<change type="bugfix"> 1392069Sz.hong@f5.com<para> 1402060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack. 1412060Smax.romanov@nginx.com</para> 1422060Smax.romanov@nginx.com</change> 1432060Smax.romanov@nginx.com 1442061Smax.romanov@nginx.com<change type="bugfix"> 1452061Smax.romanov@nginx.com<para> 1462061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails. 1472061Smax.romanov@nginx.com</para> 1482061Smax.romanov@nginx.com</change> 1492061Smax.romanov@nginx.com 1502067Smax.romanov@nginx.com<change type="bugfix"> 1512067Smax.romanov@nginx.com<para> 1522067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable 1532067Smax.romanov@nginx.comobject, notably with Falcon. 1542067Smax.romanov@nginx.com</para> 1552067Smax.romanov@nginx.com</change> 1562067Smax.romanov@nginx.com 1572117Szelenkov@nginx.com<change type="bugfix"> 1582117Szelenkov@nginx.com<para> 1592117Szelenkov@nginx.comECMAScript modules did not work with the recent Node.js versions. 1602117Szelenkov@nginx.com</para> 1612117Szelenkov@nginx.com</change> 1622117Szelenkov@nginx.com 1632050Svbart@nginx.com</changes> 1642050Svbart@nginx.com 1652050Svbart@nginx.com 1662050Svbart@nginx.com<changes apply="unit-php 1672050Svbart@nginx.com unit-python unit-python2.7 1682050Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1692050Svbart@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 1702050Svbart@nginx.com unit-go 1712050Svbart@nginx.com unit-perl 1722050Svbart@nginx.com unit-ruby 1732050Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1742050Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 1752029Svbart@nginx.com ver="1.26.1" rev="1" 1762045Svbart@nginx.com date="2021-12-02" time="18:00:00 +0300" 1772029Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1782029Svbart@nginx.com 1792029Svbart@nginx.com<change> 1802029Svbart@nginx.com<para> 1812029Svbart@nginx.comNGINX Unit updated to 1.26.1. 1822029Svbart@nginx.com</para> 1832029Svbart@nginx.com</change> 1842029Svbart@nginx.com 1852029Svbart@nginx.com</changes> 1862029Svbart@nginx.com 1872029Svbart@nginx.com 1882029Svbart@nginx.com<changes apply="unit" ver="1.26.1" rev="1" 1892045Svbart@nginx.com date="2021-12-02" time="18:00:00 +0300" 1902029Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1912029Svbart@nginx.com 1922033Smax.romanov@nginx.com<change type="bugfix"> 1932033Smax.romanov@nginx.com<para> 1942044Svbart@nginx.comoccasionally, the Unit daemon was unable to fully terminate; the bug had 1952044Svbart@nginx.comappeared in 1.26.0. 1962033Smax.romanov@nginx.com</para> 1972033Smax.romanov@nginx.com</change> 1982033Smax.romanov@nginx.com 1992034Smax.romanov@nginx.com<change type="bugfix"> 2002034Smax.romanov@nginx.com<para> 2012044Svbart@nginx.coma prototype process could crash on an application process exit; the bug had 2022034Smax.romanov@nginx.comappeared in 1.26.0. 2032034Smax.romanov@nginx.com</para> 2042034Smax.romanov@nginx.com</change> 2052034Smax.romanov@nginx.com 2062035Svbart@nginx.com<change type="bugfix"> 2072035Svbart@nginx.com<para> 2082044Svbart@nginx.comthe router process crashed on reconfiguration if "access_log" was configured 2092044Svbart@nginx.comwithout listeners. 2102044Svbart@nginx.com</para> 2112044Svbart@nginx.com</change> 2122044Svbart@nginx.com 2132044Svbart@nginx.com<change type="bugfix"> 2142044Svbart@nginx.com<para> 2152035Svbart@nginx.coma segmentation fault occurred in the PHP module if chdir() or 2162035Svbart@nginx.comfastcgi_finish_request() was called in the OPcache preloading script. 2172035Svbart@nginx.com</para> 2182035Svbart@nginx.com</change> 2192035Svbart@nginx.com 2202040Smax.romanov@nginx.com<change type="bugfix"> 2212040Smax.romanov@nginx.com<para> 2222041Smax.romanov@nginx.comfatal errors on DragonFly BSD; the bug had appeared in 1.26.0. 2232041Smax.romanov@nginx.com</para> 2242041Smax.romanov@nginx.com</change> 2252041Smax.romanov@nginx.com 2262029Svbart@nginx.com</changes> 2272029Svbart@nginx.com 2282029Svbart@nginx.com 2291973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1" 2302007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2311973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2321973Sdefan@nginx.com 2331973Sdefan@nginx.com<change> 2341973Sdefan@nginx.com<para> 2351973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit. 2361973Sdefan@nginx.com</para> 2371973Sdefan@nginx.com</change> 2381973Sdefan@nginx.com 2391973Sdefan@nginx.com</changes> 2401973Sdefan@nginx.com 2411973Sdefan@nginx.com 2421973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1" 2432007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2441973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2451973Sdefan@nginx.com 2461973Sdefan@nginx.com<change> 2471973Sdefan@nginx.com<para> 2481973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit. 2491973Sdefan@nginx.com</para> 2501973Sdefan@nginx.com</change> 2511973Sdefan@nginx.com 2521973Sdefan@nginx.com</changes> 2531973Sdefan@nginx.com 2541973Sdefan@nginx.com 2551896Svbart@nginx.com<changes apply="unit-php 2561896Svbart@nginx.com unit-python unit-python2.7 2571896Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2581896Svbart@nginx.com unit-python3.8 unit-python3.9 2591896Svbart@nginx.com unit-go 2601896Svbart@nginx.com unit-perl 2611896Svbart@nginx.com unit-ruby 2621896Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 2631896Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 2641951Svbart@nginx.com ver="1.26.0" rev="1" 2652007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2661951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2671951Svbart@nginx.com 2681951Svbart@nginx.com<change> 2691951Svbart@nginx.com<para> 2701951Svbart@nginx.comNGINX Unit updated to 1.26.0. 2711951Svbart@nginx.com</para> 2721951Svbart@nginx.com</change> 2731951Svbart@nginx.com 2741951Svbart@nginx.com</changes> 2751951Svbart@nginx.com 2761951Svbart@nginx.com 2771951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1" 2782007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 2791951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2801951Svbart@nginx.com 2811960Sz.hong@f5.com<change type="change"> 2821960Sz.hong@f5.com<para> 2831960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves, 2841960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI. 2851960Sz.hong@f5.com</para> 2861960Sz.hong@f5.com</change> 2871960Sz.hong@f5.com 2881960Sz.hong@f5.com<change type="feature"> 2891960Sz.hong@f5.com<para> 2902006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior 2912006Svbart@nginx.comwhen updating from previous versions. 2922006Svbart@nginx.com</para> 2932006Svbart@nginx.com</change> 2942006Svbart@nginx.com 2952006Svbart@nginx.com<change type="feature"> 2962006Svbart@nginx.com<para> 2971960Sz.hong@f5.comvariables support in the "share" option. 2981960Sz.hong@f5.com</para> 2991960Sz.hong@f5.com</change> 3001960Sz.hong@f5.com 3011959Sz.hong@f5.com<change type="feature"> 3021959Sz.hong@f5.com<para> 3031961Sz.hong@f5.commultiple paths in the "share" option. 3041961Sz.hong@f5.com</para> 3051961Sz.hong@f5.com</change> 3061961Sz.hong@f5.com 3071961Sz.hong@f5.com<change type="feature"> 3081961Sz.hong@f5.com<para> 3091959Sz.hong@f5.comvariables support in the "chroot" option. 3101959Sz.hong@f5.com</para> 3111959Sz.hong@f5.com</change> 3121959Sz.hong@f5.com 3131969Sz.hong@f5.com<change type="feature"> 3141969Sz.hong@f5.com<para> 3152006Svbart@nginx.comPHP opcache is shared between application processes. 3161969Sz.hong@f5.com</para> 3171969Sz.hong@f5.com</change> 3181969Sz.hong@f5.com 3191991Sz.hong@f5.com<change type="feature"> 3201991Sz.hong@f5.com<para> 3211991Sz.hong@f5.comrequest routing by the query string. 3221991Sz.hong@f5.com</para> 3231991Sz.hong@f5.com</change> 3241991Sz.hong@f5.com 3251955Smax.romanov@nginx.com<change type="bugfix"> 3261955Smax.romanov@nginx.com<para> 3272006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached 3282006Svbart@nginx.comby asynchronous or multithreaded apps. 3291955Smax.romanov@nginx.com</para> 3301955Smax.romanov@nginx.com</change> 3311955Smax.romanov@nginx.com 3321956Smax.romanov@nginx.com<change type="bugfix"> 3331956Smax.romanov@nginx.com<para> 3341956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client 3351956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured. 3361956Smax.romanov@nginx.com</para> 3371956Smax.romanov@nginx.com</change> 3381956Smax.romanov@nginx.com 3391992Smax.romanov@nginx.com<change type="bugfix"> 3401992Smax.romanov@nginx.com<para> 3412006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35. 3421992Smax.romanov@nginx.com</para> 3431992Smax.romanov@nginx.com</change> 3441992Smax.romanov@nginx.com 3451951Svbart@nginx.com</changes> 3461951Svbart@nginx.com 3471951Svbart@nginx.com 3481951Svbart@nginx.com<changes apply="unit-php 3491951Svbart@nginx.com unit-python unit-python2.7 3501951Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3511951Svbart@nginx.com unit-python3.8 unit-python3.9 3521951Svbart@nginx.com unit-go 3531951Svbart@nginx.com unit-perl 3541951Svbart@nginx.com unit-ruby 3551951Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3561951Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 3571896Svbart@nginx.com ver="1.25.0" rev="1" 3581945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 3591896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3601896Svbart@nginx.com 3611896Svbart@nginx.com<change> 3621896Svbart@nginx.com<para> 3631896Svbart@nginx.comNGINX Unit updated to 1.25.0. 3641896Svbart@nginx.com</para> 3651896Svbart@nginx.com</change> 3661896Svbart@nginx.com 3671896Svbart@nginx.com</changes> 3681896Svbart@nginx.com 3691896Svbart@nginx.com 3701896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 3711945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 3721896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3731896Svbart@nginx.com 3741910So.canty@f5.com<change type="feature"> 3751910So.canty@f5.com<para> 3761944Svbart@nginx.comclient IP address replacement from a specified HTTP header field. 3771942Sa.suvorov@f5.com</para> 3781942Sa.suvorov@f5.com</change> 3791942Sa.suvorov@f5.com 3801942Sa.suvorov@f5.com<change type="feature"> 3811942Sa.suvorov@f5.com<para> 3821920Sa.suvorov@f5.comTLS sessions cache. 3831920Sa.suvorov@f5.com</para> 3841920Sa.suvorov@f5.com</change> 3851920Sa.suvorov@f5.com 3861920Sa.suvorov@f5.com<change type="feature"> 3871920Sa.suvorov@f5.com<para> 3881944Svbart@nginx.comTLS session tickets. 3891910So.canty@f5.com</para> 3901910So.canty@f5.com</change> 3911910So.canty@f5.com 3921926Smax.romanov@nginx.com<change type="feature"> 3931926Smax.romanov@nginx.com<para> 3941926Smax.romanov@nginx.comapplication restart control. 3951926Smax.romanov@nginx.com</para> 3961926Smax.romanov@nginx.com</change> 3971926Smax.romanov@nginx.com 3981936So.canty@f5.com<change type="feature"> 3991936So.canty@f5.com<para> 4001944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby. 4011936So.canty@f5.com</para> 4021936So.canty@f5.com</change> 4031936So.canty@f5.com 4041907Smax.romanov@nginx.com<change type="bugfix"> 4051907Smax.romanov@nginx.com<para> 4061944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners 4071944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0. 4081921Sa.suvorov@f5.com</para> 4091921Sa.suvorov@f5.com</change> 4101921Sa.suvorov@f5.com 4111921Sa.suvorov@f5.com<change type="bugfix"> 4121921Sa.suvorov@f5.com<para> 4131944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate 4141944Svbart@nginx.combundles in a listener if the client did not use SNI. 4151907Smax.romanov@nginx.com</para> 4161907Smax.romanov@nginx.com</change> 4171907Smax.romanov@nginx.com 4181907Smax.romanov@nginx.com<change type="bugfix"> 4191907Smax.romanov@nginx.com<para> 4201950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application 4211915Smax.romanov@nginx.comreconfiguration. 4221915Smax.romanov@nginx.com</para> 4231915Smax.romanov@nginx.com</change> 4241915Smax.romanov@nginx.com 4251915Smax.romanov@nginx.com<change type="bugfix"> 4261915Smax.romanov@nginx.com<para> 4271944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette 4281944Svbart@nginx.comframework. 4291944Svbart@nginx.com</para> 4301944Svbart@nginx.com</change> 4311944Svbart@nginx.com 4321944Svbart@nginx.com<change type="bugfix"> 4331944Svbart@nginx.com<para> 4341944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process 4351944Svbart@nginx.comstopped or crashed. 4361907Smax.romanov@nginx.com</para> 4371907Smax.romanov@nginx.com</change> 4381907Smax.romanov@nginx.com 4391909So.canty@f5.com<change type="bugfix"> 4401909So.canty@f5.com<para> 4411909So.canty@f5.comthe controller or router process could crash if the configuration contained 4421909So.canty@f5.coma full-form IPv6 in a listener address. 4431909So.canty@f5.com</para> 4441909So.canty@f5.com</change> 4451909So.canty@f5.com 4461916Smax.romanov@nginx.com<change type="bugfix"> 4471916Smax.romanov@nginx.com<para> 4481929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes" 4491929Sz.hong@f5.comor "upstreams" using a variable "pass" option. 4501929Sz.hong@f5.com</para> 4511929Sz.hong@f5.com</change> 4521929Sz.hong@f5.com 4531930So.canty@f5.com<change type="bugfix"> 4541930So.canty@f5.com<para> 4551944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source 4561944Svbart@nginx.comor destination address patterns. 4571930So.canty@f5.com</para> 4581930So.canty@f5.com</change> 4591930So.canty@f5.com 4601896Svbart@nginx.com</changes> 4611896Svbart@nginx.com 4621896Svbart@nginx.com 4631887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 4641891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 4651887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4661887Sdefan@nginx.com 4671887Sdefan@nginx.com<change> 4681887Sdefan@nginx.com<para> 4691887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit. 4701887Sdefan@nginx.com</para> 4711887Sdefan@nginx.com</change> 4721887Sdefan@nginx.com 4731887Sdefan@nginx.com</changes> 4741887Sdefan@nginx.com 4751887Sdefan@nginx.com 4761887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 4771891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 4781887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4791887Sdefan@nginx.com 4801887Sdefan@nginx.com<change> 4811887Sdefan@nginx.com<para> 4821887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 4831887Sdefan@nginx.com</para> 4841887Sdefan@nginx.com</change> 4851887Sdefan@nginx.com 4861887Sdefan@nginx.com</changes> 4871887Sdefan@nginx.com 4881887Sdefan@nginx.com 4891834Svbart@nginx.com<changes apply="unit-php 4901834Svbart@nginx.com unit-python unit-python2.7 4911834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4921834Svbart@nginx.com unit-python3.8 unit-python3.9 4931834Svbart@nginx.com unit-go 4941834Svbart@nginx.com unit-perl 4951834Svbart@nginx.com unit-ruby 4961834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 4971834Svbart@nginx.com unit-jsc14 unit-jsc15" 4981839Svbart@nginx.com ver="1.24.0" rev="1" 4991891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 5001839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5011839Svbart@nginx.com 5021839Svbart@nginx.com<change> 5031839Svbart@nginx.com<para> 5041839Svbart@nginx.comNGINX Unit updated to 1.24.0. 5051839Svbart@nginx.com</para> 5061839Svbart@nginx.com</change> 5071839Svbart@nginx.com 5081839Svbart@nginx.com</changes> 5091839Svbart@nginx.com 5101839Svbart@nginx.com 5111839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 5121891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 5131839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5141839Svbart@nginx.com 5151882So.canty@f5.com<change type="change"> 5161882So.canty@f5.com<para> 5171882So.canty@f5.comPHP added to the default MIME type list. 5181882So.canty@f5.com</para> 5191882So.canty@f5.com</change> 5201882So.canty@f5.com 5211855Sz.hong@f5.com<change type="feature"> 5221855Sz.hong@f5.com<para> 5231885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands. 5241885Sa.suvorov@f5.com</para> 5251885Sa.suvorov@f5.com</change> 5261885Sa.suvorov@f5.com 5271885Sa.suvorov@f5.com<change type="feature"> 5281885Sa.suvorov@f5.com<para> 5291890Svbart@nginx.comthe ability to limit static file serving by MIME types. 5301890Svbart@nginx.com</para> 5311890Svbart@nginx.com</change> 5321890Svbart@nginx.com 5331890Svbart@nginx.com<change type="feature"> 5341890Svbart@nginx.com<para> 5351890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount 5361890Svbart@nginx.compoint traversal on a per-request basis when serving static files. 5371872So.canty@f5.com</para> 5381872So.canty@f5.com</change> 5391872So.canty@f5.com 5401872So.canty@f5.com<change type="feature"> 5411872So.canty@f5.com<para> 5421889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 5431889Sartem.konev@nginx.comNode.js. 5441865So.canty@f5.com</para> 5451865So.canty@f5.com</change> 5461865So.canty@f5.com 5471865So.canty@f5.com<change type="feature"> 5481865So.canty@f5.com<para> 5491890Svbart@nginx.commultiple "targets" in Python applications. 5501855Sz.hong@f5.com</para> 5511855Sz.hong@f5.com</change> 5521855Sz.hong@f5.com 5531870So.canty@f5.com<change type="feature"> 5541870So.canty@f5.com<para> 5551870So.canty@f5.comcompatibility with Ruby 3.0. 5561870So.canty@f5.com</para> 5571870So.canty@f5.com</change> 5581870So.canty@f5.com 5591861Svbart@nginx.com<change type="bugfix"> 5601861Svbart@nginx.com<para> 5611889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection. 5621884Sa.suvorov@f5.com</para> 5631884Sa.suvorov@f5.com</change> 5641884Sa.suvorov@f5.com 5651884Sa.suvorov@f5.com<change type="bugfix"> 5661884Sa.suvorov@f5.com<para> 5671861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 5681861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 5691861Svbart@nginx.com</para> 5701861Svbart@nginx.com</change> 5711861Svbart@nginx.com 5721839Svbart@nginx.com</changes> 5731839Svbart@nginx.com 5741839Svbart@nginx.com 5751839Svbart@nginx.com<changes apply="unit-php 5761839Svbart@nginx.com unit-python unit-python2.7 5771839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5781839Svbart@nginx.com unit-python3.8 unit-python3.9 5791839Svbart@nginx.com unit-go 5801839Svbart@nginx.com unit-perl 5811839Svbart@nginx.com unit-ruby 5821839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 5831839Svbart@nginx.com unit-jsc14 unit-jsc15" 5841834Svbart@nginx.com ver="1.23.0" rev="1" 5851834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 5861834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5871834Svbart@nginx.com 5881834Svbart@nginx.com<change> 5891834Svbart@nginx.com<para> 5901834Svbart@nginx.comNGINX Unit updated to 1.23.0. 5911834Svbart@nginx.com</para> 5921834Svbart@nginx.com</change> 5931834Svbart@nginx.com 5941834Svbart@nginx.com</changes> 5951834Svbart@nginx.com 5961834Svbart@nginx.com 5971806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 5981834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 5991806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6001806Svbart@nginx.com 6011825Sthresh@nginx.com<change type="feature"> 6021825Sthresh@nginx.com<para> 6031833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 6041828Sa.suvorov@f5.comIndication (SNI) TLS extension. 6051828Sa.suvorov@f5.com</para> 6061828Sa.suvorov@f5.com</change> 6071828Sa.suvorov@f5.com 6081828Sa.suvorov@f5.com<change type="feature"> 6091828Sa.suvorov@f5.com<para> 6101833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 6111833Sartem.konev@nginx.cominstallation. 6121825Sthresh@nginx.com</para> 6131825Sthresh@nginx.com</change> 6141825Sthresh@nginx.com 6151811Smax.romanov@nginx.com<change type="bugfix"> 6161811Smax.romanov@nginx.com<para> 6171812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 6181812Svbart@nginx.comappeared in 1.17.0. 6191812Svbart@nginx.com</para> 6201812Svbart@nginx.com</change> 6211812Svbart@nginx.com 6221812Svbart@nginx.com<change type="bugfix"> 6231812Svbart@nginx.com<para> 6241833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 6251812Svbart@nginx.comappeared in 1.6. 6261812Svbart@nginx.com</para> 6271812Svbart@nginx.com</change> 6281812Svbart@nginx.com 6291812Svbart@nginx.com<change type="bugfix"> 6301812Svbart@nginx.com<para> 6311833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 6321832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 6331832Smax.romanov@nginx.com</para> 6341832Smax.romanov@nginx.com</change> 6351832Smax.romanov@nginx.com 6361832Smax.romanov@nginx.com<change type="bugfix"> 6371832Smax.romanov@nginx.com<para> 6381833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 6391811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 6401811Smax.romanov@nginx.com</para> 6411811Smax.romanov@nginx.com</change> 6421806Svbart@nginx.com 6431813Svbart@nginx.com<change type="bugfix"> 6441813Svbart@nginx.com<para> 6451813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 6461813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 6471813Svbart@nginx.com</para> 6481813Svbart@nginx.com</change> 6491813Svbart@nginx.com 6501814Svbart@nginx.com<change type="bugfix"> 6511814Svbart@nginx.com<para> 6521820Svbart@nginx.comthe controller process could crash while requesting information about a 6531820Svbart@nginx.comcertificate with a non-DNS SAN entry. 6541820Svbart@nginx.com</para> 6551820Svbart@nginx.com</change> 6561820Svbart@nginx.com 6571820Svbart@nginx.com<change type="bugfix"> 6581820Svbart@nginx.com<para> 6591822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 6601833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 6611822Svbart@nginx.com</para> 6621822Svbart@nginx.com</change> 6631822Svbart@nginx.com 6641822Svbart@nginx.com<change type="bugfix"> 6651822Svbart@nginx.com<para> 6661833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 6671833Sartem.konev@nginx.comclass. 6681814Svbart@nginx.com</para> 6691814Svbart@nginx.com</change> 6701814Svbart@nginx.com 6711815Svbart@nginx.com<change type="bugfix"> 6721815Svbart@nginx.com<para> 6731815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 6741815Svbart@nginx.comappeared in 1.22.0. 6751815Svbart@nginx.com</para> 6761815Svbart@nginx.com</change> 6771815Svbart@nginx.com 6781806Svbart@nginx.com</changes> 6791806Svbart@nginx.com 6801806Svbart@nginx.com 6811798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 6821798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 6831798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6841798Sdefan@nginx.com 6851798Sdefan@nginx.com<change> 6861798Sdefan@nginx.com<para> 6871798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 6881798Sdefan@nginx.com</para> 6891798Sdefan@nginx.com</change> 6901798Sdefan@nginx.com 6911798Sdefan@nginx.com</changes> 6921798Sdefan@nginx.com 6931798Sdefan@nginx.com 6941763Sdefan@nginx.com<changes apply="unit-php 6951763Sdefan@nginx.com unit-python unit-python2.7 6961763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6971763Sdefan@nginx.com unit-python3.8 6981763Sdefan@nginx.com unit-go 6991763Sdefan@nginx.com unit-perl 7001763Sdefan@nginx.com unit-ruby 7011763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 7021763Sdefan@nginx.com unit-jsc14 unit-jsc15" 7031763Sdefan@nginx.com ver="1.22.0" rev="1" 7041793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 7051763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7061763Sdefan@nginx.com 7071763Sdefan@nginx.com<change> 7081763Sdefan@nginx.com<para> 7091763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 7101763Sdefan@nginx.com</para> 7111763Sdefan@nginx.com</change> 7121763Sdefan@nginx.com 7131763Sdefan@nginx.com</changes> 7141763Sdefan@nginx.com 7151763Sdefan@nginx.com 7161727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 7171793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 7181727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7191727Svbart@nginx.com 7201759Svbart@nginx.com<change type="feature"> 7211759Svbart@nginx.com<para> 7221792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 7231792Svbart@nginx.comcompliant with Stream API. 7241759Svbart@nginx.com</para> 7251759Svbart@nginx.com</change> 7261759Svbart@nginx.com 7271766Smax.romanov@nginx.com<change type="feature"> 7281766Smax.romanov@nginx.com<para> 7291792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 7301792Svbart@nginx.comapps. 7311732Svbart@nginx.com</para> 7321732Svbart@nginx.com</change> 7331732Svbart@nginx.com 7341733Svbart@nginx.com<change type="bugfix"> 7351733Svbart@nginx.com<para> 7361792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 7371792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 7381754Smax.romanov@nginx.com</para> 7391754Smax.romanov@nginx.com</change> 7401754Smax.romanov@nginx.com 7411755Smax.romanov@nginx.com<change type="bugfix"> 7421755Smax.romanov@nginx.com<para> 7431790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 7441755Smax.romanov@nginx.comappeared in 1.19.0. 7451755Smax.romanov@nginx.com</para> 7461755Smax.romanov@nginx.com</change> 7471755Smax.romanov@nginx.com 7481756Smax.romanov@nginx.com<change type="bugfix"> 7491756Smax.romanov@nginx.com<para> 7501790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 7511790Sartem.konev@nginx.comappeared in 1.19.0. 7521756Smax.romanov@nginx.com</para> 7531756Smax.romanov@nginx.com</change> 7541756Smax.romanov@nginx.com 7551760Smax.romanov@nginx.com<change type="bugfix"> 7561760Smax.romanov@nginx.com<para> 7571792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 7581792Svbart@nginx.com</para> 7591792Svbart@nginx.com</change> 7601792Svbart@nginx.com 7611792Svbart@nginx.com<change type="bugfix"> 7621792Svbart@nginx.com<para> 7631792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 7641792Svbart@nginx.commissing in the PHP module. 7651792Svbart@nginx.com</para> 7661792Svbart@nginx.com</change> 7671792Svbart@nginx.com 7681792Svbart@nginx.com<change type="bugfix"> 7691792Svbart@nginx.com<para> 7701792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 7711792Svbart@nginx.com</para> 7721792Svbart@nginx.com</change> 7731792Svbart@nginx.com 7741792Svbart@nginx.com<change type="bugfix"> 7751792Svbart@nginx.com<para> 7761792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 7771792Svbart@nginx.com</para> 7781792Svbart@nginx.com</change> 7791792Svbart@nginx.com 7801792Svbart@nginx.com<change type="bugfix"> 7811792Svbart@nginx.com<para> 7821792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 7831792Svbart@nginx.comthe bug had appeared in 1.21.0. 7841760Smax.romanov@nginx.com</para> 7851760Smax.romanov@nginx.com</change> 7861760Smax.romanov@nginx.com 7871780Smax.romanov@nginx.com<change type="bugfix"> 7881780Smax.romanov@nginx.com<para> 7891790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 7901790Sartem.konev@nginx.comWebSocket. 7911780Smax.romanov@nginx.com</para> 7921780Smax.romanov@nginx.com</change> 7931780Smax.romanov@nginx.com 7941789Smax.romanov@nginx.com<change type="bugfix"> 7951789Smax.romanov@nginx.com<para> 7961789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 7971789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 7981789Smax.romanov@nginx.com</para> 7991789Smax.romanov@nginx.com</change> 8001789Smax.romanov@nginx.com 8011727Svbart@nginx.com</changes> 8021727Svbart@nginx.com 8031727Svbart@nginx.com 8041722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 8051722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8061722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8071722Svbart@nginx.com 8081722Svbart@nginx.com<change> 8091722Svbart@nginx.com<para> 8101722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 8111722Svbart@nginx.com</para> 8121722Svbart@nginx.com</change> 8131722Svbart@nginx.com 8141722Svbart@nginx.com</changes> 8151722Svbart@nginx.com 8161722Svbart@nginx.com 8171722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 8181722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8191722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8201722Svbart@nginx.com 8211722Svbart@nginx.com<change> 8221722Svbart@nginx.com<para> 8231722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 8241722Svbart@nginx.com</para> 8251722Svbart@nginx.com</change> 8261722Svbart@nginx.com 8271722Svbart@nginx.com</changes> 8281722Svbart@nginx.com 8291722Svbart@nginx.com 8301722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 8311722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8321722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8331722Svbart@nginx.com 8341722Svbart@nginx.com<change> 8351722Svbart@nginx.com<para> 8361722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 8371722Svbart@nginx.com</para> 8381722Svbart@nginx.com</change> 8391722Svbart@nginx.com 8401722Svbart@nginx.com</changes> 8411722Svbart@nginx.com 8421722Svbart@nginx.com 8431722Svbart@nginx.com<changes apply="unit-php 8441722Svbart@nginx.com unit-python unit-python2.7 8451722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8461722Svbart@nginx.com unit-python3.8 8471722Svbart@nginx.com unit-go 8481722Svbart@nginx.com unit-perl 8491722Svbart@nginx.com unit-ruby 8501722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8511722Svbart@nginx.com ver="1.21.0" rev="1" 8521722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8531722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8541722Svbart@nginx.com 8551722Svbart@nginx.com<change> 8561722Svbart@nginx.com<para> 8571722Svbart@nginx.comNGINX Unit updated to 1.21.0. 8581722Svbart@nginx.com</para> 8591722Svbart@nginx.com</change> 8601722Svbart@nginx.com 8611722Svbart@nginx.com</changes> 8621722Svbart@nginx.com 8631722Svbart@nginx.com 8641722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 8651722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 8661722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8671722Svbart@nginx.com 8681722Svbart@nginx.com<change type="change"> 8691722Svbart@nginx.com<para> 8701722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 8711722Svbart@nginx.com</para> 8721722Svbart@nginx.com</change> 8731722Svbart@nginx.com 8741722Svbart@nginx.com<change type="change"> 8751722Svbart@nginx.com<para> 8761722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 8771722Svbart@nginx.comnames. 8781722Svbart@nginx.com</para> 8791722Svbart@nginx.com</change> 8801722Svbart@nginx.com 8811722Svbart@nginx.com<change type="change"> 8821722Svbart@nginx.com<para> 8831722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 8841722Svbart@nginx.comdefault. 8851722Svbart@nginx.com</para> 8861722Svbart@nginx.com</change> 8871722Svbart@nginx.com 8881722Svbart@nginx.com<change type="feature"> 8891722Svbart@nginx.com<para> 8901722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 8911722Svbart@nginx.com</para> 8921722Svbart@nginx.com</change> 8931722Svbart@nginx.com 8941722Svbart@nginx.com<change type="feature"> 8951722Svbart@nginx.com<para> 8961722Svbart@nginx.comregular expressions in route matching patterns. 8971722Svbart@nginx.com</para> 8981722Svbart@nginx.com</change> 8991722Svbart@nginx.com 9001722Svbart@nginx.com<change type="feature"> 9011722Svbart@nginx.com<para> 9021722Svbart@nginx.comcompatibility with Python 3.9. 9031722Svbart@nginx.com</para> 9041722Svbart@nginx.com</change> 9051722Svbart@nginx.com 9061722Svbart@nginx.com<change type="feature"> 9071722Svbart@nginx.com<para> 9081722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 9091722Svbart@nginx.com</para> 9101722Svbart@nginx.com</change> 9111722Svbart@nginx.com 9121722Svbart@nginx.com<change type="feature"> 9131722Svbart@nginx.com<para> 9141722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 9151722Svbart@nginx.com</para> 9161722Svbart@nginx.com</change> 9171722Svbart@nginx.com 9181722Svbart@nginx.com<change type="feature"> 9191722Svbart@nginx.com<para> 9201722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 9211722Svbart@nginx.comcontinues code execution without holding onto the client connection. 9221722Svbart@nginx.com</para> 9231722Svbart@nginx.com</change> 9241722Svbart@nginx.com 9251722Svbart@nginx.com<change type="feature"> 9261722Svbart@nginx.com<para> 9271722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 9281722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 9291722Svbart@nginx.com</para> 9301722Svbart@nginx.com</change> 9311722Svbart@nginx.com 9321722Svbart@nginx.com<change type="feature"> 9331722Svbart@nginx.com<para> 9341722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 9351722Svbart@nginx.commounting of eponymous filesystems. 9361722Svbart@nginx.com</para> 9371722Svbart@nginx.com</change> 9381722Svbart@nginx.com 9391722Svbart@nginx.com<change type="bugfix"> 9401722Svbart@nginx.com<para> 9411722Svbart@nginx.comthe router process could crash when running Go applications under high load; 9421722Svbart@nginx.comthe bug had appeared in 1.19.0. 9431722Svbart@nginx.com</para> 9441722Svbart@nginx.com</change> 9451722Svbart@nginx.com 9461722Svbart@nginx.com<change type="bugfix"> 9471722Svbart@nginx.com<para> 9481722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 9491722Svbart@nginx.com</para> 9501722Svbart@nginx.com</change> 9511722Svbart@nginx.com 9521722Svbart@nginx.com<change type="bugfix"> 9531722Svbart@nginx.com<para> 9541722Svbart@nginx.comvarious compatibility issues in Java applications. 9551722Svbart@nginx.com</para> 9561722Svbart@nginx.com</change> 9571722Svbart@nginx.com 9581722Svbart@nginx.com<change type="bugfix"> 9591722Svbart@nginx.com<para> 9601722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 9611722Svbart@nginx.comuse "rootfs" isolation. 9621722Svbart@nginx.com</para> 9631722Svbart@nginx.com</change> 9641722Svbart@nginx.com 9651722Svbart@nginx.com</changes> 9661722Svbart@nginx.com 9671722Svbart@nginx.com 9681330Svbart@nginx.com<changes apply="unit-php 9691330Svbart@nginx.com unit-python unit-python2.7 9701330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9711330Svbart@nginx.com unit-python3.8 9721330Svbart@nginx.com unit-go 9731330Svbart@nginx.com unit-perl 9741330Svbart@nginx.com unit-ruby 9751330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9761640Svbart@nginx.com ver="1.20.0" rev="1" 9771640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 9781640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9791640Svbart@nginx.com 9801640Svbart@nginx.com<change> 9811640Svbart@nginx.com<para> 9821640Svbart@nginx.comNGINX Unit updated to 1.20.0. 9831640Svbart@nginx.com</para> 9841640Svbart@nginx.com</change> 9851640Svbart@nginx.com 9861640Svbart@nginx.com</changes> 9871640Svbart@nginx.com 9881640Svbart@nginx.com 9891640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 9901640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 9911640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9921640Svbart@nginx.com 9931640Svbart@nginx.com<change type="change"> 9941640Svbart@nginx.com<para> 9951640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 9961640Svbart@nginx.comextensions from the host system. 9971640Svbart@nginx.com</para> 9981640Svbart@nginx.com</change> 9991640Svbart@nginx.com 10001640Svbart@nginx.com<change type="change"> 10011640Svbart@nginx.com<para> 10021640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 10031640Svbart@nginx.com</para> 10041640Svbart@nginx.com</change> 10051640Svbart@nginx.com 10061643Svbart@nginx.com<change type="change"> 10071643Svbart@nginx.com<para> 10081643Svbart@nginx.comfunctional tests migrated to the pytest framework. 10091643Svbart@nginx.com</para> 10101643Svbart@nginx.com</change> 10111643Svbart@nginx.com 10121640Svbart@nginx.com<change type="feature"> 10131640Svbart@nginx.com<para> 10141640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 10151640Svbart@nginx.cominterface. 10161640Svbart@nginx.com</para> 10171640Svbart@nginx.com</change> 10181640Svbart@nginx.com 10191640Svbart@nginx.com<change type="feature"> 10201640Svbart@nginx.com<para> 10211640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 10221640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 10231640Svbart@nginx.comspecification. 10241640Svbart@nginx.com</para> 10251640Svbart@nginx.com</change> 10261640Svbart@nginx.com 10271640Svbart@nginx.com<change type="feature"> 10281640Svbart@nginx.com<para> 10291640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 10301640Svbart@nginx.comenvironments. 10311640Svbart@nginx.com</para> 10321640Svbart@nginx.com</change> 10331640Svbart@nginx.com 10341640Svbart@nginx.com<change type="feature"> 10351640Svbart@nginx.com<para> 10361640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 10371640Svbart@nginx.com</para> 10381640Svbart@nginx.com</change> 10391640Svbart@nginx.com 10401640Svbart@nginx.com<change type="feature"> 10411640Svbart@nginx.com<para> 10421640Svbart@nginx.comthe "callable" option sets Python application callable names. 10431640Svbart@nginx.com</para> 10441640Svbart@nginx.com</change> 10451640Svbart@nginx.com 10461640Svbart@nginx.com<change type="feature"> 10471640Svbart@nginx.com<para> 10481640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 10491640Svbart@nginx.com</para> 10501640Svbart@nginx.com</change> 10511640Svbart@nginx.com 10521640Svbart@nginx.com<change type="feature"> 10531640Svbart@nginx.com<para> 10541640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 10551640Svbart@nginx.comautomatic mounting of language module dependencies. 10561640Svbart@nginx.com</para> 10571640Svbart@nginx.com</change> 10581640Svbart@nginx.com 10591640Svbart@nginx.com<change type="bugfix"> 10601640Svbart@nginx.com<para> 10611640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 10621640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 10631640Svbart@nginx.com</para> 10641640Svbart@nginx.com</change> 10651640Svbart@nginx.com 10661640Svbart@nginx.com<change type="bugfix"> 10671640Svbart@nginx.com<para> 10681640Svbart@nginx.comthe router process could crash during reconfiguration. 10691640Svbart@nginx.com</para> 10701640Svbart@nginx.com</change> 10711640Svbart@nginx.com 10721640Svbart@nginx.com<change type="bugfix"> 10731640Svbart@nginx.com<para> 10741640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 10751640Svbart@nginx.com</para> 10761640Svbart@nginx.com</change> 10771640Svbart@nginx.com 10781640Svbart@nginx.com<change type="bugfix"> 10791640Svbart@nginx.com<para> 10801640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 10811640Svbart@nginx.comthe bug had appeared in 1.19.0. 10821640Svbart@nginx.com</para> 10831640Svbart@nginx.com</change> 10841640Svbart@nginx.com 10851640Svbart@nginx.com<change type="bugfix"> 10861640Svbart@nginx.com<para> 10871640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 10881640Svbart@nginx.comthe bug had appeared in 1.16.0. 10891640Svbart@nginx.com</para> 10901640Svbart@nginx.com</change> 10911640Svbart@nginx.com 10921640Svbart@nginx.com</changes> 10931640Svbart@nginx.com 10941640Svbart@nginx.com 10951640Svbart@nginx.com<changes apply="unit-php 10961640Svbart@nginx.com unit-python unit-python2.7 10971640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10981640Svbart@nginx.com unit-python3.8 10991640Svbart@nginx.com unit-go 11001640Svbart@nginx.com unit-perl 11011640Svbart@nginx.com unit-ruby 11021640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11031570Svbart@nginx.com ver="1.19.0" rev="1" 11041570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 11051570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11061570Svbart@nginx.com 11071570Svbart@nginx.com<change> 11081570Svbart@nginx.com<para> 11091570Svbart@nginx.comNGINX Unit updated to 1.19.0. 11101570Svbart@nginx.com</para> 11111570Svbart@nginx.com</change> 11121570Svbart@nginx.com 11131570Svbart@nginx.com</changes> 11141570Svbart@nginx.com 11151570Svbart@nginx.com 11161570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 11171570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 11181570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11191570Svbart@nginx.com 11201570Svbart@nginx.com<change type="feature"> 11211570Svbart@nginx.com<para> 11221570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 11231570Svbart@nginx.comincrease performance, and improve scalability. 11241570Svbart@nginx.com</para> 11251570Svbart@nginx.com</change> 11261570Svbart@nginx.com 11271570Svbart@nginx.com<change type="feature"> 11281570Svbart@nginx.com<para> 11291570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 11301570Svbart@nginx.com</para> 11311570Svbart@nginx.com</change> 11321570Svbart@nginx.com 11331570Svbart@nginx.com<change type="feature"> 11341570Svbart@nginx.com<para> 11351570Svbart@nginx.comchunked transfer encoding in proxy responses. 11361570Svbart@nginx.com</para> 11371570Svbart@nginx.com</change> 11381570Svbart@nginx.com 11391570Svbart@nginx.com<change type="feature"> 11401570Svbart@nginx.com<para> 11411570Svbart@nginx.combasic variables support in the "pass" option. 11421570Svbart@nginx.com</para> 11431570Svbart@nginx.com</change> 11441570Svbart@nginx.com 11451570Svbart@nginx.com<change type="feature"> 11461570Svbart@nginx.com<para> 11471570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 11481570Svbart@nginx.comThanks to Remi Collet. 11491570Svbart@nginx.com</para> 11501570Svbart@nginx.com</change> 11511570Svbart@nginx.com 11521570Svbart@nginx.com<change type="bugfix"> 11531570Svbart@nginx.com<para> 11541570Svbart@nginx.comthe router process could crash while passing requests to an application under 11551570Svbart@nginx.comhigh load. 11561570Svbart@nginx.com</para> 11571570Svbart@nginx.com</change> 11581570Svbart@nginx.com 11591570Svbart@nginx.com<change type="bugfix"> 11601570Svbart@nginx.com<para> 11611570Svbart@nginx.coma number of language modules failed to build on some systems; 11621570Svbart@nginx.comthe bug had appeared in 1.18.0. 11631570Svbart@nginx.com</para> 11641570Svbart@nginx.com</change> 11651570Svbart@nginx.com 11661570Svbart@nginx.com<change type="bugfix"> 11671570Svbart@nginx.com<para> 11681570Svbart@nginx.comtime in error log messages from PHP applications could lag. 11691570Svbart@nginx.com</para> 11701570Svbart@nginx.com</change> 11711570Svbart@nginx.com 11721570Svbart@nginx.com<change type="bugfix"> 11731570Svbart@nginx.com<para> 11741570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 11751570Svbart@nginx.comthe bug had appeared in 1.18.0. 11761570Svbart@nginx.com</para> 11771570Svbart@nginx.com</change> 11781570Svbart@nginx.com 11791570Svbart@nginx.com<change type="bugfix"> 11801570Svbart@nginx.com<para> 11811570Svbart@nginx.commemory leak during reconfiguration. 11821570Svbart@nginx.com</para> 11831570Svbart@nginx.com</change> 11841570Svbart@nginx.com 11851570Svbart@nginx.com<change type="bugfix"> 11861570Svbart@nginx.com<para> 11871570Svbart@nginx.comthe daemon didn't start without language modules; 11881570Svbart@nginx.comthe bug had appeared in 1.18.0. 11891570Svbart@nginx.com</para> 11901570Svbart@nginx.com</change> 11911570Svbart@nginx.com 11921570Svbart@nginx.com<change type="bugfix"> 11931570Svbart@nginx.com<para> 11941570Svbart@nginx.comthe router process could crash at exit. 11951570Svbart@nginx.com</para> 11961570Svbart@nginx.com</change> 11971570Svbart@nginx.com 11981570Svbart@nginx.com<change type="bugfix"> 11991570Svbart@nginx.com<para> 12001570Svbart@nginx.comNode.js applications could crash at exit. 12011570Svbart@nginx.com</para> 12021570Svbart@nginx.com</change> 12031570Svbart@nginx.com 12041570Svbart@nginx.com<change type="bugfix"> 12051570Svbart@nginx.com<para> 12061570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 12071570Svbart@nginx.com</para> 12081570Svbart@nginx.com</change> 12091570Svbart@nginx.com 12101570Svbart@nginx.com</changes> 12111570Svbart@nginx.com 12121570Svbart@nginx.com 12131570Svbart@nginx.com<changes apply="unit-php 12141570Svbart@nginx.com unit-python unit-python2.7 12151570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12161570Svbart@nginx.com unit-python3.8 12171570Svbart@nginx.com unit-go 12181570Svbart@nginx.com unit-perl 12191570Svbart@nginx.com unit-ruby 12201570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12211491Svbart@nginx.com ver="1.18.0" rev="1" 12221491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 12231491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12241491Svbart@nginx.com 12251491Svbart@nginx.com<change> 12261491Svbart@nginx.com<para> 12271491Svbart@nginx.comNGINX Unit updated to 1.18.0. 12281491Svbart@nginx.com</para> 12291491Svbart@nginx.com</change> 12301491Svbart@nginx.com 12311491Svbart@nginx.com</changes> 12321491Svbart@nginx.com 12331491Svbart@nginx.com 12341491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 12351491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 12361491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12371491Svbart@nginx.com 12381491Svbart@nginx.com<change type="feature"> 12391491Svbart@nginx.com<para> 12401491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 12411491Svbart@nginx.com</para> 12421491Svbart@nginx.com</change> 12431491Svbart@nginx.com 12441491Svbart@nginx.com<change type="feature"> 12451491Svbart@nginx.com<para> 12461491Svbart@nginx.commultiple "targets" in PHP applications. 12471491Svbart@nginx.com</para> 12481491Svbart@nginx.com</change> 12491491Svbart@nginx.com 12501491Svbart@nginx.com<change type="feature"> 12511491Svbart@nginx.com<para> 12521491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 12531491Svbart@nginx.comand in the "pass" option. 12541491Svbart@nginx.com</para> 12551491Svbart@nginx.com</change> 12561491Svbart@nginx.com 12571491Svbart@nginx.com</changes> 12581491Svbart@nginx.com 12591491Svbart@nginx.com 12601491Svbart@nginx.com<changes apply="unit-php 12611491Svbart@nginx.com unit-python unit-python2.7 12621491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12631491Svbart@nginx.com unit-python3.8 12641491Svbart@nginx.com unit-go 12651491Svbart@nginx.com unit-perl 12661491Svbart@nginx.com unit-ruby 12671491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12681460Svbart@nginx.com ver="1.17.0" rev="1" 12691460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 12701460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12711460Svbart@nginx.com 12721460Svbart@nginx.com<change> 12731460Svbart@nginx.com<para> 12741460Svbart@nginx.comNGINX Unit updated to 1.17.0. 12751460Svbart@nginx.com</para> 12761460Svbart@nginx.com</change> 12771460Svbart@nginx.com 12781460Svbart@nginx.com</changes> 12791460Svbart@nginx.com 12801460Svbart@nginx.com 12811460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 12821460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 12831460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12841460Svbart@nginx.com 12851460Svbart@nginx.com<change type="feature"> 12861460Svbart@nginx.com<para> 12871460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 12881460Svbart@nginx.comredirection. 12891460Svbart@nginx.com</para> 12901460Svbart@nginx.com</change> 12911460Svbart@nginx.com 12921460Svbart@nginx.com<change type="feature"> 12931460Svbart@nginx.com<para> 12941460Svbart@nginx.comfractional weights support for upstream servers. 12951460Svbart@nginx.com</para> 12961460Svbart@nginx.com</change> 12971460Svbart@nginx.com 12981460Svbart@nginx.com<change type="bugfix"> 12991460Svbart@nginx.com<para> 13001460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 13011460Svbart@nginx.comhigh load. 13021460Svbart@nginx.com</para> 13031460Svbart@nginx.com</change> 13041460Svbart@nginx.com 13051460Svbart@nginx.com<change type="bugfix"> 13061460Svbart@nginx.com<para> 13071460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 13081460Svbart@nginx.com</para> 13091460Svbart@nginx.com</change> 13101460Svbart@nginx.com 13111460Svbart@nginx.com<change type="bugfix"> 13121460Svbart@nginx.com<para> 13131460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 13141460Svbart@nginx.comopen connections limit. 13151460Svbart@nginx.com</para> 13161460Svbart@nginx.com</change> 13171460Svbart@nginx.com 13181460Svbart@nginx.com<change type="bugfix"> 13191460Svbart@nginx.com<para> 13201460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 13211460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 13221460Svbart@nginx.com</para> 13231460Svbart@nginx.com</change> 13241460Svbart@nginx.com 13251460Svbart@nginx.com<change type="bugfix"> 13261460Svbart@nginx.com<para> 13271460Svbart@nginx.comexisting application processes didn't reopen the log file. 13281460Svbart@nginx.com</para> 13291460Svbart@nginx.com</change> 13301460Svbart@nginx.com 13311460Svbart@nginx.com<change type="bugfix"> 13321460Svbart@nginx.com<para> 13331460Svbart@nginx.comincompatibility with some Node.js applications. 13341460Svbart@nginx.com</para> 13351460Svbart@nginx.com</change> 13361460Svbart@nginx.com 13371460Svbart@nginx.com<change type="bugfix"> 13381460Svbart@nginx.com<para> 13391460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 13401460Svbart@nginx.com</para> 13411460Svbart@nginx.com</change> 13421460Svbart@nginx.com 13431460Svbart@nginx.com</changes> 13441460Svbart@nginx.com 13451460Svbart@nginx.com 13461460Svbart@nginx.com<changes apply="unit-php 13471460Svbart@nginx.com unit-python unit-python2.7 13481460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13491460Svbart@nginx.com unit-python3.8 13501460Svbart@nginx.com unit-go 13511460Svbart@nginx.com unit-perl 13521460Svbart@nginx.com unit-ruby 13531460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13541404Svbart@nginx.com ver="1.16.0" rev="1" 13551404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 13561404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13571404Svbart@nginx.com 13581404Svbart@nginx.com<change> 13591404Svbart@nginx.com<para> 13601404Svbart@nginx.comNGINX Unit updated to 1.16.0. 13611404Svbart@nginx.com</para> 13621404Svbart@nginx.com</change> 13631404Svbart@nginx.com 13641404Svbart@nginx.com</changes> 13651404Svbart@nginx.com 13661404Svbart@nginx.com 13671404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 13681404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 13691404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13701404Svbart@nginx.com 13711404Svbart@nginx.com<change type="feature"> 13721404Svbart@nginx.com<para> 13731404Svbart@nginx.combasic load-balancing support with round-robin. 13741404Svbart@nginx.com</para> 13751404Svbart@nginx.com</change> 13761404Svbart@nginx.com 13771404Svbart@nginx.com<change type="feature"> 13781404Svbart@nginx.com<para> 13791404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 13801404Svbart@nginx.comserved from the "share" directory. 13811404Svbart@nginx.com</para> 13821404Svbart@nginx.com</change> 13831404Svbart@nginx.com 13841404Svbart@nginx.com<change type="feature"> 13851404Svbart@nginx.com<para> 13861404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 13871404Svbart@nginx.com</para> 13881404Svbart@nginx.com</change> 13891404Svbart@nginx.com 13901404Svbart@nginx.com<change type="feature"> 13911404Svbart@nginx.com<para> 13921404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 13931404Svbart@nginx.com</para> 13941404Svbart@nginx.com</change> 13951404Svbart@nginx.com 13961404Svbart@nginx.com<change type="bugfix"> 13971404Svbart@nginx.com<para> 13981404Svbart@nginx.comnegative address matching in router might work improperly in combination with 13991404Svbart@nginx.comnon-negative patterns. 14001404Svbart@nginx.com</para> 14011404Svbart@nginx.com</change> 14021404Svbart@nginx.com 14031404Svbart@nginx.com<change type="bugfix"> 14041404Svbart@nginx.com<para> 14051404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 14061404Svbart@nginx.com</para> 14071404Svbart@nginx.com</change> 14081404Svbart@nginx.com 14091404Svbart@nginx.com<change type="bugfix"> 14101404Svbart@nginx.com<para> 14111404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 14121404Svbart@nginx.com</para> 14131404Svbart@nginx.com</change> 14141404Svbart@nginx.com 14151404Svbart@nginx.com<change type="bugfix"> 14161404Svbart@nginx.com<para> 14171404Svbart@nginx.comcompatibility issues with some Python applications. 14181404Svbart@nginx.com</para> 14191404Svbart@nginx.com</change> 14201404Svbart@nginx.com 14211404Svbart@nginx.com</changes> 14221404Svbart@nginx.com 14231404Svbart@nginx.com 14241404Svbart@nginx.com<changes apply="unit-php 14251404Svbart@nginx.com unit-python unit-python2.7 14261404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14271404Svbart@nginx.com unit-python3.8 14281404Svbart@nginx.com unit-go 14291404Svbart@nginx.com unit-perl 14301404Svbart@nginx.com unit-ruby 14311404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14321357Svbart@nginx.com ver="1.15.0" rev="1" 14331357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 14341357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14351357Svbart@nginx.com 14361357Svbart@nginx.com<change> 14371357Svbart@nginx.com<para> 14381357Svbart@nginx.comNGINX Unit updated to 1.15.0. 14391357Svbart@nginx.com</para> 14401357Svbart@nginx.com</change> 14411357Svbart@nginx.com 14421357Svbart@nginx.com</changes> 14431357Svbart@nginx.com 14441357Svbart@nginx.com 14451357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 14461357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 14471357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14481357Svbart@nginx.com 14491357Svbart@nginx.com<change type="change"> 14501357Svbart@nginx.com<para> 14511357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 14521357Svbart@nginx.com</para> 14531357Svbart@nginx.com</change> 14541357Svbart@nginx.com 14551357Svbart@nginx.com<change type="feature"> 14561357Svbart@nginx.com<para> 14571357Svbart@nginx.comcompatibility with Ruby 2.7. 14581357Svbart@nginx.com</para> 14591357Svbart@nginx.com</change> 14601357Svbart@nginx.com 14611357Svbart@nginx.com<change type="bugfix"> 14621357Svbart@nginx.com<para> 14631357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 14641357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 14651357Svbart@nginx.com</para> 14661357Svbart@nginx.com</change> 14671357Svbart@nginx.com 14681357Svbart@nginx.com<change type="bugfix"> 14691357Svbart@nginx.com<para> 14701357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 14711357Svbart@nginx.com</para> 14721357Svbart@nginx.com</change> 14731357Svbart@nginx.com 14741357Svbart@nginx.com</changes> 14751357Svbart@nginx.com 14761357Svbart@nginx.com 14771357Svbart@nginx.com<changes apply="unit-php 14781357Svbart@nginx.com unit-python unit-python2.7 14791357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14801357Svbart@nginx.com unit-python3.8 14811357Svbart@nginx.com unit-go 14821357Svbart@nginx.com unit-perl 14831357Svbart@nginx.com unit-ruby 14841357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14851330Svbart@nginx.com ver="1.14.0" rev="1" 14861330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 14871330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14881330Svbart@nginx.com 14891330Svbart@nginx.com<change> 14901330Svbart@nginx.com<para> 14911330Svbart@nginx.comNGINX Unit updated to 1.14.0. 14921330Svbart@nginx.com</para> 14931330Svbart@nginx.com</change> 14941330Svbart@nginx.com 14951330Svbart@nginx.com</changes> 14961330Svbart@nginx.com 14971330Svbart@nginx.com 14981330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 14991330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 15001330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15011330Svbart@nginx.com 15021330Svbart@nginx.com<change type="change"> 15031330Svbart@nginx.com<para> 15041330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 15051330Svbart@nginx.com</para> 15061330Svbart@nginx.com</change> 15071330Svbart@nginx.com 15081330Svbart@nginx.com<change type="change"> 15091330Svbart@nginx.com<para> 15101330Svbart@nginx.comGo package now links to libunit instead of including library sources. 15111330Svbart@nginx.com</para> 15121330Svbart@nginx.com</change> 15131330Svbart@nginx.com 15141330Svbart@nginx.com<change type="feature"> 15151330Svbart@nginx.com<para> 15161330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 15171330Svbart@nginx.comruns as an unprivileged user. 15181330Svbart@nginx.com</para> 15191330Svbart@nginx.com</change> 15201330Svbart@nginx.com 15211330Svbart@nginx.com<change type="feature"> 15221330Svbart@nginx.com<para> 15231330Svbart@nginx.comrequest routing by source and destination addresses and ports. 15241330Svbart@nginx.com</para> 15251330Svbart@nginx.com</change> 15261330Svbart@nginx.com 15271330Svbart@nginx.com<change type="bugfix"> 15281330Svbart@nginx.com<para> 15291330Svbart@nginx.commemory bloat on large responses. 15301330Svbart@nginx.com</para> 15311330Svbart@nginx.com</change> 15321330Svbart@nginx.com 15331330Svbart@nginx.com</changes> 15341330Svbart@nginx.com 15351330Svbart@nginx.com 15361290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 15371290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 15381290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15391290Sdefan@nginx.com 15401290Sdefan@nginx.com<change> 15411290Sdefan@nginx.com<para> 15421290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 15431290Sdefan@nginx.com</para> 15441290Sdefan@nginx.com</change> 15451290Sdefan@nginx.com 15461290Sdefan@nginx.com</changes> 15471290Sdefan@nginx.com 15481290Sdefan@nginx.com 15491290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 15501290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 15511290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15521290Sdefan@nginx.com 15531290Sdefan@nginx.com<change> 15541290Sdefan@nginx.com<para> 15551290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 15561290Sdefan@nginx.com</para> 15571290Sdefan@nginx.com</change> 15581290Sdefan@nginx.com 15591290Sdefan@nginx.com</changes> 15601290Sdefan@nginx.com 15611290Sdefan@nginx.com 15621289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 15631289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 15641289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15651289Sdefan@nginx.com 15661289Sdefan@nginx.com<change> 15671289Sdefan@nginx.com<para> 15681289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 15691289Sdefan@nginx.com</para> 15701289Sdefan@nginx.com</change> 15711289Sdefan@nginx.com 15721289Sdefan@nginx.com</changes> 15731289Sdefan@nginx.com 15741289Sdefan@nginx.com 15751185Svbart@nginx.com<changes apply="unit-php 15761185Svbart@nginx.com unit-python unit-python2.7 15771185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15781185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 15791185Svbart@nginx.com unit-perl 15801185Svbart@nginx.com unit-ruby 15811185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15821284Svbart@nginx.com ver="1.13.0" rev="1" 15831284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 15841284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15851284Svbart@nginx.com 15861284Svbart@nginx.com<change> 15871284Svbart@nginx.com<para> 15881284Svbart@nginx.comNGINX Unit updated to 1.13.0. 15891284Svbart@nginx.com</para> 15901284Svbart@nginx.com</change> 15911284Svbart@nginx.com 15921284Svbart@nginx.com</changes> 15931284Svbart@nginx.com 15941284Svbart@nginx.com 15951284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 15961284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 15971284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15981284Svbart@nginx.com 15991284Svbart@nginx.com<change type="feature"> 16001284Svbart@nginx.com<para> 16011284Svbart@nginx.combasic support for HTTP reverse proxying. 16021284Svbart@nginx.com</para> 16031284Svbart@nginx.com</change> 16041284Svbart@nginx.com 16051284Svbart@nginx.com<change type="feature"> 16061284Svbart@nginx.com<para> 16071284Svbart@nginx.comcompatibility with Python 3.8. 16081284Svbart@nginx.com</para> 16091284Svbart@nginx.com</change> 16101284Svbart@nginx.com 16111284Svbart@nginx.com<change type="bugfix"> 16121284Svbart@nginx.com<para> 16131284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 16141284Svbart@nginx.com</para> 16151284Svbart@nginx.com</change> 16161284Svbart@nginx.com 16171284Svbart@nginx.com<change type="bugfix"> 16181284Svbart@nginx.com<para> 16191284Svbart@nginx.comthreads in Python applications might not work correctly. 16201284Svbart@nginx.com</para> 16211284Svbart@nginx.com</change> 16221284Svbart@nginx.com 16231284Svbart@nginx.com<change type="bugfix"> 16241284Svbart@nginx.com<para> 16251284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 16261284Svbart@nginx.com</para> 16271284Svbart@nginx.com</change> 16281284Svbart@nginx.com 16291284Svbart@nginx.com<change type="bugfix"> 16301284Svbart@nginx.com<para> 16311284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 16321284Svbart@nginx.comdelays. 16331284Svbart@nginx.com</para> 16341284Svbart@nginx.com</change> 16351284Svbart@nginx.com 16361284Svbart@nginx.com<change type="bugfix"> 16371284Svbart@nginx.com<para> 16381284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 16391284Svbart@nginx.com</para> 16401284Svbart@nginx.com</change> 16411284Svbart@nginx.com 16421284Svbart@nginx.com</changes> 16431284Svbart@nginx.com 16441284Svbart@nginx.com 16451284Svbart@nginx.com<changes apply="unit-php 16461284Svbart@nginx.com unit-python unit-python2.7 16471284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 16481284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 16491284Svbart@nginx.com unit-perl 16501284Svbart@nginx.com unit-ruby 16511284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 16521222Svbart@nginx.com ver="1.12.0" rev="1" 16531222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 16541222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16551222Svbart@nginx.com 16561222Svbart@nginx.com<change> 16571222Svbart@nginx.com<para> 16581222Svbart@nginx.comNGINX Unit updated to 1.12.0. 16591222Svbart@nginx.com</para> 16601222Svbart@nginx.com</change> 16611222Svbart@nginx.com 16621222Svbart@nginx.com</changes> 16631222Svbart@nginx.com 16641222Svbart@nginx.com 16651222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 16661222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 16671222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16681222Svbart@nginx.com 16691222Svbart@nginx.com<change type="feature"> 16701222Svbart@nginx.com<para> 16711222Svbart@nginx.comcompatibility with PHP 7.4. 16721222Svbart@nginx.com</para> 16731222Svbart@nginx.com</change> 16741222Svbart@nginx.com 16751222Svbart@nginx.com<change type="bugfix"> 16761222Svbart@nginx.com<para> 16771222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 16781222Svbart@nginx.com</para> 16791222Svbart@nginx.com</change> 16801222Svbart@nginx.com 16811222Svbart@nginx.com<change type="bugfix"> 16821222Svbart@nginx.com<para> 16831222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 16841222Svbart@nginx.com</para> 16851222Svbart@nginx.com</change> 16861222Svbart@nginx.com 16871222Svbart@nginx.com<change type="bugfix"> 16881222Svbart@nginx.com<para> 16891222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 16901222Svbart@nginx.com</para> 16911222Svbart@nginx.com</change> 16921222Svbart@nginx.com 16931222Svbart@nginx.com</changes> 16941222Svbart@nginx.com 16951222Svbart@nginx.com 16961222Svbart@nginx.com 16971222Svbart@nginx.com<changes apply="unit-php 16981222Svbart@nginx.com unit-python unit-python2.7 16991222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 17001222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 17011222Svbart@nginx.com unit-perl 17021222Svbart@nginx.com unit-ruby 17031222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 17041185Svbart@nginx.com ver="1.11.0" rev="1" 17051185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 17061185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 17071185Svbart@nginx.com 17081185Svbart@nginx.com<change> 17091185Svbart@nginx.com<para> 17101185Svbart@nginx.comNGINX Unit updated to 1.11.0. 17111185Svbart@nginx.com</para> 17121185Svbart@nginx.com</change> 17131185Svbart@nginx.com 17141185Svbart@nginx.com</changes> 17151185Svbart@nginx.com 17161185Svbart@nginx.com 17171185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 17181185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 17191185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 17201185Svbart@nginx.com 17211185Svbart@nginx.com<change type="feature"> 17221185Svbart@nginx.com<para> 17231185Svbart@nginx.combasic support for serving static files. 17241185Svbart@nginx.com</para> 17251185Svbart@nginx.com</change> 17261185Svbart@nginx.com 17271185Svbart@nginx.com<change type="feature"> 17281185Svbart@nginx.com<para> 17291185Svbart@nginx.comisolation of application processes with Linux namespaces. 17301185Svbart@nginx.com</para> 17311185Svbart@nginx.com</change> 17321185Svbart@nginx.com 17331185Svbart@nginx.com<change type="feature"> 17341185Svbart@nginx.com<para> 17351185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 17361185Svbart@nginx.com</para> 17371185Svbart@nginx.com</change> 17381185Svbart@nginx.com 17391185Svbart@nginx.com<change type="feature"> 17401185Svbart@nginx.com<para> 17411185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 17421185Svbart@nginx.comusing URI encoding (%2F). 17431185Svbart@nginx.com</para> 17441185Svbart@nginx.com</change> 17451185Svbart@nginx.com 17461185Svbart@nginx.com<change type="bugfix"> 17471185Svbart@nginx.com<para> 17481185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 17491185Svbart@nginx.com</para> 17501185Svbart@nginx.com</change> 17511185Svbart@nginx.com 17521185Svbart@nginx.com<change type="bugfix"> 17531185Svbart@nginx.com<para> 17541185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 17551185Svbart@nginx.comGNU ld (e.g. gold or LLD). 17561185Svbart@nginx.com</para> 17571185Svbart@nginx.com</change> 17581185Svbart@nginx.com 17591185Svbart@nginx.com</changes> 17601185Svbart@nginx.com 17611185Svbart@nginx.com 17621142Sdefan@nginx.com<changes apply="unit 17631142Sdefan@nginx.com unit-php 17641142Sdefan@nginx.com unit-python unit-python2.7 17651142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 17661142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 17671142Sdefan@nginx.com unit-perl 17681142Sdefan@nginx.com unit-ruby 17691142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 17701142Sdefan@nginx.com ver="1.10.0" rev="2" 17711142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 17721142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17731142Sdefan@nginx.com 17741142Sdefan@nginx.com<change type="bugfix"> 17751142Sdefan@nginx.com<para> 17761142Sdefan@nginx.commissed header files added to unit development package. 17771142Sdefan@nginx.com</para> 17781142Sdefan@nginx.com</change> 17791142Sdefan@nginx.com 17801142Sdefan@nginx.com</changes> 17811142Sdefan@nginx.com 17821142Sdefan@nginx.com 17831134Svbart@nginx.com<changes apply="unit-php 17841134Svbart@nginx.com unit-python unit-python2.7 17851134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 17861134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 17871134Svbart@nginx.com unit-perl 17881134Svbart@nginx.com unit-ruby 17891134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 17901134Svbart@nginx.com ver="1.10.0" rev="1" 17911134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 17921134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17931134Svbart@nginx.com 17941134Svbart@nginx.com<change> 17951134Svbart@nginx.com<para> 17961134Svbart@nginx.comNGINX Unit updated to 1.10.0. 17971134Svbart@nginx.com</para> 17981134Svbart@nginx.com</change> 17991134Svbart@nginx.com 18001134Svbart@nginx.com</changes> 18011134Svbart@nginx.com 18021134Svbart@nginx.com 18031134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 18041134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 18051134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 18061134Svbart@nginx.com 18071134Svbart@nginx.com<change type="change"> 18081134Svbart@nginx.com<para> 18091134Svbart@nginx.commatching of cookies in routes made case sensitive. 18101134Svbart@nginx.com</para> 18111134Svbart@nginx.com</change> 18121134Svbart@nginx.com 18131134Svbart@nginx.com<change type="change"> 18141134Svbart@nginx.com<para> 18151134Svbart@nginx.comdecreased log level of common errors when clients close connections. 18161134Svbart@nginx.com</para> 18171134Svbart@nginx.com</change> 18181134Svbart@nginx.com 18191134Svbart@nginx.com<change type="change"> 18201134Svbart@nginx.com<para> 18211134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 18221134Svbart@nginx.com</para> 18231134Svbart@nginx.com</change> 18241134Svbart@nginx.com 18251134Svbart@nginx.com<change type="feature"> 18261134Svbart@nginx.com<para> 18271134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 18281134Svbart@nginx.com</para> 18291134Svbart@nginx.com</change> 18301134Svbart@nginx.com 18311134Svbart@nginx.com<change type="feature"> 18321134Svbart@nginx.com<para> 18331134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 18341134Svbart@nginx.com</para> 18351134Svbart@nginx.com</change> 18361134Svbart@nginx.com 18371134Svbart@nginx.com<change type="feature"> 18381134Svbart@nginx.com<para> 18391134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 18401134Svbart@nginx.com</para> 18411134Svbart@nginx.com</change> 18421134Svbart@nginx.com 18431134Svbart@nginx.com<change type="feature"> 18441134Svbart@nginx.com<para> 18451134Svbart@nginx.comsupport for multipart requests body in Java module. 18461134Svbart@nginx.com</para> 18471134Svbart@nginx.com</change> 18481134Svbart@nginx.com 18491134Svbart@nginx.com<change type="feature"> 18501134Svbart@nginx.com<para> 18511134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 18521134Svbart@nginx.com</para> 18531134Svbart@nginx.com</change> 18541134Svbart@nginx.com 18551134Svbart@nginx.com<change type="bugfix"> 18561134Svbart@nginx.com<para> 18571134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 18581134Svbart@nginx.com</para> 18591134Svbart@nginx.com</change> 18601134Svbart@nginx.com 18611134Svbart@nginx.com<change type="bugfix"> 18621134Svbart@nginx.com<para> 18631134Svbart@nginx.comapplying a large configuration might have failed. 18641134Svbart@nginx.com</para> 18651134Svbart@nginx.com</change> 18661134Svbart@nginx.com 18671134Svbart@nginx.com</changes> 18681134Svbart@nginx.com 18691134Svbart@nginx.com 18701069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 18711069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 18721069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 18731069Svbart@nginx.com 18741069Svbart@nginx.com<change> 18751069Svbart@nginx.com<para> 18761069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 18771069Svbart@nginx.com</para> 18781069Svbart@nginx.com</change> 18791069Svbart@nginx.com 18801069Svbart@nginx.com</changes> 18811069Svbart@nginx.com 18821069Svbart@nginx.com 18831069Svbart@nginx.com<changes apply="unit-php 18841069Svbart@nginx.com unit-python unit-python2.7 18851069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 18861069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 18871069Svbart@nginx.com unit-perl 18881069Svbart@nginx.com unit-ruby 18891069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 18901069Svbart@nginx.com ver="1.9.0" rev="1" 18911069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 18921069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 18931069Svbart@nginx.com 18941069Svbart@nginx.com<change> 18951069Svbart@nginx.com<para> 18961069Svbart@nginx.comNGINX Unit updated to 1.9.0. 18971069Svbart@nginx.com</para> 18981069Svbart@nginx.com</change> 18991069Svbart@nginx.com 19001069Svbart@nginx.com</changes> 19011069Svbart@nginx.com 19021069Svbart@nginx.com 19031069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 19041069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 19051069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 19061069Svbart@nginx.com 19071069Svbart@nginx.com<change type="feature"> 19081069Svbart@nginx.com<para> 19091069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 19101069Svbart@nginx.com</para> 19111069Svbart@nginx.com</change> 19121069Svbart@nginx.com 19131069Svbart@nginx.com<change type="feature"> 19141069Svbart@nginx.com<para> 19151069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 19161069Svbart@nginx.com</para> 19171069Svbart@nginx.com</change> 19181069Svbart@nginx.com 19191069Svbart@nginx.com<change type="feature"> 19201069Svbart@nginx.com<para> 19211069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 19221069Svbart@nginx.com</para> 19231069Svbart@nginx.com</change> 19241069Svbart@nginx.com 19251069Svbart@nginx.com<change type="feature"> 19261069Svbart@nginx.com<para> 19271069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 19281069Svbart@nginx.comon Linux without running main process as privileged user. 19291069Svbart@nginx.com</para> 19301069Svbart@nginx.com</change> 19311069Svbart@nginx.com 19321069Svbart@nginx.com<change type="bugfix"> 19331069Svbart@nginx.com<para> 19341069Svbart@nginx.commemory leak in the router process might have happened when a client 19351069Svbart@nginx.comprematurely closed the connection. 19361069Svbart@nginx.com</para> 19371069Svbart@nginx.com</change> 19381069Svbart@nginx.com 19391069Svbart@nginx.com<change type="bugfix"> 19401069Svbart@nginx.com<para> 19411069Svbart@nginx.comapplying a large configuration might have failed. 19421069Svbart@nginx.com</para> 19431069Svbart@nginx.com</change> 19441069Svbart@nginx.com 19451069Svbart@nginx.com<change type="bugfix"> 19461069Svbart@nginx.com<para> 19471069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 19481069Svbart@nginx.com</para> 19491069Svbart@nginx.com</change> 19501069Svbart@nginx.com 19511069Svbart@nginx.com<change type="bugfix"> 19521069Svbart@nginx.com<para> 19531069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 19541069Svbart@nginx.com</para> 19551069Svbart@nginx.com</change> 19561069Svbart@nginx.com 19571069Svbart@nginx.com<change type="bugfix"> 19581069Svbart@nginx.com<para> 19591069Svbart@nginx.comrestored compatibility with Node.js applications that use 19601069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 19611069Svbart@nginx.com</para> 19621069Svbart@nginx.com</change> 19631069Svbart@nginx.com 19641069Svbart@nginx.com<change type="bugfix"> 19651069Svbart@nginx.com<para> 19661069Svbart@nginx.comvarious compatibility issues with Node.js applications. 19671069Svbart@nginx.com</para> 19681069Svbart@nginx.com</change> 19691069Svbart@nginx.com 19701069Svbart@nginx.com</changes> 19711069Svbart@nginx.com 19721069Svbart@nginx.com 1973991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1974991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1975991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1976991Svbart@nginx.com 1977991Svbart@nginx.com<change> 1978991Svbart@nginx.com<para> 1979991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1980991Svbart@nginx.com</para> 1981991Svbart@nginx.com</change> 1982991Svbart@nginx.com 1983991Svbart@nginx.com</changes> 1984991Svbart@nginx.com 1985991Svbart@nginx.com 1986991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1987991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1988991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1989991Svbart@nginx.com 1990991Svbart@nginx.com<change> 1991991Svbart@nginx.com<para> 1992991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1993991Svbart@nginx.com</para> 1994991Svbart@nginx.com</change> 1995991Svbart@nginx.com 1996991Svbart@nginx.com</changes> 1997991Svbart@nginx.com 1998991Svbart@nginx.com 1999991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 2000991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 2001991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2002991Svbart@nginx.com 2003991Svbart@nginx.com<change> 2004991Svbart@nginx.com<para> 2005991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 2006991Svbart@nginx.com</para> 2007991Svbart@nginx.com</change> 2008991Svbart@nginx.com 2009991Svbart@nginx.com</changes> 2010991Svbart@nginx.com 2011991Svbart@nginx.com 2012991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 2013991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 2014991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2015991Svbart@nginx.com 2016991Svbart@nginx.com<change> 2017991Svbart@nginx.com<para> 2018991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 2019991Svbart@nginx.com</para> 2020991Svbart@nginx.com</change> 2021991Svbart@nginx.com 2022991Svbart@nginx.com</changes> 2023991Svbart@nginx.com 2024991Svbart@nginx.com 2025991Svbart@nginx.com<changes apply="unit-php 2026991Svbart@nginx.com unit-python unit-python2.7 2027991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2028991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2029991Svbart@nginx.com unit-perl 2030991Svbart@nginx.com unit-ruby" 2031991Svbart@nginx.com ver="1.8.0" rev="1" 2032991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 2033991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2034991Svbart@nginx.com 2035991Svbart@nginx.com<change> 2036991Svbart@nginx.com<para> 2037991Svbart@nginx.comNGINX Unit updated to 1.8.0. 2038991Svbart@nginx.com</para> 2039991Svbart@nginx.com</change> 2040991Svbart@nginx.com 2041991Svbart@nginx.com</changes> 2042991Svbart@nginx.com 2043991Svbart@nginx.com 2044991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 2045991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 2046991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2047991Svbart@nginx.com 2048991Svbart@nginx.com<change type="change"> 2049991Svbart@nginx.com<para> 2050991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 2051991Svbart@nginx.comand patch versions. 2052991Svbart@nginx.com</para> 2053991Svbart@nginx.com</change> 2054991Svbart@nginx.com 2055991Svbart@nginx.com<change type="change"> 2056991Svbart@nginx.com<para> 2057991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 2058991Svbart@nginx.comthe query component. 2059991Svbart@nginx.com</para> 2060991Svbart@nginx.com</change> 2061991Svbart@nginx.com 2062991Svbart@nginx.com<change type="feature"> 2063991Svbart@nginx.com<para> 2064991Svbart@nginx.combasic internal request routing by Host, URI, and method. 2065991Svbart@nginx.com</para> 2066991Svbart@nginx.com</change> 2067991Svbart@nginx.com 2068991Svbart@nginx.com<change type="feature"> 2069991Svbart@nginx.com<para> 2070991Svbart@nginx.comexperimental support for Java Servlet Containers. 2071991Svbart@nginx.com</para> 2072991Svbart@nginx.com</change> 2073991Svbart@nginx.com 2074991Svbart@nginx.com<change type="bugfix"> 2075991Svbart@nginx.com<para> 2076991Svbart@nginx.comsegmentation fault might have occurred in the router process. 2077991Svbart@nginx.com</para> 2078991Svbart@nginx.com</change> 2079991Svbart@nginx.com 2080991Svbart@nginx.com<change type="bugfix"> 2081991Svbart@nginx.com<para> 2082991Svbart@nginx.comvarious potential memory leaks. 2083991Svbart@nginx.com</para> 2084991Svbart@nginx.com</change> 2085991Svbart@nginx.com 2086991Svbart@nginx.com<change type="bugfix"> 2087991Svbart@nginx.com<para> 2088991Svbart@nginx.comTLS connections might have stalled. 2089991Svbart@nginx.com</para> 2090991Svbart@nginx.com</change> 2091991Svbart@nginx.com 2092991Svbart@nginx.com<change type="bugfix"> 2093991Svbart@nginx.com<para> 2094991Svbart@nginx.comsome Perl applications might have failed to send the response body. 2095991Svbart@nginx.com</para> 2096991Svbart@nginx.com</change> 2097991Svbart@nginx.com 2098991Svbart@nginx.com<change type="bugfix"> 2099991Svbart@nginx.com<para> 2100991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 2101991Svbart@nginx.comthe bug had appeared in 1.5. 2102991Svbart@nginx.com</para> 2103991Svbart@nginx.com</change> 2104991Svbart@nginx.com 2105991Svbart@nginx.com<change type="bugfix"> 2106991Svbart@nginx.com<para> 2107991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 2108991Svbart@nginx.com</para> 2109991Svbart@nginx.com</change> 2110991Svbart@nginx.com 2111991Svbart@nginx.com</changes> 2112991Svbart@nginx.com 2113991Svbart@nginx.com 2114926Svbart@nginx.com<changes apply="unit-php 2115926Svbart@nginx.com unit-python unit-python2.7 2116926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2117926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2118926Svbart@nginx.com unit-perl 2119926Svbart@nginx.com unit-ruby" 2120926Svbart@nginx.com ver="1.7.1" rev="1" 2121926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 2122926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2123926Svbart@nginx.com 2124926Svbart@nginx.com<change> 2125926Svbart@nginx.com<para> 2126926Svbart@nginx.comNGINX Unit updated to 1.7.1. 2127926Svbart@nginx.com</para> 2128926Svbart@nginx.com</change> 2129926Svbart@nginx.com 2130926Svbart@nginx.com</changes> 2131926Svbart@nginx.com 2132926Svbart@nginx.com 2133926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 2134926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 2135926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2136926Svbart@nginx.com 2137926Svbart@nginx.com<change type="security"> 2138926Svbart@nginx.com<para> 2139926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 2140926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 2141926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 2142926Svbart@nginx.com</para> 2143926Svbart@nginx.com</change> 2144926Svbart@nginx.com 2145926Svbart@nginx.com<change type="bugfix"> 2146926Svbart@nginx.com<para> 2147926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 2148926Svbart@nginx.comthe bug had appeared in 1.7. 2149926Svbart@nginx.com</para> 2150926Svbart@nginx.com</change> 2151926Svbart@nginx.com 2152926Svbart@nginx.com</changes> 2153926Svbart@nginx.com 2154926Svbart@nginx.com 2155902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 2156902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 2157902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2158902Sdefan@nginx.com 2159902Sdefan@nginx.com<change> 2160902Sdefan@nginx.com<para> 2161902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 2162902Sdefan@nginx.com</para> 2163902Sdefan@nginx.com</change> 2164902Sdefan@nginx.com 2165902Sdefan@nginx.com</changes> 2166902Sdefan@nginx.com 2167902Sdefan@nginx.com 2168821Svbart@nginx.com<changes apply="unit-php 2169821Svbart@nginx.com unit-python unit-python2.7 2170821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2171821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2172821Svbart@nginx.com unit-perl 2173821Svbart@nginx.com unit-ruby" 2174886Svbart@nginx.com ver="1.7" rev="1" 2175886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 2176886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2177886Svbart@nginx.com 2178886Svbart@nginx.com<change> 2179886Svbart@nginx.com<para> 2180886Svbart@nginx.comNGINX Unit updated to 1.7. 2181886Svbart@nginx.com</para> 2182886Svbart@nginx.com</change> 2183886Svbart@nginx.com 2184886Svbart@nginx.com</changes> 2185886Svbart@nginx.com 2186886Svbart@nginx.com 2187886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 2188886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 2189886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2190886Svbart@nginx.com 2191886Svbart@nginx.com<change type="change"> 2192886Svbart@nginx.com<para> 2193886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 2194886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 2195886Svbart@nginx.com</para> 2196886Svbart@nginx.com</change> 2197886Svbart@nginx.com 2198886Svbart@nginx.com<change type="bugfix"> 2199886Svbart@nginx.com<para> 2200886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 2201886Svbart@nginx.comdid not work. 2202886Svbart@nginx.com</para> 2203886Svbart@nginx.com</change> 2204886Svbart@nginx.com 2205886Svbart@nginx.com<change type="bugfix"> 2206886Svbart@nginx.com<para> 2207886Svbart@nginx.comPromises on request data in Node.js were not triggered. 2208886Svbart@nginx.com</para> 2209886Svbart@nginx.com</change> 2210886Svbart@nginx.com 2211886Svbart@nginx.com<change type="bugfix"> 2212886Svbart@nginx.com<para> 2213886Svbart@nginx.comvarious compatibility issues with Node.js applications. 2214886Svbart@nginx.com</para> 2215886Svbart@nginx.com</change> 2216886Svbart@nginx.com 2217886Svbart@nginx.com<change type="bugfix"> 2218886Svbart@nginx.com<para> 2219886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 2220886Svbart@nginx.comrequest body after request.end() was called. 2221886Svbart@nginx.com</para> 2222886Svbart@nginx.com</change> 2223886Svbart@nginx.com 2224886Svbart@nginx.com<change type="bugfix"> 2225886Svbart@nginx.com<para> 2226886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 2227886Svbart@nginx.comsend header twice. 2228886Svbart@nginx.com</para> 2229886Svbart@nginx.com</change> 2230886Svbart@nginx.com 2231886Svbart@nginx.com<change type="bugfix"> 2232886Svbart@nginx.com<para> 2233886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 2234886Svbart@nginx.comcase-sensitive. 2235886Svbart@nginx.com</para> 2236886Svbart@nginx.com</change> 2237886Svbart@nginx.com 2238886Svbart@nginx.com<change type="bugfix"> 2239886Svbart@nginx.com<para> 2240886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 2241886Svbart@nginx.com</para> 2242886Svbart@nginx.com</change> 2243886Svbart@nginx.com 2244886Svbart@nginx.com<change type="bugfix"> 2245886Svbart@nginx.com<para> 2246886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 2247886Svbart@nginx.comthe bug had appeared in 1.6. 2248886Svbart@nginx.com</para> 2249886Svbart@nginx.com</change> 2250886Svbart@nginx.com 2251886Svbart@nginx.com<change type="bugfix"> 2252886Svbart@nginx.com<para> 2253886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 2254886Svbart@nginx.combe logged. 2255886Svbart@nginx.com</para> 2256886Svbart@nginx.com</change> 2257886Svbart@nginx.com 2258886Svbart@nginx.com<change type="bugfix"> 2259886Svbart@nginx.com<para> 2260886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 2261886Svbart@nginx.comenabled. 2262886Svbart@nginx.com</para> 2263886Svbart@nginx.com</change> 2264886Svbart@nginx.com 2265886Svbart@nginx.com</changes> 2266886Svbart@nginx.com 2267886Svbart@nginx.com 2268886Svbart@nginx.com<changes apply="unit-php 2269886Svbart@nginx.com unit-python unit-python2.7 2270886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2271886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2272886Svbart@nginx.com unit-perl 2273886Svbart@nginx.com unit-ruby" 2274846Svbart@nginx.com ver="1.6" rev="1" 2275846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2276846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2277846Svbart@nginx.com 2278846Svbart@nginx.com<change> 2279846Svbart@nginx.com<para> 2280846Svbart@nginx.comNGINX Unit updated to 1.6. 2281846Svbart@nginx.com</para> 2282846Svbart@nginx.com</change> 2283846Svbart@nginx.com 2284846Svbart@nginx.com</changes> 2285846Svbart@nginx.com 2286846Svbart@nginx.com 2287846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 2288846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2289846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2290846Svbart@nginx.com 2291846Svbart@nginx.com<change type="change"> 2292846Svbart@nginx.com<para> 2293846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 2294846Svbart@nginx.com</para> 2295846Svbart@nginx.com</change> 2296846Svbart@nginx.com 2297846Svbart@nginx.com<change type="feature"> 2298846Svbart@nginx.com<para> 2299846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 2300846Svbart@nginx.com</para> 2301846Svbart@nginx.com</change> 2302846Svbart@nginx.com 2303846Svbart@nginx.com<change type="bugfix"> 2304846Svbart@nginx.com<para> 2305846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 2306846Svbart@nginx.com</para> 2307846Svbart@nginx.com</change> 2308846Svbart@nginx.com 2309846Svbart@nginx.com<change type="bugfix"> 2310846Svbart@nginx.com<para> 2311846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 2312846Svbart@nginx.com</para> 2313846Svbart@nginx.com</change> 2314846Svbart@nginx.com 2315846Svbart@nginx.com<change type="bugfix"> 2316846Svbart@nginx.com<para> 2317846Svbart@nginx.comvarious compatibility issues with Node.js applications. 2318846Svbart@nginx.com</para> 2319846Svbart@nginx.com</change> 2320846Svbart@nginx.com 2321846Svbart@nginx.com<change type="bugfix"> 2322846Svbart@nginx.com<para> 2323846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 2324846Svbart@nginx.com</para> 2325846Svbart@nginx.com</change> 2326846Svbart@nginx.com 2327846Svbart@nginx.com<change type="bugfix"> 2328846Svbart@nginx.com<para> 2329885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 2330846Svbart@nginx.com</para> 2331846Svbart@nginx.com</change> 2332846Svbart@nginx.com 2333846Svbart@nginx.com</changes> 2334846Svbart@nginx.com 2335846Svbart@nginx.com 2336846Svbart@nginx.com<changes apply="unit-php 2337846Svbart@nginx.com unit-python unit-python2.7 2338846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2339846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2340846Svbart@nginx.com unit-perl 2341846Svbart@nginx.com unit-ruby" 2342821Svbart@nginx.com ver="1.5" rev="1" 2343821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2344821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2345821Svbart@nginx.com 2346821Svbart@nginx.com<change> 2347821Svbart@nginx.com<para> 2348821Svbart@nginx.comNGINX Unit updated to 1.5. 2349821Svbart@nginx.com</para> 2350821Svbart@nginx.com</change> 2351821Svbart@nginx.com 2352821Svbart@nginx.com</changes> 2353821Svbart@nginx.com 2354821Svbart@nginx.com 2355820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 2356820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2357820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2358820Svbart@nginx.com 2359820Svbart@nginx.com<change type="change"> 2360820Svbart@nginx.com<para> 2361820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 2362820Svbart@nginx.com</para> 2363820Svbart@nginx.com</change> 2364820Svbart@nginx.com 2365820Svbart@nginx.com<change type="feature"> 2366820Svbart@nginx.com<para> 2367820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 2368820Svbart@nginx.com</para> 2369820Svbart@nginx.com</change> 2370820Svbart@nginx.com 2371820Svbart@nginx.com<change type="feature"> 2372820Svbart@nginx.com<para> 2373820Svbart@nginx.comcompatibility with LibreSSL. 2374820Svbart@nginx.com</para> 2375820Svbart@nginx.com</change> 2376820Svbart@nginx.com 2377820Svbart@nginx.com<change type="feature"> 2378820Svbart@nginx.com<para> 2379820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 2380820Svbart@nginx.comand static library. 2381820Svbart@nginx.com</para> 2382820Svbart@nginx.com</change> 2383820Svbart@nginx.com 2384820Svbart@nginx.com<change type="bugfix"> 2385820Svbart@nginx.com<para> 2386820Svbart@nginx.comconnection might be closed prematurely while sending response; 2387820Svbart@nginx.comthe bug had appeared in 1.3. 2388820Svbart@nginx.com</para> 2389820Svbart@nginx.com</change> 2390820Svbart@nginx.com 2391820Svbart@nginx.com<change type="bugfix"> 2392820Svbart@nginx.com<para> 2393820Svbart@nginx.comapplication processes might have stopped handling requests, producing 2394820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 2395820Svbart@nginx.comthe bug had appeared in 1.4. 2396820Svbart@nginx.com</para> 2397820Svbart@nginx.com</change> 2398820Svbart@nginx.com 2399820Svbart@nginx.com<change type="bugfix"> 2400820Svbart@nginx.com<para> 2401885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 2402820Svbart@nginx.com</para> 2403820Svbart@nginx.com</change> 2404820Svbart@nginx.com 2405820Svbart@nginx.com</changes> 2406820Svbart@nginx.com 2407820Svbart@nginx.com 2408689Svbart@nginx.com<changes apply="unit-php 2409689Svbart@nginx.com unit-python unit-python2.7 2410689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2411689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2412689Svbart@nginx.com unit-perl 2413689Svbart@nginx.com unit-ruby" 2414788Sdefan@nginx.com ver="1.4" rev="2" 2415788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2416788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2417788Sdefan@nginx.com 2418788Sdefan@nginx.com<change type="bugfix"> 2419788Sdefan@nginx.com<para> 2420788Sdefan@nginx.comcorrected instructions for launching sample application. 2421788Sdefan@nginx.com</para> 2422788Sdefan@nginx.com</change> 2423788Sdefan@nginx.com 2424788Sdefan@nginx.com</changes> 2425788Sdefan@nginx.com 2426788Sdefan@nginx.com 2427788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 2428788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2429788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2430788Sdefan@nginx.com 2431788Sdefan@nginx.com<change type="change"> 2432788Sdefan@nginx.com<para> 2433788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 2434788Sdefan@nginx.com</para> 2435788Sdefan@nginx.com</change> 2436788Sdefan@nginx.com 2437788Sdefan@nginx.com</changes> 2438788Sdefan@nginx.com 2439788Sdefan@nginx.com 2440788Sdefan@nginx.com<changes apply="unit-php 2441788Sdefan@nginx.com unit-python unit-python2.7 2442788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2443788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2444788Sdefan@nginx.com unit-perl 2445788Sdefan@nginx.com unit-ruby" 2446783Svbart@nginx.com ver="1.4" rev="1" 2447783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2448783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2449783Svbart@nginx.com 2450783Svbart@nginx.com<change> 2451783Svbart@nginx.com<para> 2452783Svbart@nginx.comNGINX Unit updated to 1.4. 2453783Svbart@nginx.com</para> 2454783Svbart@nginx.com</change> 2455783Svbart@nginx.com 2456783Svbart@nginx.com</changes> 2457783Svbart@nginx.com 2458783Svbart@nginx.com 2459783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 2460783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2461783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2462783Svbart@nginx.com 2463783Svbart@nginx.com<change type="change"> 2464783Svbart@nginx.com<para> 2465783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 2466783Svbart@nginx.com</para> 2467783Svbart@nginx.com</change> 2468783Svbart@nginx.com 2469783Svbart@nginx.com<change type="feature"> 2470783Svbart@nginx.com<para> 2471783Svbart@nginx.comTLS support for client connections. 2472783Svbart@nginx.com</para> 2473783Svbart@nginx.com</change> 2474783Svbart@nginx.com 2475783Svbart@nginx.com<change type="feature"> 2476783Svbart@nginx.com<para> 2477783Svbart@nginx.comTLS certificates storage control API. 2478783Svbart@nginx.com</para> 2479783Svbart@nginx.com</change> 2480783Svbart@nginx.com 2481783Svbart@nginx.com<change type="feature"> 2482783Svbart@nginx.com<para> 2483783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 2484783Svbart@nginx.com</para> 2485783Svbart@nginx.com</change> 2486783Svbart@nginx.com 2487783Svbart@nginx.com<change type="feature"> 2488783Svbart@nginx.com<para> 2489783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 2490783Svbart@nginx.com</para> 2491783Svbart@nginx.com</change> 2492783Svbart@nginx.com 2493783Svbart@nginx.com<change type="feature"> 2494783Svbart@nginx.com<para> 2495783Svbart@nginx.comimprovements in OpenBSD support. 2496783Svbart@nginx.comThanks to David Carlier. 2497783Svbart@nginx.com</para> 2498783Svbart@nginx.com</change> 2499783Svbart@nginx.com 2500783Svbart@nginx.com<change type="bugfix"> 2501783Svbart@nginx.com<para> 2502783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 2503783Svbart@nginx.com</para> 2504783Svbart@nginx.com</change> 2505783Svbart@nginx.com 2506783Svbart@nginx.com<change type="bugfix"> 2507783Svbart@nginx.com<para> 2508783Svbart@nginx.combuilding on systems with non-default locale might be broken. 2509783Svbart@nginx.com</para> 2510783Svbart@nginx.com</change> 2511783Svbart@nginx.com 2512783Svbart@nginx.com<change type="bugfix"> 2513783Svbart@nginx.com<para> 2514783Svbart@nginx.com"header_read_timeout" might not work properly. 2515783Svbart@nginx.com</para> 2516783Svbart@nginx.com</change> 2517783Svbart@nginx.com 2518783Svbart@nginx.com<change type="bugfix"> 2519783Svbart@nginx.com<para> 2520783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 2521783Svbart@nginx.comin Python 3 module. 2522783Svbart@nginx.com</para> 2523783Svbart@nginx.com</change> 2524783Svbart@nginx.com 2525783Svbart@nginx.com</changes> 2526783Svbart@nginx.com 2527783Svbart@nginx.com 2528783Svbart@nginx.com<changes apply="unit-php 2529783Svbart@nginx.com unit-python unit-python2.7 2530783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2531783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2532783Svbart@nginx.com unit-perl 2533783Svbart@nginx.com unit-ruby" 2534727Svbart@nginx.com ver="1.3" rev="1" 2535727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2536727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2537727Svbart@nginx.com 2538727Svbart@nginx.com<change> 2539727Svbart@nginx.com<para> 2540727Svbart@nginx.comNGINX Unit updated to 1.3. 2541727Svbart@nginx.com</para> 2542727Svbart@nginx.com</change> 2543727Svbart@nginx.com 2544727Svbart@nginx.com</changes> 2545727Svbart@nginx.com 2546727Svbart@nginx.com 2547727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 2548727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2549727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2550727Svbart@nginx.com 2551727Svbart@nginx.com<change type="change"> 2552727Svbart@nginx.com<para> 2553727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 2554727Svbart@nginx.com</para> 2555727Svbart@nginx.com</change> 2556727Svbart@nginx.com 2557727Svbart@nginx.com<change type="feature"> 2558727Svbart@nginx.com<para> 2559727Svbart@nginx.comconfiguration of the request body size limit. 2560727Svbart@nginx.com</para> 2561727Svbart@nginx.com</change> 2562727Svbart@nginx.com 2563727Svbart@nginx.com<change type="feature"> 2564727Svbart@nginx.com<para> 2565727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 2566727Svbart@nginx.com</para> 2567727Svbart@nginx.com</change> 2568727Svbart@nginx.com 2569727Svbart@nginx.com<change type="feature"> 2570727Svbart@nginx.com<para> 2571727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 2572727Svbart@nginx.com</para> 2573727Svbart@nginx.com</change> 2574727Svbart@nginx.com 2575727Svbart@nginx.com<change type="feature"> 2576727Svbart@nginx.com<para> 2577727Svbart@nginx.comhttp.Flusher interface in Go module. 2578727Svbart@nginx.com</para> 2579727Svbart@nginx.com</change> 2580727Svbart@nginx.com 2581727Svbart@nginx.com<change type="bugfix"> 2582727Svbart@nginx.com<para> 2583727Svbart@nginx.comvarious issues in HTTP connection errors handling. 2584727Svbart@nginx.com</para> 2585727Svbart@nginx.com</change> 2586727Svbart@nginx.com 2587727Svbart@nginx.com<change type="bugfix"> 2588727Svbart@nginx.com<para> 2589727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 2590727Svbart@nginx.com</para> 2591727Svbart@nginx.com</change> 2592727Svbart@nginx.com 2593727Svbart@nginx.com<change type="bugfix"> 2594727Svbart@nginx.com<para> 2595727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 2596727Svbart@nginx.comto previous values after the first request in application process. 2597727Svbart@nginx.com</para> 2598727Svbart@nginx.com</change> 2599727Svbart@nginx.com 2600727Svbart@nginx.com</changes> 2601727Svbart@nginx.com 2602727Svbart@nginx.com 2603727Svbart@nginx.com<changes apply="unit-php 2604727Svbart@nginx.com unit-python unit-python2.7 2605727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2606727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2607727Svbart@nginx.com unit-perl 2608727Svbart@nginx.com unit-ruby" 2609689Svbart@nginx.com ver="1.2" rev="1" 2610689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2611689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2612689Svbart@nginx.com 2613689Svbart@nginx.com<change> 2614689Svbart@nginx.com<para> 2615689Svbart@nginx.comNGINX Unit updated to 1.2. 2616689Svbart@nginx.com</para> 2617689Svbart@nginx.com</change> 2618689Svbart@nginx.com 2619689Svbart@nginx.com</changes> 2620689Svbart@nginx.com 2621689Svbart@nginx.com 2622689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 2623689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2624689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2625689Svbart@nginx.com 2626689Svbart@nginx.com<change type="feature"> 2627689Svbart@nginx.com<para> 2628689Svbart@nginx.comconfiguration of environment variables for application processes. 2629689Svbart@nginx.com</para> 2630689Svbart@nginx.com</change> 2631689Svbart@nginx.com 2632689Svbart@nginx.com<change type="feature"> 2633689Svbart@nginx.com<para> 2634689Svbart@nginx.comcustomization of php.ini path. 2635689Svbart@nginx.com</para> 2636689Svbart@nginx.com</change> 2637689Svbart@nginx.com 2638689Svbart@nginx.com<change type="feature"> 2639689Svbart@nginx.com<para> 2640689Svbart@nginx.comsetting of individual PHP configuration options. 2641689Svbart@nginx.com</para> 2642689Svbart@nginx.com</change> 2643689Svbart@nginx.com 2644689Svbart@nginx.com<change type="feature"> 2645689Svbart@nginx.com<para> 2646689Svbart@nginx.comconfiguration of execution arguments for Go applications. 2647689Svbart@nginx.com</para> 2648689Svbart@nginx.com</change> 2649689Svbart@nginx.com 2650689Svbart@nginx.com<change type="bugfix"> 2651689Svbart@nginx.com<para> 2652689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 2653689Svbart@nginx.com</para> 2654689Svbart@nginx.com</change> 2655689Svbart@nginx.com 2656689Svbart@nginx.com</changes> 2657689Svbart@nginx.com 2658689Svbart@nginx.com 2659672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 2660672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 2661672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2662672Sdefan@nginx.com 2663672Sdefan@nginx.com<change> 2664672Sdefan@nginx.com<para> 2665672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 2666672Sdefan@nginx.com</para> 2667672Sdefan@nginx.com</change> 2668672Sdefan@nginx.com 2669672Sdefan@nginx.com</changes> 2670672Sdefan@nginx.com 2671672Sdefan@nginx.com 2672548Sdefan@nginx.com<changes apply="unit-php 2673548Sdefan@nginx.com unit-python unit-python2.7 2674548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2675548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2676639Svbart@nginx.com unit-perl 2677639Svbart@nginx.com unit-ruby" 2678666Svbart@nginx.com ver="1.1" rev="1" 2679666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2680666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2681666Svbart@nginx.com 2682666Svbart@nginx.com<change> 2683666Svbart@nginx.com<para> 2684666Svbart@nginx.comNGINX Unit updated to 1.1. 2685666Svbart@nginx.com</para> 2686666Svbart@nginx.com</change> 2687666Svbart@nginx.com 2688666Svbart@nginx.com</changes> 2689666Svbart@nginx.com 2690666Svbart@nginx.com 2691666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 2692666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2693666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2694666Svbart@nginx.com 2695666Svbart@nginx.com<change type="bugfix"> 2696666Svbart@nginx.com<para> 2697666Svbart@nginx.comPython applications that use the write() callable did not work. 2698666Svbart@nginx.com</para> 2699666Svbart@nginx.com</change> 2700666Svbart@nginx.com 2701666Svbart@nginx.com<change type="bugfix"> 2702666Svbart@nginx.com<para> 2703666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2704666Svbart@nginx.com</para> 2705666Svbart@nginx.com</change> 2706666Svbart@nginx.com 2707666Svbart@nginx.com<change type="bugfix"> 2708666Svbart@nginx.com<para> 2709666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2710666Svbart@nginx.comwhen the whole body was read. 2711666Svbart@nginx.com</para> 2712666Svbart@nginx.com</change> 2713666Svbart@nginx.com 2714666Svbart@nginx.com<change type="bugfix"> 2715666Svbart@nginx.com<para> 2716666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2717666Svbart@nginx.com</para> 2718666Svbart@nginx.com</change> 2719666Svbart@nginx.com 2720666Svbart@nginx.com<change type="bugfix"> 2721666Svbart@nginx.com<para> 2722666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2723666Svbart@nginx.com</para> 2724666Svbart@nginx.com</change> 2725666Svbart@nginx.com 2726666Svbart@nginx.com<change type="bugfix"> 2727666Svbart@nginx.com<para> 2728666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2729666Svbart@nginx.com</para> 2730666Svbart@nginx.com</change> 2731666Svbart@nginx.com 2732666Svbart@nginx.com<change type="bugfix"> 2733666Svbart@nginx.com<para> 2734666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2735666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2736666Svbart@nginx.com</para> 2737666Svbart@nginx.com</change> 2738666Svbart@nginx.com 2739666Svbart@nginx.com<change type="bugfix"> 2740666Svbart@nginx.com<para> 2741666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2742666Svbart@nginx.comon 32-bit platforms. 2743666Svbart@nginx.com</para> 2744666Svbart@nginx.com</change> 2745666Svbart@nginx.com 2746666Svbart@nginx.com</changes> 2747666Svbart@nginx.com 2748666Svbart@nginx.com 2749666Svbart@nginx.com<changes apply="unit-php 2750666Svbart@nginx.com unit-python unit-python2.7 2751666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2752666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2753666Svbart@nginx.com unit-perl 2754666Svbart@nginx.com unit-ruby" 2755639Svbart@nginx.com ver="1.0" rev="1" 2756639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2757639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2758639Svbart@nginx.com 2759639Svbart@nginx.com<change> 2760639Svbart@nginx.com<para> 2761639Svbart@nginx.comNGINX Unit updated to 1.0. 2762639Svbart@nginx.com</para> 2763639Svbart@nginx.com</change> 2764639Svbart@nginx.com 2765639Svbart@nginx.com</changes> 2766639Svbart@nginx.com 2767639Svbart@nginx.com 2768639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2769639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2770639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2771639Svbart@nginx.com 2772639Svbart@nginx.com<change type="change"> 2773639Svbart@nginx.com<para> 2774639Svbart@nginx.comconfiguration object moved into "/config/" path. 2775639Svbart@nginx.com</para> 2776639Svbart@nginx.com</change> 2777639Svbart@nginx.com 2778639Svbart@nginx.com<change type="feature"> 2779639Svbart@nginx.com<para> 2780639Svbart@nginx.combasic access logging. 2781639Svbart@nginx.com</para> 2782639Svbart@nginx.com</change> 2783639Svbart@nginx.com 2784639Svbart@nginx.com<change type="bugfix"> 2785639Svbart@nginx.com<para> 2786639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2787639Svbart@nginx.com</para> 2788639Svbart@nginx.com</change> 2789639Svbart@nginx.com 2790639Svbart@nginx.com<change type="bugfix"> 2791639Svbart@nginx.com<para> 2792663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2793639Svbart@nginx.com</para> 2794639Svbart@nginx.com</change> 2795639Svbart@nginx.com 2796639Svbart@nginx.com<change type="bugfix"> 2797639Svbart@nginx.com<para> 2798639Svbart@nginx.comvarious stability issues. 2799639Svbart@nginx.com</para> 2800639Svbart@nginx.com</change> 2801639Svbart@nginx.com 2802639Svbart@nginx.com</changes> 2803639Svbart@nginx.com 2804639Svbart@nginx.com 2805639Svbart@nginx.com<changes apply="unit-php 2806639Svbart@nginx.com unit-python unit-python2.7 2807639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2808639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2809548Sdefan@nginx.com unit-perl" 2810586Svbart@nginx.com ver="0.7" rev="1" 2811586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2812586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2813586Svbart@nginx.com 2814586Svbart@nginx.com<change> 2815586Svbart@nginx.com<para> 2816586Svbart@nginx.comNGINX Unit updated to 0.7. 2817586Svbart@nginx.com</para> 2818586Svbart@nginx.com</change> 2819586Svbart@nginx.com 2820586Svbart@nginx.com</changes> 2821586Svbart@nginx.com 2822586Svbart@nginx.com 2823600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2824600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2825600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2826600Sdefan@nginx.com 2827600Sdefan@nginx.com<change> 2828600Sdefan@nginx.com<para> 2829600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2830600Sdefan@nginx.com</para> 2831600Sdefan@nginx.com</change> 2832600Sdefan@nginx.com 2833600Sdefan@nginx.com</changes> 2834600Sdefan@nginx.com 2835600Sdefan@nginx.com 2836586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2837586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2838586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2839586Svbart@nginx.com 2840586Svbart@nginx.com<change type="feature"> 2841586Svbart@nginx.com<para> 2842586Svbart@nginx.comRuby application module. 2843586Svbart@nginx.com</para> 2844586Svbart@nginx.com</change> 2845586Svbart@nginx.com 2846586Svbart@nginx.com<change type="bugfix"> 2847586Svbart@nginx.com<para> 2848586Svbart@nginx.comin discovering modules. 2849586Svbart@nginx.com</para> 2850586Svbart@nginx.com</change> 2851586Svbart@nginx.com 2852586Svbart@nginx.com<change type="bugfix"> 2853586Svbart@nginx.com<para> 2854586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2855586Svbart@nginx.com</para> 2856586Svbart@nginx.com</change> 2857586Svbart@nginx.com 2858586Svbart@nginx.com<change type="bugfix"> 2859586Svbart@nginx.com<para> 2860586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2861586Svbart@nginx.com</para> 2862586Svbart@nginx.com</change> 2863586Svbart@nginx.com 2864586Svbart@nginx.com<change type="bugfix"> 2865586Svbart@nginx.com<para> 2866586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2867586Svbart@nginx.comoutside of WSGI callable. 2868586Svbart@nginx.com</para> 2869586Svbart@nginx.com</change> 2870586Svbart@nginx.com 2871586Svbart@nginx.com<change type="bugfix"> 2872586Svbart@nginx.com<para> 2873663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2874663Svbart@nginx.comwhile initialization. 2875586Svbart@nginx.com</para> 2876586Svbart@nginx.com</change> 2877586Svbart@nginx.com 2878586Svbart@nginx.com</changes> 2879586Svbart@nginx.com 2880586Svbart@nginx.com 2881586Svbart@nginx.com<changes apply="unit-php 2882586Svbart@nginx.com unit-python unit-python2.7 2883586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2884586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2885586Svbart@nginx.com unit-perl" 2886548Sdefan@nginx.com ver="0.6" rev="1" 2887539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2888539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2889539Svbart@nginx.com 2890539Svbart@nginx.com<change> 2891539Svbart@nginx.com<para> 2892539Svbart@nginx.comNGINX Unit updated to 0.6. 2893539Svbart@nginx.com</para> 2894539Svbart@nginx.com</change> 2895539Svbart@nginx.com 2896539Svbart@nginx.com</changes> 2897539Svbart@nginx.com 2898539Svbart@nginx.com 2899539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2900539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2901539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2902539Svbart@nginx.com 2903539Svbart@nginx.com<change type="bugfix"> 2904539Svbart@nginx.com<para> 2905539Svbart@nginx.comthe main process died when the "type" application option contained version; 2906539Svbart@nginx.comthe bug had appeared in 0.5. 2907539Svbart@nginx.com</para> 2908539Svbart@nginx.com</change> 2909539Svbart@nginx.com 2910539Svbart@nginx.com</changes> 2911539Svbart@nginx.com 2912539Svbart@nginx.com 2913548Sdefan@nginx.com<changes apply="unit-php 2914548Sdefan@nginx.com unit-python unit-python2.7 2915548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2916548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2917548Sdefan@nginx.com ver="0.5" rev="1" 2918531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2919531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2920531Svbart@nginx.com 2921531Svbart@nginx.com<change> 2922531Svbart@nginx.com<para> 2923531Svbart@nginx.comNGINX Unit updated to 0.5. 2924531Svbart@nginx.com</para> 2925531Svbart@nginx.com</change> 2926531Svbart@nginx.com 2927531Svbart@nginx.com</changes> 2928531Svbart@nginx.com 2929531Svbart@nginx.com 2930524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2931531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2932524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2933524Sdefan@nginx.com 2934524Sdefan@nginx.com<change> 2935524Sdefan@nginx.com<para> 2936524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2937524Sdefan@nginx.com</para> 2938524Sdefan@nginx.com</change> 2939524Sdefan@nginx.com 2940524Sdefan@nginx.com</changes> 2941524Sdefan@nginx.com 2942524Sdefan@nginx.com 2943531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2944531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2945531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2946531Svbart@nginx.com 2947531Svbart@nginx.com<change type="change"> 2948531Svbart@nginx.com<para> 2949531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2950531Svbart@nginx.comapplication option should be used instead. 2951531Svbart@nginx.com</para> 2952531Svbart@nginx.com</change> 2953531Svbart@nginx.com 2954531Svbart@nginx.com<change type="feature"> 2955531Svbart@nginx.com<para> 2956531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2957531Svbart@nginx.comprocess management support. 2958531Svbart@nginx.com</para> 2959531Svbart@nginx.com</change> 2960531Svbart@nginx.com 2961531Svbart@nginx.com<change type="feature"> 2962531Svbart@nginx.com<para> 2963531Svbart@nginx.comPerl application module. 2964531Svbart@nginx.com</para> 2965531Svbart@nginx.com</change> 2966531Svbart@nginx.com 2967531Svbart@nginx.com<change type="bugfix"> 2968531Svbart@nginx.com<para> 2969531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2970531Svbart@nginx.com</para> 2971531Svbart@nginx.com</change> 2972531Svbart@nginx.com 2973531Svbart@nginx.com<change type="bugfix"> 2974531Svbart@nginx.com<para> 2975663Svbart@nginx.comsome Python applications might not have worked due to missing 2976531Svbart@nginx.com"wsgi.errors" environ variable. 2977531Svbart@nginx.com</para> 2978531Svbart@nginx.com</change> 2979531Svbart@nginx.com 2980531Svbart@nginx.com<change type="bugfix"> 2981531Svbart@nginx.com<para> 2982531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2983531Svbart@nginx.complatforms. 2984531Svbart@nginx.com</para> 2985531Svbart@nginx.com</change> 2986531Svbart@nginx.com 2987531Svbart@nginx.com<change type="bugfix"> 2988531Svbart@nginx.com<para> 2989531Svbart@nginx.cominfinite looping in HTTP parser. 2990531Svbart@nginx.com</para> 2991531Svbart@nginx.com</change> 2992531Svbart@nginx.com 2993531Svbart@nginx.com<change type="bugfix"> 2994531Svbart@nginx.com<para> 2995531Svbart@nginx.comsegmentation fault in router. 2996531Svbart@nginx.com</para> 2997531Svbart@nginx.com</change> 2998531Svbart@nginx.com 2999531Svbart@nginx.com</changes> 3000531Svbart@nginx.com 3001531Svbart@nginx.com 3002548Sdefan@nginx.com<changes apply="unit-php 3003548Sdefan@nginx.com unit-python unit-python2.7 3004548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3005548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 3006548Sdefan@nginx.com ver="0.4" rev="1" 3007469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 3008469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3009469Sigor@sysoev.ru 3010469Sigor@sysoev.ru<change> 3011469Sigor@sysoev.ru<para> 3012469Sigor@sysoev.ruNGINX Unit updated to 0.4. 3013469Sigor@sysoev.ru</para> 3014469Sigor@sysoev.ru</change> 3015469Sigor@sysoev.ru 3016469Sigor@sysoev.ru</changes> 3017469Sigor@sysoev.ru 3018469Sigor@sysoev.ru 3019469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 3020469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 3021469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3022469Sigor@sysoev.ru 3023469Sigor@sysoev.ru<change type="feature"> 3024469Sigor@sysoev.ru<para> 3025469Sigor@sysoev.rucompatibility with DragonFly BSD. 3026469Sigor@sysoev.ru</para> 3027469Sigor@sysoev.ru</change> 3028469Sigor@sysoev.ru 3029469Sigor@sysoev.ru<change type="feature"> 3030469Sigor@sysoev.ru<para> 3031469Sigor@sysoev.ru"configure php --lib-static" option. 3032469Sigor@sysoev.ru</para> 3033469Sigor@sysoev.ru</change> 3034469Sigor@sysoev.ru 3035469Sigor@sysoev.ru<change type="bugfix"> 3036469Sigor@sysoev.ru<para> 3037469Sigor@sysoev.ruHTTP request body was not passed to application; 3038469Sigor@sysoev.ruthe bug had appeared in 0.3. 3039469Sigor@sysoev.ru</para> 3040469Sigor@sysoev.ru</change> 3041469Sigor@sysoev.ru 3042469Sigor@sysoev.ru<change type="bugfix"> 3043469Sigor@sysoev.ru<para> 3044469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 3045469Sigor@sysoev.ruthe bug had appeared in 0.3. 3046469Sigor@sysoev.ru</para> 3047469Sigor@sysoev.ru</change> 3048469Sigor@sysoev.ru 3049469Sigor@sysoev.ru<change type="bugfix"> 3050469Sigor@sysoev.ru<para> 3051663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 3052469Sigor@sysoev.ru</para> 3053469Sigor@sysoev.ru</change> 3054469Sigor@sysoev.ru 3055469Sigor@sysoev.ru</changes> 3056469Sigor@sysoev.ru 3057469Sigor@sysoev.ru 3058441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 3059441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 3060441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3061441Sdefan@nginx.com 3062441Sdefan@nginx.com<change> 3063441Sdefan@nginx.com<para> 3064441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 3065441Sdefan@nginx.com</para> 3066441Sdefan@nginx.com</change> 3067441Sdefan@nginx.com 3068441Sdefan@nginx.com</changes> 3069441Sdefan@nginx.com 3070441Sdefan@nginx.com 3071441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 3072441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 3073441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3074441Sdefan@nginx.com 3075441Sdefan@nginx.com<change> 3076441Sdefan@nginx.com<para> 3077441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 3078441Sdefan@nginx.com</para> 3079441Sdefan@nginx.com</change> 3080441Sdefan@nginx.com 3081441Sdefan@nginx.com</changes> 3082441Sdefan@nginx.com 3083441Sdefan@nginx.com 3084548Sdefan@nginx.com<changes apply="unit-php 3085548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 3086548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 3087548Sdefan@nginx.com ver="0.3" rev="1" 3088432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 3089432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3090432Sigor@sysoev.ru 3091432Sigor@sysoev.ru<change> 3092432Sigor@sysoev.ru<para> 3093432Sigor@sysoev.ruNGINX Unit updated to 0.3. 3094432Sigor@sysoev.ru</para> 3095432Sigor@sysoev.ru</change> 3096432Sigor@sysoev.ru 3097432Sigor@sysoev.ru</changes> 3098432Sigor@sysoev.ru 3099432Sigor@sysoev.ru 3100432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 3101432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 3102432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3103432Sigor@sysoev.ru 3104432Sigor@sysoev.ru<change type="change"> 3105432Sigor@sysoev.ru<para> 3106432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 3107432Sigor@sysoev.ru</para> 3108432Sigor@sysoev.ru</change> 3109432Sigor@sysoev.ru 3110432Sigor@sysoev.ru<change type="change"> 3111432Sigor@sysoev.ru<para> 3112432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 3113432Sigor@sysoev.rutime in queue now are not accounted. 3114432Sigor@sysoev.ru</para> 3115432Sigor@sysoev.ru</change> 3116432Sigor@sysoev.ru 3117432Sigor@sysoev.ru<change type="feature"> 3118432Sigor@sysoev.ru<para> 3119432Sigor@sysoev.ruthe "limits.requests" application option. 3120432Sigor@sysoev.ru</para> 3121432Sigor@sysoev.ru</change> 3122432Sigor@sysoev.ru 3123432Sigor@sysoev.ru<change type="feature"> 3124432Sigor@sysoev.ru<para> 3125432Sigor@sysoev.ruapplication request processing latency optimization. 3126432Sigor@sysoev.ru</para> 3127432Sigor@sysoev.ru</change> 3128432Sigor@sysoev.ru 3129432Sigor@sysoev.ru<change type="feature"> 3130432Sigor@sysoev.ru<para> 3131432Sigor@sysoev.ruHTTP keep-alive connections support. 3132432Sigor@sysoev.ru</para> 3133432Sigor@sysoev.ru</change> 3134432Sigor@sysoev.ru 3135432Sigor@sysoev.ru<change type="feature"> 3136432Sigor@sysoev.ru<para> 3137432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 3138432Sigor@sysoev.ru</para> 3139432Sigor@sysoev.ru</change> 3140432Sigor@sysoev.ru 3141432Sigor@sysoev.ru<change type="feature"> 3142432Sigor@sysoev.ru<para> 3143432Sigor@sysoev.ruPython atexit hook support. 3144432Sigor@sysoev.ru</para> 3145432Sigor@sysoev.ru</change> 3146432Sigor@sysoev.ru 3147432Sigor@sysoev.ru<change type="feature"> 3148432Sigor@sysoev.ru<para> 3149432Sigor@sysoev.ruvarious Go package improvements. 3150432Sigor@sysoev.ru</para> 3151432Sigor@sysoev.ru</change> 3152432Sigor@sysoev.ru 3153432Sigor@sysoev.ru<change type="bugfix"> 3154432Sigor@sysoev.ru<para> 3155432Sigor@sysoev.ruvarious crashes fixed. 3156432Sigor@sysoev.ru</para> 3157432Sigor@sysoev.ru</change> 3158432Sigor@sysoev.ru 3159432Sigor@sysoev.ru</changes> 3160432Sigor@sysoev.ru 3161432Sigor@sysoev.ru 3162372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 3163372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3164372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3165372Sdefan@nginx.com 3166372Sdefan@nginx.com<change> 3167372Sdefan@nginx.com<para> 3168372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 3169372Sdefan@nginx.com</para> 3170372Sdefan@nginx.com</change> 3171372Sdefan@nginx.com 3172372Sdefan@nginx.com</changes> 3173372Sdefan@nginx.com 3174372Sdefan@nginx.com 3175373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 3176373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3177373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3178373Sdefan@nginx.com 3179373Sdefan@nginx.com<change> 3180373Sdefan@nginx.com<para> 3181373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 3182373Sdefan@nginx.com</para> 3183373Sdefan@nginx.com</change> 3184373Sdefan@nginx.com 3185373Sdefan@nginx.com</changes> 3186373Sdefan@nginx.com 3187373Sdefan@nginx.com 3188373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 3189373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3190373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3191373Sdefan@nginx.com 3192373Sdefan@nginx.com<change> 3193373Sdefan@nginx.com<para> 3194373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 3195373Sdefan@nginx.com</para> 3196373Sdefan@nginx.com</change> 3197373Sdefan@nginx.com 3198373Sdefan@nginx.com</changes> 3199373Sdefan@nginx.com 3200373Sdefan@nginx.com 3201372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 3202372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3203372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3204372Sdefan@nginx.com 3205372Sdefan@nginx.com<change> 3206372Sdefan@nginx.com<para> 3207372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 3208372Sdefan@nginx.com</para> 3209372Sdefan@nginx.com</change> 3210372Sdefan@nginx.com 3211372Sdefan@nginx.com</changes> 3212372Sdefan@nginx.com 3213372Sdefan@nginx.com 3214373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 3215373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3216373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3217373Sdefan@nginx.com 3218373Sdefan@nginx.com<change> 3219373Sdefan@nginx.com<para> 3220373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 3221373Sdefan@nginx.com</para> 3222373Sdefan@nginx.com</change> 3223373Sdefan@nginx.com 3224373Sdefan@nginx.com</changes> 3225373Sdefan@nginx.com 3226373Sdefan@nginx.com 3227373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 3228373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3229373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3230373Sdefan@nginx.com 3231373Sdefan@nginx.com<change> 3232373Sdefan@nginx.com<para> 3233373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 3234373Sdefan@nginx.com</para> 3235373Sdefan@nginx.com</change> 3236373Sdefan@nginx.com 3237373Sdefan@nginx.com</changes> 3238373Sdefan@nginx.com 3239373Sdefan@nginx.com 3240373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 3241373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3242373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3243373Sdefan@nginx.com 3244373Sdefan@nginx.com<change> 3245373Sdefan@nginx.com<para> 3246373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 3247373Sdefan@nginx.com</para> 3248373Sdefan@nginx.com</change> 3249373Sdefan@nginx.com 3250373Sdefan@nginx.com</changes> 3251373Sdefan@nginx.com 3252373Sdefan@nginx.com 3253372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 3254372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3255372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3256372Sdefan@nginx.com 3257372Sdefan@nginx.com<change> 3258372Sdefan@nginx.com<para> 3259372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 3260372Sdefan@nginx.com</para> 3261372Sdefan@nginx.com</change> 3262372Sdefan@nginx.com 3263372Sdefan@nginx.com</changes> 3264372Sdefan@nginx.com 3265372Sdefan@nginx.com 3266370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 3267370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 3268370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3269370Sigor@sysoev.ru 3270370Sigor@sysoev.ru<change type="feature"> 3271370Sigor@sysoev.ru<para> 3272370Sigor@sysoev.ruconfiguration persistence. 3273370Sigor@sysoev.ru</para> 3274370Sigor@sysoev.ru</change> 3275370Sigor@sysoev.ru 3276370Sigor@sysoev.ru<change type="feature"> 3277370Sigor@sysoev.ru<para> 3278370Sigor@sysoev.ruimproved handling of configuration errors. 3279370Sigor@sysoev.ru</para> 3280370Sigor@sysoev.ru</change> 3281370Sigor@sysoev.ru 3282370Sigor@sysoev.ru<change type="feature"> 3283370Sigor@sysoev.ru<para> 3284370Sigor@sysoev.ruapplication "timeout" property. 3285370Sigor@sysoev.ru</para> 3286370Sigor@sysoev.ru</change> 3287370Sigor@sysoev.ru 3288370Sigor@sysoev.ru<change type="bugfix"> 3289370Sigor@sysoev.ru<para> 3290370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 3291370Sigor@sysoev.ru</para> 3292370Sigor@sysoev.ru</change> 3293370Sigor@sysoev.ru 3294370Sigor@sysoev.ru<change type="bugfix"> 3295370Sigor@sysoev.ru<para> 3296370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 3297370Sigor@sysoev.ru</para> 3298370Sigor@sysoev.ru</change> 3299370Sigor@sysoev.ru 3300370Sigor@sysoev.ru<change type="bugfix"> 3301370Sigor@sysoev.ru<para> 3302370Sigor@sysoev.ruthe router crashed under load. 3303370Sigor@sysoev.ru</para> 3304370Sigor@sysoev.ru</change> 3305370Sigor@sysoev.ru 3306370Sigor@sysoev.ru<change type="bugfix"> 3307370Sigor@sysoev.ru<para> 3308370Sigor@sysoev.rumemory leak in the router. 3309370Sigor@sysoev.ru</para> 3310370Sigor@sysoev.ru</change> 3311370Sigor@sysoev.ru 3312370Sigor@sysoev.ru</changes> 3313370Sigor@sysoev.ru 3314370Sigor@sysoev.ru 3315369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 3316369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 3317369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3318369Sdefan@nginx.com 3319369Sdefan@nginx.com<change> 3320369Sdefan@nginx.com<para> 3321369Sdefan@nginx.comFirst public release. 3322369Sdefan@nginx.com</para> 3323369Sdefan@nginx.com</change> 3324369Sdefan@nginx.com 3325369Sdefan@nginx.com</changes> 3326369Sdefan@nginx.com 3327369Sdefan@nginx.com 3328369Sdefan@nginx.com</change_log> 3329