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 81806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 91806Svbart@nginx.com date="" time="" 101806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 111806Svbart@nginx.com 121811Smax.romanov@nginx.com<change type="bugfix"> 131811Smax.romanov@nginx.com<para> 141812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 151812Svbart@nginx.comappeared in 1.17.0. 161812Svbart@nginx.com</para> 171812Svbart@nginx.com</change> 181812Svbart@nginx.com 191812Svbart@nginx.com<change type="bugfix"> 201812Svbart@nginx.com<para> 211812Svbart@nginx.coma connection leak occurring on premature TLS connection close; the bug had 221812Svbart@nginx.comappeared in 1.6. 231812Svbart@nginx.com</para> 241812Svbart@nginx.com</change> 251812Svbart@nginx.com 261812Svbart@nginx.com<change type="bugfix"> 271812Svbart@nginx.com<para> 281811Smax.romanov@nginx.coma descriptor leak occurring in the router process when removing or 291811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 301811Smax.romanov@nginx.com</para> 311811Smax.romanov@nginx.com</change> 321806Svbart@nginx.com 331813Svbart@nginx.com<change type="bugfix"> 341813Svbart@nginx.com<para> 351813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 361813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 371813Svbart@nginx.com</para> 381813Svbart@nginx.com</change> 391813Svbart@nginx.com 401814Svbart@nginx.com<change type="bugfix"> 411814Svbart@nginx.com<para> 421820Svbart@nginx.comthe controller process could crash while requesting information about a 431820Svbart@nginx.comcertificate with a non-DNS SAN entry. 441820Svbart@nginx.com</para> 451820Svbart@nginx.com</change> 461820Svbart@nginx.com 471820Svbart@nginx.com<change type="bugfix"> 481820Svbart@nginx.com<para> 49*1822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 50*1822Svbart@nginx.comcontaining a SAN and no standart name attributes in subject or issuer. 51*1822Svbart@nginx.com</para> 52*1822Svbart@nginx.com</change> 53*1822Svbart@nginx.com 54*1822Svbart@nginx.com<change type="bugfix"> 55*1822Svbart@nginx.com<para> 561814Svbart@nginx.comthe Ruby module didn't respect user locale for defaults in the Encoding class. 571814Svbart@nginx.com</para> 581814Svbart@nginx.com</change> 591814Svbart@nginx.com 601815Svbart@nginx.com<change type="bugfix"> 611815Svbart@nginx.com<para> 621815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 631815Svbart@nginx.comappeared in 1.22.0. 641815Svbart@nginx.com</para> 651815Svbart@nginx.com</change> 661815Svbart@nginx.com 671806Svbart@nginx.com</changes> 681806Svbart@nginx.com 691806Svbart@nginx.com 701798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 711798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 721798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 731798Sdefan@nginx.com 741798Sdefan@nginx.com<change> 751798Sdefan@nginx.com<para> 761798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 771798Sdefan@nginx.com</para> 781798Sdefan@nginx.com</change> 791798Sdefan@nginx.com 801798Sdefan@nginx.com</changes> 811798Sdefan@nginx.com 821798Sdefan@nginx.com 831763Sdefan@nginx.com<changes apply="unit-php 841763Sdefan@nginx.com unit-python unit-python2.7 851763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 861763Sdefan@nginx.com unit-python3.8 871763Sdefan@nginx.com unit-go 881763Sdefan@nginx.com unit-perl 891763Sdefan@nginx.com unit-ruby 901763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 911763Sdefan@nginx.com unit-jsc14 unit-jsc15" 921763Sdefan@nginx.com ver="1.22.0" rev="1" 931793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 941763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 951763Sdefan@nginx.com 961763Sdefan@nginx.com<change> 971763Sdefan@nginx.com<para> 981763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 991763Sdefan@nginx.com</para> 1001763Sdefan@nginx.com</change> 1011763Sdefan@nginx.com 1021763Sdefan@nginx.com</changes> 1031763Sdefan@nginx.com 1041763Sdefan@nginx.com 1051727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 1061793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 1071727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1081727Svbart@nginx.com 1091759Svbart@nginx.com<change type="feature"> 1101759Svbart@nginx.com<para> 1111792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 1121792Svbart@nginx.comcompliant with Stream API. 1131759Svbart@nginx.com</para> 1141759Svbart@nginx.com</change> 1151759Svbart@nginx.com 1161766Smax.romanov@nginx.com<change type="feature"> 1171766Smax.romanov@nginx.com<para> 1181792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 1191792Svbart@nginx.comapps. 1201732Svbart@nginx.com</para> 1211732Svbart@nginx.com</change> 1221732Svbart@nginx.com 1231733Svbart@nginx.com<change type="bugfix"> 1241733Svbart@nginx.com<para> 1251792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 1261792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 1271754Smax.romanov@nginx.com</para> 1281754Smax.romanov@nginx.com</change> 1291754Smax.romanov@nginx.com 1301755Smax.romanov@nginx.com<change type="bugfix"> 1311755Smax.romanov@nginx.com<para> 1321790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 1331755Smax.romanov@nginx.comappeared in 1.19.0. 1341755Smax.romanov@nginx.com</para> 1351755Smax.romanov@nginx.com</change> 1361755Smax.romanov@nginx.com 1371756Smax.romanov@nginx.com<change type="bugfix"> 1381756Smax.romanov@nginx.com<para> 1391790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 1401790Sartem.konev@nginx.comappeared in 1.19.0. 1411756Smax.romanov@nginx.com</para> 1421756Smax.romanov@nginx.com</change> 1431756Smax.romanov@nginx.com 1441760Smax.romanov@nginx.com<change type="bugfix"> 1451760Smax.romanov@nginx.com<para> 1461792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 1471792Svbart@nginx.com</para> 1481792Svbart@nginx.com</change> 1491792Svbart@nginx.com 1501792Svbart@nginx.com<change type="bugfix"> 1511792Svbart@nginx.com<para> 1521792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 1531792Svbart@nginx.commissing in the PHP module. 1541792Svbart@nginx.com</para> 1551792Svbart@nginx.com</change> 1561792Svbart@nginx.com 1571792Svbart@nginx.com<change type="bugfix"> 1581792Svbart@nginx.com<para> 1591792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 1601792Svbart@nginx.com</para> 1611792Svbart@nginx.com</change> 1621792Svbart@nginx.com 1631792Svbart@nginx.com<change type="bugfix"> 1641792Svbart@nginx.com<para> 1651792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 1661792Svbart@nginx.com</para> 1671792Svbart@nginx.com</change> 1681792Svbart@nginx.com 1691792Svbart@nginx.com<change type="bugfix"> 1701792Svbart@nginx.com<para> 1711792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 1721792Svbart@nginx.comthe bug had appeared in 1.21.0. 1731760Smax.romanov@nginx.com</para> 1741760Smax.romanov@nginx.com</change> 1751760Smax.romanov@nginx.com 1761780Smax.romanov@nginx.com<change type="bugfix"> 1771780Smax.romanov@nginx.com<para> 1781790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 1791790Sartem.konev@nginx.comWebSocket. 1801780Smax.romanov@nginx.com</para> 1811780Smax.romanov@nginx.com</change> 1821780Smax.romanov@nginx.com 1831789Smax.romanov@nginx.com<change type="bugfix"> 1841789Smax.romanov@nginx.com<para> 1851789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 1861789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 1871789Smax.romanov@nginx.com</para> 1881789Smax.romanov@nginx.com</change> 1891789Smax.romanov@nginx.com 1901727Svbart@nginx.com</changes> 1911727Svbart@nginx.com 1921727Svbart@nginx.com 1931722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 1941722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1951722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1961722Svbart@nginx.com 1971722Svbart@nginx.com<change> 1981722Svbart@nginx.com<para> 1991722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 2001722Svbart@nginx.com</para> 2011722Svbart@nginx.com</change> 2021722Svbart@nginx.com 2031722Svbart@nginx.com</changes> 2041722Svbart@nginx.com 2051722Svbart@nginx.com 2061722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 2071722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 2081722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2091722Svbart@nginx.com 2101722Svbart@nginx.com<change> 2111722Svbart@nginx.com<para> 2121722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 2131722Svbart@nginx.com</para> 2141722Svbart@nginx.com</change> 2151722Svbart@nginx.com 2161722Svbart@nginx.com</changes> 2171722Svbart@nginx.com 2181722Svbart@nginx.com 2191722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 2201722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 2211722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2221722Svbart@nginx.com 2231722Svbart@nginx.com<change> 2241722Svbart@nginx.com<para> 2251722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 2261722Svbart@nginx.com</para> 2271722Svbart@nginx.com</change> 2281722Svbart@nginx.com 2291722Svbart@nginx.com</changes> 2301722Svbart@nginx.com 2311722Svbart@nginx.com 2321722Svbart@nginx.com<changes apply="unit-php 2331722Svbart@nginx.com unit-python unit-python2.7 2341722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2351722Svbart@nginx.com unit-python3.8 2361722Svbart@nginx.com unit-go 2371722Svbart@nginx.com unit-perl 2381722Svbart@nginx.com unit-ruby 2391722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 2401722Svbart@nginx.com ver="1.21.0" rev="1" 2411722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 2421722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2431722Svbart@nginx.com 2441722Svbart@nginx.com<change> 2451722Svbart@nginx.com<para> 2461722Svbart@nginx.comNGINX Unit updated to 1.21.0. 2471722Svbart@nginx.com</para> 2481722Svbart@nginx.com</change> 2491722Svbart@nginx.com 2501722Svbart@nginx.com</changes> 2511722Svbart@nginx.com 2521722Svbart@nginx.com 2531722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 2541722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 2551722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2561722Svbart@nginx.com 2571722Svbart@nginx.com<change type="change"> 2581722Svbart@nginx.com<para> 2591722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 2601722Svbart@nginx.com</para> 2611722Svbart@nginx.com</change> 2621722Svbart@nginx.com 2631722Svbart@nginx.com<change type="change"> 2641722Svbart@nginx.com<para> 2651722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 2661722Svbart@nginx.comnames. 2671722Svbart@nginx.com</para> 2681722Svbart@nginx.com</change> 2691722Svbart@nginx.com 2701722Svbart@nginx.com<change type="change"> 2711722Svbart@nginx.com<para> 2721722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 2731722Svbart@nginx.comdefault. 2741722Svbart@nginx.com</para> 2751722Svbart@nginx.com</change> 2761722Svbart@nginx.com 2771722Svbart@nginx.com<change type="feature"> 2781722Svbart@nginx.com<para> 2791722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 2801722Svbart@nginx.com</para> 2811722Svbart@nginx.com</change> 2821722Svbart@nginx.com 2831722Svbart@nginx.com<change type="feature"> 2841722Svbart@nginx.com<para> 2851722Svbart@nginx.comregular expressions in route matching patterns. 2861722Svbart@nginx.com</para> 2871722Svbart@nginx.com</change> 2881722Svbart@nginx.com 2891722Svbart@nginx.com<change type="feature"> 2901722Svbart@nginx.com<para> 2911722Svbart@nginx.comcompatibility with Python 3.9. 2921722Svbart@nginx.com</para> 2931722Svbart@nginx.com</change> 2941722Svbart@nginx.com 2951722Svbart@nginx.com<change type="feature"> 2961722Svbart@nginx.com<para> 2971722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 2981722Svbart@nginx.com</para> 2991722Svbart@nginx.com</change> 3001722Svbart@nginx.com 3011722Svbart@nginx.com<change type="feature"> 3021722Svbart@nginx.com<para> 3031722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 3041722Svbart@nginx.com</para> 3051722Svbart@nginx.com</change> 3061722Svbart@nginx.com 3071722Svbart@nginx.com<change type="feature"> 3081722Svbart@nginx.com<para> 3091722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 3101722Svbart@nginx.comcontinues code execution without holding onto the client connection. 3111722Svbart@nginx.com</para> 3121722Svbart@nginx.com</change> 3131722Svbart@nginx.com 3141722Svbart@nginx.com<change type="feature"> 3151722Svbart@nginx.com<para> 3161722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 3171722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 3181722Svbart@nginx.com</para> 3191722Svbart@nginx.com</change> 3201722Svbart@nginx.com 3211722Svbart@nginx.com<change type="feature"> 3221722Svbart@nginx.com<para> 3231722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 3241722Svbart@nginx.commounting of eponymous filesystems. 3251722Svbart@nginx.com</para> 3261722Svbart@nginx.com</change> 3271722Svbart@nginx.com 3281722Svbart@nginx.com<change type="bugfix"> 3291722Svbart@nginx.com<para> 3301722Svbart@nginx.comthe router process could crash when running Go applications under high load; 3311722Svbart@nginx.comthe bug had appeared in 1.19.0. 3321722Svbart@nginx.com</para> 3331722Svbart@nginx.com</change> 3341722Svbart@nginx.com 3351722Svbart@nginx.com<change type="bugfix"> 3361722Svbart@nginx.com<para> 3371722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 3381722Svbart@nginx.com</para> 3391722Svbart@nginx.com</change> 3401722Svbart@nginx.com 3411722Svbart@nginx.com<change type="bugfix"> 3421722Svbart@nginx.com<para> 3431722Svbart@nginx.comvarious compatibility issues in Java applications. 3441722Svbart@nginx.com</para> 3451722Svbart@nginx.com</change> 3461722Svbart@nginx.com 3471722Svbart@nginx.com<change type="bugfix"> 3481722Svbart@nginx.com<para> 3491722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 3501722Svbart@nginx.comuse "rootfs" isolation. 3511722Svbart@nginx.com</para> 3521722Svbart@nginx.com</change> 3531722Svbart@nginx.com 3541722Svbart@nginx.com</changes> 3551722Svbart@nginx.com 3561722Svbart@nginx.com 3571330Svbart@nginx.com<changes apply="unit-php 3581330Svbart@nginx.com unit-python unit-python2.7 3591330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3601330Svbart@nginx.com unit-python3.8 3611330Svbart@nginx.com unit-go 3621330Svbart@nginx.com unit-perl 3631330Svbart@nginx.com unit-ruby 3641330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 3651640Svbart@nginx.com ver="1.20.0" rev="1" 3661640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 3671640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3681640Svbart@nginx.com 3691640Svbart@nginx.com<change> 3701640Svbart@nginx.com<para> 3711640Svbart@nginx.comNGINX Unit updated to 1.20.0. 3721640Svbart@nginx.com</para> 3731640Svbart@nginx.com</change> 3741640Svbart@nginx.com 3751640Svbart@nginx.com</changes> 3761640Svbart@nginx.com 3771640Svbart@nginx.com 3781640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 3791640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 3801640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3811640Svbart@nginx.com 3821640Svbart@nginx.com<change type="change"> 3831640Svbart@nginx.com<para> 3841640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 3851640Svbart@nginx.comextensions from the host system. 3861640Svbart@nginx.com</para> 3871640Svbart@nginx.com</change> 3881640Svbart@nginx.com 3891640Svbart@nginx.com<change type="change"> 3901640Svbart@nginx.com<para> 3911640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 3921640Svbart@nginx.com</para> 3931640Svbart@nginx.com</change> 3941640Svbart@nginx.com 3951643Svbart@nginx.com<change type="change"> 3961643Svbart@nginx.com<para> 3971643Svbart@nginx.comfunctional tests migrated to the pytest framework. 3981643Svbart@nginx.com</para> 3991643Svbart@nginx.com</change> 4001643Svbart@nginx.com 4011640Svbart@nginx.com<change type="feature"> 4021640Svbart@nginx.com<para> 4031640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 4041640Svbart@nginx.cominterface. 4051640Svbart@nginx.com</para> 4061640Svbart@nginx.com</change> 4071640Svbart@nginx.com 4081640Svbart@nginx.com<change type="feature"> 4091640Svbart@nginx.com<para> 4101640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 4111640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 4121640Svbart@nginx.comspecification. 4131640Svbart@nginx.com</para> 4141640Svbart@nginx.com</change> 4151640Svbart@nginx.com 4161640Svbart@nginx.com<change type="feature"> 4171640Svbart@nginx.com<para> 4181640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 4191640Svbart@nginx.comenvironments. 4201640Svbart@nginx.com</para> 4211640Svbart@nginx.com</change> 4221640Svbart@nginx.com 4231640Svbart@nginx.com<change type="feature"> 4241640Svbart@nginx.com<para> 4251640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 4261640Svbart@nginx.com</para> 4271640Svbart@nginx.com</change> 4281640Svbart@nginx.com 4291640Svbart@nginx.com<change type="feature"> 4301640Svbart@nginx.com<para> 4311640Svbart@nginx.comthe "callable" option sets Python application callable names. 4321640Svbart@nginx.com</para> 4331640Svbart@nginx.com</change> 4341640Svbart@nginx.com 4351640Svbart@nginx.com<change type="feature"> 4361640Svbart@nginx.com<para> 4371640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 4381640Svbart@nginx.com</para> 4391640Svbart@nginx.com</change> 4401640Svbart@nginx.com 4411640Svbart@nginx.com<change type="feature"> 4421640Svbart@nginx.com<para> 4431640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 4441640Svbart@nginx.comautomatic mounting of language module dependencies. 4451640Svbart@nginx.com</para> 4461640Svbart@nginx.com</change> 4471640Svbart@nginx.com 4481640Svbart@nginx.com<change type="bugfix"> 4491640Svbart@nginx.com<para> 4501640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 4511640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 4521640Svbart@nginx.com</para> 4531640Svbart@nginx.com</change> 4541640Svbart@nginx.com 4551640Svbart@nginx.com<change type="bugfix"> 4561640Svbart@nginx.com<para> 4571640Svbart@nginx.comthe router process could crash during reconfiguration. 4581640Svbart@nginx.com</para> 4591640Svbart@nginx.com</change> 4601640Svbart@nginx.com 4611640Svbart@nginx.com<change type="bugfix"> 4621640Svbart@nginx.com<para> 4631640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 4641640Svbart@nginx.com</para> 4651640Svbart@nginx.com</change> 4661640Svbart@nginx.com 4671640Svbart@nginx.com<change type="bugfix"> 4681640Svbart@nginx.com<para> 4691640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 4701640Svbart@nginx.comthe bug had appeared in 1.19.0. 4711640Svbart@nginx.com</para> 4721640Svbart@nginx.com</change> 4731640Svbart@nginx.com 4741640Svbart@nginx.com<change type="bugfix"> 4751640Svbart@nginx.com<para> 4761640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 4771640Svbart@nginx.comthe bug had appeared in 1.16.0. 4781640Svbart@nginx.com</para> 4791640Svbart@nginx.com</change> 4801640Svbart@nginx.com 4811640Svbart@nginx.com</changes> 4821640Svbart@nginx.com 4831640Svbart@nginx.com 4841640Svbart@nginx.com<changes apply="unit-php 4851640Svbart@nginx.com unit-python unit-python2.7 4861640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4871640Svbart@nginx.com unit-python3.8 4881640Svbart@nginx.com unit-go 4891640Svbart@nginx.com unit-perl 4901640Svbart@nginx.com unit-ruby 4911640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 4921570Svbart@nginx.com ver="1.19.0" rev="1" 4931570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 4941570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4951570Svbart@nginx.com 4961570Svbart@nginx.com<change> 4971570Svbart@nginx.com<para> 4981570Svbart@nginx.comNGINX Unit updated to 1.19.0. 4991570Svbart@nginx.com</para> 5001570Svbart@nginx.com</change> 5011570Svbart@nginx.com 5021570Svbart@nginx.com</changes> 5031570Svbart@nginx.com 5041570Svbart@nginx.com 5051570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 5061570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 5071570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5081570Svbart@nginx.com 5091570Svbart@nginx.com<change type="feature"> 5101570Svbart@nginx.com<para> 5111570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 5121570Svbart@nginx.comincrease performance, and improve scalability. 5131570Svbart@nginx.com</para> 5141570Svbart@nginx.com</change> 5151570Svbart@nginx.com 5161570Svbart@nginx.com<change type="feature"> 5171570Svbart@nginx.com<para> 5181570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 5191570Svbart@nginx.com</para> 5201570Svbart@nginx.com</change> 5211570Svbart@nginx.com 5221570Svbart@nginx.com<change type="feature"> 5231570Svbart@nginx.com<para> 5241570Svbart@nginx.comchunked transfer encoding in proxy responses. 5251570Svbart@nginx.com</para> 5261570Svbart@nginx.com</change> 5271570Svbart@nginx.com 5281570Svbart@nginx.com<change type="feature"> 5291570Svbart@nginx.com<para> 5301570Svbart@nginx.combasic variables support in the "pass" option. 5311570Svbart@nginx.com</para> 5321570Svbart@nginx.com</change> 5331570Svbart@nginx.com 5341570Svbart@nginx.com<change type="feature"> 5351570Svbart@nginx.com<para> 5361570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 5371570Svbart@nginx.comThanks to Remi Collet. 5381570Svbart@nginx.com</para> 5391570Svbart@nginx.com</change> 5401570Svbart@nginx.com 5411570Svbart@nginx.com<change type="bugfix"> 5421570Svbart@nginx.com<para> 5431570Svbart@nginx.comthe router process could crash while passing requests to an application under 5441570Svbart@nginx.comhigh load. 5451570Svbart@nginx.com</para> 5461570Svbart@nginx.com</change> 5471570Svbart@nginx.com 5481570Svbart@nginx.com<change type="bugfix"> 5491570Svbart@nginx.com<para> 5501570Svbart@nginx.coma number of language modules failed to build on some systems; 5511570Svbart@nginx.comthe bug had appeared in 1.18.0. 5521570Svbart@nginx.com</para> 5531570Svbart@nginx.com</change> 5541570Svbart@nginx.com 5551570Svbart@nginx.com<change type="bugfix"> 5561570Svbart@nginx.com<para> 5571570Svbart@nginx.comtime in error log messages from PHP applications could lag. 5581570Svbart@nginx.com</para> 5591570Svbart@nginx.com</change> 5601570Svbart@nginx.com 5611570Svbart@nginx.com<change type="bugfix"> 5621570Svbart@nginx.com<para> 5631570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 5641570Svbart@nginx.comthe bug had appeared in 1.18.0. 5651570Svbart@nginx.com</para> 5661570Svbart@nginx.com</change> 5671570Svbart@nginx.com 5681570Svbart@nginx.com<change type="bugfix"> 5691570Svbart@nginx.com<para> 5701570Svbart@nginx.commemory leak during reconfiguration. 5711570Svbart@nginx.com</para> 5721570Svbart@nginx.com</change> 5731570Svbart@nginx.com 5741570Svbart@nginx.com<change type="bugfix"> 5751570Svbart@nginx.com<para> 5761570Svbart@nginx.comthe daemon didn't start without language modules; 5771570Svbart@nginx.comthe bug had appeared in 1.18.0. 5781570Svbart@nginx.com</para> 5791570Svbart@nginx.com</change> 5801570Svbart@nginx.com 5811570Svbart@nginx.com<change type="bugfix"> 5821570Svbart@nginx.com<para> 5831570Svbart@nginx.comthe router process could crash at exit. 5841570Svbart@nginx.com</para> 5851570Svbart@nginx.com</change> 5861570Svbart@nginx.com 5871570Svbart@nginx.com<change type="bugfix"> 5881570Svbart@nginx.com<para> 5891570Svbart@nginx.comNode.js applications could crash at exit. 5901570Svbart@nginx.com</para> 5911570Svbart@nginx.com</change> 5921570Svbart@nginx.com 5931570Svbart@nginx.com<change type="bugfix"> 5941570Svbart@nginx.com<para> 5951570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 5961570Svbart@nginx.com</para> 5971570Svbart@nginx.com</change> 5981570Svbart@nginx.com 5991570Svbart@nginx.com</changes> 6001570Svbart@nginx.com 6011570Svbart@nginx.com 6021570Svbart@nginx.com<changes apply="unit-php 6031570Svbart@nginx.com unit-python unit-python2.7 6041570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6051570Svbart@nginx.com unit-python3.8 6061570Svbart@nginx.com unit-go 6071570Svbart@nginx.com unit-perl 6081570Svbart@nginx.com unit-ruby 6091570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6101491Svbart@nginx.com ver="1.18.0" rev="1" 6111491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 6121491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6131491Svbart@nginx.com 6141491Svbart@nginx.com<change> 6151491Svbart@nginx.com<para> 6161491Svbart@nginx.comNGINX Unit updated to 1.18.0. 6171491Svbart@nginx.com</para> 6181491Svbart@nginx.com</change> 6191491Svbart@nginx.com 6201491Svbart@nginx.com</changes> 6211491Svbart@nginx.com 6221491Svbart@nginx.com 6231491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 6241491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 6251491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6261491Svbart@nginx.com 6271491Svbart@nginx.com<change type="feature"> 6281491Svbart@nginx.com<para> 6291491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 6301491Svbart@nginx.com</para> 6311491Svbart@nginx.com</change> 6321491Svbart@nginx.com 6331491Svbart@nginx.com<change type="feature"> 6341491Svbart@nginx.com<para> 6351491Svbart@nginx.commultiple "targets" in PHP applications. 6361491Svbart@nginx.com</para> 6371491Svbart@nginx.com</change> 6381491Svbart@nginx.com 6391491Svbart@nginx.com<change type="feature"> 6401491Svbart@nginx.com<para> 6411491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 6421491Svbart@nginx.comand in the "pass" option. 6431491Svbart@nginx.com</para> 6441491Svbart@nginx.com</change> 6451491Svbart@nginx.com 6461491Svbart@nginx.com</changes> 6471491Svbart@nginx.com 6481491Svbart@nginx.com 6491491Svbart@nginx.com<changes apply="unit-php 6501491Svbart@nginx.com unit-python unit-python2.7 6511491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6521491Svbart@nginx.com unit-python3.8 6531491Svbart@nginx.com unit-go 6541491Svbart@nginx.com unit-perl 6551491Svbart@nginx.com unit-ruby 6561491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6571460Svbart@nginx.com ver="1.17.0" rev="1" 6581460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 6591460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6601460Svbart@nginx.com 6611460Svbart@nginx.com<change> 6621460Svbart@nginx.com<para> 6631460Svbart@nginx.comNGINX Unit updated to 1.17.0. 6641460Svbart@nginx.com</para> 6651460Svbart@nginx.com</change> 6661460Svbart@nginx.com 6671460Svbart@nginx.com</changes> 6681460Svbart@nginx.com 6691460Svbart@nginx.com 6701460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 6711460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 6721460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6731460Svbart@nginx.com 6741460Svbart@nginx.com<change type="feature"> 6751460Svbart@nginx.com<para> 6761460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 6771460Svbart@nginx.comredirection. 6781460Svbart@nginx.com</para> 6791460Svbart@nginx.com</change> 6801460Svbart@nginx.com 6811460Svbart@nginx.com<change type="feature"> 6821460Svbart@nginx.com<para> 6831460Svbart@nginx.comfractional weights support for upstream servers. 6841460Svbart@nginx.com</para> 6851460Svbart@nginx.com</change> 6861460Svbart@nginx.com 6871460Svbart@nginx.com<change type="bugfix"> 6881460Svbart@nginx.com<para> 6891460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 6901460Svbart@nginx.comhigh load. 6911460Svbart@nginx.com</para> 6921460Svbart@nginx.com</change> 6931460Svbart@nginx.com 6941460Svbart@nginx.com<change type="bugfix"> 6951460Svbart@nginx.com<para> 6961460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 6971460Svbart@nginx.com</para> 6981460Svbart@nginx.com</change> 6991460Svbart@nginx.com 7001460Svbart@nginx.com<change type="bugfix"> 7011460Svbart@nginx.com<para> 7021460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 7031460Svbart@nginx.comopen connections limit. 7041460Svbart@nginx.com</para> 7051460Svbart@nginx.com</change> 7061460Svbart@nginx.com 7071460Svbart@nginx.com<change type="bugfix"> 7081460Svbart@nginx.com<para> 7091460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 7101460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 7111460Svbart@nginx.com</para> 7121460Svbart@nginx.com</change> 7131460Svbart@nginx.com 7141460Svbart@nginx.com<change type="bugfix"> 7151460Svbart@nginx.com<para> 7161460Svbart@nginx.comexisting application processes didn't reopen the log file. 7171460Svbart@nginx.com</para> 7181460Svbart@nginx.com</change> 7191460Svbart@nginx.com 7201460Svbart@nginx.com<change type="bugfix"> 7211460Svbart@nginx.com<para> 7221460Svbart@nginx.comincompatibility with some Node.js applications. 7231460Svbart@nginx.com</para> 7241460Svbart@nginx.com</change> 7251460Svbart@nginx.com 7261460Svbart@nginx.com<change type="bugfix"> 7271460Svbart@nginx.com<para> 7281460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 7291460Svbart@nginx.com</para> 7301460Svbart@nginx.com</change> 7311460Svbart@nginx.com 7321460Svbart@nginx.com</changes> 7331460Svbart@nginx.com 7341460Svbart@nginx.com 7351460Svbart@nginx.com<changes apply="unit-php 7361460Svbart@nginx.com unit-python unit-python2.7 7371460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7381460Svbart@nginx.com unit-python3.8 7391460Svbart@nginx.com unit-go 7401460Svbart@nginx.com unit-perl 7411460Svbart@nginx.com unit-ruby 7421460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7431404Svbart@nginx.com ver="1.16.0" rev="1" 7441404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 7451404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7461404Svbart@nginx.com 7471404Svbart@nginx.com<change> 7481404Svbart@nginx.com<para> 7491404Svbart@nginx.comNGINX Unit updated to 1.16.0. 7501404Svbart@nginx.com</para> 7511404Svbart@nginx.com</change> 7521404Svbart@nginx.com 7531404Svbart@nginx.com</changes> 7541404Svbart@nginx.com 7551404Svbart@nginx.com 7561404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 7571404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 7581404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7591404Svbart@nginx.com 7601404Svbart@nginx.com<change type="feature"> 7611404Svbart@nginx.com<para> 7621404Svbart@nginx.combasic load-balancing support with round-robin. 7631404Svbart@nginx.com</para> 7641404Svbart@nginx.com</change> 7651404Svbart@nginx.com 7661404Svbart@nginx.com<change type="feature"> 7671404Svbart@nginx.com<para> 7681404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 7691404Svbart@nginx.comserved from the "share" directory. 7701404Svbart@nginx.com</para> 7711404Svbart@nginx.com</change> 7721404Svbart@nginx.com 7731404Svbart@nginx.com<change type="feature"> 7741404Svbart@nginx.com<para> 7751404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 7761404Svbart@nginx.com</para> 7771404Svbart@nginx.com</change> 7781404Svbart@nginx.com 7791404Svbart@nginx.com<change type="feature"> 7801404Svbart@nginx.com<para> 7811404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 7821404Svbart@nginx.com</para> 7831404Svbart@nginx.com</change> 7841404Svbart@nginx.com 7851404Svbart@nginx.com<change type="bugfix"> 7861404Svbart@nginx.com<para> 7871404Svbart@nginx.comnegative address matching in router might work improperly in combination with 7881404Svbart@nginx.comnon-negative patterns. 7891404Svbart@nginx.com</para> 7901404Svbart@nginx.com</change> 7911404Svbart@nginx.com 7921404Svbart@nginx.com<change type="bugfix"> 7931404Svbart@nginx.com<para> 7941404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 7951404Svbart@nginx.com</para> 7961404Svbart@nginx.com</change> 7971404Svbart@nginx.com 7981404Svbart@nginx.com<change type="bugfix"> 7991404Svbart@nginx.com<para> 8001404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 8011404Svbart@nginx.com</para> 8021404Svbart@nginx.com</change> 8031404Svbart@nginx.com 8041404Svbart@nginx.com<change type="bugfix"> 8051404Svbart@nginx.com<para> 8061404Svbart@nginx.comcompatibility issues with some Python applications. 8071404Svbart@nginx.com</para> 8081404Svbart@nginx.com</change> 8091404Svbart@nginx.com 8101404Svbart@nginx.com</changes> 8111404Svbart@nginx.com 8121404Svbart@nginx.com 8131404Svbart@nginx.com<changes apply="unit-php 8141404Svbart@nginx.com unit-python unit-python2.7 8151404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8161404Svbart@nginx.com unit-python3.8 8171404Svbart@nginx.com unit-go 8181404Svbart@nginx.com unit-perl 8191404Svbart@nginx.com unit-ruby 8201404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8211357Svbart@nginx.com ver="1.15.0" rev="1" 8221357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 8231357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8241357Svbart@nginx.com 8251357Svbart@nginx.com<change> 8261357Svbart@nginx.com<para> 8271357Svbart@nginx.comNGINX Unit updated to 1.15.0. 8281357Svbart@nginx.com</para> 8291357Svbart@nginx.com</change> 8301357Svbart@nginx.com 8311357Svbart@nginx.com</changes> 8321357Svbart@nginx.com 8331357Svbart@nginx.com 8341357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 8351357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 8361357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8371357Svbart@nginx.com 8381357Svbart@nginx.com<change type="change"> 8391357Svbart@nginx.com<para> 8401357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 8411357Svbart@nginx.com</para> 8421357Svbart@nginx.com</change> 8431357Svbart@nginx.com 8441357Svbart@nginx.com<change type="feature"> 8451357Svbart@nginx.com<para> 8461357Svbart@nginx.comcompatibility with Ruby 2.7. 8471357Svbart@nginx.com</para> 8481357Svbart@nginx.com</change> 8491357Svbart@nginx.com 8501357Svbart@nginx.com<change type="bugfix"> 8511357Svbart@nginx.com<para> 8521357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 8531357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 8541357Svbart@nginx.com</para> 8551357Svbart@nginx.com</change> 8561357Svbart@nginx.com 8571357Svbart@nginx.com<change type="bugfix"> 8581357Svbart@nginx.com<para> 8591357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 8601357Svbart@nginx.com</para> 8611357Svbart@nginx.com</change> 8621357Svbart@nginx.com 8631357Svbart@nginx.com</changes> 8641357Svbart@nginx.com 8651357Svbart@nginx.com 8661357Svbart@nginx.com<changes apply="unit-php 8671357Svbart@nginx.com unit-python unit-python2.7 8681357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8691357Svbart@nginx.com unit-python3.8 8701357Svbart@nginx.com unit-go 8711357Svbart@nginx.com unit-perl 8721357Svbart@nginx.com unit-ruby 8731357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8741330Svbart@nginx.com ver="1.14.0" rev="1" 8751330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 8761330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8771330Svbart@nginx.com 8781330Svbart@nginx.com<change> 8791330Svbart@nginx.com<para> 8801330Svbart@nginx.comNGINX Unit updated to 1.14.0. 8811330Svbart@nginx.com</para> 8821330Svbart@nginx.com</change> 8831330Svbart@nginx.com 8841330Svbart@nginx.com</changes> 8851330Svbart@nginx.com 8861330Svbart@nginx.com 8871330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 8881330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 8891330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8901330Svbart@nginx.com 8911330Svbart@nginx.com<change type="change"> 8921330Svbart@nginx.com<para> 8931330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 8941330Svbart@nginx.com</para> 8951330Svbart@nginx.com</change> 8961330Svbart@nginx.com 8971330Svbart@nginx.com<change type="change"> 8981330Svbart@nginx.com<para> 8991330Svbart@nginx.comGo package now links to libunit instead of including library sources. 9001330Svbart@nginx.com</para> 9011330Svbart@nginx.com</change> 9021330Svbart@nginx.com 9031330Svbart@nginx.com<change type="feature"> 9041330Svbart@nginx.com<para> 9051330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 9061330Svbart@nginx.comruns as an unprivileged user. 9071330Svbart@nginx.com</para> 9081330Svbart@nginx.com</change> 9091330Svbart@nginx.com 9101330Svbart@nginx.com<change type="feature"> 9111330Svbart@nginx.com<para> 9121330Svbart@nginx.comrequest routing by source and destination addresses and ports. 9131330Svbart@nginx.com</para> 9141330Svbart@nginx.com</change> 9151330Svbart@nginx.com 9161330Svbart@nginx.com<change type="bugfix"> 9171330Svbart@nginx.com<para> 9181330Svbart@nginx.commemory bloat on large responses. 9191330Svbart@nginx.com</para> 9201330Svbart@nginx.com</change> 9211330Svbart@nginx.com 9221330Svbart@nginx.com</changes> 9231330Svbart@nginx.com 9241330Svbart@nginx.com 9251290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 9261290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 9271290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9281290Sdefan@nginx.com 9291290Sdefan@nginx.com<change> 9301290Sdefan@nginx.com<para> 9311290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 9321290Sdefan@nginx.com</para> 9331290Sdefan@nginx.com</change> 9341290Sdefan@nginx.com 9351290Sdefan@nginx.com</changes> 9361290Sdefan@nginx.com 9371290Sdefan@nginx.com 9381290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 9391290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 9401290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9411290Sdefan@nginx.com 9421290Sdefan@nginx.com<change> 9431290Sdefan@nginx.com<para> 9441290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 9451290Sdefan@nginx.com</para> 9461290Sdefan@nginx.com</change> 9471290Sdefan@nginx.com 9481290Sdefan@nginx.com</changes> 9491290Sdefan@nginx.com 9501290Sdefan@nginx.com 9511289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 9521289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 9531289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9541289Sdefan@nginx.com 9551289Sdefan@nginx.com<change> 9561289Sdefan@nginx.com<para> 9571289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 9581289Sdefan@nginx.com</para> 9591289Sdefan@nginx.com</change> 9601289Sdefan@nginx.com 9611289Sdefan@nginx.com</changes> 9621289Sdefan@nginx.com 9631289Sdefan@nginx.com 9641185Svbart@nginx.com<changes apply="unit-php 9651185Svbart@nginx.com unit-python unit-python2.7 9661185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9671185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 9681185Svbart@nginx.com unit-perl 9691185Svbart@nginx.com unit-ruby 9701185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9711284Svbart@nginx.com ver="1.13.0" rev="1" 9721284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 9731284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9741284Svbart@nginx.com 9751284Svbart@nginx.com<change> 9761284Svbart@nginx.com<para> 9771284Svbart@nginx.comNGINX Unit updated to 1.13.0. 9781284Svbart@nginx.com</para> 9791284Svbart@nginx.com</change> 9801284Svbart@nginx.com 9811284Svbart@nginx.com</changes> 9821284Svbart@nginx.com 9831284Svbart@nginx.com 9841284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 9851284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 9861284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9871284Svbart@nginx.com 9881284Svbart@nginx.com<change type="feature"> 9891284Svbart@nginx.com<para> 9901284Svbart@nginx.combasic support for HTTP reverse proxying. 9911284Svbart@nginx.com</para> 9921284Svbart@nginx.com</change> 9931284Svbart@nginx.com 9941284Svbart@nginx.com<change type="feature"> 9951284Svbart@nginx.com<para> 9961284Svbart@nginx.comcompatibility with Python 3.8. 9971284Svbart@nginx.com</para> 9981284Svbart@nginx.com</change> 9991284Svbart@nginx.com 10001284Svbart@nginx.com<change type="bugfix"> 10011284Svbart@nginx.com<para> 10021284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 10031284Svbart@nginx.com</para> 10041284Svbart@nginx.com</change> 10051284Svbart@nginx.com 10061284Svbart@nginx.com<change type="bugfix"> 10071284Svbart@nginx.com<para> 10081284Svbart@nginx.comthreads in Python applications might not work correctly. 10091284Svbart@nginx.com</para> 10101284Svbart@nginx.com</change> 10111284Svbart@nginx.com 10121284Svbart@nginx.com<change type="bugfix"> 10131284Svbart@nginx.com<para> 10141284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 10151284Svbart@nginx.com</para> 10161284Svbart@nginx.com</change> 10171284Svbart@nginx.com 10181284Svbart@nginx.com<change type="bugfix"> 10191284Svbart@nginx.com<para> 10201284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 10211284Svbart@nginx.comdelays. 10221284Svbart@nginx.com</para> 10231284Svbart@nginx.com</change> 10241284Svbart@nginx.com 10251284Svbart@nginx.com<change type="bugfix"> 10261284Svbart@nginx.com<para> 10271284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 10281284Svbart@nginx.com</para> 10291284Svbart@nginx.com</change> 10301284Svbart@nginx.com 10311284Svbart@nginx.com</changes> 10321284Svbart@nginx.com 10331284Svbart@nginx.com 10341284Svbart@nginx.com<changes apply="unit-php 10351284Svbart@nginx.com unit-python unit-python2.7 10361284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10371284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10381284Svbart@nginx.com unit-perl 10391284Svbart@nginx.com unit-ruby 10401284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10411222Svbart@nginx.com ver="1.12.0" rev="1" 10421222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 10431222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10441222Svbart@nginx.com 10451222Svbart@nginx.com<change> 10461222Svbart@nginx.com<para> 10471222Svbart@nginx.comNGINX Unit updated to 1.12.0. 10481222Svbart@nginx.com</para> 10491222Svbart@nginx.com</change> 10501222Svbart@nginx.com 10511222Svbart@nginx.com</changes> 10521222Svbart@nginx.com 10531222Svbart@nginx.com 10541222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 10551222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 10561222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10571222Svbart@nginx.com 10581222Svbart@nginx.com<change type="feature"> 10591222Svbart@nginx.com<para> 10601222Svbart@nginx.comcompatibility with PHP 7.4. 10611222Svbart@nginx.com</para> 10621222Svbart@nginx.com</change> 10631222Svbart@nginx.com 10641222Svbart@nginx.com<change type="bugfix"> 10651222Svbart@nginx.com<para> 10661222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 10671222Svbart@nginx.com</para> 10681222Svbart@nginx.com</change> 10691222Svbart@nginx.com 10701222Svbart@nginx.com<change type="bugfix"> 10711222Svbart@nginx.com<para> 10721222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 10731222Svbart@nginx.com</para> 10741222Svbart@nginx.com</change> 10751222Svbart@nginx.com 10761222Svbart@nginx.com<change type="bugfix"> 10771222Svbart@nginx.com<para> 10781222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 10791222Svbart@nginx.com</para> 10801222Svbart@nginx.com</change> 10811222Svbart@nginx.com 10821222Svbart@nginx.com</changes> 10831222Svbart@nginx.com 10841222Svbart@nginx.com 10851222Svbart@nginx.com 10861222Svbart@nginx.com<changes apply="unit-php 10871222Svbart@nginx.com unit-python unit-python2.7 10881222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10891222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10901222Svbart@nginx.com unit-perl 10911222Svbart@nginx.com unit-ruby 10921222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10931185Svbart@nginx.com ver="1.11.0" rev="1" 10941185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 10951185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 10961185Svbart@nginx.com 10971185Svbart@nginx.com<change> 10981185Svbart@nginx.com<para> 10991185Svbart@nginx.comNGINX Unit updated to 1.11.0. 11001185Svbart@nginx.com</para> 11011185Svbart@nginx.com</change> 11021185Svbart@nginx.com 11031185Svbart@nginx.com</changes> 11041185Svbart@nginx.com 11051185Svbart@nginx.com 11061185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 11071185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 11081185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 11091185Svbart@nginx.com 11101185Svbart@nginx.com<change type="feature"> 11111185Svbart@nginx.com<para> 11121185Svbart@nginx.combasic support for serving static files. 11131185Svbart@nginx.com</para> 11141185Svbart@nginx.com</change> 11151185Svbart@nginx.com 11161185Svbart@nginx.com<change type="feature"> 11171185Svbart@nginx.com<para> 11181185Svbart@nginx.comisolation of application processes with Linux namespaces. 11191185Svbart@nginx.com</para> 11201185Svbart@nginx.com</change> 11211185Svbart@nginx.com 11221185Svbart@nginx.com<change type="feature"> 11231185Svbart@nginx.com<para> 11241185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 11251185Svbart@nginx.com</para> 11261185Svbart@nginx.com</change> 11271185Svbart@nginx.com 11281185Svbart@nginx.com<change type="feature"> 11291185Svbart@nginx.com<para> 11301185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 11311185Svbart@nginx.comusing URI encoding (%2F). 11321185Svbart@nginx.com</para> 11331185Svbart@nginx.com</change> 11341185Svbart@nginx.com 11351185Svbart@nginx.com<change type="bugfix"> 11361185Svbart@nginx.com<para> 11371185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 11381185Svbart@nginx.com</para> 11391185Svbart@nginx.com</change> 11401185Svbart@nginx.com 11411185Svbart@nginx.com<change type="bugfix"> 11421185Svbart@nginx.com<para> 11431185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 11441185Svbart@nginx.comGNU ld (e.g. gold or LLD). 11451185Svbart@nginx.com</para> 11461185Svbart@nginx.com</change> 11471185Svbart@nginx.com 11481185Svbart@nginx.com</changes> 11491185Svbart@nginx.com 11501185Svbart@nginx.com 11511142Sdefan@nginx.com<changes apply="unit 11521142Sdefan@nginx.com unit-php 11531142Sdefan@nginx.com unit-python unit-python2.7 11541142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11551142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 11561142Sdefan@nginx.com unit-perl 11571142Sdefan@nginx.com unit-ruby 11581142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11591142Sdefan@nginx.com ver="1.10.0" rev="2" 11601142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 11611142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11621142Sdefan@nginx.com 11631142Sdefan@nginx.com<change type="bugfix"> 11641142Sdefan@nginx.com<para> 11651142Sdefan@nginx.commissed header files added to unit development package. 11661142Sdefan@nginx.com</para> 11671142Sdefan@nginx.com</change> 11681142Sdefan@nginx.com 11691142Sdefan@nginx.com</changes> 11701142Sdefan@nginx.com 11711142Sdefan@nginx.com 11721134Svbart@nginx.com<changes apply="unit-php 11731134Svbart@nginx.com unit-python unit-python2.7 11741134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11751134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 11761134Svbart@nginx.com unit-perl 11771134Svbart@nginx.com unit-ruby 11781134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11791134Svbart@nginx.com ver="1.10.0" rev="1" 11801134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 11811134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11821134Svbart@nginx.com 11831134Svbart@nginx.com<change> 11841134Svbart@nginx.com<para> 11851134Svbart@nginx.comNGINX Unit updated to 1.10.0. 11861134Svbart@nginx.com</para> 11871134Svbart@nginx.com</change> 11881134Svbart@nginx.com 11891134Svbart@nginx.com</changes> 11901134Svbart@nginx.com 11911134Svbart@nginx.com 11921134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 11931134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 11941134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11951134Svbart@nginx.com 11961134Svbart@nginx.com<change type="change"> 11971134Svbart@nginx.com<para> 11981134Svbart@nginx.commatching of cookies in routes made case sensitive. 11991134Svbart@nginx.com</para> 12001134Svbart@nginx.com</change> 12011134Svbart@nginx.com 12021134Svbart@nginx.com<change type="change"> 12031134Svbart@nginx.com<para> 12041134Svbart@nginx.comdecreased log level of common errors when clients close connections. 12051134Svbart@nginx.com</para> 12061134Svbart@nginx.com</change> 12071134Svbart@nginx.com 12081134Svbart@nginx.com<change type="change"> 12091134Svbart@nginx.com<para> 12101134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 12111134Svbart@nginx.com</para> 12121134Svbart@nginx.com</change> 12131134Svbart@nginx.com 12141134Svbart@nginx.com<change type="feature"> 12151134Svbart@nginx.com<para> 12161134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 12171134Svbart@nginx.com</para> 12181134Svbart@nginx.com</change> 12191134Svbart@nginx.com 12201134Svbart@nginx.com<change type="feature"> 12211134Svbart@nginx.com<para> 12221134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 12231134Svbart@nginx.com</para> 12241134Svbart@nginx.com</change> 12251134Svbart@nginx.com 12261134Svbart@nginx.com<change type="feature"> 12271134Svbart@nginx.com<para> 12281134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 12291134Svbart@nginx.com</para> 12301134Svbart@nginx.com</change> 12311134Svbart@nginx.com 12321134Svbart@nginx.com<change type="feature"> 12331134Svbart@nginx.com<para> 12341134Svbart@nginx.comsupport for multipart requests body in Java module. 12351134Svbart@nginx.com</para> 12361134Svbart@nginx.com</change> 12371134Svbart@nginx.com 12381134Svbart@nginx.com<change type="feature"> 12391134Svbart@nginx.com<para> 12401134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 12411134Svbart@nginx.com</para> 12421134Svbart@nginx.com</change> 12431134Svbart@nginx.com 12441134Svbart@nginx.com<change type="bugfix"> 12451134Svbart@nginx.com<para> 12461134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 12471134Svbart@nginx.com</para> 12481134Svbart@nginx.com</change> 12491134Svbart@nginx.com 12501134Svbart@nginx.com<change type="bugfix"> 12511134Svbart@nginx.com<para> 12521134Svbart@nginx.comapplying a large configuration might have failed. 12531134Svbart@nginx.com</para> 12541134Svbart@nginx.com</change> 12551134Svbart@nginx.com 12561134Svbart@nginx.com</changes> 12571134Svbart@nginx.com 12581134Svbart@nginx.com 12591069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 12601069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 12611069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12621069Svbart@nginx.com 12631069Svbart@nginx.com<change> 12641069Svbart@nginx.com<para> 12651069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 12661069Svbart@nginx.com</para> 12671069Svbart@nginx.com</change> 12681069Svbart@nginx.com 12691069Svbart@nginx.com</changes> 12701069Svbart@nginx.com 12711069Svbart@nginx.com 12721069Svbart@nginx.com<changes apply="unit-php 12731069Svbart@nginx.com unit-python unit-python2.7 12741069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12751069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 12761069Svbart@nginx.com unit-perl 12771069Svbart@nginx.com unit-ruby 12781069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12791069Svbart@nginx.com ver="1.9.0" rev="1" 12801069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 12811069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12821069Svbart@nginx.com 12831069Svbart@nginx.com<change> 12841069Svbart@nginx.com<para> 12851069Svbart@nginx.comNGINX Unit updated to 1.9.0. 12861069Svbart@nginx.com</para> 12871069Svbart@nginx.com</change> 12881069Svbart@nginx.com 12891069Svbart@nginx.com</changes> 12901069Svbart@nginx.com 12911069Svbart@nginx.com 12921069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 12931069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 12941069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12951069Svbart@nginx.com 12961069Svbart@nginx.com<change type="feature"> 12971069Svbart@nginx.com<para> 12981069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 12991069Svbart@nginx.com</para> 13001069Svbart@nginx.com</change> 13011069Svbart@nginx.com 13021069Svbart@nginx.com<change type="feature"> 13031069Svbart@nginx.com<para> 13041069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 13051069Svbart@nginx.com</para> 13061069Svbart@nginx.com</change> 13071069Svbart@nginx.com 13081069Svbart@nginx.com<change type="feature"> 13091069Svbart@nginx.com<para> 13101069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 13111069Svbart@nginx.com</para> 13121069Svbart@nginx.com</change> 13131069Svbart@nginx.com 13141069Svbart@nginx.com<change type="feature"> 13151069Svbart@nginx.com<para> 13161069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 13171069Svbart@nginx.comon Linux without running main process as privileged user. 13181069Svbart@nginx.com</para> 13191069Svbart@nginx.com</change> 13201069Svbart@nginx.com 13211069Svbart@nginx.com<change type="bugfix"> 13221069Svbart@nginx.com<para> 13231069Svbart@nginx.commemory leak in the router process might have happened when a client 13241069Svbart@nginx.comprematurely closed the connection. 13251069Svbart@nginx.com</para> 13261069Svbart@nginx.com</change> 13271069Svbart@nginx.com 13281069Svbart@nginx.com<change type="bugfix"> 13291069Svbart@nginx.com<para> 13301069Svbart@nginx.comapplying a large configuration might have failed. 13311069Svbart@nginx.com</para> 13321069Svbart@nginx.com</change> 13331069Svbart@nginx.com 13341069Svbart@nginx.com<change type="bugfix"> 13351069Svbart@nginx.com<para> 13361069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 13371069Svbart@nginx.com</para> 13381069Svbart@nginx.com</change> 13391069Svbart@nginx.com 13401069Svbart@nginx.com<change type="bugfix"> 13411069Svbart@nginx.com<para> 13421069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 13431069Svbart@nginx.com</para> 13441069Svbart@nginx.com</change> 13451069Svbart@nginx.com 13461069Svbart@nginx.com<change type="bugfix"> 13471069Svbart@nginx.com<para> 13481069Svbart@nginx.comrestored compatibility with Node.js applications that use 13491069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 13501069Svbart@nginx.com</para> 13511069Svbart@nginx.com</change> 13521069Svbart@nginx.com 13531069Svbart@nginx.com<change type="bugfix"> 13541069Svbart@nginx.com<para> 13551069Svbart@nginx.comvarious compatibility issues with Node.js applications. 13561069Svbart@nginx.com</para> 13571069Svbart@nginx.com</change> 13581069Svbart@nginx.com 13591069Svbart@nginx.com</changes> 13601069Svbart@nginx.com 13611069Svbart@nginx.com 1362991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1363991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1364991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1365991Svbart@nginx.com 1366991Svbart@nginx.com<change> 1367991Svbart@nginx.com<para> 1368991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1369991Svbart@nginx.com</para> 1370991Svbart@nginx.com</change> 1371991Svbart@nginx.com 1372991Svbart@nginx.com</changes> 1373991Svbart@nginx.com 1374991Svbart@nginx.com 1375991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1376991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1377991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1378991Svbart@nginx.com 1379991Svbart@nginx.com<change> 1380991Svbart@nginx.com<para> 1381991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1382991Svbart@nginx.com</para> 1383991Svbart@nginx.com</change> 1384991Svbart@nginx.com 1385991Svbart@nginx.com</changes> 1386991Svbart@nginx.com 1387991Svbart@nginx.com 1388991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1389991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1390991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1391991Svbart@nginx.com 1392991Svbart@nginx.com<change> 1393991Svbart@nginx.com<para> 1394991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 1395991Svbart@nginx.com</para> 1396991Svbart@nginx.com</change> 1397991Svbart@nginx.com 1398991Svbart@nginx.com</changes> 1399991Svbart@nginx.com 1400991Svbart@nginx.com 1401991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 1402991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1403991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1404991Svbart@nginx.com 1405991Svbart@nginx.com<change> 1406991Svbart@nginx.com<para> 1407991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 1408991Svbart@nginx.com</para> 1409991Svbart@nginx.com</change> 1410991Svbart@nginx.com 1411991Svbart@nginx.com</changes> 1412991Svbart@nginx.com 1413991Svbart@nginx.com 1414991Svbart@nginx.com<changes apply="unit-php 1415991Svbart@nginx.com unit-python unit-python2.7 1416991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1417991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1418991Svbart@nginx.com unit-perl 1419991Svbart@nginx.com unit-ruby" 1420991Svbart@nginx.com ver="1.8.0" rev="1" 1421991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1422991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1423991Svbart@nginx.com 1424991Svbart@nginx.com<change> 1425991Svbart@nginx.com<para> 1426991Svbart@nginx.comNGINX Unit updated to 1.8.0. 1427991Svbart@nginx.com</para> 1428991Svbart@nginx.com</change> 1429991Svbart@nginx.com 1430991Svbart@nginx.com</changes> 1431991Svbart@nginx.com 1432991Svbart@nginx.com 1433991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 1434991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1435991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1436991Svbart@nginx.com 1437991Svbart@nginx.com<change type="change"> 1438991Svbart@nginx.com<para> 1439991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 1440991Svbart@nginx.comand patch versions. 1441991Svbart@nginx.com</para> 1442991Svbart@nginx.com</change> 1443991Svbart@nginx.com 1444991Svbart@nginx.com<change type="change"> 1445991Svbart@nginx.com<para> 1446991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 1447991Svbart@nginx.comthe query component. 1448991Svbart@nginx.com</para> 1449991Svbart@nginx.com</change> 1450991Svbart@nginx.com 1451991Svbart@nginx.com<change type="feature"> 1452991Svbart@nginx.com<para> 1453991Svbart@nginx.combasic internal request routing by Host, URI, and method. 1454991Svbart@nginx.com</para> 1455991Svbart@nginx.com</change> 1456991Svbart@nginx.com 1457991Svbart@nginx.com<change type="feature"> 1458991Svbart@nginx.com<para> 1459991Svbart@nginx.comexperimental support for Java Servlet Containers. 1460991Svbart@nginx.com</para> 1461991Svbart@nginx.com</change> 1462991Svbart@nginx.com 1463991Svbart@nginx.com<change type="bugfix"> 1464991Svbart@nginx.com<para> 1465991Svbart@nginx.comsegmentation fault might have occurred in the router process. 1466991Svbart@nginx.com</para> 1467991Svbart@nginx.com</change> 1468991Svbart@nginx.com 1469991Svbart@nginx.com<change type="bugfix"> 1470991Svbart@nginx.com<para> 1471991Svbart@nginx.comvarious potential memory leaks. 1472991Svbart@nginx.com</para> 1473991Svbart@nginx.com</change> 1474991Svbart@nginx.com 1475991Svbart@nginx.com<change type="bugfix"> 1476991Svbart@nginx.com<para> 1477991Svbart@nginx.comTLS connections might have stalled. 1478991Svbart@nginx.com</para> 1479991Svbart@nginx.com</change> 1480991Svbart@nginx.com 1481991Svbart@nginx.com<change type="bugfix"> 1482991Svbart@nginx.com<para> 1483991Svbart@nginx.comsome Perl applications might have failed to send the response body. 1484991Svbart@nginx.com</para> 1485991Svbart@nginx.com</change> 1486991Svbart@nginx.com 1487991Svbart@nginx.com<change type="bugfix"> 1488991Svbart@nginx.com<para> 1489991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 1490991Svbart@nginx.comthe bug had appeared in 1.5. 1491991Svbart@nginx.com</para> 1492991Svbart@nginx.com</change> 1493991Svbart@nginx.com 1494991Svbart@nginx.com<change type="bugfix"> 1495991Svbart@nginx.com<para> 1496991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 1497991Svbart@nginx.com</para> 1498991Svbart@nginx.com</change> 1499991Svbart@nginx.com 1500991Svbart@nginx.com</changes> 1501991Svbart@nginx.com 1502991Svbart@nginx.com 1503926Svbart@nginx.com<changes apply="unit-php 1504926Svbart@nginx.com unit-python unit-python2.7 1505926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1506926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1507926Svbart@nginx.com unit-perl 1508926Svbart@nginx.com unit-ruby" 1509926Svbart@nginx.com ver="1.7.1" rev="1" 1510926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1511926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1512926Svbart@nginx.com 1513926Svbart@nginx.com<change> 1514926Svbart@nginx.com<para> 1515926Svbart@nginx.comNGINX Unit updated to 1.7.1. 1516926Svbart@nginx.com</para> 1517926Svbart@nginx.com</change> 1518926Svbart@nginx.com 1519926Svbart@nginx.com</changes> 1520926Svbart@nginx.com 1521926Svbart@nginx.com 1522926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 1523926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1524926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1525926Svbart@nginx.com 1526926Svbart@nginx.com<change type="security"> 1527926Svbart@nginx.com<para> 1528926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 1529926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 1530926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 1531926Svbart@nginx.com</para> 1532926Svbart@nginx.com</change> 1533926Svbart@nginx.com 1534926Svbart@nginx.com<change type="bugfix"> 1535926Svbart@nginx.com<para> 1536926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 1537926Svbart@nginx.comthe bug had appeared in 1.7. 1538926Svbart@nginx.com</para> 1539926Svbart@nginx.com</change> 1540926Svbart@nginx.com 1541926Svbart@nginx.com</changes> 1542926Svbart@nginx.com 1543926Svbart@nginx.com 1544902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 1545902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 1546902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1547902Sdefan@nginx.com 1548902Sdefan@nginx.com<change> 1549902Sdefan@nginx.com<para> 1550902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 1551902Sdefan@nginx.com</para> 1552902Sdefan@nginx.com</change> 1553902Sdefan@nginx.com 1554902Sdefan@nginx.com</changes> 1555902Sdefan@nginx.com 1556902Sdefan@nginx.com 1557821Svbart@nginx.com<changes apply="unit-php 1558821Svbart@nginx.com unit-python unit-python2.7 1559821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1560821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1561821Svbart@nginx.com unit-perl 1562821Svbart@nginx.com unit-ruby" 1563886Svbart@nginx.com ver="1.7" rev="1" 1564886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1565886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1566886Svbart@nginx.com 1567886Svbart@nginx.com<change> 1568886Svbart@nginx.com<para> 1569886Svbart@nginx.comNGINX Unit updated to 1.7. 1570886Svbart@nginx.com</para> 1571886Svbart@nginx.com</change> 1572886Svbart@nginx.com 1573886Svbart@nginx.com</changes> 1574886Svbart@nginx.com 1575886Svbart@nginx.com 1576886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 1577886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1578886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1579886Svbart@nginx.com 1580886Svbart@nginx.com<change type="change"> 1581886Svbart@nginx.com<para> 1582886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 1583886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 1584886Svbart@nginx.com</para> 1585886Svbart@nginx.com</change> 1586886Svbart@nginx.com 1587886Svbart@nginx.com<change type="bugfix"> 1588886Svbart@nginx.com<para> 1589886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 1590886Svbart@nginx.comdid not work. 1591886Svbart@nginx.com</para> 1592886Svbart@nginx.com</change> 1593886Svbart@nginx.com 1594886Svbart@nginx.com<change type="bugfix"> 1595886Svbart@nginx.com<para> 1596886Svbart@nginx.comPromises on request data in Node.js were not triggered. 1597886Svbart@nginx.com</para> 1598886Svbart@nginx.com</change> 1599886Svbart@nginx.com 1600886Svbart@nginx.com<change type="bugfix"> 1601886Svbart@nginx.com<para> 1602886Svbart@nginx.comvarious compatibility issues with Node.js applications. 1603886Svbart@nginx.com</para> 1604886Svbart@nginx.com</change> 1605886Svbart@nginx.com 1606886Svbart@nginx.com<change type="bugfix"> 1607886Svbart@nginx.com<para> 1608886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 1609886Svbart@nginx.comrequest body after request.end() was called. 1610886Svbart@nginx.com</para> 1611886Svbart@nginx.com</change> 1612886Svbart@nginx.com 1613886Svbart@nginx.com<change type="bugfix"> 1614886Svbart@nginx.com<para> 1615886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 1616886Svbart@nginx.comsend header twice. 1617886Svbart@nginx.com</para> 1618886Svbart@nginx.com</change> 1619886Svbart@nginx.com 1620886Svbart@nginx.com<change type="bugfix"> 1621886Svbart@nginx.com<para> 1622886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 1623886Svbart@nginx.comcase-sensitive. 1624886Svbart@nginx.com</para> 1625886Svbart@nginx.com</change> 1626886Svbart@nginx.com 1627886Svbart@nginx.com<change type="bugfix"> 1628886Svbart@nginx.com<para> 1629886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 1630886Svbart@nginx.com</para> 1631886Svbart@nginx.com</change> 1632886Svbart@nginx.com 1633886Svbart@nginx.com<change type="bugfix"> 1634886Svbart@nginx.com<para> 1635886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 1636886Svbart@nginx.comthe bug had appeared in 1.6. 1637886Svbart@nginx.com</para> 1638886Svbart@nginx.com</change> 1639886Svbart@nginx.com 1640886Svbart@nginx.com<change type="bugfix"> 1641886Svbart@nginx.com<para> 1642886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 1643886Svbart@nginx.combe logged. 1644886Svbart@nginx.com</para> 1645886Svbart@nginx.com</change> 1646886Svbart@nginx.com 1647886Svbart@nginx.com<change type="bugfix"> 1648886Svbart@nginx.com<para> 1649886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 1650886Svbart@nginx.comenabled. 1651886Svbart@nginx.com</para> 1652886Svbart@nginx.com</change> 1653886Svbart@nginx.com 1654886Svbart@nginx.com</changes> 1655886Svbart@nginx.com 1656886Svbart@nginx.com 1657886Svbart@nginx.com<changes apply="unit-php 1658886Svbart@nginx.com unit-python unit-python2.7 1659886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1660886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1661886Svbart@nginx.com unit-perl 1662886Svbart@nginx.com unit-ruby" 1663846Svbart@nginx.com ver="1.6" rev="1" 1664846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1665846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1666846Svbart@nginx.com 1667846Svbart@nginx.com<change> 1668846Svbart@nginx.com<para> 1669846Svbart@nginx.comNGINX Unit updated to 1.6. 1670846Svbart@nginx.com</para> 1671846Svbart@nginx.com</change> 1672846Svbart@nginx.com 1673846Svbart@nginx.com</changes> 1674846Svbart@nginx.com 1675846Svbart@nginx.com 1676846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 1677846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1678846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1679846Svbart@nginx.com 1680846Svbart@nginx.com<change type="change"> 1681846Svbart@nginx.com<para> 1682846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 1683846Svbart@nginx.com</para> 1684846Svbart@nginx.com</change> 1685846Svbart@nginx.com 1686846Svbart@nginx.com<change type="feature"> 1687846Svbart@nginx.com<para> 1688846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 1689846Svbart@nginx.com</para> 1690846Svbart@nginx.com</change> 1691846Svbart@nginx.com 1692846Svbart@nginx.com<change type="bugfix"> 1693846Svbart@nginx.com<para> 1694846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 1695846Svbart@nginx.com</para> 1696846Svbart@nginx.com</change> 1697846Svbart@nginx.com 1698846Svbart@nginx.com<change type="bugfix"> 1699846Svbart@nginx.com<para> 1700846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 1701846Svbart@nginx.com</para> 1702846Svbart@nginx.com</change> 1703846Svbart@nginx.com 1704846Svbart@nginx.com<change type="bugfix"> 1705846Svbart@nginx.com<para> 1706846Svbart@nginx.comvarious compatibility issues with Node.js applications. 1707846Svbart@nginx.com</para> 1708846Svbart@nginx.com</change> 1709846Svbart@nginx.com 1710846Svbart@nginx.com<change type="bugfix"> 1711846Svbart@nginx.com<para> 1712846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 1713846Svbart@nginx.com</para> 1714846Svbart@nginx.com</change> 1715846Svbart@nginx.com 1716846Svbart@nginx.com<change type="bugfix"> 1717846Svbart@nginx.com<para> 1718885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 1719846Svbart@nginx.com</para> 1720846Svbart@nginx.com</change> 1721846Svbart@nginx.com 1722846Svbart@nginx.com</changes> 1723846Svbart@nginx.com 1724846Svbart@nginx.com 1725846Svbart@nginx.com<changes apply="unit-php 1726846Svbart@nginx.com unit-python unit-python2.7 1727846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1728846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1729846Svbart@nginx.com unit-perl 1730846Svbart@nginx.com unit-ruby" 1731821Svbart@nginx.com ver="1.5" rev="1" 1732821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 1733821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1734821Svbart@nginx.com 1735821Svbart@nginx.com<change> 1736821Svbart@nginx.com<para> 1737821Svbart@nginx.comNGINX Unit updated to 1.5. 1738821Svbart@nginx.com</para> 1739821Svbart@nginx.com</change> 1740821Svbart@nginx.com 1741821Svbart@nginx.com</changes> 1742821Svbart@nginx.com 1743821Svbart@nginx.com 1744820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 1745820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 1746820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1747820Svbart@nginx.com 1748820Svbart@nginx.com<change type="change"> 1749820Svbart@nginx.com<para> 1750820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 1751820Svbart@nginx.com</para> 1752820Svbart@nginx.com</change> 1753820Svbart@nginx.com 1754820Svbart@nginx.com<change type="feature"> 1755820Svbart@nginx.com<para> 1756820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 1757820Svbart@nginx.com</para> 1758820Svbart@nginx.com</change> 1759820Svbart@nginx.com 1760820Svbart@nginx.com<change type="feature"> 1761820Svbart@nginx.com<para> 1762820Svbart@nginx.comcompatibility with LibreSSL. 1763820Svbart@nginx.com</para> 1764820Svbart@nginx.com</change> 1765820Svbart@nginx.com 1766820Svbart@nginx.com<change type="feature"> 1767820Svbart@nginx.com<para> 1768820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 1769820Svbart@nginx.comand static library. 1770820Svbart@nginx.com</para> 1771820Svbart@nginx.com</change> 1772820Svbart@nginx.com 1773820Svbart@nginx.com<change type="bugfix"> 1774820Svbart@nginx.com<para> 1775820Svbart@nginx.comconnection might be closed prematurely while sending response; 1776820Svbart@nginx.comthe bug had appeared in 1.3. 1777820Svbart@nginx.com</para> 1778820Svbart@nginx.com</change> 1779820Svbart@nginx.com 1780820Svbart@nginx.com<change type="bugfix"> 1781820Svbart@nginx.com<para> 1782820Svbart@nginx.comapplication processes might have stopped handling requests, producing 1783820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 1784820Svbart@nginx.comthe bug had appeared in 1.4. 1785820Svbart@nginx.com</para> 1786820Svbart@nginx.com</change> 1787820Svbart@nginx.com 1788820Svbart@nginx.com<change type="bugfix"> 1789820Svbart@nginx.com<para> 1790885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 1791820Svbart@nginx.com</para> 1792820Svbart@nginx.com</change> 1793820Svbart@nginx.com 1794820Svbart@nginx.com</changes> 1795820Svbart@nginx.com 1796820Svbart@nginx.com 1797689Svbart@nginx.com<changes apply="unit-php 1798689Svbart@nginx.com unit-python unit-python2.7 1799689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1800689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1801689Svbart@nginx.com unit-perl 1802689Svbart@nginx.com unit-ruby" 1803788Sdefan@nginx.com ver="1.4" rev="2" 1804788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 1805788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1806788Sdefan@nginx.com 1807788Sdefan@nginx.com<change type="bugfix"> 1808788Sdefan@nginx.com<para> 1809788Sdefan@nginx.comcorrected instructions for launching sample application. 1810788Sdefan@nginx.com</para> 1811788Sdefan@nginx.com</change> 1812788Sdefan@nginx.com 1813788Sdefan@nginx.com</changes> 1814788Sdefan@nginx.com 1815788Sdefan@nginx.com 1816788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 1817788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 1818788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1819788Sdefan@nginx.com 1820788Sdefan@nginx.com<change type="change"> 1821788Sdefan@nginx.com<para> 1822788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 1823788Sdefan@nginx.com</para> 1824788Sdefan@nginx.com</change> 1825788Sdefan@nginx.com 1826788Sdefan@nginx.com</changes> 1827788Sdefan@nginx.com 1828788Sdefan@nginx.com 1829788Sdefan@nginx.com<changes apply="unit-php 1830788Sdefan@nginx.com unit-python unit-python2.7 1831788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1832788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1833788Sdefan@nginx.com unit-perl 1834788Sdefan@nginx.com unit-ruby" 1835783Svbart@nginx.com ver="1.4" rev="1" 1836783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 1837783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1838783Svbart@nginx.com 1839783Svbart@nginx.com<change> 1840783Svbart@nginx.com<para> 1841783Svbart@nginx.comNGINX Unit updated to 1.4. 1842783Svbart@nginx.com</para> 1843783Svbart@nginx.com</change> 1844783Svbart@nginx.com 1845783Svbart@nginx.com</changes> 1846783Svbart@nginx.com 1847783Svbart@nginx.com 1848783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 1849783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 1850783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1851783Svbart@nginx.com 1852783Svbart@nginx.com<change type="change"> 1853783Svbart@nginx.com<para> 1854783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 1855783Svbart@nginx.com</para> 1856783Svbart@nginx.com</change> 1857783Svbart@nginx.com 1858783Svbart@nginx.com<change type="feature"> 1859783Svbart@nginx.com<para> 1860783Svbart@nginx.comTLS support for client connections. 1861783Svbart@nginx.com</para> 1862783Svbart@nginx.com</change> 1863783Svbart@nginx.com 1864783Svbart@nginx.com<change type="feature"> 1865783Svbart@nginx.com<para> 1866783Svbart@nginx.comTLS certificates storage control API. 1867783Svbart@nginx.com</para> 1868783Svbart@nginx.com</change> 1869783Svbart@nginx.com 1870783Svbart@nginx.com<change type="feature"> 1871783Svbart@nginx.com<para> 1872783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 1873783Svbart@nginx.com</para> 1874783Svbart@nginx.com</change> 1875783Svbart@nginx.com 1876783Svbart@nginx.com<change type="feature"> 1877783Svbart@nginx.com<para> 1878783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 1879783Svbart@nginx.com</para> 1880783Svbart@nginx.com</change> 1881783Svbart@nginx.com 1882783Svbart@nginx.com<change type="feature"> 1883783Svbart@nginx.com<para> 1884783Svbart@nginx.comimprovements in OpenBSD support. 1885783Svbart@nginx.comThanks to David Carlier. 1886783Svbart@nginx.com</para> 1887783Svbart@nginx.com</change> 1888783Svbart@nginx.com 1889783Svbart@nginx.com<change type="bugfix"> 1890783Svbart@nginx.com<para> 1891783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 1892783Svbart@nginx.com</para> 1893783Svbart@nginx.com</change> 1894783Svbart@nginx.com 1895783Svbart@nginx.com<change type="bugfix"> 1896783Svbart@nginx.com<para> 1897783Svbart@nginx.combuilding on systems with non-default locale might be broken. 1898783Svbart@nginx.com</para> 1899783Svbart@nginx.com</change> 1900783Svbart@nginx.com 1901783Svbart@nginx.com<change type="bugfix"> 1902783Svbart@nginx.com<para> 1903783Svbart@nginx.com"header_read_timeout" might not work properly. 1904783Svbart@nginx.com</para> 1905783Svbart@nginx.com</change> 1906783Svbart@nginx.com 1907783Svbart@nginx.com<change type="bugfix"> 1908783Svbart@nginx.com<para> 1909783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 1910783Svbart@nginx.comin Python 3 module. 1911783Svbart@nginx.com</para> 1912783Svbart@nginx.com</change> 1913783Svbart@nginx.com 1914783Svbart@nginx.com</changes> 1915783Svbart@nginx.com 1916783Svbart@nginx.com 1917783Svbart@nginx.com<changes apply="unit-php 1918783Svbart@nginx.com unit-python unit-python2.7 1919783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1920783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1921783Svbart@nginx.com unit-perl 1922783Svbart@nginx.com unit-ruby" 1923727Svbart@nginx.com ver="1.3" rev="1" 1924727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 1925727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1926727Svbart@nginx.com 1927727Svbart@nginx.com<change> 1928727Svbart@nginx.com<para> 1929727Svbart@nginx.comNGINX Unit updated to 1.3. 1930727Svbart@nginx.com</para> 1931727Svbart@nginx.com</change> 1932727Svbart@nginx.com 1933727Svbart@nginx.com</changes> 1934727Svbart@nginx.com 1935727Svbart@nginx.com 1936727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 1937727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 1938727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1939727Svbart@nginx.com 1940727Svbart@nginx.com<change type="change"> 1941727Svbart@nginx.com<para> 1942727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 1943727Svbart@nginx.com</para> 1944727Svbart@nginx.com</change> 1945727Svbart@nginx.com 1946727Svbart@nginx.com<change type="feature"> 1947727Svbart@nginx.com<para> 1948727Svbart@nginx.comconfiguration of the request body size limit. 1949727Svbart@nginx.com</para> 1950727Svbart@nginx.com</change> 1951727Svbart@nginx.com 1952727Svbart@nginx.com<change type="feature"> 1953727Svbart@nginx.com<para> 1954727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 1955727Svbart@nginx.com</para> 1956727Svbart@nginx.com</change> 1957727Svbart@nginx.com 1958727Svbart@nginx.com<change type="feature"> 1959727Svbart@nginx.com<para> 1960727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 1961727Svbart@nginx.com</para> 1962727Svbart@nginx.com</change> 1963727Svbart@nginx.com 1964727Svbart@nginx.com<change type="feature"> 1965727Svbart@nginx.com<para> 1966727Svbart@nginx.comhttp.Flusher interface in Go module. 1967727Svbart@nginx.com</para> 1968727Svbart@nginx.com</change> 1969727Svbart@nginx.com 1970727Svbart@nginx.com<change type="bugfix"> 1971727Svbart@nginx.com<para> 1972727Svbart@nginx.comvarious issues in HTTP connection errors handling. 1973727Svbart@nginx.com</para> 1974727Svbart@nginx.com</change> 1975727Svbart@nginx.com 1976727Svbart@nginx.com<change type="bugfix"> 1977727Svbart@nginx.com<para> 1978727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 1979727Svbart@nginx.com</para> 1980727Svbart@nginx.com</change> 1981727Svbart@nginx.com 1982727Svbart@nginx.com<change type="bugfix"> 1983727Svbart@nginx.com<para> 1984727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 1985727Svbart@nginx.comto previous values after the first request in application process. 1986727Svbart@nginx.com</para> 1987727Svbart@nginx.com</change> 1988727Svbart@nginx.com 1989727Svbart@nginx.com</changes> 1990727Svbart@nginx.com 1991727Svbart@nginx.com 1992727Svbart@nginx.com<changes apply="unit-php 1993727Svbart@nginx.com unit-python unit-python2.7 1994727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1995727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1996727Svbart@nginx.com unit-perl 1997727Svbart@nginx.com unit-ruby" 1998689Svbart@nginx.com ver="1.2" rev="1" 1999689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2000689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2001689Svbart@nginx.com 2002689Svbart@nginx.com<change> 2003689Svbart@nginx.com<para> 2004689Svbart@nginx.comNGINX Unit updated to 1.2. 2005689Svbart@nginx.com</para> 2006689Svbart@nginx.com</change> 2007689Svbart@nginx.com 2008689Svbart@nginx.com</changes> 2009689Svbart@nginx.com 2010689Svbart@nginx.com 2011689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 2012689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2013689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2014689Svbart@nginx.com 2015689Svbart@nginx.com<change type="feature"> 2016689Svbart@nginx.com<para> 2017689Svbart@nginx.comconfiguration of environment variables for application processes. 2018689Svbart@nginx.com</para> 2019689Svbart@nginx.com</change> 2020689Svbart@nginx.com 2021689Svbart@nginx.com<change type="feature"> 2022689Svbart@nginx.com<para> 2023689Svbart@nginx.comcustomization of php.ini path. 2024689Svbart@nginx.com</para> 2025689Svbart@nginx.com</change> 2026689Svbart@nginx.com 2027689Svbart@nginx.com<change type="feature"> 2028689Svbart@nginx.com<para> 2029689Svbart@nginx.comsetting of individual PHP configuration options. 2030689Svbart@nginx.com</para> 2031689Svbart@nginx.com</change> 2032689Svbart@nginx.com 2033689Svbart@nginx.com<change type="feature"> 2034689Svbart@nginx.com<para> 2035689Svbart@nginx.comconfiguration of execution arguments for Go applications. 2036689Svbart@nginx.com</para> 2037689Svbart@nginx.com</change> 2038689Svbart@nginx.com 2039689Svbart@nginx.com<change type="bugfix"> 2040689Svbart@nginx.com<para> 2041689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 2042689Svbart@nginx.com</para> 2043689Svbart@nginx.com</change> 2044689Svbart@nginx.com 2045689Svbart@nginx.com</changes> 2046689Svbart@nginx.com 2047689Svbart@nginx.com 2048672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 2049672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 2050672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2051672Sdefan@nginx.com 2052672Sdefan@nginx.com<change> 2053672Sdefan@nginx.com<para> 2054672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 2055672Sdefan@nginx.com</para> 2056672Sdefan@nginx.com</change> 2057672Sdefan@nginx.com 2058672Sdefan@nginx.com</changes> 2059672Sdefan@nginx.com 2060672Sdefan@nginx.com 2061548Sdefan@nginx.com<changes apply="unit-php 2062548Sdefan@nginx.com unit-python unit-python2.7 2063548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2064548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2065639Svbart@nginx.com unit-perl 2066639Svbart@nginx.com unit-ruby" 2067666Svbart@nginx.com ver="1.1" rev="1" 2068666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2069666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2070666Svbart@nginx.com 2071666Svbart@nginx.com<change> 2072666Svbart@nginx.com<para> 2073666Svbart@nginx.comNGINX Unit updated to 1.1. 2074666Svbart@nginx.com</para> 2075666Svbart@nginx.com</change> 2076666Svbart@nginx.com 2077666Svbart@nginx.com</changes> 2078666Svbart@nginx.com 2079666Svbart@nginx.com 2080666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 2081666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2082666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2083666Svbart@nginx.com 2084666Svbart@nginx.com<change type="bugfix"> 2085666Svbart@nginx.com<para> 2086666Svbart@nginx.comPython applications that use the write() callable did not work. 2087666Svbart@nginx.com</para> 2088666Svbart@nginx.com</change> 2089666Svbart@nginx.com 2090666Svbart@nginx.com<change type="bugfix"> 2091666Svbart@nginx.com<para> 2092666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2093666Svbart@nginx.com</para> 2094666Svbart@nginx.com</change> 2095666Svbart@nginx.com 2096666Svbart@nginx.com<change type="bugfix"> 2097666Svbart@nginx.com<para> 2098666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2099666Svbart@nginx.comwhen the whole body was read. 2100666Svbart@nginx.com</para> 2101666Svbart@nginx.com</change> 2102666Svbart@nginx.com 2103666Svbart@nginx.com<change type="bugfix"> 2104666Svbart@nginx.com<para> 2105666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2106666Svbart@nginx.com</para> 2107666Svbart@nginx.com</change> 2108666Svbart@nginx.com 2109666Svbart@nginx.com<change type="bugfix"> 2110666Svbart@nginx.com<para> 2111666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2112666Svbart@nginx.com</para> 2113666Svbart@nginx.com</change> 2114666Svbart@nginx.com 2115666Svbart@nginx.com<change type="bugfix"> 2116666Svbart@nginx.com<para> 2117666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2118666Svbart@nginx.com</para> 2119666Svbart@nginx.com</change> 2120666Svbart@nginx.com 2121666Svbart@nginx.com<change type="bugfix"> 2122666Svbart@nginx.com<para> 2123666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2124666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2125666Svbart@nginx.com</para> 2126666Svbart@nginx.com</change> 2127666Svbart@nginx.com 2128666Svbart@nginx.com<change type="bugfix"> 2129666Svbart@nginx.com<para> 2130666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2131666Svbart@nginx.comon 32-bit platforms. 2132666Svbart@nginx.com</para> 2133666Svbart@nginx.com</change> 2134666Svbart@nginx.com 2135666Svbart@nginx.com</changes> 2136666Svbart@nginx.com 2137666Svbart@nginx.com 2138666Svbart@nginx.com<changes apply="unit-php 2139666Svbart@nginx.com unit-python unit-python2.7 2140666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2141666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2142666Svbart@nginx.com unit-perl 2143666Svbart@nginx.com unit-ruby" 2144639Svbart@nginx.com ver="1.0" rev="1" 2145639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2146639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2147639Svbart@nginx.com 2148639Svbart@nginx.com<change> 2149639Svbart@nginx.com<para> 2150639Svbart@nginx.comNGINX Unit updated to 1.0. 2151639Svbart@nginx.com</para> 2152639Svbart@nginx.com</change> 2153639Svbart@nginx.com 2154639Svbart@nginx.com</changes> 2155639Svbart@nginx.com 2156639Svbart@nginx.com 2157639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2158639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2159639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2160639Svbart@nginx.com 2161639Svbart@nginx.com<change type="change"> 2162639Svbart@nginx.com<para> 2163639Svbart@nginx.comconfiguration object moved into "/config/" path. 2164639Svbart@nginx.com</para> 2165639Svbart@nginx.com</change> 2166639Svbart@nginx.com 2167639Svbart@nginx.com<change type="feature"> 2168639Svbart@nginx.com<para> 2169639Svbart@nginx.combasic access logging. 2170639Svbart@nginx.com</para> 2171639Svbart@nginx.com</change> 2172639Svbart@nginx.com 2173639Svbart@nginx.com<change type="bugfix"> 2174639Svbart@nginx.com<para> 2175639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2176639Svbart@nginx.com</para> 2177639Svbart@nginx.com</change> 2178639Svbart@nginx.com 2179639Svbart@nginx.com<change type="bugfix"> 2180639Svbart@nginx.com<para> 2181663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2182639Svbart@nginx.com</para> 2183639Svbart@nginx.com</change> 2184639Svbart@nginx.com 2185639Svbart@nginx.com<change type="bugfix"> 2186639Svbart@nginx.com<para> 2187639Svbart@nginx.comvarious stability issues. 2188639Svbart@nginx.com</para> 2189639Svbart@nginx.com</change> 2190639Svbart@nginx.com 2191639Svbart@nginx.com</changes> 2192639Svbart@nginx.com 2193639Svbart@nginx.com 2194639Svbart@nginx.com<changes apply="unit-php 2195639Svbart@nginx.com unit-python unit-python2.7 2196639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2197639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2198548Sdefan@nginx.com unit-perl" 2199586Svbart@nginx.com ver="0.7" rev="1" 2200586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2201586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2202586Svbart@nginx.com 2203586Svbart@nginx.com<change> 2204586Svbart@nginx.com<para> 2205586Svbart@nginx.comNGINX Unit updated to 0.7. 2206586Svbart@nginx.com</para> 2207586Svbart@nginx.com</change> 2208586Svbart@nginx.com 2209586Svbart@nginx.com</changes> 2210586Svbart@nginx.com 2211586Svbart@nginx.com 2212600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2213600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2214600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2215600Sdefan@nginx.com 2216600Sdefan@nginx.com<change> 2217600Sdefan@nginx.com<para> 2218600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2219600Sdefan@nginx.com</para> 2220600Sdefan@nginx.com</change> 2221600Sdefan@nginx.com 2222600Sdefan@nginx.com</changes> 2223600Sdefan@nginx.com 2224600Sdefan@nginx.com 2225586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2226586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2227586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2228586Svbart@nginx.com 2229586Svbart@nginx.com<change type="feature"> 2230586Svbart@nginx.com<para> 2231586Svbart@nginx.comRuby application module. 2232586Svbart@nginx.com</para> 2233586Svbart@nginx.com</change> 2234586Svbart@nginx.com 2235586Svbart@nginx.com<change type="bugfix"> 2236586Svbart@nginx.com<para> 2237586Svbart@nginx.comin discovering modules. 2238586Svbart@nginx.com</para> 2239586Svbart@nginx.com</change> 2240586Svbart@nginx.com 2241586Svbart@nginx.com<change type="bugfix"> 2242586Svbart@nginx.com<para> 2243586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2244586Svbart@nginx.com</para> 2245586Svbart@nginx.com</change> 2246586Svbart@nginx.com 2247586Svbart@nginx.com<change type="bugfix"> 2248586Svbart@nginx.com<para> 2249586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2250586Svbart@nginx.com</para> 2251586Svbart@nginx.com</change> 2252586Svbart@nginx.com 2253586Svbart@nginx.com<change type="bugfix"> 2254586Svbart@nginx.com<para> 2255586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2256586Svbart@nginx.comoutside of WSGI callable. 2257586Svbart@nginx.com</para> 2258586Svbart@nginx.com</change> 2259586Svbart@nginx.com 2260586Svbart@nginx.com<change type="bugfix"> 2261586Svbart@nginx.com<para> 2262663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2263663Svbart@nginx.comwhile initialization. 2264586Svbart@nginx.com</para> 2265586Svbart@nginx.com</change> 2266586Svbart@nginx.com 2267586Svbart@nginx.com</changes> 2268586Svbart@nginx.com 2269586Svbart@nginx.com 2270586Svbart@nginx.com<changes apply="unit-php 2271586Svbart@nginx.com unit-python unit-python2.7 2272586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2273586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2274586Svbart@nginx.com unit-perl" 2275548Sdefan@nginx.com ver="0.6" rev="1" 2276539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2277539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2278539Svbart@nginx.com 2279539Svbart@nginx.com<change> 2280539Svbart@nginx.com<para> 2281539Svbart@nginx.comNGINX Unit updated to 0.6. 2282539Svbart@nginx.com</para> 2283539Svbart@nginx.com</change> 2284539Svbart@nginx.com 2285539Svbart@nginx.com</changes> 2286539Svbart@nginx.com 2287539Svbart@nginx.com 2288539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2289539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2290539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2291539Svbart@nginx.com 2292539Svbart@nginx.com<change type="bugfix"> 2293539Svbart@nginx.com<para> 2294539Svbart@nginx.comthe main process died when the "type" application option contained version; 2295539Svbart@nginx.comthe bug had appeared in 0.5. 2296539Svbart@nginx.com</para> 2297539Svbart@nginx.com</change> 2298539Svbart@nginx.com 2299539Svbart@nginx.com</changes> 2300539Svbart@nginx.com 2301539Svbart@nginx.com 2302548Sdefan@nginx.com<changes apply="unit-php 2303548Sdefan@nginx.com unit-python unit-python2.7 2304548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2305548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2306548Sdefan@nginx.com ver="0.5" rev="1" 2307531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2308531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2309531Svbart@nginx.com 2310531Svbart@nginx.com<change> 2311531Svbart@nginx.com<para> 2312531Svbart@nginx.comNGINX Unit updated to 0.5. 2313531Svbart@nginx.com</para> 2314531Svbart@nginx.com</change> 2315531Svbart@nginx.com 2316531Svbart@nginx.com</changes> 2317531Svbart@nginx.com 2318531Svbart@nginx.com 2319524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2320531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2321524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2322524Sdefan@nginx.com 2323524Sdefan@nginx.com<change> 2324524Sdefan@nginx.com<para> 2325524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2326524Sdefan@nginx.com</para> 2327524Sdefan@nginx.com</change> 2328524Sdefan@nginx.com 2329524Sdefan@nginx.com</changes> 2330524Sdefan@nginx.com 2331524Sdefan@nginx.com 2332531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2333531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2334531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2335531Svbart@nginx.com 2336531Svbart@nginx.com<change type="change"> 2337531Svbart@nginx.com<para> 2338531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2339531Svbart@nginx.comapplication option should be used instead. 2340531Svbart@nginx.com</para> 2341531Svbart@nginx.com</change> 2342531Svbart@nginx.com 2343531Svbart@nginx.com<change type="feature"> 2344531Svbart@nginx.com<para> 2345531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2346531Svbart@nginx.comprocess management support. 2347531Svbart@nginx.com</para> 2348531Svbart@nginx.com</change> 2349531Svbart@nginx.com 2350531Svbart@nginx.com<change type="feature"> 2351531Svbart@nginx.com<para> 2352531Svbart@nginx.comPerl application module. 2353531Svbart@nginx.com</para> 2354531Svbart@nginx.com</change> 2355531Svbart@nginx.com 2356531Svbart@nginx.com<change type="bugfix"> 2357531Svbart@nginx.com<para> 2358531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2359531Svbart@nginx.com</para> 2360531Svbart@nginx.com</change> 2361531Svbart@nginx.com 2362531Svbart@nginx.com<change type="bugfix"> 2363531Svbart@nginx.com<para> 2364663Svbart@nginx.comsome Python applications might not have worked due to missing 2365531Svbart@nginx.com"wsgi.errors" environ variable. 2366531Svbart@nginx.com</para> 2367531Svbart@nginx.com</change> 2368531Svbart@nginx.com 2369531Svbart@nginx.com<change type="bugfix"> 2370531Svbart@nginx.com<para> 2371531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2372531Svbart@nginx.complatforms. 2373531Svbart@nginx.com</para> 2374531Svbart@nginx.com</change> 2375531Svbart@nginx.com 2376531Svbart@nginx.com<change type="bugfix"> 2377531Svbart@nginx.com<para> 2378531Svbart@nginx.cominfinite looping in HTTP parser. 2379531Svbart@nginx.com</para> 2380531Svbart@nginx.com</change> 2381531Svbart@nginx.com 2382531Svbart@nginx.com<change type="bugfix"> 2383531Svbart@nginx.com<para> 2384531Svbart@nginx.comsegmentation fault in router. 2385531Svbart@nginx.com</para> 2386531Svbart@nginx.com</change> 2387531Svbart@nginx.com 2388531Svbart@nginx.com</changes> 2389531Svbart@nginx.com 2390531Svbart@nginx.com 2391548Sdefan@nginx.com<changes apply="unit-php 2392548Sdefan@nginx.com unit-python unit-python2.7 2393548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2394548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2395548Sdefan@nginx.com ver="0.4" rev="1" 2396469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2397469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2398469Sigor@sysoev.ru 2399469Sigor@sysoev.ru<change> 2400469Sigor@sysoev.ru<para> 2401469Sigor@sysoev.ruNGINX Unit updated to 0.4. 2402469Sigor@sysoev.ru</para> 2403469Sigor@sysoev.ru</change> 2404469Sigor@sysoev.ru 2405469Sigor@sysoev.ru</changes> 2406469Sigor@sysoev.ru 2407469Sigor@sysoev.ru 2408469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 2409469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2410469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2411469Sigor@sysoev.ru 2412469Sigor@sysoev.ru<change type="feature"> 2413469Sigor@sysoev.ru<para> 2414469Sigor@sysoev.rucompatibility with DragonFly BSD. 2415469Sigor@sysoev.ru</para> 2416469Sigor@sysoev.ru</change> 2417469Sigor@sysoev.ru 2418469Sigor@sysoev.ru<change type="feature"> 2419469Sigor@sysoev.ru<para> 2420469Sigor@sysoev.ru"configure php --lib-static" option. 2421469Sigor@sysoev.ru</para> 2422469Sigor@sysoev.ru</change> 2423469Sigor@sysoev.ru 2424469Sigor@sysoev.ru<change type="bugfix"> 2425469Sigor@sysoev.ru<para> 2426469Sigor@sysoev.ruHTTP request body was not passed to application; 2427469Sigor@sysoev.ruthe bug had appeared in 0.3. 2428469Sigor@sysoev.ru</para> 2429469Sigor@sysoev.ru</change> 2430469Sigor@sysoev.ru 2431469Sigor@sysoev.ru<change type="bugfix"> 2432469Sigor@sysoev.ru<para> 2433469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 2434469Sigor@sysoev.ruthe bug had appeared in 0.3. 2435469Sigor@sysoev.ru</para> 2436469Sigor@sysoev.ru</change> 2437469Sigor@sysoev.ru 2438469Sigor@sysoev.ru<change type="bugfix"> 2439469Sigor@sysoev.ru<para> 2440663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 2441469Sigor@sysoev.ru</para> 2442469Sigor@sysoev.ru</change> 2443469Sigor@sysoev.ru 2444469Sigor@sysoev.ru</changes> 2445469Sigor@sysoev.ru 2446469Sigor@sysoev.ru 2447441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 2448441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2449441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2450441Sdefan@nginx.com 2451441Sdefan@nginx.com<change> 2452441Sdefan@nginx.com<para> 2453441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 2454441Sdefan@nginx.com</para> 2455441Sdefan@nginx.com</change> 2456441Sdefan@nginx.com 2457441Sdefan@nginx.com</changes> 2458441Sdefan@nginx.com 2459441Sdefan@nginx.com 2460441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 2461441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2462441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2463441Sdefan@nginx.com 2464441Sdefan@nginx.com<change> 2465441Sdefan@nginx.com<para> 2466441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 2467441Sdefan@nginx.com</para> 2468441Sdefan@nginx.com</change> 2469441Sdefan@nginx.com 2470441Sdefan@nginx.com</changes> 2471441Sdefan@nginx.com 2472441Sdefan@nginx.com 2473548Sdefan@nginx.com<changes apply="unit-php 2474548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 2475548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 2476548Sdefan@nginx.com ver="0.3" rev="1" 2477432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2478432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2479432Sigor@sysoev.ru 2480432Sigor@sysoev.ru<change> 2481432Sigor@sysoev.ru<para> 2482432Sigor@sysoev.ruNGINX Unit updated to 0.3. 2483432Sigor@sysoev.ru</para> 2484432Sigor@sysoev.ru</change> 2485432Sigor@sysoev.ru 2486432Sigor@sysoev.ru</changes> 2487432Sigor@sysoev.ru 2488432Sigor@sysoev.ru 2489432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 2490432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2491432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2492432Sigor@sysoev.ru 2493432Sigor@sysoev.ru<change type="change"> 2494432Sigor@sysoev.ru<para> 2495432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 2496432Sigor@sysoev.ru</para> 2497432Sigor@sysoev.ru</change> 2498432Sigor@sysoev.ru 2499432Sigor@sysoev.ru<change type="change"> 2500432Sigor@sysoev.ru<para> 2501432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 2502432Sigor@sysoev.rutime in queue now are not accounted. 2503432Sigor@sysoev.ru</para> 2504432Sigor@sysoev.ru</change> 2505432Sigor@sysoev.ru 2506432Sigor@sysoev.ru<change type="feature"> 2507432Sigor@sysoev.ru<para> 2508432Sigor@sysoev.ruthe "limits.requests" application option. 2509432Sigor@sysoev.ru</para> 2510432Sigor@sysoev.ru</change> 2511432Sigor@sysoev.ru 2512432Sigor@sysoev.ru<change type="feature"> 2513432Sigor@sysoev.ru<para> 2514432Sigor@sysoev.ruapplication request processing latency optimization. 2515432Sigor@sysoev.ru</para> 2516432Sigor@sysoev.ru</change> 2517432Sigor@sysoev.ru 2518432Sigor@sysoev.ru<change type="feature"> 2519432Sigor@sysoev.ru<para> 2520432Sigor@sysoev.ruHTTP keep-alive connections support. 2521432Sigor@sysoev.ru</para> 2522432Sigor@sysoev.ru</change> 2523432Sigor@sysoev.ru 2524432Sigor@sysoev.ru<change type="feature"> 2525432Sigor@sysoev.ru<para> 2526432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 2527432Sigor@sysoev.ru</para> 2528432Sigor@sysoev.ru</change> 2529432Sigor@sysoev.ru 2530432Sigor@sysoev.ru<change type="feature"> 2531432Sigor@sysoev.ru<para> 2532432Sigor@sysoev.ruPython atexit hook support. 2533432Sigor@sysoev.ru</para> 2534432Sigor@sysoev.ru</change> 2535432Sigor@sysoev.ru 2536432Sigor@sysoev.ru<change type="feature"> 2537432Sigor@sysoev.ru<para> 2538432Sigor@sysoev.ruvarious Go package improvements. 2539432Sigor@sysoev.ru</para> 2540432Sigor@sysoev.ru</change> 2541432Sigor@sysoev.ru 2542432Sigor@sysoev.ru<change type="bugfix"> 2543432Sigor@sysoev.ru<para> 2544432Sigor@sysoev.ruvarious crashes fixed. 2545432Sigor@sysoev.ru</para> 2546432Sigor@sysoev.ru</change> 2547432Sigor@sysoev.ru 2548432Sigor@sysoev.ru</changes> 2549432Sigor@sysoev.ru 2550432Sigor@sysoev.ru 2551372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 2552372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2553372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2554372Sdefan@nginx.com 2555372Sdefan@nginx.com<change> 2556372Sdefan@nginx.com<para> 2557372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 2558372Sdefan@nginx.com</para> 2559372Sdefan@nginx.com</change> 2560372Sdefan@nginx.com 2561372Sdefan@nginx.com</changes> 2562372Sdefan@nginx.com 2563372Sdefan@nginx.com 2564373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 2565373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2566373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2567373Sdefan@nginx.com 2568373Sdefan@nginx.com<change> 2569373Sdefan@nginx.com<para> 2570373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 2571373Sdefan@nginx.com</para> 2572373Sdefan@nginx.com</change> 2573373Sdefan@nginx.com 2574373Sdefan@nginx.com</changes> 2575373Sdefan@nginx.com 2576373Sdefan@nginx.com 2577373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 2578373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2579373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2580373Sdefan@nginx.com 2581373Sdefan@nginx.com<change> 2582373Sdefan@nginx.com<para> 2583373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 2584373Sdefan@nginx.com</para> 2585373Sdefan@nginx.com</change> 2586373Sdefan@nginx.com 2587373Sdefan@nginx.com</changes> 2588373Sdefan@nginx.com 2589373Sdefan@nginx.com 2590372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 2591372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2592372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2593372Sdefan@nginx.com 2594372Sdefan@nginx.com<change> 2595372Sdefan@nginx.com<para> 2596372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 2597372Sdefan@nginx.com</para> 2598372Sdefan@nginx.com</change> 2599372Sdefan@nginx.com 2600372Sdefan@nginx.com</changes> 2601372Sdefan@nginx.com 2602372Sdefan@nginx.com 2603373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 2604373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2605373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2606373Sdefan@nginx.com 2607373Sdefan@nginx.com<change> 2608373Sdefan@nginx.com<para> 2609373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 2610373Sdefan@nginx.com</para> 2611373Sdefan@nginx.com</change> 2612373Sdefan@nginx.com 2613373Sdefan@nginx.com</changes> 2614373Sdefan@nginx.com 2615373Sdefan@nginx.com 2616373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 2617373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2618373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2619373Sdefan@nginx.com 2620373Sdefan@nginx.com<change> 2621373Sdefan@nginx.com<para> 2622373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 2623373Sdefan@nginx.com</para> 2624373Sdefan@nginx.com</change> 2625373Sdefan@nginx.com 2626373Sdefan@nginx.com</changes> 2627373Sdefan@nginx.com 2628373Sdefan@nginx.com 2629373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 2630373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2631373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2632373Sdefan@nginx.com 2633373Sdefan@nginx.com<change> 2634373Sdefan@nginx.com<para> 2635373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 2636373Sdefan@nginx.com</para> 2637373Sdefan@nginx.com</change> 2638373Sdefan@nginx.com 2639373Sdefan@nginx.com</changes> 2640373Sdefan@nginx.com 2641373Sdefan@nginx.com 2642372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 2643372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2644372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2645372Sdefan@nginx.com 2646372Sdefan@nginx.com<change> 2647372Sdefan@nginx.com<para> 2648372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 2649372Sdefan@nginx.com</para> 2650372Sdefan@nginx.com</change> 2651372Sdefan@nginx.com 2652372Sdefan@nginx.com</changes> 2653372Sdefan@nginx.com 2654372Sdefan@nginx.com 2655370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 2656370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 2657370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2658370Sigor@sysoev.ru 2659370Sigor@sysoev.ru<change type="feature"> 2660370Sigor@sysoev.ru<para> 2661370Sigor@sysoev.ruconfiguration persistence. 2662370Sigor@sysoev.ru</para> 2663370Sigor@sysoev.ru</change> 2664370Sigor@sysoev.ru 2665370Sigor@sysoev.ru<change type="feature"> 2666370Sigor@sysoev.ru<para> 2667370Sigor@sysoev.ruimproved handling of configuration errors. 2668370Sigor@sysoev.ru</para> 2669370Sigor@sysoev.ru</change> 2670370Sigor@sysoev.ru 2671370Sigor@sysoev.ru<change type="feature"> 2672370Sigor@sysoev.ru<para> 2673370Sigor@sysoev.ruapplication "timeout" property. 2674370Sigor@sysoev.ru</para> 2675370Sigor@sysoev.ru</change> 2676370Sigor@sysoev.ru 2677370Sigor@sysoev.ru<change type="bugfix"> 2678370Sigor@sysoev.ru<para> 2679370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 2680370Sigor@sysoev.ru</para> 2681370Sigor@sysoev.ru</change> 2682370Sigor@sysoev.ru 2683370Sigor@sysoev.ru<change type="bugfix"> 2684370Sigor@sysoev.ru<para> 2685370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 2686370Sigor@sysoev.ru</para> 2687370Sigor@sysoev.ru</change> 2688370Sigor@sysoev.ru 2689370Sigor@sysoev.ru<change type="bugfix"> 2690370Sigor@sysoev.ru<para> 2691370Sigor@sysoev.ruthe router crashed under load. 2692370Sigor@sysoev.ru</para> 2693370Sigor@sysoev.ru</change> 2694370Sigor@sysoev.ru 2695370Sigor@sysoev.ru<change type="bugfix"> 2696370Sigor@sysoev.ru<para> 2697370Sigor@sysoev.rumemory leak in the router. 2698370Sigor@sysoev.ru</para> 2699370Sigor@sysoev.ru</change> 2700370Sigor@sysoev.ru 2701370Sigor@sysoev.ru</changes> 2702370Sigor@sysoev.ru 2703370Sigor@sysoev.ru 2704369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 2705369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 2706369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2707369Sdefan@nginx.com 2708369Sdefan@nginx.com<change> 2709369Sdefan@nginx.com<para> 2710369Sdefan@nginx.comFirst public release. 2711369Sdefan@nginx.com</para> 2712369Sdefan@nginx.com</change> 2713369Sdefan@nginx.com 2714369Sdefan@nginx.com</changes> 2715369Sdefan@nginx.com 2716369Sdefan@nginx.com 2717369Sdefan@nginx.com</change_log> 2718