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 81834Svbart@nginx.com<changes apply="unit-php 91834Svbart@nginx.com unit-python unit-python2.7 101834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 111834Svbart@nginx.com unit-python3.8 unit-python3.9 121834Svbart@nginx.com unit-go 131834Svbart@nginx.com unit-perl 141834Svbart@nginx.com unit-ruby 151834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 161834Svbart@nginx.com unit-jsc14 unit-jsc15" 171839Svbart@nginx.com ver="1.24.0" rev="1" 181839Svbart@nginx.com date="" time="" 191839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 201839Svbart@nginx.com 211839Svbart@nginx.com<change> 221839Svbart@nginx.com<para> 231839Svbart@nginx.comNGINX Unit updated to 1.24.0. 241839Svbart@nginx.com</para> 251839Svbart@nginx.com</change> 261839Svbart@nginx.com 271839Svbart@nginx.com</changes> 281839Svbart@nginx.com 291839Svbart@nginx.com 301839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 311839Svbart@nginx.com date="" time="" 321839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 331839Svbart@nginx.com 341855Sz.hong@f5.com<change type="feature"> 351855Sz.hong@f5.com<para> 361865So.canty@f5.coma shim for automatic overriding "http" and "websocket" modules in Node.js. 371865So.canty@f5.com</para> 381865So.canty@f5.com</change> 391865So.canty@f5.com 401865So.canty@f5.com<change type="feature"> 411865So.canty@f5.com<para> 421859So.canty@f5.comability to limit serving of static files by MIME types. 431859So.canty@f5.com</para> 441859So.canty@f5.com</change> 451859So.canty@f5.com 461859So.canty@f5.com<change type="feature"> 471859So.canty@f5.com<para> 481855Sz.hong@f5.comsupport for chrooting, rejecting symlinks, and rejecting crossing mounting 491855Sz.hong@f5.compoints on a per-request basis during static file serving. 501855Sz.hong@f5.com</para> 511855Sz.hong@f5.com</change> 521855Sz.hong@f5.com 53*1870So.canty@f5.com<change type="feature"> 54*1870So.canty@f5.com<para> 55*1870So.canty@f5.comcompatibility with Ruby 3.0. 56*1870So.canty@f5.com</para> 57*1870So.canty@f5.com</change> 58*1870So.canty@f5.com 591861Svbart@nginx.com<change type="bugfix"> 601861Svbart@nginx.com<para> 611861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 621861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 631861Svbart@nginx.com</para> 641861Svbart@nginx.com</change> 651861Svbart@nginx.com 661839Svbart@nginx.com</changes> 671839Svbart@nginx.com 681839Svbart@nginx.com 691839Svbart@nginx.com<changes apply="unit-php 701839Svbart@nginx.com unit-python unit-python2.7 711839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 721839Svbart@nginx.com unit-python3.8 unit-python3.9 731839Svbart@nginx.com unit-go 741839Svbart@nginx.com unit-perl 751839Svbart@nginx.com unit-ruby 761839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 771839Svbart@nginx.com unit-jsc14 unit-jsc15" 781834Svbart@nginx.com ver="1.23.0" rev="1" 791834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 801834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 811834Svbart@nginx.com 821834Svbart@nginx.com<change> 831834Svbart@nginx.com<para> 841834Svbart@nginx.comNGINX Unit updated to 1.23.0. 851834Svbart@nginx.com</para> 861834Svbart@nginx.com</change> 871834Svbart@nginx.com 881834Svbart@nginx.com</changes> 891834Svbart@nginx.com 901834Svbart@nginx.com 911806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 921834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 931806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 941806Svbart@nginx.com 951825Sthresh@nginx.com<change type="feature"> 961825Sthresh@nginx.com<para> 971833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 981828Sa.suvorov@f5.comIndication (SNI) TLS extension. 991828Sa.suvorov@f5.com</para> 1001828Sa.suvorov@f5.com</change> 1011828Sa.suvorov@f5.com 1021828Sa.suvorov@f5.com<change type="feature"> 1031828Sa.suvorov@f5.com<para> 1041833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 1051833Sartem.konev@nginx.cominstallation. 1061825Sthresh@nginx.com</para> 1071825Sthresh@nginx.com</change> 1081825Sthresh@nginx.com 1091811Smax.romanov@nginx.com<change type="bugfix"> 1101811Smax.romanov@nginx.com<para> 1111812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 1121812Svbart@nginx.comappeared in 1.17.0. 1131812Svbart@nginx.com</para> 1141812Svbart@nginx.com</change> 1151812Svbart@nginx.com 1161812Svbart@nginx.com<change type="bugfix"> 1171812Svbart@nginx.com<para> 1181833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 1191812Svbart@nginx.comappeared in 1.6. 1201812Svbart@nginx.com</para> 1211812Svbart@nginx.com</change> 1221812Svbart@nginx.com 1231812Svbart@nginx.com<change type="bugfix"> 1241812Svbart@nginx.com<para> 1251833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 1261832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 1271832Smax.romanov@nginx.com</para> 1281832Smax.romanov@nginx.com</change> 1291832Smax.romanov@nginx.com 1301832Smax.romanov@nginx.com<change type="bugfix"> 1311832Smax.romanov@nginx.com<para> 1321833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 1331811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 1341811Smax.romanov@nginx.com</para> 1351811Smax.romanov@nginx.com</change> 1361806Svbart@nginx.com 1371813Svbart@nginx.com<change type="bugfix"> 1381813Svbart@nginx.com<para> 1391813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 1401813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 1411813Svbart@nginx.com</para> 1421813Svbart@nginx.com</change> 1431813Svbart@nginx.com 1441814Svbart@nginx.com<change type="bugfix"> 1451814Svbart@nginx.com<para> 1461820Svbart@nginx.comthe controller process could crash while requesting information about a 1471820Svbart@nginx.comcertificate with a non-DNS SAN entry. 1481820Svbart@nginx.com</para> 1491820Svbart@nginx.com</change> 1501820Svbart@nginx.com 1511820Svbart@nginx.com<change type="bugfix"> 1521820Svbart@nginx.com<para> 1531822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 1541833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 1551822Svbart@nginx.com</para> 1561822Svbart@nginx.com</change> 1571822Svbart@nginx.com 1581822Svbart@nginx.com<change type="bugfix"> 1591822Svbart@nginx.com<para> 1601833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 1611833Sartem.konev@nginx.comclass. 1621814Svbart@nginx.com</para> 1631814Svbart@nginx.com</change> 1641814Svbart@nginx.com 1651815Svbart@nginx.com<change type="bugfix"> 1661815Svbart@nginx.com<para> 1671815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 1681815Svbart@nginx.comappeared in 1.22.0. 1691815Svbart@nginx.com</para> 1701815Svbart@nginx.com</change> 1711815Svbart@nginx.com 1721806Svbart@nginx.com</changes> 1731806Svbart@nginx.com 1741806Svbart@nginx.com 1751798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 1761798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 1771798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1781798Sdefan@nginx.com 1791798Sdefan@nginx.com<change> 1801798Sdefan@nginx.com<para> 1811798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 1821798Sdefan@nginx.com</para> 1831798Sdefan@nginx.com</change> 1841798Sdefan@nginx.com 1851798Sdefan@nginx.com</changes> 1861798Sdefan@nginx.com 1871798Sdefan@nginx.com 1881763Sdefan@nginx.com<changes apply="unit-php 1891763Sdefan@nginx.com unit-python unit-python2.7 1901763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1911763Sdefan@nginx.com unit-python3.8 1921763Sdefan@nginx.com unit-go 1931763Sdefan@nginx.com unit-perl 1941763Sdefan@nginx.com unit-ruby 1951763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1961763Sdefan@nginx.com unit-jsc14 unit-jsc15" 1971763Sdefan@nginx.com ver="1.22.0" rev="1" 1981793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 1991763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2001763Sdefan@nginx.com 2011763Sdefan@nginx.com<change> 2021763Sdefan@nginx.com<para> 2031763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 2041763Sdefan@nginx.com</para> 2051763Sdefan@nginx.com</change> 2061763Sdefan@nginx.com 2071763Sdefan@nginx.com</changes> 2081763Sdefan@nginx.com 2091763Sdefan@nginx.com 2101727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 2111793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 2121727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2131727Svbart@nginx.com 2141759Svbart@nginx.com<change type="feature"> 2151759Svbart@nginx.com<para> 2161792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 2171792Svbart@nginx.comcompliant with Stream API. 2181759Svbart@nginx.com</para> 2191759Svbart@nginx.com</change> 2201759Svbart@nginx.com 2211766Smax.romanov@nginx.com<change type="feature"> 2221766Smax.romanov@nginx.com<para> 2231792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 2241792Svbart@nginx.comapps. 2251732Svbart@nginx.com</para> 2261732Svbart@nginx.com</change> 2271732Svbart@nginx.com 2281733Svbart@nginx.com<change type="bugfix"> 2291733Svbart@nginx.com<para> 2301792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 2311792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 2321754Smax.romanov@nginx.com</para> 2331754Smax.romanov@nginx.com</change> 2341754Smax.romanov@nginx.com 2351755Smax.romanov@nginx.com<change type="bugfix"> 2361755Smax.romanov@nginx.com<para> 2371790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 2381755Smax.romanov@nginx.comappeared in 1.19.0. 2391755Smax.romanov@nginx.com</para> 2401755Smax.romanov@nginx.com</change> 2411755Smax.romanov@nginx.com 2421756Smax.romanov@nginx.com<change type="bugfix"> 2431756Smax.romanov@nginx.com<para> 2441790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 2451790Sartem.konev@nginx.comappeared in 1.19.0. 2461756Smax.romanov@nginx.com</para> 2471756Smax.romanov@nginx.com</change> 2481756Smax.romanov@nginx.com 2491760Smax.romanov@nginx.com<change type="bugfix"> 2501760Smax.romanov@nginx.com<para> 2511792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 2521792Svbart@nginx.com</para> 2531792Svbart@nginx.com</change> 2541792Svbart@nginx.com 2551792Svbart@nginx.com<change type="bugfix"> 2561792Svbart@nginx.com<para> 2571792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 2581792Svbart@nginx.commissing in the PHP module. 2591792Svbart@nginx.com</para> 2601792Svbart@nginx.com</change> 2611792Svbart@nginx.com 2621792Svbart@nginx.com<change type="bugfix"> 2631792Svbart@nginx.com<para> 2641792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 2651792Svbart@nginx.com</para> 2661792Svbart@nginx.com</change> 2671792Svbart@nginx.com 2681792Svbart@nginx.com<change type="bugfix"> 2691792Svbart@nginx.com<para> 2701792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 2711792Svbart@nginx.com</para> 2721792Svbart@nginx.com</change> 2731792Svbart@nginx.com 2741792Svbart@nginx.com<change type="bugfix"> 2751792Svbart@nginx.com<para> 2761792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 2771792Svbart@nginx.comthe bug had appeared in 1.21.0. 2781760Smax.romanov@nginx.com</para> 2791760Smax.romanov@nginx.com</change> 2801760Smax.romanov@nginx.com 2811780Smax.romanov@nginx.com<change type="bugfix"> 2821780Smax.romanov@nginx.com<para> 2831790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 2841790Sartem.konev@nginx.comWebSocket. 2851780Smax.romanov@nginx.com</para> 2861780Smax.romanov@nginx.com</change> 2871780Smax.romanov@nginx.com 2881789Smax.romanov@nginx.com<change type="bugfix"> 2891789Smax.romanov@nginx.com<para> 2901789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 2911789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 2921789Smax.romanov@nginx.com</para> 2931789Smax.romanov@nginx.com</change> 2941789Smax.romanov@nginx.com 2951727Svbart@nginx.com</changes> 2961727Svbart@nginx.com 2971727Svbart@nginx.com 2981722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 2991722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 3001722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3011722Svbart@nginx.com 3021722Svbart@nginx.com<change> 3031722Svbart@nginx.com<para> 3041722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 3051722Svbart@nginx.com</para> 3061722Svbart@nginx.com</change> 3071722Svbart@nginx.com 3081722Svbart@nginx.com</changes> 3091722Svbart@nginx.com 3101722Svbart@nginx.com 3111722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 3121722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 3131722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3141722Svbart@nginx.com 3151722Svbart@nginx.com<change> 3161722Svbart@nginx.com<para> 3171722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 3181722Svbart@nginx.com</para> 3191722Svbart@nginx.com</change> 3201722Svbart@nginx.com 3211722Svbart@nginx.com</changes> 3221722Svbart@nginx.com 3231722Svbart@nginx.com 3241722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 3251722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 3261722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3271722Svbart@nginx.com 3281722Svbart@nginx.com<change> 3291722Svbart@nginx.com<para> 3301722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 3311722Svbart@nginx.com</para> 3321722Svbart@nginx.com</change> 3331722Svbart@nginx.com 3341722Svbart@nginx.com</changes> 3351722Svbart@nginx.com 3361722Svbart@nginx.com 3371722Svbart@nginx.com<changes apply="unit-php 3381722Svbart@nginx.com unit-python unit-python2.7 3391722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3401722Svbart@nginx.com unit-python3.8 3411722Svbart@nginx.com unit-go 3421722Svbart@nginx.com unit-perl 3431722Svbart@nginx.com unit-ruby 3441722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 3451722Svbart@nginx.com ver="1.21.0" rev="1" 3461722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 3471722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3481722Svbart@nginx.com 3491722Svbart@nginx.com<change> 3501722Svbart@nginx.com<para> 3511722Svbart@nginx.comNGINX Unit updated to 1.21.0. 3521722Svbart@nginx.com</para> 3531722Svbart@nginx.com</change> 3541722Svbart@nginx.com 3551722Svbart@nginx.com</changes> 3561722Svbart@nginx.com 3571722Svbart@nginx.com 3581722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 3591722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 3601722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3611722Svbart@nginx.com 3621722Svbart@nginx.com<change type="change"> 3631722Svbart@nginx.com<para> 3641722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 3651722Svbart@nginx.com</para> 3661722Svbart@nginx.com</change> 3671722Svbart@nginx.com 3681722Svbart@nginx.com<change type="change"> 3691722Svbart@nginx.com<para> 3701722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 3711722Svbart@nginx.comnames. 3721722Svbart@nginx.com</para> 3731722Svbart@nginx.com</change> 3741722Svbart@nginx.com 3751722Svbart@nginx.com<change type="change"> 3761722Svbart@nginx.com<para> 3771722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 3781722Svbart@nginx.comdefault. 3791722Svbart@nginx.com</para> 3801722Svbart@nginx.com</change> 3811722Svbart@nginx.com 3821722Svbart@nginx.com<change type="feature"> 3831722Svbart@nginx.com<para> 3841722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 3851722Svbart@nginx.com</para> 3861722Svbart@nginx.com</change> 3871722Svbart@nginx.com 3881722Svbart@nginx.com<change type="feature"> 3891722Svbart@nginx.com<para> 3901722Svbart@nginx.comregular expressions in route matching patterns. 3911722Svbart@nginx.com</para> 3921722Svbart@nginx.com</change> 3931722Svbart@nginx.com 3941722Svbart@nginx.com<change type="feature"> 3951722Svbart@nginx.com<para> 3961722Svbart@nginx.comcompatibility with Python 3.9. 3971722Svbart@nginx.com</para> 3981722Svbart@nginx.com</change> 3991722Svbart@nginx.com 4001722Svbart@nginx.com<change type="feature"> 4011722Svbart@nginx.com<para> 4021722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 4031722Svbart@nginx.com</para> 4041722Svbart@nginx.com</change> 4051722Svbart@nginx.com 4061722Svbart@nginx.com<change type="feature"> 4071722Svbart@nginx.com<para> 4081722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 4091722Svbart@nginx.com</para> 4101722Svbart@nginx.com</change> 4111722Svbart@nginx.com 4121722Svbart@nginx.com<change type="feature"> 4131722Svbart@nginx.com<para> 4141722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 4151722Svbart@nginx.comcontinues code execution without holding onto the client connection. 4161722Svbart@nginx.com</para> 4171722Svbart@nginx.com</change> 4181722Svbart@nginx.com 4191722Svbart@nginx.com<change type="feature"> 4201722Svbart@nginx.com<para> 4211722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 4221722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 4231722Svbart@nginx.com</para> 4241722Svbart@nginx.com</change> 4251722Svbart@nginx.com 4261722Svbart@nginx.com<change type="feature"> 4271722Svbart@nginx.com<para> 4281722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 4291722Svbart@nginx.commounting of eponymous filesystems. 4301722Svbart@nginx.com</para> 4311722Svbart@nginx.com</change> 4321722Svbart@nginx.com 4331722Svbart@nginx.com<change type="bugfix"> 4341722Svbart@nginx.com<para> 4351722Svbart@nginx.comthe router process could crash when running Go applications under high load; 4361722Svbart@nginx.comthe bug had appeared in 1.19.0. 4371722Svbart@nginx.com</para> 4381722Svbart@nginx.com</change> 4391722Svbart@nginx.com 4401722Svbart@nginx.com<change type="bugfix"> 4411722Svbart@nginx.com<para> 4421722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 4431722Svbart@nginx.com</para> 4441722Svbart@nginx.com</change> 4451722Svbart@nginx.com 4461722Svbart@nginx.com<change type="bugfix"> 4471722Svbart@nginx.com<para> 4481722Svbart@nginx.comvarious compatibility issues in Java applications. 4491722Svbart@nginx.com</para> 4501722Svbart@nginx.com</change> 4511722Svbart@nginx.com 4521722Svbart@nginx.com<change type="bugfix"> 4531722Svbart@nginx.com<para> 4541722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 4551722Svbart@nginx.comuse "rootfs" isolation. 4561722Svbart@nginx.com</para> 4571722Svbart@nginx.com</change> 4581722Svbart@nginx.com 4591722Svbart@nginx.com</changes> 4601722Svbart@nginx.com 4611722Svbart@nginx.com 4621330Svbart@nginx.com<changes apply="unit-php 4631330Svbart@nginx.com unit-python unit-python2.7 4641330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4651330Svbart@nginx.com unit-python3.8 4661330Svbart@nginx.com unit-go 4671330Svbart@nginx.com unit-perl 4681330Svbart@nginx.com unit-ruby 4691330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 4701640Svbart@nginx.com ver="1.20.0" rev="1" 4711640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 4721640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4731640Svbart@nginx.com 4741640Svbart@nginx.com<change> 4751640Svbart@nginx.com<para> 4761640Svbart@nginx.comNGINX Unit updated to 1.20.0. 4771640Svbart@nginx.com</para> 4781640Svbart@nginx.com</change> 4791640Svbart@nginx.com 4801640Svbart@nginx.com</changes> 4811640Svbart@nginx.com 4821640Svbart@nginx.com 4831640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 4841640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 4851640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4861640Svbart@nginx.com 4871640Svbart@nginx.com<change type="change"> 4881640Svbart@nginx.com<para> 4891640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 4901640Svbart@nginx.comextensions from the host system. 4911640Svbart@nginx.com</para> 4921640Svbart@nginx.com</change> 4931640Svbart@nginx.com 4941640Svbart@nginx.com<change type="change"> 4951640Svbart@nginx.com<para> 4961640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 4971640Svbart@nginx.com</para> 4981640Svbart@nginx.com</change> 4991640Svbart@nginx.com 5001643Svbart@nginx.com<change type="change"> 5011643Svbart@nginx.com<para> 5021643Svbart@nginx.comfunctional tests migrated to the pytest framework. 5031643Svbart@nginx.com</para> 5041643Svbart@nginx.com</change> 5051643Svbart@nginx.com 5061640Svbart@nginx.com<change type="feature"> 5071640Svbart@nginx.com<para> 5081640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 5091640Svbart@nginx.cominterface. 5101640Svbart@nginx.com</para> 5111640Svbart@nginx.com</change> 5121640Svbart@nginx.com 5131640Svbart@nginx.com<change type="feature"> 5141640Svbart@nginx.com<para> 5151640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 5161640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 5171640Svbart@nginx.comspecification. 5181640Svbart@nginx.com</para> 5191640Svbart@nginx.com</change> 5201640Svbart@nginx.com 5211640Svbart@nginx.com<change type="feature"> 5221640Svbart@nginx.com<para> 5231640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 5241640Svbart@nginx.comenvironments. 5251640Svbart@nginx.com</para> 5261640Svbart@nginx.com</change> 5271640Svbart@nginx.com 5281640Svbart@nginx.com<change type="feature"> 5291640Svbart@nginx.com<para> 5301640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 5311640Svbart@nginx.com</para> 5321640Svbart@nginx.com</change> 5331640Svbart@nginx.com 5341640Svbart@nginx.com<change type="feature"> 5351640Svbart@nginx.com<para> 5361640Svbart@nginx.comthe "callable" option sets Python application callable names. 5371640Svbart@nginx.com</para> 5381640Svbart@nginx.com</change> 5391640Svbart@nginx.com 5401640Svbart@nginx.com<change type="feature"> 5411640Svbart@nginx.com<para> 5421640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 5431640Svbart@nginx.com</para> 5441640Svbart@nginx.com</change> 5451640Svbart@nginx.com 5461640Svbart@nginx.com<change type="feature"> 5471640Svbart@nginx.com<para> 5481640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 5491640Svbart@nginx.comautomatic mounting of language module dependencies. 5501640Svbart@nginx.com</para> 5511640Svbart@nginx.com</change> 5521640Svbart@nginx.com 5531640Svbart@nginx.com<change type="bugfix"> 5541640Svbart@nginx.com<para> 5551640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 5561640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 5571640Svbart@nginx.com</para> 5581640Svbart@nginx.com</change> 5591640Svbart@nginx.com 5601640Svbart@nginx.com<change type="bugfix"> 5611640Svbart@nginx.com<para> 5621640Svbart@nginx.comthe router process could crash during reconfiguration. 5631640Svbart@nginx.com</para> 5641640Svbart@nginx.com</change> 5651640Svbart@nginx.com 5661640Svbart@nginx.com<change type="bugfix"> 5671640Svbart@nginx.com<para> 5681640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 5691640Svbart@nginx.com</para> 5701640Svbart@nginx.com</change> 5711640Svbart@nginx.com 5721640Svbart@nginx.com<change type="bugfix"> 5731640Svbart@nginx.com<para> 5741640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 5751640Svbart@nginx.comthe bug had appeared in 1.19.0. 5761640Svbart@nginx.com</para> 5771640Svbart@nginx.com</change> 5781640Svbart@nginx.com 5791640Svbart@nginx.com<change type="bugfix"> 5801640Svbart@nginx.com<para> 5811640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 5821640Svbart@nginx.comthe bug had appeared in 1.16.0. 5831640Svbart@nginx.com</para> 5841640Svbart@nginx.com</change> 5851640Svbart@nginx.com 5861640Svbart@nginx.com</changes> 5871640Svbart@nginx.com 5881640Svbart@nginx.com 5891640Svbart@nginx.com<changes apply="unit-php 5901640Svbart@nginx.com unit-python unit-python2.7 5911640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5921640Svbart@nginx.com unit-python3.8 5931640Svbart@nginx.com unit-go 5941640Svbart@nginx.com unit-perl 5951640Svbart@nginx.com unit-ruby 5961640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 5971570Svbart@nginx.com ver="1.19.0" rev="1" 5981570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 5991570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6001570Svbart@nginx.com 6011570Svbart@nginx.com<change> 6021570Svbart@nginx.com<para> 6031570Svbart@nginx.comNGINX Unit updated to 1.19.0. 6041570Svbart@nginx.com</para> 6051570Svbart@nginx.com</change> 6061570Svbart@nginx.com 6071570Svbart@nginx.com</changes> 6081570Svbart@nginx.com 6091570Svbart@nginx.com 6101570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 6111570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 6121570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6131570Svbart@nginx.com 6141570Svbart@nginx.com<change type="feature"> 6151570Svbart@nginx.com<para> 6161570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 6171570Svbart@nginx.comincrease performance, and improve scalability. 6181570Svbart@nginx.com</para> 6191570Svbart@nginx.com</change> 6201570Svbart@nginx.com 6211570Svbart@nginx.com<change type="feature"> 6221570Svbart@nginx.com<para> 6231570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 6241570Svbart@nginx.com</para> 6251570Svbart@nginx.com</change> 6261570Svbart@nginx.com 6271570Svbart@nginx.com<change type="feature"> 6281570Svbart@nginx.com<para> 6291570Svbart@nginx.comchunked transfer encoding in proxy responses. 6301570Svbart@nginx.com</para> 6311570Svbart@nginx.com</change> 6321570Svbart@nginx.com 6331570Svbart@nginx.com<change type="feature"> 6341570Svbart@nginx.com<para> 6351570Svbart@nginx.combasic variables support in the "pass" option. 6361570Svbart@nginx.com</para> 6371570Svbart@nginx.com</change> 6381570Svbart@nginx.com 6391570Svbart@nginx.com<change type="feature"> 6401570Svbart@nginx.com<para> 6411570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 6421570Svbart@nginx.comThanks to Remi Collet. 6431570Svbart@nginx.com</para> 6441570Svbart@nginx.com</change> 6451570Svbart@nginx.com 6461570Svbart@nginx.com<change type="bugfix"> 6471570Svbart@nginx.com<para> 6481570Svbart@nginx.comthe router process could crash while passing requests to an application under 6491570Svbart@nginx.comhigh load. 6501570Svbart@nginx.com</para> 6511570Svbart@nginx.com</change> 6521570Svbart@nginx.com 6531570Svbart@nginx.com<change type="bugfix"> 6541570Svbart@nginx.com<para> 6551570Svbart@nginx.coma number of language modules failed to build on some systems; 6561570Svbart@nginx.comthe bug had appeared in 1.18.0. 6571570Svbart@nginx.com</para> 6581570Svbart@nginx.com</change> 6591570Svbart@nginx.com 6601570Svbart@nginx.com<change type="bugfix"> 6611570Svbart@nginx.com<para> 6621570Svbart@nginx.comtime in error log messages from PHP applications could lag. 6631570Svbart@nginx.com</para> 6641570Svbart@nginx.com</change> 6651570Svbart@nginx.com 6661570Svbart@nginx.com<change type="bugfix"> 6671570Svbart@nginx.com<para> 6681570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 6691570Svbart@nginx.comthe bug had appeared in 1.18.0. 6701570Svbart@nginx.com</para> 6711570Svbart@nginx.com</change> 6721570Svbart@nginx.com 6731570Svbart@nginx.com<change type="bugfix"> 6741570Svbart@nginx.com<para> 6751570Svbart@nginx.commemory leak during reconfiguration. 6761570Svbart@nginx.com</para> 6771570Svbart@nginx.com</change> 6781570Svbart@nginx.com 6791570Svbart@nginx.com<change type="bugfix"> 6801570Svbart@nginx.com<para> 6811570Svbart@nginx.comthe daemon didn't start without language modules; 6821570Svbart@nginx.comthe bug had appeared in 1.18.0. 6831570Svbart@nginx.com</para> 6841570Svbart@nginx.com</change> 6851570Svbart@nginx.com 6861570Svbart@nginx.com<change type="bugfix"> 6871570Svbart@nginx.com<para> 6881570Svbart@nginx.comthe router process could crash at exit. 6891570Svbart@nginx.com</para> 6901570Svbart@nginx.com</change> 6911570Svbart@nginx.com 6921570Svbart@nginx.com<change type="bugfix"> 6931570Svbart@nginx.com<para> 6941570Svbart@nginx.comNode.js applications could crash at exit. 6951570Svbart@nginx.com</para> 6961570Svbart@nginx.com</change> 6971570Svbart@nginx.com 6981570Svbart@nginx.com<change type="bugfix"> 6991570Svbart@nginx.com<para> 7001570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 7011570Svbart@nginx.com</para> 7021570Svbart@nginx.com</change> 7031570Svbart@nginx.com 7041570Svbart@nginx.com</changes> 7051570Svbart@nginx.com 7061570Svbart@nginx.com 7071570Svbart@nginx.com<changes apply="unit-php 7081570Svbart@nginx.com unit-python unit-python2.7 7091570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7101570Svbart@nginx.com unit-python3.8 7111570Svbart@nginx.com unit-go 7121570Svbart@nginx.com unit-perl 7131570Svbart@nginx.com unit-ruby 7141570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7151491Svbart@nginx.com ver="1.18.0" rev="1" 7161491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 7171491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7181491Svbart@nginx.com 7191491Svbart@nginx.com<change> 7201491Svbart@nginx.com<para> 7211491Svbart@nginx.comNGINX Unit updated to 1.18.0. 7221491Svbart@nginx.com</para> 7231491Svbart@nginx.com</change> 7241491Svbart@nginx.com 7251491Svbart@nginx.com</changes> 7261491Svbart@nginx.com 7271491Svbart@nginx.com 7281491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 7291491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 7301491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7311491Svbart@nginx.com 7321491Svbart@nginx.com<change type="feature"> 7331491Svbart@nginx.com<para> 7341491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 7351491Svbart@nginx.com</para> 7361491Svbart@nginx.com</change> 7371491Svbart@nginx.com 7381491Svbart@nginx.com<change type="feature"> 7391491Svbart@nginx.com<para> 7401491Svbart@nginx.commultiple "targets" in PHP applications. 7411491Svbart@nginx.com</para> 7421491Svbart@nginx.com</change> 7431491Svbart@nginx.com 7441491Svbart@nginx.com<change type="feature"> 7451491Svbart@nginx.com<para> 7461491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 7471491Svbart@nginx.comand in the "pass" option. 7481491Svbart@nginx.com</para> 7491491Svbart@nginx.com</change> 7501491Svbart@nginx.com 7511491Svbart@nginx.com</changes> 7521491Svbart@nginx.com 7531491Svbart@nginx.com 7541491Svbart@nginx.com<changes apply="unit-php 7551491Svbart@nginx.com unit-python unit-python2.7 7561491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7571491Svbart@nginx.com unit-python3.8 7581491Svbart@nginx.com unit-go 7591491Svbart@nginx.com unit-perl 7601491Svbart@nginx.com unit-ruby 7611491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7621460Svbart@nginx.com ver="1.17.0" rev="1" 7631460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 7641460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7651460Svbart@nginx.com 7661460Svbart@nginx.com<change> 7671460Svbart@nginx.com<para> 7681460Svbart@nginx.comNGINX Unit updated to 1.17.0. 7691460Svbart@nginx.com</para> 7701460Svbart@nginx.com</change> 7711460Svbart@nginx.com 7721460Svbart@nginx.com</changes> 7731460Svbart@nginx.com 7741460Svbart@nginx.com 7751460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 7761460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 7771460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7781460Svbart@nginx.com 7791460Svbart@nginx.com<change type="feature"> 7801460Svbart@nginx.com<para> 7811460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 7821460Svbart@nginx.comredirection. 7831460Svbart@nginx.com</para> 7841460Svbart@nginx.com</change> 7851460Svbart@nginx.com 7861460Svbart@nginx.com<change type="feature"> 7871460Svbart@nginx.com<para> 7881460Svbart@nginx.comfractional weights support for upstream servers. 7891460Svbart@nginx.com</para> 7901460Svbart@nginx.com</change> 7911460Svbart@nginx.com 7921460Svbart@nginx.com<change type="bugfix"> 7931460Svbart@nginx.com<para> 7941460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 7951460Svbart@nginx.comhigh load. 7961460Svbart@nginx.com</para> 7971460Svbart@nginx.com</change> 7981460Svbart@nginx.com 7991460Svbart@nginx.com<change type="bugfix"> 8001460Svbart@nginx.com<para> 8011460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 8021460Svbart@nginx.com</para> 8031460Svbart@nginx.com</change> 8041460Svbart@nginx.com 8051460Svbart@nginx.com<change type="bugfix"> 8061460Svbart@nginx.com<para> 8071460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 8081460Svbart@nginx.comopen connections limit. 8091460Svbart@nginx.com</para> 8101460Svbart@nginx.com</change> 8111460Svbart@nginx.com 8121460Svbart@nginx.com<change type="bugfix"> 8131460Svbart@nginx.com<para> 8141460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 8151460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 8161460Svbart@nginx.com</para> 8171460Svbart@nginx.com</change> 8181460Svbart@nginx.com 8191460Svbart@nginx.com<change type="bugfix"> 8201460Svbart@nginx.com<para> 8211460Svbart@nginx.comexisting application processes didn't reopen the log file. 8221460Svbart@nginx.com</para> 8231460Svbart@nginx.com</change> 8241460Svbart@nginx.com 8251460Svbart@nginx.com<change type="bugfix"> 8261460Svbart@nginx.com<para> 8271460Svbart@nginx.comincompatibility with some Node.js applications. 8281460Svbart@nginx.com</para> 8291460Svbart@nginx.com</change> 8301460Svbart@nginx.com 8311460Svbart@nginx.com<change type="bugfix"> 8321460Svbart@nginx.com<para> 8331460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 8341460Svbart@nginx.com</para> 8351460Svbart@nginx.com</change> 8361460Svbart@nginx.com 8371460Svbart@nginx.com</changes> 8381460Svbart@nginx.com 8391460Svbart@nginx.com 8401460Svbart@nginx.com<changes apply="unit-php 8411460Svbart@nginx.com unit-python unit-python2.7 8421460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8431460Svbart@nginx.com unit-python3.8 8441460Svbart@nginx.com unit-go 8451460Svbart@nginx.com unit-perl 8461460Svbart@nginx.com unit-ruby 8471460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8481404Svbart@nginx.com ver="1.16.0" rev="1" 8491404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 8501404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8511404Svbart@nginx.com 8521404Svbart@nginx.com<change> 8531404Svbart@nginx.com<para> 8541404Svbart@nginx.comNGINX Unit updated to 1.16.0. 8551404Svbart@nginx.com</para> 8561404Svbart@nginx.com</change> 8571404Svbart@nginx.com 8581404Svbart@nginx.com</changes> 8591404Svbart@nginx.com 8601404Svbart@nginx.com 8611404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 8621404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 8631404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8641404Svbart@nginx.com 8651404Svbart@nginx.com<change type="feature"> 8661404Svbart@nginx.com<para> 8671404Svbart@nginx.combasic load-balancing support with round-robin. 8681404Svbart@nginx.com</para> 8691404Svbart@nginx.com</change> 8701404Svbart@nginx.com 8711404Svbart@nginx.com<change type="feature"> 8721404Svbart@nginx.com<para> 8731404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 8741404Svbart@nginx.comserved from the "share" directory. 8751404Svbart@nginx.com</para> 8761404Svbart@nginx.com</change> 8771404Svbart@nginx.com 8781404Svbart@nginx.com<change type="feature"> 8791404Svbart@nginx.com<para> 8801404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 8811404Svbart@nginx.com</para> 8821404Svbart@nginx.com</change> 8831404Svbart@nginx.com 8841404Svbart@nginx.com<change type="feature"> 8851404Svbart@nginx.com<para> 8861404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 8871404Svbart@nginx.com</para> 8881404Svbart@nginx.com</change> 8891404Svbart@nginx.com 8901404Svbart@nginx.com<change type="bugfix"> 8911404Svbart@nginx.com<para> 8921404Svbart@nginx.comnegative address matching in router might work improperly in combination with 8931404Svbart@nginx.comnon-negative patterns. 8941404Svbart@nginx.com</para> 8951404Svbart@nginx.com</change> 8961404Svbart@nginx.com 8971404Svbart@nginx.com<change type="bugfix"> 8981404Svbart@nginx.com<para> 8991404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 9001404Svbart@nginx.com</para> 9011404Svbart@nginx.com</change> 9021404Svbart@nginx.com 9031404Svbart@nginx.com<change type="bugfix"> 9041404Svbart@nginx.com<para> 9051404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 9061404Svbart@nginx.com</para> 9071404Svbart@nginx.com</change> 9081404Svbart@nginx.com 9091404Svbart@nginx.com<change type="bugfix"> 9101404Svbart@nginx.com<para> 9111404Svbart@nginx.comcompatibility issues with some Python applications. 9121404Svbart@nginx.com</para> 9131404Svbart@nginx.com</change> 9141404Svbart@nginx.com 9151404Svbart@nginx.com</changes> 9161404Svbart@nginx.com 9171404Svbart@nginx.com 9181404Svbart@nginx.com<changes apply="unit-php 9191404Svbart@nginx.com unit-python unit-python2.7 9201404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9211404Svbart@nginx.com unit-python3.8 9221404Svbart@nginx.com unit-go 9231404Svbart@nginx.com unit-perl 9241404Svbart@nginx.com unit-ruby 9251404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9261357Svbart@nginx.com ver="1.15.0" rev="1" 9271357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 9281357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9291357Svbart@nginx.com 9301357Svbart@nginx.com<change> 9311357Svbart@nginx.com<para> 9321357Svbart@nginx.comNGINX Unit updated to 1.15.0. 9331357Svbart@nginx.com</para> 9341357Svbart@nginx.com</change> 9351357Svbart@nginx.com 9361357Svbart@nginx.com</changes> 9371357Svbart@nginx.com 9381357Svbart@nginx.com 9391357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 9401357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 9411357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9421357Svbart@nginx.com 9431357Svbart@nginx.com<change type="change"> 9441357Svbart@nginx.com<para> 9451357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 9461357Svbart@nginx.com</para> 9471357Svbart@nginx.com</change> 9481357Svbart@nginx.com 9491357Svbart@nginx.com<change type="feature"> 9501357Svbart@nginx.com<para> 9511357Svbart@nginx.comcompatibility with Ruby 2.7. 9521357Svbart@nginx.com</para> 9531357Svbart@nginx.com</change> 9541357Svbart@nginx.com 9551357Svbart@nginx.com<change type="bugfix"> 9561357Svbart@nginx.com<para> 9571357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 9581357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 9591357Svbart@nginx.com</para> 9601357Svbart@nginx.com</change> 9611357Svbart@nginx.com 9621357Svbart@nginx.com<change type="bugfix"> 9631357Svbart@nginx.com<para> 9641357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 9651357Svbart@nginx.com</para> 9661357Svbart@nginx.com</change> 9671357Svbart@nginx.com 9681357Svbart@nginx.com</changes> 9691357Svbart@nginx.com 9701357Svbart@nginx.com 9711357Svbart@nginx.com<changes apply="unit-php 9721357Svbart@nginx.com unit-python unit-python2.7 9731357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9741357Svbart@nginx.com unit-python3.8 9751357Svbart@nginx.com unit-go 9761357Svbart@nginx.com unit-perl 9771357Svbart@nginx.com unit-ruby 9781357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9791330Svbart@nginx.com ver="1.14.0" rev="1" 9801330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 9811330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9821330Svbart@nginx.com 9831330Svbart@nginx.com<change> 9841330Svbart@nginx.com<para> 9851330Svbart@nginx.comNGINX Unit updated to 1.14.0. 9861330Svbart@nginx.com</para> 9871330Svbart@nginx.com</change> 9881330Svbart@nginx.com 9891330Svbart@nginx.com</changes> 9901330Svbart@nginx.com 9911330Svbart@nginx.com 9921330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 9931330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 9941330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9951330Svbart@nginx.com 9961330Svbart@nginx.com<change type="change"> 9971330Svbart@nginx.com<para> 9981330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 9991330Svbart@nginx.com</para> 10001330Svbart@nginx.com</change> 10011330Svbart@nginx.com 10021330Svbart@nginx.com<change type="change"> 10031330Svbart@nginx.com<para> 10041330Svbart@nginx.comGo package now links to libunit instead of including library sources. 10051330Svbart@nginx.com</para> 10061330Svbart@nginx.com</change> 10071330Svbart@nginx.com 10081330Svbart@nginx.com<change type="feature"> 10091330Svbart@nginx.com<para> 10101330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 10111330Svbart@nginx.comruns as an unprivileged user. 10121330Svbart@nginx.com</para> 10131330Svbart@nginx.com</change> 10141330Svbart@nginx.com 10151330Svbart@nginx.com<change type="feature"> 10161330Svbart@nginx.com<para> 10171330Svbart@nginx.comrequest routing by source and destination addresses and ports. 10181330Svbart@nginx.com</para> 10191330Svbart@nginx.com</change> 10201330Svbart@nginx.com 10211330Svbart@nginx.com<change type="bugfix"> 10221330Svbart@nginx.com<para> 10231330Svbart@nginx.commemory bloat on large responses. 10241330Svbart@nginx.com</para> 10251330Svbart@nginx.com</change> 10261330Svbart@nginx.com 10271330Svbart@nginx.com</changes> 10281330Svbart@nginx.com 10291330Svbart@nginx.com 10301290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 10311290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 10321290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10331290Sdefan@nginx.com 10341290Sdefan@nginx.com<change> 10351290Sdefan@nginx.com<para> 10361290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 10371290Sdefan@nginx.com</para> 10381290Sdefan@nginx.com</change> 10391290Sdefan@nginx.com 10401290Sdefan@nginx.com</changes> 10411290Sdefan@nginx.com 10421290Sdefan@nginx.com 10431290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 10441290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 10451290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10461290Sdefan@nginx.com 10471290Sdefan@nginx.com<change> 10481290Sdefan@nginx.com<para> 10491290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 10501290Sdefan@nginx.com</para> 10511290Sdefan@nginx.com</change> 10521290Sdefan@nginx.com 10531290Sdefan@nginx.com</changes> 10541290Sdefan@nginx.com 10551290Sdefan@nginx.com 10561289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 10571289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 10581289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10591289Sdefan@nginx.com 10601289Sdefan@nginx.com<change> 10611289Sdefan@nginx.com<para> 10621289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 10631289Sdefan@nginx.com</para> 10641289Sdefan@nginx.com</change> 10651289Sdefan@nginx.com 10661289Sdefan@nginx.com</changes> 10671289Sdefan@nginx.com 10681289Sdefan@nginx.com 10691185Svbart@nginx.com<changes apply="unit-php 10701185Svbart@nginx.com unit-python unit-python2.7 10711185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10721185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 10731185Svbart@nginx.com unit-perl 10741185Svbart@nginx.com unit-ruby 10751185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10761284Svbart@nginx.com ver="1.13.0" rev="1" 10771284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 10781284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10791284Svbart@nginx.com 10801284Svbart@nginx.com<change> 10811284Svbart@nginx.com<para> 10821284Svbart@nginx.comNGINX Unit updated to 1.13.0. 10831284Svbart@nginx.com</para> 10841284Svbart@nginx.com</change> 10851284Svbart@nginx.com 10861284Svbart@nginx.com</changes> 10871284Svbart@nginx.com 10881284Svbart@nginx.com 10891284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 10901284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 10911284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10921284Svbart@nginx.com 10931284Svbart@nginx.com<change type="feature"> 10941284Svbart@nginx.com<para> 10951284Svbart@nginx.combasic support for HTTP reverse proxying. 10961284Svbart@nginx.com</para> 10971284Svbart@nginx.com</change> 10981284Svbart@nginx.com 10991284Svbart@nginx.com<change type="feature"> 11001284Svbart@nginx.com<para> 11011284Svbart@nginx.comcompatibility with Python 3.8. 11021284Svbart@nginx.com</para> 11031284Svbart@nginx.com</change> 11041284Svbart@nginx.com 11051284Svbart@nginx.com<change type="bugfix"> 11061284Svbart@nginx.com<para> 11071284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 11081284Svbart@nginx.com</para> 11091284Svbart@nginx.com</change> 11101284Svbart@nginx.com 11111284Svbart@nginx.com<change type="bugfix"> 11121284Svbart@nginx.com<para> 11131284Svbart@nginx.comthreads in Python applications might not work correctly. 11141284Svbart@nginx.com</para> 11151284Svbart@nginx.com</change> 11161284Svbart@nginx.com 11171284Svbart@nginx.com<change type="bugfix"> 11181284Svbart@nginx.com<para> 11191284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 11201284Svbart@nginx.com</para> 11211284Svbart@nginx.com</change> 11221284Svbart@nginx.com 11231284Svbart@nginx.com<change type="bugfix"> 11241284Svbart@nginx.com<para> 11251284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 11261284Svbart@nginx.comdelays. 11271284Svbart@nginx.com</para> 11281284Svbart@nginx.com</change> 11291284Svbart@nginx.com 11301284Svbart@nginx.com<change type="bugfix"> 11311284Svbart@nginx.com<para> 11321284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 11331284Svbart@nginx.com</para> 11341284Svbart@nginx.com</change> 11351284Svbart@nginx.com 11361284Svbart@nginx.com</changes> 11371284Svbart@nginx.com 11381284Svbart@nginx.com 11391284Svbart@nginx.com<changes apply="unit-php 11401284Svbart@nginx.com unit-python unit-python2.7 11411284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11421284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 11431284Svbart@nginx.com unit-perl 11441284Svbart@nginx.com unit-ruby 11451284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11461222Svbart@nginx.com ver="1.12.0" rev="1" 11471222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 11481222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11491222Svbart@nginx.com 11501222Svbart@nginx.com<change> 11511222Svbart@nginx.com<para> 11521222Svbart@nginx.comNGINX Unit updated to 1.12.0. 11531222Svbart@nginx.com</para> 11541222Svbart@nginx.com</change> 11551222Svbart@nginx.com 11561222Svbart@nginx.com</changes> 11571222Svbart@nginx.com 11581222Svbart@nginx.com 11591222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 11601222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 11611222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11621222Svbart@nginx.com 11631222Svbart@nginx.com<change type="feature"> 11641222Svbart@nginx.com<para> 11651222Svbart@nginx.comcompatibility with PHP 7.4. 11661222Svbart@nginx.com</para> 11671222Svbart@nginx.com</change> 11681222Svbart@nginx.com 11691222Svbart@nginx.com<change type="bugfix"> 11701222Svbart@nginx.com<para> 11711222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 11721222Svbart@nginx.com</para> 11731222Svbart@nginx.com</change> 11741222Svbart@nginx.com 11751222Svbart@nginx.com<change type="bugfix"> 11761222Svbart@nginx.com<para> 11771222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 11781222Svbart@nginx.com</para> 11791222Svbart@nginx.com</change> 11801222Svbart@nginx.com 11811222Svbart@nginx.com<change type="bugfix"> 11821222Svbart@nginx.com<para> 11831222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 11841222Svbart@nginx.com</para> 11851222Svbart@nginx.com</change> 11861222Svbart@nginx.com 11871222Svbart@nginx.com</changes> 11881222Svbart@nginx.com 11891222Svbart@nginx.com 11901222Svbart@nginx.com 11911222Svbart@nginx.com<changes apply="unit-php 11921222Svbart@nginx.com unit-python unit-python2.7 11931222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11941222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 11951222Svbart@nginx.com unit-perl 11961222Svbart@nginx.com unit-ruby 11971222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11981185Svbart@nginx.com ver="1.11.0" rev="1" 11991185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 12001185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 12011185Svbart@nginx.com 12021185Svbart@nginx.com<change> 12031185Svbart@nginx.com<para> 12041185Svbart@nginx.comNGINX Unit updated to 1.11.0. 12051185Svbart@nginx.com</para> 12061185Svbart@nginx.com</change> 12071185Svbart@nginx.com 12081185Svbart@nginx.com</changes> 12091185Svbart@nginx.com 12101185Svbart@nginx.com 12111185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 12121185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 12131185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 12141185Svbart@nginx.com 12151185Svbart@nginx.com<change type="feature"> 12161185Svbart@nginx.com<para> 12171185Svbart@nginx.combasic support for serving static files. 12181185Svbart@nginx.com</para> 12191185Svbart@nginx.com</change> 12201185Svbart@nginx.com 12211185Svbart@nginx.com<change type="feature"> 12221185Svbart@nginx.com<para> 12231185Svbart@nginx.comisolation of application processes with Linux namespaces. 12241185Svbart@nginx.com</para> 12251185Svbart@nginx.com</change> 12261185Svbart@nginx.com 12271185Svbart@nginx.com<change type="feature"> 12281185Svbart@nginx.com<para> 12291185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 12301185Svbart@nginx.com</para> 12311185Svbart@nginx.com</change> 12321185Svbart@nginx.com 12331185Svbart@nginx.com<change type="feature"> 12341185Svbart@nginx.com<para> 12351185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 12361185Svbart@nginx.comusing URI encoding (%2F). 12371185Svbart@nginx.com</para> 12381185Svbart@nginx.com</change> 12391185Svbart@nginx.com 12401185Svbart@nginx.com<change type="bugfix"> 12411185Svbart@nginx.com<para> 12421185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 12431185Svbart@nginx.com</para> 12441185Svbart@nginx.com</change> 12451185Svbart@nginx.com 12461185Svbart@nginx.com<change type="bugfix"> 12471185Svbart@nginx.com<para> 12481185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 12491185Svbart@nginx.comGNU ld (e.g. gold or LLD). 12501185Svbart@nginx.com</para> 12511185Svbart@nginx.com</change> 12521185Svbart@nginx.com 12531185Svbart@nginx.com</changes> 12541185Svbart@nginx.com 12551185Svbart@nginx.com 12561142Sdefan@nginx.com<changes apply="unit 12571142Sdefan@nginx.com unit-php 12581142Sdefan@nginx.com unit-python unit-python2.7 12591142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12601142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 12611142Sdefan@nginx.com unit-perl 12621142Sdefan@nginx.com unit-ruby 12631142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12641142Sdefan@nginx.com ver="1.10.0" rev="2" 12651142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 12661142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12671142Sdefan@nginx.com 12681142Sdefan@nginx.com<change type="bugfix"> 12691142Sdefan@nginx.com<para> 12701142Sdefan@nginx.commissed header files added to unit development package. 12711142Sdefan@nginx.com</para> 12721142Sdefan@nginx.com</change> 12731142Sdefan@nginx.com 12741142Sdefan@nginx.com</changes> 12751142Sdefan@nginx.com 12761142Sdefan@nginx.com 12771134Svbart@nginx.com<changes apply="unit-php 12781134Svbart@nginx.com unit-python unit-python2.7 12791134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12801134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 12811134Svbart@nginx.com unit-perl 12821134Svbart@nginx.com unit-ruby 12831134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12841134Svbart@nginx.com ver="1.10.0" rev="1" 12851134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 12861134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12871134Svbart@nginx.com 12881134Svbart@nginx.com<change> 12891134Svbart@nginx.com<para> 12901134Svbart@nginx.comNGINX Unit updated to 1.10.0. 12911134Svbart@nginx.com</para> 12921134Svbart@nginx.com</change> 12931134Svbart@nginx.com 12941134Svbart@nginx.com</changes> 12951134Svbart@nginx.com 12961134Svbart@nginx.com 12971134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 12981134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 12991134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13001134Svbart@nginx.com 13011134Svbart@nginx.com<change type="change"> 13021134Svbart@nginx.com<para> 13031134Svbart@nginx.commatching of cookies in routes made case sensitive. 13041134Svbart@nginx.com</para> 13051134Svbart@nginx.com</change> 13061134Svbart@nginx.com 13071134Svbart@nginx.com<change type="change"> 13081134Svbart@nginx.com<para> 13091134Svbart@nginx.comdecreased log level of common errors when clients close connections. 13101134Svbart@nginx.com</para> 13111134Svbart@nginx.com</change> 13121134Svbart@nginx.com 13131134Svbart@nginx.com<change type="change"> 13141134Svbart@nginx.com<para> 13151134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 13161134Svbart@nginx.com</para> 13171134Svbart@nginx.com</change> 1318