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 81763Sdefan@nginx.com<changes apply="unit-php 91763Sdefan@nginx.com unit-python unit-python2.7 101763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 111763Sdefan@nginx.com unit-python3.8 121763Sdefan@nginx.com unit-go 131763Sdefan@nginx.com unit-perl 141763Sdefan@nginx.com unit-ruby 151763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 161763Sdefan@nginx.com unit-jsc14 unit-jsc15" 171763Sdefan@nginx.com ver="1.22.0" rev="1" 181763Sdefan@nginx.com date="" time="" 191763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 201763Sdefan@nginx.com 211763Sdefan@nginx.com<change> 221763Sdefan@nginx.com<para> 231763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 241763Sdefan@nginx.com</para> 251763Sdefan@nginx.com</change> 261763Sdefan@nginx.com 271763Sdefan@nginx.com</changes> 281763Sdefan@nginx.com 291763Sdefan@nginx.com 301727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 311734Sdefan@nginx.com date="" time="" 321727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 331727Svbart@nginx.com 341759Svbart@nginx.com<change type="feature"> 351759Svbart@nginx.com<para> 361759Svbart@nginx.comability to specify multiple directories in the "path" option of Python apps. 371759Svbart@nginx.com</para> 381759Svbart@nginx.com</change> 391759Svbart@nginx.com 40*1766Smax.romanov@nginx.com<change type="feature"> 41*1766Smax.romanov@nginx.com<para> 42*1766Smax.romanov@nginx.comServerRequest and ServerResponse objects of Node.js module are now compliant 43*1766Smax.romanov@nginx.comto Stream API. 44*1766Smax.romanov@nginx.com</para> 45*1766Smax.romanov@nginx.com</change> 46*1766Smax.romanov@nginx.com 471732Svbart@nginx.com<change type="bugfix"> 481732Svbart@nginx.com<para> 491732Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 501732Svbart@nginx.com</para> 511732Svbart@nginx.com</change> 521732Svbart@nginx.com 531733Svbart@nginx.com<change type="bugfix"> 541733Svbart@nginx.com<para> 551733Svbart@nginx.comPHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were missing 561733Svbart@nginx.comin PHP module. 571733Svbart@nginx.com</para> 581733Svbart@nginx.com</change> 591733Svbart@nginx.com 601738Smax.romanov@nginx.com<change type="bugfix"> 611738Smax.romanov@nginx.com<para> 621738Smax.romanov@nginx.comRuby apps with configured mutlithreading could crash on start under load. 631738Smax.romanov@nginx.com</para> 641738Smax.romanov@nginx.com</change> 651738Smax.romanov@nginx.com 661747St.nateldemoura@f5.com<change type="bugfix"> 671747St.nateldemoura@f5.com<para> 681747St.nateldemoura@f5.comMount points were not unmounted when using "mount" namespace isolation; the 691747St.nateldemoura@f5.combug had appeared in 1.21.0. 701747St.nateldemoura@f5.com</para> 711747St.nateldemoura@f5.com</change> 721747St.nateldemoura@f5.com 731754Smax.romanov@nginx.com<change type="bugfix"> 741754Smax.romanov@nginx.com<para> 751754Smax.romanov@nginx.comthe router process could crash with multithreaded applications under high load. 761754Smax.romanov@nginx.com</para> 771754Smax.romanov@nginx.com</change> 781754Smax.romanov@nginx.com 791755Smax.romanov@nginx.com<change type="bugfix"> 801755Smax.romanov@nginx.com<para> 811755Smax.romanov@nginx.comapplications could stop processing new requests under high load; the bug had 821755Smax.romanov@nginx.comappeared in 1.19.0. 831755Smax.romanov@nginx.com</para> 841755Smax.romanov@nginx.com</change> 851755Smax.romanov@nginx.com 861756Smax.romanov@nginx.com<change type="bugfix"> 871756Smax.romanov@nginx.com<para> 881756Smax.romanov@nginx.comapplication processes could terminate unexpectedly under high load; the bug 891756Smax.romanov@nginx.comhad appeared in 1.19.0. 901756Smax.romanov@nginx.com</para> 911756Smax.romanov@nginx.com</change> 921756Smax.romanov@nginx.com 931760Smax.romanov@nginx.com<change type="bugfix"> 941760Smax.romanov@nginx.com<para> 951760Smax.romanov@nginx.coma memory leak occurring in the router process when serving a file larger than 961760Smax.romanov@nginx.com128K; the bug had appeared in 1.13.0. 971760Smax.romanov@nginx.com</para> 981760Smax.romanov@nginx.com</change> 991760Smax.romanov@nginx.com 1001727Svbart@nginx.com</changes> 1011727Svbart@nginx.com 1021727Svbart@nginx.com 1031722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 1041722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1051722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1061722Svbart@nginx.com 1071722Svbart@nginx.com<change> 1081722Svbart@nginx.com<para> 1091722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 1101722Svbart@nginx.com</para> 1111722Svbart@nginx.com</change> 1121722Svbart@nginx.com 1131722Svbart@nginx.com</changes> 1141722Svbart@nginx.com 1151722Svbart@nginx.com 1161722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 1171722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1181722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1191722Svbart@nginx.com 1201722Svbart@nginx.com<change> 1211722Svbart@nginx.com<para> 1221722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 1231722Svbart@nginx.com</para> 1241722Svbart@nginx.com</change> 1251722Svbart@nginx.com 1261722Svbart@nginx.com</changes> 1271722Svbart@nginx.com 1281722Svbart@nginx.com 1291722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 1301722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1311722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1321722Svbart@nginx.com 1331722Svbart@nginx.com<change> 1341722Svbart@nginx.com<para> 1351722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 1361722Svbart@nginx.com</para> 1371722Svbart@nginx.com</change> 1381722Svbart@nginx.com 1391722Svbart@nginx.com</changes> 1401722Svbart@nginx.com 1411722Svbart@nginx.com 1421722Svbart@nginx.com<changes apply="unit-php 1431722Svbart@nginx.com unit-python unit-python2.7 1441722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1451722Svbart@nginx.com unit-python3.8 1461722Svbart@nginx.com unit-go 1471722Svbart@nginx.com unit-perl 1481722Svbart@nginx.com unit-ruby 1491722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 1501722Svbart@nginx.com ver="1.21.0" rev="1" 1511722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1521722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1531722Svbart@nginx.com 1541722Svbart@nginx.com<change> 1551722Svbart@nginx.com<para> 1561722Svbart@nginx.comNGINX Unit updated to 1.21.0. 1571722Svbart@nginx.com</para> 1581722Svbart@nginx.com</change> 1591722Svbart@nginx.com 1601722Svbart@nginx.com</changes> 1611722Svbart@nginx.com 1621722Svbart@nginx.com 1631722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 1641722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1651722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1661722Svbart@nginx.com 1671722Svbart@nginx.com<change type="change"> 1681722Svbart@nginx.com<para> 1691722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 1701722Svbart@nginx.com</para> 1711722Svbart@nginx.com</change> 1721722Svbart@nginx.com 1731722Svbart@nginx.com<change type="change"> 1741722Svbart@nginx.com<para> 1751722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 1761722Svbart@nginx.comnames. 1771722Svbart@nginx.com</para> 1781722Svbart@nginx.com</change> 1791722Svbart@nginx.com 1801722Svbart@nginx.com<change type="change"> 1811722Svbart@nginx.com<para> 1821722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 1831722Svbart@nginx.comdefault. 1841722Svbart@nginx.com</para> 1851722Svbart@nginx.com</change> 1861722Svbart@nginx.com 1871722Svbart@nginx.com<change type="feature"> 1881722Svbart@nginx.com<para> 1891722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 1901722Svbart@nginx.com</para> 1911722Svbart@nginx.com</change> 1921722Svbart@nginx.com 1931722Svbart@nginx.com<change type="feature"> 1941722Svbart@nginx.com<para> 1951722Svbart@nginx.comregular expressions in route matching patterns. 1961722Svbart@nginx.com</para> 1971722Svbart@nginx.com</change> 1981722Svbart@nginx.com 1991722Svbart@nginx.com<change type="feature"> 2001722Svbart@nginx.com<para> 2011722Svbart@nginx.comcompatibility with Python 3.9. 2021722Svbart@nginx.com</para> 2031722Svbart@nginx.com</change> 2041722Svbart@nginx.com 2051722Svbart@nginx.com<change type="feature"> 2061722Svbart@nginx.com<para> 2071722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 2081722Svbart@nginx.com</para> 2091722Svbart@nginx.com</change> 2101722Svbart@nginx.com 2111722Svbart@nginx.com<change type="feature"> 2121722Svbart@nginx.com<para> 2131722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 2141722Svbart@nginx.com</para> 2151722Svbart@nginx.com</change> 2161722Svbart@nginx.com 2171722Svbart@nginx.com<change type="feature"> 2181722Svbart@nginx.com<para> 2191722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 2201722Svbart@nginx.comcontinues code execution without holding onto the client connection. 2211722Svbart@nginx.com</para> 2221722Svbart@nginx.com</change> 2231722Svbart@nginx.com 2241722Svbart@nginx.com<change type="feature"> 2251722Svbart@nginx.com<para> 2261722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 2271722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 2281722Svbart@nginx.com</para> 2291722Svbart@nginx.com</change> 2301722Svbart@nginx.com 2311722Svbart@nginx.com<change type="feature"> 2321722Svbart@nginx.com<para> 2331722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 2341722Svbart@nginx.commounting of eponymous filesystems. 2351722Svbart@nginx.com</para> 2361722Svbart@nginx.com</change> 2371722Svbart@nginx.com 2381722Svbart@nginx.com<change type="bugfix"> 2391722Svbart@nginx.com<para> 2401722Svbart@nginx.comthe router process could crash when running Go applications under high load; 2411722Svbart@nginx.comthe bug had appeared in 1.19.0. 2421722Svbart@nginx.com</para> 2431722Svbart@nginx.com</change> 2441722Svbart@nginx.com 2451722Svbart@nginx.com<change type="bugfix"> 2461722Svbart@nginx.com<para> 2471722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 2481722Svbart@nginx.com</para> 2491722Svbart@nginx.com</change> 2501722Svbart@nginx.com 2511722Svbart@nginx.com<change type="bugfix"> 2521722Svbart@nginx.com<para> 2531722Svbart@nginx.comvarious compatibility issues in Java applications. 2541722Svbart@nginx.com</para> 2551722Svbart@nginx.com</change> 2561722Svbart@nginx.com 2571722Svbart@nginx.com<change type="bugfix"> 2581722Svbart@nginx.com<para> 2591722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 2601722Svbart@nginx.comuse "rootfs" isolation. 2611722Svbart@nginx.com</para> 2621722Svbart@nginx.com</change> 2631722Svbart@nginx.com 2641722Svbart@nginx.com</changes> 2651722Svbart@nginx.com 2661722Svbart@nginx.com 2671330Svbart@nginx.com<changes apply="unit-php 2681330Svbart@nginx.com unit-python unit-python2.7 2691330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2701330Svbart@nginx.com unit-python3.8 2711330Svbart@nginx.com unit-go 2721330Svbart@nginx.com unit-perl 2731330Svbart@nginx.com unit-ruby 2741330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 2751640Svbart@nginx.com ver="1.20.0" rev="1" 2761640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 2771640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2781640Svbart@nginx.com 2791640Svbart@nginx.com<change> 2801640Svbart@nginx.com<para> 2811640Svbart@nginx.comNGINX Unit updated to 1.20.0. 2821640Svbart@nginx.com</para> 2831640Svbart@nginx.com</change> 2841640Svbart@nginx.com 2851640Svbart@nginx.com</changes> 2861640Svbart@nginx.com 2871640Svbart@nginx.com 2881640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 2891640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 2901640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2911640Svbart@nginx.com 2921640Svbart@nginx.com<change type="change"> 2931640Svbart@nginx.com<para> 2941640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 2951640Svbart@nginx.comextensions from the host system. 2961640Svbart@nginx.com</para> 2971640Svbart@nginx.com</change> 2981640Svbart@nginx.com 2991640Svbart@nginx.com<change type="change"> 3001640Svbart@nginx.com<para> 3011640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 3021640Svbart@nginx.com</para> 3031640Svbart@nginx.com</change> 3041640Svbart@nginx.com 3051643Svbart@nginx.com<change type="change"> 3061643Svbart@nginx.com<para> 3071643Svbart@nginx.comfunctional tests migrated to the pytest framework. 3081643Svbart@nginx.com</para> 3091643Svbart@nginx.com</change> 3101643Svbart@nginx.com 3111640Svbart@nginx.com<change type="feature"> 3121640Svbart@nginx.com<para> 3131640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 3141640Svbart@nginx.cominterface. 3151640Svbart@nginx.com</para> 3161640Svbart@nginx.com</change> 3171640Svbart@nginx.com 3181640Svbart@nginx.com<change type="feature"> 3191640Svbart@nginx.com<para> 3201640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 3211640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 3221640Svbart@nginx.comspecification. 3231640Svbart@nginx.com</para> 3241640Svbart@nginx.com</change> 3251640Svbart@nginx.com 3261640Svbart@nginx.com<change type="feature"> 3271640Svbart@nginx.com<para> 3281640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 3291640Svbart@nginx.comenvironments. 3301640Svbart@nginx.com</para> 3311640Svbart@nginx.com</change> 3321640Svbart@nginx.com 3331640Svbart@nginx.com<change type="feature"> 3341640Svbart@nginx.com<para> 3351640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 3361640Svbart@nginx.com</para> 3371640Svbart@nginx.com</change> 3381640Svbart@nginx.com 3391640Svbart@nginx.com<change type="feature"> 3401640Svbart@nginx.com<para> 3411640Svbart@nginx.comthe "callable" option sets Python application callable names. 3421640Svbart@nginx.com</para> 3431640Svbart@nginx.com</change> 3441640Svbart@nginx.com 3451640Svbart@nginx.com<change type="feature"> 3461640Svbart@nginx.com<para> 3471640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 3481640Svbart@nginx.com</para> 3491640Svbart@nginx.com</change> 3501640Svbart@nginx.com 3511640Svbart@nginx.com<change type="feature"> 3521640Svbart@nginx.com<para> 3531640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 3541640Svbart@nginx.comautomatic mounting of language module dependencies. 3551640Svbart@nginx.com</para> 3561640Svbart@nginx.com</change> 3571640Svbart@nginx.com 3581640Svbart@nginx.com<change type="bugfix"> 3591640Svbart@nginx.com<para> 3601640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 3611640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 3621640Svbart@nginx.com</para> 3631640Svbart@nginx.com</change> 3641640Svbart@nginx.com 3651640Svbart@nginx.com<change type="bugfix"> 3661640Svbart@nginx.com<para> 3671640Svbart@nginx.comthe router process could crash during reconfiguration. 3681640Svbart@nginx.com</para> 3691640Svbart@nginx.com</change> 3701640Svbart@nginx.com 3711640Svbart@nginx.com<change type="bugfix"> 3721640Svbart@nginx.com<para> 3731640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 3741640Svbart@nginx.com</para> 3751640Svbart@nginx.com</change> 3761640Svbart@nginx.com 3771640Svbart@nginx.com<change type="bugfix"> 3781640Svbart@nginx.com<para> 3791640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 3801640Svbart@nginx.comthe bug had appeared in 1.19.0. 3811640Svbart@nginx.com</para> 3821640Svbart@nginx.com</change> 3831640Svbart@nginx.com 3841640Svbart@nginx.com<change type="bugfix"> 3851640Svbart@nginx.com<para> 3861640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 3871640Svbart@nginx.comthe bug had appeared in 1.16.0. 3881640Svbart@nginx.com</para> 3891640Svbart@nginx.com</change> 3901640Svbart@nginx.com 3911640Svbart@nginx.com</changes> 3921640Svbart@nginx.com 3931640Svbart@nginx.com 3941640Svbart@nginx.com<changes apply="unit-php 3951640Svbart@nginx.com unit-python unit-python2.7 3961640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3971640Svbart@nginx.com unit-python3.8 3981640Svbart@nginx.com unit-go 3991640Svbart@nginx.com unit-perl 4001640Svbart@nginx.com unit-ruby 4011640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 4021570Svbart@nginx.com ver="1.19.0" rev="1" 4031570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 4041570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4051570Svbart@nginx.com 4061570Svbart@nginx.com<change> 4071570Svbart@nginx.com<para> 4081570Svbart@nginx.comNGINX Unit updated to 1.19.0. 4091570Svbart@nginx.com</para> 4101570Svbart@nginx.com</change> 4111570Svbart@nginx.com 4121570Svbart@nginx.com</changes> 4131570Svbart@nginx.com 4141570Svbart@nginx.com 4151570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 4161570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 4171570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4181570Svbart@nginx.com 4191570Svbart@nginx.com<change type="feature"> 4201570Svbart@nginx.com<para> 4211570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 4221570Svbart@nginx.comincrease performance, and improve scalability. 4231570Svbart@nginx.com</para> 4241570Svbart@nginx.com</change> 4251570Svbart@nginx.com 4261570Svbart@nginx.com<change type="feature"> 4271570Svbart@nginx.com<para> 4281570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 4291570Svbart@nginx.com</para> 4301570Svbart@nginx.com</change> 4311570Svbart@nginx.com 4321570Svbart@nginx.com<change type="feature"> 4331570Svbart@nginx.com<para> 4341570Svbart@nginx.comchunked transfer encoding in proxy responses. 4351570Svbart@nginx.com</para> 4361570Svbart@nginx.com</change> 4371570Svbart@nginx.com 4381570Svbart@nginx.com<change type="feature"> 4391570Svbart@nginx.com<para> 4401570Svbart@nginx.combasic variables support in the "pass" option. 4411570Svbart@nginx.com</para> 4421570Svbart@nginx.com</change> 4431570Svbart@nginx.com 4441570Svbart@nginx.com<change type="feature"> 4451570Svbart@nginx.com<para> 4461570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 4471570Svbart@nginx.comThanks to Remi Collet. 4481570Svbart@nginx.com</para> 4491570Svbart@nginx.com</change> 4501570Svbart@nginx.com 4511570Svbart@nginx.com<change type="bugfix"> 4521570Svbart@nginx.com<para> 4531570Svbart@nginx.comthe router process could crash while passing requests to an application under 4541570Svbart@nginx.comhigh load. 4551570Svbart@nginx.com</para> 4561570Svbart@nginx.com</change> 4571570Svbart@nginx.com 4581570Svbart@nginx.com<change type="bugfix"> 4591570Svbart@nginx.com<para> 4601570Svbart@nginx.coma number of language modules failed to build on some systems; 4611570Svbart@nginx.comthe bug had appeared in 1.18.0. 4621570Svbart@nginx.com</para> 4631570Svbart@nginx.com</change> 4641570Svbart@nginx.com 4651570Svbart@nginx.com<change type="bugfix"> 4661570Svbart@nginx.com<para> 4671570Svbart@nginx.comtime in error log messages from PHP applications could lag. 4681570Svbart@nginx.com</para> 4691570Svbart@nginx.com</change> 4701570Svbart@nginx.com 4711570Svbart@nginx.com<change type="bugfix"> 4721570Svbart@nginx.com<para> 4731570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 4741570Svbart@nginx.comthe bug had appeared in 1.18.0. 4751570Svbart@nginx.com</para> 4761570Svbart@nginx.com</change> 4771570Svbart@nginx.com 4781570Svbart@nginx.com<change type="bugfix"> 4791570Svbart@nginx.com<para> 4801570Svbart@nginx.commemory leak during reconfiguration. 4811570Svbart@nginx.com</para> 4821570Svbart@nginx.com</change> 4831570Svbart@nginx.com 4841570Svbart@nginx.com<change type="bugfix"> 4851570Svbart@nginx.com<para> 4861570Svbart@nginx.comthe daemon didn't start without language modules; 4871570Svbart@nginx.comthe bug had appeared in 1.18.0. 4881570Svbart@nginx.com</para> 4891570Svbart@nginx.com</change> 4901570Svbart@nginx.com 4911570Svbart@nginx.com<change type="bugfix"> 4921570Svbart@nginx.com<para> 4931570Svbart@nginx.comthe router process could crash at exit. 4941570Svbart@nginx.com</para> 4951570Svbart@nginx.com</change> 4961570Svbart@nginx.com 4971570Svbart@nginx.com<change type="bugfix"> 4981570Svbart@nginx.com<para> 4991570Svbart@nginx.comNode.js applications could crash at exit. 5001570Svbart@nginx.com</para> 5011570Svbart@nginx.com</change> 5021570Svbart@nginx.com 5031570Svbart@nginx.com<change type="bugfix"> 5041570Svbart@nginx.com<para> 5051570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 5061570Svbart@nginx.com</para> 5071570Svbart@nginx.com</change> 5081570Svbart@nginx.com 5091570Svbart@nginx.com</changes> 5101570Svbart@nginx.com 5111570Svbart@nginx.com 5121570Svbart@nginx.com<changes apply="unit-php 5131570Svbart@nginx.com unit-python unit-python2.7 5141570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5151570Svbart@nginx.com unit-python3.8 5161570Svbart@nginx.com unit-go 5171570Svbart@nginx.com unit-perl 5181570Svbart@nginx.com unit-ruby 5191570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 5201491Svbart@nginx.com ver="1.18.0" rev="1" 5211491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 5221491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5231491Svbart@nginx.com 5241491Svbart@nginx.com<change> 5251491Svbart@nginx.com<para> 5261491Svbart@nginx.comNGINX Unit updated to 1.18.0. 5271491Svbart@nginx.com</para> 5281491Svbart@nginx.com</change> 5291491Svbart@nginx.com 5301491Svbart@nginx.com</changes> 5311491Svbart@nginx.com 5321491Svbart@nginx.com 5331491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 5341491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 5351491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5361491Svbart@nginx.com 5371491Svbart@nginx.com<change type="feature"> 5381491Svbart@nginx.com<para> 5391491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 5401491Svbart@nginx.com</para> 5411491Svbart@nginx.com</change> 5421491Svbart@nginx.com 5431491Svbart@nginx.com<change type="feature"> 5441491Svbart@nginx.com<para> 5451491Svbart@nginx.commultiple "targets" in PHP applications. 5461491Svbart@nginx.com</para> 5471491Svbart@nginx.com</change> 5481491Svbart@nginx.com 5491491Svbart@nginx.com<change type="feature"> 5501491Svbart@nginx.com<para> 5511491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 5521491Svbart@nginx.comand in the "pass" option. 5531491Svbart@nginx.com</para> 5541491Svbart@nginx.com</change> 5551491Svbart@nginx.com 5561491Svbart@nginx.com</changes> 5571491Svbart@nginx.com 5581491Svbart@nginx.com 5591491Svbart@nginx.com<changes apply="unit-php 5601491Svbart@nginx.com unit-python unit-python2.7 5611491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5621491Svbart@nginx.com unit-python3.8 5631491Svbart@nginx.com unit-go 5641491Svbart@nginx.com unit-perl 5651491Svbart@nginx.com unit-ruby 5661491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 5671460Svbart@nginx.com ver="1.17.0" rev="1" 5681460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 5691460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5701460Svbart@nginx.com 5711460Svbart@nginx.com<change> 5721460Svbart@nginx.com<para> 5731460Svbart@nginx.comNGINX Unit updated to 1.17.0. 5741460Svbart@nginx.com</para> 5751460Svbart@nginx.com</change> 5761460Svbart@nginx.com 5771460Svbart@nginx.com</changes> 5781460Svbart@nginx.com 5791460Svbart@nginx.com 5801460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 5811460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 5821460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5831460Svbart@nginx.com 5841460Svbart@nginx.com<change type="feature"> 5851460Svbart@nginx.com<para> 5861460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 5871460Svbart@nginx.comredirection. 5881460Svbart@nginx.com</para> 5891460Svbart@nginx.com</change> 5901460Svbart@nginx.com 5911460Svbart@nginx.com<change type="feature"> 5921460Svbart@nginx.com<para> 5931460Svbart@nginx.comfractional weights support for upstream servers. 5941460Svbart@nginx.com</para> 5951460Svbart@nginx.com</change> 5961460Svbart@nginx.com 5971460Svbart@nginx.com<change type="bugfix"> 5981460Svbart@nginx.com<para> 5991460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 6001460Svbart@nginx.comhigh load. 6011460Svbart@nginx.com</para> 6021460Svbart@nginx.com</change> 6031460Svbart@nginx.com 6041460Svbart@nginx.com<change type="bugfix"> 6051460Svbart@nginx.com<para> 6061460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 6071460Svbart@nginx.com</para> 6081460Svbart@nginx.com</change> 6091460Svbart@nginx.com 6101460Svbart@nginx.com<change type="bugfix"> 6111460Svbart@nginx.com<para> 6121460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 6131460Svbart@nginx.comopen connections limit. 6141460Svbart@nginx.com</para> 6151460Svbart@nginx.com</change> 6161460Svbart@nginx.com 6171460Svbart@nginx.com<change type="bugfix"> 6181460Svbart@nginx.com<para> 6191460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 6201460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 6211460Svbart@nginx.com</para> 6221460Svbart@nginx.com</change> 6231460Svbart@nginx.com 6241460Svbart@nginx.com<change type="bugfix"> 6251460Svbart@nginx.com<para> 6261460Svbart@nginx.comexisting application processes didn't reopen the log file. 6271460Svbart@nginx.com</para> 6281460Svbart@nginx.com</change> 6291460Svbart@nginx.com 6301460Svbart@nginx.com<change type="bugfix"> 6311460Svbart@nginx.com<para> 6321460Svbart@nginx.comincompatibility with some Node.js applications. 6331460Svbart@nginx.com</para> 6341460Svbart@nginx.com</change> 6351460Svbart@nginx.com 6361460Svbart@nginx.com<change type="bugfix"> 6371460Svbart@nginx.com<para> 6381460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 6391460Svbart@nginx.com</para> 6401460Svbart@nginx.com</change> 6411460Svbart@nginx.com 6421460Svbart@nginx.com</changes> 6431460Svbart@nginx.com 6441460Svbart@nginx.com 6451460Svbart@nginx.com<changes apply="unit-php 6461460Svbart@nginx.com unit-python unit-python2.7 6471460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6481460Svbart@nginx.com unit-python3.8 6491460Svbart@nginx.com unit-go 6501460Svbart@nginx.com unit-perl 6511460Svbart@nginx.com unit-ruby 6521460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6531404Svbart@nginx.com ver="1.16.0" rev="1" 6541404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 6551404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6561404Svbart@nginx.com 6571404Svbart@nginx.com<change> 6581404Svbart@nginx.com<para> 6591404Svbart@nginx.comNGINX Unit updated to 1.16.0. 6601404Svbart@nginx.com</para> 6611404Svbart@nginx.com</change> 6621404Svbart@nginx.com 6631404Svbart@nginx.com</changes> 6641404Svbart@nginx.com 6651404Svbart@nginx.com 6661404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 6671404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 6681404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6691404Svbart@nginx.com 6701404Svbart@nginx.com<change type="feature"> 6711404Svbart@nginx.com<para> 6721404Svbart@nginx.combasic load-balancing support with round-robin. 6731404Svbart@nginx.com</para> 6741404Svbart@nginx.com</change> 6751404Svbart@nginx.com 6761404Svbart@nginx.com<change type="feature"> 6771404Svbart@nginx.com<para> 6781404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 6791404Svbart@nginx.comserved from the "share" directory. 6801404Svbart@nginx.com</para> 6811404Svbart@nginx.com</change> 6821404Svbart@nginx.com 6831404Svbart@nginx.com<change type="feature"> 6841404Svbart@nginx.com<para> 6851404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 6861404Svbart@nginx.com</para> 6871404Svbart@nginx.com</change> 6881404Svbart@nginx.com 6891404Svbart@nginx.com<change type="feature"> 6901404Svbart@nginx.com<para> 6911404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 6921404Svbart@nginx.com</para> 6931404Svbart@nginx.com</change> 6941404Svbart@nginx.com 6951404Svbart@nginx.com<change type="bugfix"> 6961404Svbart@nginx.com<para> 6971404Svbart@nginx.comnegative address matching in router might work improperly in combination with 6981404Svbart@nginx.comnon-negative patterns. 6991404Svbart@nginx.com</para> 7001404Svbart@nginx.com</change> 7011404Svbart@nginx.com 7021404Svbart@nginx.com<change type="bugfix"> 7031404Svbart@nginx.com<para> 7041404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 7051404Svbart@nginx.com</para> 7061404Svbart@nginx.com</change> 7071404Svbart@nginx.com 7081404Svbart@nginx.com<change type="bugfix"> 7091404Svbart@nginx.com<para> 7101404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 7111404Svbart@nginx.com</para> 7121404Svbart@nginx.com</change> 7131404Svbart@nginx.com 7141404Svbart@nginx.com<change type="bugfix"> 7151404Svbart@nginx.com<para> 7161404Svbart@nginx.comcompatibility issues with some Python applications. 7171404Svbart@nginx.com</para> 7181404Svbart@nginx.com</change> 7191404Svbart@nginx.com 7201404Svbart@nginx.com</changes> 7211404Svbart@nginx.com 7221404Svbart@nginx.com 7231404Svbart@nginx.com<changes apply="unit-php 7241404Svbart@nginx.com unit-python unit-python2.7 7251404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7261404Svbart@nginx.com unit-python3.8 7271404Svbart@nginx.com unit-go 7281404Svbart@nginx.com unit-perl 7291404Svbart@nginx.com unit-ruby 7301404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7311357Svbart@nginx.com ver="1.15.0" rev="1" 7321357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 7331357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7341357Svbart@nginx.com 7351357Svbart@nginx.com<change> 7361357Svbart@nginx.com<para> 7371357Svbart@nginx.comNGINX Unit updated to 1.15.0. 7381357Svbart@nginx.com</para> 7391357Svbart@nginx.com</change> 7401357Svbart@nginx.com 7411357Svbart@nginx.com</changes> 7421357Svbart@nginx.com 7431357Svbart@nginx.com 7441357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 7451357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 7461357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7471357Svbart@nginx.com 7481357Svbart@nginx.com<change type="change"> 7491357Svbart@nginx.com<para> 7501357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 7511357Svbart@nginx.com</para> 7521357Svbart@nginx.com</change> 7531357Svbart@nginx.com 7541357Svbart@nginx.com<change type="feature"> 7551357Svbart@nginx.com<para> 7561357Svbart@nginx.comcompatibility with Ruby 2.7. 7571357Svbart@nginx.com</para> 7581357Svbart@nginx.com</change> 7591357Svbart@nginx.com 7601357Svbart@nginx.com<change type="bugfix"> 7611357Svbart@nginx.com<para> 7621357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 7631357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 7641357Svbart@nginx.com</para> 7651357Svbart@nginx.com</change> 7661357Svbart@nginx.com 7671357Svbart@nginx.com<change type="bugfix"> 7681357Svbart@nginx.com<para> 7691357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 7701357Svbart@nginx.com</para> 7711357Svbart@nginx.com</change> 7721357Svbart@nginx.com 7731357Svbart@nginx.com</changes> 7741357Svbart@nginx.com 7751357Svbart@nginx.com 7761357Svbart@nginx.com<changes apply="unit-php 7771357Svbart@nginx.com unit-python unit-python2.7 7781357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7791357Svbart@nginx.com unit-python3.8 7801357Svbart@nginx.com unit-go 7811357Svbart@nginx.com unit-perl 7821357Svbart@nginx.com unit-ruby 7831357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7841330Svbart@nginx.com ver="1.14.0" rev="1" 7851330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 7861330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7871330Svbart@nginx.com 7881330Svbart@nginx.com<change> 7891330Svbart@nginx.com<para> 7901330Svbart@nginx.comNGINX Unit updated to 1.14.0. 7911330Svbart@nginx.com</para> 7921330Svbart@nginx.com</change> 7931330Svbart@nginx.com 7941330Svbart@nginx.com</changes> 7951330Svbart@nginx.com 7961330Svbart@nginx.com 7971330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 7981330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 7991330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8001330Svbart@nginx.com 8011330Svbart@nginx.com<change type="change"> 8021330Svbart@nginx.com<para> 8031330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 8041330Svbart@nginx.com</para> 8051330Svbart@nginx.com</change> 8061330Svbart@nginx.com 8071330Svbart@nginx.com<change type="change"> 8081330Svbart@nginx.com<para> 8091330Svbart@nginx.comGo package now links to libunit instead of including library sources. 8101330Svbart@nginx.com</para> 8111330Svbart@nginx.com</change> 8121330Svbart@nginx.com 8131330Svbart@nginx.com<change type="feature"> 8141330Svbart@nginx.com<para> 8151330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 8161330Svbart@nginx.comruns as an unprivileged user. 8171330Svbart@nginx.com</para> 8181330Svbart@nginx.com</change> 8191330Svbart@nginx.com 8201330Svbart@nginx.com<change type="feature"> 8211330Svbart@nginx.com<para> 8221330Svbart@nginx.comrequest routing by source and destination addresses and ports. 8231330Svbart@nginx.com</para> 8241330Svbart@nginx.com</change> 8251330Svbart@nginx.com 8261330Svbart@nginx.com<change type="bugfix"> 8271330Svbart@nginx.com<para> 8281330Svbart@nginx.commemory bloat on large responses. 8291330Svbart@nginx.com</para> 8301330Svbart@nginx.com</change> 8311330Svbart@nginx.com 8321330Svbart@nginx.com</changes> 8331330Svbart@nginx.com 8341330Svbart@nginx.com 8351290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 8361290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 8371290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8381290Sdefan@nginx.com 8391290Sdefan@nginx.com<change> 8401290Sdefan@nginx.com<para> 8411290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 8421290Sdefan@nginx.com</para> 8431290Sdefan@nginx.com</change> 8441290Sdefan@nginx.com 8451290Sdefan@nginx.com</changes> 8461290Sdefan@nginx.com 8471290Sdefan@nginx.com 8481290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 8491290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 8501290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8511290Sdefan@nginx.com 8521290Sdefan@nginx.com<change> 8531290Sdefan@nginx.com<para> 8541290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 8551290Sdefan@nginx.com</para> 8561290Sdefan@nginx.com</change> 8571290Sdefan@nginx.com 8581290Sdefan@nginx.com</changes> 8591290Sdefan@nginx.com 8601290Sdefan@nginx.com 8611289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 8621289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 8631289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8641289Sdefan@nginx.com 8651289Sdefan@nginx.com<change> 8661289Sdefan@nginx.com<para> 8671289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 8681289Sdefan@nginx.com</para> 8691289Sdefan@nginx.com</change> 8701289Sdefan@nginx.com 8711289Sdefan@nginx.com</changes> 8721289Sdefan@nginx.com 8731289Sdefan@nginx.com 8741185Svbart@nginx.com<changes apply="unit-php 8751185Svbart@nginx.com unit-python unit-python2.7 8761185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8771185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 8781185Svbart@nginx.com unit-perl 8791185Svbart@nginx.com unit-ruby 8801185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8811284Svbart@nginx.com ver="1.13.0" rev="1" 8821284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 8831284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8841284Svbart@nginx.com 8851284Svbart@nginx.com<change> 8861284Svbart@nginx.com<para> 8871284Svbart@nginx.comNGINX Unit updated to 1.13.0. 8881284Svbart@nginx.com</para> 8891284Svbart@nginx.com</change> 8901284Svbart@nginx.com 8911284Svbart@nginx.com</changes> 8921284Svbart@nginx.com 8931284Svbart@nginx.com 8941284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 8951284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 8961284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8971284Svbart@nginx.com 8981284Svbart@nginx.com<change type="feature"> 8991284Svbart@nginx.com<para> 9001284Svbart@nginx.combasic support for HTTP reverse proxying. 9011284Svbart@nginx.com</para> 9021284Svbart@nginx.com</change> 9031284Svbart@nginx.com 9041284Svbart@nginx.com<change type="feature"> 9051284Svbart@nginx.com<para> 9061284Svbart@nginx.comcompatibility with Python 3.8. 9071284Svbart@nginx.com</para> 9081284Svbart@nginx.com</change> 9091284Svbart@nginx.com 9101284Svbart@nginx.com<change type="bugfix"> 9111284Svbart@nginx.com<para> 9121284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 9131284Svbart@nginx.com</para> 9141284Svbart@nginx.com</change> 9151284Svbart@nginx.com 9161284Svbart@nginx.com<change type="bugfix"> 9171284Svbart@nginx.com<para> 9181284Svbart@nginx.comthreads in Python applications might not work correctly. 9191284Svbart@nginx.com</para> 9201284Svbart@nginx.com</change> 9211284Svbart@nginx.com 9221284Svbart@nginx.com<change type="bugfix"> 9231284Svbart@nginx.com<para> 9241284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 9251284Svbart@nginx.com</para> 9261284Svbart@nginx.com</change> 9271284Svbart@nginx.com 9281284Svbart@nginx.com<change type="bugfix"> 9291284Svbart@nginx.com<para> 9301284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 9311284Svbart@nginx.comdelays. 9321284Svbart@nginx.com</para> 9331284Svbart@nginx.com</change> 9341284Svbart@nginx.com 9351284Svbart@nginx.com<change type="bugfix"> 9361284Svbart@nginx.com<para> 9371284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 9381284Svbart@nginx.com</para> 9391284Svbart@nginx.com</change> 9401284Svbart@nginx.com 9411284Svbart@nginx.com</changes> 9421284Svbart@nginx.com 9431284Svbart@nginx.com 9441284Svbart@nginx.com<changes apply="unit-php 9451284Svbart@nginx.com unit-python unit-python2.7 9461284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9471284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 9481284Svbart@nginx.com unit-perl 9491284Svbart@nginx.com unit-ruby 9501284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9511222Svbart@nginx.com ver="1.12.0" rev="1" 9521222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 9531222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9541222Svbart@nginx.com 9551222Svbart@nginx.com<change> 9561222Svbart@nginx.com<para> 9571222Svbart@nginx.comNGINX Unit updated to 1.12.0. 9581222Svbart@nginx.com</para> 9591222Svbart@nginx.com</change> 9601222Svbart@nginx.com 9611222Svbart@nginx.com</changes> 9621222Svbart@nginx.com 9631222Svbart@nginx.com 9641222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 9651222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 9661222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9671222Svbart@nginx.com 9681222Svbart@nginx.com<change type="feature"> 9691222Svbart@nginx.com<para> 9701222Svbart@nginx.comcompatibility with PHP 7.4. 9711222Svbart@nginx.com</para> 9721222Svbart@nginx.com</change> 9731222Svbart@nginx.com 9741222Svbart@nginx.com<change type="bugfix"> 9751222Svbart@nginx.com<para> 9761222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 9771222Svbart@nginx.com</para> 9781222Svbart@nginx.com</change> 9791222Svbart@nginx.com 9801222Svbart@nginx.com<change type="bugfix"> 9811222Svbart@nginx.com<para> 9821222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 9831222Svbart@nginx.com</para> 9841222Svbart@nginx.com</change> 9851222Svbart@nginx.com 9861222Svbart@nginx.com<change type="bugfix"> 9871222Svbart@nginx.com<para> 9881222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 9891222Svbart@nginx.com</para> 9901222Svbart@nginx.com</change> 9911222Svbart@nginx.com 9921222Svbart@nginx.com</changes> 9931222Svbart@nginx.com 9941222Svbart@nginx.com 9951222Svbart@nginx.com 9961222Svbart@nginx.com<changes apply="unit-php 9971222Svbart@nginx.com unit-python unit-python2.7 9981222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9991222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10001222Svbart@nginx.com unit-perl 10011222Svbart@nginx.com unit-ruby 10021222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10031185Svbart@nginx.com ver="1.11.0" rev="1" 10041185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 10051185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 10061185Svbart@nginx.com 10071185Svbart@nginx.com<change> 10081185Svbart@nginx.com<para> 10091185Svbart@nginx.comNGINX Unit updated to 1.11.0. 10101185Svbart@nginx.com</para> 10111185Svbart@nginx.com</change> 10121185Svbart@nginx.com 10131185Svbart@nginx.com</changes> 10141185Svbart@nginx.com 10151185Svbart@nginx.com 10161185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 10171185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 10181185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 10191185Svbart@nginx.com 10201185Svbart@nginx.com<change type="feature"> 10211185Svbart@nginx.com<para> 10221185Svbart@nginx.combasic support for serving static files. 10231185Svbart@nginx.com</para> 10241185Svbart@nginx.com</change> 10251185Svbart@nginx.com 10261185Svbart@nginx.com<change type="feature"> 10271185Svbart@nginx.com<para> 10281185Svbart@nginx.comisolation of application processes with Linux namespaces. 10291185Svbart@nginx.com</para> 10301185Svbart@nginx.com</change> 10311185Svbart@nginx.com 10321185Svbart@nginx.com<change type="feature"> 10331185Svbart@nginx.com<para> 10341185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 10351185Svbart@nginx.com</para> 10361185Svbart@nginx.com</change> 10371185Svbart@nginx.com 10381185Svbart@nginx.com<change type="feature"> 10391185Svbart@nginx.com<para> 10401185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 10411185Svbart@nginx.comusing URI encoding (%2F). 10421185Svbart@nginx.com</para> 10431185Svbart@nginx.com</change> 10441185Svbart@nginx.com 10451185Svbart@nginx.com<change type="bugfix"> 10461185Svbart@nginx.com<para> 10471185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 10481185Svbart@nginx.com</para> 10491185Svbart@nginx.com</change> 10501185Svbart@nginx.com 10511185Svbart@nginx.com<change type="bugfix"> 10521185Svbart@nginx.com<para> 10531185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 10541185Svbart@nginx.comGNU ld (e.g. gold or LLD). 10551185Svbart@nginx.com</para> 10561185Svbart@nginx.com</change> 10571185Svbart@nginx.com 10581185Svbart@nginx.com</changes> 10591185Svbart@nginx.com 10601185Svbart@nginx.com 10611142Sdefan@nginx.com<changes apply="unit 10621142Sdefan@nginx.com unit-php 10631142Sdefan@nginx.com unit-python unit-python2.7 10641142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10651142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10661142Sdefan@nginx.com unit-perl 10671142Sdefan@nginx.com unit-ruby 10681142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10691142Sdefan@nginx.com ver="1.10.0" rev="2" 10701142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 10711142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10721142Sdefan@nginx.com 10731142Sdefan@nginx.com<change type="bugfix"> 10741142Sdefan@nginx.com<para> 10751142Sdefan@nginx.commissed header files added to unit development package. 10761142Sdefan@nginx.com</para> 10771142Sdefan@nginx.com</change> 10781142Sdefan@nginx.com 10791142Sdefan@nginx.com</changes> 10801142Sdefan@nginx.com 10811142Sdefan@nginx.com 10821134Svbart@nginx.com<changes apply="unit-php 10831134Svbart@nginx.com unit-python unit-python2.7 10841134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10851134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10861134Svbart@nginx.com unit-perl 10871134Svbart@nginx.com unit-ruby 10881134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10891134Svbart@nginx.com ver="1.10.0" rev="1" 10901134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 10911134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10921134Svbart@nginx.com 10931134Svbart@nginx.com<change> 10941134Svbart@nginx.com<para> 10951134Svbart@nginx.comNGINX Unit updated to 1.10.0. 10961134Svbart@nginx.com</para> 10971134Svbart@nginx.com</change> 10981134Svbart@nginx.com 10991134Svbart@nginx.com</changes> 11001134Svbart@nginx.com 11011134Svbart@nginx.com 11021134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 11031134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 11041134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11051134Svbart@nginx.com 11061134Svbart@nginx.com<change type="change"> 11071134Svbart@nginx.com<para> 11081134Svbart@nginx.commatching of cookies in routes made case sensitive. 11091134Svbart@nginx.com</para> 11101134Svbart@nginx.com</change> 11111134Svbart@nginx.com 11121134Svbart@nginx.com<change type="change"> 11131134Svbart@nginx.com<para> 11141134Svbart@nginx.comdecreased log level of common errors when clients close connections. 11151134Svbart@nginx.com</para> 11161134Svbart@nginx.com</change> 11171134Svbart@nginx.com 11181134Svbart@nginx.com<change type="change"> 11191134Svbart@nginx.com<para> 11201134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 11211134Svbart@nginx.com</para> 11221134Svbart@nginx.com</change> 11231134Svbart@nginx.com 11241134Svbart@nginx.com<change type="feature"> 11251134Svbart@nginx.com<para> 11261134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 11271134Svbart@nginx.com</para> 11281134Svbart@nginx.com</change> 11291134Svbart@nginx.com 11301134Svbart@nginx.com<change type="feature"> 11311134Svbart@nginx.com<para> 11321134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 11331134Svbart@nginx.com</para> 11341134Svbart@nginx.com</change> 11351134Svbart@nginx.com 11361134Svbart@nginx.com<change type="feature"> 11371134Svbart@nginx.com<para> 11381134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 11391134Svbart@nginx.com</para> 11401134Svbart@nginx.com</change> 11411134Svbart@nginx.com 11421134Svbart@nginx.com<change type="feature"> 11431134Svbart@nginx.com<para> 11441134Svbart@nginx.comsupport for multipart requests body in Java module. 11451134Svbart@nginx.com</para> 11461134Svbart@nginx.com</change> 11471134Svbart@nginx.com 11481134Svbart@nginx.com<change type="feature"> 11491134Svbart@nginx.com<para> 11501134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 11511134Svbart@nginx.com</para> 11521134Svbart@nginx.com</change> 11531134Svbart@nginx.com 11541134Svbart@nginx.com<change type="bugfix"> 11551134Svbart@nginx.com<para> 11561134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 11571134Svbart@nginx.com</para> 11581134Svbart@nginx.com</change> 11591134Svbart@nginx.com 11601134Svbart@nginx.com<change type="bugfix"> 11611134Svbart@nginx.com<para> 11621134Svbart@nginx.comapplying a large configuration might have failed. 11631134Svbart@nginx.com</para> 11641134Svbart@nginx.com</change> 11651134Svbart@nginx.com 11661134Svbart@nginx.com</changes> 11671134Svbart@nginx.com 11681134Svbart@nginx.com 11691069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 11701069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 11711069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11721069Svbart@nginx.com 11731069Svbart@nginx.com<change> 11741069Svbart@nginx.com<para> 11751069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 11761069Svbart@nginx.com</para> 11771069Svbart@nginx.com</change> 11781069Svbart@nginx.com 11791069Svbart@nginx.com</changes> 11801069Svbart@nginx.com 11811069Svbart@nginx.com 11821069Svbart@nginx.com<changes apply="unit-php 11831069Svbart@nginx.com unit-python unit-python2.7 11841069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11851069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 11861069Svbart@nginx.com unit-perl 11871069Svbart@nginx.com unit-ruby 11881069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11891069Svbart@nginx.com ver="1.9.0" rev="1" 11901069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 11911069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11921069Svbart@nginx.com 11931069Svbart@nginx.com<change> 11941069Svbart@nginx.com<para> 11951069Svbart@nginx.comNGINX Unit updated to 1.9.0. 11961069Svbart@nginx.com</para> 11971069Svbart@nginx.com</change> 11981069Svbart@nginx.com 11991069Svbart@nginx.com</changes> 12001069Svbart@nginx.com 12011069Svbart@nginx.com 12021069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 12031069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 12041069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12051069Svbart@nginx.com 12061069Svbart@nginx.com<change type="feature"> 12071069Svbart@nginx.com<para> 12081069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 12091069Svbart@nginx.com</para> 12101069Svbart@nginx.com</change> 12111069Svbart@nginx.com 12121069Svbart@nginx.com<change type="feature"> 12131069Svbart@nginx.com<para> 12141069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 12151069Svbart@nginx.com</para> 12161069Svbart@nginx.com</change> 12171069Svbart@nginx.com 12181069Svbart@nginx.com<change type="feature"> 12191069Svbart@nginx.com<para> 12201069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 12211069Svbart@nginx.com</para> 12221069Svbart@nginx.com</change> 12231069Svbart@nginx.com 12241069Svbart@nginx.com<change type="feature"> 12251069Svbart@nginx.com<para> 12261069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 12271069Svbart@nginx.comon Linux without running main process as privileged user. 12281069Svbart@nginx.com</para> 12291069Svbart@nginx.com</change> 12301069Svbart@nginx.com 12311069Svbart@nginx.com<change type="bugfix"> 12321069Svbart@nginx.com<para> 12331069Svbart@nginx.commemory leak in the router process might have happened when a client 12341069Svbart@nginx.comprematurely closed the connection. 12351069Svbart@nginx.com</para> 12361069Svbart@nginx.com</change> 12371069Svbart@nginx.com 12381069Svbart@nginx.com<change type="bugfix"> 12391069Svbart@nginx.com<para> 12401069Svbart@nginx.comapplying a large configuration might have failed. 12411069Svbart@nginx.com</para> 12421069Svbart@nginx.com</change> 12431069Svbart@nginx.com 12441069Svbart@nginx.com<change type="bugfix"> 12451069Svbart@nginx.com<para> 12461069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 12471069Svbart@nginx.com</para> 12481069Svbart@nginx.com</change> 12491069Svbart@nginx.com 12501069Svbart@nginx.com<change type="bugfix"> 12511069Svbart@nginx.com<para> 12521069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 12531069Svbart@nginx.com</para> 12541069Svbart@nginx.com</change> 12551069Svbart@nginx.com 12561069Svbart@nginx.com<change type="bugfix"> 12571069Svbart@nginx.com<para> 12581069Svbart@nginx.comrestored compatibility with Node.js applications that use 12591069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 12601069Svbart@nginx.com</para> 12611069Svbart@nginx.com</change> 12621069Svbart@nginx.com 12631069Svbart@nginx.com<change type="bugfix"> 12641069Svbart@nginx.com<para> 12651069Svbart@nginx.comvarious compatibility issues with Node.js applications. 12661069Svbart@nginx.com</para> 12671069Svbart@nginx.com</change> 12681069Svbart@nginx.com 12691069Svbart@nginx.com</changes> 12701069Svbart@nginx.com 12711069Svbart@nginx.com 1272991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1273991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1274991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1275991Svbart@nginx.com 1276991Svbart@nginx.com<change> 1277991Svbart@nginx.com<para> 1278991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1279991Svbart@nginx.com</para> 1280991Svbart@nginx.com</change> 1281991Svbart@nginx.com 1282991Svbart@nginx.com</changes> 1283991Svbart@nginx.com 1284991Svbart@nginx.com 1285991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1286991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1287991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1288991Svbart@nginx.com 1289991Svbart@nginx.com<change> 1290991Svbart@nginx.com<para> 1291991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1292991Svbart@nginx.com</para> 1293991Svbart@nginx.com</change> 1294991Svbart@nginx.com 1295991Svbart@nginx.com</changes> 1296991Svbart@nginx.com 1297991Svbart@nginx.com 1298991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1299991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1300991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1301991Svbart@nginx.com 1302991Svbart@nginx.com<change> 1303991Svbart@nginx.com<para> 1304991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 1305991Svbart@nginx.com</para> 1306991Svbart@nginx.com</change> 1307991Svbart@nginx.com 1308991Svbart@nginx.com</changes> 1309991Svbart@nginx.com 1310991Svbart@nginx.com 1311991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 1312991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1313991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1314991Svbart@nginx.com 1315991Svbart@nginx.com<change> 1316991Svbart@nginx.com<para> 1317991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 1318991Svbart@nginx.com</para> 1319991Svbart@nginx.com</change> 1320991Svbart@nginx.com 1321991Svbart@nginx.com</changes> 1322991Svbart@nginx.com 1323991Svbart@nginx.com 1324991Svbart@nginx.com<changes apply="unit-php 1325991Svbart@nginx.com unit-python unit-python2.7 1326991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1327991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1328991Svbart@nginx.com unit-perl 1329991Svbart@nginx.com unit-ruby" 1330991Svbart@nginx.com ver="1.8.0" rev="1" 1331991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1332991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1333991Svbart@nginx.com 1334991Svbart@nginx.com<change> 1335991Svbart@nginx.com<para> 1336991Svbart@nginx.comNGINX Unit updated to 1.8.0. 1337991Svbart@nginx.com</para> 1338991Svbart@nginx.com</change> 1339991Svbart@nginx.com 1340991Svbart@nginx.com</changes> 1341991Svbart@nginx.com 1342991Svbart@nginx.com 1343991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 1344991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1345991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1346991Svbart@nginx.com 1347991Svbart@nginx.com<change type="change"> 1348991Svbart@nginx.com<para> 1349991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 1350991Svbart@nginx.comand patch versions. 1351991Svbart@nginx.com</para> 1352991Svbart@nginx.com</change> 1353991Svbart@nginx.com 1354991Svbart@nginx.com<change type="change"> 1355991Svbart@nginx.com<para> 1356991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 1357991Svbart@nginx.comthe query component. 1358991Svbart@nginx.com</para> 1359991Svbart@nginx.com</change> 1360991Svbart@nginx.com 1361991Svbart@nginx.com<change type="feature"> 1362991Svbart@nginx.com<para> 1363991Svbart@nginx.combasic internal request routing by Host, URI, and method. 1364991Svbart@nginx.com</para> 1365991Svbart@nginx.com</change> 1366991Svbart@nginx.com 1367991Svbart@nginx.com<change type="feature"> 1368991Svbart@nginx.com<para> 1369991Svbart@nginx.comexperimental support for Java Servlet Containers. 1370991Svbart@nginx.com</para> 1371991Svbart@nginx.com</change> 1372991Svbart@nginx.com 1373991Svbart@nginx.com<change type="bugfix"> 1374991Svbart@nginx.com<para> 1375991Svbart@nginx.comsegmentation fault might have occurred in the router process. 1376991Svbart@nginx.com</para> 1377991Svbart@nginx.com</change> 1378991Svbart@nginx.com 1379991Svbart@nginx.com<change type="bugfix"> 1380991Svbart@nginx.com<para> 1381991Svbart@nginx.comvarious potential memory leaks. 1382991Svbart@nginx.com</para> 1383991Svbart@nginx.com</change> 1384991Svbart@nginx.com 1385991Svbart@nginx.com<change type="bugfix"> 1386991Svbart@nginx.com<para> 1387991Svbart@nginx.comTLS connections might have stalled. 1388991Svbart@nginx.com</para> 1389991Svbart@nginx.com</change> 1390991Svbart@nginx.com 1391991Svbart@nginx.com<change type="bugfix"> 1392991Svbart@nginx.com<para> 1393991Svbart@nginx.comsome Perl applications might have failed to send the response body. 1394991Svbart@nginx.com</para> 1395991Svbart@nginx.com</change> 1396991Svbart@nginx.com 1397991Svbart@nginx.com<change type="bugfix"> 1398991Svbart@nginx.com<para> 1399991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 1400991Svbart@nginx.comthe bug had appeared in 1.5. 1401991Svbart@nginx.com</para> 1402991Svbart@nginx.com</change> 1403991Svbart@nginx.com 1404991Svbart@nginx.com<change type="bugfix"> 1405991Svbart@nginx.com<para> 1406991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 1407991Svbart@nginx.com</para> 1408991Svbart@nginx.com</change> 1409991Svbart@nginx.com 1410991Svbart@nginx.com</changes> 1411991Svbart@nginx.com 1412991Svbart@nginx.com 1413926Svbart@nginx.com<changes apply="unit-php 1414926Svbart@nginx.com unit-python unit-python2.7 1415926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1416926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1417926Svbart@nginx.com unit-perl 1418926Svbart@nginx.com unit-ruby" 1419926Svbart@nginx.com ver="1.7.1" rev="1" 1420926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1421926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1422926Svbart@nginx.com 1423926Svbart@nginx.com<change> 1424926Svbart@nginx.com<para> 1425926Svbart@nginx.comNGINX Unit updated to 1.7.1. 1426926Svbart@nginx.com</para> 1427926Svbart@nginx.com</change> 1428926Svbart@nginx.com 1429926Svbart@nginx.com</changes> 1430926Svbart@nginx.com 1431926Svbart@nginx.com 1432926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 1433926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1434926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1435926Svbart@nginx.com 1436926Svbart@nginx.com<change type="security"> 1437926Svbart@nginx.com<para> 1438926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 1439926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 1440926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 1441926Svbart@nginx.com</para> 1442926Svbart@nginx.com</change> 1443926Svbart@nginx.com 1444926Svbart@nginx.com<change type="bugfix"> 1445926Svbart@nginx.com<para> 1446926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 1447926Svbart@nginx.comthe bug had appeared in 1.7. 1448926Svbart@nginx.com</para> 1449926Svbart@nginx.com</change> 1450926Svbart@nginx.com 1451926Svbart@nginx.com</changes> 1452926Svbart@nginx.com 1453926Svbart@nginx.com 1454902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 1455902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 1456902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1457902Sdefan@nginx.com 1458902Sdefan@nginx.com<change> 1459902Sdefan@nginx.com<para> 1460902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 1461902Sdefan@nginx.com</para> 1462902Sdefan@nginx.com</change> 1463902Sdefan@nginx.com 1464902Sdefan@nginx.com</changes> 1465902Sdefan@nginx.com 1466902Sdefan@nginx.com 1467821Svbart@nginx.com<changes apply="unit-php 1468821Svbart@nginx.com unit-python unit-python2.7 1469821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1470821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1471821Svbart@nginx.com unit-perl 1472821Svbart@nginx.com unit-ruby" 1473886Svbart@nginx.com ver="1.7" rev="1" 1474886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1475886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1476886Svbart@nginx.com 1477886Svbart@nginx.com<change> 1478886Svbart@nginx.com<para> 1479886Svbart@nginx.comNGINX Unit updated to 1.7. 1480886Svbart@nginx.com</para> 1481886Svbart@nginx.com</change> 1482886Svbart@nginx.com 1483886Svbart@nginx.com</changes> 1484886Svbart@nginx.com 1485886Svbart@nginx.com 1486886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 1487886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1488886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1489886Svbart@nginx.com 1490886Svbart@nginx.com<change type="change"> 1491886Svbart@nginx.com<para> 1492886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 1493886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 1494886Svbart@nginx.com</para> 1495886Svbart@nginx.com</change> 1496886Svbart@nginx.com 1497886Svbart@nginx.com<change type="bugfix"> 1498886Svbart@nginx.com<para> 1499886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 1500886Svbart@nginx.comdid not work. 1501886Svbart@nginx.com</para> 1502886Svbart@nginx.com</change> 1503886Svbart@nginx.com 1504886Svbart@nginx.com<change type="bugfix"> 1505886Svbart@nginx.com<para> 1506886Svbart@nginx.comPromises on request data in Node.js were not triggered. 1507886Svbart@nginx.com</para> 1508886Svbart@nginx.com</change> 1509886Svbart@nginx.com 1510886Svbart@nginx.com<change type="bugfix"> 1511886Svbart@nginx.com<para> 1512886Svbart@nginx.comvarious compatibility issues with Node.js applications. 1513886Svbart@nginx.com</para> 1514886Svbart@nginx.com</change> 1515886Svbart@nginx.com 1516886Svbart@nginx.com<change type="bugfix"> 1517886Svbart@nginx.com<para> 1518886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 1519886Svbart@nginx.comrequest body after request.end() was called. 1520886Svbart@nginx.com</para> 1521886Svbart@nginx.com</change> 1522886Svbart@nginx.com 1523886Svbart@nginx.com<change type="bugfix"> 1524886Svbart@nginx.com<para> 1525886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 1526886Svbart@nginx.comsend header twice. 1527886Svbart@nginx.com</para> 1528886Svbart@nginx.com</change> 1529886Svbart@nginx.com 1530886Svbart@nginx.com<change type="bugfix"> 1531886Svbart@nginx.com<para> 1532886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 1533886Svbart@nginx.comcase-sensitive. 1534886Svbart@nginx.com</para> 1535886Svbart@nginx.com</change> 1536886Svbart@nginx.com 1537886Svbart@nginx.com<change type="bugfix"> 1538886Svbart@nginx.com<para> 1539886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 1540886Svbart@nginx.com</para> 1541886Svbart@nginx.com</change> 1542886Svbart@nginx.com 1543886Svbart@nginx.com<change type="bugfix"> 1544886Svbart@nginx.com<para> 1545886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 1546886Svbart@nginx.comthe bug had appeared in 1.6. 1547886Svbart@nginx.com</para> 1548886Svbart@nginx.com</change> 1549886Svbart@nginx.com 1550886Svbart@nginx.com<change type="bugfix"> 1551886Svbart@nginx.com<para> 1552886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 1553886Svbart@nginx.combe logged. 1554886Svbart@nginx.com</para> 1555886Svbart@nginx.com</change> 1556886Svbart@nginx.com 1557886Svbart@nginx.com<change type="bugfix"> 1558886Svbart@nginx.com<para> 1559886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 1560886Svbart@nginx.comenabled. 1561886Svbart@nginx.com</para> 1562886Svbart@nginx.com</change> 1563886Svbart@nginx.com 1564886Svbart@nginx.com</changes> 1565886Svbart@nginx.com 1566886Svbart@nginx.com 1567886Svbart@nginx.com<changes apply="unit-php 1568886Svbart@nginx.com unit-python unit-python2.7 1569886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1570886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1571886Svbart@nginx.com unit-perl 1572886Svbart@nginx.com unit-ruby" 1573846Svbart@nginx.com ver="1.6" rev="1" 1574846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1575846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1576846Svbart@nginx.com 1577846Svbart@nginx.com<change> 1578846Svbart@nginx.com<para> 1579846Svbart@nginx.comNGINX Unit updated to 1.6. 1580846Svbart@nginx.com</para> 1581846Svbart@nginx.com</change> 1582846Svbart@nginx.com 1583846Svbart@nginx.com</changes> 1584846Svbart@nginx.com 1585846Svbart@nginx.com 1586846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 1587846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1588846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1589846Svbart@nginx.com 1590846Svbart@nginx.com<change type="change"> 1591846Svbart@nginx.com<para> 1592846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 1593846Svbart@nginx.com</para> 1594846Svbart@nginx.com</change> 1595846Svbart@nginx.com 1596846Svbart@nginx.com<change type="feature"> 1597846Svbart@nginx.com<para> 1598846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 1599846Svbart@nginx.com</para> 1600846Svbart@nginx.com</change> 1601846Svbart@nginx.com 1602846Svbart@nginx.com<change type="bugfix"> 1603846Svbart@nginx.com<para> 1604846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 1605846Svbart@nginx.com</para> 1606846Svbart@nginx.com</change> 1607846Svbart@nginx.com 1608846Svbart@nginx.com<change type="bugfix"> 1609846Svbart@nginx.com<para> 1610846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 1611846Svbart@nginx.com</para> 1612846Svbart@nginx.com</change> 1613846Svbart@nginx.com 1614846Svbart@nginx.com<change type="bugfix"> 1615846Svbart@nginx.com<para> 1616846Svbart@nginx.comvarious compatibility issues with Node.js applications. 1617846Svbart@nginx.com</para> 1618846Svbart@nginx.com</change> 1619846Svbart@nginx.com 1620846Svbart@nginx.com<change type="bugfix"> 1621846Svbart@nginx.com<para> 1622846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 1623846Svbart@nginx.com</para> 1624846Svbart@nginx.com</change> 1625846Svbart@nginx.com 1626846Svbart@nginx.com<change type="bugfix"> 1627846Svbart@nginx.com<para> 1628885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 1629846Svbart@nginx.com</para> 1630846Svbart@nginx.com</change> 1631846Svbart@nginx.com 1632846Svbart@nginx.com</changes> 1633846Svbart@nginx.com 1634846Svbart@nginx.com 1635846Svbart@nginx.com<changes apply="unit-php 1636846Svbart@nginx.com unit-python unit-python2.7 1637846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1638846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1639846Svbart@nginx.com unit-perl 1640846Svbart@nginx.com unit-ruby" 1641821Svbart@nginx.com ver="1.5" rev="1" 1642821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 1643821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1644821Svbart@nginx.com 1645821Svbart@nginx.com<change> 1646821Svbart@nginx.com<para> 1647821Svbart@nginx.comNGINX Unit updated to 1.5. 1648821Svbart@nginx.com</para> 1649821Svbart@nginx.com</change> 1650821Svbart@nginx.com 1651821Svbart@nginx.com</changes> 1652821Svbart@nginx.com 1653821Svbart@nginx.com 1654820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 1655820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 1656820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1657820Svbart@nginx.com 1658820Svbart@nginx.com<change type="change"> 1659820Svbart@nginx.com<para> 1660820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 1661820Svbart@nginx.com</para> 1662820Svbart@nginx.com</change> 1663820Svbart@nginx.com 1664820Svbart@nginx.com<change type="feature"> 1665820Svbart@nginx.com<para> 1666820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 1667820Svbart@nginx.com</para> 1668820Svbart@nginx.com</change> 1669820Svbart@nginx.com 1670820Svbart@nginx.com<change type="feature"> 1671820Svbart@nginx.com<para> 1672820Svbart@nginx.comcompatibility with LibreSSL. 1673820Svbart@nginx.com</para> 1674820Svbart@nginx.com</change> 1675820Svbart@nginx.com 1676820Svbart@nginx.com<change type="feature"> 1677820Svbart@nginx.com<para> 1678820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 1679820Svbart@nginx.comand static library. 1680820Svbart@nginx.com</para> 1681820Svbart@nginx.com</change> 1682820Svbart@nginx.com 1683820Svbart@nginx.com<change type="bugfix"> 1684820Svbart@nginx.com<para> 1685820Svbart@nginx.comconnection might be closed prematurely while sending response; 1686820Svbart@nginx.comthe bug had appeared in 1.3. 1687820Svbart@nginx.com</para> 1688820Svbart@nginx.com</change> 1689820Svbart@nginx.com 1690820Svbart@nginx.com<change type="bugfix"> 1691820Svbart@nginx.com<para> 1692820Svbart@nginx.comapplication processes might have stopped handling requests, producing 1693820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 1694820Svbart@nginx.comthe bug had appeared in 1.4. 1695820Svbart@nginx.com</para> 1696820Svbart@nginx.com</change> 1697820Svbart@nginx.com 1698820Svbart@nginx.com<change type="bugfix"> 1699820Svbart@nginx.com<para> 1700885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 1701820Svbart@nginx.com</para> 1702820Svbart@nginx.com</change> 1703820Svbart@nginx.com 1704820Svbart@nginx.com</changes> 1705820Svbart@nginx.com 1706820Svbart@nginx.com 1707689Svbart@nginx.com<changes apply="unit-php 1708689Svbart@nginx.com unit-python unit-python2.7 1709689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1710689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1711689Svbart@nginx.com unit-perl 1712689Svbart@nginx.com unit-ruby" 1713788Sdefan@nginx.com ver="1.4" rev="2" 1714788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 1715788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1716788Sdefan@nginx.com 1717788Sdefan@nginx.com<change type="bugfix"> 1718788Sdefan@nginx.com<para> 1719788Sdefan@nginx.comcorrected instructions for launching sample application. 1720788Sdefan@nginx.com</para> 1721788Sdefan@nginx.com</change> 1722788Sdefan@nginx.com 1723788Sdefan@nginx.com</changes> 1724788Sdefan@nginx.com 1725788Sdefan@nginx.com 1726788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 1727788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 1728788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1729788Sdefan@nginx.com 1730788Sdefan@nginx.com<change type="change"> 1731788Sdefan@nginx.com<para> 1732788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 1733788Sdefan@nginx.com</para> 1734788Sdefan@nginx.com</change> 1735788Sdefan@nginx.com 1736788Sdefan@nginx.com</changes> 1737788Sdefan@nginx.com 1738788Sdefan@nginx.com 1739788Sdefan@nginx.com<changes apply="unit-php 1740788Sdefan@nginx.com unit-python unit-python2.7 1741788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1742788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1743788Sdefan@nginx.com unit-perl 1744788Sdefan@nginx.com unit-ruby" 1745783Svbart@nginx.com ver="1.4" rev="1" 1746783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 1747783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1748783Svbart@nginx.com 1749783Svbart@nginx.com<change> 1750783Svbart@nginx.com<para> 1751783Svbart@nginx.comNGINX Unit updated to 1.4. 1752783Svbart@nginx.com</para> 1753783Svbart@nginx.com</change> 1754783Svbart@nginx.com 1755783Svbart@nginx.com</changes> 1756783Svbart@nginx.com 1757783Svbart@nginx.com 1758783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 1759783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 1760783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1761783Svbart@nginx.com 1762783Svbart@nginx.com<change type="change"> 1763783Svbart@nginx.com<para> 1764783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 1765783Svbart@nginx.com</para> 1766783Svbart@nginx.com</change> 1767783Svbart@nginx.com 1768783Svbart@nginx.com<change type="feature"> 1769783Svbart@nginx.com<para> 1770783Svbart@nginx.comTLS support for client connections. 1771783Svbart@nginx.com</para> 1772783Svbart@nginx.com</change> 1773783Svbart@nginx.com 1774783Svbart@nginx.com<change type="feature"> 1775783Svbart@nginx.com<para> 1776783Svbart@nginx.comTLS certificates storage control API. 1777783Svbart@nginx.com</para> 1778783Svbart@nginx.com</change> 1779783Svbart@nginx.com 1780783Svbart@nginx.com<change type="feature"> 1781783Svbart@nginx.com<para> 1782783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 1783783Svbart@nginx.com</para> 1784783Svbart@nginx.com</change> 1785783Svbart@nginx.com 1786783Svbart@nginx.com<change type="feature"> 1787783Svbart@nginx.com<para> 1788783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 1789783Svbart@nginx.com</para> 1790783Svbart@nginx.com</change> 1791783Svbart@nginx.com 1792783Svbart@nginx.com<change type="feature"> 1793783Svbart@nginx.com<para> 1794783Svbart@nginx.comimprovements in OpenBSD support. 1795783Svbart@nginx.comThanks to David Carlier. 1796783Svbart@nginx.com</para> 1797783Svbart@nginx.com</change> 1798783Svbart@nginx.com 1799783Svbart@nginx.com<change type="bugfix"> 1800783Svbart@nginx.com<para> 1801783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 1802783Svbart@nginx.com</para> 1803783Svbart@nginx.com</change> 1804783Svbart@nginx.com 1805783Svbart@nginx.com<change type="bugfix"> 1806783Svbart@nginx.com<para> 1807783Svbart@nginx.combuilding on systems with non-default locale might be broken. 1808783Svbart@nginx.com</para> 1809783Svbart@nginx.com</change> 1810783Svbart@nginx.com 1811783Svbart@nginx.com<change type="bugfix"> 1812783Svbart@nginx.com<para> 1813783Svbart@nginx.com"header_read_timeout" might not work properly. 1814783Svbart@nginx.com</para> 1815783Svbart@nginx.com</change> 1816783Svbart@nginx.com 1817783Svbart@nginx.com<change type="bugfix"> 1818783Svbart@nginx.com<para> 1819783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 1820783Svbart@nginx.comin Python 3 module. 1821783Svbart@nginx.com</para> 1822783Svbart@nginx.com</change> 1823783Svbart@nginx.com 1824783Svbart@nginx.com</changes> 1825783Svbart@nginx.com 1826783Svbart@nginx.com 1827783Svbart@nginx.com<changes apply="unit-php 1828783Svbart@nginx.com unit-python unit-python2.7 1829783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1830783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1831783Svbart@nginx.com unit-perl 1832783Svbart@nginx.com unit-ruby" 1833727Svbart@nginx.com ver="1.3" rev="1" 1834727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 1835727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1836727Svbart@nginx.com 1837727Svbart@nginx.com<change> 1838727Svbart@nginx.com<para> 1839727Svbart@nginx.comNGINX Unit updated to 1.3. 1840727Svbart@nginx.com</para> 1841727Svbart@nginx.com</change> 1842727Svbart@nginx.com 1843727Svbart@nginx.com</changes> 1844727Svbart@nginx.com 1845727Svbart@nginx.com 1846727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 1847727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 1848727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1849727Svbart@nginx.com 1850727Svbart@nginx.com<change type="change"> 1851727Svbart@nginx.com<para> 1852727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 1853727Svbart@nginx.com</para> 1854727Svbart@nginx.com</change> 1855727Svbart@nginx.com 1856727Svbart@nginx.com<change type="feature"> 1857727Svbart@nginx.com<para> 1858727Svbart@nginx.comconfiguration of the request body size limit. 1859727Svbart@nginx.com</para> 1860727Svbart@nginx.com</change> 1861727Svbart@nginx.com 1862727Svbart@nginx.com<change type="feature"> 1863727Svbart@nginx.com<para> 1864727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 1865727Svbart@nginx.com</para> 1866727Svbart@nginx.com</change> 1867727Svbart@nginx.com 1868727Svbart@nginx.com<change type="feature"> 1869727Svbart@nginx.com<para> 1870727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 1871727Svbart@nginx.com</para> 1872727Svbart@nginx.com</change> 1873727Svbart@nginx.com 1874727Svbart@nginx.com<change type="feature"> 1875727Svbart@nginx.com<para> 1876727Svbart@nginx.comhttp.Flusher interface in Go module. 1877727Svbart@nginx.com</para> 1878727Svbart@nginx.com</change> 1879727Svbart@nginx.com 1880727Svbart@nginx.com<change type="bugfix"> 1881727Svbart@nginx.com<para> 1882727Svbart@nginx.comvarious issues in HTTP connection errors handling. 1883727Svbart@nginx.com</para> 1884727Svbart@nginx.com</change> 1885727Svbart@nginx.com 1886727Svbart@nginx.com<change type="bugfix"> 1887727Svbart@nginx.com<para> 1888727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 1889727Svbart@nginx.com</para> 1890727Svbart@nginx.com</change> 1891727Svbart@nginx.com 1892727Svbart@nginx.com<change type="bugfix"> 1893727Svbart@nginx.com<para> 1894727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 1895727Svbart@nginx.comto previous values after the first request in application process. 1896727Svbart@nginx.com</para> 1897727Svbart@nginx.com</change> 1898727Svbart@nginx.com 1899727Svbart@nginx.com</changes> 1900727Svbart@nginx.com 1901727Svbart@nginx.com 1902727Svbart@nginx.com<changes apply="unit-php 1903727Svbart@nginx.com unit-python unit-python2.7 1904727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1905727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1906727Svbart@nginx.com unit-perl 1907727Svbart@nginx.com unit-ruby" 1908689Svbart@nginx.com ver="1.2" rev="1" 1909689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 1910689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1911689Svbart@nginx.com 1912689Svbart@nginx.com<change> 1913689Svbart@nginx.com<para> 1914689Svbart@nginx.comNGINX Unit updated to 1.2. 1915689Svbart@nginx.com</para> 1916689Svbart@nginx.com</change> 1917689Svbart@nginx.com 1918689Svbart@nginx.com</changes> 1919689Svbart@nginx.com 1920689Svbart@nginx.com 1921689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 1922689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 1923689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1924689Svbart@nginx.com 1925689Svbart@nginx.com<change type="feature"> 1926689Svbart@nginx.com<para> 1927689Svbart@nginx.comconfiguration of environment variables for application processes. 1928689Svbart@nginx.com</para> 1929689Svbart@nginx.com</change> 1930689Svbart@nginx.com 1931689Svbart@nginx.com<change type="feature"> 1932689Svbart@nginx.com<para> 1933689Svbart@nginx.comcustomization of php.ini path. 1934689Svbart@nginx.com</para> 1935689Svbart@nginx.com</change> 1936689Svbart@nginx.com 1937689Svbart@nginx.com<change type="feature"> 1938689Svbart@nginx.com<para> 1939689Svbart@nginx.comsetting of individual PHP configuration options. 1940689Svbart@nginx.com</para> 1941689Svbart@nginx.com</change> 1942689Svbart@nginx.com 1943689Svbart@nginx.com<change type="feature"> 1944689Svbart@nginx.com<para> 1945689Svbart@nginx.comconfiguration of execution arguments for Go applications. 1946689Svbart@nginx.com</para> 1947689Svbart@nginx.com</change> 1948689Svbart@nginx.com 1949689Svbart@nginx.com<change type="bugfix"> 1950689Svbart@nginx.com<para> 1951689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 1952689Svbart@nginx.com</para> 1953689Svbart@nginx.com</change> 1954689Svbart@nginx.com 1955689Svbart@nginx.com</changes> 1956689Svbart@nginx.com 1957689Svbart@nginx.com 1958672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 1959672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 1960672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1961672Sdefan@nginx.com 1962672Sdefan@nginx.com<change> 1963672Sdefan@nginx.com<para> 1964672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 1965672Sdefan@nginx.com</para> 1966672Sdefan@nginx.com</change> 1967672Sdefan@nginx.com 1968672Sdefan@nginx.com</changes> 1969672Sdefan@nginx.com 1970672Sdefan@nginx.com 1971548Sdefan@nginx.com<changes apply="unit-php 1972548Sdefan@nginx.com unit-python unit-python2.7 1973548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1974548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 1975639Svbart@nginx.com unit-perl 1976639Svbart@nginx.com unit-ruby" 1977666Svbart@nginx.com ver="1.1" rev="1" 1978666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 1979666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1980666Svbart@nginx.com 1981666Svbart@nginx.com<change> 1982666Svbart@nginx.com<para> 1983666Svbart@nginx.comNGINX Unit updated to 1.1. 1984666Svbart@nginx.com</para> 1985666Svbart@nginx.com</change> 1986666Svbart@nginx.com 1987666Svbart@nginx.com</changes> 1988666Svbart@nginx.com 1989666Svbart@nginx.com 1990666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 1991666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 1992666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1993666Svbart@nginx.com 1994666Svbart@nginx.com<change type="bugfix"> 1995666Svbart@nginx.com<para> 1996666Svbart@nginx.comPython applications that use the write() callable did not work. 1997666Svbart@nginx.com</para> 1998666Svbart@nginx.com</change> 1999666Svbart@nginx.com 2000666Svbart@nginx.com<change type="bugfix"> 2001666Svbart@nginx.com<para> 2002666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2003666Svbart@nginx.com</para> 2004666Svbart@nginx.com</change> 2005666Svbart@nginx.com 2006666Svbart@nginx.com<change type="bugfix"> 2007666Svbart@nginx.com<para> 2008666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2009666Svbart@nginx.comwhen the whole body was read. 2010666Svbart@nginx.com</para> 2011666Svbart@nginx.com</change> 2012666Svbart@nginx.com 2013666Svbart@nginx.com<change type="bugfix"> 2014666Svbart@nginx.com<para> 2015666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2016666Svbart@nginx.com</para> 2017666Svbart@nginx.com</change> 2018666Svbart@nginx.com 2019666Svbart@nginx.com<change type="bugfix"> 2020666Svbart@nginx.com<para> 2021666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2022666Svbart@nginx.com</para> 2023666Svbart@nginx.com</change> 2024666Svbart@nginx.com 2025666Svbart@nginx.com<change type="bugfix"> 2026666Svbart@nginx.com<para> 2027666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2028666Svbart@nginx.com</para> 2029666Svbart@nginx.com</change> 2030666Svbart@nginx.com 2031666Svbart@nginx.com<change type="bugfix"> 2032666Svbart@nginx.com<para> 2033666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2034666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2035666Svbart@nginx.com</para> 2036666Svbart@nginx.com</change> 2037666Svbart@nginx.com 2038666Svbart@nginx.com<change type="bugfix"> 2039666Svbart@nginx.com<para> 2040666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2041666Svbart@nginx.comon 32-bit platforms. 2042666Svbart@nginx.com</para> 2043666Svbart@nginx.com</change> 2044666Svbart@nginx.com 2045666Svbart@nginx.com</changes> 2046666Svbart@nginx.com 2047666Svbart@nginx.com 2048666Svbart@nginx.com<changes apply="unit-php 2049666Svbart@nginx.com unit-python unit-python2.7 2050666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2051666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2052666Svbart@nginx.com unit-perl 2053666Svbart@nginx.com unit-ruby" 2054639Svbart@nginx.com ver="1.0" rev="1" 2055639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2056639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2057639Svbart@nginx.com 2058639Svbart@nginx.com<change> 2059639Svbart@nginx.com<para> 2060639Svbart@nginx.comNGINX Unit updated to 1.0. 2061639Svbart@nginx.com</para> 2062639Svbart@nginx.com</change> 2063639Svbart@nginx.com 2064639Svbart@nginx.com</changes> 2065639Svbart@nginx.com 2066639Svbart@nginx.com 2067639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2068639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2069639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2070639Svbart@nginx.com 2071639Svbart@nginx.com<change type="change"> 2072639Svbart@nginx.com<para> 2073639Svbart@nginx.comconfiguration object moved into "/config/" path. 2074639Svbart@nginx.com</para> 2075639Svbart@nginx.com</change> 2076639Svbart@nginx.com 2077639Svbart@nginx.com<change type="feature"> 2078639Svbart@nginx.com<para> 2079639Svbart@nginx.combasic access logging. 2080639Svbart@nginx.com</para> 2081639Svbart@nginx.com</change> 2082639Svbart@nginx.com 2083639Svbart@nginx.com<change type="bugfix"> 2084639Svbart@nginx.com<para> 2085639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2086639Svbart@nginx.com</para> 2087639Svbart@nginx.com</change> 2088639Svbart@nginx.com 2089639Svbart@nginx.com<change type="bugfix"> 2090639Svbart@nginx.com<para> 2091663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2092639Svbart@nginx.com</para> 2093639Svbart@nginx.com</change> 2094639Svbart@nginx.com 2095639Svbart@nginx.com<change type="bugfix"> 2096639Svbart@nginx.com<para> 2097639Svbart@nginx.comvarious stability issues. 2098639Svbart@nginx.com</para> 2099639Svbart@nginx.com</change> 2100639Svbart@nginx.com 2101639Svbart@nginx.com</changes> 2102639Svbart@nginx.com 2103639Svbart@nginx.com 2104639Svbart@nginx.com<changes apply="unit-php 2105639Svbart@nginx.com unit-python unit-python2.7 2106639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2107639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2108548Sdefan@nginx.com unit-perl" 2109586Svbart@nginx.com ver="0.7" rev="1" 2110586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2111586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2112586Svbart@nginx.com 2113586Svbart@nginx.com<change> 2114586Svbart@nginx.com<para> 2115586Svbart@nginx.comNGINX Unit updated to 0.7. 2116586Svbart@nginx.com</para> 2117586Svbart@nginx.com</change> 2118586Svbart@nginx.com 2119586Svbart@nginx.com</changes> 2120586Svbart@nginx.com 2121586Svbart@nginx.com 2122600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2123600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2124600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2125600Sdefan@nginx.com 2126600Sdefan@nginx.com<change> 2127600Sdefan@nginx.com<para> 2128600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2129600Sdefan@nginx.com</para> 2130600Sdefan@nginx.com</change> 2131600Sdefan@nginx.com 2132600Sdefan@nginx.com</changes> 2133600Sdefan@nginx.com 2134600Sdefan@nginx.com 2135586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2136586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2137586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2138586Svbart@nginx.com 2139586Svbart@nginx.com<change type="feature"> 2140586Svbart@nginx.com<para> 2141586Svbart@nginx.comRuby application module. 2142586Svbart@nginx.com</para> 2143586Svbart@nginx.com</change> 2144586Svbart@nginx.com 2145586Svbart@nginx.com<change type="bugfix"> 2146586Svbart@nginx.com<para> 2147586Svbart@nginx.comin discovering modules. 2148586Svbart@nginx.com</para> 2149586Svbart@nginx.com</change> 2150586Svbart@nginx.com 2151586Svbart@nginx.com<change type="bugfix"> 2152586Svbart@nginx.com<para> 2153586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2154586Svbart@nginx.com</para> 2155586Svbart@nginx.com</change> 2156586Svbart@nginx.com 2157586Svbart@nginx.com<change type="bugfix"> 2158586Svbart@nginx.com<para> 2159586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2160586Svbart@nginx.com</para> 2161586Svbart@nginx.com</change> 2162586Svbart@nginx.com 2163586Svbart@nginx.com<change type="bugfix"> 2164586Svbart@nginx.com<para> 2165586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2166586Svbart@nginx.comoutside of WSGI callable. 2167586Svbart@nginx.com</para> 2168586Svbart@nginx.com</change> 2169586Svbart@nginx.com 2170586Svbart@nginx.com<change type="bugfix"> 2171586Svbart@nginx.com<para> 2172663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2173663Svbart@nginx.comwhile initialization. 2174586Svbart@nginx.com</para> 2175586Svbart@nginx.com</change> 2176586Svbart@nginx.com 2177586Svbart@nginx.com</changes> 2178586Svbart@nginx.com 2179586Svbart@nginx.com 2180586Svbart@nginx.com<changes apply="unit-php 2181586Svbart@nginx.com unit-python unit-python2.7 2182586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2183586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2184586Svbart@nginx.com unit-perl" 2185548Sdefan@nginx.com ver="0.6" rev="1" 2186539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2187539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2188539Svbart@nginx.com 2189539Svbart@nginx.com<change> 2190539Svbart@nginx.com<para> 2191539Svbart@nginx.comNGINX Unit updated to 0.6. 2192539Svbart@nginx.com</para> 2193539Svbart@nginx.com</change> 2194539Svbart@nginx.com 2195539Svbart@nginx.com</changes> 2196539Svbart@nginx.com 2197539Svbart@nginx.com 2198539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2199539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2200539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2201539Svbart@nginx.com 2202539Svbart@nginx.com<change type="bugfix"> 2203539Svbart@nginx.com<para> 2204539Svbart@nginx.comthe main process died when the "type" application option contained version; 2205539Svbart@nginx.comthe bug had appeared in 0.5. 2206539Svbart@nginx.com</para> 2207539Svbart@nginx.com</change> 2208539Svbart@nginx.com 2209539Svbart@nginx.com</changes> 2210539Svbart@nginx.com 2211539Svbart@nginx.com 2212548Sdefan@nginx.com<changes apply="unit-php 2213548Sdefan@nginx.com unit-python unit-python2.7 2214548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2215548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2216548Sdefan@nginx.com ver="0.5" rev="1" 2217531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2218531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2219531Svbart@nginx.com 2220531Svbart@nginx.com<change> 2221531Svbart@nginx.com<para> 2222531Svbart@nginx.comNGINX Unit updated to 0.5. 2223531Svbart@nginx.com</para> 2224531Svbart@nginx.com</change> 2225531Svbart@nginx.com 2226531Svbart@nginx.com</changes> 2227531Svbart@nginx.com 2228531Svbart@nginx.com 2229524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2230531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2231524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2232524Sdefan@nginx.com 2233524Sdefan@nginx.com<change> 2234524Sdefan@nginx.com<para> 2235524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2236524Sdefan@nginx.com</para> 2237524Sdefan@nginx.com</change> 2238524Sdefan@nginx.com 2239524Sdefan@nginx.com</changes> 2240524Sdefan@nginx.com 2241524Sdefan@nginx.com 2242531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2243531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2244531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2245531Svbart@nginx.com 2246531Svbart@nginx.com<change type="change"> 2247531Svbart@nginx.com<para> 2248531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2249531Svbart@nginx.comapplication option should be used instead. 2250531Svbart@nginx.com</para> 2251531Svbart@nginx.com</change> 2252531Svbart@nginx.com 2253531Svbart@nginx.com<change type="feature"> 2254531Svbart@nginx.com<para> 2255531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2256531Svbart@nginx.comprocess management support. 2257531Svbart@nginx.com</para> 2258531Svbart@nginx.com</change> 2259531Svbart@nginx.com 2260531Svbart@nginx.com<change type="feature"> 2261531Svbart@nginx.com<para> 2262531Svbart@nginx.comPerl application module. 2263531Svbart@nginx.com</para> 2264531Svbart@nginx.com</change> 2265531Svbart@nginx.com 2266531Svbart@nginx.com<change type="bugfix"> 2267531Svbart@nginx.com<para> 2268531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2269531Svbart@nginx.com</para> 2270531Svbart@nginx.com</change> 2271531Svbart@nginx.com 2272531Svbart@nginx.com<change type="bugfix"> 2273531Svbart@nginx.com<para> 2274663Svbart@nginx.comsome Python applications might not have worked due to missing 2275531Svbart@nginx.com"wsgi.errors" environ variable. 2276531Svbart@nginx.com</para> 2277531Svbart@nginx.com</change> 2278531Svbart@nginx.com 2279531Svbart@nginx.com<change type="bugfix"> 2280531Svbart@nginx.com<para> 2281531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2282531Svbart@nginx.complatforms. 2283531Svbart@nginx.com</para> 2284531Svbart@nginx.com</change> 2285531Svbart@nginx.com 2286531Svbart@nginx.com<change type="bugfix"> 2287531Svbart@nginx.com<para> 2288531Svbart@nginx.cominfinite looping in HTTP parser. 2289531Svbart@nginx.com</para> 2290531Svbart@nginx.com</change> 2291531Svbart@nginx.com 2292531Svbart@nginx.com<change type="bugfix"> 2293531Svbart@nginx.com<para> 2294531Svbart@nginx.comsegmentation fault in router. 2295531Svbart@nginx.com</para> 2296531Svbart@nginx.com</change> 2297531Svbart@nginx.com 2298531Svbart@nginx.com</changes> 2299531Svbart@nginx.com 2300531Svbart@nginx.com 2301548Sdefan@nginx.com<changes apply="unit-php 2302548Sdefan@nginx.com unit-python unit-python2.7 2303548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2304548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2305548Sdefan@nginx.com ver="0.4" rev="1" 2306469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2307469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2308469Sigor@sysoev.ru 2309469Sigor@sysoev.ru<change> 2310469Sigor@sysoev.ru<para> 2311469Sigor@sysoev.ruNGINX Unit updated to 0.4. 2312469Sigor@sysoev.ru</para> 2313469Sigor@sysoev.ru</change> 2314469Sigor@sysoev.ru 2315469Sigor@sysoev.ru</changes> 2316469Sigor@sysoev.ru 2317469Sigor@sysoev.ru 2318469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 2319469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2320469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2321469Sigor@sysoev.ru 2322469Sigor@sysoev.ru<change type="feature"> 2323469Sigor@sysoev.ru<para> 2324469Sigor@sysoev.rucompatibility with DragonFly BSD. 2325469Sigor@sysoev.ru</para> 2326469Sigor@sysoev.ru</change> 2327469Sigor@sysoev.ru 2328469Sigor@sysoev.ru<change type="feature"> 2329469Sigor@sysoev.ru<para> 2330469Sigor@sysoev.ru"configure php --lib-static" option. 2331469Sigor@sysoev.ru</para> 2332469Sigor@sysoev.ru</change> 2333469Sigor@sysoev.ru 2334469Sigor@sysoev.ru<change type="bugfix"> 2335469Sigor@sysoev.ru<para> 2336469Sigor@sysoev.ruHTTP request body was not passed to application; 2337469Sigor@sysoev.ruthe bug had appeared in 0.3. 2338469Sigor@sysoev.ru</para> 2339469Sigor@sysoev.ru</change> 2340469Sigor@sysoev.ru 2341469Sigor@sysoev.ru<change type="bugfix"> 2342469Sigor@sysoev.ru<para> 2343469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 2344469Sigor@sysoev.ruthe bug had appeared in 0.3. 2345469Sigor@sysoev.ru</para> 2346469Sigor@sysoev.ru</change> 2347469Sigor@sysoev.ru 2348469Sigor@sysoev.ru<change type="bugfix"> 2349469Sigor@sysoev.ru<para> 2350663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 2351469Sigor@sysoev.ru</para> 2352469Sigor@sysoev.ru</change> 2353469Sigor@sysoev.ru 2354469Sigor@sysoev.ru</changes> 2355469Sigor@sysoev.ru 2356469Sigor@sysoev.ru 2357441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 2358441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2359441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2360441Sdefan@nginx.com 2361441Sdefan@nginx.com<change> 2362441Sdefan@nginx.com<para> 2363441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 2364441Sdefan@nginx.com</para> 2365441Sdefan@nginx.com</change> 2366441Sdefan@nginx.com 2367441Sdefan@nginx.com</changes> 2368441Sdefan@nginx.com 2369441Sdefan@nginx.com 2370441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 2371441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2372441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2373441Sdefan@nginx.com 2374441Sdefan@nginx.com<change> 2375441Sdefan@nginx.com<para> 2376441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 2377441Sdefan@nginx.com</para> 2378441Sdefan@nginx.com</change> 2379441Sdefan@nginx.com 2380441Sdefan@nginx.com</changes> 2381441Sdefan@nginx.com 2382441Sdefan@nginx.com 2383548Sdefan@nginx.com<changes apply="unit-php 2384548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 2385548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 2386548Sdefan@nginx.com ver="0.3" rev="1" 2387432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2388432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2389432Sigor@sysoev.ru 2390432Sigor@sysoev.ru<change> 2391432Sigor@sysoev.ru<para> 2392432Sigor@sysoev.ruNGINX Unit updated to 0.3. 2393432Sigor@sysoev.ru</para> 2394432Sigor@sysoev.ru</change> 2395432Sigor@sysoev.ru 2396432Sigor@sysoev.ru</changes> 2397432Sigor@sysoev.ru 2398432Sigor@sysoev.ru 2399432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 2400432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2401432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2402432Sigor@sysoev.ru 2403432Sigor@sysoev.ru<change type="change"> 2404432Sigor@sysoev.ru<para> 2405432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 2406432Sigor@sysoev.ru</para> 2407432Sigor@sysoev.ru</change> 2408432Sigor@sysoev.ru 2409432Sigor@sysoev.ru<change type="change"> 2410432Sigor@sysoev.ru<para> 2411432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 2412432Sigor@sysoev.rutime in queue now are not accounted. 2413432Sigor@sysoev.ru</para> 2414432Sigor@sysoev.ru</change> 2415432Sigor@sysoev.ru 2416432Sigor@sysoev.ru<change type="feature"> 2417432Sigor@sysoev.ru<para> 2418432Sigor@sysoev.ruthe "limits.requests" application option. 2419432Sigor@sysoev.ru</para> 2420432Sigor@sysoev.ru</change> 2421432Sigor@sysoev.ru 2422432Sigor@sysoev.ru<change type="feature"> 2423432Sigor@sysoev.ru<para> 2424432Sigor@sysoev.ruapplication request processing latency optimization. 2425432Sigor@sysoev.ru</para> 2426432Sigor@sysoev.ru</change> 2427432Sigor@sysoev.ru 2428432Sigor@sysoev.ru<change type="feature"> 2429432Sigor@sysoev.ru<para> 2430432Sigor@sysoev.ruHTTP keep-alive connections support. 2431432Sigor@sysoev.ru</para> 2432432Sigor@sysoev.ru</change> 2433432Sigor@sysoev.ru 2434432Sigor@sysoev.ru<change type="feature"> 2435432Sigor@sysoev.ru<para> 2436432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 2437432Sigor@sysoev.ru</para> 2438432Sigor@sysoev.ru</change> 2439432Sigor@sysoev.ru 2440432Sigor@sysoev.ru<change type="feature"> 2441432Sigor@sysoev.ru<para> 2442432Sigor@sysoev.ruPython atexit hook support. 2443432Sigor@sysoev.ru</para> 2444432Sigor@sysoev.ru</change> 2445432Sigor@sysoev.ru 2446432Sigor@sysoev.ru<change type="feature"> 2447432Sigor@sysoev.ru<para> 2448432Sigor@sysoev.ruvarious Go package improvements. 2449432Sigor@sysoev.ru</para> 2450432Sigor@sysoev.ru</change> 2451432Sigor@sysoev.ru 2452432Sigor@sysoev.ru<change type="bugfix"> 2453432Sigor@sysoev.ru<para> 2454432Sigor@sysoev.ruvarious crashes fixed. 2455432Sigor@sysoev.ru</para> 2456432Sigor@sysoev.ru</change> 2457432Sigor@sysoev.ru 2458432Sigor@sysoev.ru</changes> 2459432Sigor@sysoev.ru 2460432Sigor@sysoev.ru 2461372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 2462372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2463372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2464372Sdefan@nginx.com 2465372Sdefan@nginx.com<change> 2466372Sdefan@nginx.com<para> 2467372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 2468372Sdefan@nginx.com</para> 2469372Sdefan@nginx.com</change> 2470372Sdefan@nginx.com 2471372Sdefan@nginx.com</changes> 2472372Sdefan@nginx.com 2473372Sdefan@nginx.com 2474373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 2475373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2476373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2477373Sdefan@nginx.com 2478373Sdefan@nginx.com<change> 2479373Sdefan@nginx.com<para> 2480373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 2481373Sdefan@nginx.com</para> 2482373Sdefan@nginx.com</change> 2483373Sdefan@nginx.com 2484373Sdefan@nginx.com</changes> 2485373Sdefan@nginx.com 2486373Sdefan@nginx.com 2487373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 2488373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2489373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2490373Sdefan@nginx.com 2491373Sdefan@nginx.com<change> 2492373Sdefan@nginx.com<para> 2493373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 2494373Sdefan@nginx.com</para> 2495373Sdefan@nginx.com</change> 2496373Sdefan@nginx.com 2497373Sdefan@nginx.com</changes> 2498373Sdefan@nginx.com 2499373Sdefan@nginx.com 2500372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 2501372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2502372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2503372Sdefan@nginx.com 2504372Sdefan@nginx.com<change> 2505372Sdefan@nginx.com<para> 2506372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 2507372Sdefan@nginx.com</para> 2508372Sdefan@nginx.com</change> 2509372Sdefan@nginx.com 2510372Sdefan@nginx.com</changes> 2511372Sdefan@nginx.com 2512372Sdefan@nginx.com 2513373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 2514373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2515373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2516373Sdefan@nginx.com 2517373Sdefan@nginx.com<change> 2518373Sdefan@nginx.com<para> 2519373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 2520373Sdefan@nginx.com</para> 2521373Sdefan@nginx.com</change> 2522373Sdefan@nginx.com 2523373Sdefan@nginx.com</changes> 2524373Sdefan@nginx.com 2525373Sdefan@nginx.com 2526373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 2527373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2528373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2529373Sdefan@nginx.com 2530373Sdefan@nginx.com<change> 2531373Sdefan@nginx.com<para> 2532373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 2533373Sdefan@nginx.com</para> 2534373Sdefan@nginx.com</change> 2535373Sdefan@nginx.com 2536373Sdefan@nginx.com</changes> 2537373Sdefan@nginx.com 2538373Sdefan@nginx.com 2539373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 2540373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2541373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2542373Sdefan@nginx.com 2543373Sdefan@nginx.com<change> 2544373Sdefan@nginx.com<para> 2545373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 2546373Sdefan@nginx.com</para> 2547373Sdefan@nginx.com</change> 2548373Sdefan@nginx.com 2549373Sdefan@nginx.com</changes> 2550373Sdefan@nginx.com 2551373Sdefan@nginx.com 2552372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 2553372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2554372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2555372Sdefan@nginx.com 2556372Sdefan@nginx.com<change> 2557372Sdefan@nginx.com<para> 2558372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 2559372Sdefan@nginx.com</para> 2560372Sdefan@nginx.com</change> 2561372Sdefan@nginx.com 2562372Sdefan@nginx.com</changes> 2563372Sdefan@nginx.com 2564372Sdefan@nginx.com 2565370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 2566370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 2567370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2568370Sigor@sysoev.ru 2569370Sigor@sysoev.ru<change type="feature"> 2570370Sigor@sysoev.ru<para> 2571370Sigor@sysoev.ruconfiguration persistence. 2572370Sigor@sysoev.ru</para> 2573370Sigor@sysoev.ru</change> 2574370Sigor@sysoev.ru 2575370Sigor@sysoev.ru<change type="feature"> 2576370Sigor@sysoev.ru<para> 2577370Sigor@sysoev.ruimproved handling of configuration errors. 2578370Sigor@sysoev.ru</para> 2579370Sigor@sysoev.ru</change> 2580370Sigor@sysoev.ru 2581370Sigor@sysoev.ru<change type="feature"> 2582370Sigor@sysoev.ru<para> 2583370Sigor@sysoev.ruapplication "timeout" property. 2584370Sigor@sysoev.ru</para> 2585370Sigor@sysoev.ru</change> 2586370Sigor@sysoev.ru 2587370Sigor@sysoev.ru<change type="bugfix"> 2588370Sigor@sysoev.ru<para> 2589370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 2590370Sigor@sysoev.ru</para> 2591370Sigor@sysoev.ru</change> 2592370Sigor@sysoev.ru 2593370Sigor@sysoev.ru<change type="bugfix"> 2594370Sigor@sysoev.ru<para> 2595370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 2596370Sigor@sysoev.ru</para> 2597370Sigor@sysoev.ru</change> 2598370Sigor@sysoev.ru 2599370Sigor@sysoev.ru<change type="bugfix"> 2600370Sigor@sysoev.ru<para> 2601370Sigor@sysoev.ruthe router crashed under load. 2602370Sigor@sysoev.ru</para> 2603370Sigor@sysoev.ru</change> 2604370Sigor@sysoev.ru 2605370Sigor@sysoev.ru<change type="bugfix"> 2606370Sigor@sysoev.ru<para> 2607370Sigor@sysoev.rumemory leak in the router. 2608370Sigor@sysoev.ru</para> 2609370Sigor@sysoev.ru</change> 2610370Sigor@sysoev.ru 2611370Sigor@sysoev.ru</changes> 2612370Sigor@sysoev.ru 2613370Sigor@sysoev.ru 2614369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 2615369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 2616369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2617369Sdefan@nginx.com 2618369Sdefan@nginx.com<change> 2619369Sdefan@nginx.com<para> 2620369Sdefan@nginx.comFirst public release. 2621369Sdefan@nginx.com</para> 2622369Sdefan@nginx.com</change> 2623369Sdefan@nginx.com 2624369Sdefan@nginx.com</changes> 2625369Sdefan@nginx.com 2626369Sdefan@nginx.com 2627369Sdefan@nginx.com</change_log> 2628