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 81973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1" 91973Sdefan@nginx.com date="" time="" 101973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 111973Sdefan@nginx.com 121973Sdefan@nginx.com<change> 131973Sdefan@nginx.com<para> 141973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit. 151973Sdefan@nginx.com</para> 161973Sdefan@nginx.com</change> 171973Sdefan@nginx.com 181973Sdefan@nginx.com</changes> 191973Sdefan@nginx.com 201973Sdefan@nginx.com 211973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1" 221973Sdefan@nginx.com date="" time="" 231973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 241973Sdefan@nginx.com 251973Sdefan@nginx.com<change> 261973Sdefan@nginx.com<para> 271973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit. 281973Sdefan@nginx.com</para> 291973Sdefan@nginx.com</change> 301973Sdefan@nginx.com 311973Sdefan@nginx.com</changes> 321973Sdefan@nginx.com 331973Sdefan@nginx.com 341896Svbart@nginx.com<changes apply="unit-php 351896Svbart@nginx.com unit-python unit-python2.7 361896Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 371896Svbart@nginx.com unit-python3.8 unit-python3.9 381896Svbart@nginx.com unit-go 391896Svbart@nginx.com unit-perl 401896Svbart@nginx.com unit-ruby 411896Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 421896Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 431951Svbart@nginx.com ver="1.26.0" rev="1" 441951Svbart@nginx.com date="" time="" 451951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 461951Svbart@nginx.com 471951Svbart@nginx.com<change> 481951Svbart@nginx.com<para> 491951Svbart@nginx.comNGINX Unit updated to 1.26.0. 501951Svbart@nginx.com</para> 511951Svbart@nginx.com</change> 521951Svbart@nginx.com 531951Svbart@nginx.com</changes> 541951Svbart@nginx.com 551951Svbart@nginx.com 561951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1" 571951Svbart@nginx.com date="" time="" 581951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 591951Svbart@nginx.com 601960Sz.hong@f5.com<change type="change"> 611960Sz.hong@f5.com<para> 621960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves, 631960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI. 641960Sz.hong@f5.com</para> 651960Sz.hong@f5.com</change> 661960Sz.hong@f5.com 671960Sz.hong@f5.com<change type="feature"> 681960Sz.hong@f5.com<para> 69*2006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior 70*2006Svbart@nginx.comwhen updating from previous versions. 71*2006Svbart@nginx.com</para> 72*2006Svbart@nginx.com</change> 73*2006Svbart@nginx.com 74*2006Svbart@nginx.com<change type="feature"> 75*2006Svbart@nginx.com<para> 761960Sz.hong@f5.comvariables support in the "share" option. 771960Sz.hong@f5.com</para> 781960Sz.hong@f5.com</change> 791960Sz.hong@f5.com 801959Sz.hong@f5.com<change type="feature"> 811959Sz.hong@f5.com<para> 821961Sz.hong@f5.commultiple paths in the "share" option. 831961Sz.hong@f5.com</para> 841961Sz.hong@f5.com</change> 851961Sz.hong@f5.com 861961Sz.hong@f5.com<change type="feature"> 871961Sz.hong@f5.com<para> 881959Sz.hong@f5.comvariables support in the "chroot" option. 891959Sz.hong@f5.com</para> 901959Sz.hong@f5.com</change> 911959Sz.hong@f5.com 921969Sz.hong@f5.com<change type="feature"> 931969Sz.hong@f5.com<para> 94*2006Svbart@nginx.comPHP opcache is shared between application processes. 951969Sz.hong@f5.com</para> 961969Sz.hong@f5.com</change> 971969Sz.hong@f5.com 981991Sz.hong@f5.com<change type="feature"> 991991Sz.hong@f5.com<para> 1001991Sz.hong@f5.comrequest routing by the query string. 1011991Sz.hong@f5.com</para> 1021991Sz.hong@f5.com</change> 1031991Sz.hong@f5.com 1041955Smax.romanov@nginx.com<change type="bugfix"> 1051955Smax.romanov@nginx.com<para> 106*2006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached 107*2006Svbart@nginx.comby asynchronous or multithreaded apps. 1081955Smax.romanov@nginx.com</para> 1091955Smax.romanov@nginx.com</change> 1101955Smax.romanov@nginx.com 1111956Smax.romanov@nginx.com<change type="bugfix"> 1121956Smax.romanov@nginx.com<para> 1131956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client 1141956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured. 1151956Smax.romanov@nginx.com</para> 1161956Smax.romanov@nginx.com</change> 1171956Smax.romanov@nginx.com 1181992Smax.romanov@nginx.com<change type="bugfix"> 1191992Smax.romanov@nginx.com<para> 120*2006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35. 1211992Smax.romanov@nginx.com</para> 1221992Smax.romanov@nginx.com</change> 1231992Smax.romanov@nginx.com 1241951Svbart@nginx.com</changes> 1251951Svbart@nginx.com 1261951Svbart@nginx.com 1271951Svbart@nginx.com<changes apply="unit-php 1281951Svbart@nginx.com unit-python unit-python2.7 1291951Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1301951Svbart@nginx.com unit-python3.8 unit-python3.9 1311951Svbart@nginx.com unit-go 1321951Svbart@nginx.com unit-perl 1331951Svbart@nginx.com unit-ruby 1341951Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1351951Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 1361896Svbart@nginx.com ver="1.25.0" rev="1" 1371945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 1381896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1391896Svbart@nginx.com 1401896Svbart@nginx.com<change> 1411896Svbart@nginx.com<para> 1421896Svbart@nginx.comNGINX Unit updated to 1.25.0. 1431896Svbart@nginx.com</para> 1441896Svbart@nginx.com</change> 1451896Svbart@nginx.com 1461896Svbart@nginx.com</changes> 1471896Svbart@nginx.com 1481896Svbart@nginx.com 1491896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 1501945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 1511896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1521896Svbart@nginx.com 1531910So.canty@f5.com<change type="feature"> 1541910So.canty@f5.com<para> 1551944Svbart@nginx.comclient IP address replacement from a specified HTTP header field. 1561942Sa.suvorov@f5.com</para> 1571942Sa.suvorov@f5.com</change> 1581942Sa.suvorov@f5.com 1591942Sa.suvorov@f5.com<change type="feature"> 1601942Sa.suvorov@f5.com<para> 1611920Sa.suvorov@f5.comTLS sessions cache. 1621920Sa.suvorov@f5.com</para> 1631920Sa.suvorov@f5.com</change> 1641920Sa.suvorov@f5.com 1651920Sa.suvorov@f5.com<change type="feature"> 1661920Sa.suvorov@f5.com<para> 1671944Svbart@nginx.comTLS session tickets. 1681910So.canty@f5.com</para> 1691910So.canty@f5.com</change> 1701910So.canty@f5.com 1711926Smax.romanov@nginx.com<change type="feature"> 1721926Smax.romanov@nginx.com<para> 1731926Smax.romanov@nginx.comapplication restart control. 1741926Smax.romanov@nginx.com</para> 1751926Smax.romanov@nginx.com</change> 1761926Smax.romanov@nginx.com 1771936So.canty@f5.com<change type="feature"> 1781936So.canty@f5.com<para> 1791944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby. 1801936So.canty@f5.com</para> 1811936So.canty@f5.com</change> 1821936So.canty@f5.com 1831907Smax.romanov@nginx.com<change type="bugfix"> 1841907Smax.romanov@nginx.com<para> 1851944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners 1861944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0. 1871921Sa.suvorov@f5.com</para> 1881921Sa.suvorov@f5.com</change> 1891921Sa.suvorov@f5.com 1901921Sa.suvorov@f5.com<change type="bugfix"> 1911921Sa.suvorov@f5.com<para> 1921944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate 1931944Svbart@nginx.combundles in a listener if the client did not use SNI. 1941907Smax.romanov@nginx.com</para> 1951907Smax.romanov@nginx.com</change> 1961907Smax.romanov@nginx.com 1971907Smax.romanov@nginx.com<change type="bugfix"> 1981907Smax.romanov@nginx.com<para> 1991950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application 2001915Smax.romanov@nginx.comreconfiguration. 2011915Smax.romanov@nginx.com</para> 2021915Smax.romanov@nginx.com</change> 2031915Smax.romanov@nginx.com 2041915Smax.romanov@nginx.com<change type="bugfix"> 2051915Smax.romanov@nginx.com<para> 2061944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette 2071944Svbart@nginx.comframework. 2081944Svbart@nginx.com</para> 2091944Svbart@nginx.com</change> 2101944Svbart@nginx.com 2111944Svbart@nginx.com<change type="bugfix"> 2121944Svbart@nginx.com<para> 2131944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process 2141944Svbart@nginx.comstopped or crashed. 2151907Smax.romanov@nginx.com</para> 2161907Smax.romanov@nginx.com</change> 2171907Smax.romanov@nginx.com 2181909So.canty@f5.com<change type="bugfix"> 2191909So.canty@f5.com<para> 2201909So.canty@f5.comthe controller or router process could crash if the configuration contained 2211909So.canty@f5.coma full-form IPv6 in a listener address. 2221909So.canty@f5.com</para> 2231909So.canty@f5.com</change> 2241909So.canty@f5.com 2251916Smax.romanov@nginx.com<change type="bugfix"> 2261916Smax.romanov@nginx.com<para> 2271929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes" 2281929Sz.hong@f5.comor "upstreams" using a variable "pass" option. 2291929Sz.hong@f5.com</para> 2301929Sz.hong@f5.com</change> 2311929Sz.hong@f5.com 2321930So.canty@f5.com<change type="bugfix"> 2331930So.canty@f5.com<para> 2341944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source 2351944Svbart@nginx.comor destination address patterns. 2361930So.canty@f5.com</para> 2371930So.canty@f5.com</change> 2381930So.canty@f5.com 2391896Svbart@nginx.com</changes> 2401896Svbart@nginx.com 2411896Svbart@nginx.com 2421887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 2431891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 2441887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2451887Sdefan@nginx.com 2461887Sdefan@nginx.com<change> 2471887Sdefan@nginx.com<para> 2481887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit. 2491887Sdefan@nginx.com</para> 2501887Sdefan@nginx.com</change> 2511887Sdefan@nginx.com 2521887Sdefan@nginx.com</changes> 2531887Sdefan@nginx.com 2541887Sdefan@nginx.com 2551887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 2561891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 2571887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2581887Sdefan@nginx.com 2591887Sdefan@nginx.com<change> 2601887Sdefan@nginx.com<para> 2611887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 2621887Sdefan@nginx.com</para> 2631887Sdefan@nginx.com</change> 2641887Sdefan@nginx.com 2651887Sdefan@nginx.com</changes> 2661887Sdefan@nginx.com 2671887Sdefan@nginx.com 2681834Svbart@nginx.com<changes apply="unit-php 2691834Svbart@nginx.com unit-python unit-python2.7 2701834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2711834Svbart@nginx.com unit-python3.8 unit-python3.9 2721834Svbart@nginx.com unit-go 2731834Svbart@nginx.com unit-perl 2741834Svbart@nginx.com unit-ruby 2751834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 2761834Svbart@nginx.com unit-jsc14 unit-jsc15" 2771839Svbart@nginx.com ver="1.24.0" rev="1" 2781891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 2791839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2801839Svbart@nginx.com 2811839Svbart@nginx.com<change> 2821839Svbart@nginx.com<para> 2831839Svbart@nginx.comNGINX Unit updated to 1.24.0. 2841839Svbart@nginx.com</para> 2851839Svbart@nginx.com</change> 2861839Svbart@nginx.com 2871839Svbart@nginx.com</changes> 2881839Svbart@nginx.com 2891839Svbart@nginx.com 2901839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 2911891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 2921839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2931839Svbart@nginx.com 2941882So.canty@f5.com<change type="change"> 2951882So.canty@f5.com<para> 2961882So.canty@f5.comPHP added to the default MIME type list. 2971882So.canty@f5.com</para> 2981882So.canty@f5.com</change> 2991882So.canty@f5.com 3001855Sz.hong@f5.com<change type="feature"> 3011855Sz.hong@f5.com<para> 3021885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands. 3031885Sa.suvorov@f5.com</para> 3041885Sa.suvorov@f5.com</change> 3051885Sa.suvorov@f5.com 3061885Sa.suvorov@f5.com<change type="feature"> 3071885Sa.suvorov@f5.com<para> 3081890Svbart@nginx.comthe ability to limit static file serving by MIME types. 3091890Svbart@nginx.com</para> 3101890Svbart@nginx.com</change> 3111890Svbart@nginx.com 3121890Svbart@nginx.com<change type="feature"> 3131890Svbart@nginx.com<para> 3141890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount 3151890Svbart@nginx.compoint traversal on a per-request basis when serving static files. 3161872So.canty@f5.com</para> 3171872So.canty@f5.com</change> 3181872So.canty@f5.com 3191872So.canty@f5.com<change type="feature"> 3201872So.canty@f5.com<para> 3211889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 3221889Sartem.konev@nginx.comNode.js. 3231865So.canty@f5.com</para> 3241865So.canty@f5.com</change> 3251865So.canty@f5.com 3261865So.canty@f5.com<change type="feature"> 3271865So.canty@f5.com<para> 3281890Svbart@nginx.commultiple "targets" in Python applications. 3291855Sz.hong@f5.com</para> 3301855Sz.hong@f5.com</change> 3311855Sz.hong@f5.com 3321870So.canty@f5.com<change type="feature"> 3331870So.canty@f5.com<para> 3341870So.canty@f5.comcompatibility with Ruby 3.0. 3351870So.canty@f5.com</para> 3361870So.canty@f5.com</change> 3371870So.canty@f5.com 3381861Svbart@nginx.com<change type="bugfix"> 3391861Svbart@nginx.com<para> 3401889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection. 3411884Sa.suvorov@f5.com</para> 3421884Sa.suvorov@f5.com</change> 3431884Sa.suvorov@f5.com 3441884Sa.suvorov@f5.com<change type="bugfix"> 3451884Sa.suvorov@f5.com<para> 3461861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 3471861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 3481861Svbart@nginx.com</para> 3491861Svbart@nginx.com</change> 3501861Svbart@nginx.com 3511839Svbart@nginx.com</changes> 3521839Svbart@nginx.com 3531839Svbart@nginx.com 3541839Svbart@nginx.com<changes apply="unit-php 3551839Svbart@nginx.com unit-python unit-python2.7 3561839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3571839Svbart@nginx.com unit-python3.8 unit-python3.9 3581839Svbart@nginx.com unit-go 3591839Svbart@nginx.com unit-perl 3601839Svbart@nginx.com unit-ruby 3611839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3621839Svbart@nginx.com unit-jsc14 unit-jsc15" 3631834Svbart@nginx.com ver="1.23.0" rev="1" 3641834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 3651834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3661834Svbart@nginx.com 3671834Svbart@nginx.com<change> 3681834Svbart@nginx.com<para> 3691834Svbart@nginx.comNGINX Unit updated to 1.23.0. 3701834Svbart@nginx.com</para> 3711834Svbart@nginx.com</change> 3721834Svbart@nginx.com 3731834Svbart@nginx.com</changes> 3741834Svbart@nginx.com 3751834Svbart@nginx.com 3761806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 3771834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 3781806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3791806Svbart@nginx.com 3801825Sthresh@nginx.com<change type="feature"> 3811825Sthresh@nginx.com<para> 3821833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 3831828Sa.suvorov@f5.comIndication (SNI) TLS extension. 3841828Sa.suvorov@f5.com</para> 3851828Sa.suvorov@f5.com</change> 3861828Sa.suvorov@f5.com 3871828Sa.suvorov@f5.com<change type="feature"> 3881828Sa.suvorov@f5.com<para> 3891833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 3901833Sartem.konev@nginx.cominstallation. 3911825Sthresh@nginx.com</para> 3921825Sthresh@nginx.com</change> 3931825Sthresh@nginx.com 3941811Smax.romanov@nginx.com<change type="bugfix"> 3951811Smax.romanov@nginx.com<para> 3961812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 3971812Svbart@nginx.comappeared in 1.17.0. 3981812Svbart@nginx.com</para> 3991812Svbart@nginx.com</change> 4001812Svbart@nginx.com 4011812Svbart@nginx.com<change type="bugfix"> 4021812Svbart@nginx.com<para> 4031833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 4041812Svbart@nginx.comappeared in 1.6. 4051812Svbart@nginx.com</para> 4061812Svbart@nginx.com</change> 4071812Svbart@nginx.com 4081812Svbart@nginx.com<change type="bugfix"> 4091812Svbart@nginx.com<para> 4101833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 4111832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 4121832Smax.romanov@nginx.com</para> 4131832Smax.romanov@nginx.com</change> 4141832Smax.romanov@nginx.com 4151832Smax.romanov@nginx.com<change type="bugfix"> 4161832Smax.romanov@nginx.com<para> 4171833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 4181811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 4191811Smax.romanov@nginx.com</para> 4201811Smax.romanov@nginx.com</change> 4211806Svbart@nginx.com 4221813Svbart@nginx.com<change type="bugfix"> 4231813Svbart@nginx.com<para> 4241813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 4251813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 4261813Svbart@nginx.com</para> 4271813Svbart@nginx.com</change> 4281813Svbart@nginx.com 4291814Svbart@nginx.com<change type="bugfix"> 4301814Svbart@nginx.com<para> 4311820Svbart@nginx.comthe controller process could crash while requesting information about a 4321820Svbart@nginx.comcertificate with a non-DNS SAN entry. 4331820Svbart@nginx.com</para> 4341820Svbart@nginx.com</change> 4351820Svbart@nginx.com 4361820Svbart@nginx.com<change type="bugfix"> 4371820Svbart@nginx.com<para> 4381822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 4391833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 4401822Svbart@nginx.com</para> 4411822Svbart@nginx.com</change> 4421822Svbart@nginx.com 4431822Svbart@nginx.com<change type="bugfix"> 4441822Svbart@nginx.com<para> 4451833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 4461833Sartem.konev@nginx.comclass. 4471814Svbart@nginx.com</para> 4481814Svbart@nginx.com</change> 4491814Svbart@nginx.com 4501815Svbart@nginx.com<change type="bugfix"> 4511815Svbart@nginx.com<para> 4521815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 4531815Svbart@nginx.comappeared in 1.22.0. 4541815Svbart@nginx.com</para> 4551815Svbart@nginx.com</change> 4561815Svbart@nginx.com 4571806Svbart@nginx.com</changes> 4581806Svbart@nginx.com 4591806Svbart@nginx.com 4601798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 4611798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 4621798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4631798Sdefan@nginx.com 4641798Sdefan@nginx.com<change> 4651798Sdefan@nginx.com<para> 4661798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 4671798Sdefan@nginx.com</para> 4681798Sdefan@nginx.com</change> 4691798Sdefan@nginx.com 4701798Sdefan@nginx.com</changes> 4711798Sdefan@nginx.com 4721798Sdefan@nginx.com 4731763Sdefan@nginx.com<changes apply="unit-php 4741763Sdefan@nginx.com unit-python unit-python2.7 4751763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4761763Sdefan@nginx.com unit-python3.8 4771763Sdefan@nginx.com unit-go 4781763Sdefan@nginx.com unit-perl 4791763Sdefan@nginx.com unit-ruby 4801763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 4811763Sdefan@nginx.com unit-jsc14 unit-jsc15" 4821763Sdefan@nginx.com ver="1.22.0" rev="1" 4831793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 4841763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4851763Sdefan@nginx.com 4861763Sdefan@nginx.com<change> 4871763Sdefan@nginx.com<para> 4881763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 4891763Sdefan@nginx.com</para> 4901763Sdefan@nginx.com</change> 4911763Sdefan@nginx.com 4921763Sdefan@nginx.com</changes> 4931763Sdefan@nginx.com 4941763Sdefan@nginx.com 4951727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 4961793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 4971727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4981727Svbart@nginx.com 4991759Svbart@nginx.com<change type="feature"> 5001759Svbart@nginx.com<para> 5011792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 5021792Svbart@nginx.comcompliant with Stream API. 5031759Svbart@nginx.com</para> 5041759Svbart@nginx.com</change> 5051759Svbart@nginx.com 5061766Smax.romanov@nginx.com<change type="feature"> 5071766Smax.romanov@nginx.com<para> 5081792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 5091792Svbart@nginx.comapps. 5101732Svbart@nginx.com</para> 5111732Svbart@nginx.com</change> 5121732Svbart@nginx.com 5131733Svbart@nginx.com<change type="bugfix"> 5141733Svbart@nginx.com<para> 5151792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 5161792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 5171754Smax.romanov@nginx.com</para> 5181754Smax.romanov@nginx.com</change> 5191754Smax.romanov@nginx.com 5201755Smax.romanov@nginx.com<change type="bugfix"> 5211755Smax.romanov@nginx.com<para> 5221790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 5231755Smax.romanov@nginx.comappeared in 1.19.0. 5241755Smax.romanov@nginx.com</para> 5251755Smax.romanov@nginx.com</change> 5261755Smax.romanov@nginx.com 5271756Smax.romanov@nginx.com<change type="bugfix"> 5281756Smax.romanov@nginx.com<para> 5291790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 5301790Sartem.konev@nginx.comappeared in 1.19.0. 5311756Smax.romanov@nginx.com</para> 5321756Smax.romanov@nginx.com</change> 5331756Smax.romanov@nginx.com 5341760Smax.romanov@nginx.com<change type="bugfix"> 5351760Smax.romanov@nginx.com<para> 5361792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 5371792Svbart@nginx.com</para> 5381792Svbart@nginx.com</change> 5391792Svbart@nginx.com 5401792Svbart@nginx.com<change type="bugfix"> 5411792Svbart@nginx.com<para> 5421792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 5431792Svbart@nginx.commissing in the PHP module. 5441792Svbart@nginx.com</para> 5451792Svbart@nginx.com</change> 5461792Svbart@nginx.com 5471792Svbart@nginx.com<change type="bugfix"> 5481792Svbart@nginx.com<para> 5491792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 5501792Svbart@nginx.com</para> 5511792Svbart@nginx.com</change> 5521792Svbart@nginx.com 5531792Svbart@nginx.com<change type="bugfix"> 5541792Svbart@nginx.com<para> 5551792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 5561792Svbart@nginx.com</para> 5571792Svbart@nginx.com</change> 5581792Svbart@nginx.com 5591792Svbart@nginx.com<change type="bugfix"> 5601792Svbart@nginx.com<para> 5611792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 5621792Svbart@nginx.comthe bug had appeared in 1.21.0. 5631760Smax.romanov@nginx.com</para> 5641760Smax.romanov@nginx.com</change> 5651760Smax.romanov@nginx.com 5661780Smax.romanov@nginx.com<change type="bugfix"> 5671780Smax.romanov@nginx.com<para> 5681790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 5691790Sartem.konev@nginx.comWebSocket. 5701780Smax.romanov@nginx.com</para> 5711780Smax.romanov@nginx.com</change> 5721780Smax.romanov@nginx.com 5731789Smax.romanov@nginx.com<change type="bugfix"> 5741789Smax.romanov@nginx.com<para> 5751789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 5761789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 5771789Smax.romanov@nginx.com</para> 5781789Smax.romanov@nginx.com</change> 5791789Smax.romanov@nginx.com 5801727Svbart@nginx.com</changes> 5811727Svbart@nginx.com 5821727Svbart@nginx.com 5831722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 5841722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 5851722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5861722Svbart@nginx.com 5871722Svbart@nginx.com<change> 5881722Svbart@nginx.com<para> 5891722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 5901722Svbart@nginx.com</para> 5911722Svbart@nginx.com</change> 5921722Svbart@nginx.com 5931722Svbart@nginx.com</changes> 5941722Svbart@nginx.com 5951722Svbart@nginx.com 5961722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 5971722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 5981722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5991722Svbart@nginx.com 6001722Svbart@nginx.com<change> 6011722Svbart@nginx.com<para> 6021722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 6031722Svbart@nginx.com</para> 6041722Svbart@nginx.com</change> 6051722Svbart@nginx.com 6061722Svbart@nginx.com</changes> 6071722Svbart@nginx.com 6081722Svbart@nginx.com 6091722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 6101722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6111722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6121722Svbart@nginx.com 6131722Svbart@nginx.com<change> 6141722Svbart@nginx.com<para> 6151722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 6161722Svbart@nginx.com</para> 6171722Svbart@nginx.com</change> 6181722Svbart@nginx.com 6191722Svbart@nginx.com</changes> 6201722Svbart@nginx.com 6211722Svbart@nginx.com 6221722Svbart@nginx.com<changes apply="unit-php 6231722Svbart@nginx.com unit-python unit-python2.7 6241722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6251722Svbart@nginx.com unit-python3.8 6261722Svbart@nginx.com unit-go 6271722Svbart@nginx.com unit-perl 6281722Svbart@nginx.com unit-ruby 6291722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6301722Svbart@nginx.com ver="1.21.0" rev="1" 6311722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6321722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6331722Svbart@nginx.com 6341722Svbart@nginx.com<change> 6351722Svbart@nginx.com<para> 6361722Svbart@nginx.comNGINX Unit updated to 1.21.0. 6371722Svbart@nginx.com</para> 6381722Svbart@nginx.com</change> 6391722Svbart@nginx.com 6401722Svbart@nginx.com</changes> 6411722Svbart@nginx.com 6421722Svbart@nginx.com 6431722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 6441722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6451722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6461722Svbart@nginx.com 6471722Svbart@nginx.com<change type="change"> 6481722Svbart@nginx.com<para> 6491722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 6501722Svbart@nginx.com</para> 6511722Svbart@nginx.com</change> 6521722Svbart@nginx.com 6531722Svbart@nginx.com<change type="change"> 6541722Svbart@nginx.com<para> 6551722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 6561722Svbart@nginx.comnames. 6571722Svbart@nginx.com</para> 6581722Svbart@nginx.com</change> 6591722Svbart@nginx.com 6601722Svbart@nginx.com<change type="change"> 6611722Svbart@nginx.com<para> 6621722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 6631722Svbart@nginx.comdefault. 6641722Svbart@nginx.com</para> 6651722Svbart@nginx.com</change> 6661722Svbart@nginx.com 6671722Svbart@nginx.com<change type="feature"> 6681722Svbart@nginx.com<para> 6691722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 6701722Svbart@nginx.com</para> 6711722Svbart@nginx.com</change> 6721722Svbart@nginx.com 6731722Svbart@nginx.com<change type="feature"> 6741722Svbart@nginx.com<para> 6751722Svbart@nginx.comregular expressions in route matching patterns. 6761722Svbart@nginx.com</para> 6771722Svbart@nginx.com</change> 6781722Svbart@nginx.com 6791722Svbart@nginx.com<change type="feature"> 6801722Svbart@nginx.com<para> 6811722Svbart@nginx.comcompatibility with Python 3.9. 6821722Svbart@nginx.com</para> 6831722Svbart@nginx.com</change> 6841722Svbart@nginx.com 6851722Svbart@nginx.com<change type="feature"> 6861722Svbart@nginx.com<para> 6871722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 6881722Svbart@nginx.com</para> 6891722Svbart@nginx.com</change> 6901722Svbart@nginx.com 6911722Svbart@nginx.com<change type="feature"> 6921722Svbart@nginx.com<para> 6931722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 6941722Svbart@nginx.com</para> 6951722Svbart@nginx.com</change> 6961722Svbart@nginx.com 6971722Svbart@nginx.com<change type="feature"> 6981722Svbart@nginx.com<para> 6991722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 7001722Svbart@nginx.comcontinues code execution without holding onto the client connection. 7011722Svbart@nginx.com</para> 7021722Svbart@nginx.com</change> 7031722Svbart@nginx.com 7041722Svbart@nginx.com<change type="feature"> 7051722Svbart@nginx.com<para> 7061722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 7071722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 7081722Svbart@nginx.com</para> 7091722Svbart@nginx.com</change> 7101722Svbart@nginx.com 7111722Svbart@nginx.com<change type="feature"> 7121722Svbart@nginx.com<para> 7131722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 7141722Svbart@nginx.commounting of eponymous filesystems. 7151722Svbart@nginx.com</para> 7161722Svbart@nginx.com</change> 7171722Svbart@nginx.com 7181722Svbart@nginx.com<change type="bugfix"> 7191722Svbart@nginx.com<para> 7201722Svbart@nginx.comthe router process could crash when running Go applications under high load; 7211722Svbart@nginx.comthe bug had appeared in 1.19.0. 7221722Svbart@nginx.com</para> 7231722Svbart@nginx.com</change> 7241722Svbart@nginx.com 7251722Svbart@nginx.com<change type="bugfix"> 7261722Svbart@nginx.com<para> 7271722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 7281722Svbart@nginx.com</para> 7291722Svbart@nginx.com</change> 7301722Svbart@nginx.com 7311722Svbart@nginx.com<change type="bugfix"> 7321722Svbart@nginx.com<para> 7331722Svbart@nginx.comvarious compatibility issues in Java applications. 7341722Svbart@nginx.com</para> 7351722Svbart@nginx.com</change> 7361722Svbart@nginx.com 7371722Svbart@nginx.com<change type="bugfix"> 7381722Svbart@nginx.com<para> 7391722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 7401722Svbart@nginx.comuse "rootfs" isolation. 7411722Svbart@nginx.com</para> 7421722Svbart@nginx.com</change> 7431722Svbart@nginx.com 7441722Svbart@nginx.com</changes> 7451722Svbart@nginx.com 7461722Svbart@nginx.com 7471330Svbart@nginx.com<changes apply="unit-php 7481330Svbart@nginx.com unit-python unit-python2.7 7491330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7501330Svbart@nginx.com unit-python3.8 7511330Svbart@nginx.com unit-go 7521330Svbart@nginx.com unit-perl 7531330Svbart@nginx.com unit-ruby 7541330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7551640Svbart@nginx.com ver="1.20.0" rev="1" 7561640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 7571640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7581640Svbart@nginx.com 7591640Svbart@nginx.com<change> 7601640Svbart@nginx.com<para> 7611640Svbart@nginx.comNGINX Unit updated to 1.20.0. 7621640Svbart@nginx.com</para> 7631640Svbart@nginx.com</change> 7641640Svbart@nginx.com 7651640Svbart@nginx.com</changes> 7661640Svbart@nginx.com 7671640Svbart@nginx.com 7681640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 7691640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 7701640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7711640Svbart@nginx.com 7721640Svbart@nginx.com<change type="change"> 7731640Svbart@nginx.com<para> 7741640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 7751640Svbart@nginx.comextensions from the host system. 7761640Svbart@nginx.com</para> 7771640Svbart@nginx.com</change> 7781640Svbart@nginx.com 7791640Svbart@nginx.com<change type="change"> 7801640Svbart@nginx.com<para> 7811640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 7821640Svbart@nginx.com</para> 7831640Svbart@nginx.com</change> 7841640Svbart@nginx.com 7851643Svbart@nginx.com<change type="change"> 7861643Svbart@nginx.com<para> 7871643Svbart@nginx.comfunctional tests migrated to the pytest framework. 7881643Svbart@nginx.com</para> 7891643Svbart@nginx.com</change> 7901643Svbart@nginx.com 7911640Svbart@nginx.com<change type="feature"> 7921640Svbart@nginx.com<para> 7931640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 7941640Svbart@nginx.cominterface. 7951640Svbart@nginx.com</para> 7961640Svbart@nginx.com</change> 7971640Svbart@nginx.com 7981640Svbart@nginx.com<change type="feature"> 7991640Svbart@nginx.com<para> 8001640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 8011640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 8021640Svbart@nginx.comspecification. 8031640Svbart@nginx.com</para> 8041640Svbart@nginx.com</change> 8051640Svbart@nginx.com 8061640Svbart@nginx.com<change type="feature"> 8071640Svbart@nginx.com<para> 8081640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 8091640Svbart@nginx.comenvironments. 8101640Svbart@nginx.com</para> 8111640Svbart@nginx.com</change> 8121640Svbart@nginx.com 8131640Svbart@nginx.com<change type="feature"> 8141640Svbart@nginx.com<para> 8151640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 8161640Svbart@nginx.com</para> 8171640Svbart@nginx.com</change> 8181640Svbart@nginx.com 8191640Svbart@nginx.com<change type="feature"> 8201640Svbart@nginx.com<para> 8211640Svbart@nginx.comthe "callable" option sets Python application callable names. 8221640Svbart@nginx.com</para> 8231640Svbart@nginx.com</change> 8241640Svbart@nginx.com 8251640Svbart@nginx.com<change type="feature"> 8261640Svbart@nginx.com<para> 8271640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 8281640Svbart@nginx.com</para> 8291640Svbart@nginx.com</change> 8301640Svbart@nginx.com 8311640Svbart@nginx.com<change type="feature"> 8321640Svbart@nginx.com<para> 8331640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 8341640Svbart@nginx.comautomatic mounting of language module dependencies. 8351640Svbart@nginx.com</para> 8361640Svbart@nginx.com</change> 8371640Svbart@nginx.com 8381640Svbart@nginx.com<change type="bugfix"> 8391640Svbart@nginx.com<para> 8401640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 8411640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 8421640Svbart@nginx.com</para> 8431640Svbart@nginx.com</change> 8441640Svbart@nginx.com 8451640Svbart@nginx.com<change type="bugfix"> 8461640Svbart@nginx.com<para> 8471640Svbart@nginx.comthe router process could crash during reconfiguration. 8481640Svbart@nginx.com</para> 8491640Svbart@nginx.com</change> 8501640Svbart@nginx.com 8511640Svbart@nginx.com<change type="bugfix"> 8521640Svbart@nginx.com<para> 8531640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 8541640Svbart@nginx.com</para> 8551640Svbart@nginx.com</change> 8561640Svbart@nginx.com 8571640Svbart@nginx.com<change type="bugfix"> 8581640Svbart@nginx.com<para> 8591640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 8601640Svbart@nginx.comthe bug had appeared in 1.19.0. 8611640Svbart@nginx.com</para> 8621640Svbart@nginx.com</change> 8631640Svbart@nginx.com 8641640Svbart@nginx.com<change type="bugfix"> 8651640Svbart@nginx.com<para> 8661640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 8671640Svbart@nginx.comthe bug had appeared in 1.16.0. 8681640Svbart@nginx.com</para> 8691640Svbart@nginx.com</change> 8701640Svbart@nginx.com 8711640Svbart@nginx.com</changes> 8721640Svbart@nginx.com 8731640Svbart@nginx.com 8741640Svbart@nginx.com<changes apply="unit-php 8751640Svbart@nginx.com unit-python unit-python2.7 8761640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8771640Svbart@nginx.com unit-python3.8 8781640Svbart@nginx.com unit-go 8791640Svbart@nginx.com unit-perl 8801640Svbart@nginx.com unit-ruby 8811640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8821570Svbart@nginx.com ver="1.19.0" rev="1" 8831570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 8841570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8851570Svbart@nginx.com 8861570Svbart@nginx.com<change> 8871570Svbart@nginx.com<para> 8881570Svbart@nginx.comNGINX Unit updated to 1.19.0. 8891570Svbart@nginx.com</para> 8901570Svbart@nginx.com</change> 8911570Svbart@nginx.com 8921570Svbart@nginx.com</changes> 8931570Svbart@nginx.com 8941570Svbart@nginx.com 8951570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 8961570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 8971570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8981570Svbart@nginx.com 8991570Svbart@nginx.com<change type="feature"> 9001570Svbart@nginx.com<para> 9011570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 9021570Svbart@nginx.comincrease performance, and improve scalability. 9031570Svbart@nginx.com</para> 9041570Svbart@nginx.com</change> 9051570Svbart@nginx.com 9061570Svbart@nginx.com<change type="feature"> 9071570Svbart@nginx.com<para> 9081570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 9091570Svbart@nginx.com</para> 9101570Svbart@nginx.com</change> 9111570Svbart@nginx.com 9121570Svbart@nginx.com<change type="feature"> 9131570Svbart@nginx.com<para> 9141570Svbart@nginx.comchunked transfer encoding in proxy responses. 9151570Svbart@nginx.com</para> 9161570Svbart@nginx.com</change> 9171570Svbart@nginx.com 9181570Svbart@nginx.com<change type="feature"> 9191570Svbart@nginx.com<para> 9201570Svbart@nginx.combasic variables support in the "pass" option. 9211570Svbart@nginx.com</para> 9221570Svbart@nginx.com</change> 9231570Svbart@nginx.com 9241570Svbart@nginx.com<change type="feature"> 9251570Svbart@nginx.com<para> 9261570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 9271570Svbart@nginx.comThanks to Remi Collet. 9281570Svbart@nginx.com</para> 9291570Svbart@nginx.com</change> 9301570Svbart@nginx.com 9311570Svbart@nginx.com<change type="bugfix"> 9321570Svbart@nginx.com<para> 9331570Svbart@nginx.comthe router process could crash while passing requests to an application under 9341570Svbart@nginx.comhigh load. 9351570Svbart@nginx.com</para> 9361570Svbart@nginx.com</change> 9371570Svbart@nginx.com 9381570Svbart@nginx.com<change type="bugfix"> 9391570Svbart@nginx.com<para> 9401570Svbart@nginx.coma number of language modules failed to build on some systems; 9411570Svbart@nginx.comthe bug had appeared in 1.18.0. 9421570Svbart@nginx.com</para> 9431570Svbart@nginx.com</change> 9441570Svbart@nginx.com 9451570Svbart@nginx.com<change type="bugfix"> 9461570Svbart@nginx.com<para> 9471570Svbart@nginx.comtime in error log messages from PHP applications could lag. 9481570Svbart@nginx.com</para> 9491570Svbart@nginx.com</change> 9501570Svbart@nginx.com 9511570Svbart@nginx.com<change type="bugfix"> 9521570Svbart@nginx.com<para> 9531570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 9541570Svbart@nginx.comthe bug had appeared in 1.18.0. 9551570Svbart@nginx.com</para> 9561570Svbart@nginx.com</change> 9571570Svbart@nginx.com 9581570Svbart@nginx.com<change type="bugfix"> 9591570Svbart@nginx.com<para> 9601570Svbart@nginx.commemory leak during reconfiguration. 9611570Svbart@nginx.com</para> 9621570Svbart@nginx.com</change> 9631570Svbart@nginx.com 9641570Svbart@nginx.com<change type="bugfix"> 9651570Svbart@nginx.com<para> 9661570Svbart@nginx.comthe daemon didn't start without language modules; 9671570Svbart@nginx.comthe bug had appeared in 1.18.0. 9681570Svbart@nginx.com</para> 9691570Svbart@nginx.com</change> 9701570Svbart@nginx.com 9711570Svbart@nginx.com<change type="bugfix"> 9721570Svbart@nginx.com<para> 9731570Svbart@nginx.comthe router process could crash at exit. 9741570Svbart@nginx.com</para> 9751570Svbart@nginx.com</change> 9761570Svbart@nginx.com 9771570Svbart@nginx.com<change type="bugfix"> 9781570Svbart@nginx.com<para> 9791570Svbart@nginx.comNode.js applications could crash at exit. 9801570Svbart@nginx.com</para> 9811570Svbart@nginx.com</change> 9821570Svbart@nginx.com 9831570Svbart@nginx.com<change type="bugfix"> 9841570Svbart@nginx.com<para> 9851570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 9861570Svbart@nginx.com</para> 9871570Svbart@nginx.com</change> 9881570Svbart@nginx.com 9891570Svbart@nginx.com</changes> 9901570Svbart@nginx.com 9911570Svbart@nginx.com 9921570Svbart@nginx.com<changes apply="unit-php 9931570Svbart@nginx.com unit-python unit-python2.7 9941570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9951570Svbart@nginx.com unit-python3.8 9961570Svbart@nginx.com unit-go 9971570Svbart@nginx.com unit-perl 9981570Svbart@nginx.com unit-ruby 9991570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10001491Svbart@nginx.com ver="1.18.0" rev="1" 10011491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 10021491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10031491Svbart@nginx.com 10041491Svbart@nginx.com<change> 10051491Svbart@nginx.com<para> 10061491Svbart@nginx.comNGINX Unit updated to 1.18.0. 10071491Svbart@nginx.com</para> 10081491Svbart@nginx.com</change> 10091491Svbart@nginx.com 10101491Svbart@nginx.com</changes> 10111491Svbart@nginx.com 10121491Svbart@nginx.com 10131491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 10141491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 10151491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10161491Svbart@nginx.com 10171491Svbart@nginx.com<change type="feature"> 10181491Svbart@nginx.com<para> 10191491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 10201491Svbart@nginx.com</para> 10211491Svbart@nginx.com</change> 10221491Svbart@nginx.com 10231491Svbart@nginx.com<change type="feature"> 10241491Svbart@nginx.com<para> 10251491Svbart@nginx.commultiple "targets" in PHP applications. 10261491Svbart@nginx.com</para> 10271491Svbart@nginx.com</change> 10281491Svbart@nginx.com 10291491Svbart@nginx.com<change type="feature"> 10301491Svbart@nginx.com<para> 10311491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 10321491Svbart@nginx.comand in the "pass" option. 10331491Svbart@nginx.com</para> 10341491Svbart@nginx.com</change> 10351491Svbart@nginx.com 10361491Svbart@nginx.com</changes> 10371491Svbart@nginx.com 10381491Svbart@nginx.com 10391491Svbart@nginx.com<changes apply="unit-php 10401491Svbart@nginx.com unit-python unit-python2.7 10411491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10421491Svbart@nginx.com unit-python3.8 10431491Svbart@nginx.com unit-go 10441491Svbart@nginx.com unit-perl 10451491Svbart@nginx.com unit-ruby 10461491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10471460Svbart@nginx.com ver="1.17.0" rev="1" 10481460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 10491460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10501460Svbart@nginx.com 10511460Svbart@nginx.com<change> 10521460Svbart@nginx.com<para> 10531460Svbart@nginx.comNGINX Unit updated to 1.17.0. 10541460Svbart@nginx.com</para> 10551460Svbart@nginx.com</change> 10561460Svbart@nginx.com 10571460Svbart@nginx.com</changes> 10581460Svbart@nginx.com 10591460Svbart@nginx.com 10601460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 10611460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 10621460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10631460Svbart@nginx.com 10641460Svbart@nginx.com<change type="feature"> 10651460Svbart@nginx.com<para> 10661460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 10671460Svbart@nginx.comredirection. 10681460Svbart@nginx.com</para> 10691460Svbart@nginx.com</change> 10701460Svbart@nginx.com 10711460Svbart@nginx.com<change type="feature"> 10721460Svbart@nginx.com<para> 10731460Svbart@nginx.comfractional weights support for upstream servers. 10741460Svbart@nginx.com</para> 10751460Svbart@nginx.com</change> 10761460Svbart@nginx.com 10771460Svbart@nginx.com<change type="bugfix"> 10781460Svbart@nginx.com<para> 10791460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 10801460Svbart@nginx.comhigh load. 10811460Svbart@nginx.com</para> 10821460Svbart@nginx.com</change> 10831460Svbart@nginx.com 10841460Svbart@nginx.com<change type="bugfix"> 10851460Svbart@nginx.com<para> 10861460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 10871460Svbart@nginx.com</para> 10881460Svbart@nginx.com</change> 10891460Svbart@nginx.com 10901460Svbart@nginx.com<change type="bugfix"> 10911460Svbart@nginx.com<para> 10921460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 10931460Svbart@nginx.comopen connections limit. 10941460Svbart@nginx.com</para> 10951460Svbart@nginx.com</change> 10961460Svbart@nginx.com 10971460Svbart@nginx.com<change type="bugfix"> 10981460Svbart@nginx.com<para> 10991460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 11001460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 11011460Svbart@nginx.com</para> 11021460Svbart@nginx.com</change> 11031460Svbart@nginx.com 11041460Svbart@nginx.com<change type="bugfix"> 11051460Svbart@nginx.com<para> 11061460Svbart@nginx.comexisting application processes didn't reopen the log file. 11071460Svbart@nginx.com</para> 11081460Svbart@nginx.com</change> 11091460Svbart@nginx.com 11101460Svbart@nginx.com<change type="bugfix"> 11111460Svbart@nginx.com<para> 11121460Svbart@nginx.comincompatibility with some Node.js applications. 11131460Svbart@nginx.com</para> 11141460Svbart@nginx.com</change> 11151460Svbart@nginx.com 11161460Svbart@nginx.com<change type="bugfix"> 11171460Svbart@nginx.com<para> 11181460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 11191460Svbart@nginx.com</para> 11201460Svbart@nginx.com</change> 11211460Svbart@nginx.com 11221460Svbart@nginx.com</changes> 11231460Svbart@nginx.com 11241460Svbart@nginx.com 11251460Svbart@nginx.com<changes apply="unit-php 11261460Svbart@nginx.com unit-python unit-python2.7 11271460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11281460Svbart@nginx.com unit-python3.8 11291460Svbart@nginx.com unit-go 11301460Svbart@nginx.com unit-perl 11311460Svbart@nginx.com unit-ruby 11321460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11331404Svbart@nginx.com ver="1.16.0" rev="1" 11341404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 11351404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11361404Svbart@nginx.com 11371404Svbart@nginx.com<change> 11381404Svbart@nginx.com<para> 11391404Svbart@nginx.comNGINX Unit updated to 1.16.0. 11401404Svbart@nginx.com</para> 11411404Svbart@nginx.com</change> 11421404Svbart@nginx.com 11431404Svbart@nginx.com</changes> 11441404Svbart@nginx.com 11451404Svbart@nginx.com 11461404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 11471404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 11481404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11491404Svbart@nginx.com 11501404Svbart@nginx.com<change type="feature"> 11511404Svbart@nginx.com<para> 11521404Svbart@nginx.combasic load-balancing support with round-robin. 11531404Svbart@nginx.com</para> 11541404Svbart@nginx.com</change> 11551404Svbart@nginx.com 11561404Svbart@nginx.com<change type="feature"> 11571404Svbart@nginx.com<para> 11581404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 11591404Svbart@nginx.comserved from the "share" directory. 11601404Svbart@nginx.com</para> 11611404Svbart@nginx.com</change> 11621404Svbart@nginx.com 11631404Svbart@nginx.com<change type="feature"> 11641404Svbart@nginx.com<para> 11651404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 11661404Svbart@nginx.com</para> 11671404Svbart@nginx.com</change> 11681404Svbart@nginx.com 11691404Svbart@nginx.com<change type="feature"> 11701404Svbart@nginx.com<para> 11711404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 11721404Svbart@nginx.com</para> 11731404Svbart@nginx.com</change> 11741404Svbart@nginx.com 11751404Svbart@nginx.com<change type="bugfix"> 11761404Svbart@nginx.com<para> 11771404Svbart@nginx.comnegative address matching in router might work improperly in combination with 11781404Svbart@nginx.comnon-negative patterns. 11791404Svbart@nginx.com</para> 11801404Svbart@nginx.com</change> 11811404Svbart@nginx.com 11821404Svbart@nginx.com<change type="bugfix"> 11831404Svbart@nginx.com<para> 11841404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 11851404Svbart@nginx.com</para> 11861404Svbart@nginx.com</change> 11871404Svbart@nginx.com 11881404Svbart@nginx.com<change type="bugfix"> 11891404Svbart@nginx.com<para> 11901404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 11911404Svbart@nginx.com</para> 11921404Svbart@nginx.com</change> 11931404Svbart@nginx.com 11941404Svbart@nginx.com<change type="bugfix"> 11951404Svbart@nginx.com<para> 11961404Svbart@nginx.comcompatibility issues with some Python applications. 11971404Svbart@nginx.com</para> 11981404Svbart@nginx.com</change> 11991404Svbart@nginx.com 12001404Svbart@nginx.com</changes> 12011404Svbart@nginx.com 12021404Svbart@nginx.com 12031404Svbart@nginx.com<changes apply="unit-php 12041404Svbart@nginx.com unit-python unit-python2.7 12051404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12061404Svbart@nginx.com unit-python3.8 12071404Svbart@nginx.com unit-go 12081404Svbart@nginx.com unit-perl 12091404Svbart@nginx.com unit-ruby 12101404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12111357Svbart@nginx.com ver="1.15.0" rev="1" 12121357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 12131357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12141357Svbart@nginx.com 12151357Svbart@nginx.com<change> 12161357Svbart@nginx.com<para> 12171357Svbart@nginx.comNGINX Unit updated to 1.15.0. 12181357Svbart@nginx.com</para> 12191357Svbart@nginx.com</change> 12201357Svbart@nginx.com 12211357Svbart@nginx.com</changes> 12221357Svbart@nginx.com 12231357Svbart@nginx.com 12241357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 12251357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 12261357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12271357Svbart@nginx.com 12281357Svbart@nginx.com<change type="change"> 12291357Svbart@nginx.com<para> 12301357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 12311357Svbart@nginx.com</para> 12321357Svbart@nginx.com</change> 12331357Svbart@nginx.com 12341357Svbart@nginx.com<change type="feature"> 12351357Svbart@nginx.com<para> 12361357Svbart@nginx.comcompatibility with Ruby 2.7. 12371357Svbart@nginx.com</para> 12381357Svbart@nginx.com</change> 12391357Svbart@nginx.com 12401357Svbart@nginx.com<change type="bugfix"> 12411357Svbart@nginx.com<para> 12421357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 12431357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 12441357Svbart@nginx.com</para> 12451357Svbart@nginx.com</change> 12461357Svbart@nginx.com 12471357Svbart@nginx.com<change type="bugfix"> 12481357Svbart@nginx.com<para> 12491357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 12501357Svbart@nginx.com</para> 12511357Svbart@nginx.com</change> 12521357Svbart@nginx.com 12531357Svbart@nginx.com</changes> 12541357Svbart@nginx.com 12551357Svbart@nginx.com 12561357Svbart@nginx.com<changes apply="unit-php 12571357Svbart@nginx.com unit-python unit-python2.7 12581357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12591357Svbart@nginx.com unit-python3.8 12601357Svbart@nginx.com unit-go 12611357Svbart@nginx.com unit-perl 12621357Svbart@nginx.com unit-ruby 12631357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12641330Svbart@nginx.com ver="1.14.0" rev="1" 12651330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 12661330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12671330Svbart@nginx.com 12681330Svbart@nginx.com<change> 12691330Svbart@nginx.com<para> 12701330Svbart@nginx.comNGINX Unit updated to 1.14.0. 12711330Svbart@nginx.com</para> 12721330Svbart@nginx.com</change> 12731330Svbart@nginx.com 12741330Svbart@nginx.com</changes> 12751330Svbart@nginx.com 12761330Svbart@nginx.com 12771330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 12781330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 12791330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12801330Svbart@nginx.com 12811330Svbart@nginx.com<change type="change"> 12821330Svbart@nginx.com<para> 12831330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 12841330Svbart@nginx.com</para> 12851330Svbart@nginx.com</change> 12861330Svbart@nginx.com 12871330Svbart@nginx.com<change type="change"> 12881330Svbart@nginx.com<para> 12891330Svbart@nginx.comGo package now links to libunit instead of including library sources. 12901330Svbart@nginx.com</para> 12911330Svbart@nginx.com</change> 12921330Svbart@nginx.com 12931330Svbart@nginx.com<change type="feature"> 12941330Svbart@nginx.com<para> 12951330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 12961330Svbart@nginx.comruns as an unprivileged user. 12971330Svbart@nginx.com</para> 12981330Svbart@nginx.com</change> 12991330Svbart@nginx.com 13001330Svbart@nginx.com<change type="feature"> 13011330Svbart@nginx.com<para> 13021330Svbart@nginx.comrequest routing by source and destination addresses and ports. 13031330Svbart@nginx.com</para> 13041330Svbart@nginx.com</change> 13051330Svbart@nginx.com 13061330Svbart@nginx.com<change type="bugfix"> 13071330Svbart@nginx.com<para> 13081330Svbart@nginx.commemory bloat on large responses. 13091330Svbart@nginx.com</para> 13101330Svbart@nginx.com</change> 13111330Svbart@nginx.com 13121330Svbart@nginx.com</changes> 13131330Svbart@nginx.com 13141330Svbart@nginx.com 13151290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 13161290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 13171290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13181290Sdefan@nginx.com 13191290Sdefan@nginx.com<change> 13201290Sdefan@nginx.com<para> 13211290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 13221290Sdefan@nginx.com</para> 13231290Sdefan@nginx.com</change> 13241290Sdefan@nginx.com 13251290Sdefan@nginx.com</changes> 13261290Sdefan@nginx.com 13271290Sdefan@nginx.com 13281290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 13291290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 13301290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13311290Sdefan@nginx.com 13321290Sdefan@nginx.com<change> 13331290Sdefan@nginx.com<para> 13341290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 13351290Sdefan@nginx.com</para> 13361290Sdefan@nginx.com</change> 13371290Sdefan@nginx.com 13381290Sdefan@nginx.com</changes> 13391290Sdefan@nginx.com 13401290Sdefan@nginx.com 13411289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 13421289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 13431289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13441289Sdefan@nginx.com 13451289Sdefan@nginx.com<change> 13461289Sdefan@nginx.com<para> 13471289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 13481289Sdefan@nginx.com</para> 13491289Sdefan@nginx.com</change> 13501289Sdefan@nginx.com 13511289Sdefan@nginx.com</changes> 13521289Sdefan@nginx.com 13531289Sdefan@nginx.com 13541185Svbart@nginx.com<changes apply="unit-php 13551185Svbart@nginx.com unit-python unit-python2.7 13561185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13571185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 13581185Svbart@nginx.com unit-perl 13591185Svbart@nginx.com unit-ruby 13601185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13611284Svbart@nginx.com ver="1.13.0" rev="1" 13621284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 13631284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13641284Svbart@nginx.com 13651284Svbart@nginx.com<change> 13661284Svbart@nginx.com<para> 13671284Svbart@nginx.comNGINX Unit updated to 1.13.0. 13681284Svbart@nginx.com</para> 13691284Svbart@nginx.com</change> 13701284Svbart@nginx.com 13711284Svbart@nginx.com</changes> 13721284Svbart@nginx.com 13731284Svbart@nginx.com 13741284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 13751284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 13761284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13771284Svbart@nginx.com 13781284Svbart@nginx.com<change type="feature"> 13791284Svbart@nginx.com<para> 13801284Svbart@nginx.combasic support for HTTP reverse proxying. 13811284Svbart@nginx.com</para> 13821284Svbart@nginx.com</change> 13831284Svbart@nginx.com 13841284Svbart@nginx.com<change type="feature"> 13851284Svbart@nginx.com<para> 13861284Svbart@nginx.comcompatibility with Python 3.8. 13871284Svbart@nginx.com</para> 13881284Svbart@nginx.com</change> 13891284Svbart@nginx.com 13901284Svbart@nginx.com<change type="bugfix"> 13911284Svbart@nginx.com<para> 13921284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 13931284Svbart@nginx.com</para> 13941284Svbart@nginx.com</change> 13951284Svbart@nginx.com 13961284Svbart@nginx.com<change type="bugfix"> 13971284Svbart@nginx.com<para> 13981284Svbart@nginx.comthreads in Python applications might not work correctly. 13991284Svbart@nginx.com</para> 14001284Svbart@nginx.com</change> 14011284Svbart@nginx.com 14021284Svbart@nginx.com<change type="bugfix"> 14031284Svbart@nginx.com<para> 14041284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 14051284Svbart@nginx.com</para> 14061284Svbart@nginx.com</change> 14071284Svbart@nginx.com 14081284Svbart@nginx.com<change type="bugfix"> 14091284Svbart@nginx.com<para> 14101284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 14111284Svbart@nginx.comdelays. 14121284Svbart@nginx.com</para> 14131284Svbart@nginx.com</change> 14141284Svbart@nginx.com 14151284Svbart@nginx.com<change type="bugfix"> 14161284Svbart@nginx.com<para> 14171284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 14181284Svbart@nginx.com</para> 14191284Svbart@nginx.com</change> 14201284Svbart@nginx.com 14211284Svbart@nginx.com</changes> 14221284Svbart@nginx.com 14231284Svbart@nginx.com 14241284Svbart@nginx.com<changes apply="unit-php 14251284Svbart@nginx.com unit-python unit-python2.7 14261284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14271284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14281284Svbart@nginx.com unit-perl 14291284Svbart@nginx.com unit-ruby 14301284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14311222Svbart@nginx.com ver="1.12.0" rev="1" 14321222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 14331222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14341222Svbart@nginx.com 14351222Svbart@nginx.com<change> 14361222Svbart@nginx.com<para> 14371222Svbart@nginx.comNGINX Unit updated to 1.12.0. 14381222Svbart@nginx.com</para> 14391222Svbart@nginx.com</change> 14401222Svbart@nginx.com 14411222Svbart@nginx.com</changes> 14421222Svbart@nginx.com 14431222Svbart@nginx.com 14441222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 14451222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 14461222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14471222Svbart@nginx.com 14481222Svbart@nginx.com<change type="feature"> 14491222Svbart@nginx.com<para> 14501222Svbart@nginx.comcompatibility with PHP 7.4. 14511222Svbart@nginx.com</para> 14521222Svbart@nginx.com</change> 14531222Svbart@nginx.com 14541222Svbart@nginx.com<change type="bugfix"> 14551222Svbart@nginx.com<para> 14561222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 14571222Svbart@nginx.com</para> 14581222Svbart@nginx.com</change> 14591222Svbart@nginx.com 14601222Svbart@nginx.com<change type="bugfix"> 14611222Svbart@nginx.com<para> 14621222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 14631222Svbart@nginx.com</para> 14641222Svbart@nginx.com</change> 14651222Svbart@nginx.com 14661222Svbart@nginx.com<change type="bugfix"> 14671222Svbart@nginx.com<para> 14681222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 14691222Svbart@nginx.com</para> 14701222Svbart@nginx.com</change> 14711222Svbart@nginx.com 14721222Svbart@nginx.com</changes> 14731222Svbart@nginx.com 14741222Svbart@nginx.com 14751222Svbart@nginx.com 14761222Svbart@nginx.com<changes apply="unit-php 14771222Svbart@nginx.com unit-python unit-python2.7 14781222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14791222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14801222Svbart@nginx.com unit-perl 14811222Svbart@nginx.com unit-ruby 14821222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14831185Svbart@nginx.com ver="1.11.0" rev="1" 14841185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 14851185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 14861185Svbart@nginx.com 14871185Svbart@nginx.com<change> 14881185Svbart@nginx.com<para> 14891185Svbart@nginx.comNGINX Unit updated to 1.11.0. 14901185Svbart@nginx.com</para> 14911185Svbart@nginx.com</change> 14921185Svbart@nginx.com 14931185Svbart@nginx.com</changes> 14941185Svbart@nginx.com 14951185Svbart@nginx.com 14961185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 14971185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 14981185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 14991185Svbart@nginx.com 15001185Svbart@nginx.com<change type="feature"> 15011185Svbart@nginx.com<para> 15021185Svbart@nginx.combasic support for serving static files. 15031185Svbart@nginx.com</para> 15041185Svbart@nginx.com</change> 15051185Svbart@nginx.com 15061185Svbart@nginx.com<change type="feature"> 15071185Svbart@nginx.com<para> 15081185Svbart@nginx.comisolation of application processes with Linux namespaces. 15091185Svbart@nginx.com</para> 15101185Svbart@nginx.com</change> 15111185Svbart@nginx.com 15121185Svbart@nginx.com<change type="feature"> 15131185Svbart@nginx.com<para> 15141185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 15151185Svbart@nginx.com</para> 15161185Svbart@nginx.com</change> 15171185Svbart@nginx.com 15181185Svbart@nginx.com<change type="feature"> 15191185Svbart@nginx.com<para> 15201185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 15211185Svbart@nginx.comusing URI encoding (%2F). 15221185Svbart@nginx.com</para> 15231185Svbart@nginx.com</change> 15241185Svbart@nginx.com 15251185Svbart@nginx.com<change type="bugfix"> 15261185Svbart@nginx.com<para> 15271185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 15281185Svbart@nginx.com</para> 15291185Svbart@nginx.com</change> 15301185Svbart@nginx.com 15311185Svbart@nginx.com<change type="bugfix"> 15321185Svbart@nginx.com<para> 15331185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 15341185Svbart@nginx.comGNU ld (e.g. gold or LLD). 15351185Svbart@nginx.com</para> 15361185Svbart@nginx.com</change> 15371185Svbart@nginx.com 15381185Svbart@nginx.com</changes> 15391185Svbart@nginx.com 15401185Svbart@nginx.com 15411142Sdefan@nginx.com<changes apply="unit 15421142Sdefan@nginx.com unit-php 15431142Sdefan@nginx.com unit-python unit-python2.7 15441142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15451142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 15461142Sdefan@nginx.com unit-perl 15471142Sdefan@nginx.com unit-ruby 15481142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15491142Sdefan@nginx.com ver="1.10.0" rev="2" 15501142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 15511142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15521142Sdefan@nginx.com 15531142Sdefan@nginx.com<change type="bugfix"> 15541142Sdefan@nginx.com<para> 15551142Sdefan@nginx.commissed header files added to unit development package. 15561142Sdefan@nginx.com</para> 15571142Sdefan@nginx.com</change> 15581142Sdefan@nginx.com 15591142Sdefan@nginx.com</changes> 15601142Sdefan@nginx.com 15611142Sdefan@nginx.com 15621134Svbart@nginx.com<changes apply="unit-php 15631134Svbart@nginx.com unit-python unit-python2.7 15641134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15651134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 15661134Svbart@nginx.com unit-perl 15671134Svbart@nginx.com unit-ruby 15681134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15691134Svbart@nginx.com ver="1.10.0" rev="1" 15701134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 15711134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15721134Svbart@nginx.com 15731134Svbart@nginx.com<change> 15741134Svbart@nginx.com<para> 15751134Svbart@nginx.comNGINX Unit updated to 1.10.0. 15761134Svbart@nginx.com</para> 15771134Svbart@nginx.com</change> 15781134Svbart@nginx.com 15791134Svbart@nginx.com</changes> 15801134Svbart@nginx.com 15811134Svbart@nginx.com 15821134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 15831134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 15841134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15851134Svbart@nginx.com 15861134Svbart@nginx.com<change type="change"> 15871134Svbart@nginx.com<para> 15881134Svbart@nginx.commatching of cookies in routes made case sensitive. 15891134Svbart@nginx.com</para> 15901134Svbart@nginx.com</change> 15911134Svbart@nginx.com 15921134Svbart@nginx.com<change type="change"> 15931134Svbart@nginx.com<para> 15941134Svbart@nginx.comdecreased log level of common errors when clients close connections. 15951134Svbart@nginx.com</para> 15961134Svbart@nginx.com</change> 15971134Svbart@nginx.com 15981134Svbart@nginx.com<change type="change"> 15991134Svbart@nginx.com<para> 16001134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 16011134Svbart@nginx.com</para> 16021134Svbart@nginx.com</change> 16031134Svbart@nginx.com 16041134Svbart@nginx.com<change type="feature"> 16051134Svbart@nginx.com<para> 16061134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 16071134Svbart@nginx.com</para> 16081134Svbart@nginx.com</change> 16091134Svbart@nginx.com 16101134Svbart@nginx.com<change type="feature"> 16111134Svbart@nginx.com<para> 16121134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 16131134Svbart@nginx.com</para> 16141134Svbart@nginx.com</change> 16151134Svbart@nginx.com 16161134Svbart@nginx.com<change type="feature"> 16171134Svbart@nginx.com<para> 16181134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 16191134Svbart@nginx.com</para> 16201134Svbart@nginx.com</change> 16211134Svbart@nginx.com 16221134Svbart@nginx.com<change type="feature"> 16231134Svbart@nginx.com<para> 16241134Svbart@nginx.comsupport for multipart requests body in Java module. 16251134Svbart@nginx.com</para> 16261134Svbart@nginx.com</change> 16271134Svbart@nginx.com 16281134Svbart@nginx.com<change type="feature"> 16291134Svbart@nginx.com<para> 16301134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 16311134Svbart@nginx.com</para> 16321134Svbart@nginx.com</change> 16331134Svbart@nginx.com 16341134Svbart@nginx.com<change type="bugfix"> 16351134Svbart@nginx.com<para> 16361134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 16371134Svbart@nginx.com</para> 16381134Svbart@nginx.com</change> 16391134Svbart@nginx.com 16401134Svbart@nginx.com<change type="bugfix"> 16411134Svbart@nginx.com<para> 16421134Svbart@nginx.comapplying a large configuration might have failed. 16431134Svbart@nginx.com</para> 16441134Svbart@nginx.com</change> 16451134Svbart@nginx.com 16461134Svbart@nginx.com</changes> 16471134Svbart@nginx.com 16481134Svbart@nginx.com 16491069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 16501069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 16511069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16521069Svbart@nginx.com 16531069Svbart@nginx.com<change> 16541069Svbart@nginx.com<para> 16551069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 16561069Svbart@nginx.com</para> 16571069Svbart@nginx.com</change> 16581069Svbart@nginx.com 16591069Svbart@nginx.com</changes> 16601069Svbart@nginx.com 16611069Svbart@nginx.com 16621069Svbart@nginx.com<changes apply="unit-php 16631069Svbart@nginx.com unit-python unit-python2.7 16641069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 16651069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 16661069Svbart@nginx.com unit-perl 16671069Svbart@nginx.com unit-ruby 16681069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 16691069Svbart@nginx.com ver="1.9.0" rev="1" 16701069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 16711069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16721069Svbart@nginx.com 16731069Svbart@nginx.com<change> 16741069Svbart@nginx.com<para> 16751069Svbart@nginx.comNGINX Unit updated to 1.9.0. 16761069Svbart@nginx.com</para> 16771069Svbart@nginx.com</change> 16781069Svbart@nginx.com 16791069Svbart@nginx.com</changes> 16801069Svbart@nginx.com 16811069Svbart@nginx.com 16821069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 16831069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 16841069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16851069Svbart@nginx.com 16861069Svbart@nginx.com<change type="feature"> 16871069Svbart@nginx.com<para> 16881069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 16891069Svbart@nginx.com</para> 16901069Svbart@nginx.com</change> 16911069Svbart@nginx.com 16921069Svbart@nginx.com<change type="feature"> 16931069Svbart@nginx.com<para> 16941069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 16951069Svbart@nginx.com</para> 16961069Svbart@nginx.com</change> 16971069Svbart@nginx.com 16981069Svbart@nginx.com<change type="feature"> 16991069Svbart@nginx.com<para> 17001069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 17011069Svbart@nginx.com</para> 17021069Svbart@nginx.com</change> 17031069Svbart@nginx.com 17041069Svbart@nginx.com<change type="feature"> 17051069Svbart@nginx.com<para> 17061069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 17071069Svbart@nginx.comon Linux without running main process as privileged user. 17081069Svbart@nginx.com</para> 17091069Svbart@nginx.com</change> 17101069Svbart@nginx.com 17111069Svbart@nginx.com<change type="bugfix"> 17121069Svbart@nginx.com<para> 17131069Svbart@nginx.commemory leak in the router process might have happened when a client 17141069Svbart@nginx.comprematurely closed the connection. 17151069Svbart@nginx.com</para> 17161069Svbart@nginx.com</change> 17171069Svbart@nginx.com 17181069Svbart@nginx.com<change type="bugfix"> 17191069Svbart@nginx.com<para> 17201069Svbart@nginx.comapplying a large configuration might have failed. 17211069Svbart@nginx.com</para> 17221069Svbart@nginx.com</change> 17231069Svbart@nginx.com 17241069Svbart@nginx.com<change type="bugfix"> 17251069Svbart@nginx.com<para> 17261069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 17271069Svbart@nginx.com</para> 17281069Svbart@nginx.com</change> 17291069Svbart@nginx.com 17301069Svbart@nginx.com<change type="bugfix"> 17311069Svbart@nginx.com<para> 17321069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 17331069Svbart@nginx.com</para> 17341069Svbart@nginx.com</change> 17351069Svbart@nginx.com 17361069Svbart@nginx.com<change type="bugfix"> 17371069Svbart@nginx.com<para> 17381069Svbart@nginx.comrestored compatibility with Node.js applications that use 17391069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 17401069Svbart@nginx.com</para> 17411069Svbart@nginx.com</change> 17421069Svbart@nginx.com 17431069Svbart@nginx.com<change type="bugfix"> 17441069Svbart@nginx.com<para> 17451069Svbart@nginx.comvarious compatibility issues with Node.js applications. 17461069Svbart@nginx.com</para> 17471069Svbart@nginx.com</change> 17481069Svbart@nginx.com 17491069Svbart@nginx.com</changes> 17501069Svbart@nginx.com 17511069Svbart@nginx.com 1752991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1753991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1754991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1755991Svbart@nginx.com 1756991Svbart@nginx.com<change> 1757991Svbart@nginx.com<para> 1758991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1759991Svbart@nginx.com</para> 1760991Svbart@nginx.com</change> 1761991Svbart@nginx.com 1762991Svbart@nginx.com</changes> 1763991Svbart@nginx.com 1764991Svbart@nginx.com 1765991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1766991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1767991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1768991Svbart@nginx.com 1769991Svbart@nginx.com<change> 1770991Svbart@nginx.com<para> 1771991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1772991Svbart@nginx.com</para> 1773991Svbart@nginx.com</change> 1774991Svbart@nginx.com 1775991Svbart@nginx.com</changes> 1776991Svbart@nginx.com 1777991Svbart@nginx.com 1778991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1779991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1780991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1781991Svbart@nginx.com 1782991Svbart@nginx.com<change> 1783991Svbart@nginx.com<para> 1784991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 1785991Svbart@nginx.com</para> 1786991Svbart@nginx.com</change> 1787991Svbart@nginx.com 1788991Svbart@nginx.com</changes> 1789991Svbart@nginx.com 1790991Svbart@nginx.com 1791991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 1792991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1793991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1794991Svbart@nginx.com 1795991Svbart@nginx.com<change> 1796991Svbart@nginx.com<para> 1797991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 1798991Svbart@nginx.com</para> 1799991Svbart@nginx.com</change> 1800991Svbart@nginx.com 1801991Svbart@nginx.com</changes> 1802991Svbart@nginx.com 1803991Svbart@nginx.com 1804991Svbart@nginx.com<changes apply="unit-php 1805991Svbart@nginx.com unit-python unit-python2.7 1806991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1807991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1808991Svbart@nginx.com unit-perl 1809991Svbart@nginx.com unit-ruby" 1810991Svbart@nginx.com ver="1.8.0" rev="1" 1811991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1812991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1813991Svbart@nginx.com 1814991Svbart@nginx.com<change> 1815991Svbart@nginx.com<para> 1816991Svbart@nginx.comNGINX Unit updated to 1.8.0. 1817991Svbart@nginx.com</para> 1818991Svbart@nginx.com</change> 1819991Svbart@nginx.com 1820991Svbart@nginx.com</changes> 1821991Svbart@nginx.com 1822991Svbart@nginx.com 1823991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 1824991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1825991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1826991Svbart@nginx.com 1827991Svbart@nginx.com<change type="change"> 1828991Svbart@nginx.com<para> 1829991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 1830991Svbart@nginx.comand patch versions. 1831991Svbart@nginx.com</para> 1832991Svbart@nginx.com</change> 1833991Svbart@nginx.com 1834991Svbart@nginx.com<change type="change"> 1835991Svbart@nginx.com<para> 1836991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 1837991Svbart@nginx.comthe query component. 1838991Svbart@nginx.com</para> 1839991Svbart@nginx.com</change> 1840991Svbart@nginx.com 1841991Svbart@nginx.com<change type="feature"> 1842991Svbart@nginx.com<para> 1843991Svbart@nginx.combasic internal request routing by Host, URI, and method. 1844991Svbart@nginx.com</para> 1845991Svbart@nginx.com</change> 1846991Svbart@nginx.com 1847991Svbart@nginx.com<change type="feature"> 1848991Svbart@nginx.com<para> 1849991Svbart@nginx.comexperimental support for Java Servlet Containers. 1850991Svbart@nginx.com</para> 1851991Svbart@nginx.com</change> 1852991Svbart@nginx.com 1853991Svbart@nginx.com<change type="bugfix"> 1854991Svbart@nginx.com<para> 1855991Svbart@nginx.comsegmentation fault might have occurred in the router process. 1856991Svbart@nginx.com</para> 1857991Svbart@nginx.com</change> 1858991Svbart@nginx.com 1859991Svbart@nginx.com<change type="bugfix"> 1860991Svbart@nginx.com<para> 1861991Svbart@nginx.comvarious potential memory leaks. 1862991Svbart@nginx.com</para> 1863991Svbart@nginx.com</change> 1864991Svbart@nginx.com 1865991Svbart@nginx.com<change type="bugfix"> 1866991Svbart@nginx.com<para> 1867991Svbart@nginx.comTLS connections might have stalled. 1868991Svbart@nginx.com</para> 1869991Svbart@nginx.com</change> 1870991Svbart@nginx.com 1871991Svbart@nginx.com<change type="bugfix"> 1872991Svbart@nginx.com<para> 1873991Svbart@nginx.comsome Perl applications might have failed to send the response body. 1874991Svbart@nginx.com</para> 1875991Svbart@nginx.com</change> 1876991Svbart@nginx.com 1877991Svbart@nginx.com<change type="bugfix"> 1878991Svbart@nginx.com<para> 1879991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 1880991Svbart@nginx.comthe bug had appeared in 1.5. 1881991Svbart@nginx.com</para> 1882991Svbart@nginx.com</change> 1883991Svbart@nginx.com 1884991Svbart@nginx.com<change type="bugfix"> 1885991Svbart@nginx.com<para> 1886991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 1887991Svbart@nginx.com</para> 1888991Svbart@nginx.com</change> 1889991Svbart@nginx.com 1890991Svbart@nginx.com</changes> 1891991Svbart@nginx.com 1892991Svbart@nginx.com 1893926Svbart@nginx.com<changes apply="unit-php 1894926Svbart@nginx.com unit-python unit-python2.7 1895926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1896926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1897926Svbart@nginx.com unit-perl 1898926Svbart@nginx.com unit-ruby" 1899926Svbart@nginx.com ver="1.7.1" rev="1" 1900926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1901926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1902926Svbart@nginx.com 1903926Svbart@nginx.com<change> 1904926Svbart@nginx.com<para> 1905926Svbart@nginx.comNGINX Unit updated to 1.7.1. 1906926Svbart@nginx.com</para> 1907926Svbart@nginx.com</change> 1908926Svbart@nginx.com 1909926Svbart@nginx.com</changes> 1910926Svbart@nginx.com 1911926Svbart@nginx.com 1912926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 1913926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1914926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1915926Svbart@nginx.com 1916926Svbart@nginx.com<change type="security"> 1917926Svbart@nginx.com<para> 1918926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 1919926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 1920926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 1921926Svbart@nginx.com</para> 1922926Svbart@nginx.com</change> 1923926Svbart@nginx.com 1924926Svbart@nginx.com<change type="bugfix"> 1925926Svbart@nginx.com<para> 1926926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 1927926Svbart@nginx.comthe bug had appeared in 1.7. 1928926Svbart@nginx.com</para> 1929926Svbart@nginx.com</change> 1930926Svbart@nginx.com 1931926Svbart@nginx.com</changes> 1932926Svbart@nginx.com 1933926Svbart@nginx.com 1934902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 1935902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 1936902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1937902Sdefan@nginx.com 1938902Sdefan@nginx.com<change> 1939902Sdefan@nginx.com<para> 1940902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 1941902Sdefan@nginx.com</para> 1942902Sdefan@nginx.com</change> 1943902Sdefan@nginx.com 1944902Sdefan@nginx.com</changes> 1945902Sdefan@nginx.com 1946902Sdefan@nginx.com 1947821Svbart@nginx.com<changes apply="unit-php 1948821Svbart@nginx.com unit-python unit-python2.7 1949821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1950821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1951821Svbart@nginx.com unit-perl 1952821Svbart@nginx.com unit-ruby" 1953886Svbart@nginx.com ver="1.7" rev="1" 1954886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1955886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1956886Svbart@nginx.com 1957886Svbart@nginx.com<change> 1958886Svbart@nginx.com<para> 1959886Svbart@nginx.comNGINX Unit updated to 1.7. 1960886Svbart@nginx.com</para> 1961886Svbart@nginx.com</change> 1962886Svbart@nginx.com 1963886Svbart@nginx.com</changes> 1964886Svbart@nginx.com 1965886Svbart@nginx.com 1966886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 1967886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1968886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1969886Svbart@nginx.com 1970886Svbart@nginx.com<change type="change"> 1971886Svbart@nginx.com<para> 1972886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 1973886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 1974886Svbart@nginx.com</para> 1975886Svbart@nginx.com</change> 1976886Svbart@nginx.com 1977886Svbart@nginx.com<change type="bugfix"> 1978886Svbart@nginx.com<para> 1979886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 1980886Svbart@nginx.comdid not work. 1981886Svbart@nginx.com</para> 1982886Svbart@nginx.com</change> 1983886Svbart@nginx.com 1984886Svbart@nginx.com<change type="bugfix"> 1985886Svbart@nginx.com<para> 1986886Svbart@nginx.comPromises on request data in Node.js were not triggered. 1987886Svbart@nginx.com</para> 1988886Svbart@nginx.com</change> 1989886Svbart@nginx.com 1990886Svbart@nginx.com<change type="bugfix"> 1991886Svbart@nginx.com<para> 1992886Svbart@nginx.comvarious compatibility issues with Node.js applications. 1993886Svbart@nginx.com</para> 1994886Svbart@nginx.com</change> 1995886Svbart@nginx.com 1996886Svbart@nginx.com<change type="bugfix"> 1997886Svbart@nginx.com<para> 1998886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 1999886Svbart@nginx.comrequest body after request.end() was called. 2000886Svbart@nginx.com</para> 2001886Svbart@nginx.com</change> 2002886Svbart@nginx.com 2003886Svbart@nginx.com<change type="bugfix"> 2004886Svbart@nginx.com<para> 2005886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 2006886Svbart@nginx.comsend header twice. 2007886Svbart@nginx.com</para> 2008886Svbart@nginx.com</change> 2009886Svbart@nginx.com 2010886Svbart@nginx.com<change type="bugfix"> 2011886Svbart@nginx.com<para> 2012886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 2013886Svbart@nginx.comcase-sensitive. 2014886Svbart@nginx.com</para> 2015886Svbart@nginx.com</change> 2016886Svbart@nginx.com 2017886Svbart@nginx.com<change type="bugfix"> 2018886Svbart@nginx.com<para> 2019886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 2020886Svbart@nginx.com</para> 2021886Svbart@nginx.com</change> 2022886Svbart@nginx.com 2023886Svbart@nginx.com<change type="bugfix"> 2024886Svbart@nginx.com<para> 2025886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 2026886Svbart@nginx.comthe bug had appeared in 1.6. 2027886Svbart@nginx.com</para> 2028886Svbart@nginx.com</change> 2029886Svbart@nginx.com 2030886Svbart@nginx.com<change type="bugfix"> 2031886Svbart@nginx.com<para> 2032886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 2033886Svbart@nginx.combe logged. 2034886Svbart@nginx.com</para> 2035886Svbart@nginx.com</change> 2036886Svbart@nginx.com 2037886Svbart@nginx.com<change type="bugfix"> 2038886Svbart@nginx.com<para> 2039886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 2040886Svbart@nginx.comenabled. 2041886Svbart@nginx.com</para> 2042886Svbart@nginx.com</change> 2043886Svbart@nginx.com 2044886Svbart@nginx.com</changes> 2045886Svbart@nginx.com 2046886Svbart@nginx.com 2047886Svbart@nginx.com<changes apply="unit-php 2048886Svbart@nginx.com unit-python unit-python2.7 2049886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2050886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2051886Svbart@nginx.com unit-perl 2052886Svbart@nginx.com unit-ruby" 2053846Svbart@nginx.com ver="1.6" rev="1" 2054846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2055846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2056846Svbart@nginx.com 2057846Svbart@nginx.com<change> 2058846Svbart@nginx.com<para> 2059846Svbart@nginx.comNGINX Unit updated to 1.6. 2060846Svbart@nginx.com</para> 2061846Svbart@nginx.com</change> 2062846Svbart@nginx.com 2063846Svbart@nginx.com</changes> 2064846Svbart@nginx.com 2065846Svbart@nginx.com 2066846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 2067846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2068846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2069846Svbart@nginx.com 2070846Svbart@nginx.com<change type="change"> 2071846Svbart@nginx.com<para> 2072846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 2073846Svbart@nginx.com</para> 2074846Svbart@nginx.com</change> 2075846Svbart@nginx.com 2076846Svbart@nginx.com<change type="feature"> 2077846Svbart@nginx.com<para> 2078846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 2079846Svbart@nginx.com</para> 2080846Svbart@nginx.com</change> 2081846Svbart@nginx.com 2082846Svbart@nginx.com<change type="bugfix"> 2083846Svbart@nginx.com<para> 2084846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 2085846Svbart@nginx.com</para> 2086846Svbart@nginx.com</change> 2087846Svbart@nginx.com 2088846Svbart@nginx.com<change type="bugfix"> 2089846Svbart@nginx.com<para> 2090846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 2091846Svbart@nginx.com</para> 2092846Svbart@nginx.com</change> 2093846Svbart@nginx.com 2094846Svbart@nginx.com<change type="bugfix"> 2095846Svbart@nginx.com<para> 2096846Svbart@nginx.comvarious compatibility issues with Node.js applications. 2097846Svbart@nginx.com</para> 2098846Svbart@nginx.com</change> 2099846Svbart@nginx.com 2100846Svbart@nginx.com<change type="bugfix"> 2101846Svbart@nginx.com<para> 2102846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 2103846Svbart@nginx.com</para> 2104846Svbart@nginx.com</change> 2105846Svbart@nginx.com 2106846Svbart@nginx.com<change type="bugfix"> 2107846Svbart@nginx.com<para> 2108885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 2109846Svbart@nginx.com</para> 2110846Svbart@nginx.com</change> 2111846Svbart@nginx.com 2112846Svbart@nginx.com</changes> 2113846Svbart@nginx.com 2114846Svbart@nginx.com 2115846Svbart@nginx.com<changes apply="unit-php 2116846Svbart@nginx.com unit-python unit-python2.7 2117846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2118846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2119846Svbart@nginx.com unit-perl 2120846Svbart@nginx.com unit-ruby" 2121821Svbart@nginx.com ver="1.5" rev="1" 2122821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2123821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2124821Svbart@nginx.com 2125821Svbart@nginx.com<change> 2126821Svbart@nginx.com<para> 2127821Svbart@nginx.comNGINX Unit updated to 1.5. 2128821Svbart@nginx.com</para> 2129821Svbart@nginx.com</change> 2130821Svbart@nginx.com 2131821Svbart@nginx.com</changes> 2132821Svbart@nginx.com 2133821Svbart@nginx.com 2134820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 2135820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2136820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2137820Svbart@nginx.com 2138820Svbart@nginx.com<change type="change"> 2139820Svbart@nginx.com<para> 2140820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 2141820Svbart@nginx.com</para> 2142820Svbart@nginx.com</change> 2143820Svbart@nginx.com 2144820Svbart@nginx.com<change type="feature"> 2145820Svbart@nginx.com<para> 2146820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 2147820Svbart@nginx.com</para> 2148820Svbart@nginx.com</change> 2149820Svbart@nginx.com 2150820Svbart@nginx.com<change type="feature"> 2151820Svbart@nginx.com<para> 2152820Svbart@nginx.comcompatibility with LibreSSL. 2153820Svbart@nginx.com</para> 2154820Svbart@nginx.com</change> 2155820Svbart@nginx.com 2156820Svbart@nginx.com<change type="feature"> 2157820Svbart@nginx.com<para> 2158820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 2159820Svbart@nginx.comand static library. 2160820Svbart@nginx.com</para> 2161820Svbart@nginx.com</change> 2162820Svbart@nginx.com 2163820Svbart@nginx.com<change type="bugfix"> 2164820Svbart@nginx.com<para> 2165820Svbart@nginx.comconnection might be closed prematurely while sending response; 2166820Svbart@nginx.comthe bug had appeared in 1.3. 2167820Svbart@nginx.com</para> 2168820Svbart@nginx.com</change> 2169820Svbart@nginx.com 2170820Svbart@nginx.com<change type="bugfix"> 2171820Svbart@nginx.com<para> 2172820Svbart@nginx.comapplication processes might have stopped handling requests, producing 2173820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 2174820Svbart@nginx.comthe bug had appeared in 1.4. 2175820Svbart@nginx.com</para> 2176820Svbart@nginx.com</change> 2177820Svbart@nginx.com 2178820Svbart@nginx.com<change type="bugfix"> 2179820Svbart@nginx.com<para> 2180885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 2181820Svbart@nginx.com</para> 2182820Svbart@nginx.com</change> 2183820Svbart@nginx.com 2184820Svbart@nginx.com</changes> 2185820Svbart@nginx.com 2186820Svbart@nginx.com 2187689Svbart@nginx.com<changes apply="unit-php 2188689Svbart@nginx.com unit-python unit-python2.7 2189689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2190689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2191689Svbart@nginx.com unit-perl 2192689Svbart@nginx.com unit-ruby" 2193788Sdefan@nginx.com ver="1.4" rev="2" 2194788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2195788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2196788Sdefan@nginx.com 2197788Sdefan@nginx.com<change type="bugfix"> 2198788Sdefan@nginx.com<para> 2199788Sdefan@nginx.comcorrected instructions for launching sample application. 2200788Sdefan@nginx.com</para> 2201788Sdefan@nginx.com</change> 2202788Sdefan@nginx.com 2203788Sdefan@nginx.com</changes> 2204788Sdefan@nginx.com 2205788Sdefan@nginx.com 2206788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 2207788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2208788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2209788Sdefan@nginx.com 2210788Sdefan@nginx.com<change type="change"> 2211788Sdefan@nginx.com<para> 2212788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 2213788Sdefan@nginx.com</para> 2214788Sdefan@nginx.com</change> 2215788Sdefan@nginx.com 2216788Sdefan@nginx.com</changes> 2217788Sdefan@nginx.com 2218788Sdefan@nginx.com 2219788Sdefan@nginx.com<changes apply="unit-php 2220788Sdefan@nginx.com unit-python unit-python2.7 2221788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2222788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2223788Sdefan@nginx.com unit-perl 2224788Sdefan@nginx.com unit-ruby" 2225783Svbart@nginx.com ver="1.4" rev="1" 2226783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2227783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2228783Svbart@nginx.com 2229783Svbart@nginx.com<change> 2230783Svbart@nginx.com<para> 2231783Svbart@nginx.comNGINX Unit updated to 1.4. 2232783Svbart@nginx.com</para> 2233783Svbart@nginx.com</change> 2234783Svbart@nginx.com 2235783Svbart@nginx.com</changes> 2236783Svbart@nginx.com 2237783Svbart@nginx.com 2238783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 2239783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2240783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2241783Svbart@nginx.com 2242783Svbart@nginx.com<change type="change"> 2243783Svbart@nginx.com<para> 2244783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 2245783Svbart@nginx.com</para> 2246783Svbart@nginx.com</change> 2247783Svbart@nginx.com 2248783Svbart@nginx.com<change type="feature"> 2249783Svbart@nginx.com<para> 2250783Svbart@nginx.comTLS support for client connections. 2251783Svbart@nginx.com</para> 2252783Svbart@nginx.com</change> 2253783Svbart@nginx.com 2254783Svbart@nginx.com<change type="feature"> 2255783Svbart@nginx.com<para> 2256783Svbart@nginx.comTLS certificates storage control API. 2257783Svbart@nginx.com</para> 2258783Svbart@nginx.com</change> 2259783Svbart@nginx.com 2260783Svbart@nginx.com<change type="feature"> 2261783Svbart@nginx.com<para> 2262783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 2263783Svbart@nginx.com</para> 2264783Svbart@nginx.com</change> 2265783Svbart@nginx.com 2266783Svbart@nginx.com<change type="feature"> 2267783Svbart@nginx.com<para> 2268783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 2269783Svbart@nginx.com</para> 2270783Svbart@nginx.com</change> 2271783Svbart@nginx.com 2272783Svbart@nginx.com<change type="feature"> 2273783Svbart@nginx.com<para> 2274783Svbart@nginx.comimprovements in OpenBSD support. 2275783Svbart@nginx.comThanks to David Carlier. 2276783Svbart@nginx.com</para> 2277783Svbart@nginx.com</change> 2278783Svbart@nginx.com 2279783Svbart@nginx.com<change type="bugfix"> 2280783Svbart@nginx.com<para> 2281783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 2282783Svbart@nginx.com</para> 2283783Svbart@nginx.com</change> 2284783Svbart@nginx.com 2285783Svbart@nginx.com<change type="bugfix"> 2286783Svbart@nginx.com<para> 2287783Svbart@nginx.combuilding on systems with non-default locale might be broken. 2288783Svbart@nginx.com</para> 2289783Svbart@nginx.com</change> 2290783Svbart@nginx.com 2291783Svbart@nginx.com<change type="bugfix"> 2292783Svbart@nginx.com<para> 2293783Svbart@nginx.com"header_read_timeout" might not work properly. 2294783Svbart@nginx.com</para> 2295783Svbart@nginx.com</change> 2296783Svbart@nginx.com 2297783Svbart@nginx.com<change type="bugfix"> 2298783Svbart@nginx.com<para> 2299783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 2300783Svbart@nginx.comin Python 3 module. 2301783Svbart@nginx.com</para> 2302783Svbart@nginx.com</change> 2303783Svbart@nginx.com 2304783Svbart@nginx.com</changes> 2305783Svbart@nginx.com 2306783Svbart@nginx.com 2307783Svbart@nginx.com<changes apply="unit-php 2308783Svbart@nginx.com unit-python unit-python2.7 2309783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2310783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2311783Svbart@nginx.com unit-perl 2312783Svbart@nginx.com unit-ruby" 2313727Svbart@nginx.com ver="1.3" rev="1" 2314727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2315727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2316727Svbart@nginx.com 2317727Svbart@nginx.com<change> 2318727Svbart@nginx.com<para> 2319727Svbart@nginx.comNGINX Unit updated to 1.3. 2320727Svbart@nginx.com</para> 2321727Svbart@nginx.com</change> 2322727Svbart@nginx.com 2323727Svbart@nginx.com</changes> 2324727Svbart@nginx.com 2325727Svbart@nginx.com 2326727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 2327727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2328727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2329727Svbart@nginx.com 2330727Svbart@nginx.com<change type="change"> 2331727Svbart@nginx.com<para> 2332727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 2333727Svbart@nginx.com</para> 2334727Svbart@nginx.com</change> 2335727Svbart@nginx.com 2336727Svbart@nginx.com<change type="feature"> 2337727Svbart@nginx.com<para> 2338727Svbart@nginx.comconfiguration of the request body size limit. 2339727Svbart@nginx.com</para> 2340727Svbart@nginx.com</change> 2341727Svbart@nginx.com 2342727Svbart@nginx.com<change type="feature"> 2343727Svbart@nginx.com<para> 2344727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 2345727Svbart@nginx.com</para> 2346727Svbart@nginx.com</change> 2347727Svbart@nginx.com 2348727Svbart@nginx.com<change type="feature"> 2349727Svbart@nginx.com<para> 2350727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 2351727Svbart@nginx.com</para> 2352727Svbart@nginx.com</change> 2353727Svbart@nginx.com 2354727Svbart@nginx.com<change type="feature"> 2355727Svbart@nginx.com<para> 2356727Svbart@nginx.comhttp.Flusher interface in Go module. 2357727Svbart@nginx.com</para> 2358727Svbart@nginx.com</change> 2359727Svbart@nginx.com 2360727Svbart@nginx.com<change type="bugfix"> 2361727Svbart@nginx.com<para> 2362727Svbart@nginx.comvarious issues in HTTP connection errors handling. 2363727Svbart@nginx.com</para> 2364727Svbart@nginx.com</change> 2365727Svbart@nginx.com 2366727Svbart@nginx.com<change type="bugfix"> 2367727Svbart@nginx.com<para> 2368727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 2369727Svbart@nginx.com</para> 2370727Svbart@nginx.com</change> 2371727Svbart@nginx.com 2372727Svbart@nginx.com<change type="bugfix"> 2373727Svbart@nginx.com<para> 2374727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 2375727Svbart@nginx.comto previous values after the first request in application process. 2376727Svbart@nginx.com</para> 2377727Svbart@nginx.com</change> 2378727Svbart@nginx.com 2379727Svbart@nginx.com</changes> 2380727Svbart@nginx.com 2381727Svbart@nginx.com 2382727Svbart@nginx.com<changes apply="unit-php 2383727Svbart@nginx.com unit-python unit-python2.7 2384727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2385727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2386727Svbart@nginx.com unit-perl 2387727Svbart@nginx.com unit-ruby" 2388689Svbart@nginx.com ver="1.2" rev="1" 2389689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2390689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2391689Svbart@nginx.com 2392689Svbart@nginx.com<change> 2393689Svbart@nginx.com<para> 2394689Svbart@nginx.comNGINX Unit updated to 1.2. 2395689Svbart@nginx.com</para> 2396689Svbart@nginx.com</change> 2397689Svbart@nginx.com 2398689Svbart@nginx.com</changes> 2399689Svbart@nginx.com 2400689Svbart@nginx.com 2401689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 2402689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2403689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2404689Svbart@nginx.com 2405689Svbart@nginx.com<change type="feature"> 2406689Svbart@nginx.com<para> 2407689Svbart@nginx.comconfiguration of environment variables for application processes. 2408689Svbart@nginx.com</para> 2409689Svbart@nginx.com</change> 2410689Svbart@nginx.com 2411689Svbart@nginx.com<change type="feature"> 2412689Svbart@nginx.com<para> 2413689Svbart@nginx.comcustomization of php.ini path. 2414689Svbart@nginx.com</para> 2415689Svbart@nginx.com</change> 2416689Svbart@nginx.com 2417689Svbart@nginx.com<change type="feature"> 2418689Svbart@nginx.com<para> 2419689Svbart@nginx.comsetting of individual PHP configuration options. 2420689Svbart@nginx.com</para> 2421689Svbart@nginx.com</change> 2422689Svbart@nginx.com 2423689Svbart@nginx.com<change type="feature"> 2424689Svbart@nginx.com<para> 2425689Svbart@nginx.comconfiguration of execution arguments for Go applications. 2426689Svbart@nginx.com</para> 2427689Svbart@nginx.com</change> 2428689Svbart@nginx.com 2429689Svbart@nginx.com<change type="bugfix"> 2430689Svbart@nginx.com<para> 2431689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 2432689Svbart@nginx.com</para> 2433689Svbart@nginx.com</change> 2434689Svbart@nginx.com 2435689Svbart@nginx.com</changes> 2436689Svbart@nginx.com 2437689Svbart@nginx.com 2438672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 2439672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 2440672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2441672Sdefan@nginx.com 2442672Sdefan@nginx.com<change> 2443672Sdefan@nginx.com<para> 2444672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 2445672Sdefan@nginx.com</para> 2446672Sdefan@nginx.com</change> 2447672Sdefan@nginx.com 2448672Sdefan@nginx.com</changes> 2449672Sdefan@nginx.com 2450672Sdefan@nginx.com 2451548Sdefan@nginx.com<changes apply="unit-php 2452548Sdefan@nginx.com unit-python unit-python2.7 2453548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2454548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2455639Svbart@nginx.com unit-perl 2456639Svbart@nginx.com unit-ruby" 2457666Svbart@nginx.com ver="1.1" rev="1" 2458666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2459666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2460666Svbart@nginx.com 2461666Svbart@nginx.com<change> 2462666Svbart@nginx.com<para> 2463666Svbart@nginx.comNGINX Unit updated to 1.1. 2464666Svbart@nginx.com</para> 2465666Svbart@nginx.com</change> 2466666Svbart@nginx.com 2467666Svbart@nginx.com</changes> 2468666Svbart@nginx.com 2469666Svbart@nginx.com 2470666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 2471666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2472666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2473666Svbart@nginx.com 2474666Svbart@nginx.com<change type="bugfix"> 2475666Svbart@nginx.com<para> 2476666Svbart@nginx.comPython applications that use the write() callable did not work. 2477666Svbart@nginx.com</para> 2478666Svbart@nginx.com</change> 2479666Svbart@nginx.com 2480666Svbart@nginx.com<change type="bugfix"> 2481666Svbart@nginx.com<para> 2482666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2483666Svbart@nginx.com</para> 2484666Svbart@nginx.com</change> 2485666Svbart@nginx.com 2486666Svbart@nginx.com<change type="bugfix"> 2487666Svbart@nginx.com<para> 2488666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2489666Svbart@nginx.comwhen the whole body was read. 2490666Svbart@nginx.com</para> 2491666Svbart@nginx.com</change> 2492666Svbart@nginx.com 2493666Svbart@nginx.com<change type="bugfix"> 2494666Svbart@nginx.com<para> 2495666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2496666Svbart@nginx.com</para> 2497666Svbart@nginx.com</change> 2498666Svbart@nginx.com 2499666Svbart@nginx.com<change type="bugfix"> 2500666Svbart@nginx.com<para> 2501666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2502666Svbart@nginx.com</para> 2503666Svbart@nginx.com</change> 2504666Svbart@nginx.com 2505666Svbart@nginx.com<change type="bugfix"> 2506666Svbart@nginx.com<para> 2507666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2508666Svbart@nginx.com</para> 2509666Svbart@nginx.com</change> 2510666Svbart@nginx.com 2511666Svbart@nginx.com<change type="bugfix"> 2512666Svbart@nginx.com<para> 2513666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2514666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2515666Svbart@nginx.com</para> 2516666Svbart@nginx.com</change> 2517666Svbart@nginx.com 2518666Svbart@nginx.com<change type="bugfix"> 2519666Svbart@nginx.com<para> 2520666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2521666Svbart@nginx.comon 32-bit platforms. 2522666Svbart@nginx.com</para> 2523666Svbart@nginx.com</change> 2524666Svbart@nginx.com 2525666Svbart@nginx.com</changes> 2526666Svbart@nginx.com 2527666Svbart@nginx.com 2528666Svbart@nginx.com<changes apply="unit-php 2529666Svbart@nginx.com unit-python unit-python2.7 2530666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2531666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2532666Svbart@nginx.com unit-perl 2533666Svbart@nginx.com unit-ruby" 2534639Svbart@nginx.com ver="1.0" rev="1" 2535639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2536639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2537639Svbart@nginx.com 2538639Svbart@nginx.com<change> 2539639Svbart@nginx.com<para> 2540639Svbart@nginx.comNGINX Unit updated to 1.0. 2541639Svbart@nginx.com</para> 2542639Svbart@nginx.com</change> 2543639Svbart@nginx.com 2544639Svbart@nginx.com</changes> 2545639Svbart@nginx.com 2546639Svbart@nginx.com 2547639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2548639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2549639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2550639Svbart@nginx.com 2551639Svbart@nginx.com<change type="change"> 2552639Svbart@nginx.com<para> 2553639Svbart@nginx.comconfiguration object moved into "/config/" path. 2554639Svbart@nginx.com</para> 2555639Svbart@nginx.com</change> 2556639Svbart@nginx.com 2557639Svbart@nginx.com<change type="feature"> 2558639Svbart@nginx.com<para> 2559639Svbart@nginx.combasic access logging. 2560639Svbart@nginx.com</para> 2561639Svbart@nginx.com</change> 2562639Svbart@nginx.com 2563639Svbart@nginx.com<change type="bugfix"> 2564639Svbart@nginx.com<para> 2565639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2566639Svbart@nginx.com</para> 2567639Svbart@nginx.com</change> 2568639Svbart@nginx.com 2569639Svbart@nginx.com<change type="bugfix"> 2570639Svbart@nginx.com<para> 2571663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2572639Svbart@nginx.com</para> 2573639Svbart@nginx.com</change> 2574639Svbart@nginx.com 2575639Svbart@nginx.com<change type="bugfix"> 2576639Svbart@nginx.com<para> 2577639Svbart@nginx.comvarious stability issues. 2578639Svbart@nginx.com</para> 2579639Svbart@nginx.com</change> 2580639Svbart@nginx.com 2581639Svbart@nginx.com</changes> 2582639Svbart@nginx.com 2583639Svbart@nginx.com 2584639Svbart@nginx.com<changes apply="unit-php 2585639Svbart@nginx.com unit-python unit-python2.7 2586639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2587639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2588548Sdefan@nginx.com unit-perl" 2589586Svbart@nginx.com ver="0.7" rev="1" 2590586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2591586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2592586Svbart@nginx.com 2593586Svbart@nginx.com<change> 2594586Svbart@nginx.com<para> 2595586Svbart@nginx.comNGINX Unit updated to 0.7. 2596586Svbart@nginx.com</para> 2597586Svbart@nginx.com</change> 2598586Svbart@nginx.com 2599586Svbart@nginx.com</changes> 2600586Svbart@nginx.com 2601586Svbart@nginx.com 2602600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2603600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2604600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2605600Sdefan@nginx.com 2606600Sdefan@nginx.com<change> 2607600Sdefan@nginx.com<para> 2608600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2609600Sdefan@nginx.com</para> 2610600Sdefan@nginx.com</change> 2611600Sdefan@nginx.com 2612600Sdefan@nginx.com</changes> 2613600Sdefan@nginx.com 2614600Sdefan@nginx.com 2615586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2616586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2617586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2618586Svbart@nginx.com 2619586Svbart@nginx.com<change type="feature"> 2620586Svbart@nginx.com<para> 2621586Svbart@nginx.comRuby application module. 2622586Svbart@nginx.com</para> 2623586Svbart@nginx.com</change> 2624586Svbart@nginx.com 2625586Svbart@nginx.com<change type="bugfix"> 2626586Svbart@nginx.com<para> 2627586Svbart@nginx.comin discovering modules. 2628586Svbart@nginx.com</para> 2629586Svbart@nginx.com</change> 2630586Svbart@nginx.com 2631586Svbart@nginx.com<change type="bugfix"> 2632586Svbart@nginx.com<para> 2633586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2634586Svbart@nginx.com</para> 2635586Svbart@nginx.com</change> 2636586Svbart@nginx.com 2637586Svbart@nginx.com<change type="bugfix"> 2638586Svbart@nginx.com<para> 2639586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2640586Svbart@nginx.com</para> 2641586Svbart@nginx.com</change> 2642586Svbart@nginx.com 2643586Svbart@nginx.com<change type="bugfix"> 2644586Svbart@nginx.com<para> 2645586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2646586Svbart@nginx.comoutside of WSGI callable. 2647586Svbart@nginx.com</para> 2648586Svbart@nginx.com</change> 2649586Svbart@nginx.com 2650586Svbart@nginx.com<change type="bugfix"> 2651586Svbart@nginx.com<para> 2652663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2653663Svbart@nginx.comwhile initialization. 2654586Svbart@nginx.com</para> 2655586Svbart@nginx.com</change> 2656586Svbart@nginx.com 2657586Svbart@nginx.com</changes> 2658586Svbart@nginx.com 2659586Svbart@nginx.com 2660586Svbart@nginx.com<changes apply="unit-php 2661586Svbart@nginx.com unit-python unit-python2.7 2662586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2663586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2664586Svbart@nginx.com unit-perl" 2665548Sdefan@nginx.com ver="0.6" rev="1" 2666539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2667539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2668539Svbart@nginx.com 2669539Svbart@nginx.com<change> 2670539Svbart@nginx.com<para> 2671539Svbart@nginx.comNGINX Unit updated to 0.6. 2672539Svbart@nginx.com</para> 2673539Svbart@nginx.com</change> 2674539Svbart@nginx.com 2675539Svbart@nginx.com</changes> 2676539Svbart@nginx.com 2677539Svbart@nginx.com 2678539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2679539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2680539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2681539Svbart@nginx.com 2682539Svbart@nginx.com<change type="bugfix"> 2683539Svbart@nginx.com<para> 2684539Svbart@nginx.comthe main process died when the "type" application option contained version; 2685539Svbart@nginx.comthe bug had appeared in 0.5. 2686539Svbart@nginx.com</para> 2687539Svbart@nginx.com</change> 2688539Svbart@nginx.com 2689539Svbart@nginx.com</changes> 2690539Svbart@nginx.com 2691539Svbart@nginx.com 2692548Sdefan@nginx.com<changes apply="unit-php 2693548Sdefan@nginx.com unit-python unit-python2.7 2694548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2695548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2696548Sdefan@nginx.com ver="0.5" rev="1" 2697531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2698531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2699531Svbart@nginx.com 2700531Svbart@nginx.com<change> 2701531Svbart@nginx.com<para> 2702531Svbart@nginx.comNGINX Unit updated to 0.5. 2703531Svbart@nginx.com</para> 2704531Svbart@nginx.com</change> 2705531Svbart@nginx.com 2706531Svbart@nginx.com</changes> 2707531Svbart@nginx.com 2708531Svbart@nginx.com 2709524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2710531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2711524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2712524Sdefan@nginx.com 2713524Sdefan@nginx.com<change> 2714524Sdefan@nginx.com<para> 2715524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2716524Sdefan@nginx.com</para> 2717524Sdefan@nginx.com</change> 2718524Sdefan@nginx.com 2719524Sdefan@nginx.com</changes> 2720524Sdefan@nginx.com 2721524Sdefan@nginx.com 2722531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2723531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2724531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2725531Svbart@nginx.com 2726531Svbart@nginx.com<change type="change"> 2727531Svbart@nginx.com<para> 2728531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2729531Svbart@nginx.comapplication option should be used instead. 2730531Svbart@nginx.com</para> 2731531Svbart@nginx.com</change> 2732531Svbart@nginx.com 2733531Svbart@nginx.com<change type="feature"> 2734531Svbart@nginx.com<para> 2735531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2736531Svbart@nginx.comprocess management support. 2737531Svbart@nginx.com</para> 2738531Svbart@nginx.com</change> 2739531Svbart@nginx.com 2740531Svbart@nginx.com<change type="feature"> 2741531Svbart@nginx.com<para> 2742531Svbart@nginx.comPerl application module. 2743531Svbart@nginx.com</para> 2744531Svbart@nginx.com</change> 2745531Svbart@nginx.com 2746531Svbart@nginx.com<change type="bugfix"> 2747531Svbart@nginx.com<para> 2748531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2749531Svbart@nginx.com</para> 2750531Svbart@nginx.com</change> 2751531Svbart@nginx.com 2752531Svbart@nginx.com<change type="bugfix"> 2753531Svbart@nginx.com<para> 2754663Svbart@nginx.comsome Python applications might not have worked due to missing 2755531Svbart@nginx.com"wsgi.errors" environ variable. 2756531Svbart@nginx.com</para> 2757531Svbart@nginx.com</change> 2758531Svbart@nginx.com 2759531Svbart@nginx.com<change type="bugfix"> 2760531Svbart@nginx.com<para> 2761531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2762531Svbart@nginx.complatforms. 2763531Svbart@nginx.com</para> 2764531Svbart@nginx.com</change> 2765531Svbart@nginx.com 2766531Svbart@nginx.com<change type="bugfix"> 2767531Svbart@nginx.com<para> 2768531Svbart@nginx.cominfinite looping in HTTP parser. 2769531Svbart@nginx.com</para> 2770531Svbart@nginx.com</change> 2771531Svbart@nginx.com 2772531Svbart@nginx.com<change type="bugfix"> 2773531Svbart@nginx.com<para> 2774531Svbart@nginx.comsegmentation fault in router. 2775531Svbart@nginx.com</para> 2776531Svbart@nginx.com</change> 2777531Svbart@nginx.com 2778531Svbart@nginx.com</changes> 2779531Svbart@nginx.com 2780531Svbart@nginx.com 2781548Sdefan@nginx.com<changes apply="unit-php 2782548Sdefan@nginx.com unit-python unit-python2.7 2783548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2784548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2785548Sdefan@nginx.com ver="0.4" rev="1" 2786469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2787469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2788469Sigor@sysoev.ru 2789469Sigor@sysoev.ru<change> 2790469Sigor@sysoev.ru<para> 2791469Sigor@sysoev.ruNGINX Unit updated to 0.4. 2792469Sigor@sysoev.ru</para> 2793469Sigor@sysoev.ru</change> 2794469Sigor@sysoev.ru 2795469Sigor@sysoev.ru</changes> 2796469Sigor@sysoev.ru 2797469Sigor@sysoev.ru 2798469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 2799469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2800469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2801469Sigor@sysoev.ru 2802469Sigor@sysoev.ru<change type="feature"> 2803469Sigor@sysoev.ru<para> 2804469Sigor@sysoev.rucompatibility with DragonFly BSD. 2805469Sigor@sysoev.ru</para> 2806469Sigor@sysoev.ru</change> 2807469Sigor@sysoev.ru 2808469Sigor@sysoev.ru<change type="feature"> 2809469Sigor@sysoev.ru<para> 2810469Sigor@sysoev.ru"configure php --lib-static" option. 2811469Sigor@sysoev.ru</para> 2812469Sigor@sysoev.ru</change> 2813469Sigor@sysoev.ru 2814469Sigor@sysoev.ru<change type="bugfix"> 2815469Sigor@sysoev.ru<para> 2816469Sigor@sysoev.ruHTTP request body was not passed to application; 2817469Sigor@sysoev.ruthe bug had appeared in 0.3. 2818469Sigor@sysoev.ru</para> 2819469Sigor@sysoev.ru</change> 2820469Sigor@sysoev.ru 2821469Sigor@sysoev.ru<change type="bugfix"> 2822469Sigor@sysoev.ru<para> 2823469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 2824469Sigor@sysoev.ruthe bug had appeared in 0.3. 2825469Sigor@sysoev.ru</para> 2826469Sigor@sysoev.ru</change> 2827469Sigor@sysoev.ru 2828469Sigor@sysoev.ru<change type="bugfix"> 2829469Sigor@sysoev.ru<para> 2830663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 2831469Sigor@sysoev.ru</para> 2832469Sigor@sysoev.ru</change> 2833469Sigor@sysoev.ru 2834469Sigor@sysoev.ru</changes> 2835469Sigor@sysoev.ru 2836469Sigor@sysoev.ru 2837441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 2838441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2839441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2840441Sdefan@nginx.com 2841441Sdefan@nginx.com<change> 2842441Sdefan@nginx.com<para> 2843441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 2844441Sdefan@nginx.com</para> 2845441Sdefan@nginx.com</change> 2846441Sdefan@nginx.com 2847441Sdefan@nginx.com</changes> 2848441Sdefan@nginx.com 2849441Sdefan@nginx.com 2850441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 2851441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2852441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2853441Sdefan@nginx.com 2854441Sdefan@nginx.com<change> 2855441Sdefan@nginx.com<para> 2856441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 2857441Sdefan@nginx.com</para> 2858441Sdefan@nginx.com</change> 2859441Sdefan@nginx.com 2860441Sdefan@nginx.com</changes> 2861441Sdefan@nginx.com 2862441Sdefan@nginx.com 2863548Sdefan@nginx.com<changes apply="unit-php 2864548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 2865548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 2866548Sdefan@nginx.com ver="0.3" rev="1" 2867432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2868432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2869432Sigor@sysoev.ru 2870432Sigor@sysoev.ru<change> 2871432Sigor@sysoev.ru<para> 2872432Sigor@sysoev.ruNGINX Unit updated to 0.3. 2873432Sigor@sysoev.ru</para> 2874432Sigor@sysoev.ru</change> 2875432Sigor@sysoev.ru 2876432Sigor@sysoev.ru</changes> 2877432Sigor@sysoev.ru 2878432Sigor@sysoev.ru 2879432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 2880432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2881432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2882432Sigor@sysoev.ru 2883432Sigor@sysoev.ru<change type="change"> 2884432Sigor@sysoev.ru<para> 2885432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 2886432Sigor@sysoev.ru</para> 2887432Sigor@sysoev.ru</change> 2888432Sigor@sysoev.ru 2889432Sigor@sysoev.ru<change type="change"> 2890432Sigor@sysoev.ru<para> 2891432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 2892432Sigor@sysoev.rutime in queue now are not accounted. 2893432Sigor@sysoev.ru</para> 2894432Sigor@sysoev.ru</change> 2895432Sigor@sysoev.ru 2896432Sigor@sysoev.ru<change type="feature"> 2897432Sigor@sysoev.ru<para> 2898432Sigor@sysoev.ruthe "limits.requests" application option. 2899432Sigor@sysoev.ru</para> 2900432Sigor@sysoev.ru</change> 2901432Sigor@sysoev.ru 2902432Sigor@sysoev.ru<change type="feature"> 2903432Sigor@sysoev.ru<para> 2904432Sigor@sysoev.ruapplication request processing latency optimization. 2905432Sigor@sysoev.ru</para> 2906432Sigor@sysoev.ru</change> 2907432Sigor@sysoev.ru 2908432Sigor@sysoev.ru<change type="feature"> 2909432Sigor@sysoev.ru<para> 2910432Sigor@sysoev.ruHTTP keep-alive connections support. 2911432Sigor@sysoev.ru</para> 2912432Sigor@sysoev.ru</change> 2913432Sigor@sysoev.ru 2914432Sigor@sysoev.ru<change type="feature"> 2915432Sigor@sysoev.ru<para> 2916432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 2917432Sigor@sysoev.ru</para> 2918432Sigor@sysoev.ru</change> 2919432Sigor@sysoev.ru 2920432Sigor@sysoev.ru<change type="feature"> 2921432Sigor@sysoev.ru<para> 2922432Sigor@sysoev.ruPython atexit hook support. 2923432Sigor@sysoev.ru</para> 2924432Sigor@sysoev.ru</change> 2925432Sigor@sysoev.ru 2926432Sigor@sysoev.ru<change type="feature"> 2927432Sigor@sysoev.ru<para> 2928432Sigor@sysoev.ruvarious Go package improvements. 2929432Sigor@sysoev.ru</para> 2930432Sigor@sysoev.ru</change> 2931432Sigor@sysoev.ru 2932432Sigor@sysoev.ru<change type="bugfix"> 2933432Sigor@sysoev.ru<para> 2934432Sigor@sysoev.ruvarious crashes fixed. 2935432Sigor@sysoev.ru</para> 2936432Sigor@sysoev.ru</change> 2937432Sigor@sysoev.ru 2938432Sigor@sysoev.ru</changes> 2939432Sigor@sysoev.ru 2940432Sigor@sysoev.ru 2941372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 2942372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2943372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2944372Sdefan@nginx.com 2945372Sdefan@nginx.com<change> 2946372Sdefan@nginx.com<para> 2947372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 2948372Sdefan@nginx.com</para> 2949372Sdefan@nginx.com</change> 2950372Sdefan@nginx.com 2951372Sdefan@nginx.com</changes> 2952372Sdefan@nginx.com 2953372Sdefan@nginx.com 2954373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 2955373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2956373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2957373Sdefan@nginx.com 2958373Sdefan@nginx.com<change> 2959373Sdefan@nginx.com<para> 2960373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 2961373Sdefan@nginx.com</para> 2962373Sdefan@nginx.com</change> 2963373Sdefan@nginx.com 2964373Sdefan@nginx.com</changes> 2965373Sdefan@nginx.com 2966373Sdefan@nginx.com 2967373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 2968373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2969373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2970373Sdefan@nginx.com 2971373Sdefan@nginx.com<change> 2972373Sdefan@nginx.com<para> 2973373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 2974373Sdefan@nginx.com</para> 2975373Sdefan@nginx.com</change> 2976373Sdefan@nginx.com 2977373Sdefan@nginx.com</changes> 2978373Sdefan@nginx.com 2979373Sdefan@nginx.com 2980372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 2981372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2982372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2983372Sdefan@nginx.com 2984372Sdefan@nginx.com<change> 2985372Sdefan@nginx.com<para> 2986372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 2987372Sdefan@nginx.com</para> 2988372Sdefan@nginx.com</change> 2989372Sdefan@nginx.com 2990372Sdefan@nginx.com</changes> 2991372Sdefan@nginx.com 2992372Sdefan@nginx.com 2993373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 2994373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2995373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2996373Sdefan@nginx.com 2997373Sdefan@nginx.com<change> 2998373Sdefan@nginx.com<para> 2999373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 3000373Sdefan@nginx.com</para> 3001373Sdefan@nginx.com</change> 3002373Sdefan@nginx.com 3003373Sdefan@nginx.com</changes> 3004373Sdefan@nginx.com 3005373Sdefan@nginx.com 3006373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 3007373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3008373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3009373Sdefan@nginx.com 3010373Sdefan@nginx.com<change> 3011373Sdefan@nginx.com<para> 3012373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 3013373Sdefan@nginx.com</para> 3014373Sdefan@nginx.com</change> 3015373Sdefan@nginx.com 3016373Sdefan@nginx.com</changes> 3017373Sdefan@nginx.com 3018373Sdefan@nginx.com 3019373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 3020373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3021373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3022373Sdefan@nginx.com 3023373Sdefan@nginx.com<change> 3024373Sdefan@nginx.com<para> 3025373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 3026373Sdefan@nginx.com</para> 3027373Sdefan@nginx.com</change> 3028373Sdefan@nginx.com 3029373Sdefan@nginx.com</changes> 3030373Sdefan@nginx.com 3031373Sdefan@nginx.com 3032372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 3033372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3034372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3035372Sdefan@nginx.com 3036372Sdefan@nginx.com<change> 3037372Sdefan@nginx.com<para> 3038372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 3039372Sdefan@nginx.com</para> 3040372Sdefan@nginx.com</change> 3041372Sdefan@nginx.com 3042372Sdefan@nginx.com</changes> 3043372Sdefan@nginx.com 3044372Sdefan@nginx.com 3045370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 3046370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 3047370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3048370Sigor@sysoev.ru 3049370Sigor@sysoev.ru<change type="feature"> 3050370Sigor@sysoev.ru<para> 3051370Sigor@sysoev.ruconfiguration persistence. 3052370Sigor@sysoev.ru</para> 3053370Sigor@sysoev.ru</change> 3054370Sigor@sysoev.ru 3055370Sigor@sysoev.ru<change type="feature"> 3056370Sigor@sysoev.ru<para> 3057370Sigor@sysoev.ruimproved handling of configuration errors. 3058370Sigor@sysoev.ru</para> 3059370Sigor@sysoev.ru</change> 3060370Sigor@sysoev.ru 3061370Sigor@sysoev.ru<change type="feature"> 3062370Sigor@sysoev.ru<para> 3063370Sigor@sysoev.ruapplication "timeout" property. 3064370Sigor@sysoev.ru</para> 3065370Sigor@sysoev.ru</change> 3066370Sigor@sysoev.ru 3067370Sigor@sysoev.ru<change type="bugfix"> 3068370Sigor@sysoev.ru<para> 3069370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 3070370Sigor@sysoev.ru</para> 3071370Sigor@sysoev.ru</change> 3072370Sigor@sysoev.ru 3073370Sigor@sysoev.ru<change type="bugfix"> 3074370Sigor@sysoev.ru<para> 3075370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 3076370Sigor@sysoev.ru</para> 3077370Sigor@sysoev.ru</change> 3078370Sigor@sysoev.ru 3079370Sigor@sysoev.ru<change type="bugfix"> 3080370Sigor@sysoev.ru<para> 3081370Sigor@sysoev.ruthe router crashed under load. 3082370Sigor@sysoev.ru</para> 3083370Sigor@sysoev.ru</change> 3084370Sigor@sysoev.ru 3085370Sigor@sysoev.ru<change type="bugfix"> 3086370Sigor@sysoev.ru<para> 3087370Sigor@sysoev.rumemory leak in the router. 3088370Sigor@sysoev.ru</para> 3089370Sigor@sysoev.ru</change> 3090370Sigor@sysoev.ru 3091370Sigor@sysoev.ru</changes> 3092370Sigor@sysoev.ru 3093370Sigor@sysoev.ru 3094369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 3095369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 3096369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3097369Sdefan@nginx.com 3098369Sdefan@nginx.com<change> 3099369Sdefan@nginx.com<para> 3100369Sdefan@nginx.comFirst public release. 3101369Sdefan@nginx.com</para> 3102369Sdefan@nginx.com</change> 3103369Sdefan@nginx.com 3104369Sdefan@nginx.com</changes> 3105369Sdefan@nginx.com 3106369Sdefan@nginx.com 3107369Sdefan@nginx.com</change_log> 3108