1369Sdefan@nginx.com<?xml version="1.0" ?> 2369Sdefan@nginx.com<!DOCTYPE change_log SYSTEM "changes.dtd" > 3369Sdefan@nginx.com 4369Sdefan@nginx.com 5369Sdefan@nginx.com<change_log title="unit"> 6369Sdefan@nginx.com 7369Sdefan@nginx.com 82029Svbart@nginx.com<changes apply="unit-php 92029Svbart@nginx.com unit-python unit-python2.7 102029Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 112029Svbart@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 122029Svbart@nginx.com unit-go 132029Svbart@nginx.com unit-perl 142029Svbart@nginx.com unit-ruby 152029Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 162029Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 172029Svbart@nginx.com ver="1.26.1" rev="1" 182029Svbart@nginx.com date="" time="" 192029Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 202029Svbart@nginx.com 212029Svbart@nginx.com<change> 222029Svbart@nginx.com<para> 232029Svbart@nginx.comNGINX Unit updated to 1.26.1. 242029Svbart@nginx.com</para> 252029Svbart@nginx.com</change> 262029Svbart@nginx.com 272029Svbart@nginx.com</changes> 282029Svbart@nginx.com 292029Svbart@nginx.com 302029Svbart@nginx.com<changes apply="unit" ver="1.26.1" rev="1" 312029Svbart@nginx.com date="" time="" 322029Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 332029Svbart@nginx.com 342033Smax.romanov@nginx.com<change type="bugfix"> 352033Smax.romanov@nginx.com<para> 36*2044Svbart@nginx.comoccasionally, the Unit daemon was unable to fully terminate; the bug had 37*2044Svbart@nginx.comappeared in 1.26.0. 382033Smax.romanov@nginx.com</para> 392033Smax.romanov@nginx.com</change> 402033Smax.romanov@nginx.com 412034Smax.romanov@nginx.com<change type="bugfix"> 422034Smax.romanov@nginx.com<para> 43*2044Svbart@nginx.coma prototype process could crash on an application process exit; the bug had 442034Smax.romanov@nginx.comappeared in 1.26.0. 452034Smax.romanov@nginx.com</para> 462034Smax.romanov@nginx.com</change> 472034Smax.romanov@nginx.com 482035Svbart@nginx.com<change type="bugfix"> 492035Svbart@nginx.com<para> 50*2044Svbart@nginx.comthe router process crashed on reconfiguration if "access_log" was configured 51*2044Svbart@nginx.comwithout listeners. 52*2044Svbart@nginx.com</para> 53*2044Svbart@nginx.com</change> 54*2044Svbart@nginx.com 55*2044Svbart@nginx.com<change type="bugfix"> 56*2044Svbart@nginx.com<para> 572035Svbart@nginx.coma segmentation fault occurred in the PHP module if chdir() or 582035Svbart@nginx.comfastcgi_finish_request() was called in the OPcache preloading script. 592035Svbart@nginx.com</para> 602035Svbart@nginx.com</change> 612035Svbart@nginx.com 622040Smax.romanov@nginx.com<change type="bugfix"> 632040Smax.romanov@nginx.com<para> 642041Smax.romanov@nginx.comfatal errors on DragonFly BSD; the bug had appeared in 1.26.0. 652041Smax.romanov@nginx.com</para> 662041Smax.romanov@nginx.com</change> 672041Smax.romanov@nginx.com 682029Svbart@nginx.com</changes> 692029Svbart@nginx.com 702029Svbart@nginx.com 711973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1" 722007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 731973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 741973Sdefan@nginx.com 751973Sdefan@nginx.com<change> 761973Sdefan@nginx.com<para> 771973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit. 781973Sdefan@nginx.com</para> 791973Sdefan@nginx.com</change> 801973Sdefan@nginx.com 811973Sdefan@nginx.com</changes> 821973Sdefan@nginx.com 831973Sdefan@nginx.com 841973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1" 852007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 861973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 871973Sdefan@nginx.com 881973Sdefan@nginx.com<change> 891973Sdefan@nginx.com<para> 901973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit. 911973Sdefan@nginx.com</para> 921973Sdefan@nginx.com</change> 931973Sdefan@nginx.com 941973Sdefan@nginx.com</changes> 951973Sdefan@nginx.com 961973Sdefan@nginx.com 971896Svbart@nginx.com<changes apply="unit-php 981896Svbart@nginx.com unit-python unit-python2.7 991896Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1001896Svbart@nginx.com unit-python3.8 unit-python3.9 1011896Svbart@nginx.com unit-go 1021896Svbart@nginx.com unit-perl 1031896Svbart@nginx.com unit-ruby 1041896Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1051896Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 1061951Svbart@nginx.com ver="1.26.0" rev="1" 1072007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 1081951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1091951Svbart@nginx.com 1101951Svbart@nginx.com<change> 1111951Svbart@nginx.com<para> 1121951Svbart@nginx.comNGINX Unit updated to 1.26.0. 1131951Svbart@nginx.com</para> 1141951Svbart@nginx.com</change> 1151951Svbart@nginx.com 1161951Svbart@nginx.com</changes> 1171951Svbart@nginx.com 1181951Svbart@nginx.com 1191951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1" 1202007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 1211951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1221951Svbart@nginx.com 1231960Sz.hong@f5.com<change type="change"> 1241960Sz.hong@f5.com<para> 1251960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves, 1261960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI. 1271960Sz.hong@f5.com</para> 1281960Sz.hong@f5.com</change> 1291960Sz.hong@f5.com 1301960Sz.hong@f5.com<change type="feature"> 1311960Sz.hong@f5.com<para> 1322006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior 1332006Svbart@nginx.comwhen updating from previous versions. 1342006Svbart@nginx.com</para> 1352006Svbart@nginx.com</change> 1362006Svbart@nginx.com 1372006Svbart@nginx.com<change type="feature"> 1382006Svbart@nginx.com<para> 1391960Sz.hong@f5.comvariables support in the "share" option. 1401960Sz.hong@f5.com</para> 1411960Sz.hong@f5.com</change> 1421960Sz.hong@f5.com 1431959Sz.hong@f5.com<change type="feature"> 1441959Sz.hong@f5.com<para> 1451961Sz.hong@f5.commultiple paths in the "share" option. 1461961Sz.hong@f5.com</para> 1471961Sz.hong@f5.com</change> 1481961Sz.hong@f5.com 1491961Sz.hong@f5.com<change type="feature"> 1501961Sz.hong@f5.com<para> 1511959Sz.hong@f5.comvariables support in the "chroot" option. 1521959Sz.hong@f5.com</para> 1531959Sz.hong@f5.com</change> 1541959Sz.hong@f5.com 1551969Sz.hong@f5.com<change type="feature"> 1561969Sz.hong@f5.com<para> 1572006Svbart@nginx.comPHP opcache is shared between application processes. 1581969Sz.hong@f5.com</para> 1591969Sz.hong@f5.com</change> 1601969Sz.hong@f5.com 1611991Sz.hong@f5.com<change type="feature"> 1621991Sz.hong@f5.com<para> 1631991Sz.hong@f5.comrequest routing by the query string. 1641991Sz.hong@f5.com</para> 1651991Sz.hong@f5.com</change> 1661991Sz.hong@f5.com 1671955Smax.romanov@nginx.com<change type="bugfix"> 1681955Smax.romanov@nginx.com<para> 1692006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached 1702006Svbart@nginx.comby asynchronous or multithreaded apps. 1711955Smax.romanov@nginx.com</para> 1721955Smax.romanov@nginx.com</change> 1731955Smax.romanov@nginx.com 1741956Smax.romanov@nginx.com<change type="bugfix"> 1751956Smax.romanov@nginx.com<para> 1761956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client 1771956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured. 1781956Smax.romanov@nginx.com</para> 1791956Smax.romanov@nginx.com</change> 1801956Smax.romanov@nginx.com 1811992Smax.romanov@nginx.com<change type="bugfix"> 1821992Smax.romanov@nginx.com<para> 1832006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35. 1841992Smax.romanov@nginx.com</para> 1851992Smax.romanov@nginx.com</change> 1861992Smax.romanov@nginx.com 1871951Svbart@nginx.com</changes> 1881951Svbart@nginx.com 1891951Svbart@nginx.com 1901951Svbart@nginx.com<changes apply="unit-php 1911951Svbart@nginx.com unit-python unit-python2.7 1921951Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1931951Svbart@nginx.com unit-python3.8 unit-python3.9 1941951Svbart@nginx.com unit-go 1951951Svbart@nginx.com unit-perl 1961951Svbart@nginx.com unit-ruby 1971951Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1981951Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 1991896Svbart@nginx.com ver="1.25.0" rev="1" 2001945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 2011896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2021896Svbart@nginx.com 2031896Svbart@nginx.com<change> 2041896Svbart@nginx.com<para> 2051896Svbart@nginx.comNGINX Unit updated to 1.25.0. 2061896Svbart@nginx.com</para> 2071896Svbart@nginx.com</change> 2081896Svbart@nginx.com 2091896Svbart@nginx.com</changes> 2101896Svbart@nginx.com 2111896Svbart@nginx.com 2121896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 2131945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 2141896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2151896Svbart@nginx.com 2161910So.canty@f5.com<change type="feature"> 2171910So.canty@f5.com<para> 2181944Svbart@nginx.comclient IP address replacement from a specified HTTP header field. 2191942Sa.suvorov@f5.com</para> 2201942Sa.suvorov@f5.com</change> 2211942Sa.suvorov@f5.com 2221942Sa.suvorov@f5.com<change type="feature"> 2231942Sa.suvorov@f5.com<para> 2241920Sa.suvorov@f5.comTLS sessions cache. 2251920Sa.suvorov@f5.com</para> 2261920Sa.suvorov@f5.com</change> 2271920Sa.suvorov@f5.com 2281920Sa.suvorov@f5.com<change type="feature"> 2291920Sa.suvorov@f5.com<para> 2301944Svbart@nginx.comTLS session tickets. 2311910So.canty@f5.com</para> 2321910So.canty@f5.com</change> 2331910So.canty@f5.com 2341926Smax.romanov@nginx.com<change type="feature"> 2351926Smax.romanov@nginx.com<para> 2361926Smax.romanov@nginx.comapplication restart control. 2371926Smax.romanov@nginx.com</para> 2381926Smax.romanov@nginx.com</change> 2391926Smax.romanov@nginx.com 2401936So.canty@f5.com<change type="feature"> 2411936So.canty@f5.com<para> 2421944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby. 2431936So.canty@f5.com</para> 2441936So.canty@f5.com</change> 2451936So.canty@f5.com 2461907Smax.romanov@nginx.com<change type="bugfix"> 2471907Smax.romanov@nginx.com<para> 2481944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners 2491944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0. 2501921Sa.suvorov@f5.com</para> 2511921Sa.suvorov@f5.com</change> 2521921Sa.suvorov@f5.com 2531921Sa.suvorov@f5.com<change type="bugfix"> 2541921Sa.suvorov@f5.com<para> 2551944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate 2561944Svbart@nginx.combundles in a listener if the client did not use SNI. 2571907Smax.romanov@nginx.com</para> 2581907Smax.romanov@nginx.com</change> 2591907Smax.romanov@nginx.com 2601907Smax.romanov@nginx.com<change type="bugfix"> 2611907Smax.romanov@nginx.com<para> 2621950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application 2631915Smax.romanov@nginx.comreconfiguration. 2641915Smax.romanov@nginx.com</para> 2651915Smax.romanov@nginx.com</change> 2661915Smax.romanov@nginx.com 2671915Smax.romanov@nginx.com<change type="bugfix"> 2681915Smax.romanov@nginx.com<para> 2691944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette 2701944Svbart@nginx.comframework. 2711944Svbart@nginx.com</para> 2721944Svbart@nginx.com</change> 2731944Svbart@nginx.com 2741944Svbart@nginx.com<change type="bugfix"> 2751944Svbart@nginx.com<para> 2761944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process 2771944Svbart@nginx.comstopped or crashed. 2781907Smax.romanov@nginx.com</para> 2791907Smax.romanov@nginx.com</change> 2801907Smax.romanov@nginx.com 2811909So.canty@f5.com<change type="bugfix"> 2821909So.canty@f5.com<para> 2831909So.canty@f5.comthe controller or router process could crash if the configuration contained 2841909So.canty@f5.coma full-form IPv6 in a listener address. 2851909So.canty@f5.com</para> 2861909So.canty@f5.com</change> 2871909So.canty@f5.com 2881916Smax.romanov@nginx.com<change type="bugfix"> 2891916Smax.romanov@nginx.com<para> 2901929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes" 2911929Sz.hong@f5.comor "upstreams" using a variable "pass" option. 2921929Sz.hong@f5.com</para> 2931929Sz.hong@f5.com</change> 2941929Sz.hong@f5.com 2951930So.canty@f5.com<change type="bugfix"> 2961930So.canty@f5.com<para> 2971944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source 2981944Svbart@nginx.comor destination address patterns. 2991930So.canty@f5.com</para> 3001930So.canty@f5.com</change> 3011930So.canty@f5.com 3021896Svbart@nginx.com</changes> 3031896Svbart@nginx.com 3041896Svbart@nginx.com 3051887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 3061891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3071887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3081887Sdefan@nginx.com 3091887Sdefan@nginx.com<change> 3101887Sdefan@nginx.com<para> 3111887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit. 3121887Sdefan@nginx.com</para> 3131887Sdefan@nginx.com</change> 3141887Sdefan@nginx.com 3151887Sdefan@nginx.com</changes> 3161887Sdefan@nginx.com 3171887Sdefan@nginx.com 3181887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 3191891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3201887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3211887Sdefan@nginx.com 3221887Sdefan@nginx.com<change> 3231887Sdefan@nginx.com<para> 3241887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 3251887Sdefan@nginx.com</para> 3261887Sdefan@nginx.com</change> 3271887Sdefan@nginx.com 3281887Sdefan@nginx.com</changes> 3291887Sdefan@nginx.com 3301887Sdefan@nginx.com 3311834Svbart@nginx.com<changes apply="unit-php 3321834Svbart@nginx.com unit-python unit-python2.7 3331834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3341834Svbart@nginx.com unit-python3.8 unit-python3.9 3351834Svbart@nginx.com unit-go 3361834Svbart@nginx.com unit-perl 3371834Svbart@nginx.com unit-ruby 3381834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3391834Svbart@nginx.com unit-jsc14 unit-jsc15" 3401839Svbart@nginx.com ver="1.24.0" rev="1" 3411891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3421839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3431839Svbart@nginx.com 3441839Svbart@nginx.com<change> 3451839Svbart@nginx.com<para> 3461839Svbart@nginx.comNGINX Unit updated to 1.24.0. 3471839Svbart@nginx.com</para> 3481839Svbart@nginx.com</change> 3491839Svbart@nginx.com 3501839Svbart@nginx.com</changes> 3511839Svbart@nginx.com 3521839Svbart@nginx.com 3531839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 3541891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3551839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3561839Svbart@nginx.com 3571882So.canty@f5.com<change type="change"> 3581882So.canty@f5.com<para> 3591882So.canty@f5.comPHP added to the default MIME type list. 3601882So.canty@f5.com</para> 3611882So.canty@f5.com</change> 3621882So.canty@f5.com 3631855Sz.hong@f5.com<change type="feature"> 3641855Sz.hong@f5.com<para> 3651885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands. 3661885Sa.suvorov@f5.com</para> 3671885Sa.suvorov@f5.com</change> 3681885Sa.suvorov@f5.com 3691885Sa.suvorov@f5.com<change type="feature"> 3701885Sa.suvorov@f5.com<para> 3711890Svbart@nginx.comthe ability to limit static file serving by MIME types. 3721890Svbart@nginx.com</para> 3731890Svbart@nginx.com</change> 3741890Svbart@nginx.com 3751890Svbart@nginx.com<change type="feature"> 3761890Svbart@nginx.com<para> 3771890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount 3781890Svbart@nginx.compoint traversal on a per-request basis when serving static files. 3791872So.canty@f5.com</para> 3801872So.canty@f5.com</change> 3811872So.canty@f5.com 3821872So.canty@f5.com<change type="feature"> 3831872So.canty@f5.com<para> 3841889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 3851889Sartem.konev@nginx.comNode.js. 3861865So.canty@f5.com</para> 3871865So.canty@f5.com</change> 3881865So.canty@f5.com 3891865So.canty@f5.com<change type="feature"> 3901865So.canty@f5.com<para> 3911890Svbart@nginx.commultiple "targets" in Python applications. 3921855Sz.hong@f5.com</para> 3931855Sz.hong@f5.com</change> 3941855Sz.hong@f5.com 3951870So.canty@f5.com<change type="feature"> 3961870So.canty@f5.com<para> 3971870So.canty@f5.comcompatibility with Ruby 3.0. 3981870So.canty@f5.com</para> 3991870So.canty@f5.com</change> 4001870So.canty@f5.com 4011861Svbart@nginx.com<change type="bugfix"> 4021861Svbart@nginx.com<para> 4031889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection. 4041884Sa.suvorov@f5.com</para> 4051884Sa.suvorov@f5.com</change> 4061884Sa.suvorov@f5.com 4071884Sa.suvorov@f5.com<change type="bugfix"> 4081884Sa.suvorov@f5.com<para> 4091861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 4101861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 4111861Svbart@nginx.com</para> 4121861Svbart@nginx.com</change> 4131861Svbart@nginx.com 4141839Svbart@nginx.com</changes> 4151839Svbart@nginx.com 4161839Svbart@nginx.com 4171839Svbart@nginx.com<changes apply="unit-php 4181839Svbart@nginx.com unit-python unit-python2.7 4191839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4201839Svbart@nginx.com unit-python3.8 unit-python3.9 4211839Svbart@nginx.com unit-go 4221839Svbart@nginx.com unit-perl 4231839Svbart@nginx.com unit-ruby 4241839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 4251839Svbart@nginx.com unit-jsc14 unit-jsc15" 4261834Svbart@nginx.com ver="1.23.0" rev="1" 4271834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 4281834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4291834Svbart@nginx.com 4301834Svbart@nginx.com<change> 4311834Svbart@nginx.com<para> 4321834Svbart@nginx.comNGINX Unit updated to 1.23.0. 4331834Svbart@nginx.com</para> 4341834Svbart@nginx.com</change> 4351834Svbart@nginx.com 4361834Svbart@nginx.com</changes> 4371834Svbart@nginx.com 4381834Svbart@nginx.com 4391806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 4401834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 4411806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4421806Svbart@nginx.com 4431825Sthresh@nginx.com<change type="feature"> 4441825Sthresh@nginx.com<para> 4451833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 4461828Sa.suvorov@f5.comIndication (SNI) TLS extension. 4471828Sa.suvorov@f5.com</para> 4481828Sa.suvorov@f5.com</change> 4491828Sa.suvorov@f5.com 4501828Sa.suvorov@f5.com<change type="feature"> 4511828Sa.suvorov@f5.com<para> 4521833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 4531833Sartem.konev@nginx.cominstallation. 4541825Sthresh@nginx.com</para> 4551825Sthresh@nginx.com</change> 4561825Sthresh@nginx.com 4571811Smax.romanov@nginx.com<change type="bugfix"> 4581811Smax.romanov@nginx.com<para> 4591812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 4601812Svbart@nginx.comappeared in 1.17.0. 4611812Svbart@nginx.com</para> 4621812Svbart@nginx.com</change> 4631812Svbart@nginx.com 4641812Svbart@nginx.com<change type="bugfix"> 4651812Svbart@nginx.com<para> 4661833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 4671812Svbart@nginx.comappeared in 1.6. 4681812Svbart@nginx.com</para> 4691812Svbart@nginx.com</change> 4701812Svbart@nginx.com 4711812Svbart@nginx.com<change type="bugfix"> 4721812Svbart@nginx.com<para> 4731833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 4741832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 4751832Smax.romanov@nginx.com</para> 4761832Smax.romanov@nginx.com</change> 4771832Smax.romanov@nginx.com 4781832Smax.romanov@nginx.com<change type="bugfix"> 4791832Smax.romanov@nginx.com<para> 4801833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 4811811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 4821811Smax.romanov@nginx.com</para> 4831811Smax.romanov@nginx.com</change> 4841806Svbart@nginx.com 4851813Svbart@nginx.com<change type="bugfix"> 4861813Svbart@nginx.com<para> 4871813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 4881813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 4891813Svbart@nginx.com</para> 4901813Svbart@nginx.com</change> 4911813Svbart@nginx.com 4921814Svbart@nginx.com<change type="bugfix"> 4931814Svbart@nginx.com<para> 4941820Svbart@nginx.comthe controller process could crash while requesting information about a 4951820Svbart@nginx.comcertificate with a non-DNS SAN entry. 4961820Svbart@nginx.com</para> 4971820Svbart@nginx.com</change> 4981820Svbart@nginx.com 4991820Svbart@nginx.com<change type="bugfix"> 5001820Svbart@nginx.com<para> 5011822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 5021833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 5031822Svbart@nginx.com</para> 5041822Svbart@nginx.com</change> 5051822Svbart@nginx.com 5061822Svbart@nginx.com<change type="bugfix"> 5071822Svbart@nginx.com<para> 5081833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 5091833Sartem.konev@nginx.comclass. 5101814Svbart@nginx.com</para> 5111814Svbart@nginx.com</change> 5121814Svbart@nginx.com 5131815Svbart@nginx.com<change type="bugfix"> 5141815Svbart@nginx.com<para> 5151815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 5161815Svbart@nginx.comappeared in 1.22.0. 5171815Svbart@nginx.com</para> 5181815Svbart@nginx.com</change> 5191815Svbart@nginx.com 5201806Svbart@nginx.com</changes> 5211806Svbart@nginx.com 5221806Svbart@nginx.com 5231798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 5241798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 5251798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5261798Sdefan@nginx.com 5271798Sdefan@nginx.com<change> 5281798Sdefan@nginx.com<para> 5291798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 5301798Sdefan@nginx.com</para> 5311798Sdefan@nginx.com</change> 5321798Sdefan@nginx.com 5331798Sdefan@nginx.com</changes> 5341798Sdefan@nginx.com 5351798Sdefan@nginx.com 5361763Sdefan@nginx.com<changes apply="unit-php 5371763Sdefan@nginx.com unit-python unit-python2.7 5381763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5391763Sdefan@nginx.com unit-python3.8 5401763Sdefan@nginx.com unit-go 5411763Sdefan@nginx.com unit-perl 5421763Sdefan@nginx.com unit-ruby 5431763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 5441763Sdefan@nginx.com unit-jsc14 unit-jsc15" 5451763Sdefan@nginx.com ver="1.22.0" rev="1" 5461793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 5471763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5481763Sdefan@nginx.com 5491763Sdefan@nginx.com<change> 5501763Sdefan@nginx.com<para> 5511763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 5521763Sdefan@nginx.com</para> 5531763Sdefan@nginx.com</change> 5541763Sdefan@nginx.com 5551763Sdefan@nginx.com</changes> 5561763Sdefan@nginx.com 5571763Sdefan@nginx.com 5581727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 5591793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 5601727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5611727Svbart@nginx.com 5621759Svbart@nginx.com<change type="feature"> 5631759Svbart@nginx.com<para> 5641792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 5651792Svbart@nginx.comcompliant with Stream API. 5661759Svbart@nginx.com</para> 5671759Svbart@nginx.com</change> 5681759Svbart@nginx.com 5691766Smax.romanov@nginx.com<change type="feature"> 5701766Smax.romanov@nginx.com<para> 5711792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 5721792Svbart@nginx.comapps. 5731732Svbart@nginx.com</para> 5741732Svbart@nginx.com</change> 5751732Svbart@nginx.com 5761733Svbart@nginx.com<change type="bugfix"> 5771733Svbart@nginx.com<para> 5781792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 5791792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 5801754Smax.romanov@nginx.com</para> 5811754Smax.romanov@nginx.com</change> 5821754Smax.romanov@nginx.com 5831755Smax.romanov@nginx.com<change type="bugfix"> 5841755Smax.romanov@nginx.com<para> 5851790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 5861755Smax.romanov@nginx.comappeared in 1.19.0. 5871755Smax.romanov@nginx.com</para> 5881755Smax.romanov@nginx.com</change> 5891755Smax.romanov@nginx.com 5901756Smax.romanov@nginx.com<change type="bugfix"> 5911756Smax.romanov@nginx.com<para> 5921790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 5931790Sartem.konev@nginx.comappeared in 1.19.0. 5941756Smax.romanov@nginx.com</para> 5951756Smax.romanov@nginx.com</change> 5961756Smax.romanov@nginx.com 5971760Smax.romanov@nginx.com<change type="bugfix"> 5981760Smax.romanov@nginx.com<para> 5991792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 6001792Svbart@nginx.com</para> 6011792Svbart@nginx.com</change> 6021792Svbart@nginx.com 6031792Svbart@nginx.com<change type="bugfix"> 6041792Svbart@nginx.com<para> 6051792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 6061792Svbart@nginx.commissing in the PHP module. 6071792Svbart@nginx.com</para> 6081792Svbart@nginx.com</change> 6091792Svbart@nginx.com 6101792Svbart@nginx.com<change type="bugfix"> 6111792Svbart@nginx.com<para> 6121792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 6131792Svbart@nginx.com</para> 6141792Svbart@nginx.com</change> 6151792Svbart@nginx.com 6161792Svbart@nginx.com<change type="bugfix"> 6171792Svbart@nginx.com<para> 6181792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 6191792Svbart@nginx.com</para> 6201792Svbart@nginx.com</change> 6211792Svbart@nginx.com 6221792Svbart@nginx.com<change type="bugfix"> 6231792Svbart@nginx.com<para> 6241792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 6251792Svbart@nginx.comthe bug had appeared in 1.21.0. 6261760Smax.romanov@nginx.com</para> 6271760Smax.romanov@nginx.com</change> 6281760Smax.romanov@nginx.com 6291780Smax.romanov@nginx.com<change type="bugfix"> 6301780Smax.romanov@nginx.com<para> 6311790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 6321790Sartem.konev@nginx.comWebSocket. 6331780Smax.romanov@nginx.com</para> 6341780Smax.romanov@nginx.com</change> 6351780Smax.romanov@nginx.com 6361789Smax.romanov@nginx.com<change type="bugfix"> 6371789Smax.romanov@nginx.com<para> 6381789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 6391789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 6401789Smax.romanov@nginx.com</para> 6411789Smax.romanov@nginx.com</change> 6421789Smax.romanov@nginx.com 6431727Svbart@nginx.com</changes> 6441727Svbart@nginx.com 6451727Svbart@nginx.com 6461722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 6471722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6481722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6491722Svbart@nginx.com 6501722Svbart@nginx.com<change> 6511722Svbart@nginx.com<para> 6521722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 6531722Svbart@nginx.com</para> 6541722Svbart@nginx.com</change> 6551722Svbart@nginx.com 6561722Svbart@nginx.com</changes> 6571722Svbart@nginx.com 6581722Svbart@nginx.com 6591722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 6601722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6611722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6621722Svbart@nginx.com 6631722Svbart@nginx.com<change> 6641722Svbart@nginx.com<para> 6651722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 6661722Svbart@nginx.com</para> 6671722Svbart@nginx.com</change> 6681722Svbart@nginx.com 6691722Svbart@nginx.com</changes> 6701722Svbart@nginx.com 6711722Svbart@nginx.com 6721722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 6731722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6741722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6751722Svbart@nginx.com 6761722Svbart@nginx.com<change> 6771722Svbart@nginx.com<para> 6781722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 6791722Svbart@nginx.com</para> 6801722Svbart@nginx.com</change> 6811722Svbart@nginx.com 6821722Svbart@nginx.com</changes> 6831722Svbart@nginx.com 6841722Svbart@nginx.com 6851722Svbart@nginx.com<changes apply="unit-php 6861722Svbart@nginx.com unit-python unit-python2.7 6871722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6881722Svbart@nginx.com unit-python3.8 6891722Svbart@nginx.com unit-go 6901722Svbart@nginx.com unit-perl 6911722Svbart@nginx.com unit-ruby 6921722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6931722Svbart@nginx.com ver="1.21.0" rev="1" 6941722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6951722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6961722Svbart@nginx.com 6971722Svbart@nginx.com<change> 6981722Svbart@nginx.com<para> 6991722Svbart@nginx.comNGINX Unit updated to 1.21.0. 7001722Svbart@nginx.com</para> 7011722Svbart@nginx.com</change> 7021722Svbart@nginx.com 7031722Svbart@nginx.com</changes> 7041722Svbart@nginx.com 7051722Svbart@nginx.com 7061722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 7071722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 7081722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7091722Svbart@nginx.com 7101722Svbart@nginx.com<change type="change"> 7111722Svbart@nginx.com<para> 7121722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 7131722Svbart@nginx.com</para> 7141722Svbart@nginx.com</change> 7151722Svbart@nginx.com 7161722Svbart@nginx.com<change type="change"> 7171722Svbart@nginx.com<para> 7181722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 7191722Svbart@nginx.comnames. 7201722Svbart@nginx.com</para> 7211722Svbart@nginx.com</change> 7221722Svbart@nginx.com 7231722Svbart@nginx.com<change type="change"> 7241722Svbart@nginx.com<para> 7251722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 7261722Svbart@nginx.comdefault. 7271722Svbart@nginx.com</para> 7281722Svbart@nginx.com</change> 7291722Svbart@nginx.com 7301722Svbart@nginx.com<change type="feature"> 7311722Svbart@nginx.com<para> 7321722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 7331722Svbart@nginx.com</para> 7341722Svbart@nginx.com</change> 7351722Svbart@nginx.com 7361722Svbart@nginx.com<change type="feature"> 7371722Svbart@nginx.com<para> 7381722Svbart@nginx.comregular expressions in route matching patterns. 7391722Svbart@nginx.com</para> 7401722Svbart@nginx.com</change> 7411722Svbart@nginx.com 7421722Svbart@nginx.com<change type="feature"> 7431722Svbart@nginx.com<para> 7441722Svbart@nginx.comcompatibility with Python 3.9. 7451722Svbart@nginx.com</para> 7461722Svbart@nginx.com</change> 7471722Svbart@nginx.com 7481722Svbart@nginx.com<change type="feature"> 7491722Svbart@nginx.com<para> 7501722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 7511722Svbart@nginx.com</para> 7521722Svbart@nginx.com</change> 7531722Svbart@nginx.com 7541722Svbart@nginx.com<change type="feature"> 7551722Svbart@nginx.com<para> 7561722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 7571722Svbart@nginx.com</para> 7581722Svbart@nginx.com</change> 7591722Svbart@nginx.com 7601722Svbart@nginx.com<change type="feature"> 7611722Svbart@nginx.com<para> 7621722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 7631722Svbart@nginx.comcontinues code execution without holding onto the client connection. 7641722Svbart@nginx.com</para> 7651722Svbart@nginx.com</change> 7661722Svbart@nginx.com 7671722Svbart@nginx.com<change type="feature"> 7681722Svbart@nginx.com<para> 7691722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 7701722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 7711722Svbart@nginx.com</para> 7721722Svbart@nginx.com</change> 7731722Svbart@nginx.com 7741722Svbart@nginx.com<change type="feature"> 7751722Svbart@nginx.com<para> 7761722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 7771722Svbart@nginx.commounting of eponymous filesystems. 7781722Svbart@nginx.com</para> 7791722Svbart@nginx.com</change> 7801722Svbart@nginx.com 7811722Svbart@nginx.com<change type="bugfix"> 7821722Svbart@nginx.com<para> 7831722Svbart@nginx.comthe router process could crash when running Go applications under high load; 7841722Svbart@nginx.comthe bug had appeared in 1.19.0. 7851722Svbart@nginx.com</para> 7861722Svbart@nginx.com</change> 7871722Svbart@nginx.com 7881722Svbart@nginx.com<change type="bugfix"> 7891722Svbart@nginx.com<para> 7901722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 7911722Svbart@nginx.com</para> 7921722Svbart@nginx.com</change> 7931722Svbart@nginx.com 7941722Svbart@nginx.com<change type="bugfix"> 7951722Svbart@nginx.com<para> 7961722Svbart@nginx.comvarious compatibility issues in Java applications. 7971722Svbart@nginx.com</para> 7981722Svbart@nginx.com</change> 7991722Svbart@nginx.com 8001722Svbart@nginx.com<change type="bugfix"> 8011722Svbart@nginx.com<para> 8021722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 8031722Svbart@nginx.comuse "rootfs" isolation. 8041722Svbart@nginx.com</para> 8051722Svbart@nginx.com</change> 8061722Svbart@nginx.com 8071722Svbart@nginx.com</changes> 8081722Svbart@nginx.com 8091722Svbart@nginx.com 8101330Svbart@nginx.com<changes apply="unit-php 8111330Svbart@nginx.com unit-python unit-python2.7 8121330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8131330Svbart@nginx.com unit-python3.8 8141330Svbart@nginx.com unit-go 8151330Svbart@nginx.com unit-perl 8161330Svbart@nginx.com unit-ruby 8171330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8181640Svbart@nginx.com ver="1.20.0" rev="1" 8191640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 8201640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8211640Svbart@nginx.com 8221640Svbart@nginx.com<change> 8231640Svbart@nginx.com<para> 8241640Svbart@nginx.comNGINX Unit updated to 1.20.0. 8251640Svbart@nginx.com</para> 8261640Svbart@nginx.com</change> 8271640Svbart@nginx.com 8281640Svbart@nginx.com</changes> 8291640Svbart@nginx.com 8301640Svbart@nginx.com 8311640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 8321640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 8331640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8341640Svbart@nginx.com 8351640Svbart@nginx.com<change type="change"> 8361640Svbart@nginx.com<para> 8371640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 8381640Svbart@nginx.comextensions from the host system. 8391640Svbart@nginx.com</para> 8401640Svbart@nginx.com</change> 8411640Svbart@nginx.com 8421640Svbart@nginx.com<change type="change"> 8431640Svbart@nginx.com<para> 8441640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 8451640Svbart@nginx.com</para> 8461640Svbart@nginx.com</change> 8471640Svbart@nginx.com 8481643Svbart@nginx.com<change type="change"> 8491643Svbart@nginx.com<para> 8501643Svbart@nginx.comfunctional tests migrated to the pytest framework. 8511643Svbart@nginx.com</para> 8521643Svbart@nginx.com</change> 8531643Svbart@nginx.com 8541640Svbart@nginx.com<change type="feature"> 8551640Svbart@nginx.com<para> 8561640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 8571640Svbart@nginx.cominterface. 8581640Svbart@nginx.com</para> 8591640Svbart@nginx.com</change> 8601640Svbart@nginx.com 8611640Svbart@nginx.com<change type="feature"> 8621640Svbart@nginx.com<para> 8631640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 8641640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 8651640Svbart@nginx.comspecification. 8661640Svbart@nginx.com</para> 8671640Svbart@nginx.com</change> 8681640Svbart@nginx.com 8691640Svbart@nginx.com<change type="feature"> 8701640Svbart@nginx.com<para> 8711640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 8721640Svbart@nginx.comenvironments. 8731640Svbart@nginx.com</para> 8741640Svbart@nginx.com</change> 8751640Svbart@nginx.com 8761640Svbart@nginx.com<change type="feature"> 8771640Svbart@nginx.com<para> 8781640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 8791640Svbart@nginx.com</para> 8801640Svbart@nginx.com</change> 8811640Svbart@nginx.com 8821640Svbart@nginx.com<change type="feature"> 8831640Svbart@nginx.com<para> 8841640Svbart@nginx.comthe "callable" option sets Python application callable names. 8851640Svbart@nginx.com</para> 8861640Svbart@nginx.com</change> 8871640Svbart@nginx.com 8881640Svbart@nginx.com<change type="feature"> 8891640Svbart@nginx.com<para> 8901640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 8911640Svbart@nginx.com</para> 8921640Svbart@nginx.com</change> 8931640Svbart@nginx.com 8941640Svbart@nginx.com<change type="feature"> 8951640Svbart@nginx.com<para> 8961640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 8971640Svbart@nginx.comautomatic mounting of language module dependencies. 8981640Svbart@nginx.com</para> 8991640Svbart@nginx.com</change> 9001640Svbart@nginx.com 9011640Svbart@nginx.com<change type="bugfix"> 9021640Svbart@nginx.com<para> 9031640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 9041640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 9051640Svbart@nginx.com</para> 9061640Svbart@nginx.com</change> 9071640Svbart@nginx.com 9081640Svbart@nginx.com<change type="bugfix"> 9091640Svbart@nginx.com<para> 9101640Svbart@nginx.comthe router process could crash during reconfiguration. 9111640Svbart@nginx.com</para> 9121640Svbart@nginx.com</change> 9131640Svbart@nginx.com 9141640Svbart@nginx.com<change type="bugfix"> 9151640Svbart@nginx.com<para> 9161640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 9171640Svbart@nginx.com</para> 9181640Svbart@nginx.com</change> 9191640Svbart@nginx.com 9201640Svbart@nginx.com<change type="bugfix"> 9211640Svbart@nginx.com<para> 9221640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 9231640Svbart@nginx.comthe bug had appeared in 1.19.0. 9241640Svbart@nginx.com</para> 9251640Svbart@nginx.com</change> 9261640Svbart@nginx.com 9271640Svbart@nginx.com<change type="bugfix"> 9281640Svbart@nginx.com<para> 9291640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 9301640Svbart@nginx.comthe bug had appeared in 1.16.0. 9311640Svbart@nginx.com</para> 9321640Svbart@nginx.com</change> 9331640Svbart@nginx.com 9341640Svbart@nginx.com</changes> 9351640Svbart@nginx.com 9361640Svbart@nginx.com 9371640Svbart@nginx.com<changes apply="unit-php 9381640Svbart@nginx.com unit-python unit-python2.7 9391640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9401640Svbart@nginx.com unit-python3.8 9411640Svbart@nginx.com unit-go 9421640Svbart@nginx.com unit-perl 9431640Svbart@nginx.com unit-ruby 9441640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9451570Svbart@nginx.com ver="1.19.0" rev="1" 9461570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 9471570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9481570Svbart@nginx.com 9491570Svbart@nginx.com<change> 9501570Svbart@nginx.com<para> 9511570Svbart@nginx.comNGINX Unit updated to 1.19.0. 9521570Svbart@nginx.com</para> 9531570Svbart@nginx.com</change> 9541570Svbart@nginx.com 9551570Svbart@nginx.com</changes> 9561570Svbart@nginx.com 9571570Svbart@nginx.com 9581570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 9591570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 9601570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9611570Svbart@nginx.com 9621570Svbart@nginx.com<change type="feature"> 9631570Svbart@nginx.com<para> 9641570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 9651570Svbart@nginx.comincrease performance, and improve scalability. 9661570Svbart@nginx.com</para> 9671570Svbart@nginx.com</change> 9681570Svbart@nginx.com 9691570Svbart@nginx.com<change type="feature"> 9701570Svbart@nginx.com<para> 9711570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 9721570Svbart@nginx.com</para> 9731570Svbart@nginx.com</change> 9741570Svbart@nginx.com 9751570Svbart@nginx.com<change type="feature"> 9761570Svbart@nginx.com<para> 9771570Svbart@nginx.comchunked transfer encoding in proxy responses. 9781570Svbart@nginx.com</para> 9791570Svbart@nginx.com</change> 9801570Svbart@nginx.com 9811570Svbart@nginx.com<change type="feature"> 9821570Svbart@nginx.com<para> 9831570Svbart@nginx.combasic variables support in the "pass" option. 9841570Svbart@nginx.com</para> 9851570Svbart@nginx.com</change> 9861570Svbart@nginx.com 9871570Svbart@nginx.com<change type="feature"> 9881570Svbart@nginx.com<para> 9891570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 9901570Svbart@nginx.comThanks to Remi Collet. 9911570Svbart@nginx.com</para> 9921570Svbart@nginx.com</change> 9931570Svbart@nginx.com 9941570Svbart@nginx.com<change type="bugfix"> 9951570Svbart@nginx.com<para> 9961570Svbart@nginx.comthe router process could crash while passing requests to an application under 9971570Svbart@nginx.comhigh load. 9981570Svbart@nginx.com</para> 9991570Svbart@nginx.com</change> 10001570Svbart@nginx.com 10011570Svbart@nginx.com<change type="bugfix"> 10021570Svbart@nginx.com<para> 10031570Svbart@nginx.coma number of language modules failed to build on some systems; 10041570Svbart@nginx.comthe bug had appeared in 1.18.0. 10051570Svbart@nginx.com</para> 10061570Svbart@nginx.com</change> 10071570Svbart@nginx.com 10081570Svbart@nginx.com<change type="bugfix"> 10091570Svbart@nginx.com<para> 10101570Svbart@nginx.comtime in error log messages from PHP applications could lag. 10111570Svbart@nginx.com</para> 10121570Svbart@nginx.com</change> 10131570Svbart@nginx.com 10141570Svbart@nginx.com<change type="bugfix"> 10151570Svbart@nginx.com<para> 10161570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 10171570Svbart@nginx.comthe bug had appeared in 1.18.0. 10181570Svbart@nginx.com</para> 10191570Svbart@nginx.com</change> 10201570Svbart@nginx.com 10211570Svbart@nginx.com<change type="bugfix"> 10221570Svbart@nginx.com<para> 10231570Svbart@nginx.commemory leak during reconfiguration. 10241570Svbart@nginx.com</para> 10251570Svbart@nginx.com</change> 10261570Svbart@nginx.com 10271570Svbart@nginx.com<change type="bugfix"> 10281570Svbart@nginx.com<para> 10291570Svbart@nginx.comthe daemon didn't start without language modules; 10301570Svbart@nginx.comthe bug had appeared in 1.18.0. 10311570Svbart@nginx.com</para> 10321570Svbart@nginx.com</change> 10331570Svbart@nginx.com 10341570Svbart@nginx.com<change type="bugfix"> 10351570Svbart@nginx.com<para> 10361570Svbart@nginx.comthe router process could crash at exit. 10371570Svbart@nginx.com</para> 10381570Svbart@nginx.com</change> 10391570Svbart@nginx.com 10401570Svbart@nginx.com<change type="bugfix"> 10411570Svbart@nginx.com<para> 10421570Svbart@nginx.comNode.js applications could crash at exit. 10431570Svbart@nginx.com</para> 10441570Svbart@nginx.com</change> 10451570Svbart@nginx.com 10461570Svbart@nginx.com<change type="bugfix"> 10471570Svbart@nginx.com<para> 10481570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 10491570Svbart@nginx.com</para> 10501570Svbart@nginx.com</change> 10511570Svbart@nginx.com 10521570Svbart@nginx.com</changes> 10531570Svbart@nginx.com 10541570Svbart@nginx.com 10551570Svbart@nginx.com<changes apply="unit-php 10561570Svbart@nginx.com unit-python unit-python2.7 10571570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10581570Svbart@nginx.com unit-python3.8 10591570Svbart@nginx.com unit-go 10601570Svbart@nginx.com unit-perl 10611570Svbart@nginx.com unit-ruby 10621570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10631491Svbart@nginx.com ver="1.18.0" rev="1" 10641491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 10651491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10661491Svbart@nginx.com 10671491Svbart@nginx.com<change> 10681491Svbart@nginx.com<para> 10691491Svbart@nginx.comNGINX Unit updated to 1.18.0. 10701491Svbart@nginx.com</para> 10711491Svbart@nginx.com</change> 10721491Svbart@nginx.com 10731491Svbart@nginx.com</changes> 10741491Svbart@nginx.com 10751491Svbart@nginx.com 10761491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 10771491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 10781491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10791491Svbart@nginx.com 10801491Svbart@nginx.com<change type="feature"> 10811491Svbart@nginx.com<para> 10821491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 10831491Svbart@nginx.com</para> 10841491Svbart@nginx.com</change> 10851491Svbart@nginx.com 10861491Svbart@nginx.com<change type="feature"> 10871491Svbart@nginx.com<para> 10881491Svbart@nginx.commultiple "targets" in PHP applications. 10891491Svbart@nginx.com</para> 10901491Svbart@nginx.com</change> 10911491Svbart@nginx.com 10921491Svbart@nginx.com<change type="feature"> 10931491Svbart@nginx.com<para> 10941491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 10951491Svbart@nginx.comand in the "pass" option. 10961491Svbart@nginx.com</para> 10971491Svbart@nginx.com</change> 10981491Svbart@nginx.com 10991491Svbart@nginx.com</changes> 11001491Svbart@nginx.com 11011491Svbart@nginx.com 11021491Svbart@nginx.com<changes apply="unit-php 11031491Svbart@nginx.com unit-python unit-python2.7 11041491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11051491Svbart@nginx.com unit-python3.8 11061491Svbart@nginx.com unit-go 11071491Svbart@nginx.com unit-perl 11081491Svbart@nginx.com unit-ruby 11091491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11101460Svbart@nginx.com ver="1.17.0" rev="1" 11111460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 11121460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11131460Svbart@nginx.com 11141460Svbart@nginx.com<change> 11151460Svbart@nginx.com<para> 11161460Svbart@nginx.comNGINX Unit updated to 1.17.0. 11171460Svbart@nginx.com</para> 11181460Svbart@nginx.com</change> 11191460Svbart@nginx.com 11201460Svbart@nginx.com</changes> 11211460Svbart@nginx.com 11221460Svbart@nginx.com 11231460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 11241460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 11251460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11261460Svbart@nginx.com 11271460Svbart@nginx.com<change type="feature"> 11281460Svbart@nginx.com<para> 11291460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 11301460Svbart@nginx.comredirection. 11311460Svbart@nginx.com</para> 11321460Svbart@nginx.com</change> 11331460Svbart@nginx.com 11341460Svbart@nginx.com<change type="feature"> 11351460Svbart@nginx.com<para> 11361460Svbart@nginx.comfractional weights support for upstream servers. 11371460Svbart@nginx.com</para> 11381460Svbart@nginx.com</change> 11391460Svbart@nginx.com 11401460Svbart@nginx.com<change type="bugfix"> 11411460Svbart@nginx.com<para> 11421460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 11431460Svbart@nginx.comhigh load. 11441460Svbart@nginx.com</para> 11451460Svbart@nginx.com</change> 11461460Svbart@nginx.com 11471460Svbart@nginx.com<change type="bugfix"> 11481460Svbart@nginx.com<para> 11491460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 11501460Svbart@nginx.com</para> 11511460Svbart@nginx.com</change> 11521460Svbart@nginx.com 11531460Svbart@nginx.com<change type="bugfix"> 11541460Svbart@nginx.com<para> 11551460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 11561460Svbart@nginx.comopen connections limit. 11571460Svbart@nginx.com</para> 11581460Svbart@nginx.com</change> 11591460Svbart@nginx.com 11601460Svbart@nginx.com<change type="bugfix"> 11611460Svbart@nginx.com<para> 11621460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 11631460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 11641460Svbart@nginx.com</para> 11651460Svbart@nginx.com</change> 11661460Svbart@nginx.com 11671460Svbart@nginx.com<change type="bugfix"> 11681460Svbart@nginx.com<para> 11691460Svbart@nginx.comexisting application processes didn't reopen the log file. 11701460Svbart@nginx.com</para> 11711460Svbart@nginx.com</change> 11721460Svbart@nginx.com 11731460Svbart@nginx.com<change type="bugfix"> 11741460Svbart@nginx.com<para> 11751460Svbart@nginx.comincompatibility with some Node.js applications. 11761460Svbart@nginx.com</para> 11771460Svbart@nginx.com</change> 11781460Svbart@nginx.com 11791460Svbart@nginx.com<change type="bugfix"> 11801460Svbart@nginx.com<para> 11811460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 11821460Svbart@nginx.com</para> 11831460Svbart@nginx.com</change> 11841460Svbart@nginx.com 11851460Svbart@nginx.com</changes> 11861460Svbart@nginx.com 11871460Svbart@nginx.com 11881460Svbart@nginx.com<changes apply="unit-php 11891460Svbart@nginx.com unit-python unit-python2.7 11901460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11911460Svbart@nginx.com unit-python3.8 11921460Svbart@nginx.com unit-go 11931460Svbart@nginx.com unit-perl 11941460Svbart@nginx.com unit-ruby 11951460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11961404Svbart@nginx.com ver="1.16.0" rev="1" 11971404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 11981404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11991404Svbart@nginx.com 12001404Svbart@nginx.com<change> 12011404Svbart@nginx.com<para> 12021404Svbart@nginx.comNGINX Unit updated to 1.16.0. 12031404Svbart@nginx.com</para> 12041404Svbart@nginx.com</change> 12051404Svbart@nginx.com 12061404Svbart@nginx.com</changes> 12071404Svbart@nginx.com 12081404Svbart@nginx.com 12091404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 12101404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 12111404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12121404Svbart@nginx.com 12131404Svbart@nginx.com<change type="feature"> 12141404Svbart@nginx.com<para> 12151404Svbart@nginx.combasic load-balancing support with round-robin. 12161404Svbart@nginx.com</para> 12171404Svbart@nginx.com</change> 12181404Svbart@nginx.com 12191404Svbart@nginx.com<change type="feature"> 12201404Svbart@nginx.com<para> 12211404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 12221404Svbart@nginx.comserved from the "share" directory. 12231404Svbart@nginx.com</para> 12241404Svbart@nginx.com</change> 12251404Svbart@nginx.com 12261404Svbart@nginx.com<change type="feature"> 12271404Svbart@nginx.com<para> 12281404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 12291404Svbart@nginx.com</para> 12301404Svbart@nginx.com</change> 12311404Svbart@nginx.com 12321404Svbart@nginx.com<change type="feature"> 12331404Svbart@nginx.com<para> 12341404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 12351404Svbart@nginx.com</para> 12361404Svbart@nginx.com</change> 12371404Svbart@nginx.com 12381404Svbart@nginx.com<change type="bugfix"> 12391404Svbart@nginx.com<para> 12401404Svbart@nginx.comnegative address matching in router might work improperly in combination with 12411404Svbart@nginx.comnon-negative patterns. 12421404Svbart@nginx.com</para> 12431404Svbart@nginx.com</change> 12441404Svbart@nginx.com 12451404Svbart@nginx.com<change type="bugfix"> 12461404Svbart@nginx.com<para> 12471404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 12481404Svbart@nginx.com</para> 12491404Svbart@nginx.com</change> 12501404Svbart@nginx.com 12511404Svbart@nginx.com<change type="bugfix"> 12521404Svbart@nginx.com<para> 12531404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 12541404Svbart@nginx.com</para> 12551404Svbart@nginx.com</change> 12561404Svbart@nginx.com 12571404Svbart@nginx.com<change type="bugfix"> 12581404Svbart@nginx.com<para> 12591404Svbart@nginx.comcompatibility issues with some Python applications. 12601404Svbart@nginx.com</para> 12611404Svbart@nginx.com</change> 12621404Svbart@nginx.com 12631404Svbart@nginx.com</changes> 12641404Svbart@nginx.com 12651404Svbart@nginx.com 12661404Svbart@nginx.com<changes apply="unit-php 12671404Svbart@nginx.com unit-python unit-python2.7 12681404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12691404Svbart@nginx.com unit-python3.8 12701404Svbart@nginx.com unit-go 12711404Svbart@nginx.com unit-perl 12721404Svbart@nginx.com unit-ruby 12731404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12741357Svbart@nginx.com ver="1.15.0" rev="1" 12751357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 12761357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12771357Svbart@nginx.com 12781357Svbart@nginx.com<change> 12791357Svbart@nginx.com<para> 12801357Svbart@nginx.comNGINX Unit updated to 1.15.0. 12811357Svbart@nginx.com</para> 12821357Svbart@nginx.com</change> 12831357Svbart@nginx.com 12841357Svbart@nginx.com</changes> 12851357Svbart@nginx.com 12861357Svbart@nginx.com 12871357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 12881357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 12891357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12901357Svbart@nginx.com 12911357Svbart@nginx.com<change type="change"> 12921357Svbart@nginx.com<para> 12931357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 12941357Svbart@nginx.com</para> 12951357Svbart@nginx.com</change> 12961357Svbart@nginx.com 12971357Svbart@nginx.com<change type="feature"> 12981357Svbart@nginx.com<para> 12991357Svbart@nginx.comcompatibility with Ruby 2.7. 13001357Svbart@nginx.com</para> 13011357Svbart@nginx.com</change> 13021357Svbart@nginx.com 13031357Svbart@nginx.com<change type="bugfix"> 13041357Svbart@nginx.com<para> 13051357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 13061357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 13071357Svbart@nginx.com</para> 13081357Svbart@nginx.com</change> 13091357Svbart@nginx.com 13101357Svbart@nginx.com<change type="bugfix"> 13111357Svbart@nginx.com<para> 13121357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 13131357Svbart@nginx.com</para> 13141357Svbart@nginx.com</change> 13151357Svbart@nginx.com 13161357Svbart@nginx.com</changes> 13171357Svbart@nginx.com 13181357Svbart@nginx.com 13191357Svbart@nginx.com<changes apply="unit-php 13201357Svbart@nginx.com unit-python unit-python2.7 13211357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13221357Svbart@nginx.com unit-python3.8 13231357Svbart@nginx.com unit-go 13241357Svbart@nginx.com unit-perl 13251357Svbart@nginx.com unit-ruby 13261357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13271330Svbart@nginx.com ver="1.14.0" rev="1" 13281330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 13291330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13301330Svbart@nginx.com 13311330Svbart@nginx.com<change> 13321330Svbart@nginx.com<para> 13331330Svbart@nginx.comNGINX Unit updated to 1.14.0. 13341330Svbart@nginx.com</para> 13351330Svbart@nginx.com</change> 13361330Svbart@nginx.com 13371330Svbart@nginx.com</changes> 13381330Svbart@nginx.com 13391330Svbart@nginx.com 13401330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 13411330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 13421330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13431330Svbart@nginx.com 13441330Svbart@nginx.com<change type="change"> 13451330Svbart@nginx.com<para> 13461330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 13471330Svbart@nginx.com</para> 13481330Svbart@nginx.com</change> 13491330Svbart@nginx.com 13501330Svbart@nginx.com<change type="change"> 13511330Svbart@nginx.com<para> 13521330Svbart@nginx.comGo package now links to libunit instead of including library sources. 13531330Svbart@nginx.com</para> 13541330Svbart@nginx.com</change> 13551330Svbart@nginx.com 13561330Svbart@nginx.com<change type="feature"> 13571330Svbart@nginx.com<para> 13581330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 13591330Svbart@nginx.comruns as an unprivileged user. 13601330Svbart@nginx.com</para> 13611330Svbart@nginx.com</change> 13621330Svbart@nginx.com 13631330Svbart@nginx.com<change type="feature"> 13641330Svbart@nginx.com<para> 13651330Svbart@nginx.comrequest routing by source and destination addresses and ports. 13661330Svbart@nginx.com</para> 13671330Svbart@nginx.com</change> 13681330Svbart@nginx.com 13691330Svbart@nginx.com<change type="bugfix"> 13701330Svbart@nginx.com<para> 13711330Svbart@nginx.commemory bloat on large responses. 13721330Svbart@nginx.com</para> 13731330Svbart@nginx.com</change> 13741330Svbart@nginx.com 13751330Svbart@nginx.com</changes> 13761330Svbart@nginx.com 13771330Svbart@nginx.com 13781290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 13791290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 13801290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13811290Sdefan@nginx.com 13821290Sdefan@nginx.com<change> 13831290Sdefan@nginx.com<para> 13841290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 13851290Sdefan@nginx.com</para> 13861290Sdefan@nginx.com</change> 13871290Sdefan@nginx.com 13881290Sdefan@nginx.com</changes> 13891290Sdefan@nginx.com 13901290Sdefan@nginx.com 13911290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 13921290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 13931290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13941290Sdefan@nginx.com 13951290Sdefan@nginx.com<change> 13961290Sdefan@nginx.com<para> 13971290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 13981290Sdefan@nginx.com</para> 13991290Sdefan@nginx.com</change> 14001290Sdefan@nginx.com 14011290Sdefan@nginx.com</changes> 14021290Sdefan@nginx.com 14031290Sdefan@nginx.com 14041289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 14051289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 14061289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14071289Sdefan@nginx.com 14081289Sdefan@nginx.com<change> 14091289Sdefan@nginx.com<para> 14101289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 14111289Sdefan@nginx.com</para> 14121289Sdefan@nginx.com</change> 14131289Sdefan@nginx.com 14141289Sdefan@nginx.com</changes> 14151289Sdefan@nginx.com 14161289Sdefan@nginx.com 14171185Svbart@nginx.com<changes apply="unit-php 14181185Svbart@nginx.com unit-python unit-python2.7 14191185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14201185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14211185Svbart@nginx.com unit-perl 14221185Svbart@nginx.com unit-ruby 14231185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14241284Svbart@nginx.com ver="1.13.0" rev="1" 14251284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 14261284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14271284Svbart@nginx.com 14281284Svbart@nginx.com<change> 14291284Svbart@nginx.com<para> 14301284Svbart@nginx.comNGINX Unit updated to 1.13.0. 14311284Svbart@nginx.com</para> 14321284Svbart@nginx.com</change> 14331284Svbart@nginx.com 14341284Svbart@nginx.com</changes> 14351284Svbart@nginx.com 14361284Svbart@nginx.com 14371284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 14381284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 14391284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14401284Svbart@nginx.com 14411284Svbart@nginx.com<change type="feature"> 14421284Svbart@nginx.com<para> 14431284Svbart@nginx.combasic support for HTTP reverse proxying. 14441284Svbart@nginx.com</para> 14451284Svbart@nginx.com</change> 14461284Svbart@nginx.com 14471284Svbart@nginx.com<change type="feature"> 14481284Svbart@nginx.com<para> 14491284Svbart@nginx.comcompatibility with Python 3.8. 14501284Svbart@nginx.com</para> 14511284Svbart@nginx.com</change> 14521284Svbart@nginx.com 14531284Svbart@nginx.com<change type="bugfix"> 14541284Svbart@nginx.com<para> 14551284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 14561284Svbart@nginx.com</para> 14571284Svbart@nginx.com</change> 14581284Svbart@nginx.com 14591284Svbart@nginx.com<change type="bugfix"> 14601284Svbart@nginx.com<para> 14611284Svbart@nginx.comthreads in Python applications might not work correctly. 14621284Svbart@nginx.com</para> 14631284Svbart@nginx.com</change> 14641284Svbart@nginx.com 14651284Svbart@nginx.com<change type="bugfix"> 14661284Svbart@nginx.com<para> 14671284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 14681284Svbart@nginx.com</para> 14691284Svbart@nginx.com</change> 14701284Svbart@nginx.com 14711284Svbart@nginx.com<change type="bugfix"> 14721284Svbart@nginx.com<para> 14731284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 14741284Svbart@nginx.comdelays. 14751284Svbart@nginx.com</para> 14761284Svbart@nginx.com</change> 14771284Svbart@nginx.com 14781284Svbart@nginx.com<change type="bugfix"> 14791284Svbart@nginx.com<para> 14801284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 14811284Svbart@nginx.com</para> 14821284Svbart@nginx.com</change> 14831284Svbart@nginx.com 14841284Svbart@nginx.com</changes> 14851284Svbart@nginx.com 14861284Svbart@nginx.com 14871284Svbart@nginx.com<changes apply="unit-php 14881284Svbart@nginx.com unit-python unit-python2.7 14891284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14901284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14911284Svbart@nginx.com unit-perl 14921284Svbart@nginx.com unit-ruby 14931284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14941222Svbart@nginx.com ver="1.12.0" rev="1" 14951222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 14961222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14971222Svbart@nginx.com 14981222Svbart@nginx.com<change> 14991222Svbart@nginx.com<para> 15001222Svbart@nginx.comNGINX Unit updated to 1.12.0. 15011222Svbart@nginx.com</para> 15021222Svbart@nginx.com</change> 15031222Svbart@nginx.com 15041222Svbart@nginx.com</changes> 15051222Svbart@nginx.com 15061222Svbart@nginx.com 15071222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 15081222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 15091222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15101222Svbart@nginx.com 15111222Svbart@nginx.com<change type="feature"> 15121222Svbart@nginx.com<para> 15131222Svbart@nginx.comcompatibility with PHP 7.4. 15141222Svbart@nginx.com</para> 15151222Svbart@nginx.com</change> 15161222Svbart@nginx.com 15171222Svbart@nginx.com<change type="bugfix"> 15181222Svbart@nginx.com<para> 15191222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 15201222Svbart@nginx.com</para> 15211222Svbart@nginx.com</change> 15221222Svbart@nginx.com 15231222Svbart@nginx.com<change type="bugfix"> 15241222Svbart@nginx.com<para> 15251222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 15261222Svbart@nginx.com</para> 15271222Svbart@nginx.com</change> 15281222Svbart@nginx.com 15291222Svbart@nginx.com<change type="bugfix"> 15301222Svbart@nginx.com<para> 15311222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 15321222Svbart@nginx.com</para> 15331222Svbart@nginx.com</change> 15341222Svbart@nginx.com 15351222Svbart@nginx.com</changes> 15361222Svbart@nginx.com 15371222Svbart@nginx.com 15381222Svbart@nginx.com 15391222Svbart@nginx.com<changes apply="unit-php 15401222Svbart@nginx.com unit-python unit-python2.7 15411222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15421222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 15431222Svbart@nginx.com unit-perl 15441222Svbart@nginx.com unit-ruby 15451222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15461185Svbart@nginx.com ver="1.11.0" rev="1" 15471185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 15481185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 15491185Svbart@nginx.com 15501185Svbart@nginx.com<change> 15511185Svbart@nginx.com<para> 15521185Svbart@nginx.comNGINX Unit updated to 1.11.0. 15531185Svbart@nginx.com</para> 15541185Svbart@nginx.com</change> 15551185Svbart@nginx.com 15561185Svbart@nginx.com</changes> 15571185Svbart@nginx.com 15581185Svbart@nginx.com 15591185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 15601185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 15611185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 15621185Svbart@nginx.com 15631185Svbart@nginx.com<change type="feature"> 15641185Svbart@nginx.com<para> 15651185Svbart@nginx.combasic support for serving static files. 15661185Svbart@nginx.com</para> 15671185Svbart@nginx.com</change> 15681185Svbart@nginx.com 15691185Svbart@nginx.com<change type="feature"> 15701185Svbart@nginx.com<para> 15711185Svbart@nginx.comisolation of application processes with Linux namespaces. 15721185Svbart@nginx.com</para> 15731185Svbart@nginx.com</change> 15741185Svbart@nginx.com 15751185Svbart@nginx.com<change type="feature"> 15761185Svbart@nginx.com<para> 15771185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 15781185Svbart@nginx.com</para> 15791185Svbart@nginx.com</change> 15801185Svbart@nginx.com 15811185Svbart@nginx.com<change type="feature"> 15821185Svbart@nginx.com<para> 15831185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 15841185Svbart@nginx.comusing URI encoding (%2F). 15851185Svbart@nginx.com</para> 15861185Svbart@nginx.com</change> 15871185Svbart@nginx.com 15881185Svbart@nginx.com<change type="bugfix"> 15891185Svbart@nginx.com<para> 15901185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 15911185Svbart@nginx.com</para> 15921185Svbart@nginx.com</change> 15931185Svbart@nginx.com 15941185Svbart@nginx.com<change type="bugfix"> 15951185Svbart@nginx.com<para> 15961185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 15971185Svbart@nginx.comGNU ld (e.g. gold or LLD). 15981185Svbart@nginx.com</para> 15991185Svbart@nginx.com</change> 16001185Svbart@nginx.com 16011185Svbart@nginx.com</changes> 16021185Svbart@nginx.com 16031185Svbart@nginx.com 16041142Sdefan@nginx.com<changes apply="unit 16051142Sdefan@nginx.com unit-php 16061142Sdefan@nginx.com unit-python unit-python2.7 16071142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 16081142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 16091142Sdefan@nginx.com unit-perl 16101142Sdefan@nginx.com unit-ruby 16111142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 16121142Sdefan@nginx.com ver="1.10.0" rev="2" 16131142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 16141142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16151142Sdefan@nginx.com 16161142Sdefan@nginx.com<change type="bugfix"> 16171142Sdefan@nginx.com<para> 16181142Sdefan@nginx.commissed header files added to unit development package. 16191142Sdefan@nginx.com</para> 16201142Sdefan@nginx.com</change> 16211142Sdefan@nginx.com 16221142Sdefan@nginx.com</changes> 16231142Sdefan@nginx.com 16241142Sdefan@nginx.com 16251134Svbart@nginx.com<changes apply="unit-php 16261134Svbart@nginx.com unit-python unit-python2.7 16271134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 16281134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 16291134Svbart@nginx.com unit-perl 16301134Svbart@nginx.com unit-ruby 16311134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 16321134Svbart@nginx.com ver="1.10.0" rev="1" 16331134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 16341134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16351134Svbart@nginx.com 16361134Svbart@nginx.com<change> 16371134Svbart@nginx.com<para> 16381134Svbart@nginx.comNGINX Unit updated to 1.10.0. 16391134Svbart@nginx.com</para> 16401134Svbart@nginx.com</change> 16411134Svbart@nginx.com 16421134Svbart@nginx.com</changes> 16431134Svbart@nginx.com 16441134Svbart@nginx.com 16451134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 16461134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 16471134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16481134Svbart@nginx.com 16491134Svbart@nginx.com<change type="change"> 16501134Svbart@nginx.com<para> 16511134Svbart@nginx.commatching of cookies in routes made case sensitive. 16521134Svbart@nginx.com</para> 16531134Svbart@nginx.com</change> 16541134Svbart@nginx.com 16551134Svbart@nginx.com<change type="change"> 16561134Svbart@nginx.com<para> 16571134Svbart@nginx.comdecreased log level of common errors when clients close connections. 16581134Svbart@nginx.com</para> 16591134Svbart@nginx.com</change> 16601134Svbart@nginx.com 16611134Svbart@nginx.com<change type="change"> 16621134Svbart@nginx.com<para> 16631134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 16641134Svbart@nginx.com</para> 16651134Svbart@nginx.com</change> 16661134Svbart@nginx.com 16671134Svbart@nginx.com<change type="feature"> 16681134Svbart@nginx.com<para> 16691134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 16701134Svbart@nginx.com</para> 16711134Svbart@nginx.com</change> 16721134Svbart@nginx.com 16731134Svbart@nginx.com<change type="feature"> 16741134Svbart@nginx.com<para> 16751134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 16761134Svbart@nginx.com</para> 16771134Svbart@nginx.com</change> 16781134Svbart@nginx.com 16791134Svbart@nginx.com<change type="feature"> 16801134Svbart@nginx.com<para> 16811134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 16821134Svbart@nginx.com</para> 16831134Svbart@nginx.com</change> 16841134Svbart@nginx.com 16851134Svbart@nginx.com<change type="feature"> 16861134Svbart@nginx.com<para> 16871134Svbart@nginx.comsupport for multipart requests body in Java module. 16881134Svbart@nginx.com</para> 16891134Svbart@nginx.com</change> 16901134Svbart@nginx.com 16911134Svbart@nginx.com<change type="feature"> 16921134Svbart@nginx.com<para> 16931134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 16941134Svbart@nginx.com</para> 16951134Svbart@nginx.com</change> 16961134Svbart@nginx.com 16971134Svbart@nginx.com<change type="bugfix"> 16981134Svbart@nginx.com<para> 16991134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 17001134Svbart@nginx.com</para> 17011134Svbart@nginx.com</change> 17021134Svbart@nginx.com 17031134Svbart@nginx.com<change type="bugfix"> 17041134Svbart@nginx.com<para> 17051134Svbart@nginx.comapplying a large configuration might have failed. 17061134Svbart@nginx.com</para> 17071134Svbart@nginx.com</change> 17081134Svbart@nginx.com 17091134Svbart@nginx.com</changes> 17101134Svbart@nginx.com 17111134Svbart@nginx.com 17121069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 17131069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 17141069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17151069Svbart@nginx.com 17161069Svbart@nginx.com<change> 17171069Svbart@nginx.com<para> 17181069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 17191069Svbart@nginx.com</para> 17201069Svbart@nginx.com</change> 17211069Svbart@nginx.com 17221069Svbart@nginx.com</changes> 17231069Svbart@nginx.com 17241069Svbart@nginx.com 17251069Svbart@nginx.com<changes apply="unit-php 17261069Svbart@nginx.com unit-python unit-python2.7 17271069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 17281069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 17291069Svbart@nginx.com unit-perl 17301069Svbart@nginx.com unit-ruby 17311069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 17321069Svbart@nginx.com ver="1.9.0" rev="1" 17331069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 17341069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17351069Svbart@nginx.com 17361069Svbart@nginx.com<change> 17371069Svbart@nginx.com<para> 17381069Svbart@nginx.comNGINX Unit updated to 1.9.0. 17391069Svbart@nginx.com</para> 17401069Svbart@nginx.com</change> 17411069Svbart@nginx.com 17421069Svbart@nginx.com</changes> 17431069Svbart@nginx.com 17441069Svbart@nginx.com 17451069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 17461069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 17471069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17481069Svbart@nginx.com 17491069Svbart@nginx.com<change type="feature"> 17501069Svbart@nginx.com<para> 17511069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 17521069Svbart@nginx.com</para> 17531069Svbart@nginx.com</change> 17541069Svbart@nginx.com 17551069Svbart@nginx.com<change type="feature"> 17561069Svbart@nginx.com<para> 17571069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 17581069Svbart@nginx.com</para> 17591069Svbart@nginx.com</change> 17601069Svbart@nginx.com 17611069Svbart@nginx.com<change type="feature"> 17621069Svbart@nginx.com<para> 17631069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 17641069Svbart@nginx.com</para> 17651069Svbart@nginx.com</change> 17661069Svbart@nginx.com 17671069Svbart@nginx.com<change type="feature"> 17681069Svbart@nginx.com<para> 17691069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 17701069Svbart@nginx.comon Linux without running main process as privileged user. 17711069Svbart@nginx.com</para> 17721069Svbart@nginx.com</change> 17731069Svbart@nginx.com 17741069Svbart@nginx.com<change type="bugfix"> 17751069Svbart@nginx.com<para> 17761069Svbart@nginx.commemory leak in the router process might have happened when a client 17771069Svbart@nginx.comprematurely closed the connection. 17781069Svbart@nginx.com</para> 17791069Svbart@nginx.com</change> 17801069Svbart@nginx.com 17811069Svbart@nginx.com<change type="bugfix"> 17821069Svbart@nginx.com<para> 17831069Svbart@nginx.comapplying a large configuration might have failed. 17841069Svbart@nginx.com</para> 17851069Svbart@nginx.com</change> 17861069Svbart@nginx.com 17871069Svbart@nginx.com<change type="bugfix"> 17881069Svbart@nginx.com<para> 17891069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 17901069Svbart@nginx.com</para> 17911069Svbart@nginx.com</change> 17921069Svbart@nginx.com 17931069Svbart@nginx.com<change type="bugfix"> 17941069Svbart@nginx.com<para> 17951069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 17961069Svbart@nginx.com</para> 17971069Svbart@nginx.com</change> 17981069Svbart@nginx.com 17991069Svbart@nginx.com<change type="bugfix"> 18001069Svbart@nginx.com<para> 18011069Svbart@nginx.comrestored compatibility with Node.js applications that use 18021069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 18031069Svbart@nginx.com</para> 18041069Svbart@nginx.com</change> 18051069Svbart@nginx.com 18061069Svbart@nginx.com<change type="bugfix"> 18071069Svbart@nginx.com<para> 18081069Svbart@nginx.comvarious compatibility issues with Node.js applications. 18091069Svbart@nginx.com</para> 18101069Svbart@nginx.com</change> 18111069Svbart@nginx.com 18121069Svbart@nginx.com</changes> 18131069Svbart@nginx.com 18141069Svbart@nginx.com 1815991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1816991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1817991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1818991Svbart@nginx.com 1819991Svbart@nginx.com<change> 1820991Svbart@nginx.com<para> 1821991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1822991Svbart@nginx.com</para> 1823991Svbart@nginx.com</change> 1824991Svbart@nginx.com 1825991Svbart@nginx.com</changes> 1826991Svbart@nginx.com 1827991Svbart@nginx.com 1828991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1829991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1830991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1831991Svbart@nginx.com 1832991Svbart@nginx.com<change> 1833991Svbart@nginx.com<para> 1834991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1835991Svbart@nginx.com</para> 1836991Svbart@nginx.com</change> 1837991Svbart@nginx.com 1838991Svbart@nginx.com</changes> 1839991Svbart@nginx.com 1840991Svbart@nginx.com 1841991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1842991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1843991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1844991Svbart@nginx.com 1845991Svbart@nginx.com<change> 1846991Svbart@nginx.com<para> 1847991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 1848991Svbart@nginx.com</para> 1849991Svbart@nginx.com</change> 1850991Svbart@nginx.com 1851991Svbart@nginx.com</changes> 1852991Svbart@nginx.com 1853991Svbart@nginx.com 1854991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 1855991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1856991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1857991Svbart@nginx.com 1858991Svbart@nginx.com<change> 1859991Svbart@nginx.com<para> 1860991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 1861991Svbart@nginx.com</para> 1862991Svbart@nginx.com</change> 1863991Svbart@nginx.com 1864991Svbart@nginx.com</changes> 1865991Svbart@nginx.com 1866991Svbart@nginx.com 1867991Svbart@nginx.com<changes apply="unit-php 1868991Svbart@nginx.com unit-python unit-python2.7 1869991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1870991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1871991Svbart@nginx.com unit-perl 1872991Svbart@nginx.com unit-ruby" 1873991Svbart@nginx.com ver="1.8.0" rev="1" 1874991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1875991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1876991Svbart@nginx.com 1877991Svbart@nginx.com<change> 1878991Svbart@nginx.com<para> 1879991Svbart@nginx.comNGINX Unit updated to 1.8.0. 1880991Svbart@nginx.com</para> 1881991Svbart@nginx.com</change> 1882991Svbart@nginx.com 1883991Svbart@nginx.com</changes> 1884991Svbart@nginx.com 1885991Svbart@nginx.com 1886991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 1887991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1888991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1889991Svbart@nginx.com 1890991Svbart@nginx.com<change type="change"> 1891991Svbart@nginx.com<para> 1892991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 1893991Svbart@nginx.comand patch versions. 1894991Svbart@nginx.com</para> 1895991Svbart@nginx.com</change> 1896991Svbart@nginx.com 1897991Svbart@nginx.com<change type="change"> 1898991Svbart@nginx.com<para> 1899991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 1900991Svbart@nginx.comthe query component. 1901991Svbart@nginx.com</para> 1902991Svbart@nginx.com</change> 1903991Svbart@nginx.com 1904991Svbart@nginx.com<change type="feature"> 1905991Svbart@nginx.com<para> 1906991Svbart@nginx.combasic internal request routing by Host, URI, and method. 1907991Svbart@nginx.com</para> 1908991Svbart@nginx.com</change> 1909991Svbart@nginx.com 1910991Svbart@nginx.com<change type="feature"> 1911991Svbart@nginx.com<para> 1912991Svbart@nginx.comexperimental support for Java Servlet Containers. 1913991Svbart@nginx.com</para> 1914991Svbart@nginx.com</change> 1915991Svbart@nginx.com 1916991Svbart@nginx.com<change type="bugfix"> 1917991Svbart@nginx.com<para> 1918991Svbart@nginx.comsegmentation fault might have occurred in the router process. 1919991Svbart@nginx.com</para> 1920991Svbart@nginx.com</change> 1921991Svbart@nginx.com 1922991Svbart@nginx.com<change type="bugfix"> 1923991Svbart@nginx.com<para> 1924991Svbart@nginx.comvarious potential memory leaks. 1925991Svbart@nginx.com</para> 1926991Svbart@nginx.com</change> 1927991Svbart@nginx.com 1928991Svbart@nginx.com<change type="bugfix"> 1929991Svbart@nginx.com<para> 1930991Svbart@nginx.comTLS connections might have stalled. 1931991Svbart@nginx.com</para> 1932991Svbart@nginx.com</change> 1933991Svbart@nginx.com 1934991Svbart@nginx.com<change type="bugfix"> 1935991Svbart@nginx.com<para> 1936991Svbart@nginx.comsome Perl applications might have failed to send the response body. 1937991Svbart@nginx.com</para> 1938991Svbart@nginx.com</change> 1939991Svbart@nginx.com 1940991Svbart@nginx.com<change type="bugfix"> 1941991Svbart@nginx.com<para> 1942991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 1943991Svbart@nginx.comthe bug had appeared in 1.5. 1944991Svbart@nginx.com</para> 1945991Svbart@nginx.com</change> 1946991Svbart@nginx.com 1947991Svbart@nginx.com<change type="bugfix"> 1948991Svbart@nginx.com<para> 1949991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 1950991Svbart@nginx.com</para> 1951991Svbart@nginx.com</change> 1952991Svbart@nginx.com 1953991Svbart@nginx.com</changes> 1954991Svbart@nginx.com 1955991Svbart@nginx.com 1956926Svbart@nginx.com<changes apply="unit-php 1957926Svbart@nginx.com unit-python unit-python2.7 1958926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1959926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1960926Svbart@nginx.com unit-perl 1961926Svbart@nginx.com unit-ruby" 1962926Svbart@nginx.com ver="1.7.1" rev="1" 1963926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1964926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1965926Svbart@nginx.com 1966926Svbart@nginx.com<change> 1967926Svbart@nginx.com<para> 1968926Svbart@nginx.comNGINX Unit updated to 1.7.1. 1969926Svbart@nginx.com</para> 1970926Svbart@nginx.com</change> 1971926Svbart@nginx.com 1972926Svbart@nginx.com</changes> 1973926Svbart@nginx.com 1974926Svbart@nginx.com 1975926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 1976926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1977926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1978926Svbart@nginx.com 1979926Svbart@nginx.com<change type="security"> 1980926Svbart@nginx.com<para> 1981926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 1982926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 1983926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 1984926Svbart@nginx.com</para> 1985926Svbart@nginx.com</change> 1986926Svbart@nginx.com 1987926Svbart@nginx.com<change type="bugfix"> 1988926Svbart@nginx.com<para> 1989926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 1990926Svbart@nginx.comthe bug had appeared in 1.7. 1991926Svbart@nginx.com</para> 1992926Svbart@nginx.com</change> 1993926Svbart@nginx.com 1994926Svbart@nginx.com</changes> 1995926Svbart@nginx.com 1996926Svbart@nginx.com 1997902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 1998902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 1999902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2000902Sdefan@nginx.com 2001902Sdefan@nginx.com<change> 2002902Sdefan@nginx.com<para> 2003902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 2004902Sdefan@nginx.com</para> 2005902Sdefan@nginx.com</change> 2006902Sdefan@nginx.com 2007902Sdefan@nginx.com</changes> 2008902Sdefan@nginx.com 2009902Sdefan@nginx.com 2010821Svbart@nginx.com<changes apply="unit-php 2011821Svbart@nginx.com unit-python unit-python2.7 2012821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2013821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2014821Svbart@nginx.com unit-perl 2015821Svbart@nginx.com unit-ruby" 2016886Svbart@nginx.com ver="1.7" rev="1" 2017886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 2018886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2019886Svbart@nginx.com 2020886Svbart@nginx.com<change> 2021886Svbart@nginx.com<para> 2022886Svbart@nginx.comNGINX Unit updated to 1.7. 2023886Svbart@nginx.com</para> 2024886Svbart@nginx.com</change> 2025886Svbart@nginx.com 2026886Svbart@nginx.com</changes> 2027886Svbart@nginx.com 2028886Svbart@nginx.com 2029886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 2030886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 2031886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2032886Svbart@nginx.com 2033886Svbart@nginx.com<change type="change"> 2034886Svbart@nginx.com<para> 2035886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 2036886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 2037886Svbart@nginx.com</para> 2038886Svbart@nginx.com</change> 2039886Svbart@nginx.com 2040886Svbart@nginx.com<change type="bugfix"> 2041886Svbart@nginx.com<para> 2042886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 2043886Svbart@nginx.comdid not work. 2044886Svbart@nginx.com</para> 2045886Svbart@nginx.com</change> 2046886Svbart@nginx.com 2047886Svbart@nginx.com<change type="bugfix"> 2048886Svbart@nginx.com<para> 2049886Svbart@nginx.comPromises on request data in Node.js were not triggered. 2050886Svbart@nginx.com</para> 2051886Svbart@nginx.com</change> 2052886Svbart@nginx.com 2053886Svbart@nginx.com<change type="bugfix"> 2054886Svbart@nginx.com<para> 2055886Svbart@nginx.comvarious compatibility issues with Node.js applications. 2056886Svbart@nginx.com</para> 2057886Svbart@nginx.com</change> 2058886Svbart@nginx.com 2059886Svbart@nginx.com<change type="bugfix"> 2060886Svbart@nginx.com<para> 2061886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 2062886Svbart@nginx.comrequest body after request.end() was called. 2063886Svbart@nginx.com</para> 2064886Svbart@nginx.com</change> 2065886Svbart@nginx.com 2066886Svbart@nginx.com<change type="bugfix"> 2067886Svbart@nginx.com<para> 2068886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 2069886Svbart@nginx.comsend header twice. 2070886Svbart@nginx.com</para> 2071886Svbart@nginx.com</change> 2072886Svbart@nginx.com 2073886Svbart@nginx.com<change type="bugfix"> 2074886Svbart@nginx.com<para> 2075886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 2076886Svbart@nginx.comcase-sensitive. 2077886Svbart@nginx.com</para> 2078886Svbart@nginx.com</change> 2079886Svbart@nginx.com 2080886Svbart@nginx.com<change type="bugfix"> 2081886Svbart@nginx.com<para> 2082886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 2083886Svbart@nginx.com</para> 2084886Svbart@nginx.com</change> 2085886Svbart@nginx.com 2086886Svbart@nginx.com<change type="bugfix"> 2087886Svbart@nginx.com<para> 2088886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 2089886Svbart@nginx.comthe bug had appeared in 1.6. 2090886Svbart@nginx.com</para> 2091886Svbart@nginx.com</change> 2092886Svbart@nginx.com 2093886Svbart@nginx.com<change type="bugfix"> 2094886Svbart@nginx.com<para> 2095886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 2096886Svbart@nginx.combe logged. 2097886Svbart@nginx.com</para> 2098886Svbart@nginx.com</change> 2099886Svbart@nginx.com 2100886Svbart@nginx.com<change type="bugfix"> 2101886Svbart@nginx.com<para> 2102886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 2103886Svbart@nginx.comenabled. 2104886Svbart@nginx.com</para> 2105886Svbart@nginx.com</change> 2106886Svbart@nginx.com 2107886Svbart@nginx.com</changes> 2108886Svbart@nginx.com 2109886Svbart@nginx.com 2110886Svbart@nginx.com<changes apply="unit-php 2111886Svbart@nginx.com unit-python unit-python2.7 2112886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2113886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2114886Svbart@nginx.com unit-perl 2115886Svbart@nginx.com unit-ruby" 2116846Svbart@nginx.com ver="1.6" rev="1" 2117846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2118846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2119846Svbart@nginx.com 2120846Svbart@nginx.com<change> 2121846Svbart@nginx.com<para> 2122846Svbart@nginx.comNGINX Unit updated to 1.6. 2123846Svbart@nginx.com</para> 2124846Svbart@nginx.com</change> 2125846Svbart@nginx.com 2126846Svbart@nginx.com</changes> 2127846Svbart@nginx.com 2128846Svbart@nginx.com 2129846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 2130846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2131846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2132846Svbart@nginx.com 2133846Svbart@nginx.com<change type="change"> 2134846Svbart@nginx.com<para> 2135846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 2136846Svbart@nginx.com</para> 2137846Svbart@nginx.com</change> 2138846Svbart@nginx.com 2139846Svbart@nginx.com<change type="feature"> 2140846Svbart@nginx.com<para> 2141846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 2142846Svbart@nginx.com</para> 2143846Svbart@nginx.com</change> 2144846Svbart@nginx.com 2145846Svbart@nginx.com<change type="bugfix"> 2146846Svbart@nginx.com<para> 2147846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 2148846Svbart@nginx.com</para> 2149846Svbart@nginx.com</change> 2150846Svbart@nginx.com 2151846Svbart@nginx.com<change type="bugfix"> 2152846Svbart@nginx.com<para> 2153846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 2154846Svbart@nginx.com</para> 2155846Svbart@nginx.com</change> 2156846Svbart@nginx.com 2157846Svbart@nginx.com<change type="bugfix"> 2158846Svbart@nginx.com<para> 2159846Svbart@nginx.comvarious compatibility issues with Node.js applications. 2160846Svbart@nginx.com</para> 2161846Svbart@nginx.com</change> 2162846Svbart@nginx.com 2163846Svbart@nginx.com<change type="bugfix"> 2164846Svbart@nginx.com<para> 2165846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 2166846Svbart@nginx.com</para> 2167846Svbart@nginx.com</change> 2168846Svbart@nginx.com 2169846Svbart@nginx.com<change type="bugfix"> 2170846Svbart@nginx.com<para> 2171885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 2172846Svbart@nginx.com</para> 2173846Svbart@nginx.com</change> 2174846Svbart@nginx.com 2175846Svbart@nginx.com</changes> 2176846Svbart@nginx.com 2177846Svbart@nginx.com 2178846Svbart@nginx.com<changes apply="unit-php 2179846Svbart@nginx.com unit-python unit-python2.7 2180846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2181846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2182846Svbart@nginx.com unit-perl 2183846Svbart@nginx.com unit-ruby" 2184821Svbart@nginx.com ver="1.5" rev="1" 2185821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2186821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2187821Svbart@nginx.com 2188821Svbart@nginx.com<change> 2189821Svbart@nginx.com<para> 2190821Svbart@nginx.comNGINX Unit updated to 1.5. 2191821Svbart@nginx.com</para> 2192821Svbart@nginx.com</change> 2193821Svbart@nginx.com 2194821Svbart@nginx.com</changes> 2195821Svbart@nginx.com 2196821Svbart@nginx.com 2197820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 2198820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2199820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2200820Svbart@nginx.com 2201820Svbart@nginx.com<change type="change"> 2202820Svbart@nginx.com<para> 2203820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 2204820Svbart@nginx.com</para> 2205820Svbart@nginx.com</change> 2206820Svbart@nginx.com 2207820Svbart@nginx.com<change type="feature"> 2208820Svbart@nginx.com<para> 2209820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 2210820Svbart@nginx.com</para> 2211820Svbart@nginx.com</change> 2212820Svbart@nginx.com 2213820Svbart@nginx.com<change type="feature"> 2214820Svbart@nginx.com<para> 2215820Svbart@nginx.comcompatibility with LibreSSL. 2216820Svbart@nginx.com</para> 2217820Svbart@nginx.com</change> 2218820Svbart@nginx.com 2219820Svbart@nginx.com<change type="feature"> 2220820Svbart@nginx.com<para> 2221820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 2222820Svbart@nginx.comand static library. 2223820Svbart@nginx.com</para> 2224820Svbart@nginx.com</change> 2225820Svbart@nginx.com 2226820Svbart@nginx.com<change type="bugfix"> 2227820Svbart@nginx.com<para> 2228820Svbart@nginx.comconnection might be closed prematurely while sending response; 2229820Svbart@nginx.comthe bug had appeared in 1.3. 2230820Svbart@nginx.com</para> 2231820Svbart@nginx.com</change> 2232820Svbart@nginx.com 2233820Svbart@nginx.com<change type="bugfix"> 2234820Svbart@nginx.com<para> 2235820Svbart@nginx.comapplication processes might have stopped handling requests, producing 2236820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 2237820Svbart@nginx.comthe bug had appeared in 1.4. 2238820Svbart@nginx.com</para> 2239820Svbart@nginx.com</change> 2240820Svbart@nginx.com 2241820Svbart@nginx.com<change type="bugfix"> 2242820Svbart@nginx.com<para> 2243885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 2244820Svbart@nginx.com</para> 2245820Svbart@nginx.com</change> 2246820Svbart@nginx.com 2247820Svbart@nginx.com</changes> 2248820Svbart@nginx.com 2249820Svbart@nginx.com 2250689Svbart@nginx.com<changes apply="unit-php 2251689Svbart@nginx.com unit-python unit-python2.7 2252689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2253689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2254689Svbart@nginx.com unit-perl 2255689Svbart@nginx.com unit-ruby" 2256788Sdefan@nginx.com ver="1.4" rev="2" 2257788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2258788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2259788Sdefan@nginx.com 2260788Sdefan@nginx.com<change type="bugfix"> 2261788Sdefan@nginx.com<para> 2262788Sdefan@nginx.comcorrected instructions for launching sample application. 2263788Sdefan@nginx.com</para> 2264788Sdefan@nginx.com</change> 2265788Sdefan@nginx.com 2266788Sdefan@nginx.com</changes> 2267788Sdefan@nginx.com 2268788Sdefan@nginx.com 2269788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 2270788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2271788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2272788Sdefan@nginx.com 2273788Sdefan@nginx.com<change type="change"> 2274788Sdefan@nginx.com<para> 2275788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 2276788Sdefan@nginx.com</para> 2277788Sdefan@nginx.com</change> 2278788Sdefan@nginx.com 2279788Sdefan@nginx.com</changes> 2280788Sdefan@nginx.com 2281788Sdefan@nginx.com 2282788Sdefan@nginx.com<changes apply="unit-php 2283788Sdefan@nginx.com unit-python unit-python2.7 2284788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2285788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2286788Sdefan@nginx.com unit-perl 2287788Sdefan@nginx.com unit-ruby" 2288783Svbart@nginx.com ver="1.4" rev="1" 2289783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2290783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2291783Svbart@nginx.com 2292783Svbart@nginx.com<change> 2293783Svbart@nginx.com<para> 2294783Svbart@nginx.comNGINX Unit updated to 1.4. 2295783Svbart@nginx.com</para> 2296783Svbart@nginx.com</change> 2297783Svbart@nginx.com 2298783Svbart@nginx.com</changes> 2299783Svbart@nginx.com 2300783Svbart@nginx.com 2301783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 2302783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2303783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2304783Svbart@nginx.com 2305783Svbart@nginx.com<change type="change"> 2306783Svbart@nginx.com<para> 2307783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 2308783Svbart@nginx.com</para> 2309783Svbart@nginx.com</change> 2310783Svbart@nginx.com 2311783Svbart@nginx.com<change type="feature"> 2312783Svbart@nginx.com<para> 2313783Svbart@nginx.comTLS support for client connections. 2314783Svbart@nginx.com</para> 2315783Svbart@nginx.com</change> 2316783Svbart@nginx.com 2317783Svbart@nginx.com<change type="feature"> 2318783Svbart@nginx.com<para> 2319783Svbart@nginx.comTLS certificates storage control API. 2320783Svbart@nginx.com</para> 2321783Svbart@nginx.com</change> 2322783Svbart@nginx.com 2323783Svbart@nginx.com<change type="feature"> 2324783Svbart@nginx.com<para> 2325783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 2326783Svbart@nginx.com</para> 2327783Svbart@nginx.com</change> 2328783Svbart@nginx.com 2329783Svbart@nginx.com<change type="feature"> 2330783Svbart@nginx.com<para> 2331783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 2332783Svbart@nginx.com</para> 2333783Svbart@nginx.com</change> 2334783Svbart@nginx.com 2335783Svbart@nginx.com<change type="feature"> 2336783Svbart@nginx.com<para> 2337783Svbart@nginx.comimprovements in OpenBSD support. 2338783Svbart@nginx.comThanks to David Carlier. 2339783Svbart@nginx.com</para> 2340783Svbart@nginx.com</change> 2341783Svbart@nginx.com 2342783Svbart@nginx.com<change type="bugfix"> 2343783Svbart@nginx.com<para> 2344783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 2345783Svbart@nginx.com</para> 2346783Svbart@nginx.com</change> 2347783Svbart@nginx.com 2348783Svbart@nginx.com<change type="bugfix"> 2349783Svbart@nginx.com<para> 2350783Svbart@nginx.combuilding on systems with non-default locale might be broken. 2351783Svbart@nginx.com</para> 2352783Svbart@nginx.com</change> 2353783Svbart@nginx.com 2354783Svbart@nginx.com<change type="bugfix"> 2355783Svbart@nginx.com<para> 2356783Svbart@nginx.com"header_read_timeout" might not work properly. 2357783Svbart@nginx.com</para> 2358783Svbart@nginx.com</change> 2359783Svbart@nginx.com 2360783Svbart@nginx.com<change type="bugfix"> 2361783Svbart@nginx.com<para> 2362783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 2363783Svbart@nginx.comin Python 3 module. 2364783Svbart@nginx.com</para> 2365783Svbart@nginx.com</change> 2366783Svbart@nginx.com 2367783Svbart@nginx.com</changes> 2368783Svbart@nginx.com 2369783Svbart@nginx.com 2370783Svbart@nginx.com<changes apply="unit-php 2371783Svbart@nginx.com unit-python unit-python2.7 2372783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2373783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2374783Svbart@nginx.com unit-perl 2375783Svbart@nginx.com unit-ruby" 2376727Svbart@nginx.com ver="1.3" rev="1" 2377727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2378727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2379727Svbart@nginx.com 2380727Svbart@nginx.com<change> 2381727Svbart@nginx.com<para> 2382727Svbart@nginx.comNGINX Unit updated to 1.3. 2383727Svbart@nginx.com</para> 2384727Svbart@nginx.com</change> 2385727Svbart@nginx.com 2386727Svbart@nginx.com</changes> 2387727Svbart@nginx.com 2388727Svbart@nginx.com 2389727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 2390727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2391727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2392727Svbart@nginx.com 2393727Svbart@nginx.com<change type="change"> 2394727Svbart@nginx.com<para> 2395727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 2396727Svbart@nginx.com</para> 2397727Svbart@nginx.com</change> 2398727Svbart@nginx.com 2399727Svbart@nginx.com<change type="feature"> 2400727Svbart@nginx.com<para> 2401727Svbart@nginx.comconfiguration of the request body size limit. 2402727Svbart@nginx.com</para> 2403727Svbart@nginx.com</change> 2404727Svbart@nginx.com 2405727Svbart@nginx.com<change type="feature"> 2406727Svbart@nginx.com<para> 2407727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 2408727Svbart@nginx.com</para> 2409727Svbart@nginx.com</change> 2410727Svbart@nginx.com 2411727Svbart@nginx.com<change type="feature"> 2412727Svbart@nginx.com<para> 2413727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 2414727Svbart@nginx.com</para> 2415727Svbart@nginx.com</change> 2416727Svbart@nginx.com 2417727Svbart@nginx.com<change type="feature"> 2418727Svbart@nginx.com<para> 2419727Svbart@nginx.comhttp.Flusher interface in Go module. 2420727Svbart@nginx.com</para> 2421727Svbart@nginx.com</change> 2422727Svbart@nginx.com 2423727Svbart@nginx.com<change type="bugfix"> 2424727Svbart@nginx.com<para> 2425727Svbart@nginx.comvarious issues in HTTP connection errors handling. 2426727Svbart@nginx.com</para> 2427727Svbart@nginx.com</change> 2428727Svbart@nginx.com 2429727Svbart@nginx.com<change type="bugfix"> 2430727Svbart@nginx.com<para> 2431727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 2432727Svbart@nginx.com</para> 2433727Svbart@nginx.com</change> 2434727Svbart@nginx.com 2435727Svbart@nginx.com<change type="bugfix"> 2436727Svbart@nginx.com<para> 2437727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 2438727Svbart@nginx.comto previous values after the first request in application process. 2439727Svbart@nginx.com</para> 2440727Svbart@nginx.com</change> 2441727Svbart@nginx.com 2442727Svbart@nginx.com</changes> 2443727Svbart@nginx.com 2444727Svbart@nginx.com 2445727Svbart@nginx.com<changes apply="unit-php 2446727Svbart@nginx.com unit-python unit-python2.7 2447727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2448727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2449727Svbart@nginx.com unit-perl 2450727Svbart@nginx.com unit-ruby" 2451689Svbart@nginx.com ver="1.2" rev="1" 2452689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2453689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2454689Svbart@nginx.com 2455689Svbart@nginx.com<change> 2456689Svbart@nginx.com<para> 2457689Svbart@nginx.comNGINX Unit updated to 1.2. 2458689Svbart@nginx.com</para> 2459689Svbart@nginx.com</change> 2460689Svbart@nginx.com 2461689Svbart@nginx.com</changes> 2462689Svbart@nginx.com 2463689Svbart@nginx.com 2464689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 2465689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2466689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2467689Svbart@nginx.com 2468689Svbart@nginx.com<change type="feature"> 2469689Svbart@nginx.com<para> 2470689Svbart@nginx.comconfiguration of environment variables for application processes. 2471689Svbart@nginx.com</para> 2472689Svbart@nginx.com</change> 2473689Svbart@nginx.com 2474689Svbart@nginx.com<change type="feature"> 2475689Svbart@nginx.com<para> 2476689Svbart@nginx.comcustomization of php.ini path. 2477689Svbart@nginx.com</para> 2478689Svbart@nginx.com</change> 2479689Svbart@nginx.com 2480689Svbart@nginx.com<change type="feature"> 2481689Svbart@nginx.com<para> 2482689Svbart@nginx.comsetting of individual PHP configuration options. 2483689Svbart@nginx.com</para> 2484689Svbart@nginx.com</change> 2485689Svbart@nginx.com 2486689Svbart@nginx.com<change type="feature"> 2487689Svbart@nginx.com<para> 2488689Svbart@nginx.comconfiguration of execution arguments for Go applications. 2489689Svbart@nginx.com</para> 2490689Svbart@nginx.com</change> 2491689Svbart@nginx.com 2492689Svbart@nginx.com<change type="bugfix"> 2493689Svbart@nginx.com<para> 2494689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 2495689Svbart@nginx.com</para> 2496689Svbart@nginx.com</change> 2497689Svbart@nginx.com 2498689Svbart@nginx.com</changes> 2499689Svbart@nginx.com 2500689Svbart@nginx.com 2501672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 2502672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 2503672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2504672Sdefan@nginx.com 2505672Sdefan@nginx.com<change> 2506672Sdefan@nginx.com<para> 2507672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 2508672Sdefan@nginx.com</para> 2509672Sdefan@nginx.com</change> 2510672Sdefan@nginx.com 2511672Sdefan@nginx.com</changes> 2512672Sdefan@nginx.com 2513672Sdefan@nginx.com 2514548Sdefan@nginx.com<changes apply="unit-php 2515548Sdefan@nginx.com unit-python unit-python2.7 2516548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2517548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2518639Svbart@nginx.com unit-perl 2519639Svbart@nginx.com unit-ruby" 2520666Svbart@nginx.com ver="1.1" rev="1" 2521666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2522666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2523666Svbart@nginx.com 2524666Svbart@nginx.com<change> 2525666Svbart@nginx.com<para> 2526666Svbart@nginx.comNGINX Unit updated to 1.1. 2527666Svbart@nginx.com</para> 2528666Svbart@nginx.com</change> 2529666Svbart@nginx.com 2530666Svbart@nginx.com</changes> 2531666Svbart@nginx.com 2532666Svbart@nginx.com 2533666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 2534666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2535666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2536666Svbart@nginx.com 2537666Svbart@nginx.com<change type="bugfix"> 2538666Svbart@nginx.com<para> 2539666Svbart@nginx.comPython applications that use the write() callable did not work. 2540666Svbart@nginx.com</para> 2541666Svbart@nginx.com</change> 2542666Svbart@nginx.com 2543666Svbart@nginx.com<change type="bugfix"> 2544666Svbart@nginx.com<para> 2545666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2546666Svbart@nginx.com</para> 2547666Svbart@nginx.com</change> 2548666Svbart@nginx.com 2549666Svbart@nginx.com<change type="bugfix"> 2550666Svbart@nginx.com<para> 2551666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2552666Svbart@nginx.comwhen the whole body was read. 2553666Svbart@nginx.com</para> 2554666Svbart@nginx.com</change> 2555666Svbart@nginx.com 2556666Svbart@nginx.com<change type="bugfix"> 2557666Svbart@nginx.com<para> 2558666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2559666Svbart@nginx.com</para> 2560666Svbart@nginx.com</change> 2561666Svbart@nginx.com 2562666Svbart@nginx.com<change type="bugfix"> 2563666Svbart@nginx.com<para> 2564666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2565666Svbart@nginx.com</para> 2566666Svbart@nginx.com</change> 2567666Svbart@nginx.com 2568666Svbart@nginx.com<change type="bugfix"> 2569666Svbart@nginx.com<para> 2570666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2571666Svbart@nginx.com</para> 2572666Svbart@nginx.com</change> 2573666Svbart@nginx.com 2574666Svbart@nginx.com<change type="bugfix"> 2575666Svbart@nginx.com<para> 2576666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2577666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2578666Svbart@nginx.com</para> 2579666Svbart@nginx.com</change> 2580666Svbart@nginx.com 2581666Svbart@nginx.com<change type="bugfix"> 2582666Svbart@nginx.com<para> 2583666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2584666Svbart@nginx.comon 32-bit platforms. 2585666Svbart@nginx.com</para> 2586666Svbart@nginx.com</change> 2587666Svbart@nginx.com 2588666Svbart@nginx.com</changes> 2589666Svbart@nginx.com 2590666Svbart@nginx.com 2591666Svbart@nginx.com<changes apply="unit-php 2592666Svbart@nginx.com unit-python unit-python2.7 2593666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2594666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2595666Svbart@nginx.com unit-perl 2596666Svbart@nginx.com unit-ruby" 2597639Svbart@nginx.com ver="1.0" rev="1" 2598639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2599639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2600639Svbart@nginx.com 2601639Svbart@nginx.com<change> 2602639Svbart@nginx.com<para> 2603639Svbart@nginx.comNGINX Unit updated to 1.0. 2604639Svbart@nginx.com</para> 2605639Svbart@nginx.com</change> 2606639Svbart@nginx.com 2607639Svbart@nginx.com</changes> 2608639Svbart@nginx.com 2609639Svbart@nginx.com 2610639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2611639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2612639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2613639Svbart@nginx.com 2614639Svbart@nginx.com<change type="change"> 2615639Svbart@nginx.com<para> 2616639Svbart@nginx.comconfiguration object moved into "/config/" path. 2617639Svbart@nginx.com</para> 2618639Svbart@nginx.com</change> 2619639Svbart@nginx.com 2620639Svbart@nginx.com<change type="feature"> 2621639Svbart@nginx.com<para> 2622639Svbart@nginx.combasic access logging. 2623639Svbart@nginx.com</para> 2624639Svbart@nginx.com</change> 2625639Svbart@nginx.com 2626639Svbart@nginx.com<change type="bugfix"> 2627639Svbart@nginx.com<para> 2628639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2629639Svbart@nginx.com</para> 2630639Svbart@nginx.com</change> 2631639Svbart@nginx.com 2632639Svbart@nginx.com<change type="bugfix"> 2633639Svbart@nginx.com<para> 2634663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2635639Svbart@nginx.com</para> 2636639Svbart@nginx.com</change> 2637639Svbart@nginx.com 2638639Svbart@nginx.com<change type="bugfix"> 2639639Svbart@nginx.com<para> 2640639Svbart@nginx.comvarious stability issues. 2641639Svbart@nginx.com</para> 2642639Svbart@nginx.com</change> 2643639Svbart@nginx.com 2644639Svbart@nginx.com</changes> 2645639Svbart@nginx.com 2646639Svbart@nginx.com 2647639Svbart@nginx.com<changes apply="unit-php 2648639Svbart@nginx.com unit-python unit-python2.7 2649639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2650639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2651548Sdefan@nginx.com unit-perl" 2652586Svbart@nginx.com ver="0.7" rev="1" 2653586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2654586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2655586Svbart@nginx.com 2656586Svbart@nginx.com<change> 2657586Svbart@nginx.com<para> 2658586Svbart@nginx.comNGINX Unit updated to 0.7. 2659586Svbart@nginx.com</para> 2660586Svbart@nginx.com</change> 2661586Svbart@nginx.com 2662586Svbart@nginx.com</changes> 2663586Svbart@nginx.com 2664586Svbart@nginx.com 2665600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2666600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2667600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2668600Sdefan@nginx.com 2669600Sdefan@nginx.com<change> 2670600Sdefan@nginx.com<para> 2671600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2672600Sdefan@nginx.com</para> 2673600Sdefan@nginx.com</change> 2674600Sdefan@nginx.com 2675600Sdefan@nginx.com</changes> 2676600Sdefan@nginx.com 2677600Sdefan@nginx.com 2678586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2679586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2680586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2681586Svbart@nginx.com 2682586Svbart@nginx.com<change type="feature"> 2683586Svbart@nginx.com<para> 2684586Svbart@nginx.comRuby application module. 2685586Svbart@nginx.com</para> 2686586Svbart@nginx.com</change> 2687586Svbart@nginx.com 2688586Svbart@nginx.com<change type="bugfix"> 2689586Svbart@nginx.com<para> 2690586Svbart@nginx.comin discovering modules. 2691586Svbart@nginx.com</para> 2692586Svbart@nginx.com</change> 2693586Svbart@nginx.com 2694586Svbart@nginx.com<change type="bugfix"> 2695586Svbart@nginx.com<para> 2696586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2697586Svbart@nginx.com</para> 2698586Svbart@nginx.com</change> 2699586Svbart@nginx.com 2700586Svbart@nginx.com<change type="bugfix"> 2701586Svbart@nginx.com<para> 2702586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2703586Svbart@nginx.com</para> 2704586Svbart@nginx.com</change> 2705586Svbart@nginx.com 2706586Svbart@nginx.com<change type="bugfix"> 2707586Svbart@nginx.com<para> 2708586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2709586Svbart@nginx.comoutside of WSGI callable. 2710586Svbart@nginx.com</para> 2711586Svbart@nginx.com</change> 2712586Svbart@nginx.com 2713586Svbart@nginx.com<change type="bugfix"> 2714586Svbart@nginx.com<para> 2715663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2716663Svbart@nginx.comwhile initialization. 2717586Svbart@nginx.com</para> 2718586Svbart@nginx.com</change> 2719586Svbart@nginx.com 2720586Svbart@nginx.com</changes> 2721586Svbart@nginx.com 2722586Svbart@nginx.com 2723586Svbart@nginx.com<changes apply="unit-php 2724586Svbart@nginx.com unit-python unit-python2.7 2725586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2726586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2727586Svbart@nginx.com unit-perl" 2728548Sdefan@nginx.com ver="0.6" rev="1" 2729539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2730539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2731539Svbart@nginx.com 2732539Svbart@nginx.com<change> 2733539Svbart@nginx.com<para> 2734539Svbart@nginx.comNGINX Unit updated to 0.6. 2735539Svbart@nginx.com</para> 2736539Svbart@nginx.com</change> 2737539Svbart@nginx.com 2738539Svbart@nginx.com</changes> 2739539Svbart@nginx.com 2740539Svbart@nginx.com 2741539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2742539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2743539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2744539Svbart@nginx.com 2745539Svbart@nginx.com<change type="bugfix"> 2746539Svbart@nginx.com<para> 2747539Svbart@nginx.comthe main process died when the "type" application option contained version; 2748539Svbart@nginx.comthe bug had appeared in 0.5. 2749539Svbart@nginx.com</para> 2750539Svbart@nginx.com</change> 2751539Svbart@nginx.com 2752539Svbart@nginx.com</changes> 2753539Svbart@nginx.com 2754539Svbart@nginx.com 2755548Sdefan@nginx.com<changes apply="unit-php 2756548Sdefan@nginx.com unit-python unit-python2.7 2757548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2758548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2759548Sdefan@nginx.com ver="0.5" rev="1" 2760531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2761531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2762531Svbart@nginx.com 2763531Svbart@nginx.com<change> 2764531Svbart@nginx.com<para> 2765531Svbart@nginx.comNGINX Unit updated to 0.5. 2766531Svbart@nginx.com</para> 2767531Svbart@nginx.com</change> 2768531Svbart@nginx.com 2769531Svbart@nginx.com</changes> 2770531Svbart@nginx.com 2771531Svbart@nginx.com 2772524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2773531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2774524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2775524Sdefan@nginx.com 2776524Sdefan@nginx.com<change> 2777524Sdefan@nginx.com<para> 2778524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2779524Sdefan@nginx.com</para> 2780524Sdefan@nginx.com</change> 2781524Sdefan@nginx.com 2782524Sdefan@nginx.com</changes> 2783524Sdefan@nginx.com 2784524Sdefan@nginx.com 2785531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2786531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2787531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2788531Svbart@nginx.com 2789531Svbart@nginx.com<change type="change"> 2790531Svbart@nginx.com<para> 2791531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2792531Svbart@nginx.comapplication option should be used instead. 2793531Svbart@nginx.com</para> 2794531Svbart@nginx.com</change> 2795531Svbart@nginx.com 2796531Svbart@nginx.com<change type="feature"> 2797531Svbart@nginx.com<para> 2798531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2799531Svbart@nginx.comprocess management support. 2800531Svbart@nginx.com</para> 2801531Svbart@nginx.com</change> 2802531Svbart@nginx.com 2803531Svbart@nginx.com<change type="feature"> 2804531Svbart@nginx.com<para> 2805531Svbart@nginx.comPerl application module. 2806531Svbart@nginx.com</para> 2807531Svbart@nginx.com</change> 2808531Svbart@nginx.com 2809531Svbart@nginx.com<change type="bugfix"> 2810531Svbart@nginx.com<para> 2811531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2812531Svbart@nginx.com</para> 2813531Svbart@nginx.com</change> 2814531Svbart@nginx.com 2815531Svbart@nginx.com<change type="bugfix"> 2816531Svbart@nginx.com<para> 2817663Svbart@nginx.comsome Python applications might not have worked due to missing 2818531Svbart@nginx.com"wsgi.errors" environ variable. 2819531Svbart@nginx.com</para> 2820531Svbart@nginx.com</change> 2821531Svbart@nginx.com 2822531Svbart@nginx.com<change type="bugfix"> 2823531Svbart@nginx.com<para> 2824531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2825531Svbart@nginx.complatforms. 2826531Svbart@nginx.com</para> 2827531Svbart@nginx.com</change> 2828531Svbart@nginx.com 2829531Svbart@nginx.com<change type="bugfix"> 2830531Svbart@nginx.com<para> 2831531Svbart@nginx.cominfinite looping in HTTP parser. 2832531Svbart@nginx.com</para> 2833531Svbart@nginx.com</change> 2834531Svbart@nginx.com 2835531Svbart@nginx.com<change type="bugfix"> 2836531Svbart@nginx.com<para> 2837531Svbart@nginx.comsegmentation fault in router. 2838531Svbart@nginx.com</para> 2839531Svbart@nginx.com</change> 2840531Svbart@nginx.com 2841531Svbart@nginx.com</changes> 2842531Svbart@nginx.com 2843531Svbart@nginx.com 2844548Sdefan@nginx.com<changes apply="unit-php 2845548Sdefan@nginx.com unit-python unit-python2.7 2846548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2847548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2848548Sdefan@nginx.com ver="0.4" rev="1" 2849469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2850469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2851469Sigor@sysoev.ru 2852469Sigor@sysoev.ru<change> 2853469Sigor@sysoev.ru<para> 2854469Sigor@sysoev.ruNGINX Unit updated to 0.4. 2855469Sigor@sysoev.ru</para> 2856469Sigor@sysoev.ru</change> 2857469Sigor@sysoev.ru 2858469Sigor@sysoev.ru</changes> 2859469Sigor@sysoev.ru 2860469Sigor@sysoev.ru 2861469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 2862469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2863469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2864469Sigor@sysoev.ru 2865469Sigor@sysoev.ru<change type="feature"> 2866469Sigor@sysoev.ru<para> 2867469Sigor@sysoev.rucompatibility with DragonFly BSD. 2868469Sigor@sysoev.ru</para> 2869469Sigor@sysoev.ru</change> 2870469Sigor@sysoev.ru 2871469Sigor@sysoev.ru<change type="feature"> 2872469Sigor@sysoev.ru<para> 2873469Sigor@sysoev.ru"configure php --lib-static" option. 2874469Sigor@sysoev.ru</para> 2875469Sigor@sysoev.ru</change> 2876469Sigor@sysoev.ru 2877469Sigor@sysoev.ru<change type="bugfix"> 2878469Sigor@sysoev.ru<para> 2879469Sigor@sysoev.ruHTTP request body was not passed to application; 2880469Sigor@sysoev.ruthe bug had appeared in 0.3. 2881469Sigor@sysoev.ru</para> 2882469Sigor@sysoev.ru</change> 2883469Sigor@sysoev.ru 2884469Sigor@sysoev.ru<change type="bugfix"> 2885469Sigor@sysoev.ru<para> 2886469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 2887469Sigor@sysoev.ruthe bug had appeared in 0.3. 2888469Sigor@sysoev.ru</para> 2889469Sigor@sysoev.ru</change> 2890469Sigor@sysoev.ru 2891469Sigor@sysoev.ru<change type="bugfix"> 2892469Sigor@sysoev.ru<para> 2893663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 2894469Sigor@sysoev.ru</para> 2895469Sigor@sysoev.ru</change> 2896469Sigor@sysoev.ru 2897469Sigor@sysoev.ru</changes> 2898469Sigor@sysoev.ru 2899469Sigor@sysoev.ru 2900441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 2901441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2902441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2903441Sdefan@nginx.com 2904441Sdefan@nginx.com<change> 2905441Sdefan@nginx.com<para> 2906441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 2907441Sdefan@nginx.com</para> 2908441Sdefan@nginx.com</change> 2909441Sdefan@nginx.com 2910441Sdefan@nginx.com</changes> 2911441Sdefan@nginx.com 2912441Sdefan@nginx.com 2913441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 2914441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2915441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2916441Sdefan@nginx.com 2917441Sdefan@nginx.com<change> 2918441Sdefan@nginx.com<para> 2919441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 2920441Sdefan@nginx.com</para> 2921441Sdefan@nginx.com</change> 2922441Sdefan@nginx.com 2923441Sdefan@nginx.com</changes> 2924441Sdefan@nginx.com 2925441Sdefan@nginx.com 2926548Sdefan@nginx.com<changes apply="unit-php 2927548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 2928548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 2929548Sdefan@nginx.com ver="0.3" rev="1" 2930432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2931432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2932432Sigor@sysoev.ru 2933432Sigor@sysoev.ru<change> 2934432Sigor@sysoev.ru<para> 2935432Sigor@sysoev.ruNGINX Unit updated to 0.3. 2936432Sigor@sysoev.ru</para> 2937432Sigor@sysoev.ru</change> 2938432Sigor@sysoev.ru 2939432Sigor@sysoev.ru</changes> 2940432Sigor@sysoev.ru 2941432Sigor@sysoev.ru 2942432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 2943432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2944432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2945432Sigor@sysoev.ru 2946432Sigor@sysoev.ru<change type="change"> 2947432Sigor@sysoev.ru<para> 2948432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 2949432Sigor@sysoev.ru</para> 2950432Sigor@sysoev.ru</change> 2951432Sigor@sysoev.ru 2952432Sigor@sysoev.ru<change type="change"> 2953432Sigor@sysoev.ru<para> 2954432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 2955432Sigor@sysoev.rutime in queue now are not accounted. 2956432Sigor@sysoev.ru</para> 2957432Sigor@sysoev.ru</change> 2958432Sigor@sysoev.ru 2959432Sigor@sysoev.ru<change type="feature"> 2960432Sigor@sysoev.ru<para> 2961432Sigor@sysoev.ruthe "limits.requests" application option. 2962432Sigor@sysoev.ru</para> 2963432Sigor@sysoev.ru</change> 2964432Sigor@sysoev.ru 2965432Sigor@sysoev.ru<change type="feature"> 2966432Sigor@sysoev.ru<para> 2967432Sigor@sysoev.ruapplication request processing latency optimization. 2968432Sigor@sysoev.ru</para> 2969432Sigor@sysoev.ru</change> 2970432Sigor@sysoev.ru 2971432Sigor@sysoev.ru<change type="feature"> 2972432Sigor@sysoev.ru<para> 2973432Sigor@sysoev.ruHTTP keep-alive connections support. 2974432Sigor@sysoev.ru</para> 2975432Sigor@sysoev.ru</change> 2976432Sigor@sysoev.ru 2977432Sigor@sysoev.ru<change type="feature"> 2978432Sigor@sysoev.ru<para> 2979432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 2980432Sigor@sysoev.ru</para> 2981432Sigor@sysoev.ru</change> 2982432Sigor@sysoev.ru 2983432Sigor@sysoev.ru<change type="feature"> 2984432Sigor@sysoev.ru<para> 2985432Sigor@sysoev.ruPython atexit hook support. 2986432Sigor@sysoev.ru</para> 2987432Sigor@sysoev.ru</change> 2988432Sigor@sysoev.ru 2989432Sigor@sysoev.ru<change type="feature"> 2990432Sigor@sysoev.ru<para> 2991432Sigor@sysoev.ruvarious Go package improvements. 2992432Sigor@sysoev.ru</para> 2993432Sigor@sysoev.ru</change> 2994432Sigor@sysoev.ru 2995432Sigor@sysoev.ru<change type="bugfix"> 2996432Sigor@sysoev.ru<para> 2997432Sigor@sysoev.ruvarious crashes fixed. 2998432Sigor@sysoev.ru</para> 2999432Sigor@sysoev.ru</change> 3000432Sigor@sysoev.ru 3001432Sigor@sysoev.ru</changes> 3002432Sigor@sysoev.ru 3003432Sigor@sysoev.ru 3004372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 3005372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3006372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3007372Sdefan@nginx.com 3008372Sdefan@nginx.com<change> 3009372Sdefan@nginx.com<para> 3010372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 3011372Sdefan@nginx.com</para> 3012372Sdefan@nginx.com</change> 3013372Sdefan@nginx.com 3014372Sdefan@nginx.com</changes> 3015372Sdefan@nginx.com 3016372Sdefan@nginx.com 3017373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 3018373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3019373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3020373Sdefan@nginx.com 3021373Sdefan@nginx.com<change> 3022373Sdefan@nginx.com<para> 3023373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 3024373Sdefan@nginx.com</para> 3025373Sdefan@nginx.com</change> 3026373Sdefan@nginx.com 3027373Sdefan@nginx.com</changes> 3028373Sdefan@nginx.com 3029373Sdefan@nginx.com 3030373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 3031373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3032373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3033373Sdefan@nginx.com 3034373Sdefan@nginx.com<change> 3035373Sdefan@nginx.com<para> 3036373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 3037373Sdefan@nginx.com</para> 3038373Sdefan@nginx.com</change> 3039373Sdefan@nginx.com 3040373Sdefan@nginx.com</changes> 3041373Sdefan@nginx.com 3042373Sdefan@nginx.com 3043372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 3044372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3045372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3046372Sdefan@nginx.com 3047372Sdefan@nginx.com<change> 3048372Sdefan@nginx.com<para> 3049372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 3050372Sdefan@nginx.com</para> 3051372Sdefan@nginx.com</change> 3052372Sdefan@nginx.com 3053372Sdefan@nginx.com</changes> 3054372Sdefan@nginx.com 3055372Sdefan@nginx.com 3056373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 3057373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3058373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3059373Sdefan@nginx.com 3060373Sdefan@nginx.com<change> 3061373Sdefan@nginx.com<para> 3062373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 3063373Sdefan@nginx.com</para> 3064373Sdefan@nginx.com</change> 3065373Sdefan@nginx.com 3066373Sdefan@nginx.com</changes> 3067373Sdefan@nginx.com 3068373Sdefan@nginx.com 3069373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 3070373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3071373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3072373Sdefan@nginx.com 3073373Sdefan@nginx.com<change> 3074373Sdefan@nginx.com<para> 3075373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 3076373Sdefan@nginx.com</para> 3077373Sdefan@nginx.com</change> 3078373Sdefan@nginx.com 3079373Sdefan@nginx.com</changes> 3080373Sdefan@nginx.com 3081373Sdefan@nginx.com 3082373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 3083373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3084373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3085373Sdefan@nginx.com 3086373Sdefan@nginx.com<change> 3087373Sdefan@nginx.com<para> 3088373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 3089373Sdefan@nginx.com</para> 3090373Sdefan@nginx.com</change> 3091373Sdefan@nginx.com 3092373Sdefan@nginx.com</changes> 3093373Sdefan@nginx.com 3094373Sdefan@nginx.com 3095372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 3096372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3097372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3098372Sdefan@nginx.com 3099372Sdefan@nginx.com<change> 3100372Sdefan@nginx.com<para> 3101372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 3102372Sdefan@nginx.com</para> 3103372Sdefan@nginx.com</change> 3104372Sdefan@nginx.com 3105372Sdefan@nginx.com</changes> 3106372Sdefan@nginx.com 3107372Sdefan@nginx.com 3108370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 3109370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 3110370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3111370Sigor@sysoev.ru 3112370Sigor@sysoev.ru<change type="feature"> 3113370Sigor@sysoev.ru<para> 3114370Sigor@sysoev.ruconfiguration persistence. 3115370Sigor@sysoev.ru</para> 3116370Sigor@sysoev.ru</change> 3117370Sigor@sysoev.ru 3118370Sigor@sysoev.ru<change type="feature"> 3119370Sigor@sysoev.ru<para> 3120370Sigor@sysoev.ruimproved handling of configuration errors. 3121370Sigor@sysoev.ru</para> 3122370Sigor@sysoev.ru</change> 3123370Sigor@sysoev.ru 3124370Sigor@sysoev.ru<change type="feature"> 3125370Sigor@sysoev.ru<para> 3126370Sigor@sysoev.ruapplication "timeout" property. 3127370Sigor@sysoev.ru</para> 3128370Sigor@sysoev.ru</change> 3129370Sigor@sysoev.ru 3130370Sigor@sysoev.ru<change type="bugfix"> 3131370Sigor@sysoev.ru<para> 3132370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 3133370Sigor@sysoev.ru</para> 3134370Sigor@sysoev.ru</change> 3135370Sigor@sysoev.ru 3136370Sigor@sysoev.ru<change type="bugfix"> 3137370Sigor@sysoev.ru<para> 3138370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 3139370Sigor@sysoev.ru</para> 3140370Sigor@sysoev.ru</change> 3141370Sigor@sysoev.ru 3142370Sigor@sysoev.ru<change type="bugfix"> 3143370Sigor@sysoev.ru<para> 3144370Sigor@sysoev.ruthe router crashed under load. 3145370Sigor@sysoev.ru</para> 3146370Sigor@sysoev.ru</change> 3147370Sigor@sysoev.ru 3148370Sigor@sysoev.ru<change type="bugfix"> 3149370Sigor@sysoev.ru<para> 3150370Sigor@sysoev.rumemory leak in the router. 3151370Sigor@sysoev.ru</para> 3152370Sigor@sysoev.ru</change> 3153370Sigor@sysoev.ru 3154370Sigor@sysoev.ru</changes> 3155370Sigor@sysoev.ru 3156370Sigor@sysoev.ru 3157369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 3158369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 3159369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3160369Sdefan@nginx.com 3161369Sdefan@nginx.com<change> 3162369Sdefan@nginx.com<para> 3163369Sdefan@nginx.comFirst public release. 3164369Sdefan@nginx.com</para> 3165369Sdefan@nginx.com</change> 3166369Sdefan@nginx.com 3167369Sdefan@nginx.com</changes> 3168369Sdefan@nginx.com 3169369Sdefan@nginx.com 3170369Sdefan@nginx.com</change_log> 3171