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 81896Svbart@nginx.com<changes apply="unit-php 91896Svbart@nginx.com unit-python unit-python2.7 101896Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 111896Svbart@nginx.com unit-python3.8 unit-python3.9 121896Svbart@nginx.com unit-go 131896Svbart@nginx.com unit-perl 141896Svbart@nginx.com unit-ruby 151896Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 161896Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 171896Svbart@nginx.com ver="1.25.0" rev="1" 181896Svbart@nginx.com date="" time="" 191896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 201896Svbart@nginx.com 211896Svbart@nginx.com<change> 221896Svbart@nginx.com<para> 231896Svbart@nginx.comNGINX Unit updated to 1.25.0. 241896Svbart@nginx.com</para> 251896Svbart@nginx.com</change> 261896Svbart@nginx.com 271896Svbart@nginx.com</changes> 281896Svbart@nginx.com 291896Svbart@nginx.com 301896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 311896Svbart@nginx.com date="" time="" 321896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 331896Svbart@nginx.com 341910So.canty@f5.com<change type="feature"> 351910So.canty@f5.com<para> 361920Sa.suvorov@f5.comTLS sessions cache. 371920Sa.suvorov@f5.com</para> 381920Sa.suvorov@f5.com</change> 391920Sa.suvorov@f5.com 401920Sa.suvorov@f5.com<change type="feature"> 411920Sa.suvorov@f5.com<para> 421910So.canty@f5.comprocess and thread lifecycle hooks in Ruby. 431910So.canty@f5.com</para> 441910So.canty@f5.com</change> 451910So.canty@f5.com 461926Smax.romanov@nginx.com<change type="feature"> 471926Smax.romanov@nginx.com<para> 481926Smax.romanov@nginx.comapplication restart control. 491926Smax.romanov@nginx.com</para> 501926Smax.romanov@nginx.com</change> 511926Smax.romanov@nginx.com 52*1936So.canty@f5.com<change type="feature"> 53*1936So.canty@f5.com<para> 54*1936So.canty@f5.comclient IP address replacement from specified HTTP header field. 55*1936So.canty@f5.com</para> 56*1936So.canty@f5.com</change> 57*1936So.canty@f5.com 581907Smax.romanov@nginx.com<change type="bugfix"> 591907Smax.romanov@nginx.com<para> 601921Sa.suvorov@f5.comTLS connection was rejected for configuration with more than one 611921Sa.suvorov@f5.comcertificate bundle in a listener if a client did not use SNI. 621921Sa.suvorov@f5.com</para> 631921Sa.suvorov@f5.com</change> 641921Sa.suvorov@f5.com 651921Sa.suvorov@f5.com 661921Sa.suvorov@f5.com<change type="bugfix"> 671921Sa.suvorov@f5.com<para> 681907Smax.romanov@nginx.comthe router process could crash on TLS connection open when multiple listeners 691907Smax.romanov@nginx.comwith TLS certificate configured; the bug had appeared in 1.23.0. 701907Smax.romanov@nginx.com</para> 711907Smax.romanov@nginx.com</change> 721907Smax.romanov@nginx.com 731907Smax.romanov@nginx.com<change type="bugfix"> 741907Smax.romanov@nginx.com<para> 751915Smax.romanov@nginx.comthe router process could crash on rapid mutithreaded application 761915Smax.romanov@nginx.comreconfiguration. 771915Smax.romanov@nginx.com</para> 781915Smax.romanov@nginx.com</change> 791915Smax.romanov@nginx.com 801915Smax.romanov@nginx.com<change type="bugfix"> 811915Smax.romanov@nginx.com<para> 821907Smax.romanov@nginx.coma descriptor and memory leak occurred in the router process when an app 831907Smax.romanov@nginx.comprocess stopped or crashed. 841907Smax.romanov@nginx.com</para> 851907Smax.romanov@nginx.com</change> 861907Smax.romanov@nginx.com 871909So.canty@f5.com<change type="bugfix"> 881909So.canty@f5.com<para> 891909So.canty@f5.comthe controller or router process could crash if the configuration contained 901909So.canty@f5.coma full-form IPv6 in a listener address. 911909So.canty@f5.com</para> 921909So.canty@f5.com</change> 931909So.canty@f5.com 941916Smax.romanov@nginx.com<change type="bugfix"> 951916Smax.romanov@nginx.com<para> 961916Smax.romanov@nginx.comcompatibility issues with some Python ASGI apps, notably based on Starlette 971916Smax.romanov@nginx.comframework. 981916Smax.romanov@nginx.com</para> 991916Smax.romanov@nginx.com</change> 1001916Smax.romanov@nginx.com 1011929Sz.hong@f5.com<change type="bugfix"> 1021929Sz.hong@f5.com<para> 1031929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes" 1041929Sz.hong@f5.comor "upstreams" using a variable "pass" option. 1051929Sz.hong@f5.com</para> 1061929Sz.hong@f5.com</change> 1071929Sz.hong@f5.com 1081930So.canty@f5.com<change type="bugfix"> 1091930So.canty@f5.com<para> 1101930So.canty@f5.comthe router process crashed while matching a request to an empty array of 1111930So.canty@f5.comsource or destination address patterns. 1121930So.canty@f5.com</para> 1131930So.canty@f5.com</change> 1141930So.canty@f5.com 1151896Svbart@nginx.com</changes> 1161896Svbart@nginx.com 1171896Svbart@nginx.com 1181887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 1191891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1201887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1211887Sdefan@nginx.com 1221887Sdefan@nginx.com<change> 1231887Sdefan@nginx.com<para> 1241887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit. 1251887Sdefan@nginx.com</para> 1261887Sdefan@nginx.com</change> 1271887Sdefan@nginx.com 1281887Sdefan@nginx.com</changes> 1291887Sdefan@nginx.com 1301887Sdefan@nginx.com 1311887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 1321891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1331887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1341887Sdefan@nginx.com 1351887Sdefan@nginx.com<change> 1361887Sdefan@nginx.com<para> 1371887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 1381887Sdefan@nginx.com</para> 1391887Sdefan@nginx.com</change> 1401887Sdefan@nginx.com 1411887Sdefan@nginx.com</changes> 1421887Sdefan@nginx.com 1431887Sdefan@nginx.com 1441834Svbart@nginx.com<changes apply="unit-php 1451834Svbart@nginx.com unit-python unit-python2.7 1461834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1471834Svbart@nginx.com unit-python3.8 unit-python3.9 1481834Svbart@nginx.com unit-go 1491834Svbart@nginx.com unit-perl 1501834Svbart@nginx.com unit-ruby 1511834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1521834Svbart@nginx.com unit-jsc14 unit-jsc15" 1531839Svbart@nginx.com ver="1.24.0" rev="1" 1541891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1551839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1561839Svbart@nginx.com 1571839Svbart@nginx.com<change> 1581839Svbart@nginx.com<para> 1591839Svbart@nginx.comNGINX Unit updated to 1.24.0. 1601839Svbart@nginx.com</para> 1611839Svbart@nginx.com</change> 1621839Svbart@nginx.com 1631839Svbart@nginx.com</changes> 1641839Svbart@nginx.com 1651839Svbart@nginx.com 1661839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 1671891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1681839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1691839Svbart@nginx.com 1701882So.canty@f5.com<change type="change"> 1711882So.canty@f5.com<para> 1721882So.canty@f5.comPHP added to the default MIME type list. 1731882So.canty@f5.com</para> 1741882So.canty@f5.com</change> 1751882So.canty@f5.com 1761855Sz.hong@f5.com<change type="feature"> 1771855Sz.hong@f5.com<para> 1781885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands. 1791885Sa.suvorov@f5.com</para> 1801885Sa.suvorov@f5.com</change> 1811885Sa.suvorov@f5.com 1821885Sa.suvorov@f5.com<change type="feature"> 1831885Sa.suvorov@f5.com<para> 1841890Svbart@nginx.comthe ability to limit static file serving by MIME types. 1851890Svbart@nginx.com</para> 1861890Svbart@nginx.com</change> 1871890Svbart@nginx.com 1881890Svbart@nginx.com<change type="feature"> 1891890Svbart@nginx.com<para> 1901890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount 1911890Svbart@nginx.compoint traversal on a per-request basis when serving static files. 1921872So.canty@f5.com</para> 1931872So.canty@f5.com</change> 1941872So.canty@f5.com 1951872So.canty@f5.com<change type="feature"> 1961872So.canty@f5.com<para> 1971889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 1981889Sartem.konev@nginx.comNode.js. 1991865So.canty@f5.com</para> 2001865So.canty@f5.com</change> 2011865So.canty@f5.com 2021865So.canty@f5.com<change type="feature"> 2031865So.canty@f5.com<para> 2041890Svbart@nginx.commultiple "targets" in Python applications. 2051855Sz.hong@f5.com</para> 2061855Sz.hong@f5.com</change> 2071855Sz.hong@f5.com 2081870So.canty@f5.com<change type="feature"> 2091870So.canty@f5.com<para> 2101870So.canty@f5.comcompatibility with Ruby 3.0. 2111870So.canty@f5.com</para> 2121870So.canty@f5.com</change> 2131870So.canty@f5.com 2141861Svbart@nginx.com<change type="bugfix"> 2151861Svbart@nginx.com<para> 2161889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection. 2171884Sa.suvorov@f5.com</para> 2181884Sa.suvorov@f5.com</change> 2191884Sa.suvorov@f5.com 2201884Sa.suvorov@f5.com<change type="bugfix"> 2211884Sa.suvorov@f5.com<para> 2221861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 2231861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 2241861Svbart@nginx.com</para> 2251861Svbart@nginx.com</change> 2261861Svbart@nginx.com 2271839Svbart@nginx.com</changes> 2281839Svbart@nginx.com 2291839Svbart@nginx.com 2301839Svbart@nginx.com<changes apply="unit-php 2311839Svbart@nginx.com unit-python unit-python2.7 2321839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2331839Svbart@nginx.com unit-python3.8 unit-python3.9 2341839Svbart@nginx.com unit-go 2351839Svbart@nginx.com unit-perl 2361839Svbart@nginx.com unit-ruby 2371839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 2381839Svbart@nginx.com unit-jsc14 unit-jsc15" 2391834Svbart@nginx.com ver="1.23.0" rev="1" 2401834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 2411834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2421834Svbart@nginx.com 2431834Svbart@nginx.com<change> 2441834Svbart@nginx.com<para> 2451834Svbart@nginx.comNGINX Unit updated to 1.23.0. 2461834Svbart@nginx.com</para> 2471834Svbart@nginx.com</change> 2481834Svbart@nginx.com 2491834Svbart@nginx.com</changes> 2501834Svbart@nginx.com 2511834Svbart@nginx.com 2521806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 2531834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 2541806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2551806Svbart@nginx.com 2561825Sthresh@nginx.com<change type="feature"> 2571825Sthresh@nginx.com<para> 2581833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 2591828Sa.suvorov@f5.comIndication (SNI) TLS extension. 2601828Sa.suvorov@f5.com</para> 2611828Sa.suvorov@f5.com</change> 2621828Sa.suvorov@f5.com 2631828Sa.suvorov@f5.com<change type="feature"> 2641828Sa.suvorov@f5.com<para> 2651833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 2661833Sartem.konev@nginx.cominstallation. 2671825Sthresh@nginx.com</para> 2681825Sthresh@nginx.com</change> 2691825Sthresh@nginx.com 2701811Smax.romanov@nginx.com<change type="bugfix"> 2711811Smax.romanov@nginx.com<para> 2721812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 2731812Svbart@nginx.comappeared in 1.17.0. 2741812Svbart@nginx.com</para> 2751812Svbart@nginx.com</change> 2761812Svbart@nginx.com 2771812Svbart@nginx.com<change type="bugfix"> 2781812Svbart@nginx.com<para> 2791833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 2801812Svbart@nginx.comappeared in 1.6. 2811812Svbart@nginx.com</para> 2821812Svbart@nginx.com</change> 2831812Svbart@nginx.com 2841812Svbart@nginx.com<change type="bugfix"> 2851812Svbart@nginx.com<para> 2861833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 2871832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 2881832Smax.romanov@nginx.com</para> 2891832Smax.romanov@nginx.com</change> 2901832Smax.romanov@nginx.com 2911832Smax.romanov@nginx.com<change type="bugfix"> 2921832Smax.romanov@nginx.com<para> 2931833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 2941811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 2951811Smax.romanov@nginx.com</para> 2961811Smax.romanov@nginx.com</change> 2971806Svbart@nginx.com 2981813Svbart@nginx.com<change type="bugfix"> 2991813Svbart@nginx.com<para> 3001813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 3011813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 3021813Svbart@nginx.com</para> 3031813Svbart@nginx.com</change> 3041813Svbart@nginx.com 3051814Svbart@nginx.com<change type="bugfix"> 3061814Svbart@nginx.com<para> 3071820Svbart@nginx.comthe controller process could crash while requesting information about a 3081820Svbart@nginx.comcertificate with a non-DNS SAN entry. 3091820Svbart@nginx.com</para> 3101820Svbart@nginx.com</change> 3111820Svbart@nginx.com 3121820Svbart@nginx.com<change type="bugfix"> 3131820Svbart@nginx.com<para> 3141822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 3151833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 3161822Svbart@nginx.com</para> 3171822Svbart@nginx.com</change> 3181822Svbart@nginx.com 3191822Svbart@nginx.com<change type="bugfix"> 3201822Svbart@nginx.com<para> 3211833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 3221833Sartem.konev@nginx.comclass. 3231814Svbart@nginx.com</para> 3241814Svbart@nginx.com</change> 3251814Svbart@nginx.com 3261815Svbart@nginx.com<change type="bugfix"> 3271815Svbart@nginx.com<para> 3281815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 3291815Svbart@nginx.comappeared in 1.22.0. 3301815Svbart@nginx.com</para> 3311815Svbart@nginx.com</change> 3321815Svbart@nginx.com 3331806Svbart@nginx.com</changes> 3341806Svbart@nginx.com 3351806Svbart@nginx.com 3361798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 3371798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 3381798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3391798Sdefan@nginx.com 3401798Sdefan@nginx.com<change> 3411798Sdefan@nginx.com<para> 3421798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 3431798Sdefan@nginx.com</para> 3441798Sdefan@nginx.com</change> 3451798Sdefan@nginx.com 3461798Sdefan@nginx.com</changes> 3471798Sdefan@nginx.com 3481798Sdefan@nginx.com 3491763Sdefan@nginx.com<changes apply="unit-php 3501763Sdefan@nginx.com unit-python unit-python2.7 3511763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3521763Sdefan@nginx.com unit-python3.8 3531763Sdefan@nginx.com unit-go 3541763Sdefan@nginx.com unit-perl 3551763Sdefan@nginx.com unit-ruby 3561763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3571763Sdefan@nginx.com unit-jsc14 unit-jsc15" 3581763Sdefan@nginx.com ver="1.22.0" rev="1" 3591793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 3601763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3611763Sdefan@nginx.com 3621763Sdefan@nginx.com<change> 3631763Sdefan@nginx.com<para> 3641763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 3651763Sdefan@nginx.com</para> 3661763Sdefan@nginx.com</change> 3671763Sdefan@nginx.com 3681763Sdefan@nginx.com</changes> 3691763Sdefan@nginx.com 3701763Sdefan@nginx.com 3711727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 3721793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 3731727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3741727Svbart@nginx.com 3751759Svbart@nginx.com<change type="feature"> 3761759Svbart@nginx.com<para> 3771792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 3781792Svbart@nginx.comcompliant with Stream API. 3791759Svbart@nginx.com</para> 3801759Svbart@nginx.com</change> 3811759Svbart@nginx.com 3821766Smax.romanov@nginx.com<change type="feature"> 3831766Smax.romanov@nginx.com<para> 3841792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 3851792Svbart@nginx.comapps. 3861732Svbart@nginx.com</para> 3871732Svbart@nginx.com</change> 3881732Svbart@nginx.com 3891733Svbart@nginx.com<change type="bugfix"> 3901733Svbart@nginx.com<para> 3911792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 3921792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 3931754Smax.romanov@nginx.com</para> 3941754Smax.romanov@nginx.com</change> 3951754Smax.romanov@nginx.com 3961755Smax.romanov@nginx.com<change type="bugfix"> 3971755Smax.romanov@nginx.com<para> 3981790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 3991755Smax.romanov@nginx.comappeared in 1.19.0. 4001755Smax.romanov@nginx.com</para> 4011755Smax.romanov@nginx.com</change> 4021755Smax.romanov@nginx.com 4031756Smax.romanov@nginx.com<change type="bugfix"> 4041756Smax.romanov@nginx.com<para> 4051790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 4061790Sartem.konev@nginx.comappeared in 1.19.0. 4071756Smax.romanov@nginx.com</para> 4081756Smax.romanov@nginx.com</change> 4091756Smax.romanov@nginx.com 4101760Smax.romanov@nginx.com<change type="bugfix"> 4111760Smax.romanov@nginx.com<para> 4121792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 4131792Svbart@nginx.com</para> 4141792Svbart@nginx.com</change> 4151792Svbart@nginx.com 4161792Svbart@nginx.com<change type="bugfix"> 4171792Svbart@nginx.com<para> 4181792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 4191792Svbart@nginx.commissing in the PHP module. 4201792Svbart@nginx.com</para> 4211792Svbart@nginx.com</change> 4221792Svbart@nginx.com 4231792Svbart@nginx.com<change type="bugfix"> 4241792Svbart@nginx.com<para> 4251792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 4261792Svbart@nginx.com</para> 4271792Svbart@nginx.com</change> 4281792Svbart@nginx.com 4291792Svbart@nginx.com<change type="bugfix"> 4301792Svbart@nginx.com<para> 4311792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 4321792Svbart@nginx.com</para> 4331792Svbart@nginx.com</change> 4341792Svbart@nginx.com 4351792Svbart@nginx.com<change type="bugfix"> 4361792Svbart@nginx.com<para> 4371792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 4381792Svbart@nginx.comthe bug had appeared in 1.21.0. 4391760Smax.romanov@nginx.com</para> 4401760Smax.romanov@nginx.com</change> 4411760Smax.romanov@nginx.com 4421780Smax.romanov@nginx.com<change type="bugfix"> 4431780Smax.romanov@nginx.com<para> 4441790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 4451790Sartem.konev@nginx.comWebSocket. 4461780Smax.romanov@nginx.com</para> 4471780Smax.romanov@nginx.com</change> 4481780Smax.romanov@nginx.com 4491789Smax.romanov@nginx.com<change type="bugfix"> 4501789Smax.romanov@nginx.com<para> 4511789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 4521789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 4531789Smax.romanov@nginx.com</para> 4541789Smax.romanov@nginx.com</change> 4551789Smax.romanov@nginx.com 4561727Svbart@nginx.com</changes> 4571727Svbart@nginx.com 4581727Svbart@nginx.com 4591722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 4601722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 4611722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4621722Svbart@nginx.com 4631722Svbart@nginx.com<change> 4641722Svbart@nginx.com<para> 4651722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 4661722Svbart@nginx.com</para> 4671722Svbart@nginx.com</change> 4681722Svbart@nginx.com 4691722Svbart@nginx.com</changes> 4701722Svbart@nginx.com 4711722Svbart@nginx.com 4721722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 4731722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 4741722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4751722Svbart@nginx.com 4761722Svbart@nginx.com<change> 4771722Svbart@nginx.com<para> 4781722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 4791722Svbart@nginx.com</para> 4801722Svbart@nginx.com</change> 4811722Svbart@nginx.com 4821722Svbart@nginx.com</changes> 4831722Svbart@nginx.com 4841722Svbart@nginx.com 4851722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 4861722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 4871722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4881722Svbart@nginx.com 4891722Svbart@nginx.com<change> 4901722Svbart@nginx.com<para> 4911722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 4921722Svbart@nginx.com</para> 4931722Svbart@nginx.com</change> 4941722Svbart@nginx.com 4951722Svbart@nginx.com</changes> 4961722Svbart@nginx.com 4971722Svbart@nginx.com 4981722Svbart@nginx.com<changes apply="unit-php 4991722Svbart@nginx.com unit-python unit-python2.7 5001722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5011722Svbart@nginx.com unit-python3.8 5021722Svbart@nginx.com unit-go 5031722Svbart@nginx.com unit-perl 5041722Svbart@nginx.com unit-ruby 5051722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 5061722Svbart@nginx.com ver="1.21.0" rev="1" 5071722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 5081722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5091722Svbart@nginx.com 5101722Svbart@nginx.com<change> 5111722Svbart@nginx.com<para> 5121722Svbart@nginx.comNGINX Unit updated to 1.21.0. 5131722Svbart@nginx.com</para> 5141722Svbart@nginx.com</change> 5151722Svbart@nginx.com 5161722Svbart@nginx.com</changes> 5171722Svbart@nginx.com 5181722Svbart@nginx.com 5191722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 5201722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 5211722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5221722Svbart@nginx.com 5231722Svbart@nginx.com<change type="change"> 5241722Svbart@nginx.com<para> 5251722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 5261722Svbart@nginx.com</para> 5271722Svbart@nginx.com</change> 5281722Svbart@nginx.com 5291722Svbart@nginx.com<change type="change"> 5301722Svbart@nginx.com<para> 5311722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 5321722Svbart@nginx.comnames. 5331722Svbart@nginx.com</para> 5341722Svbart@nginx.com</change> 5351722Svbart@nginx.com 5361722Svbart@nginx.com<change type="change"> 5371722Svbart@nginx.com<para> 5381722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 5391722Svbart@nginx.comdefault. 5401722Svbart@nginx.com</para> 5411722Svbart@nginx.com</change> 5421722Svbart@nginx.com 5431722Svbart@nginx.com<change type="feature"> 5441722Svbart@nginx.com<para> 5451722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 5461722Svbart@nginx.com</para> 5471722Svbart@nginx.com</change> 5481722Svbart@nginx.com 5491722Svbart@nginx.com<change type="feature"> 5501722Svbart@nginx.com<para> 5511722Svbart@nginx.comregular expressions in route matching patterns. 5521722Svbart@nginx.com</para> 5531722Svbart@nginx.com</change> 5541722Svbart@nginx.com 5551722Svbart@nginx.com<change type="feature"> 5561722Svbart@nginx.com<para> 5571722Svbart@nginx.comcompatibility with Python 3.9. 5581722Svbart@nginx.com</para> 5591722Svbart@nginx.com</change> 5601722Svbart@nginx.com 5611722Svbart@nginx.com<change type="feature"> 5621722Svbart@nginx.com<para> 5631722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 5641722Svbart@nginx.com</para> 5651722Svbart@nginx.com</change> 5661722Svbart@nginx.com 5671722Svbart@nginx.com<change type="feature"> 5681722Svbart@nginx.com<para> 5691722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 5701722Svbart@nginx.com</para> 5711722Svbart@nginx.com</change> 5721722Svbart@nginx.com 5731722Svbart@nginx.com<change type="feature"> 5741722Svbart@nginx.com<para> 5751722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 5761722Svbart@nginx.comcontinues code execution without holding onto the client connection. 5771722Svbart@nginx.com</para> 5781722Svbart@nginx.com</change> 5791722Svbart@nginx.com 5801722Svbart@nginx.com<change type="feature"> 5811722Svbart@nginx.com<para> 5821722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 5831722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 5841722Svbart@nginx.com</para> 5851722Svbart@nginx.com</change> 5861722Svbart@nginx.com 5871722Svbart@nginx.com<change type="feature"> 5881722Svbart@nginx.com<para> 5891722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 5901722Svbart@nginx.commounting of eponymous filesystems. 5911722Svbart@nginx.com</para> 5921722Svbart@nginx.com</change> 5931722Svbart@nginx.com 5941722Svbart@nginx.com<change type="bugfix"> 5951722Svbart@nginx.com<para> 5961722Svbart@nginx.comthe router process could crash when running Go applications under high load; 5971722Svbart@nginx.comthe bug had appeared in 1.19.0. 5981722Svbart@nginx.com</para> 5991722Svbart@nginx.com</change> 6001722Svbart@nginx.com 6011722Svbart@nginx.com<change type="bugfix"> 6021722Svbart@nginx.com<para> 6031722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 6041722Svbart@nginx.com</para> 6051722Svbart@nginx.com</change> 6061722Svbart@nginx.com 6071722Svbart@nginx.com<change type="bugfix"> 6081722Svbart@nginx.com<para> 6091722Svbart@nginx.comvarious compatibility issues in Java applications. 6101722Svbart@nginx.com</para> 6111722Svbart@nginx.com</change> 6121722Svbart@nginx.com 6131722Svbart@nginx.com<change type="bugfix"> 6141722Svbart@nginx.com<para> 6151722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 6161722Svbart@nginx.comuse "rootfs" isolation. 6171722Svbart@nginx.com</para> 6181722Svbart@nginx.com</change> 6191722Svbart@nginx.com 6201722Svbart@nginx.com</changes> 6211722Svbart@nginx.com 6221722Svbart@nginx.com 6231330Svbart@nginx.com<changes apply="unit-php 6241330Svbart@nginx.com unit-python unit-python2.7 6251330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6261330Svbart@nginx.com unit-python3.8 6271330Svbart@nginx.com unit-go 6281330Svbart@nginx.com unit-perl 6291330Svbart@nginx.com unit-ruby 6301330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6311640Svbart@nginx.com ver="1.20.0" rev="1" 6321640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 6331640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6341640Svbart@nginx.com 6351640Svbart@nginx.com<change> 6361640Svbart@nginx.com<para> 6371640Svbart@nginx.comNGINX Unit updated to 1.20.0. 6381640Svbart@nginx.com</para> 6391640Svbart@nginx.com</change> 6401640Svbart@nginx.com 6411640Svbart@nginx.com</changes> 6421640Svbart@nginx.com 6431640Svbart@nginx.com 6441640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 6451640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 6461640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6471640Svbart@nginx.com 6481640Svbart@nginx.com<change type="change"> 6491640Svbart@nginx.com<para> 6501640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 6511640Svbart@nginx.comextensions from the host system. 6521640Svbart@nginx.com</para> 6531640Svbart@nginx.com</change> 6541640Svbart@nginx.com 6551640Svbart@nginx.com<change type="change"> 6561640Svbart@nginx.com<para> 6571640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 6581640Svbart@nginx.com</para> 6591640Svbart@nginx.com</change> 6601640Svbart@nginx.com 6611643Svbart@nginx.com<change type="change"> 6621643Svbart@nginx.com<para> 6631643Svbart@nginx.comfunctional tests migrated to the pytest framework. 6641643Svbart@nginx.com</para> 6651643Svbart@nginx.com</change> 6661643Svbart@nginx.com 6671640Svbart@nginx.com<change type="feature"> 6681640Svbart@nginx.com<para> 6691640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 6701640Svbart@nginx.cominterface. 6711640Svbart@nginx.com</para> 6721640Svbart@nginx.com</change> 6731640Svbart@nginx.com 6741640Svbart@nginx.com<change type="feature"> 6751640Svbart@nginx.com<para> 6761640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 6771640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 6781640Svbart@nginx.comspecification. 6791640Svbart@nginx.com</para> 6801640Svbart@nginx.com</change> 6811640Svbart@nginx.com 6821640Svbart@nginx.com<change type="feature"> 6831640Svbart@nginx.com<para> 6841640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 6851640Svbart@nginx.comenvironments. 6861640Svbart@nginx.com</para> 6871640Svbart@nginx.com</change> 6881640Svbart@nginx.com 6891640Svbart@nginx.com<change type="feature"> 6901640Svbart@nginx.com<para> 6911640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 6921640Svbart@nginx.com</para> 6931640Svbart@nginx.com</change> 6941640Svbart@nginx.com 6951640Svbart@nginx.com<change type="feature"> 6961640Svbart@nginx.com<para> 6971640Svbart@nginx.comthe "callable" option sets Python application callable names. 6981640Svbart@nginx.com</para> 6991640Svbart@nginx.com</change> 7001640Svbart@nginx.com 7011640Svbart@nginx.com<change type="feature"> 7021640Svbart@nginx.com<para> 7031640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 7041640Svbart@nginx.com</para> 7051640Svbart@nginx.com</change> 7061640Svbart@nginx.com 7071640Svbart@nginx.com<change type="feature"> 7081640Svbart@nginx.com<para> 7091640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 7101640Svbart@nginx.comautomatic mounting of language module dependencies. 7111640Svbart@nginx.com</para> 7121640Svbart@nginx.com</change> 7131640Svbart@nginx.com 7141640Svbart@nginx.com<change type="bugfix"> 7151640Svbart@nginx.com<para> 7161640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 7171640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 7181640Svbart@nginx.com</para> 7191640Svbart@nginx.com</change> 7201640Svbart@nginx.com 7211640Svbart@nginx.com<change type="bugfix"> 7221640Svbart@nginx.com<para> 7231640Svbart@nginx.comthe router process could crash during reconfiguration. 7241640Svbart@nginx.com</para> 7251640Svbart@nginx.com</change> 7261640Svbart@nginx.com 7271640Svbart@nginx.com<change type="bugfix"> 7281640Svbart@nginx.com<para> 7291640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 7301640Svbart@nginx.com</para> 7311640Svbart@nginx.com</change> 7321640Svbart@nginx.com 7331640Svbart@nginx.com<change type="bugfix"> 7341640Svbart@nginx.com<para> 7351640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 7361640Svbart@nginx.comthe bug had appeared in 1.19.0. 7371640Svbart@nginx.com</para> 7381640Svbart@nginx.com</change> 7391640Svbart@nginx.com 7401640Svbart@nginx.com<change type="bugfix"> 7411640Svbart@nginx.com<para> 7421640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 7431640Svbart@nginx.comthe bug had appeared in 1.16.0. 7441640Svbart@nginx.com</para> 7451640Svbart@nginx.com</change> 7461640Svbart@nginx.com 7471640Svbart@nginx.com</changes> 7481640Svbart@nginx.com 7491640Svbart@nginx.com 7501640Svbart@nginx.com<changes apply="unit-php 7511640Svbart@nginx.com unit-python unit-python2.7 7521640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7531640Svbart@nginx.com unit-python3.8 7541640Svbart@nginx.com unit-go 7551640Svbart@nginx.com unit-perl 7561640Svbart@nginx.com unit-ruby 7571640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7581570Svbart@nginx.com ver="1.19.0" rev="1" 7591570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 7601570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7611570Svbart@nginx.com 7621570Svbart@nginx.com<change> 7631570Svbart@nginx.com<para> 7641570Svbart@nginx.comNGINX Unit updated to 1.19.0. 7651570Svbart@nginx.com</para> 7661570Svbart@nginx.com</change> 7671570Svbart@nginx.com 7681570Svbart@nginx.com</changes> 7691570Svbart@nginx.com 7701570Svbart@nginx.com 7711570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 7721570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 7731570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7741570Svbart@nginx.com 7751570Svbart@nginx.com<change type="feature"> 7761570Svbart@nginx.com<para> 7771570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 7781570Svbart@nginx.comincrease performance, and improve scalability. 7791570Svbart@nginx.com</para> 7801570Svbart@nginx.com</change> 7811570Svbart@nginx.com 7821570Svbart@nginx.com<change type="feature"> 7831570Svbart@nginx.com<para> 7841570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 7851570Svbart@nginx.com</para> 7861570Svbart@nginx.com</change> 7871570Svbart@nginx.com 7881570Svbart@nginx.com<change type="feature"> 7891570Svbart@nginx.com<para> 7901570Svbart@nginx.comchunked transfer encoding in proxy responses. 7911570Svbart@nginx.com</para> 7921570Svbart@nginx.com</change> 7931570Svbart@nginx.com 7941570Svbart@nginx.com<change type="feature"> 7951570Svbart@nginx.com<para> 7961570Svbart@nginx.combasic variables support in the "pass" option. 7971570Svbart@nginx.com</para> 7981570Svbart@nginx.com</change> 7991570Svbart@nginx.com 8001570Svbart@nginx.com<change type="feature"> 8011570Svbart@nginx.com<para> 8021570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 8031570Svbart@nginx.comThanks to Remi Collet. 8041570Svbart@nginx.com</para> 8051570Svbart@nginx.com</change> 8061570Svbart@nginx.com 8071570Svbart@nginx.com<change type="bugfix"> 8081570Svbart@nginx.com<para> 8091570Svbart@nginx.comthe router process could crash while passing requests to an application under 8101570Svbart@nginx.comhigh load. 8111570Svbart@nginx.com</para> 8121570Svbart@nginx.com</change> 8131570Svbart@nginx.com 8141570Svbart@nginx.com<change type="bugfix"> 8151570Svbart@nginx.com<para> 8161570Svbart@nginx.coma number of language modules failed to build on some systems; 8171570Svbart@nginx.comthe bug had appeared in 1.18.0. 8181570Svbart@nginx.com</para> 8191570Svbart@nginx.com</change> 8201570Svbart@nginx.com 8211570Svbart@nginx.com<change type="bugfix"> 8221570Svbart@nginx.com<para> 8231570Svbart@nginx.comtime in error log messages from PHP applications could lag. 8241570Svbart@nginx.com</para> 8251570Svbart@nginx.com</change> 8261570Svbart@nginx.com 8271570Svbart@nginx.com<change type="bugfix"> 8281570Svbart@nginx.com<para> 8291570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 8301570Svbart@nginx.comthe bug had appeared in 1.18.0. 8311570Svbart@nginx.com</para> 8321570Svbart@nginx.com</change> 8331570Svbart@nginx.com 8341570Svbart@nginx.com<change type="bugfix"> 8351570Svbart@nginx.com<para> 8361570Svbart@nginx.commemory leak during reconfiguration. 8371570Svbart@nginx.com</para> 8381570Svbart@nginx.com</change> 8391570Svbart@nginx.com 8401570Svbart@nginx.com<change type="bugfix"> 8411570Svbart@nginx.com<para> 8421570Svbart@nginx.comthe daemon didn't start without language modules; 8431570Svbart@nginx.comthe bug had appeared in 1.18.0. 8441570Svbart@nginx.com</para> 8451570Svbart@nginx.com</change> 8461570Svbart@nginx.com 8471570Svbart@nginx.com<change type="bugfix"> 8481570Svbart@nginx.com<para> 8491570Svbart@nginx.comthe router process could crash at exit. 8501570Svbart@nginx.com</para> 8511570Svbart@nginx.com</change> 8521570Svbart@nginx.com 8531570Svbart@nginx.com<change type="bugfix"> 8541570Svbart@nginx.com<para> 8551570Svbart@nginx.comNode.js applications could crash at exit. 8561570Svbart@nginx.com</para> 8571570Svbart@nginx.com</change> 8581570Svbart@nginx.com 8591570Svbart@nginx.com<change type="bugfix"> 8601570Svbart@nginx.com<para> 8611570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 8621570Svbart@nginx.com</para> 8631570Svbart@nginx.com</change> 8641570Svbart@nginx.com 8651570Svbart@nginx.com</changes> 8661570Svbart@nginx.com 8671570Svbart@nginx.com 8681570Svbart@nginx.com<changes apply="unit-php 8691570Svbart@nginx.com unit-python unit-python2.7 8701570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8711570Svbart@nginx.com unit-python3.8 8721570Svbart@nginx.com unit-go 8731570Svbart@nginx.com unit-perl 8741570Svbart@nginx.com unit-ruby 8751570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8761491Svbart@nginx.com ver="1.18.0" rev="1" 8771491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 8781491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8791491Svbart@nginx.com 8801491Svbart@nginx.com<change> 8811491Svbart@nginx.com<para> 8821491Svbart@nginx.comNGINX Unit updated to 1.18.0. 8831491Svbart@nginx.com</para> 8841491Svbart@nginx.com</change> 8851491Svbart@nginx.com 8861491Svbart@nginx.com</changes> 8871491Svbart@nginx.com 8881491Svbart@nginx.com 8891491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 8901491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 8911491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8921491Svbart@nginx.com 8931491Svbart@nginx.com<change type="feature"> 8941491Svbart@nginx.com<para> 8951491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 8961491Svbart@nginx.com</para> 8971491Svbart@nginx.com</change> 8981491Svbart@nginx.com 8991491Svbart@nginx.com<change type="feature"> 9001491Svbart@nginx.com<para> 9011491Svbart@nginx.commultiple "targets" in PHP applications. 9021491Svbart@nginx.com</para> 9031491Svbart@nginx.com</change> 9041491Svbart@nginx.com 9051491Svbart@nginx.com<change type="feature"> 9061491Svbart@nginx.com<para> 9071491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 9081491Svbart@nginx.comand in the "pass" option. 9091491Svbart@nginx.com</para> 9101491Svbart@nginx.com</change> 9111491Svbart@nginx.com 9121491Svbart@nginx.com</changes> 9131491Svbart@nginx.com 9141491Svbart@nginx.com 9151491Svbart@nginx.com<changes apply="unit-php 9161491Svbart@nginx.com unit-python unit-python2.7 9171491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9181491Svbart@nginx.com unit-python3.8 9191491Svbart@nginx.com unit-go 9201491Svbart@nginx.com unit-perl 9211491Svbart@nginx.com unit-ruby 9221491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9231460Svbart@nginx.com ver="1.17.0" rev="1" 9241460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 9251460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9261460Svbart@nginx.com 9271460Svbart@nginx.com<change> 9281460Svbart@nginx.com<para> 9291460Svbart@nginx.comNGINX Unit updated to 1.17.0. 9301460Svbart@nginx.com</para> 9311460Svbart@nginx.com</change> 9321460Svbart@nginx.com 9331460Svbart@nginx.com</changes> 9341460Svbart@nginx.com 9351460Svbart@nginx.com 9361460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 9371460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 9381460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9391460Svbart@nginx.com 9401460Svbart@nginx.com<change type="feature"> 9411460Svbart@nginx.com<para> 9421460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 9431460Svbart@nginx.comredirection. 9441460Svbart@nginx.com</para> 9451460Svbart@nginx.com</change> 9461460Svbart@nginx.com 9471460Svbart@nginx.com<change type="feature"> 9481460Svbart@nginx.com<para> 9491460Svbart@nginx.comfractional weights support for upstream servers. 9501460Svbart@nginx.com</para> 9511460Svbart@nginx.com</change> 9521460Svbart@nginx.com 9531460Svbart@nginx.com<change type="bugfix"> 9541460Svbart@nginx.com<para> 9551460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 9561460Svbart@nginx.comhigh load. 9571460Svbart@nginx.com</para> 9581460Svbart@nginx.com</change> 9591460Svbart@nginx.com 9601460Svbart@nginx.com<change type="bugfix"> 9611460Svbart@nginx.com<para> 9621460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 9631460Svbart@nginx.com</para> 9641460Svbart@nginx.com</change> 9651460Svbart@nginx.com 9661460Svbart@nginx.com<change type="bugfix"> 9671460Svbart@nginx.com<para> 9681460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 9691460Svbart@nginx.comopen connections limit. 9701460Svbart@nginx.com</para> 9711460Svbart@nginx.com</change> 9721460Svbart@nginx.com 9731460Svbart@nginx.com<change type="bugfix"> 9741460Svbart@nginx.com<para> 9751460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 9761460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 9771460Svbart@nginx.com</para> 9781460Svbart@nginx.com</change> 9791460Svbart@nginx.com 9801460Svbart@nginx.com<change type="bugfix"> 9811460Svbart@nginx.com<para> 9821460Svbart@nginx.comexisting application processes didn't reopen the log file. 9831460Svbart@nginx.com</para> 9841460Svbart@nginx.com</change> 9851460Svbart@nginx.com 9861460Svbart@nginx.com<change type="bugfix"> 9871460Svbart@nginx.com<para> 9881460Svbart@nginx.comincompatibility with some Node.js applications. 9891460Svbart@nginx.com</para> 9901460Svbart@nginx.com</change> 9911460Svbart@nginx.com 9921460Svbart@nginx.com<change type="bugfix"> 9931460Svbart@nginx.com<para> 9941460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 9951460Svbart@nginx.com</para> 9961460Svbart@nginx.com</change> 9971460Svbart@nginx.com 9981460Svbart@nginx.com</changes> 9991460Svbart@nginx.com 10001460Svbart@nginx.com 10011460Svbart@nginx.com<changes apply="unit-php 10021460Svbart@nginx.com unit-python unit-python2.7 10031460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10041460Svbart@nginx.com unit-python3.8 10051460Svbart@nginx.com unit-go 10061460Svbart@nginx.com unit-perl 10071460Svbart@nginx.com unit-ruby 10081460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10091404Svbart@nginx.com ver="1.16.0" rev="1" 10101404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 10111404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10121404Svbart@nginx.com 10131404Svbart@nginx.com<change> 10141404Svbart@nginx.com<para> 10151404Svbart@nginx.comNGINX Unit updated to 1.16.0. 10161404Svbart@nginx.com</para> 10171404Svbart@nginx.com</change> 10181404Svbart@nginx.com 10191404Svbart@nginx.com</changes> 10201404Svbart@nginx.com 10211404Svbart@nginx.com 10221404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 10231404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 10241404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10251404Svbart@nginx.com 10261404Svbart@nginx.com<change type="feature"> 10271404Svbart@nginx.com<para> 10281404Svbart@nginx.combasic load-balancing support with round-robin. 10291404Svbart@nginx.com</para> 10301404Svbart@nginx.com</change> 10311404Svbart@nginx.com 10321404Svbart@nginx.com<change type="feature"> 10331404Svbart@nginx.com<para> 10341404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 10351404Svbart@nginx.comserved from the "share" directory. 10361404Svbart@nginx.com</para> 10371404Svbart@nginx.com</change> 10381404Svbart@nginx.com 10391404Svbart@nginx.com<change type="feature"> 10401404Svbart@nginx.com<para> 10411404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 10421404Svbart@nginx.com</para> 10431404Svbart@nginx.com</change> 10441404Svbart@nginx.com 10451404Svbart@nginx.com<change type="feature"> 10461404Svbart@nginx.com<para> 10471404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 10481404Svbart@nginx.com</para> 10491404Svbart@nginx.com</change> 10501404Svbart@nginx.com 10511404Svbart@nginx.com<change type="bugfix"> 10521404Svbart@nginx.com<para> 10531404Svbart@nginx.comnegative address matching in router might work improperly in combination with 10541404Svbart@nginx.comnon-negative patterns. 10551404Svbart@nginx.com</para> 10561404Svbart@nginx.com</change> 10571404Svbart@nginx.com 10581404Svbart@nginx.com<change type="bugfix"> 10591404Svbart@nginx.com<para> 10601404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 10611404Svbart@nginx.com</para> 10621404Svbart@nginx.com</change> 10631404Svbart@nginx.com 10641404Svbart@nginx.com<change type="bugfix"> 10651404Svbart@nginx.com<para> 10661404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 10671404Svbart@nginx.com</para> 10681404Svbart@nginx.com</change> 10691404Svbart@nginx.com 10701404Svbart@nginx.com<change type="bugfix"> 10711404Svbart@nginx.com<para> 10721404Svbart@nginx.comcompatibility issues with some Python applications. 10731404Svbart@nginx.com</para> 10741404Svbart@nginx.com</change> 10751404Svbart@nginx.com 10761404Svbart@nginx.com</changes> 10771404Svbart@nginx.com 10781404Svbart@nginx.com 10791404Svbart@nginx.com<changes apply="unit-php 10801404Svbart@nginx.com unit-python unit-python2.7 10811404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10821404Svbart@nginx.com unit-python3.8 10831404Svbart@nginx.com unit-go 10841404Svbart@nginx.com unit-perl 10851404Svbart@nginx.com unit-ruby 10861404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10871357Svbart@nginx.com ver="1.15.0" rev="1" 10881357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 10891357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10901357Svbart@nginx.com 10911357Svbart@nginx.com<change> 10921357Svbart@nginx.com<para> 10931357Svbart@nginx.comNGINX Unit updated to 1.15.0. 10941357Svbart@nginx.com</para> 10951357Svbart@nginx.com</change> 10961357Svbart@nginx.com 10971357Svbart@nginx.com</changes> 10981357Svbart@nginx.com 10991357Svbart@nginx.com 11001357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 11011357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 11021357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11031357Svbart@nginx.com 11041357Svbart@nginx.com<change type="change"> 11051357Svbart@nginx.com<para> 11061357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 11071357Svbart@nginx.com</para> 11081357Svbart@nginx.com</change> 11091357Svbart@nginx.com 11101357Svbart@nginx.com<change type="feature"> 11111357Svbart@nginx.com<para> 11121357Svbart@nginx.comcompatibility with Ruby 2.7. 11131357Svbart@nginx.com</para> 11141357Svbart@nginx.com</change> 11151357Svbart@nginx.com 11161357Svbart@nginx.com<change type="bugfix"> 11171357Svbart@nginx.com<para> 11181357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 11191357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 11201357Svbart@nginx.com</para> 11211357Svbart@nginx.com</change> 11221357Svbart@nginx.com 11231357Svbart@nginx.com<change type="bugfix"> 11241357Svbart@nginx.com<para> 11251357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 11261357Svbart@nginx.com</para> 11271357Svbart@nginx.com</change> 11281357Svbart@nginx.com 11291357Svbart@nginx.com</changes> 11301357Svbart@nginx.com 11311357Svbart@nginx.com 11321357Svbart@nginx.com<changes apply="unit-php 11331357Svbart@nginx.com unit-python unit-python2.7 11341357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11351357Svbart@nginx.com unit-python3.8 11361357Svbart@nginx.com unit-go 11371357Svbart@nginx.com unit-perl 11381357Svbart@nginx.com unit-ruby 11391357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11401330Svbart@nginx.com ver="1.14.0" rev="1" 11411330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 11421330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11431330Svbart@nginx.com 11441330Svbart@nginx.com<change> 11451330Svbart@nginx.com<para> 11461330Svbart@nginx.comNGINX Unit updated to 1.14.0. 11471330Svbart@nginx.com</para> 11481330Svbart@nginx.com</change> 11491330Svbart@nginx.com 11501330Svbart@nginx.com</changes> 11511330Svbart@nginx.com 11521330Svbart@nginx.com 11531330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 11541330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 11551330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11561330Svbart@nginx.com 11571330Svbart@nginx.com<change type="change"> 11581330Svbart@nginx.com<para> 11591330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 11601330Svbart@nginx.com</para> 11611330Svbart@nginx.com</change> 11621330Svbart@nginx.com 11631330Svbart@nginx.com<change type="change"> 11641330Svbart@nginx.com<para> 11651330Svbart@nginx.comGo package now links to libunit instead of including library sources. 11661330Svbart@nginx.com</para> 11671330Svbart@nginx.com</change> 11681330Svbart@nginx.com 11691330Svbart@nginx.com<change type="feature"> 11701330Svbart@nginx.com<para> 11711330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 11721330Svbart@nginx.comruns as an unprivileged user. 11731330Svbart@nginx.com</para> 11741330Svbart@nginx.com</change> 11751330Svbart@nginx.com 11761330Svbart@nginx.com<change type="feature"> 11771330Svbart@nginx.com<para> 11781330Svbart@nginx.comrequest routing by source and destination addresses and ports. 11791330Svbart@nginx.com</para> 11801330Svbart@nginx.com</change> 11811330Svbart@nginx.com 11821330Svbart@nginx.com<change type="bugfix"> 11831330Svbart@nginx.com<para> 11841330Svbart@nginx.commemory bloat on large responses. 11851330Svbart@nginx.com</para> 11861330Svbart@nginx.com</change> 11871330Svbart@nginx.com 11881330Svbart@nginx.com</changes> 11891330Svbart@nginx.com 11901330Svbart@nginx.com 11911290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 11921290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 11931290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11941290Sdefan@nginx.com 11951290Sdefan@nginx.com<change> 11961290Sdefan@nginx.com<para> 11971290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 11981290Sdefan@nginx.com</para> 11991290Sdefan@nginx.com</change> 12001290Sdefan@nginx.com 12011290Sdefan@nginx.com</changes> 12021290Sdefan@nginx.com 12031290Sdefan@nginx.com 12041290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 12051290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 12061290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12071290Sdefan@nginx.com 12081290Sdefan@nginx.com<change> 12091290Sdefan@nginx.com<para> 12101290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 12111290Sdefan@nginx.com</para> 12121290Sdefan@nginx.com</change> 12131290Sdefan@nginx.com 12141290Sdefan@nginx.com</changes> 12151290Sdefan@nginx.com 12161290Sdefan@nginx.com 12171289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 12181289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 12191289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12201289Sdefan@nginx.com 12211289Sdefan@nginx.com<change> 12221289Sdefan@nginx.com<para> 12231289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 12241289Sdefan@nginx.com</para> 12251289Sdefan@nginx.com</change> 12261289Sdefan@nginx.com 12271289Sdefan@nginx.com</changes> 12281289Sdefan@nginx.com 12291289Sdefan@nginx.com 12301185Svbart@nginx.com<changes apply="unit-php 12311185Svbart@nginx.com unit-python unit-python2.7 12321185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12331185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 12341185Svbart@nginx.com unit-perl 12351185Svbart@nginx.com unit-ruby 12361185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12371284Svbart@nginx.com ver="1.13.0" rev="1" 12381284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 12391284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12401284Svbart@nginx.com 12411284Svbart@nginx.com<change> 12421284Svbart@nginx.com<para> 12431284Svbart@nginx.comNGINX Unit updated to 1.13.0. 12441284Svbart@nginx.com</para> 12451284Svbart@nginx.com</change> 12461284Svbart@nginx.com 12471284Svbart@nginx.com</changes> 12481284Svbart@nginx.com 12491284Svbart@nginx.com 12501284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 12511284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 12521284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12531284Svbart@nginx.com 12541284Svbart@nginx.com<change type="feature"> 12551284Svbart@nginx.com<para> 12561284Svbart@nginx.combasic support for HTTP reverse proxying. 12571284Svbart@nginx.com</para> 12581284Svbart@nginx.com</change> 12591284Svbart@nginx.com 12601284Svbart@nginx.com<change type="feature"> 12611284Svbart@nginx.com<para> 12621284Svbart@nginx.comcompatibility with Python 3.8. 12631284Svbart@nginx.com</para> 12641284Svbart@nginx.com</change> 12651284Svbart@nginx.com 12661284Svbart@nginx.com<change type="bugfix"> 12671284Svbart@nginx.com<para> 12681284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 12691284Svbart@nginx.com</para> 12701284Svbart@nginx.com</change> 12711284Svbart@nginx.com 12721284Svbart@nginx.com<change type="bugfix"> 12731284Svbart@nginx.com<para> 12741284Svbart@nginx.comthreads in Python applications might not work correctly. 12751284Svbart@nginx.com</para> 12761284Svbart@nginx.com</change> 12771284Svbart@nginx.com 12781284Svbart@nginx.com<change type="bugfix"> 12791284Svbart@nginx.com<para> 12801284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 12811284Svbart@nginx.com</para> 12821284Svbart@nginx.com</change> 12831284Svbart@nginx.com 12841284Svbart@nginx.com<change type="bugfix"> 12851284Svbart@nginx.com<para> 12861284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 12871284Svbart@nginx.comdelays. 12881284Svbart@nginx.com</para> 12891284Svbart@nginx.com</change> 12901284Svbart@nginx.com 12911284Svbart@nginx.com<change type="bugfix"> 12921284Svbart@nginx.com<para> 12931284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 12941284Svbart@nginx.com</para> 12951284Svbart@nginx.com</change> 12961284Svbart@nginx.com 12971284Svbart@nginx.com</changes> 12981284Svbart@nginx.com 12991284Svbart@nginx.com 13001284Svbart@nginx.com<changes apply="unit-php 13011284Svbart@nginx.com unit-python unit-python2.7 13021284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13031284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 13041284Svbart@nginx.com unit-perl 13051284Svbart@nginx.com unit-ruby 13061284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13071222Svbart@nginx.com ver="1.12.0" rev="1" 13081222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 13091222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13101222Svbart@nginx.com 13111222Svbart@nginx.com<change> 13121222Svbart@nginx.com<para> 13131222Svbart@nginx.comNGINX Unit updated to 1.12.0. 13141222Svbart@nginx.com</para> 13151222Svbart@nginx.com</change> 13161222Svbart@nginx.com 13171222Svbart@nginx.com</changes> 13181222Svbart@nginx.com 13191222Svbart@nginx.com 13201222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 13211222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 13221222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13231222Svbart@nginx.com 13241222Svbart@nginx.com<change type="feature"> 13251222Svbart@nginx.com<para> 13261222Svbart@nginx.comcompatibility with PHP 7.4. 13271222Svbart@nginx.com</para> 13281222Svbart@nginx.com</change> 13291222Svbart@nginx.com 13301222Svbart@nginx.com<change type="bugfix"> 13311222Svbart@nginx.com<para> 13321222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 13331222Svbart@nginx.com</para> 13341222Svbart@nginx.com</change> 13351222Svbart@nginx.com 13361222Svbart@nginx.com<change type="bugfix"> 13371222Svbart@nginx.com<para> 13381222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 13391222Svbart@nginx.com</para> 13401222Svbart@nginx.com</change> 13411222Svbart@nginx.com 13421222Svbart@nginx.com<change type="bugfix"> 13431222Svbart@nginx.com<para> 13441222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 13451222Svbart@nginx.com</para> 13461222Svbart@nginx.com</change> 13471222Svbart@nginx.com 13481222Svbart@nginx.com</changes> 13491222Svbart@nginx.com 13501222Svbart@nginx.com 13511222Svbart@nginx.com 13521222Svbart@nginx.com<changes apply="unit-php 13531222Svbart@nginx.com unit-python unit-python2.7 13541222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13551222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 13561222Svbart@nginx.com unit-perl 13571222Svbart@nginx.com unit-ruby 13581222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13591185Svbart@nginx.com ver="1.11.0" rev="1" 13601185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 13611185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 13621185Svbart@nginx.com 13631185Svbart@nginx.com<change> 13641185Svbart@nginx.com<para> 13651185Svbart@nginx.comNGINX Unit updated to 1.11.0. 13661185Svbart@nginx.com</para> 13671185Svbart@nginx.com</change> 13681185Svbart@nginx.com 13691185Svbart@nginx.com</changes> 13701185Svbart@nginx.com 13711185Svbart@nginx.com 13721185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 13731185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 13741185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 13751185Svbart@nginx.com 13761185Svbart@nginx.com<change type="feature"> 13771185Svbart@nginx.com<para> 13781185Svbart@nginx.combasic support for serving static files. 13791185Svbart@nginx.com</para> 13801185Svbart@nginx.com</change> 13811185Svbart@nginx.com 13821185Svbart@nginx.com<change type="feature"> 13831185Svbart@nginx.com<para> 13841185Svbart@nginx.comisolation of application processes with Linux namespaces. 13851185Svbart@nginx.com</para> 13861185Svbart@nginx.com</change> 13871185Svbart@nginx.com 13881185Svbart@nginx.com<change type="feature"> 13891185Svbart@nginx.com<para> 13901185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 13911185Svbart@nginx.com</para> 13921185Svbart@nginx.com</change> 13931185Svbart@nginx.com 13941185Svbart@nginx.com<change type="feature"> 13951185Svbart@nginx.com<para> 13961185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 13971185Svbart@nginx.comusing URI encoding (%2F). 13981185Svbart@nginx.com</para> 13991185Svbart@nginx.com</change> 14001185Svbart@nginx.com 14011185Svbart@nginx.com<change type="bugfix"> 14021185Svbart@nginx.com<para> 14031185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 14041185Svbart@nginx.com</para> 14051185Svbart@nginx.com</change> 14061185Svbart@nginx.com 14071185Svbart@nginx.com<change type="bugfix"> 14081185Svbart@nginx.com<para> 14091185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 14101185Svbart@nginx.comGNU ld (e.g. gold or LLD). 14111185Svbart@nginx.com</para> 14121185Svbart@nginx.com</change> 14131185Svbart@nginx.com 14141185Svbart@nginx.com</changes> 14151185Svbart@nginx.com 14161185Svbart@nginx.com 14171142Sdefan@nginx.com<changes apply="unit 14181142Sdefan@nginx.com unit-php 14191142Sdefan@nginx.com unit-python unit-python2.7 14201142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14211142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14221142Sdefan@nginx.com unit-perl 14231142Sdefan@nginx.com unit-ruby 14241142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14251142Sdefan@nginx.com ver="1.10.0" rev="2" 14261142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 14271142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14281142Sdefan@nginx.com 14291142Sdefan@nginx.com<change type="bugfix"> 14301142Sdefan@nginx.com<para> 14311142Sdefan@nginx.commissed header files added to unit development package. 14321142Sdefan@nginx.com</para> 14331142Sdefan@nginx.com</change> 14341142Sdefan@nginx.com 14351142Sdefan@nginx.com</changes> 14361142Sdefan@nginx.com 14371142Sdefan@nginx.com 14381134Svbart@nginx.com<changes apply="unit-php 14391134Svbart@nginx.com unit-python unit-python2.7 14401134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14411134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14421134Svbart@nginx.com unit-perl 14431134Svbart@nginx.com unit-ruby 14441134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14451134Svbart@nginx.com ver="1.10.0" rev="1" 14461134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 14471134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14481134Svbart@nginx.com 14491134Svbart@nginx.com<change> 14501134Svbart@nginx.com<para> 14511134Svbart@nginx.comNGINX Unit updated to 1.10.0. 14521134Svbart@nginx.com</para> 14531134Svbart@nginx.com</change> 14541134Svbart@nginx.com 14551134Svbart@nginx.com</changes> 14561134Svbart@nginx.com 14571134Svbart@nginx.com 14581134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 14591134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 14601134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14611134Svbart@nginx.com 14621134Svbart@nginx.com<change type="change"> 14631134Svbart@nginx.com<para> 14641134Svbart@nginx.commatching of cookies in routes made case sensitive. 14651134Svbart@nginx.com</para> 14661134Svbart@nginx.com</change> 14671134Svbart@nginx.com 14681134Svbart@nginx.com<change type="change"> 14691134Svbart@nginx.com<para> 14701134Svbart@nginx.comdecreased log level of common errors when clients close connections. 14711134Svbart@nginx.com</para> 14721134Svbart@nginx.com</change> 14731134Svbart@nginx.com 14741134Svbart@nginx.com<change type="change"> 14751134Svbart@nginx.com<para> 14761134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 14771134Svbart@nginx.com</para> 14781134Svbart@nginx.com</change> 14791134Svbart@nginx.com 14801134Svbart@nginx.com<change type="feature"> 14811134Svbart@nginx.com<para> 14821134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 14831134Svbart@nginx.com</para> 14841134Svbart@nginx.com</change> 14851134Svbart@nginx.com 14861134Svbart@nginx.com<change type="feature"> 14871134Svbart@nginx.com<para> 14881134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 14891134Svbart@nginx.com</para> 14901134Svbart@nginx.com</change> 14911134Svbart@nginx.com 14921134Svbart@nginx.com<change type="feature"> 14931134Svbart@nginx.com<para> 14941134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 14951134Svbart@nginx.com</para> 14961134Svbart@nginx.com</change> 14971134Svbart@nginx.com 14981134Svbart@nginx.com<change type="feature"> 14991134Svbart@nginx.com<para> 15001134Svbart@nginx.comsupport for multipart requests body in Java module. 15011134Svbart@nginx.com</para> 15021134Svbart@nginx.com</change> 15031134Svbart@nginx.com 15041134Svbart@nginx.com<change type="feature"> 15051134Svbart@nginx.com<para> 15061134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 15071134Svbart@nginx.com</para> 15081134Svbart@nginx.com</change> 15091134Svbart@nginx.com 15101134Svbart@nginx.com<change type="bugfix"> 15111134Svbart@nginx.com<para> 15121134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 15131134Svbart@nginx.com</para> 15141134Svbart@nginx.com</change> 15151134Svbart@nginx.com 15161134Svbart@nginx.com<change type="bugfix"> 15171134Svbart@nginx.com<para> 15181134Svbart@nginx.comapplying a large configuration might have failed. 15191134Svbart@nginx.com</para> 15201134Svbart@nginx.com</change> 15211134Svbart@nginx.com 15221134Svbart@nginx.com</changes> 15231134Svbart@nginx.com 15241134Svbart@nginx.com 15251069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 15261069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 15271069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15281069Svbart@nginx.com 15291069Svbart@nginx.com<change> 15301069Svbart@nginx.com<para> 15311069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 15321069Svbart@nginx.com</para> 15331069Svbart@nginx.com</change> 15341069Svbart@nginx.com 15351069Svbart@nginx.com</changes> 15361069Svbart@nginx.com 15371069Svbart@nginx.com 15381069Svbart@nginx.com<changes apply="unit-php 15391069Svbart@nginx.com unit-python unit-python2.7 15401069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15411069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 15421069Svbart@nginx.com unit-perl 15431069Svbart@nginx.com unit-ruby 15441069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15451069Svbart@nginx.com ver="1.9.0" rev="1" 15461069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 15471069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15481069Svbart@nginx.com 15491069Svbart@nginx.com<change> 15501069Svbart@nginx.com<para> 15511069Svbart@nginx.comNGINX Unit updated to 1.9.0. 15521069Svbart@nginx.com</para> 15531069Svbart@nginx.com</change> 15541069Svbart@nginx.com 15551069Svbart@nginx.com</changes> 15561069Svbart@nginx.com 15571069Svbart@nginx.com 15581069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 15591069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 15601069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15611069Svbart@nginx.com 15621069Svbart@nginx.com<change type="feature"> 15631069Svbart@nginx.com<para> 15641069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 15651069Svbart@nginx.com</para> 15661069Svbart@nginx.com</change> 15671069Svbart@nginx.com 15681069Svbart@nginx.com<change type="feature"> 15691069Svbart@nginx.com<para> 15701069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 15711069Svbart@nginx.com</para> 15721069Svbart@nginx.com</change> 15731069Svbart@nginx.com 15741069Svbart@nginx.com<change type="feature"> 15751069Svbart@nginx.com<para> 15761069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 15771069Svbart@nginx.com</para> 15781069Svbart@nginx.com</change> 15791069Svbart@nginx.com 15801069Svbart@nginx.com<change type="feature"> 15811069Svbart@nginx.com<para> 15821069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 15831069Svbart@nginx.comon Linux without running main process as privileged user. 15841069Svbart@nginx.com</para> 15851069Svbart@nginx.com</change> 15861069Svbart@nginx.com 15871069Svbart@nginx.com<change type="bugfix"> 15881069Svbart@nginx.com<para> 15891069Svbart@nginx.commemory leak in the router process might have happened when a client 15901069Svbart@nginx.comprematurely closed the connection. 15911069Svbart@nginx.com</para> 15921069Svbart@nginx.com</change> 15931069Svbart@nginx.com 15941069Svbart@nginx.com<change type="bugfix"> 15951069Svbart@nginx.com<para> 15961069Svbart@nginx.comapplying a large configuration might have failed. 15971069Svbart@nginx.com</para> 15981069Svbart@nginx.com</change> 15991069Svbart@nginx.com 16001069Svbart@nginx.com<change type="bugfix"> 16011069Svbart@nginx.com<para> 16021069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 16031069Svbart@nginx.com</para> 16041069Svbart@nginx.com</change> 16051069Svbart@nginx.com 16061069Svbart@nginx.com<change type="bugfix"> 16071069Svbart@nginx.com<para> 16081069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 16091069Svbart@nginx.com</para> 16101069Svbart@nginx.com</change> 16111069Svbart@nginx.com 16121069Svbart@nginx.com<change type="bugfix"> 16131069Svbart@nginx.com<para> 16141069Svbart@nginx.comrestored compatibility with Node.js applications that use 16151069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 16161069Svbart@nginx.com</para> 16171069Svbart@nginx.com</change> 16181069Svbart@nginx.com 16191069Svbart@nginx.com<change type="bugfix"> 16201069Svbart@nginx.com<para> 16211069Svbart@nginx.comvarious compatibility issues with Node.js applications. 16221069Svbart@nginx.com</para> 16231069Svbart@nginx.com</change> 16241069Svbart@nginx.com 16251069Svbart@nginx.com</changes> 16261069Svbart@nginx.com 16271069Svbart@nginx.com 1628991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1629991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1630991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1631991Svbart@nginx.com 1632991Svbart@nginx.com<change> 1633991Svbart@nginx.com<para> 1634991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1635991Svbart@nginx.com</para> 1636991Svbart@nginx.com</change> 1637991Svbart@nginx.com 1638991Svbart@nginx.com</changes> 1639991Svbart@nginx.com 1640991Svbart@nginx.com 1641991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1642991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1643991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1644991Svbart@nginx.com 1645991Svbart@nginx.com<change> 1646991Svbart@nginx.com<para> 1647991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1648991Svbart@nginx.com</para> 1649991Svbart@nginx.com</change> 1650991Svbart@nginx.com 1651991Svbart@nginx.com</changes> 1652991Svbart@nginx.com 1653991Svbart@nginx.com 1654991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1655991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1656991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1657991Svbart@nginx.com 1658991Svbart@nginx.com<change> 1659991Svbart@nginx.com<para> 1660991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 1661991Svbart@nginx.com</para> 1662991Svbart@nginx.com</change> 1663991Svbart@nginx.com 1664991Svbart@nginx.com</changes> 1665991Svbart@nginx.com 1666991Svbart@nginx.com 1667991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 1668991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1669991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1670991Svbart@nginx.com 1671991Svbart@nginx.com<change> 1672991Svbart@nginx.com<para> 1673991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 1674991Svbart@nginx.com</para> 1675991Svbart@nginx.com</change> 1676991Svbart@nginx.com 1677991Svbart@nginx.com</changes> 1678991Svbart@nginx.com 1679991Svbart@nginx.com 1680991Svbart@nginx.com<changes apply="unit-php 1681991Svbart@nginx.com unit-python unit-python2.7 1682991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1683991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1684991Svbart@nginx.com unit-perl 1685991Svbart@nginx.com unit-ruby" 1686991Svbart@nginx.com ver="1.8.0" rev="1" 1687991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1688991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1689991Svbart@nginx.com 1690991Svbart@nginx.com<change> 1691991Svbart@nginx.com<para> 1692991Svbart@nginx.comNGINX Unit updated to 1.8.0. 1693991Svbart@nginx.com</para> 1694991Svbart@nginx.com</change> 1695991Svbart@nginx.com 1696991Svbart@nginx.com</changes> 1697991Svbart@nginx.com 1698991Svbart@nginx.com 1699991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 1700991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1701991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1702991Svbart@nginx.com 1703991Svbart@nginx.com<change type="change"> 1704991Svbart@nginx.com<para> 1705991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 1706991Svbart@nginx.comand patch versions. 1707991Svbart@nginx.com</para> 1708991Svbart@nginx.com</change> 1709991Svbart@nginx.com 1710991Svbart@nginx.com<change type="change"> 1711991Svbart@nginx.com<para> 1712991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 1713991Svbart@nginx.comthe query component. 1714991Svbart@nginx.com</para> 1715991Svbart@nginx.com</change> 1716991Svbart@nginx.com 1717991Svbart@nginx.com<change type="feature"> 1718991Svbart@nginx.com<para> 1719991Svbart@nginx.combasic internal request routing by Host, URI, and method. 1720991Svbart@nginx.com</para> 1721991Svbart@nginx.com</change> 1722991Svbart@nginx.com 1723991Svbart@nginx.com<change type="feature"> 1724991Svbart@nginx.com<para> 1725991Svbart@nginx.comexperimental support for Java Servlet Containers. 1726991Svbart@nginx.com</para> 1727991Svbart@nginx.com</change> 1728991Svbart@nginx.com 1729991Svbart@nginx.com<change type="bugfix"> 1730991Svbart@nginx.com<para> 1731991Svbart@nginx.comsegmentation fault might have occurred in the router process. 1732991Svbart@nginx.com</para> 1733991Svbart@nginx.com</change> 1734991Svbart@nginx.com 1735991Svbart@nginx.com<change type="bugfix"> 1736991Svbart@nginx.com<para> 1737991Svbart@nginx.comvarious potential memory leaks. 1738991Svbart@nginx.com</para> 1739991Svbart@nginx.com</change> 1740991Svbart@nginx.com 1741991Svbart@nginx.com<change type="bugfix"> 1742991Svbart@nginx.com<para> 1743991Svbart@nginx.comTLS connections might have stalled. 1744991Svbart@nginx.com</para> 1745991Svbart@nginx.com</change> 1746991Svbart@nginx.com 1747991Svbart@nginx.com<change type="bugfix"> 1748991Svbart@nginx.com<para> 1749991Svbart@nginx.comsome Perl applications might have failed to send the response body. 1750991Svbart@nginx.com</para> 1751991Svbart@nginx.com</change> 1752991Svbart@nginx.com 1753991Svbart@nginx.com<change type="bugfix"> 1754991Svbart@nginx.com<para> 1755991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 1756991Svbart@nginx.comthe bug had appeared in 1.5. 1757991Svbart@nginx.com</para> 1758991Svbart@nginx.com</change> 1759991Svbart@nginx.com 1760991Svbart@nginx.com<change type="bugfix"> 1761991Svbart@nginx.com<para> 1762991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 1763991Svbart@nginx.com</para> 1764991Svbart@nginx.com</change> 1765991Svbart@nginx.com 1766991Svbart@nginx.com</changes> 1767991Svbart@nginx.com 1768991Svbart@nginx.com 1769926Svbart@nginx.com<changes apply="unit-php 1770926Svbart@nginx.com unit-python unit-python2.7 1771926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1772926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1773926Svbart@nginx.com unit-perl 1774926Svbart@nginx.com unit-ruby" 1775926Svbart@nginx.com ver="1.7.1" rev="1" 1776926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1777926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1778926Svbart@nginx.com 1779926Svbart@nginx.com<change> 1780926Svbart@nginx.com<para> 1781926Svbart@nginx.comNGINX Unit updated to 1.7.1. 1782926Svbart@nginx.com</para> 1783926Svbart@nginx.com</change> 1784926Svbart@nginx.com 1785926Svbart@nginx.com</changes> 1786926Svbart@nginx.com 1787926Svbart@nginx.com 1788926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 1789926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1790926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1791926Svbart@nginx.com 1792926Svbart@nginx.com<change type="security"> 1793926Svbart@nginx.com<para> 1794926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 1795926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 1796926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 1797926Svbart@nginx.com</para> 1798926Svbart@nginx.com</change> 1799926Svbart@nginx.com 1800926Svbart@nginx.com<change type="bugfix"> 1801926Svbart@nginx.com<para> 1802926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 1803926Svbart@nginx.comthe bug had appeared in 1.7. 1804926Svbart@nginx.com</para> 1805926Svbart@nginx.com</change> 1806926Svbart@nginx.com 1807926Svbart@nginx.com</changes> 1808926Svbart@nginx.com 1809926Svbart@nginx.com 1810902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 1811902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 1812902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1813902Sdefan@nginx.com 1814902Sdefan@nginx.com<change> 1815902Sdefan@nginx.com<para> 1816902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 1817902Sdefan@nginx.com</para> 1818902Sdefan@nginx.com</change> 1819902Sdefan@nginx.com 1820902Sdefan@nginx.com</changes> 1821902Sdefan@nginx.com 1822902Sdefan@nginx.com 1823821Svbart@nginx.com<changes apply="unit-php 1824821Svbart@nginx.com unit-python unit-python2.7 1825821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1826821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1827821Svbart@nginx.com unit-perl 1828821Svbart@nginx.com unit-ruby" 1829886Svbart@nginx.com ver="1.7" rev="1" 1830886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1831886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1832886Svbart@nginx.com 1833886Svbart@nginx.com<change> 1834886Svbart@nginx.com<para> 1835886Svbart@nginx.comNGINX Unit updated to 1.7. 1836886Svbart@nginx.com</para> 1837886Svbart@nginx.com</change> 1838886Svbart@nginx.com 1839886Svbart@nginx.com</changes> 1840886Svbart@nginx.com 1841886Svbart@nginx.com 1842886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 1843886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1844886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1845886Svbart@nginx.com 1846886Svbart@nginx.com<change type="change"> 1847886Svbart@nginx.com<para> 1848886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 1849886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 1850886Svbart@nginx.com</para> 1851886Svbart@nginx.com</change> 1852886Svbart@nginx.com 1853886Svbart@nginx.com<change type="bugfix"> 1854886Svbart@nginx.com<para> 1855886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 1856886Svbart@nginx.comdid not work. 1857886Svbart@nginx.com</para> 1858886Svbart@nginx.com</change> 1859886Svbart@nginx.com 1860886Svbart@nginx.com<change type="bugfix"> 1861886Svbart@nginx.com<para> 1862886Svbart@nginx.comPromises on request data in Node.js were not triggered. 1863886Svbart@nginx.com</para> 1864886Svbart@nginx.com</change> 1865886Svbart@nginx.com 1866886Svbart@nginx.com<change type="bugfix"> 1867886Svbart@nginx.com<para> 1868886Svbart@nginx.comvarious compatibility issues with Node.js applications. 1869886Svbart@nginx.com</para> 1870886Svbart@nginx.com</change> 1871886Svbart@nginx.com 1872886Svbart@nginx.com<change type="bugfix"> 1873886Svbart@nginx.com<para> 1874886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 1875886Svbart@nginx.comrequest body after request.end() was called. 1876886Svbart@nginx.com</para> 1877886Svbart@nginx.com</change> 1878886Svbart@nginx.com 1879886Svbart@nginx.com<change type="bugfix"> 1880886Svbart@nginx.com<para> 1881886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 1882886Svbart@nginx.comsend header twice. 1883886Svbart@nginx.com</para> 1884886Svbart@nginx.com</change> 1885886Svbart@nginx.com 1886886Svbart@nginx.com<change type="bugfix"> 1887886Svbart@nginx.com<para> 1888886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 1889886Svbart@nginx.comcase-sensitive. 1890886Svbart@nginx.com</para> 1891886Svbart@nginx.com</change> 1892886Svbart@nginx.com 1893886Svbart@nginx.com<change type="bugfix"> 1894886Svbart@nginx.com<para> 1895886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 1896886Svbart@nginx.com</para> 1897886Svbart@nginx.com</change> 1898886Svbart@nginx.com 1899886Svbart@nginx.com<change type="bugfix"> 1900886Svbart@nginx.com<para> 1901886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 1902886Svbart@nginx.comthe bug had appeared in 1.6. 1903886Svbart@nginx.com</para> 1904886Svbart@nginx.com</change> 1905886Svbart@nginx.com 1906886Svbart@nginx.com<change type="bugfix"> 1907886Svbart@nginx.com<para> 1908886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 1909886Svbart@nginx.combe logged. 1910886Svbart@nginx.com</para> 1911886Svbart@nginx.com</change> 1912886Svbart@nginx.com 1913886Svbart@nginx.com<change type="bugfix"> 1914886Svbart@nginx.com<para> 1915886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 1916886Svbart@nginx.comenabled. 1917886Svbart@nginx.com</para> 1918886Svbart@nginx.com</change> 1919886Svbart@nginx.com 1920886Svbart@nginx.com</changes> 1921886Svbart@nginx.com 1922886Svbart@nginx.com 1923886Svbart@nginx.com<changes apply="unit-php 1924886Svbart@nginx.com unit-python unit-python2.7 1925886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1926886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1927886Svbart@nginx.com unit-perl 1928886Svbart@nginx.com unit-ruby" 1929846Svbart@nginx.com ver="1.6" rev="1" 1930846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1931846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1932846Svbart@nginx.com 1933846Svbart@nginx.com<change> 1934846Svbart@nginx.com<para> 1935846Svbart@nginx.comNGINX Unit updated to 1.6. 1936846Svbart@nginx.com</para> 1937846Svbart@nginx.com</change> 1938846Svbart@nginx.com 1939846Svbart@nginx.com</changes> 1940846Svbart@nginx.com 1941846Svbart@nginx.com 1942846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 1943846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1944846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1945846Svbart@nginx.com 1946846Svbart@nginx.com<change type="change"> 1947846Svbart@nginx.com<para> 1948846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 1949846Svbart@nginx.com</para> 1950846Svbart@nginx.com</change> 1951846Svbart@nginx.com 1952846Svbart@nginx.com<change type="feature"> 1953846Svbart@nginx.com<para> 1954846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 1955846Svbart@nginx.com</para> 1956846Svbart@nginx.com</change> 1957846Svbart@nginx.com 1958846Svbart@nginx.com<change type="bugfix"> 1959846Svbart@nginx.com<para> 1960846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 1961846Svbart@nginx.com</para> 1962846Svbart@nginx.com</change> 1963846Svbart@nginx.com 1964846Svbart@nginx.com<change type="bugfix"> 1965846Svbart@nginx.com<para> 1966846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 1967846Svbart@nginx.com</para> 1968846Svbart@nginx.com</change> 1969846Svbart@nginx.com 1970846Svbart@nginx.com<change type="bugfix"> 1971846Svbart@nginx.com<para> 1972846Svbart@nginx.comvarious compatibility issues with Node.js applications. 1973846Svbart@nginx.com</para> 1974846Svbart@nginx.com</change> 1975846Svbart@nginx.com 1976846Svbart@nginx.com<change type="bugfix"> 1977846Svbart@nginx.com<para> 1978846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 1979846Svbart@nginx.com</para> 1980846Svbart@nginx.com</change> 1981846Svbart@nginx.com 1982846Svbart@nginx.com<change type="bugfix"> 1983846Svbart@nginx.com<para> 1984885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 1985846Svbart@nginx.com</para> 1986846Svbart@nginx.com</change> 1987846Svbart@nginx.com 1988846Svbart@nginx.com</changes> 1989846Svbart@nginx.com 1990846Svbart@nginx.com 1991846Svbart@nginx.com<changes apply="unit-php 1992846Svbart@nginx.com unit-python unit-python2.7 1993846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1994846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1995846Svbart@nginx.com unit-perl 1996846Svbart@nginx.com unit-ruby" 1997821Svbart@nginx.com ver="1.5" rev="1" 1998821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 1999821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2000821Svbart@nginx.com 2001821Svbart@nginx.com<change> 2002821Svbart@nginx.com<para> 2003821Svbart@nginx.comNGINX Unit updated to 1.5. 2004821Svbart@nginx.com</para> 2005821Svbart@nginx.com</change> 2006821Svbart@nginx.com 2007821Svbart@nginx.com</changes> 2008821Svbart@nginx.com 2009821Svbart@nginx.com 2010820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 2011820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2012820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2013820Svbart@nginx.com 2014820Svbart@nginx.com<change type="change"> 2015820Svbart@nginx.com<para> 2016820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 2017820Svbart@nginx.com</para> 2018820Svbart@nginx.com</change> 2019820Svbart@nginx.com 2020820Svbart@nginx.com<change type="feature"> 2021820Svbart@nginx.com<para> 2022820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 2023820Svbart@nginx.com</para> 2024820Svbart@nginx.com</change> 2025820Svbart@nginx.com 2026820Svbart@nginx.com<change type="feature"> 2027820Svbart@nginx.com<para> 2028820Svbart@nginx.comcompatibility with LibreSSL. 2029820Svbart@nginx.com</para> 2030820Svbart@nginx.com</change> 2031820Svbart@nginx.com 2032820Svbart@nginx.com<change type="feature"> 2033820Svbart@nginx.com<para> 2034820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 2035820Svbart@nginx.comand static library. 2036820Svbart@nginx.com</para> 2037820Svbart@nginx.com</change> 2038820Svbart@nginx.com 2039820Svbart@nginx.com<change type="bugfix"> 2040820Svbart@nginx.com<para> 2041820Svbart@nginx.comconnection might be closed prematurely while sending response; 2042820Svbart@nginx.comthe bug had appeared in 1.3. 2043820Svbart@nginx.com</para> 2044820Svbart@nginx.com</change> 2045820Svbart@nginx.com 2046820Svbart@nginx.com<change type="bugfix"> 2047820Svbart@nginx.com<para> 2048820Svbart@nginx.comapplication processes might have stopped handling requests, producing 2049820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 2050820Svbart@nginx.comthe bug had appeared in 1.4. 2051820Svbart@nginx.com</para> 2052820Svbart@nginx.com</change> 2053820Svbart@nginx.com 2054820Svbart@nginx.com<change type="bugfix"> 2055820Svbart@nginx.com<para> 2056885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 2057820Svbart@nginx.com</para> 2058820Svbart@nginx.com</change> 2059820Svbart@nginx.com 2060820Svbart@nginx.com</changes> 2061820Svbart@nginx.com 2062820Svbart@nginx.com 2063689Svbart@nginx.com<changes apply="unit-php 2064689Svbart@nginx.com unit-python unit-python2.7 2065689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2066689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2067689Svbart@nginx.com unit-perl 2068689Svbart@nginx.com unit-ruby" 2069788Sdefan@nginx.com ver="1.4" rev="2" 2070788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2071788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2072788Sdefan@nginx.com 2073788Sdefan@nginx.com<change type="bugfix"> 2074788Sdefan@nginx.com<para> 2075788Sdefan@nginx.comcorrected instructions for launching sample application. 2076788Sdefan@nginx.com</para> 2077788Sdefan@nginx.com</change> 2078788Sdefan@nginx.com 2079788Sdefan@nginx.com</changes> 2080788Sdefan@nginx.com 2081788Sdefan@nginx.com 2082788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 2083788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2084788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2085788Sdefan@nginx.com 2086788Sdefan@nginx.com<change type="change"> 2087788Sdefan@nginx.com<para> 2088788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 2089788Sdefan@nginx.com</para> 2090788Sdefan@nginx.com</change> 2091788Sdefan@nginx.com 2092788Sdefan@nginx.com</changes> 2093788Sdefan@nginx.com 2094788Sdefan@nginx.com 2095788Sdefan@nginx.com<changes apply="unit-php 2096788Sdefan@nginx.com unit-python unit-python2.7 2097788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2098788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2099788Sdefan@nginx.com unit-perl 2100788Sdefan@nginx.com unit-ruby" 2101783Svbart@nginx.com ver="1.4" rev="1" 2102783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2103783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2104783Svbart@nginx.com 2105783Svbart@nginx.com<change> 2106783Svbart@nginx.com<para> 2107783Svbart@nginx.comNGINX Unit updated to 1.4. 2108783Svbart@nginx.com</para> 2109783Svbart@nginx.com</change> 2110783Svbart@nginx.com 2111783Svbart@nginx.com</changes> 2112783Svbart@nginx.com 2113783Svbart@nginx.com 2114783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 2115783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2116783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2117783Svbart@nginx.com 2118783Svbart@nginx.com<change type="change"> 2119783Svbart@nginx.com<para> 2120783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 2121783Svbart@nginx.com</para> 2122783Svbart@nginx.com</change> 2123783Svbart@nginx.com 2124783Svbart@nginx.com<change type="feature"> 2125783Svbart@nginx.com<para> 2126783Svbart@nginx.comTLS support for client connections. 2127783Svbart@nginx.com</para> 2128783Svbart@nginx.com</change> 2129783Svbart@nginx.com 2130783Svbart@nginx.com<change type="feature"> 2131783Svbart@nginx.com<para> 2132783Svbart@nginx.comTLS certificates storage control API. 2133783Svbart@nginx.com</para> 2134783Svbart@nginx.com</change> 2135783Svbart@nginx.com 2136783Svbart@nginx.com<change type="feature"> 2137783Svbart@nginx.com<para> 2138783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 2139783Svbart@nginx.com</para> 2140783Svbart@nginx.com</change> 2141783Svbart@nginx.com 2142783Svbart@nginx.com<change type="feature"> 2143783Svbart@nginx.com<para> 2144783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 2145783Svbart@nginx.com</para> 2146783Svbart@nginx.com</change> 2147783Svbart@nginx.com 2148783Svbart@nginx.com<change type="feature"> 2149783Svbart@nginx.com<para> 2150783Svbart@nginx.comimprovements in OpenBSD support. 2151783Svbart@nginx.comThanks to David Carlier. 2152783Svbart@nginx.com</para> 2153783Svbart@nginx.com</change> 2154783Svbart@nginx.com 2155783Svbart@nginx.com<change type="bugfix"> 2156783Svbart@nginx.com<para> 2157783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 2158783Svbart@nginx.com</para> 2159783Svbart@nginx.com</change> 2160783Svbart@nginx.com 2161783Svbart@nginx.com<change type="bugfix"> 2162783Svbart@nginx.com<para> 2163783Svbart@nginx.combuilding on systems with non-default locale might be broken. 2164783Svbart@nginx.com</para> 2165783Svbart@nginx.com</change> 2166783Svbart@nginx.com 2167783Svbart@nginx.com<change type="bugfix"> 2168783Svbart@nginx.com<para> 2169783Svbart@nginx.com"header_read_timeout" might not work properly. 2170783Svbart@nginx.com</para> 2171783Svbart@nginx.com</change> 2172783Svbart@nginx.com 2173783Svbart@nginx.com<change type="bugfix"> 2174783Svbart@nginx.com<para> 2175783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 2176783Svbart@nginx.comin Python 3 module. 2177783Svbart@nginx.com</para> 2178783Svbart@nginx.com</change> 2179783Svbart@nginx.com 2180783Svbart@nginx.com</changes> 2181783Svbart@nginx.com 2182783Svbart@nginx.com 2183783Svbart@nginx.com<changes apply="unit-php 2184783Svbart@nginx.com unit-python unit-python2.7 2185783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2186783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2187783Svbart@nginx.com unit-perl 2188783Svbart@nginx.com unit-ruby" 2189727Svbart@nginx.com ver="1.3" rev="1" 2190727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2191727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2192727Svbart@nginx.com 2193727Svbart@nginx.com<change> 2194727Svbart@nginx.com<para> 2195727Svbart@nginx.comNGINX Unit updated to 1.3. 2196727Svbart@nginx.com</para> 2197727Svbart@nginx.com</change> 2198727Svbart@nginx.com 2199727Svbart@nginx.com</changes> 2200727Svbart@nginx.com 2201727Svbart@nginx.com 2202727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 2203727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2204727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2205727Svbart@nginx.com 2206727Svbart@nginx.com<change type="change"> 2207727Svbart@nginx.com<para> 2208727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 2209727Svbart@nginx.com</para> 2210727Svbart@nginx.com</change> 2211727Svbart@nginx.com 2212727Svbart@nginx.com<change type="feature"> 2213727Svbart@nginx.com<para> 2214727Svbart@nginx.comconfiguration of the request body size limit. 2215727Svbart@nginx.com</para> 2216727Svbart@nginx.com</change> 2217727Svbart@nginx.com 2218727Svbart@nginx.com<change type="feature"> 2219727Svbart@nginx.com<para> 2220727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 2221727Svbart@nginx.com</para> 2222727Svbart@nginx.com</change> 2223727Svbart@nginx.com 2224727Svbart@nginx.com<change type="feature"> 2225727Svbart@nginx.com<para> 2226727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 2227727Svbart@nginx.com</para> 2228727Svbart@nginx.com</change> 2229727Svbart@nginx.com 2230727Svbart@nginx.com<change type="feature"> 2231727Svbart@nginx.com<para> 2232727Svbart@nginx.comhttp.Flusher interface in Go module. 2233727Svbart@nginx.com</para> 2234727Svbart@nginx.com</change> 2235727Svbart@nginx.com 2236727Svbart@nginx.com<change type="bugfix"> 2237727Svbart@nginx.com<para> 2238727Svbart@nginx.comvarious issues in HTTP connection errors handling. 2239727Svbart@nginx.com</para> 2240727Svbart@nginx.com</change> 2241727Svbart@nginx.com 2242727Svbart@nginx.com<change type="bugfix"> 2243727Svbart@nginx.com<para> 2244727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 2245727Svbart@nginx.com</para> 2246727Svbart@nginx.com</change> 2247727Svbart@nginx.com 2248727Svbart@nginx.com<change type="bugfix"> 2249727Svbart@nginx.com<para> 2250727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 2251727Svbart@nginx.comto previous values after the first request in application process. 2252727Svbart@nginx.com</para> 2253727Svbart@nginx.com</change> 2254727Svbart@nginx.com 2255727Svbart@nginx.com</changes> 2256727Svbart@nginx.com 2257727Svbart@nginx.com 2258727Svbart@nginx.com<changes apply="unit-php 2259727Svbart@nginx.com unit-python unit-python2.7 2260727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2261727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2262727Svbart@nginx.com unit-perl 2263727Svbart@nginx.com unit-ruby" 2264689Svbart@nginx.com ver="1.2" rev="1" 2265689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2266689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2267689Svbart@nginx.com 2268689Svbart@nginx.com<change> 2269689Svbart@nginx.com<para> 2270689Svbart@nginx.comNGINX Unit updated to 1.2. 2271689Svbart@nginx.com</para> 2272689Svbart@nginx.com</change> 2273689Svbart@nginx.com 2274689Svbart@nginx.com</changes> 2275689Svbart@nginx.com 2276689Svbart@nginx.com 2277689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 2278689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2279689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2280689Svbart@nginx.com 2281689Svbart@nginx.com<change type="feature"> 2282689Svbart@nginx.com<para> 2283689Svbart@nginx.comconfiguration of environment variables for application processes. 2284689Svbart@nginx.com</para> 2285689Svbart@nginx.com</change> 2286689Svbart@nginx.com 2287689Svbart@nginx.com<change type="feature"> 2288689Svbart@nginx.com<para> 2289689Svbart@nginx.comcustomization of php.ini path. 2290689Svbart@nginx.com</para> 2291689Svbart@nginx.com</change> 2292689Svbart@nginx.com 2293689Svbart@nginx.com<change type="feature"> 2294689Svbart@nginx.com<para> 2295689Svbart@nginx.comsetting of individual PHP configuration options. 2296689Svbart@nginx.com</para> 2297689Svbart@nginx.com</change> 2298689Svbart@nginx.com 2299689Svbart@nginx.com<change type="feature"> 2300689Svbart@nginx.com<para> 2301689Svbart@nginx.comconfiguration of execution arguments for Go applications. 2302689Svbart@nginx.com</para> 2303689Svbart@nginx.com</change> 2304689Svbart@nginx.com 2305689Svbart@nginx.com<change type="bugfix"> 2306689Svbart@nginx.com<para> 2307689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 2308689Svbart@nginx.com</para> 2309689Svbart@nginx.com</change> 2310689Svbart@nginx.com 2311689Svbart@nginx.com</changes> 2312689Svbart@nginx.com 2313689Svbart@nginx.com 2314672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 2315672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 2316672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2317672Sdefan@nginx.com 2318672Sdefan@nginx.com<change> 2319672Sdefan@nginx.com<para> 2320672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 2321672Sdefan@nginx.com</para> 2322672Sdefan@nginx.com</change> 2323672Sdefan@nginx.com 2324672Sdefan@nginx.com</changes> 2325672Sdefan@nginx.com 2326672Sdefan@nginx.com 2327548Sdefan@nginx.com<changes apply="unit-php 2328548Sdefan@nginx.com unit-python unit-python2.7 2329548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2330548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2331639Svbart@nginx.com unit-perl 2332639Svbart@nginx.com unit-ruby" 2333666Svbart@nginx.com ver="1.1" rev="1" 2334666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2335666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2336666Svbart@nginx.com 2337666Svbart@nginx.com<change> 2338666Svbart@nginx.com<para> 2339666Svbart@nginx.comNGINX Unit updated to 1.1. 2340666Svbart@nginx.com</para> 2341666Svbart@nginx.com</change> 2342666Svbart@nginx.com 2343666Svbart@nginx.com</changes> 2344666Svbart@nginx.com 2345666Svbart@nginx.com 2346666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 2347666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2348666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2349666Svbart@nginx.com 2350666Svbart@nginx.com<change type="bugfix"> 2351666Svbart@nginx.com<para> 2352666Svbart@nginx.comPython applications that use the write() callable did not work. 2353666Svbart@nginx.com</para> 2354666Svbart@nginx.com</change> 2355666Svbart@nginx.com 2356666Svbart@nginx.com<change type="bugfix"> 2357666Svbart@nginx.com<para> 2358666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2359666Svbart@nginx.com</para> 2360666Svbart@nginx.com</change> 2361666Svbart@nginx.com 2362666Svbart@nginx.com<change type="bugfix"> 2363666Svbart@nginx.com<para> 2364666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2365666Svbart@nginx.comwhen the whole body was read. 2366666Svbart@nginx.com</para> 2367666Svbart@nginx.com</change> 2368666Svbart@nginx.com 2369666Svbart@nginx.com<change type="bugfix"> 2370666Svbart@nginx.com<para> 2371666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2372666Svbart@nginx.com</para> 2373666Svbart@nginx.com</change> 2374666Svbart@nginx.com 2375666Svbart@nginx.com<change type="bugfix"> 2376666Svbart@nginx.com<para> 2377666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2378666Svbart@nginx.com</para> 2379666Svbart@nginx.com</change> 2380666Svbart@nginx.com 2381666Svbart@nginx.com<change type="bugfix"> 2382666Svbart@nginx.com<para> 2383666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2384666Svbart@nginx.com</para> 2385666Svbart@nginx.com</change> 2386666Svbart@nginx.com 2387666Svbart@nginx.com<change type="bugfix"> 2388666Svbart@nginx.com<para> 2389666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2390666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2391666Svbart@nginx.com</para> 2392666Svbart@nginx.com</change> 2393666Svbart@nginx.com 2394666Svbart@nginx.com<change type="bugfix"> 2395666Svbart@nginx.com<para> 2396666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2397666Svbart@nginx.comon 32-bit platforms. 2398666Svbart@nginx.com</para> 2399666Svbart@nginx.com</change> 2400666Svbart@nginx.com 2401666Svbart@nginx.com</changes> 2402666Svbart@nginx.com 2403666Svbart@nginx.com 2404666Svbart@nginx.com<changes apply="unit-php 2405666Svbart@nginx.com unit-python unit-python2.7 2406666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2407666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2408666Svbart@nginx.com unit-perl 2409666Svbart@nginx.com unit-ruby" 2410639Svbart@nginx.com ver="1.0" rev="1" 2411639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2412639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2413639Svbart@nginx.com 2414639Svbart@nginx.com<change> 2415639Svbart@nginx.com<para> 2416639Svbart@nginx.comNGINX Unit updated to 1.0. 2417639Svbart@nginx.com</para> 2418639Svbart@nginx.com</change> 2419639Svbart@nginx.com 2420639Svbart@nginx.com</changes> 2421639Svbart@nginx.com 2422639Svbart@nginx.com 2423639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2424639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2425639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2426639Svbart@nginx.com 2427639Svbart@nginx.com<change type="change"> 2428639Svbart@nginx.com<para> 2429639Svbart@nginx.comconfiguration object moved into "/config/" path. 2430639Svbart@nginx.com</para> 2431639Svbart@nginx.com</change> 2432639Svbart@nginx.com 2433639Svbart@nginx.com<change type="feature"> 2434639Svbart@nginx.com<para> 2435639Svbart@nginx.combasic access logging. 2436639Svbart@nginx.com</para> 2437639Svbart@nginx.com</change> 2438639Svbart@nginx.com 2439639Svbart@nginx.com<change type="bugfix"> 2440639Svbart@nginx.com<para> 2441639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2442639Svbart@nginx.com</para> 2443639Svbart@nginx.com</change> 2444639Svbart@nginx.com 2445639Svbart@nginx.com<change type="bugfix"> 2446639Svbart@nginx.com<para> 2447663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2448639Svbart@nginx.com</para> 2449639Svbart@nginx.com</change> 2450639Svbart@nginx.com 2451639Svbart@nginx.com<change type="bugfix"> 2452639Svbart@nginx.com<para> 2453639Svbart@nginx.comvarious stability issues. 2454639Svbart@nginx.com</para> 2455639Svbart@nginx.com</change> 2456639Svbart@nginx.com 2457639Svbart@nginx.com</changes> 2458639Svbart@nginx.com 2459639Svbart@nginx.com 2460639Svbart@nginx.com<changes apply="unit-php 2461639Svbart@nginx.com unit-python unit-python2.7 2462639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2463639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2464548Sdefan@nginx.com unit-perl" 2465586Svbart@nginx.com ver="0.7" rev="1" 2466586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2467586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2468586Svbart@nginx.com 2469586Svbart@nginx.com<change> 2470586Svbart@nginx.com<para> 2471586Svbart@nginx.comNGINX Unit updated to 0.7. 2472586Svbart@nginx.com</para> 2473586Svbart@nginx.com</change> 2474586Svbart@nginx.com 2475586Svbart@nginx.com</changes> 2476586Svbart@nginx.com 2477586Svbart@nginx.com 2478600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2479600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2480600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2481600Sdefan@nginx.com 2482600Sdefan@nginx.com<change> 2483600Sdefan@nginx.com<para> 2484600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2485600Sdefan@nginx.com</para> 2486600Sdefan@nginx.com</change> 2487600Sdefan@nginx.com 2488600Sdefan@nginx.com</changes> 2489600Sdefan@nginx.com 2490600Sdefan@nginx.com 2491586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2492586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2493586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2494586Svbart@nginx.com 2495586Svbart@nginx.com<change type="feature"> 2496586Svbart@nginx.com<para> 2497586Svbart@nginx.comRuby application module. 2498586Svbart@nginx.com</para> 2499586Svbart@nginx.com</change> 2500586Svbart@nginx.com 2501586Svbart@nginx.com<change type="bugfix"> 2502586Svbart@nginx.com<para> 2503586Svbart@nginx.comin discovering modules. 2504586Svbart@nginx.com</para> 2505586Svbart@nginx.com</change> 2506586Svbart@nginx.com 2507586Svbart@nginx.com<change type="bugfix"> 2508586Svbart@nginx.com<para> 2509586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2510586Svbart@nginx.com</para> 2511586Svbart@nginx.com</change> 2512586Svbart@nginx.com 2513586Svbart@nginx.com<change type="bugfix"> 2514586Svbart@nginx.com<para> 2515586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2516586Svbart@nginx.com</para> 2517586Svbart@nginx.com</change> 2518586Svbart@nginx.com 2519586Svbart@nginx.com<change type="bugfix"> 2520586Svbart@nginx.com<para> 2521586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2522586Svbart@nginx.comoutside of WSGI callable. 2523586Svbart@nginx.com</para> 2524586Svbart@nginx.com</change> 2525586Svbart@nginx.com 2526586Svbart@nginx.com<change type="bugfix"> 2527586Svbart@nginx.com<para> 2528663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2529663Svbart@nginx.comwhile initialization. 2530586Svbart@nginx.com</para> 2531586Svbart@nginx.com</change> 2532586Svbart@nginx.com 2533586Svbart@nginx.com</changes> 2534586Svbart@nginx.com 2535586Svbart@nginx.com 2536586Svbart@nginx.com<changes apply="unit-php 2537586Svbart@nginx.com unit-python unit-python2.7 2538586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2539586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2540586Svbart@nginx.com unit-perl" 2541548Sdefan@nginx.com ver="0.6" rev="1" 2542539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2543539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2544539Svbart@nginx.com 2545539Svbart@nginx.com<change> 2546539Svbart@nginx.com<para> 2547539Svbart@nginx.comNGINX Unit updated to 0.6. 2548539Svbart@nginx.com</para> 2549539Svbart@nginx.com</change> 2550539Svbart@nginx.com 2551539Svbart@nginx.com</changes> 2552539Svbart@nginx.com 2553539Svbart@nginx.com 2554539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2555539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2556539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2557539Svbart@nginx.com 2558539Svbart@nginx.com<change type="bugfix"> 2559539Svbart@nginx.com<para> 2560539Svbart@nginx.comthe main process died when the "type" application option contained version; 2561539Svbart@nginx.comthe bug had appeared in 0.5. 2562539Svbart@nginx.com</para> 2563539Svbart@nginx.com</change> 2564539Svbart@nginx.com 2565539Svbart@nginx.com</changes> 2566539Svbart@nginx.com 2567539Svbart@nginx.com 2568548Sdefan@nginx.com<changes apply="unit-php 2569548Sdefan@nginx.com unit-python unit-python2.7 2570548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2571548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2572548Sdefan@nginx.com ver="0.5" rev="1" 2573531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2574531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2575531Svbart@nginx.com 2576531Svbart@nginx.com<change> 2577531Svbart@nginx.com<para> 2578531Svbart@nginx.comNGINX Unit updated to 0.5. 2579531Svbart@nginx.com</para> 2580531Svbart@nginx.com</change> 2581531Svbart@nginx.com 2582531Svbart@nginx.com</changes> 2583531Svbart@nginx.com 2584531Svbart@nginx.com 2585524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2586531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2587524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2588524Sdefan@nginx.com 2589524Sdefan@nginx.com<change> 2590524Sdefan@nginx.com<para> 2591524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2592524Sdefan@nginx.com</para> 2593524Sdefan@nginx.com</change> 2594524Sdefan@nginx.com 2595524Sdefan@nginx.com</changes> 2596524Sdefan@nginx.com 2597524Sdefan@nginx.com 2598531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2599531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2600531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2601531Svbart@nginx.com 2602531Svbart@nginx.com<change type="change"> 2603531Svbart@nginx.com<para> 2604531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2605531Svbart@nginx.comapplication option should be used instead. 2606531Svbart@nginx.com</para> 2607531Svbart@nginx.com</change> 2608531Svbart@nginx.com 2609531Svbart@nginx.com<change type="feature"> 2610531Svbart@nginx.com<para> 2611531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2612531Svbart@nginx.comprocess management support. 2613531Svbart@nginx.com</para> 2614531Svbart@nginx.com</change> 2615531Svbart@nginx.com 2616531Svbart@nginx.com<change type="feature"> 2617531Svbart@nginx.com<para> 2618531Svbart@nginx.comPerl application module. 2619531Svbart@nginx.com</para> 2620531Svbart@nginx.com</change> 2621531Svbart@nginx.com 2622531Svbart@nginx.com<change type="bugfix"> 2623531Svbart@nginx.com<para> 2624531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2625531Svbart@nginx.com</para> 2626531Svbart@nginx.com</change> 2627531Svbart@nginx.com 2628531Svbart@nginx.com<change type="bugfix"> 2629531Svbart@nginx.com<para> 2630663Svbart@nginx.comsome Python applications might not have worked due to missing 2631531Svbart@nginx.com"wsgi.errors" environ variable. 2632531Svbart@nginx.com</para> 2633531Svbart@nginx.com</change> 2634531Svbart@nginx.com 2635531Svbart@nginx.com<change type="bugfix"> 2636531Svbart@nginx.com<para> 2637531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2638531Svbart@nginx.complatforms. 2639531Svbart@nginx.com</para> 2640531Svbart@nginx.com</change> 2641531Svbart@nginx.com 2642531Svbart@nginx.com<change type="bugfix"> 2643531Svbart@nginx.com<para> 2644531Svbart@nginx.cominfinite looping in HTTP parser. 2645531Svbart@nginx.com</para> 2646531Svbart@nginx.com</change> 2647531Svbart@nginx.com 2648531Svbart@nginx.com<change type="bugfix"> 2649531Svbart@nginx.com<para> 2650531Svbart@nginx.comsegmentation fault in router. 2651531Svbart@nginx.com</para> 2652531Svbart@nginx.com</change> 2653531Svbart@nginx.com 2654531Svbart@nginx.com</changes> 2655531Svbart@nginx.com 2656531Svbart@nginx.com 2657548Sdefan@nginx.com<changes apply="unit-php 2658548Sdefan@nginx.com unit-python unit-python2.7 2659548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2660548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2661548Sdefan@nginx.com ver="0.4" rev="1" 2662469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2663469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2664469Sigor@sysoev.ru 2665469Sigor@sysoev.ru<change> 2666469Sigor@sysoev.ru<para> 2667469Sigor@sysoev.ruNGINX Unit updated to 0.4. 2668469Sigor@sysoev.ru</para> 2669469Sigor@sysoev.ru</change> 2670469Sigor@sysoev.ru 2671469Sigor@sysoev.ru</changes> 2672469Sigor@sysoev.ru 2673469Sigor@sysoev.ru 2674469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 2675469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2676469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2677469Sigor@sysoev.ru 2678469Sigor@sysoev.ru<change type="feature"> 2679469Sigor@sysoev.ru<para> 2680469Sigor@sysoev.rucompatibility with DragonFly BSD. 2681469Sigor@sysoev.ru</para> 2682469Sigor@sysoev.ru</change> 2683469Sigor@sysoev.ru 2684469Sigor@sysoev.ru<change type="feature"> 2685469Sigor@sysoev.ru<para> 2686469Sigor@sysoev.ru"configure php --lib-static" option. 2687469Sigor@sysoev.ru</para> 2688469Sigor@sysoev.ru</change> 2689469Sigor@sysoev.ru 2690469Sigor@sysoev.ru<change type="bugfix"> 2691469Sigor@sysoev.ru<para> 2692469Sigor@sysoev.ruHTTP request body was not passed to application; 2693469Sigor@sysoev.ruthe bug had appeared in 0.3. 2694469Sigor@sysoev.ru</para> 2695469Sigor@sysoev.ru</change> 2696469Sigor@sysoev.ru 2697469Sigor@sysoev.ru<change type="bugfix"> 2698469Sigor@sysoev.ru<para> 2699469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 2700469Sigor@sysoev.ruthe bug had appeared in 0.3. 2701469Sigor@sysoev.ru</para> 2702469Sigor@sysoev.ru</change> 2703469Sigor@sysoev.ru 2704469Sigor@sysoev.ru<change type="bugfix"> 2705469Sigor@sysoev.ru<para> 2706663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 2707469Sigor@sysoev.ru</para> 2708469Sigor@sysoev.ru</change> 2709469Sigor@sysoev.ru 2710469Sigor@sysoev.ru</changes> 2711469Sigor@sysoev.ru 2712469Sigor@sysoev.ru 2713441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 2714441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2715441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2716441Sdefan@nginx.com 2717441Sdefan@nginx.com<change> 2718441Sdefan@nginx.com<para> 2719441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 2720441Sdefan@nginx.com</para> 2721441Sdefan@nginx.com</change> 2722441Sdefan@nginx.com 2723441Sdefan@nginx.com</changes> 2724441Sdefan@nginx.com 2725441Sdefan@nginx.com 2726441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 2727441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2728441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2729441Sdefan@nginx.com 2730441Sdefan@nginx.com<change> 2731441Sdefan@nginx.com<para> 2732441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 2733441Sdefan@nginx.com</para> 2734441Sdefan@nginx.com</change> 2735441Sdefan@nginx.com 2736441Sdefan@nginx.com</changes> 2737441Sdefan@nginx.com 2738441Sdefan@nginx.com 2739548Sdefan@nginx.com<changes apply="unit-php 2740548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 2741548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 2742548Sdefan@nginx.com ver="0.3" rev="1" 2743432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2744432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2745432Sigor@sysoev.ru 2746432Sigor@sysoev.ru<change> 2747432Sigor@sysoev.ru<para> 2748432Sigor@sysoev.ruNGINX Unit updated to 0.3. 2749432Sigor@sysoev.ru</para> 2750432Sigor@sysoev.ru</change> 2751432Sigor@sysoev.ru 2752432Sigor@sysoev.ru</changes> 2753432Sigor@sysoev.ru 2754432Sigor@sysoev.ru 2755432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 2756432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2757432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2758432Sigor@sysoev.ru 2759432Sigor@sysoev.ru<change type="change"> 2760432Sigor@sysoev.ru<para> 2761432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 2762432Sigor@sysoev.ru</para> 2763432Sigor@sysoev.ru</change> 2764432Sigor@sysoev.ru 2765432Sigor@sysoev.ru<change type="change"> 2766432Sigor@sysoev.ru<para> 2767432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 2768432Sigor@sysoev.rutime in queue now are not accounted. 2769432Sigor@sysoev.ru</para> 2770432Sigor@sysoev.ru</change> 2771432Sigor@sysoev.ru 2772432Sigor@sysoev.ru<change type="feature"> 2773432Sigor@sysoev.ru<para> 2774432Sigor@sysoev.ruthe "limits.requests" application option. 2775432Sigor@sysoev.ru</para> 2776432Sigor@sysoev.ru</change> 2777432Sigor@sysoev.ru 2778432Sigor@sysoev.ru<change type="feature"> 2779432Sigor@sysoev.ru<para> 2780432Sigor@sysoev.ruapplication request processing latency optimization. 2781432Sigor@sysoev.ru</para> 2782432Sigor@sysoev.ru</change> 2783432Sigor@sysoev.ru 2784432Sigor@sysoev.ru<change type="feature"> 2785432Sigor@sysoev.ru<para> 2786432Sigor@sysoev.ruHTTP keep-alive connections support. 2787432Sigor@sysoev.ru</para> 2788432Sigor@sysoev.ru</change> 2789432Sigor@sysoev.ru 2790432Sigor@sysoev.ru<change type="feature"> 2791432Sigor@sysoev.ru<para> 2792432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 2793432Sigor@sysoev.ru</para> 2794432Sigor@sysoev.ru</change> 2795432Sigor@sysoev.ru 2796432Sigor@sysoev.ru<change type="feature"> 2797432Sigor@sysoev.ru<para> 2798432Sigor@sysoev.ruPython atexit hook support. 2799432Sigor@sysoev.ru</para> 2800432Sigor@sysoev.ru</change> 2801432Sigor@sysoev.ru 2802432Sigor@sysoev.ru<change type="feature"> 2803432Sigor@sysoev.ru<para> 2804432Sigor@sysoev.ruvarious Go package improvements. 2805432Sigor@sysoev.ru</para> 2806432Sigor@sysoev.ru</change> 2807432Sigor@sysoev.ru 2808432Sigor@sysoev.ru<change type="bugfix"> 2809432Sigor@sysoev.ru<para> 2810432Sigor@sysoev.ruvarious crashes fixed. 2811432Sigor@sysoev.ru</para> 2812432Sigor@sysoev.ru</change> 2813432Sigor@sysoev.ru 2814432Sigor@sysoev.ru</changes> 2815432Sigor@sysoev.ru 2816432Sigor@sysoev.ru 2817372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 2818372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2819372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2820372Sdefan@nginx.com 2821372Sdefan@nginx.com<change> 2822372Sdefan@nginx.com<para> 2823372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 2824372Sdefan@nginx.com</para> 2825372Sdefan@nginx.com</change> 2826372Sdefan@nginx.com 2827372Sdefan@nginx.com</changes> 2828372Sdefan@nginx.com 2829372Sdefan@nginx.com 2830373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 2831373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2832373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2833373Sdefan@nginx.com 2834373Sdefan@nginx.com<change> 2835373Sdefan@nginx.com<para> 2836373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 2837373Sdefan@nginx.com</para> 2838373Sdefan@nginx.com</change> 2839373Sdefan@nginx.com 2840373Sdefan@nginx.com</changes> 2841373Sdefan@nginx.com 2842373Sdefan@nginx.com 2843373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 2844373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2845373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2846373Sdefan@nginx.com 2847373Sdefan@nginx.com<change> 2848373Sdefan@nginx.com<para> 2849373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 2850373Sdefan@nginx.com</para> 2851373Sdefan@nginx.com</change> 2852373Sdefan@nginx.com 2853373Sdefan@nginx.com</changes> 2854373Sdefan@nginx.com 2855373Sdefan@nginx.com 2856372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 2857372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2858372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2859372Sdefan@nginx.com 2860372Sdefan@nginx.com<change> 2861372Sdefan@nginx.com<para> 2862372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 2863372Sdefan@nginx.com</para> 2864372Sdefan@nginx.com</change> 2865372Sdefan@nginx.com 2866372Sdefan@nginx.com</changes> 2867372Sdefan@nginx.com 2868372Sdefan@nginx.com 2869373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 2870373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2871373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2872373Sdefan@nginx.com 2873373Sdefan@nginx.com<change> 2874373Sdefan@nginx.com<para> 2875373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 2876373Sdefan@nginx.com</para> 2877373Sdefan@nginx.com</change> 2878373Sdefan@nginx.com 2879373Sdefan@nginx.com</changes> 2880373Sdefan@nginx.com 2881373Sdefan@nginx.com 2882373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 2883373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2884373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2885373Sdefan@nginx.com 2886373Sdefan@nginx.com<change> 2887373Sdefan@nginx.com<para> 2888373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 2889373Sdefan@nginx.com</para> 2890373Sdefan@nginx.com</change> 2891373Sdefan@nginx.com 2892373Sdefan@nginx.com</changes> 2893373Sdefan@nginx.com 2894373Sdefan@nginx.com 2895373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 2896373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2897373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2898373Sdefan@nginx.com 2899373Sdefan@nginx.com<change> 2900373Sdefan@nginx.com<para> 2901373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 2902373Sdefan@nginx.com</para> 2903373Sdefan@nginx.com</change> 2904373Sdefan@nginx.com 2905373Sdefan@nginx.com</changes> 2906373Sdefan@nginx.com 2907373Sdefan@nginx.com 2908372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 2909372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2910372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2911372Sdefan@nginx.com 2912372Sdefan@nginx.com<change> 2913372Sdefan@nginx.com<para> 2914372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 2915372Sdefan@nginx.com</para> 2916372Sdefan@nginx.com</change> 2917372Sdefan@nginx.com 2918372Sdefan@nginx.com</changes> 2919372Sdefan@nginx.com 2920372Sdefan@nginx.com 2921370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 2922370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 2923370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2924370Sigor@sysoev.ru 2925370Sigor@sysoev.ru<change type="feature"> 2926370Sigor@sysoev.ru<para> 2927370Sigor@sysoev.ruconfiguration persistence. 2928370Sigor@sysoev.ru</para> 2929370Sigor@sysoev.ru</change> 2930370Sigor@sysoev.ru 2931370Sigor@sysoev.ru<change type="feature"> 2932370Sigor@sysoev.ru<para> 2933370Sigor@sysoev.ruimproved handling of configuration errors. 2934370Sigor@sysoev.ru</para> 2935370Sigor@sysoev.ru</change> 2936370Sigor@sysoev.ru 2937370Sigor@sysoev.ru<change type="feature"> 2938370Sigor@sysoev.ru<para> 2939370Sigor@sysoev.ruapplication "timeout" property. 2940370Sigor@sysoev.ru</para> 2941370Sigor@sysoev.ru</change> 2942370Sigor@sysoev.ru 2943370Sigor@sysoev.ru<change type="bugfix"> 2944370Sigor@sysoev.ru<para> 2945370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 2946370Sigor@sysoev.ru</para> 2947370Sigor@sysoev.ru</change> 2948370Sigor@sysoev.ru 2949370Sigor@sysoev.ru<change type="bugfix"> 2950370Sigor@sysoev.ru<para> 2951370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 2952370Sigor@sysoev.ru</para> 2953370Sigor@sysoev.ru</change> 2954370Sigor@sysoev.ru 2955370Sigor@sysoev.ru<change type="bugfix"> 2956370Sigor@sysoev.ru<para> 2957370Sigor@sysoev.ruthe router crashed under load. 2958370Sigor@sysoev.ru</para> 2959370Sigor@sysoev.ru</change> 2960370Sigor@sysoev.ru 2961370Sigor@sysoev.ru<change type="bugfix"> 2962370Sigor@sysoev.ru<para> 2963370Sigor@sysoev.rumemory leak in the router. 2964370Sigor@sysoev.ru</para> 2965370Sigor@sysoev.ru</change> 2966370Sigor@sysoev.ru 2967370Sigor@sysoev.ru</changes> 2968370Sigor@sysoev.ru 2969370Sigor@sysoev.ru 2970369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 2971369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 2972369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2973369Sdefan@nginx.com 2974369Sdefan@nginx.com<change> 2975369Sdefan@nginx.com<para> 2976369Sdefan@nginx.comFirst public release. 2977369Sdefan@nginx.com</para> 2978369Sdefan@nginx.com</change> 2979369Sdefan@nginx.com 2980369Sdefan@nginx.com</changes> 2981369Sdefan@nginx.com 2982369Sdefan@nginx.com 2983369Sdefan@nginx.com</change_log> 2984