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 40*1814Svbart@nginx.com<change type="bugfix"> 41*1814Svbart@nginx.com<para> 42*1814Svbart@nginx.comthe Ruby module didn't respect user locale for defaults in the Encoding class. 43*1814Svbart@nginx.com</para> 44*1814Svbart@nginx.com</change> 45*1814Svbart@nginx.com 461806Svbart@nginx.com</changes> 471806Svbart@nginx.com 481806Svbart@nginx.com 491798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 501798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 511798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 521798Sdefan@nginx.com 531798Sdefan@nginx.com<change> 541798Sdefan@nginx.com<para> 551798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 561798Sdefan@nginx.com</para> 571798Sdefan@nginx.com</change> 581798Sdefan@nginx.com 591798Sdefan@nginx.com</changes> 601798Sdefan@nginx.com 611798Sdefan@nginx.com 621763Sdefan@nginx.com<changes apply="unit-php 631763Sdefan@nginx.com unit-python unit-python2.7 641763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 651763Sdefan@nginx.com unit-python3.8 661763Sdefan@nginx.com unit-go 671763Sdefan@nginx.com unit-perl 681763Sdefan@nginx.com unit-ruby 691763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 701763Sdefan@nginx.com unit-jsc14 unit-jsc15" 711763Sdefan@nginx.com ver="1.22.0" rev="1" 721793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 731763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 741763Sdefan@nginx.com 751763Sdefan@nginx.com<change> 761763Sdefan@nginx.com<para> 771763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 781763Sdefan@nginx.com</para> 791763Sdefan@nginx.com</change> 801763Sdefan@nginx.com 811763Sdefan@nginx.com</changes> 821763Sdefan@nginx.com 831763Sdefan@nginx.com 841727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 851793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 861727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 871727Svbart@nginx.com 881759Svbart@nginx.com<change type="feature"> 891759Svbart@nginx.com<para> 901792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 911792Svbart@nginx.comcompliant with Stream API. 921759Svbart@nginx.com</para> 931759Svbart@nginx.com</change> 941759Svbart@nginx.com 951766Smax.romanov@nginx.com<change type="feature"> 961766Smax.romanov@nginx.com<para> 971792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 981792Svbart@nginx.comapps. 991732Svbart@nginx.com</para> 1001732Svbart@nginx.com</change> 1011732Svbart@nginx.com 1021733Svbart@nginx.com<change type="bugfix"> 1031733Svbart@nginx.com<para> 1041792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 1051792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 1061754Smax.romanov@nginx.com</para> 1071754Smax.romanov@nginx.com</change> 1081754Smax.romanov@nginx.com 1091755Smax.romanov@nginx.com<change type="bugfix"> 1101755Smax.romanov@nginx.com<para> 1111790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 1121755Smax.romanov@nginx.comappeared in 1.19.0. 1131755Smax.romanov@nginx.com</para> 1141755Smax.romanov@nginx.com</change> 1151755Smax.romanov@nginx.com 1161756Smax.romanov@nginx.com<change type="bugfix"> 1171756Smax.romanov@nginx.com<para> 1181790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 1191790Sartem.konev@nginx.comappeared in 1.19.0. 1201756Smax.romanov@nginx.com</para> 1211756Smax.romanov@nginx.com</change> 1221756Smax.romanov@nginx.com 1231760Smax.romanov@nginx.com<change type="bugfix"> 1241760Smax.romanov@nginx.com<para> 1251792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 1261792Svbart@nginx.com</para> 1271792Svbart@nginx.com</change> 1281792Svbart@nginx.com 1291792Svbart@nginx.com<change type="bugfix"> 1301792Svbart@nginx.com<para> 1311792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 1321792Svbart@nginx.commissing in the PHP module. 1331792Svbart@nginx.com</para> 1341792Svbart@nginx.com</change> 1351792Svbart@nginx.com 1361792Svbart@nginx.com<change type="bugfix"> 1371792Svbart@nginx.com<para> 1381792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 1391792Svbart@nginx.com</para> 1401792Svbart@nginx.com</change> 1411792Svbart@nginx.com 1421792Svbart@nginx.com<change type="bugfix"> 1431792Svbart@nginx.com<para> 1441792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 1451792Svbart@nginx.com</para> 1461792Svbart@nginx.com</change> 1471792Svbart@nginx.com 1481792Svbart@nginx.com<change type="bugfix"> 1491792Svbart@nginx.com<para> 1501792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 1511792Svbart@nginx.comthe bug had appeared in 1.21.0. 1521760Smax.romanov@nginx.com</para> 1531760Smax.romanov@nginx.com</change> 1541760Smax.romanov@nginx.com 1551780Smax.romanov@nginx.com<change type="bugfix"> 1561780Smax.romanov@nginx.com<para> 1571790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 1581790Sartem.konev@nginx.comWebSocket. 1591780Smax.romanov@nginx.com</para> 1601780Smax.romanov@nginx.com</change> 1611780Smax.romanov@nginx.com 1621789Smax.romanov@nginx.com<change type="bugfix"> 1631789Smax.romanov@nginx.com<para> 1641789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 1651789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 1661789Smax.romanov@nginx.com</para> 1671789Smax.romanov@nginx.com</change> 1681789Smax.romanov@nginx.com 1691727Svbart@nginx.com</changes> 1701727Svbart@nginx.com 1711727Svbart@nginx.com 1721722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 1731722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1741722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1751722Svbart@nginx.com 1761722Svbart@nginx.com<change> 1771722Svbart@nginx.com<para> 1781722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 1791722Svbart@nginx.com</para> 1801722Svbart@nginx.com</change> 1811722Svbart@nginx.com 1821722Svbart@nginx.com</changes> 1831722Svbart@nginx.com 1841722Svbart@nginx.com 1851722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 1861722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 1871722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1881722Svbart@nginx.com 1891722Svbart@nginx.com<change> 1901722Svbart@nginx.com<para> 1911722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 1921722Svbart@nginx.com</para> 1931722Svbart@nginx.com</change> 1941722Svbart@nginx.com 1951722Svbart@nginx.com</changes> 1961722Svbart@nginx.com 1971722Svbart@nginx.com 1981722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 1991722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 2001722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2011722Svbart@nginx.com 2021722Svbart@nginx.com<change> 2031722Svbart@nginx.com<para> 2041722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 2051722Svbart@nginx.com</para> 2061722Svbart@nginx.com</change> 2071722Svbart@nginx.com 2081722Svbart@nginx.com</changes> 2091722Svbart@nginx.com 2101722Svbart@nginx.com 2111722Svbart@nginx.com<changes apply="unit-php 2121722Svbart@nginx.com unit-python unit-python2.7 2131722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2141722Svbart@nginx.com unit-python3.8 2151722Svbart@nginx.com unit-go 2161722Svbart@nginx.com unit-perl 2171722Svbart@nginx.com unit-ruby 2181722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 2191722Svbart@nginx.com 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.comNGINX Unit updated to 1.21.0. 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" ver="1.21.0" rev="1" 2331722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 2341722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2351722Svbart@nginx.com 2361722Svbart@nginx.com<change type="change"> 2371722Svbart@nginx.com<para> 2381722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 2391722Svbart@nginx.com</para> 2401722Svbart@nginx.com</change> 2411722Svbart@nginx.com 2421722Svbart@nginx.com<change type="change"> 2431722Svbart@nginx.com<para> 2441722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 2451722Svbart@nginx.comnames. 2461722Svbart@nginx.com</para> 2471722Svbart@nginx.com</change> 2481722Svbart@nginx.com 2491722Svbart@nginx.com<change type="change"> 2501722Svbart@nginx.com<para> 2511722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 2521722Svbart@nginx.comdefault. 2531722Svbart@nginx.com</para> 2541722Svbart@nginx.com</change> 2551722Svbart@nginx.com 2561722Svbart@nginx.com<change type="feature"> 2571722Svbart@nginx.com<para> 2581722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 2591722Svbart@nginx.com</para> 2601722Svbart@nginx.com</change> 2611722Svbart@nginx.com 2621722Svbart@nginx.com<change type="feature"> 2631722Svbart@nginx.com<para> 2641722Svbart@nginx.comregular expressions in route matching patterns. 2651722Svbart@nginx.com</para> 2661722Svbart@nginx.com</change> 2671722Svbart@nginx.com 2681722Svbart@nginx.com<change type="feature"> 2691722Svbart@nginx.com<para> 2701722Svbart@nginx.comcompatibility with Python 3.9. 2711722Svbart@nginx.com</para> 2721722Svbart@nginx.com</change> 2731722Svbart@nginx.com 2741722Svbart@nginx.com<change type="feature"> 2751722Svbart@nginx.com<para> 2761722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 2771722Svbart@nginx.com</para> 2781722Svbart@nginx.com</change> 2791722Svbart@nginx.com 2801722Svbart@nginx.com<change type="feature"> 2811722Svbart@nginx.com<para> 2821722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 2831722Svbart@nginx.com</para> 2841722Svbart@nginx.com</change> 2851722Svbart@nginx.com 2861722Svbart@nginx.com<change type="feature"> 2871722Svbart@nginx.com<para> 2881722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 2891722Svbart@nginx.comcontinues code execution without holding onto the client connection. 2901722Svbart@nginx.com</para> 2911722Svbart@nginx.com</change> 2921722Svbart@nginx.com 2931722Svbart@nginx.com<change type="feature"> 2941722Svbart@nginx.com<para> 2951722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 2961722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 2971722Svbart@nginx.com</para> 2981722Svbart@nginx.com</change> 2991722Svbart@nginx.com 3001722Svbart@nginx.com<change type="feature"> 3011722Svbart@nginx.com<para> 3021722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 3031722Svbart@nginx.commounting of eponymous filesystems. 3041722Svbart@nginx.com</para> 3051722Svbart@nginx.com</change> 3061722Svbart@nginx.com 3071722Svbart@nginx.com<change type="bugfix"> 3081722Svbart@nginx.com<para> 3091722Svbart@nginx.comthe router process could crash when running Go applications under high load; 3101722Svbart@nginx.comthe bug had appeared in 1.19.0. 3111722Svbart@nginx.com</para> 3121722Svbart@nginx.com</change> 3131722Svbart@nginx.com 3141722Svbart@nginx.com<change type="bugfix"> 3151722Svbart@nginx.com<para> 3161722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 3171722Svbart@nginx.com</para> 3181722Svbart@nginx.com</change> 3191722Svbart@nginx.com 3201722Svbart@nginx.com<change type="bugfix"> 3211722Svbart@nginx.com<para> 3221722Svbart@nginx.comvarious compatibility issues in Java applications. 3231722Svbart@nginx.com</para> 3241722Svbart@nginx.com</change> 3251722Svbart@nginx.com 3261722Svbart@nginx.com<change type="bugfix"> 3271722Svbart@nginx.com<para> 3281722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 3291722Svbart@nginx.comuse "rootfs" isolation. 3301722Svbart@nginx.com</para> 3311722Svbart@nginx.com</change> 3321722Svbart@nginx.com 3331722Svbart@nginx.com</changes> 3341722Svbart@nginx.com 3351722Svbart@nginx.com 3361330Svbart@nginx.com<changes apply="unit-php 3371330Svbart@nginx.com unit-python unit-python2.7 3381330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3391330Svbart@nginx.com unit-python3.8 3401330Svbart@nginx.com unit-go 3411330Svbart@nginx.com unit-perl 3421330Svbart@nginx.com unit-ruby 3431330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 3441640Svbart@nginx.com ver="1.20.0" rev="1" 3451640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 3461640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3471640Svbart@nginx.com 3481640Svbart@nginx.com<change> 3491640Svbart@nginx.com<para> 3501640Svbart@nginx.comNGINX Unit updated to 1.20.0. 3511640Svbart@nginx.com</para> 3521640Svbart@nginx.com</change> 3531640Svbart@nginx.com 3541640Svbart@nginx.com</changes> 3551640Svbart@nginx.com 3561640Svbart@nginx.com 3571640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 3581640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 3591640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3601640Svbart@nginx.com 3611640Svbart@nginx.com<change type="change"> 3621640Svbart@nginx.com<para> 3631640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 3641640Svbart@nginx.comextensions from the host system. 3651640Svbart@nginx.com</para> 3661640Svbart@nginx.com</change> 3671640Svbart@nginx.com 3681640Svbart@nginx.com<change type="change"> 3691640Svbart@nginx.com<para> 3701640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 3711640Svbart@nginx.com</para> 3721640Svbart@nginx.com</change> 3731640Svbart@nginx.com 3741643Svbart@nginx.com<change type="change"> 3751643Svbart@nginx.com<para> 3761643Svbart@nginx.comfunctional tests migrated to the pytest framework. 3771643Svbart@nginx.com</para> 3781643Svbart@nginx.com</change> 3791643Svbart@nginx.com 3801640Svbart@nginx.com<change type="feature"> 3811640Svbart@nginx.com<para> 3821640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 3831640Svbart@nginx.cominterface. 3841640Svbart@nginx.com</para> 3851640Svbart@nginx.com</change> 3861640Svbart@nginx.com 3871640Svbart@nginx.com<change type="feature"> 3881640Svbart@nginx.com<para> 3891640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 3901640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 3911640Svbart@nginx.comspecification. 3921640Svbart@nginx.com</para> 3931640Svbart@nginx.com</change> 3941640Svbart@nginx.com 3951640Svbart@nginx.com<change type="feature"> 3961640Svbart@nginx.com<para> 3971640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 3981640Svbart@nginx.comenvironments. 3991640Svbart@nginx.com</para> 4001640Svbart@nginx.com</change> 4011640Svbart@nginx.com 4021640Svbart@nginx.com<change type="feature"> 4031640Svbart@nginx.com<para> 4041640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 4051640Svbart@nginx.com</para> 4061640Svbart@nginx.com</change> 4071640Svbart@nginx.com 4081640Svbart@nginx.com<change type="feature"> 4091640Svbart@nginx.com<para> 4101640Svbart@nginx.comthe "callable" option sets Python application callable names. 4111640Svbart@nginx.com</para> 4121640Svbart@nginx.com</change> 4131640Svbart@nginx.com 4141640Svbart@nginx.com<change type="feature"> 4151640Svbart@nginx.com<para> 4161640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 4171640Svbart@nginx.com</para> 4181640Svbart@nginx.com</change> 4191640Svbart@nginx.com 4201640Svbart@nginx.com<change type="feature"> 4211640Svbart@nginx.com<para> 4221640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 4231640Svbart@nginx.comautomatic mounting of language module dependencies. 4241640Svbart@nginx.com</para> 4251640Svbart@nginx.com</change> 4261640Svbart@nginx.com 4271640Svbart@nginx.com<change type="bugfix"> 4281640Svbart@nginx.com<para> 4291640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 4301640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 4311640Svbart@nginx.com</para> 4321640Svbart@nginx.com</change> 4331640Svbart@nginx.com 4341640Svbart@nginx.com<change type="bugfix"> 4351640Svbart@nginx.com<para> 4361640Svbart@nginx.comthe router process could crash during reconfiguration. 4371640Svbart@nginx.com</para> 4381640Svbart@nginx.com</change> 4391640Svbart@nginx.com 4401640Svbart@nginx.com<change type="bugfix"> 4411640Svbart@nginx.com<para> 4421640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 4431640Svbart@nginx.com</para> 4441640Svbart@nginx.com</change> 4451640Svbart@nginx.com 4461640Svbart@nginx.com<change type="bugfix"> 4471640Svbart@nginx.com<para> 4481640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 4491640Svbart@nginx.comthe bug had appeared in 1.19.0. 4501640Svbart@nginx.com</para> 4511640Svbart@nginx.com</change> 4521640Svbart@nginx.com 4531640Svbart@nginx.com<change type="bugfix"> 4541640Svbart@nginx.com<para> 4551640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 4561640Svbart@nginx.comthe bug had appeared in 1.16.0. 4571640Svbart@nginx.com</para> 4581640Svbart@nginx.com</change> 4591640Svbart@nginx.com 4601640Svbart@nginx.com</changes> 4611640Svbart@nginx.com 4621640Svbart@nginx.com 4631640Svbart@nginx.com<changes apply="unit-php 4641640Svbart@nginx.com unit-python unit-python2.7 4651640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4661640Svbart@nginx.com unit-python3.8 4671640Svbart@nginx.com unit-go 4681640Svbart@nginx.com unit-perl 4691640Svbart@nginx.com unit-ruby 4701640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 4711570Svbart@nginx.com ver="1.19.0" rev="1" 4721570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 4731570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4741570Svbart@nginx.com 4751570Svbart@nginx.com<change> 4761570Svbart@nginx.com<para> 4771570Svbart@nginx.comNGINX Unit updated to 1.19.0. 4781570Svbart@nginx.com</para> 4791570Svbart@nginx.com</change> 4801570Svbart@nginx.com 4811570Svbart@nginx.com</changes> 4821570Svbart@nginx.com 4831570Svbart@nginx.com 4841570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 4851570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 4861570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4871570Svbart@nginx.com 4881570Svbart@nginx.com<change type="feature"> 4891570Svbart@nginx.com<para> 4901570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 4911570Svbart@nginx.comincrease performance, and improve scalability. 4921570Svbart@nginx.com</para> 4931570Svbart@nginx.com</change> 4941570Svbart@nginx.com 4951570Svbart@nginx.com<change type="feature"> 4961570Svbart@nginx.com<para> 4971570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 4981570Svbart@nginx.com</para> 4991570Svbart@nginx.com</change> 5001570Svbart@nginx.com 5011570Svbart@nginx.com<change type="feature"> 5021570Svbart@nginx.com<para> 5031570Svbart@nginx.comchunked transfer encoding in proxy responses. 5041570Svbart@nginx.com</para> 5051570Svbart@nginx.com</change> 5061570Svbart@nginx.com 5071570Svbart@nginx.com<change type="feature"> 5081570Svbart@nginx.com<para> 5091570Svbart@nginx.combasic variables support in the "pass" option. 5101570Svbart@nginx.com</para> 5111570Svbart@nginx.com</change> 5121570Svbart@nginx.com 5131570Svbart@nginx.com<change type="feature"> 5141570Svbart@nginx.com<para> 5151570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 5161570Svbart@nginx.comThanks to Remi Collet. 5171570Svbart@nginx.com</para> 5181570Svbart@nginx.com</change> 5191570Svbart@nginx.com 5201570Svbart@nginx.com<change type="bugfix"> 5211570Svbart@nginx.com<para> 5221570Svbart@nginx.comthe router process could crash while passing requests to an application under 5231570Svbart@nginx.comhigh load. 5241570Svbart@nginx.com</para> 5251570Svbart@nginx.com</change> 5261570Svbart@nginx.com 5271570Svbart@nginx.com<change type="bugfix"> 5281570Svbart@nginx.com<para> 5291570Svbart@nginx.coma number of language modules failed to build on some systems; 5301570Svbart@nginx.comthe bug had appeared in 1.18.0. 5311570Svbart@nginx.com</para> 5321570Svbart@nginx.com</change> 5331570Svbart@nginx.com 5341570Svbart@nginx.com<change type="bugfix"> 5351570Svbart@nginx.com<para> 5361570Svbart@nginx.comtime in error log messages from PHP applications could lag. 5371570Svbart@nginx.com</para> 5381570Svbart@nginx.com</change> 5391570Svbart@nginx.com 5401570Svbart@nginx.com<change type="bugfix"> 5411570Svbart@nginx.com<para> 5421570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 5431570Svbart@nginx.comthe bug had appeared in 1.18.0. 5441570Svbart@nginx.com</para> 5451570Svbart@nginx.com</change> 5461570Svbart@nginx.com 5471570Svbart@nginx.com<change type="bugfix"> 5481570Svbart@nginx.com<para> 5491570Svbart@nginx.commemory leak during reconfiguration. 5501570Svbart@nginx.com</para> 5511570Svbart@nginx.com</change> 5521570Svbart@nginx.com 5531570Svbart@nginx.com<change type="bugfix"> 5541570Svbart@nginx.com<para> 5551570Svbart@nginx.comthe daemon didn't start without language modules; 5561570Svbart@nginx.comthe bug had appeared in 1.18.0. 5571570Svbart@nginx.com</para> 5581570Svbart@nginx.com</change> 5591570Svbart@nginx.com 5601570Svbart@nginx.com<change type="bugfix"> 5611570Svbart@nginx.com<para> 5621570Svbart@nginx.comthe router process could crash at exit. 5631570Svbart@nginx.com</para> 5641570Svbart@nginx.com</change> 5651570Svbart@nginx.com 5661570Svbart@nginx.com<change type="bugfix"> 5671570Svbart@nginx.com<para> 5681570Svbart@nginx.comNode.js applications could crash at exit. 5691570Svbart@nginx.com</para> 5701570Svbart@nginx.com</change> 5711570Svbart@nginx.com 5721570Svbart@nginx.com<change type="bugfix"> 5731570Svbart@nginx.com<para> 5741570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 5751570Svbart@nginx.com</para> 5761570Svbart@nginx.com</change> 5771570Svbart@nginx.com 5781570Svbart@nginx.com</changes> 5791570Svbart@nginx.com 5801570Svbart@nginx.com 5811570Svbart@nginx.com<changes apply="unit-php 5821570Svbart@nginx.com unit-python unit-python2.7 5831570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5841570Svbart@nginx.com unit-python3.8 5851570Svbart@nginx.com unit-go 5861570Svbart@nginx.com unit-perl 5871570Svbart@nginx.com unit-ruby 5881570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 5891491Svbart@nginx.com ver="1.18.0" rev="1" 5901491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 5911491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5921491Svbart@nginx.com 5931491Svbart@nginx.com<change> 5941491Svbart@nginx.com<para> 5951491Svbart@nginx.comNGINX Unit updated to 1.18.0. 5961491Svbart@nginx.com</para> 5971491Svbart@nginx.com</change> 5981491Svbart@nginx.com 5991491Svbart@nginx.com</changes> 6001491Svbart@nginx.com 6011491Svbart@nginx.com 6021491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 6031491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 6041491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6051491Svbart@nginx.com 6061491Svbart@nginx.com<change type="feature"> 6071491Svbart@nginx.com<para> 6081491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 6091491Svbart@nginx.com</para> 6101491Svbart@nginx.com</change> 6111491Svbart@nginx.com 6121491Svbart@nginx.com<change type="feature"> 6131491Svbart@nginx.com<para> 6141491Svbart@nginx.commultiple "targets" in PHP applications. 6151491Svbart@nginx.com</para> 6161491Svbart@nginx.com</change> 6171491Svbart@nginx.com 6181491Svbart@nginx.com<change type="feature"> 6191491Svbart@nginx.com<para> 6201491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 6211491Svbart@nginx.comand in the "pass" option. 6221491Svbart@nginx.com</para> 6231491Svbart@nginx.com</change> 6241491Svbart@nginx.com 6251491Svbart@nginx.com</changes> 6261491Svbart@nginx.com 6271491Svbart@nginx.com 6281491Svbart@nginx.com<changes apply="unit-php 6291491Svbart@nginx.com unit-python unit-python2.7 6301491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6311491Svbart@nginx.com unit-python3.8 6321491Svbart@nginx.com unit-go 6331491Svbart@nginx.com unit-perl 6341491Svbart@nginx.com unit-ruby 6351491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6361460Svbart@nginx.com ver="1.17.0" rev="1" 6371460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 6381460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6391460Svbart@nginx.com 6401460Svbart@nginx.com<change> 6411460Svbart@nginx.com<para> 6421460Svbart@nginx.comNGINX Unit updated to 1.17.0. 6431460Svbart@nginx.com</para> 6441460Svbart@nginx.com</change> 6451460Svbart@nginx.com 6461460Svbart@nginx.com</changes> 6471460Svbart@nginx.com 6481460Svbart@nginx.com 6491460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 6501460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 6511460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6521460Svbart@nginx.com 6531460Svbart@nginx.com<change type="feature"> 6541460Svbart@nginx.com<para> 6551460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 6561460Svbart@nginx.comredirection. 6571460Svbart@nginx.com</para> 6581460Svbart@nginx.com</change> 6591460Svbart@nginx.com 6601460Svbart@nginx.com<change type="feature"> 6611460Svbart@nginx.com<para> 6621460Svbart@nginx.comfractional weights support for upstream servers. 6631460Svbart@nginx.com</para> 6641460Svbart@nginx.com</change> 6651460Svbart@nginx.com 6661460Svbart@nginx.com<change type="bugfix"> 6671460Svbart@nginx.com<para> 6681460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 6691460Svbart@nginx.comhigh load. 6701460Svbart@nginx.com</para> 6711460Svbart@nginx.com</change> 6721460Svbart@nginx.com 6731460Svbart@nginx.com<change type="bugfix"> 6741460Svbart@nginx.com<para> 6751460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 6761460Svbart@nginx.com</para> 6771460Svbart@nginx.com</change> 6781460Svbart@nginx.com 6791460Svbart@nginx.com<change type="bugfix"> 6801460Svbart@nginx.com<para> 6811460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 6821460Svbart@nginx.comopen connections limit. 6831460Svbart@nginx.com</para> 6841460Svbart@nginx.com</change> 6851460Svbart@nginx.com 6861460Svbart@nginx.com<change type="bugfix"> 6871460Svbart@nginx.com<para> 6881460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 6891460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 6901460Svbart@nginx.com</para> 6911460Svbart@nginx.com</change> 6921460Svbart@nginx.com 6931460Svbart@nginx.com<change type="bugfix"> 6941460Svbart@nginx.com<para> 6951460Svbart@nginx.comexisting application processes didn't reopen the log file. 6961460Svbart@nginx.com</para> 6971460Svbart@nginx.com</change> 6981460Svbart@nginx.com 6991460Svbart@nginx.com<change type="bugfix"> 7001460Svbart@nginx.com<para> 7011460Svbart@nginx.comincompatibility with some Node.js applications. 7021460Svbart@nginx.com</para> 7031460Svbart@nginx.com</change> 7041460Svbart@nginx.com 7051460Svbart@nginx.com<change type="bugfix"> 7061460Svbart@nginx.com<para> 7071460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 7081460Svbart@nginx.com</para> 7091460Svbart@nginx.com</change> 7101460Svbart@nginx.com 7111460Svbart@nginx.com</changes> 7121460Svbart@nginx.com 7131460Svbart@nginx.com 7141460Svbart@nginx.com<changes apply="unit-php 7151460Svbart@nginx.com unit-python unit-python2.7 7161460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7171460Svbart@nginx.com unit-python3.8 7181460Svbart@nginx.com unit-go 7191460Svbart@nginx.com unit-perl 7201460Svbart@nginx.com unit-ruby 7211460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7221404Svbart@nginx.com ver="1.16.0" rev="1" 7231404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 7241404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7251404Svbart@nginx.com 7261404Svbart@nginx.com<change> 7271404Svbart@nginx.com<para> 7281404Svbart@nginx.comNGINX Unit updated to 1.16.0. 7291404Svbart@nginx.com</para> 7301404Svbart@nginx.com</change> 7311404Svbart@nginx.com 7321404Svbart@nginx.com</changes> 7331404Svbart@nginx.com 7341404Svbart@nginx.com 7351404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 7361404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 7371404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7381404Svbart@nginx.com 7391404Svbart@nginx.com<change type="feature"> 7401404Svbart@nginx.com<para> 7411404Svbart@nginx.combasic load-balancing support with round-robin. 7421404Svbart@nginx.com</para> 7431404Svbart@nginx.com</change> 7441404Svbart@nginx.com 7451404Svbart@nginx.com<change type="feature"> 7461404Svbart@nginx.com<para> 7471404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 7481404Svbart@nginx.comserved from the "share" directory. 7491404Svbart@nginx.com</para> 7501404Svbart@nginx.com</change> 7511404Svbart@nginx.com 7521404Svbart@nginx.com<change type="feature"> 7531404Svbart@nginx.com<para> 7541404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 7551404Svbart@nginx.com</para> 7561404Svbart@nginx.com</change> 7571404Svbart@nginx.com 7581404Svbart@nginx.com<change type="feature"> 7591404Svbart@nginx.com<para> 7601404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 7611404Svbart@nginx.com</para> 7621404Svbart@nginx.com</change> 7631404Svbart@nginx.com 7641404Svbart@nginx.com<change type="bugfix"> 7651404Svbart@nginx.com<para> 7661404Svbart@nginx.comnegative address matching in router might work improperly in combination with 7671404Svbart@nginx.comnon-negative patterns. 7681404Svbart@nginx.com</para> 7691404Svbart@nginx.com</change> 7701404Svbart@nginx.com 7711404Svbart@nginx.com<change type="bugfix"> 7721404Svbart@nginx.com<para> 7731404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 7741404Svbart@nginx.com</para> 7751404Svbart@nginx.com</change> 7761404Svbart@nginx.com 7771404Svbart@nginx.com<change type="bugfix"> 7781404Svbart@nginx.com<para> 7791404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 7801404Svbart@nginx.com</para> 7811404Svbart@nginx.com</change> 7821404Svbart@nginx.com 7831404Svbart@nginx.com<change type="bugfix"> 7841404Svbart@nginx.com<para> 7851404Svbart@nginx.comcompatibility issues with some Python applications. 7861404Svbart@nginx.com</para> 7871404Svbart@nginx.com</change> 7881404Svbart@nginx.com 7891404Svbart@nginx.com</changes> 7901404Svbart@nginx.com 7911404Svbart@nginx.com 7921404Svbart@nginx.com<changes apply="unit-php 7931404Svbart@nginx.com unit-python unit-python2.7 7941404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7951404Svbart@nginx.com unit-python3.8 7961404Svbart@nginx.com unit-go 7971404Svbart@nginx.com unit-perl 7981404Svbart@nginx.com unit-ruby 7991404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8001357Svbart@nginx.com ver="1.15.0" rev="1" 8011357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 8021357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8031357Svbart@nginx.com 8041357Svbart@nginx.com<change> 8051357Svbart@nginx.com<para> 8061357Svbart@nginx.comNGINX Unit updated to 1.15.0. 8071357Svbart@nginx.com</para> 8081357Svbart@nginx.com</change> 8091357Svbart@nginx.com 8101357Svbart@nginx.com</changes> 8111357Svbart@nginx.com 8121357Svbart@nginx.com 8131357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 8141357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 8151357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8161357Svbart@nginx.com 8171357Svbart@nginx.com<change type="change"> 8181357Svbart@nginx.com<para> 8191357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 8201357Svbart@nginx.com</para> 8211357Svbart@nginx.com</change> 8221357Svbart@nginx.com 8231357Svbart@nginx.com<change type="feature"> 8241357Svbart@nginx.com<para> 8251357Svbart@nginx.comcompatibility with Ruby 2.7. 8261357Svbart@nginx.com</para> 8271357Svbart@nginx.com</change> 8281357Svbart@nginx.com 8291357Svbart@nginx.com<change type="bugfix"> 8301357Svbart@nginx.com<para> 8311357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 8321357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 8331357Svbart@nginx.com</para> 8341357Svbart@nginx.com</change> 8351357Svbart@nginx.com 8361357Svbart@nginx.com<change type="bugfix"> 8371357Svbart@nginx.com<para> 8381357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 8391357Svbart@nginx.com</para> 8401357Svbart@nginx.com</change> 8411357Svbart@nginx.com 8421357Svbart@nginx.com</changes> 8431357Svbart@nginx.com 8441357Svbart@nginx.com 8451357Svbart@nginx.com<changes apply="unit-php 8461357Svbart@nginx.com unit-python unit-python2.7 8471357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8481357Svbart@nginx.com unit-python3.8 8491357Svbart@nginx.com unit-go 8501357Svbart@nginx.com unit-perl 8511357Svbart@nginx.com unit-ruby 8521357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8531330Svbart@nginx.com ver="1.14.0" rev="1" 8541330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 8551330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8561330Svbart@nginx.com 8571330Svbart@nginx.com<change> 8581330Svbart@nginx.com<para> 8591330Svbart@nginx.comNGINX Unit updated to 1.14.0. 8601330Svbart@nginx.com</para> 8611330Svbart@nginx.com</change> 8621330Svbart@nginx.com 8631330Svbart@nginx.com</changes> 8641330Svbart@nginx.com 8651330Svbart@nginx.com 8661330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 8671330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 8681330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8691330Svbart@nginx.com 8701330Svbart@nginx.com<change type="change"> 8711330Svbart@nginx.com<para> 8721330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 8731330Svbart@nginx.com</para> 8741330Svbart@nginx.com</change> 8751330Svbart@nginx.com 8761330Svbart@nginx.com<change type="change"> 8771330Svbart@nginx.com<para> 8781330Svbart@nginx.comGo package now links to libunit instead of including library sources. 8791330Svbart@nginx.com</para> 8801330Svbart@nginx.com</change> 8811330Svbart@nginx.com 8821330Svbart@nginx.com<change type="feature"> 8831330Svbart@nginx.com<para> 8841330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 8851330Svbart@nginx.comruns as an unprivileged user. 8861330Svbart@nginx.com</para> 8871330Svbart@nginx.com</change> 8881330Svbart@nginx.com 8891330Svbart@nginx.com<change type="feature"> 8901330Svbart@nginx.com<para> 8911330Svbart@nginx.comrequest routing by source and destination addresses and ports. 8921330Svbart@nginx.com</para> 8931330Svbart@nginx.com</change> 8941330Svbart@nginx.com 8951330Svbart@nginx.com<change type="bugfix"> 8961330Svbart@nginx.com<para> 8971330Svbart@nginx.commemory bloat on large responses. 8981330Svbart@nginx.com</para> 8991330Svbart@nginx.com</change> 9001330Svbart@nginx.com 9011330Svbart@nginx.com</changes> 9021330Svbart@nginx.com 9031330Svbart@nginx.com 9041290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 9051290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 9061290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9071290Sdefan@nginx.com 9081290Sdefan@nginx.com<change> 9091290Sdefan@nginx.com<para> 9101290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 9111290Sdefan@nginx.com</para> 9121290Sdefan@nginx.com</change> 9131290Sdefan@nginx.com 9141290Sdefan@nginx.com</changes> 9151290Sdefan@nginx.com 9161290Sdefan@nginx.com 9171290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 9181290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 9191290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9201290Sdefan@nginx.com 9211290Sdefan@nginx.com<change> 9221290Sdefan@nginx.com<para> 9231290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 9241290Sdefan@nginx.com</para> 9251290Sdefan@nginx.com</change> 9261290Sdefan@nginx.com 9271290Sdefan@nginx.com</changes> 9281290Sdefan@nginx.com 9291290Sdefan@nginx.com 9301289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 9311289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 9321289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9331289Sdefan@nginx.com 9341289Sdefan@nginx.com<change> 9351289Sdefan@nginx.com<para> 9361289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 9371289Sdefan@nginx.com</para> 9381289Sdefan@nginx.com</change> 9391289Sdefan@nginx.com 9401289Sdefan@nginx.com</changes> 9411289Sdefan@nginx.com 9421289Sdefan@nginx.com 9431185Svbart@nginx.com<changes apply="unit-php 9441185Svbart@nginx.com unit-python unit-python2.7 9451185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9461185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 9471185Svbart@nginx.com unit-perl 9481185Svbart@nginx.com unit-ruby 9491185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9501284Svbart@nginx.com ver="1.13.0" rev="1" 9511284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 9521284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9531284Svbart@nginx.com 9541284Svbart@nginx.com<change> 9551284Svbart@nginx.com<para> 9561284Svbart@nginx.comNGINX Unit updated to 1.13.0. 9571284Svbart@nginx.com</para> 9581284Svbart@nginx.com</change> 9591284Svbart@nginx.com 9601284Svbart@nginx.com</changes> 9611284Svbart@nginx.com 9621284Svbart@nginx.com 9631284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 9641284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 9651284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9661284Svbart@nginx.com 9671284Svbart@nginx.com<change type="feature"> 9681284Svbart@nginx.com<para> 9691284Svbart@nginx.combasic support for HTTP reverse proxying. 9701284Svbart@nginx.com</para> 9711284Svbart@nginx.com</change> 9721284Svbart@nginx.com 9731284Svbart@nginx.com<change type="feature"> 9741284Svbart@nginx.com<para> 9751284Svbart@nginx.comcompatibility with Python 3.8. 9761284Svbart@nginx.com</para> 9771284Svbart@nginx.com</change> 9781284Svbart@nginx.com 9791284Svbart@nginx.com<change type="bugfix"> 9801284Svbart@nginx.com<para> 9811284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 9821284Svbart@nginx.com</para> 9831284Svbart@nginx.com</change> 9841284Svbart@nginx.com 9851284Svbart@nginx.com<change type="bugfix"> 9861284Svbart@nginx.com<para> 9871284Svbart@nginx.comthreads in Python applications might not work correctly. 9881284Svbart@nginx.com</para> 9891284Svbart@nginx.com</change> 9901284Svbart@nginx.com 9911284Svbart@nginx.com<change type="bugfix"> 9921284Svbart@nginx.com<para> 9931284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 9941284Svbart@nginx.com</para> 9951284Svbart@nginx.com</change> 9961284Svbart@nginx.com 9971284Svbart@nginx.com<change type="bugfix"> 9981284Svbart@nginx.com<para> 9991284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 10001284Svbart@nginx.comdelays. 10011284Svbart@nginx.com</para> 10021284Svbart@nginx.com</change> 10031284Svbart@nginx.com 10041284Svbart@nginx.com<change type="bugfix"> 10051284Svbart@nginx.com<para> 10061284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 10071284Svbart@nginx.com</para> 10081284Svbart@nginx.com</change> 10091284Svbart@nginx.com 10101284Svbart@nginx.com</changes> 10111284Svbart@nginx.com 10121284Svbart@nginx.com 10131284Svbart@nginx.com<changes apply="unit-php 10141284Svbart@nginx.com unit-python unit-python2.7 10151284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10161284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10171284Svbart@nginx.com unit-perl 10181284Svbart@nginx.com unit-ruby 10191284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10201222Svbart@nginx.com ver="1.12.0" rev="1" 10211222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 10221222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10231222Svbart@nginx.com 10241222Svbart@nginx.com<change> 10251222Svbart@nginx.com<para> 10261222Svbart@nginx.comNGINX Unit updated to 1.12.0. 10271222Svbart@nginx.com</para> 10281222Svbart@nginx.com</change> 10291222Svbart@nginx.com 10301222Svbart@nginx.com</changes> 10311222Svbart@nginx.com 10321222Svbart@nginx.com 10331222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 10341222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 10351222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10361222Svbart@nginx.com 10371222Svbart@nginx.com<change type="feature"> 10381222Svbart@nginx.com<para> 10391222Svbart@nginx.comcompatibility with PHP 7.4. 10401222Svbart@nginx.com</para> 10411222Svbart@nginx.com</change> 10421222Svbart@nginx.com 10431222Svbart@nginx.com<change type="bugfix"> 10441222Svbart@nginx.com<para> 10451222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 10461222Svbart@nginx.com</para> 10471222Svbart@nginx.com</change> 10481222Svbart@nginx.com 10491222Svbart@nginx.com<change type="bugfix"> 10501222Svbart@nginx.com<para> 10511222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 10521222Svbart@nginx.com</para> 10531222Svbart@nginx.com</change> 10541222Svbart@nginx.com 10551222Svbart@nginx.com<change type="bugfix"> 10561222Svbart@nginx.com<para> 10571222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 10581222Svbart@nginx.com</para> 10591222Svbart@nginx.com</change> 10601222Svbart@nginx.com 10611222Svbart@nginx.com</changes> 10621222Svbart@nginx.com 10631222Svbart@nginx.com 10641222Svbart@nginx.com 10651222Svbart@nginx.com<changes apply="unit-php 10661222Svbart@nginx.com unit-python unit-python2.7 10671222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10681222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10691222Svbart@nginx.com unit-perl 10701222Svbart@nginx.com unit-ruby 10711222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10721185Svbart@nginx.com ver="1.11.0" rev="1" 10731185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 10741185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 10751185Svbart@nginx.com 10761185Svbart@nginx.com<change> 10771185Svbart@nginx.com<para> 10781185Svbart@nginx.comNGINX Unit updated to 1.11.0. 10791185Svbart@nginx.com</para> 10801185Svbart@nginx.com</change> 10811185Svbart@nginx.com 10821185Svbart@nginx.com</changes> 10831185Svbart@nginx.com 10841185Svbart@nginx.com 10851185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 10861185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 10871185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 10881185Svbart@nginx.com 10891185Svbart@nginx.com<change type="feature"> 10901185Svbart@nginx.com<para> 10911185Svbart@nginx.combasic support for serving static files. 10921185Svbart@nginx.com</para> 10931185Svbart@nginx.com</change> 10941185Svbart@nginx.com 10951185Svbart@nginx.com<change type="feature"> 10961185Svbart@nginx.com<para> 10971185Svbart@nginx.comisolation of application processes with Linux namespaces. 10981185Svbart@nginx.com</para> 10991185Svbart@nginx.com</change> 11001185Svbart@nginx.com 11011185Svbart@nginx.com<change type="feature"> 11021185Svbart@nginx.com<para> 11031185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 11041185Svbart@nginx.com</para> 11051185Svbart@nginx.com</change> 11061185Svbart@nginx.com 11071185Svbart@nginx.com<change type="feature"> 11081185Svbart@nginx.com<para> 11091185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 11101185Svbart@nginx.comusing URI encoding (%2F). 11111185Svbart@nginx.com</para> 11121185Svbart@nginx.com</change> 11131185Svbart@nginx.com 11141185Svbart@nginx.com<change type="bugfix"> 11151185Svbart@nginx.com<para> 11161185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 11171185Svbart@nginx.com</para> 11181185Svbart@nginx.com</change> 11191185Svbart@nginx.com 11201185Svbart@nginx.com<change type="bugfix"> 11211185Svbart@nginx.com<para> 11221185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 11231185Svbart@nginx.comGNU ld (e.g. gold or LLD). 11241185Svbart@nginx.com</para> 11251185Svbart@nginx.com</change> 11261185Svbart@nginx.com 11271185Svbart@nginx.com</changes> 11281185Svbart@nginx.com 11291185Svbart@nginx.com 11301142Sdefan@nginx.com<changes apply="unit 11311142Sdefan@nginx.com unit-php 11321142Sdefan@nginx.com unit-python unit-python2.7 11331142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11341142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 11351142Sdefan@nginx.com unit-perl 11361142Sdefan@nginx.com unit-ruby 11371142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11381142Sdefan@nginx.com ver="1.10.0" rev="2" 11391142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 11401142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11411142Sdefan@nginx.com 11421142Sdefan@nginx.com<change type="bugfix"> 11431142Sdefan@nginx.com<para> 11441142Sdefan@nginx.commissed header files added to unit development package. 11451142Sdefan@nginx.com</para> 11461142Sdefan@nginx.com</change> 11471142Sdefan@nginx.com 11481142Sdefan@nginx.com</changes> 11491142Sdefan@nginx.com 11501142Sdefan@nginx.com 11511134Svbart@nginx.com<changes apply="unit-php 11521134Svbart@nginx.com unit-python unit-python2.7 11531134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11541134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 11551134Svbart@nginx.com unit-perl 11561134Svbart@nginx.com unit-ruby 11571134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11581134Svbart@nginx.com ver="1.10.0" rev="1" 11591134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 11601134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11611134Svbart@nginx.com 11621134Svbart@nginx.com<change> 11631134Svbart@nginx.com<para> 11641134Svbart@nginx.comNGINX Unit updated to 1.10.0. 11651134Svbart@nginx.com</para> 11661134Svbart@nginx.com</change> 11671134Svbart@nginx.com 11681134Svbart@nginx.com</changes> 11691134Svbart@nginx.com 11701134Svbart@nginx.com 11711134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 11721134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 11731134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11741134Svbart@nginx.com 11751134Svbart@nginx.com<change type="change"> 11761134Svbart@nginx.com<para> 11771134Svbart@nginx.commatching of cookies in routes made case sensitive. 11781134Svbart@nginx.com</para> 11791134Svbart@nginx.com</change> 11801134Svbart@nginx.com 11811134Svbart@nginx.com<change type="change"> 11821134Svbart@nginx.com<para> 11831134Svbart@nginx.comdecreased log level of common errors when clients close connections. 11841134Svbart@nginx.com</para> 11851134Svbart@nginx.com</change> 11861134Svbart@nginx.com 11871134Svbart@nginx.com<change type="change"> 11881134Svbart@nginx.com<para> 11891134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 11901134Svbart@nginx.com</para> 11911134Svbart@nginx.com</change> 11921134Svbart@nginx.com 11931134Svbart@nginx.com<change type="feature"> 11941134Svbart@nginx.com<para> 11951134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 11961134Svbart@nginx.com</para> 11971134Svbart@nginx.com</change> 11981134Svbart@nginx.com 11991134Svbart@nginx.com<change type="feature"> 12001134Svbart@nginx.com<para> 12011134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 12021134Svbart@nginx.com</para> 12031134Svbart@nginx.com</change> 12041134Svbart@nginx.com 12051134Svbart@nginx.com<change type="feature"> 12061134Svbart@nginx.com<para> 12071134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 12081134Svbart@nginx.com</para> 12091134Svbart@nginx.com</change> 12101134Svbart@nginx.com 12111134Svbart@nginx.com<change type="feature"> 12121134Svbart@nginx.com<para> 12131134Svbart@nginx.comsupport for multipart requests body in Java module. 12141134Svbart@nginx.com</para> 12151134Svbart@nginx.com</change> 12161134Svbart@nginx.com 12171134Svbart@nginx.com<change type="feature"> 12181134Svbart@nginx.com<para> 12191134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 12201134Svbart@nginx.com</para> 12211134Svbart@nginx.com</change> 12221134Svbart@nginx.com 12231134Svbart@nginx.com<change type="bugfix"> 12241134Svbart@nginx.com<para> 12251134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 12261134Svbart@nginx.com</para> 12271134Svbart@nginx.com</change> 12281134Svbart@nginx.com 12291134Svbart@nginx.com<change type="bugfix"> 12301134Svbart@nginx.com<para> 12311134Svbart@nginx.comapplying a large configuration might have failed. 12321134Svbart@nginx.com</para> 12331134Svbart@nginx.com</change> 12341134Svbart@nginx.com 12351134Svbart@nginx.com</changes> 12361134Svbart@nginx.com 12371134Svbart@nginx.com 12381069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 12391069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 12401069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12411069Svbart@nginx.com 12421069Svbart@nginx.com<change> 12431069Svbart@nginx.com<para> 12441069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 12451069Svbart@nginx.com</para> 12461069Svbart@nginx.com</change> 12471069Svbart@nginx.com 12481069Svbart@nginx.com</changes> 12491069Svbart@nginx.com 12501069Svbart@nginx.com 12511069Svbart@nginx.com<changes apply="unit-php 12521069Svbart@nginx.com unit-python unit-python2.7 12531069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12541069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 12551069Svbart@nginx.com unit-perl 12561069Svbart@nginx.com unit-ruby 12571069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12581069Svbart@nginx.com ver="1.9.0" rev="1" 12591069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 12601069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12611069Svbart@nginx.com 12621069Svbart@nginx.com<change> 12631069Svbart@nginx.com<para> 12641069Svbart@nginx.comNGINX Unit updated to 1.9.0. 12651069Svbart@nginx.com</para> 12661069Svbart@nginx.com</change> 12671069Svbart@nginx.com 12681069Svbart@nginx.com</changes> 12691069Svbart@nginx.com 12701069Svbart@nginx.com 12711069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 12721069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 12731069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12741069Svbart@nginx.com 12751069Svbart@nginx.com<change type="feature"> 12761069Svbart@nginx.com<para> 12771069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 12781069Svbart@nginx.com</para> 12791069Svbart@nginx.com</change> 12801069Svbart@nginx.com 12811069Svbart@nginx.com<change type="feature"> 12821069Svbart@nginx.com<para> 12831069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 12841069Svbart@nginx.com</para> 12851069Svbart@nginx.com</change> 12861069Svbart@nginx.com 12871069Svbart@nginx.com<change type="feature"> 12881069Svbart@nginx.com<para> 12891069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 12901069Svbart@nginx.com</para> 12911069Svbart@nginx.com</change> 12921069Svbart@nginx.com 12931069Svbart@nginx.com<change type="feature"> 12941069Svbart@nginx.com<para> 12951069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 12961069Svbart@nginx.comon Linux without running main process as privileged user. 12971069Svbart@nginx.com</para> 12981069Svbart@nginx.com</change> 12991069Svbart@nginx.com 13001069Svbart@nginx.com<change type="bugfix"> 13011069Svbart@nginx.com<para> 13021069Svbart@nginx.commemory leak in the router process might have happened when a client 13031069Svbart@nginx.comprematurely closed the connection. 13041069Svbart@nginx.com</para> 13051069Svbart@nginx.com</change> 13061069Svbart@nginx.com 13071069Svbart@nginx.com<change type="bugfix"> 13081069Svbart@nginx.com<para> 13091069Svbart@nginx.comapplying a large configuration might have failed. 13101069Svbart@nginx.com</para> 13111069Svbart@nginx.com</change> 13121069Svbart@nginx.com 13131069Svbart@nginx.com<change type="bugfix"> 13141069Svbart@nginx.com<para> 13151069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 13161069Svbart@nginx.com</para> 13171069Svbart@nginx.com</change> 13181069Svbart@nginx.com 13191069Svbart@nginx.com<change type="bugfix"> 13201069Svbart@nginx.com<para> 13211069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 13221069Svbart@nginx.com</para> 13231069Svbart@nginx.com</change> 13241069Svbart@nginx.com 13251069Svbart@nginx.com<change type="bugfix"> 13261069Svbart@nginx.com<para> 13271069Svbart@nginx.comrestored compatibility with Node.js applications that use 13281069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 13291069Svbart@nginx.com</para> 13301069Svbart@nginx.com</change> 13311069Svbart@nginx.com 13321069Svbart@nginx.com<change type="bugfix"> 13331069Svbart@nginx.com<para> 13341069Svbart@nginx.comvarious compatibility issues with Node.js applications. 13351069Svbart@nginx.com</para> 13361069Svbart@nginx.com</change> 13371069Svbart@nginx.com 13381069Svbart@nginx.com</changes> 13391069Svbart@nginx.com 13401069Svbart@nginx.com 1341991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1342991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1343991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1344991Svbart@nginx.com 1345991Svbart@nginx.com<change> 1346991Svbart@nginx.com<para> 1347991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1348991Svbart@nginx.com</para> 1349991Svbart@nginx.com</change> 1350991Svbart@nginx.com 1351991Svbart@nginx.com</changes> 1352991Svbart@nginx.com 1353991Svbart@nginx.com 1354991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1355991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1356991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1357991Svbart@nginx.com 1358991Svbart@nginx.com<change> 1359991Svbart@nginx.com<para> 1360991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1361991Svbart@nginx.com</para> 1362991Svbart@nginx.com</change> 1363991Svbart@nginx.com 1364991Svbart@nginx.com</changes> 1365991Svbart@nginx.com 1366991Svbart@nginx.com 1367991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1368991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1369991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1370991Svbart@nginx.com 1371991Svbart@nginx.com