1369Sdefan@nginx.com<?xml version="1.0" ?> 2369Sdefan@nginx.com<!DOCTYPE change_log SYSTEM "changes.dtd" > 3369Sdefan@nginx.com 4369Sdefan@nginx.com 5369Sdefan@nginx.com<change_log title="unit"> 6369Sdefan@nginx.com 7369Sdefan@nginx.com 81896Svbart@nginx.com<changes apply="unit-php 91896Svbart@nginx.com unit-python unit-python2.7 101896Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 111896Svbart@nginx.com unit-python3.8 unit-python3.9 121896Svbart@nginx.com unit-go 131896Svbart@nginx.com unit-perl 141896Svbart@nginx.com unit-ruby 151896Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 161896Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 171896Svbart@nginx.com ver="1.25.0" rev="1" 181896Svbart@nginx.com date="" time="" 191896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 201896Svbart@nginx.com 211896Svbart@nginx.com<change> 221896Svbart@nginx.com<para> 231896Svbart@nginx.comNGINX Unit updated to 1.25.0. 241896Svbart@nginx.com</para> 251896Svbart@nginx.com</change> 261896Svbart@nginx.com 271896Svbart@nginx.com</changes> 281896Svbart@nginx.com 291896Svbart@nginx.com 301896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 311896Svbart@nginx.com date="" time="" 321896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 331896Svbart@nginx.com 341910So.canty@f5.com<change type="feature"> 351910So.canty@f5.com<para> 361920Sa.suvorov@f5.comTLS sessions cache. 371920Sa.suvorov@f5.com</para> 381920Sa.suvorov@f5.com</change> 391920Sa.suvorov@f5.com 401920Sa.suvorov@f5.com<change type="feature"> 411920Sa.suvorov@f5.com<para> 421910So.canty@f5.comprocess and thread lifecycle hooks in Ruby. 431910So.canty@f5.com</para> 441910So.canty@f5.com</change> 451910So.canty@f5.com 461926Smax.romanov@nginx.com<change type="feature"> 471926Smax.romanov@nginx.com<para> 481926Smax.romanov@nginx.comapplication restart control. 491926Smax.romanov@nginx.com</para> 501926Smax.romanov@nginx.com</change> 511926Smax.romanov@nginx.com 521907Smax.romanov@nginx.com<change type="bugfix"> 531907Smax.romanov@nginx.com<para> 541921Sa.suvorov@f5.comTLS connection was rejected for configuration with more than one 551921Sa.suvorov@f5.comcertificate bundle in a listener if a client did not use SNI. 561921Sa.suvorov@f5.com</para> 571921Sa.suvorov@f5.com</change> 581921Sa.suvorov@f5.com 591921Sa.suvorov@f5.com 601921Sa.suvorov@f5.com<change type="bugfix"> 611921Sa.suvorov@f5.com<para> 621907Smax.romanov@nginx.comthe router process could crash on TLS connection open when multiple listeners 631907Smax.romanov@nginx.comwith TLS certificate configured; the bug had appeared in 1.23.0. 641907Smax.romanov@nginx.com</para> 651907Smax.romanov@nginx.com</change> 661907Smax.romanov@nginx.com 671907Smax.romanov@nginx.com<change type="bugfix"> 681907Smax.romanov@nginx.com<para> 691915Smax.romanov@nginx.comthe router process could crash on rapid mutithreaded application 701915Smax.romanov@nginx.comreconfiguration. 711915Smax.romanov@nginx.com</para> 721915Smax.romanov@nginx.com</change> 731915Smax.romanov@nginx.com 741915Smax.romanov@nginx.com<change type="bugfix"> 751915Smax.romanov@nginx.com<para> 761907Smax.romanov@nginx.coma descriptor and memory leak occurred in the router process when an app 771907Smax.romanov@nginx.comprocess stopped or crashed. 781907Smax.romanov@nginx.com</para> 791907Smax.romanov@nginx.com</change> 801907Smax.romanov@nginx.com 811909So.canty@f5.com<change type="bugfix"> 821909So.canty@f5.com<para> 831909So.canty@f5.comthe controller or router process could crash if the configuration contained 841909So.canty@f5.coma full-form IPv6 in a listener address. 851909So.canty@f5.com</para> 861909So.canty@f5.com</change> 871909So.canty@f5.com 881916Smax.romanov@nginx.com<change type="bugfix"> 891916Smax.romanov@nginx.com<para> 901916Smax.romanov@nginx.comcompatibility issues with some Python ASGI apps, notably based on Starlette 911916Smax.romanov@nginx.comframework. 921916Smax.romanov@nginx.com</para> 931916Smax.romanov@nginx.com</change> 941916Smax.romanov@nginx.com 951929Sz.hong@f5.com<change type="bugfix"> 961929Sz.hong@f5.com<para> 971929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes" 981929Sz.hong@f5.comor "upstreams" using a variable "pass" option. 991929Sz.hong@f5.com</para> 1001929Sz.hong@f5.com</change> 1011929Sz.hong@f5.com 102*1930So.canty@f5.com<change type="bugfix"> 103*1930So.canty@f5.com<para> 104*1930So.canty@f5.comthe router process crashed while matching a request to an empty array of 105*1930So.canty@f5.comsource or destination address patterns. 106*1930So.canty@f5.com</para> 107*1930So.canty@f5.com</change> 108*1930So.canty@f5.com 1091896Svbart@nginx.com</changes> 1101896Svbart@nginx.com 1111896Svbart@nginx.com 1121887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 1131891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1141887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1151887Sdefan@nginx.com 1161887Sdefan@nginx.com<change> 1171887Sdefan@nginx.com<para> 1181887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit. 1191887Sdefan@nginx.com</para> 1201887Sdefan@nginx.com</change> 1211887Sdefan@nginx.com 1221887Sdefan@nginx.com</changes> 1231887Sdefan@nginx.com 1241887Sdefan@nginx.com 1251887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 1261891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1271887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1281887Sdefan@nginx.com 1291887Sdefan@nginx.com<change> 1301887Sdefan@nginx.com<para> 1311887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 1321887Sdefan@nginx.com</para> 1331887Sdefan@nginx.com</change> 1341887Sdefan@nginx.com 1351887Sdefan@nginx.com</changes> 1361887Sdefan@nginx.com 1371887Sdefan@nginx.com 1381834Svbart@nginx.com<changes apply="unit-php 1391834Svbart@nginx.com unit-python unit-python2.7 1401834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1411834Svbart@nginx.com unit-python3.8 unit-python3.9 1421834Svbart@nginx.com unit-go 1431834Svbart@nginx.com unit-perl 1441834Svbart@nginx.com unit-ruby 1451834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1461834Svbart@nginx.com unit-jsc14 unit-jsc15" 1471839Svbart@nginx.com ver="1.24.0" rev="1" 1481891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1491839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1501839Svbart@nginx.com 1511839Svbart@nginx.com<change> 1521839Svbart@nginx.com<para> 1531839Svbart@nginx.comNGINX Unit updated to 1.24.0. 1541839Svbart@nginx.com</para> 1551839Svbart@nginx.com</change> 1561839Svbart@nginx.com 1571839Svbart@nginx.com</changes> 1581839Svbart@nginx.com 1591839Svbart@nginx.com 1601839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 1611891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 1621839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1631839Svbart@nginx.com 1641882So.canty@f5.com<change type="change"> 1651882So.canty@f5.com<para> 1661882So.canty@f5.comPHP added to the default MIME type list. 1671882So.canty@f5.com</para> 1681882So.canty@f5.com</change> 1691882So.canty@f5.com 1701855Sz.hong@f5.com<change type="feature"> 1711855Sz.hong@f5.com<para> 1721885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands. 1731885Sa.suvorov@f5.com</para> 1741885Sa.suvorov@f5.com</change> 1751885Sa.suvorov@f5.com 1761885Sa.suvorov@f5.com<change type="feature"> 1771885Sa.suvorov@f5.com<para> 1781890Svbart@nginx.comthe ability to limit static file serving by MIME types. 1791890Svbart@nginx.com</para> 1801890Svbart@nginx.com</change> 1811890Svbart@nginx.com 1821890Svbart@nginx.com<change type="feature"> 1831890Svbart@nginx.com<para> 1841890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount 1851890Svbart@nginx.compoint traversal on a per-request basis when serving static files. 1861872So.canty@f5.com</para> 1871872So.canty@f5.com</change> 1881872So.canty@f5.com 1891872So.canty@f5.com<change type="feature"> 1901872So.canty@f5.com<para> 1911889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 1921889Sartem.konev@nginx.comNode.js. 1931865So.canty@f5.com</para> 1941865So.canty@f5.com</change> 1951865So.canty@f5.com 1961865So.canty@f5.com<change type="feature"> 1971865So.canty@f5.com<para> 1981890Svbart@nginx.commultiple "targets" in Python applications. 1991855Sz.hong@f5.com</para> 2001855Sz.hong@f5.com</change> 2011855Sz.hong@f5.com 2021870So.canty@f5.com<change type="feature"> 2031870So.canty@f5.com<para> 2041870So.canty@f5.comcompatibility with Ruby 3.0. 2051870So.canty@f5.com</para> 2061870So.canty@f5.com</change> 2071870So.canty@f5.com 2081861Svbart@nginx.com<change type="bugfix"> 2091861Svbart@nginx.com<para> 2101889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection. 2111884Sa.suvorov@f5.com</para> 2121884Sa.suvorov@f5.com</change> 2131884Sa.suvorov@f5.com 2141884Sa.suvorov@f5.com<change type="bugfix"> 2151884Sa.suvorov@f5.com<para> 2161861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 2171861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 2181861Svbart@nginx.com</para> 2191861Svbart@nginx.com</change> 2201861Svbart@nginx.com 2211839Svbart@nginx.com</changes> 2221839Svbart@nginx.com 2231839Svbart@nginx.com 2241839Svbart@nginx.com<changes apply="unit-php 2251839Svbart@nginx.com unit-python unit-python2.7 2261839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2271839Svbart@nginx.com unit-python3.8 unit-python3.9 2281839Svbart@nginx.com unit-go 2291839Svbart@nginx.com unit-perl 2301839Svbart@nginx.com unit-ruby 2311839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 2321839Svbart@nginx.com unit-jsc14 unit-jsc15" 2331834Svbart@nginx.com ver="1.23.0" rev="1" 2341834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 2351834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2361834Svbart@nginx.com 2371834Svbart@nginx.com<change> 2381834Svbart@nginx.com<para> 2391834Svbart@nginx.comNGINX Unit updated to 1.23.0. 2401834Svbart@nginx.com</para> 2411834Svbart@nginx.com</change> 2421834Svbart@nginx.com 2431834Svbart@nginx.com</changes> 2441834Svbart@nginx.com 2451834Svbart@nginx.com 2461806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 2471834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 2481806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2491806Svbart@nginx.com 2501825Sthresh@nginx.com<change type="feature"> 2511825Sthresh@nginx.com<para> 2521833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 2531828Sa.suvorov@f5.comIndication (SNI) TLS extension. 2541828Sa.suvorov@f5.com</para> 2551828Sa.suvorov@f5.com</change> 2561828Sa.suvorov@f5.com 2571828Sa.suvorov@f5.com<change type="feature"> 2581828Sa.suvorov@f5.com<para> 2591833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 2601833Sartem.konev@nginx.cominstallation. 2611825Sthresh@nginx.com</para> 2621825Sthresh@nginx.com</change> 2631825Sthresh@nginx.com 2641811Smax.romanov@nginx.com<change type="bugfix"> 2651811Smax.romanov@nginx.com<para> 2661812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 2671812Svbart@nginx.comappeared in 1.17.0. 2681812Svbart@nginx.com</para> 2691812Svbart@nginx.com</change> 2701812Svbart@nginx.com 2711812Svbart@nginx.com<change type="bugfix"> 2721812Svbart@nginx.com<para> 2731833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 2741812Svbart@nginx.comappeared in 1.6. 2751812Svbart@nginx.com</para> 2761812Svbart@nginx.com</change> 2771812Svbart@nginx.com 2781812Svbart@nginx.com<change type="bugfix"> 2791812Svbart@nginx.com<para> 2801833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 2811832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 2821832Smax.romanov@nginx.com</para> 2831832Smax.romanov@nginx.com</change> 2841832Smax.romanov@nginx.com 2851832Smax.romanov@nginx.com<change type="bugfix"> 2861832Smax.romanov@nginx.com<para> 2871833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 2881811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 2891811Smax.romanov@nginx.com</para> 2901811Smax.romanov@nginx.com</change> 2911806Svbart@nginx.com 2921813Svbart@nginx.com<change type="bugfix"> 2931813Svbart@nginx.com<para> 2941813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 2951813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 2961813Svbart@nginx.com</para> 2971813Svbart@nginx.com</change> 2981813Svbart@nginx.com 2991814Svbart@nginx.com<change type="bugfix"> 3001814Svbart@nginx.com<para> 3011820Svbart@nginx.comthe controller process could crash while requesting information about a 3021820Svbart@nginx.comcertificate with a non-DNS SAN entry. 3031820Svbart@nginx.com</para> 3041820Svbart@nginx.com</change> 3051820Svbart@nginx.com 3061820Svbart@nginx.com<change type="bugfix"> 3071820Svbart@nginx.com<para> 3081822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 3091833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 3101822Svbart@nginx.com</para> 3111822Svbart@nginx.com</change> 3121822Svbart@nginx.com 3131822Svbart@nginx.com<change type="bugfix"> 3141822Svbart@nginx.com<para> 3151833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 3161833Sartem.konev@nginx.comclass. 3171814Svbart@nginx.com</para> 3181814Svbart@nginx.com</change> 3191814Svbart@nginx.com 3201815Svbart@nginx.com<change type="bugfix"> 3211815Svbart@nginx.com<para> 3221815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 3231815Svbart@nginx.comappeared in 1.22.0. 3241815Svbart@nginx.com</para> 3251815Svbart@nginx.com</change> 3261815Svbart@nginx.com 3271806Svbart@nginx.com</changes> 3281806Svbart@nginx.com 3291806Svbart@nginx.com 3301798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 3311798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 3321798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3331798Sdefan@nginx.com 3341798Sdefan@nginx.com<change> 3351798Sdefan@nginx.com<para> 3361798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 3371798Sdefan@nginx.com</para> 3381798Sdefan@nginx.com</change> 3391798Sdefan@nginx.com 3401798Sdefan@nginx.com</changes> 3411798Sdefan@nginx.com 3421798Sdefan@nginx.com 3431763Sdefan@nginx.com<changes apply="unit-php 3441763Sdefan@nginx.com unit-python unit-python2.7 3451763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3461763Sdefan@nginx.com unit-python3.8 3471763Sdefan@nginx.com unit-go 3481763Sdefan@nginx.com unit-perl 3491763Sdefan@nginx.com unit-ruby 3501763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3511763Sdefan@nginx.com unit-jsc14 unit-jsc15" 3521763Sdefan@nginx.com ver="1.22.0" rev="1" 3531793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 3541763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3551763Sdefan@nginx.com 3561763Sdefan@nginx.com<change> 3571763Sdefan@nginx.com<para> 3581763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 3591763Sdefan@nginx.com</para> 3601763Sdefan@nginx.com</change> 3611763Sdefan@nginx.com 3621763Sdefan@nginx.com</changes> 3631763Sdefan@nginx.com 3641763Sdefan@nginx.com 3651727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 3661793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 3671727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3681727Svbart@nginx.com 3691759Svbart@nginx.com<change type="feature"> 3701759Svbart@nginx.com<para> 3711792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 3721792Svbart@nginx.comcompliant with Stream API. 3731759Svbart@nginx.com</para> 3741759Svbart@nginx.com</change> 3751759Svbart@nginx.com 3761766Smax.romanov@nginx.com<change type="feature"> 3771766Smax.romanov@nginx.com<para> 3781792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 3791792Svbart@nginx.comapps. 3801732Svbart@nginx.com</para> 3811732Svbart@nginx.com</change> 3821732Svbart@nginx.com 3831733Svbart@nginx.com<change type="bugfix"> 3841733Svbart@nginx.com<para> 3851792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 3861792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 3871754Smax.romanov@nginx.com</para> 3881754Smax.romanov@nginx.com</change> 3891754Smax.romanov@nginx.com 3901755Smax.romanov@nginx.com<change type="bugfix"> 3911755Smax.romanov@nginx.com<para> 3921790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 3931755Smax.romanov@nginx.comappeared in 1.19.0. 3941755Smax.romanov@nginx.com</para> 3951755Smax.romanov@nginx.com</change> 3961755Smax.romanov@nginx.com 3971756Smax.romanov@nginx.com<change type="bugfix"> 3981756Smax.romanov@nginx.com<para> 3991790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 4001790Sartem.konev@nginx.comappeared in 1.19.0. 4011756Smax.romanov@nginx.com</para> 4021756Smax.romanov@nginx.com</change> 4031756Smax.romanov@nginx.com 4041760Smax.romanov@nginx.com<change type="bugfix"> 4051760Smax.romanov@nginx.com<para> 4061792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 4071792Svbart@nginx.com</para> 4081792Svbart@nginx.com</change> 4091792Svbart@nginx.com 4101792Svbart@nginx.com<change type="bugfix"> 4111792Svbart@nginx.com<para> 4121792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 4131792Svbart@nginx.commissing in the PHP module. 4141792Svbart@nginx.com</para> 4151792Svbart@nginx.com</change> 4161792Svbart@nginx.com 4171792Svbart@nginx.com<change type="bugfix"> 4181792Svbart@nginx.com<para> 4191792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 4201792Svbart@nginx.com</para> 4211792Svbart@nginx.com</change> 4221792Svbart@nginx.com 4231792Svbart@nginx.com<change type="bugfix"> 4241792Svbart@nginx.com<para> 4251792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 4261792Svbart@nginx.com</para> 4271792Svbart@nginx.com</change> 4281792Svbart@nginx.com 4291792Svbart@nginx.com<change type="bugfix"> 4301792Svbart@nginx.com<para> 4311792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 4321792Svbart@nginx.comthe bug had appeared in 1.21.0. 4331760Smax.romanov@nginx.com</para> 4341760Smax.romanov@nginx.com</change> 4351760Smax.romanov@nginx.com 4361780Smax.romanov@nginx.com<change type="bugfix"> 4371780Smax.romanov@nginx.com<para> 4381790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 4391790Sartem.konev@nginx.comWebSocket. 4401780Smax.romanov@nginx.com</para> 4411780Smax.romanov@nginx.com</change> 4421780Smax.romanov@nginx.com 4431789Smax.romanov@nginx.com<change type="bugfix"> 4441789Smax.romanov@nginx.com<para> 4451789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 4461789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 4471789Smax.romanov@nginx.com</para> 4481789Smax.romanov@nginx.com</change> 4491789Smax.romanov@nginx.com 4501727Svbart@nginx.com</changes> 4511727Svbart@nginx.com 4521727Svbart@nginx.com 4531722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 4541722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 4551722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4561722Svbart@nginx.com 4571722Svbart@nginx.com<change> 4581722Svbart@nginx.com<para> 4591722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 4601722Svbart@nginx.com</para> 4611722Svbart@nginx.com</change> 4621722Svbart@nginx.com 4631722Svbart@nginx.com</changes> 4641722Svbart@nginx.com 4651722Svbart@nginx.com 4661722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 4671722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 4681722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4691722Svbart@nginx.com 4701722Svbart@nginx.com<change> 4711722Svbart@nginx.com<para> 4721722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 4731722Svbart@nginx.com</para> 4741722Svbart@nginx.com</change> 4751722Svbart@nginx.com 4761722Svbart@nginx.com</changes> 4771722Svbart@nginx.com 4781722Svbart@nginx.com 4791722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 4801722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 4811722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4821722Svbart@nginx.com 4831722Svbart@nginx.com<change> 4841722Svbart@nginx.com<para> 4851722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 4861722Svbart@nginx.com</para> 4871722Svbart@nginx.com</change> 4881722Svbart@nginx.com 4891722Svbart@nginx.com</changes> 4901722Svbart@nginx.com 4911722Svbart@nginx.com 4921722Svbart@nginx.com<changes apply="unit-php 4931722Svbart@nginx.com unit-python unit-python2.7 4941722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4951722Svbart@nginx.com unit-python3.8 4961722Svbart@nginx.com unit-go 4971722Svbart@nginx.com unit-perl 4981722Svbart@nginx.com unit-ruby 4991722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 5001722Svbart@nginx.com ver="1.21.0" rev="1" 5011722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 5021722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5031722Svbart@nginx.com 5041722Svbart@nginx.com<change> 5051722Svbart@nginx.com<para> 5061722Svbart@nginx.comNGINX Unit updated to 1.21.0. 5071722Svbart@nginx.com</para> 5081722Svbart@nginx.com</change> 5091722Svbart@nginx.com 5101722Svbart@nginx.com</changes> 5111722Svbart@nginx.com 5121722Svbart@nginx.com 5131722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 5141722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 5151722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5161722Svbart@nginx.com 5171722Svbart@nginx.com<change type="change"> 5181722Svbart@nginx.com<para> 5191722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 5201722Svbart@nginx.com</para> 5211722Svbart@nginx.com</change> 5221722Svbart@nginx.com 5231722Svbart@nginx.com<change type="change"> 5241722Svbart@nginx.com<para> 5251722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 5261722Svbart@nginx.comnames. 5271722Svbart@nginx.com</para> 5281722Svbart@nginx.com</change> 5291722Svbart@nginx.com 5301722Svbart@nginx.com<change type="change"> 5311722Svbart@nginx.com<para> 5321722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 5331722Svbart@nginx.comdefault. 5341722Svbart@nginx.com</para> 5351722Svbart@nginx.com</change> 5361722Svbart@nginx.com 5371722Svbart@nginx.com<change type="feature"> 5381722Svbart@nginx.com<para> 5391722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 5401722Svbart@nginx.com</para> 5411722Svbart@nginx.com</change> 5421722Svbart@nginx.com 5431722Svbart@nginx.com<change type="feature"> 5441722Svbart@nginx.com<para> 5451722Svbart@nginx.comregular expressions in route matching patterns. 5461722Svbart@nginx.com</para> 5471722Svbart@nginx.com</change> 5481722Svbart@nginx.com 5491722Svbart@nginx.com<change type="feature"> 5501722Svbart@nginx.com<para> 5511722Svbart@nginx.comcompatibility with Python 3.9. 5521722Svbart@nginx.com</para> 5531722Svbart@nginx.com</change> 5541722Svbart@nginx.com 5551722Svbart@nginx.com<change type="feature"> 5561722Svbart@nginx.com<para> 5571722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 5581722Svbart@nginx.com</para> 5591722Svbart@nginx.com</change> 5601722Svbart@nginx.com 5611722Svbart@nginx.com<change type="feature"> 5621722Svbart@nginx.com<para> 5631722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 5641722Svbart@nginx.com</para> 5651722Svbart@nginx.com</change> 5661722Svbart@nginx.com 5671722Svbart@nginx.com<change type="feature"> 5681722Svbart@nginx.com<para> 5691722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 5701722Svbart@nginx.comcontinues code execution without holding onto the client connection. 5711722Svbart@nginx.com</para> 5721722Svbart@nginx.com</change> 5731722Svbart@nginx.com 5741722Svbart@nginx.com<change type="feature"> 5751722Svbart@nginx.com<para> 5761722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 5771722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 5781722Svbart@nginx.com</para> 5791722Svbart@nginx.com</change> 5801722Svbart@nginx.com 5811722Svbart@nginx.com<change type="feature"> 5821722Svbart@nginx.com<para> 5831722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 5841722Svbart@nginx.commounting of eponymous filesystems. 5851722Svbart@nginx.com</para> 5861722Svbart@nginx.com</change> 5871722Svbart@nginx.com 5881722Svbart@nginx.com<change type="bugfix"> 5891722Svbart@nginx.com<para> 5901722Svbart@nginx.comthe router process could crash when running Go applications under high load; 5911722Svbart@nginx.comthe bug had appeared in 1.19.0. 5921722Svbart@nginx.com</para> 5931722Svbart@nginx.com</change> 5941722Svbart@nginx.com 5951722Svbart@nginx.com<change type="bugfix"> 5961722Svbart@nginx.com<para> 5971722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 5981722Svbart@nginx.com</para> 5991722Svbart@nginx.com</change> 6001722Svbart@nginx.com 6011722Svbart@nginx.com<change type="bugfix"> 6021722Svbart@nginx.com<para> 6031722Svbart@nginx.comvarious compatibility issues in Java applications. 6041722Svbart@nginx.com</para> 6051722Svbart@nginx.com</change> 6061722Svbart@nginx.com 6071722Svbart@nginx.com<change type="bugfix"> 6081722Svbart@nginx.com<para> 6091722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 6101722Svbart@nginx.comuse "rootfs" isolation. 6111722Svbart@nginx.com</para> 6121722Svbart@nginx.com</change> 6131722Svbart@nginx.com 6141722Svbart@nginx.com</changes> 6151722Svbart@nginx.com 6161722Svbart@nginx.com 6171330Svbart@nginx.com<changes apply="unit-php 6181330Svbart@nginx.com unit-python unit-python2.7 6191330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 6201330Svbart@nginx.com unit-python3.8 6211330Svbart@nginx.com unit-go 6221330Svbart@nginx.com unit-perl 6231330Svbart@nginx.com unit-ruby 6241330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 6251640Svbart@nginx.com ver="1.20.0" rev="1" 6261640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 6271640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6281640Svbart@nginx.com 6291640Svbart@nginx.com<change> 6301640Svbart@nginx.com<para> 6311640Svbart@nginx.comNGINX Unit updated to 1.20.0. 6321640Svbart@nginx.com</para> 6331640Svbart@nginx.com</change> 6341640Svbart@nginx.com 6351640Svbart@nginx.com</changes> 6361640Svbart@nginx.com 6371640Svbart@nginx.com 6381640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 6391640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 6401640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6411640Svbart@nginx.com 6421640Svbart@nginx.com<change type="change"> 6431640Svbart@nginx.com<para> 6441640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 6451640Svbart@nginx.comextensions from the host system. 6461640Svbart@nginx.com</para> 6471640Svbart@nginx.com</change> 6481640Svbart@nginx.com 6491640Svbart@nginx.com<change type="change"> 6501640Svbart@nginx.com<para> 6511640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 6521640Svbart@nginx.com</para> 6531640Svbart@nginx.com</change> 6541640Svbart@nginx.com 6551643Svbart@nginx.com<change type="change"> 6561643Svbart@nginx.com<para> 6571643Svbart@nginx.comfunctional tests migrated to the pytest framework. 6581643Svbart@nginx.com</para> 6591643Svbart@nginx.com</change> 6601643Svbart@nginx.com 6611640Svbart@nginx.com<change type="feature"> 6621640Svbart@nginx.com<para> 6631640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 6641640Svbart@nginx.cominterface. 6651640Svbart@nginx.com</para> 6661640Svbart@nginx.com</change> 6671640Svbart@nginx.com 6681640Svbart@nginx.com<change type="feature"> 6691640Svbart@nginx.com<para> 6701640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 6711640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 6721640Svbart@nginx.comspecification. 6731640Svbart@nginx.com</para> 6741640Svbart@nginx.com</change> 6751640Svbart@nginx.com 6761640Svbart@nginx.com<change type="feature"> 6771640Svbart@nginx.com<para> 6781640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 6791640Svbart@nginx.comenvironments. 6801640Svbart@nginx.com</para> 6811640Svbart@nginx.com</change> 6821640Svbart@nginx.com 6831640Svbart@nginx.com<change type="feature"> 6841640Svbart@nginx.com<para> 6851640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 6861640Svbart@nginx.com</para> 6871640Svbart@nginx.com</change> 6881640Svbart@nginx.com 6891640Svbart@nginx.com<change type="feature"> 6901640Svbart@nginx.com<para> 6911640Svbart@nginx.comthe "callable" option sets Python application callable names. 6921640Svbart@nginx.com</para> 6931640Svbart@nginx.com</change> 6941640Svbart@nginx.com 6951640Svbart@nginx.com<change type="feature"> 6961640Svbart@nginx.com<para> 6971640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 6981640Svbart@nginx.com</para> 6991640Svbart@nginx.com</change> 7001640Svbart@nginx.com 7011640Svbart@nginx.com<change type="feature"> 7021640Svbart@nginx.com<para> 7031640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 7041640Svbart@nginx.comautomatic mounting of language module dependencies. 7051640Svbart@nginx.com</para> 7061640Svbart@nginx.com</change> 7071640Svbart@nginx.com 7081640Svbart@nginx.com<change type="bugfix"> 7091640Svbart@nginx.com<para> 7101640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 7111640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 7121640Svbart@nginx.com</para> 7131640Svbart@nginx.com</change> 7141640Svbart@nginx.com 7151640Svbart@nginx.com<change type="bugfix"> 7161640Svbart@nginx.com<para> 7171640Svbart@nginx.comthe router process could crash during reconfiguration. 7181640Svbart@nginx.com</para> 7191640Svbart@nginx.com</change> 7201640Svbart@nginx.com 7211640Svbart@nginx.com<change type="bugfix"> 7221640Svbart@nginx.com<para> 7231640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 7241640Svbart@nginx.com</para> 7251640Svbart@nginx.com</change> 7261640Svbart@nginx.com 7271640Svbart@nginx.com<change type="bugfix"> 7281640Svbart@nginx.com<para> 7291640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 7301640Svbart@nginx.comthe bug had appeared in 1.19.0. 7311640Svbart@nginx.com</para> 7321640Svbart@nginx.com</change> 7331640Svbart@nginx.com 7341640Svbart@nginx.com<change type="bugfix"> 7351640Svbart@nginx.com<para> 7361640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 7371640Svbart@nginx.comthe bug had appeared in 1.16.0. 7381640Svbart@nginx.com</para> 7391640Svbart@nginx.com</change> 7401640Svbart@nginx.com 7411640Svbart@nginx.com</changes> 7421640Svbart@nginx.com 7431640Svbart@nginx.com 7441640Svbart@nginx.com<changes apply="unit-php 7451640Svbart@nginx.com unit-python unit-python2.7 7461640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7471640Svbart@nginx.com unit-python3.8 7481640Svbart@nginx.com unit-go 7491640Svbart@nginx.com unit-perl 7501640Svbart@nginx.com unit-ruby 7511640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7521570Svbart@nginx.com ver="1.19.0" rev="1" 7531570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 7541570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7551570Svbart@nginx.com 7561570Svbart@nginx.com<change> 7571570Svbart@nginx.com<para> 7581570Svbart@nginx.comNGINX Unit updated to 1.19.0. 7591570Svbart@nginx.com</para> 7601570Svbart@nginx.com</change> 7611570Svbart@nginx.com 7621570Svbart@nginx.com</changes> 7631570Svbart@nginx.com 7641570Svbart@nginx.com 7651570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 7661570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 7671570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7681570Svbart@nginx.com 7691570Svbart@nginx.com<change type="feature"> 7701570Svbart@nginx.com<para> 7711570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 7721570Svbart@nginx.comincrease performance, and improve scalability. 7731570Svbart@nginx.com</para> 7741570Svbart@nginx.com</change> 7751570Svbart@nginx.com 7761570Svbart@nginx.com<change type="feature"> 7771570Svbart@nginx.com<para> 7781570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 7791570Svbart@nginx.com</para> 7801570Svbart@nginx.com</change> 7811570Svbart@nginx.com 7821570Svbart@nginx.com<change type="feature"> 7831570Svbart@nginx.com<para> 7841570Svbart@nginx.comchunked transfer encoding in proxy responses. 7851570Svbart@nginx.com</para> 7861570Svbart@nginx.com</change> 7871570Svbart@nginx.com 7881570Svbart@nginx.com<change type="feature"> 7891570Svbart@nginx.com<para> 7901570Svbart@nginx.combasic variables support in the "pass" option. 7911570Svbart@nginx.com</para> 7921570Svbart@nginx.com</change> 7931570Svbart@nginx.com 7941570Svbart@nginx.com<change type="feature"> 7951570Svbart@nginx.com<para> 7961570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 7971570Svbart@nginx.comThanks to Remi Collet. 7981570Svbart@nginx.com</para> 7991570Svbart@nginx.com</change> 8001570Svbart@nginx.com 8011570Svbart@nginx.com<change type="bugfix"> 8021570Svbart@nginx.com<para> 8031570Svbart@nginx.comthe router process could crash while passing requests to an application under 8041570Svbart@nginx.comhigh load. 8051570Svbart@nginx.com</para> 8061570Svbart@nginx.com</change> 8071570Svbart@nginx.com 8081570Svbart@nginx.com<change type="bugfix"> 8091570Svbart@nginx.com<para> 8101570Svbart@nginx.coma number of language modules failed to build on some systems; 8111570Svbart@nginx.comthe bug had appeared in 1.18.0. 8121570Svbart@nginx.com</para> 8131570Svbart@nginx.com</change> 8141570Svbart@nginx.com 8151570Svbart@nginx.com<change type="bugfix"> 8161570Svbart@nginx.com<para> 8171570Svbart@nginx.comtime in error log messages from PHP applications could lag. 8181570Svbart@nginx.com</para> 8191570Svbart@nginx.com</change> 8201570Svbart@nginx.com 8211570Svbart@nginx.com<change type="bugfix"> 8221570Svbart@nginx.com<para> 8231570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 8241570Svbart@nginx.comthe bug had appeared in 1.18.0. 8251570Svbart@nginx.com</para> 8261570Svbart@nginx.com</change> 8271570Svbart@nginx.com 8281570Svbart@nginx.com<change type="bugfix"> 8291570Svbart@nginx.com<para> 8301570Svbart@nginx.commemory leak during reconfiguration. 8311570Svbart@nginx.com</para> 8321570Svbart@nginx.com</change> 8331570Svbart@nginx.com 8341570Svbart@nginx.com<change type="bugfix"> 8351570Svbart@nginx.com<para> 8361570Svbart@nginx.comthe daemon didn't start without language modules; 8371570Svbart@nginx.comthe bug had appeared in 1.18.0. 8381570Svbart@nginx.com</para> 8391570Svbart@nginx.com</change> 8401570Svbart@nginx.com 8411570Svbart@nginx.com<change type="bugfix"> 8421570Svbart@nginx.com<para> 8431570Svbart@nginx.comthe router process could crash at exit. 8441570Svbart@nginx.com</para> 8451570Svbart@nginx.com</change> 8461570Svbart@nginx.com 8471570Svbart@nginx.com<change type="bugfix"> 8481570Svbart@nginx.com<para> 8491570Svbart@nginx.comNode.js applications could crash at exit. 8501570Svbart@nginx.com</para> 8511570Svbart@nginx.com</change> 8521570Svbart@nginx.com 8531570Svbart@nginx.com<change type="bugfix"> 8541570Svbart@nginx.com<para> 8551570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 8561570Svbart@nginx.com</para> 8571570Svbart@nginx.com</change> 8581570Svbart@nginx.com 8591570Svbart@nginx.com</changes> 8601570Svbart@nginx.com 8611570Svbart@nginx.com 8621570Svbart@nginx.com<changes apply="unit-php 8631570Svbart@nginx.com unit-python unit-python2.7 8641570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8651570Svbart@nginx.com unit-python3.8 8661570Svbart@nginx.com unit-go 8671570Svbart@nginx.com unit-perl 8681570Svbart@nginx.com unit-ruby 8691570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8701491Svbart@nginx.com ver="1.18.0" rev="1" 8711491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 8721491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8731491Svbart@nginx.com 8741491Svbart@nginx.com<change> 8751491Svbart@nginx.com<para> 8761491Svbart@nginx.comNGINX Unit updated to 1.18.0. 8771491Svbart@nginx.com</para> 8781491Svbart@nginx.com</change> 8791491Svbart@nginx.com 8801491Svbart@nginx.com</changes> 8811491Svbart@nginx.com 8821491Svbart@nginx.com 8831491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 8841491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 8851491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8861491Svbart@nginx.com 8871491Svbart@nginx.com<change type="feature"> 8881491Svbart@nginx.com<para> 8891491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 8901491Svbart@nginx.com</para> 8911491Svbart@nginx.com</change> 8921491Svbart@nginx.com 8931491Svbart@nginx.com<change type="feature"> 8941491Svbart@nginx.com<para> 8951491Svbart@nginx.commultiple "targets" in PHP applications. 8961491Svbart@nginx.com</para> 8971491Svbart@nginx.com</change> 8981491Svbart@nginx.com 8991491Svbart@nginx.com<change type="feature"> 9001491Svbart@nginx.com<para> 9011491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 9021491Svbart@nginx.comand in the "pass" option. 9031491Svbart@nginx.com</para> 9041491Svbart@nginx.com</change> 9051491Svbart@nginx.com 9061491Svbart@nginx.com</changes> 9071491Svbart@nginx.com 9081491Svbart@nginx.com 9091491Svbart@nginx.com<changes apply="unit-php 9101491Svbart@nginx.com unit-python unit-python2.7 9111491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9121491Svbart@nginx.com unit-python3.8 9131491Svbart@nginx.com unit-go 9141491Svbart@nginx.com unit-perl 9151491Svbart@nginx.com unit-ruby 9161491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9171460Svbart@nginx.com ver="1.17.0" rev="1" 9181460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 9191460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9201460Svbart@nginx.com 9211460Svbart@nginx.com<change> 9221460Svbart@nginx.com<para> 9231460Svbart@nginx.comNGINX Unit updated to 1.17.0. 9241460Svbart@nginx.com</para> 9251460Svbart@nginx.com</change> 9261460Svbart@nginx.com 9271460Svbart@nginx.com</changes> 9281460Svbart@nginx.com 9291460Svbart@nginx.com 9301460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 9311460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 9321460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9331460Svbart@nginx.com 9341460Svbart@nginx.com<change type="feature"> 9351460Svbart@nginx.com<para> 9361460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 9371460Svbart@nginx.comredirection. 9381460Svbart@nginx.com</para> 9391460Svbart@nginx.com</change> 9401460Svbart@nginx.com 9411460Svbart@nginx.com<change type="feature"> 9421460Svbart@nginx.com<para> 9431460Svbart@nginx.comfractional weights support for upstream servers. 9441460Svbart@nginx.com</para> 9451460Svbart@nginx.com</change> 9461460Svbart@nginx.com 9471460Svbart@nginx.com<change type="bugfix"> 9481460Svbart@nginx.com<para> 9491460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 9501460Svbart@nginx.comhigh load. 9511460Svbart@nginx.com</para> 9521460Svbart@nginx.com</change> 9531460Svbart@nginx.com 9541460Svbart@nginx.com<change type="bugfix"> 9551460Svbart@nginx.com<para> 9561460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 9571460Svbart@nginx.com</para> 9581460Svbart@nginx.com</change> 9591460Svbart@nginx.com 9601460Svbart@nginx.com<change type="bugfix"> 9611460Svbart@nginx.com<para> 9621460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 9631460Svbart@nginx.comopen connections limit. 9641460Svbart@nginx.com</para> 9651460Svbart@nginx.com</change> 9661460Svbart@nginx.com 9671460Svbart@nginx.com<change type="bugfix"> 9681460Svbart@nginx.com<para> 9691460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 9701460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 9711460Svbart@nginx.com</para> 9721460Svbart@nginx.com</change> 9731460Svbart@nginx.com 9741460Svbart@nginx.com<change type="bugfix"> 9751460Svbart@nginx.com<para> 9761460Svbart@nginx.comexisting application processes didn't reopen the log file. 9771460Svbart@nginx.com</para> 9781460Svbart@nginx.com</change> 9791460Svbart@nginx.com 9801460Svbart@nginx.com<change type="bugfix"> 9811460Svbart@nginx.com<para> 9821460Svbart@nginx.comincompatibility with some Node.js applications. 9831460Svbart@nginx.com</para> 9841460Svbart@nginx.com</change> 9851460Svbart@nginx.com 9861460Svbart@nginx.com<change type="bugfix"> 9871460Svbart@nginx.com<para> 9881460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 9891460Svbart@nginx.com</para> 9901460Svbart@nginx.com</change> 9911460Svbart@nginx.com 9921460Svbart@nginx.com</changes> 9931460Svbart@nginx.com 9941460Svbart@nginx.com 9951460Svbart@nginx.com<changes apply="unit-php 9961460Svbart@nginx.com unit-python unit-python2.7 9971460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9981460Svbart@nginx.com unit-python3.8 9991460Svbart@nginx.com unit-go 10001460Svbart@nginx.com unit-perl 10011460Svbart@nginx.com unit-ruby 10021460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10031404Svbart@nginx.com ver="1.16.0" rev="1" 10041404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 10051404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10061404Svbart@nginx.com 10071404Svbart@nginx.com<change> 10081404Svbart@nginx.com<para> 10091404Svbart@nginx.comNGINX Unit updated to 1.16.0. 10101404Svbart@nginx.com</para> 10111404Svbart@nginx.com</change> 10121404Svbart@nginx.com 10131404Svbart@nginx.com</changes> 10141404Svbart@nginx.com 10151404Svbart@nginx.com 10161404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 10171404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 10181404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10191404Svbart@nginx.com 10201404Svbart@nginx.com<change type="feature"> 10211404Svbart@nginx.com<para> 10221404Svbart@nginx.combasic load-balancing support with round-robin. 10231404Svbart@nginx.com</para> 10241404Svbart@nginx.com</change> 10251404Svbart@nginx.com 10261404Svbart@nginx.com<change type="feature"> 10271404Svbart@nginx.com<para> 10281404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 10291404Svbart@nginx.comserved from the "share" directory. 10301404Svbart@nginx.com</para> 10311404Svbart@nginx.com</change> 10321404Svbart@nginx.com 10331404Svbart@nginx.com<change type="feature"> 10341404Svbart@nginx.com<para> 10351404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 10361404Svbart@nginx.com</para> 10371404Svbart@nginx.com</change> 10381404Svbart@nginx.com 10391404Svbart@nginx.com<change type="feature"> 10401404Svbart@nginx.com<para> 10411404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 10421404Svbart@nginx.com</para> 10431404Svbart@nginx.com</change> 10441404Svbart@nginx.com 10451404Svbart@nginx.com<change type="bugfix"> 10461404Svbart@nginx.com<para> 10471404Svbart@nginx.comnegative address matching in router might work improperly in combination with 10481404Svbart@nginx.comnon-negative patterns. 10491404Svbart@nginx.com</para> 10501404Svbart@nginx.com</change> 10511404Svbart@nginx.com 10521404Svbart@nginx.com<change type="bugfix"> 10531404Svbart@nginx.com<para> 10541404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 10551404Svbart@nginx.com</para> 10561404Svbart@nginx.com</change> 10571404Svbart@nginx.com 10581404Svbart@nginx.com<change type="bugfix"> 10591404Svbart@nginx.com<para> 10601404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 10611404Svbart@nginx.com</para> 10621404Svbart@nginx.com</change> 10631404Svbart@nginx.com 10641404Svbart@nginx.com<change type="bugfix"> 10651404Svbart@nginx.com<para> 10661404Svbart@nginx.comcompatibility issues with some Python applications. 10671404Svbart@nginx.com</para> 10681404Svbart@nginx.com</change> 10691404Svbart@nginx.com 10701404Svbart@nginx.com</changes> 10711404Svbart@nginx.com 10721404Svbart@nginx.com 10731404Svbart@nginx.com<changes apply="unit-php 10741404Svbart@nginx.com unit-python unit-python2.7 10751404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10761404Svbart@nginx.com unit-python3.8 10771404Svbart@nginx.com unit-go 10781404Svbart@nginx.com unit-perl 10791404Svbart@nginx.com unit-ruby 10801404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 10811357Svbart@nginx.com ver="1.15.0" rev="1" 10821357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 10831357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10841357Svbart@nginx.com 10851357Svbart@nginx.com<change> 10861357Svbart@nginx.com<para> 10871357Svbart@nginx.comNGINX Unit updated to 1.15.0. 10881357Svbart@nginx.com</para> 10891357Svbart@nginx.com</change> 10901357Svbart@nginx.com 10911357Svbart@nginx.com</changes> 10921357Svbart@nginx.com 10931357Svbart@nginx.com 10941357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 10951357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 10961357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10971357Svbart@nginx.com 10981357Svbart@nginx.com<change type="change"> 10991357Svbart@nginx.com<para> 11001357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 11011357Svbart@nginx.com</para> 11021357Svbart@nginx.com</change> 11031357Svbart@nginx.com 11041357Svbart@nginx.com<change type="feature"> 11051357Svbart@nginx.com<para> 11061357Svbart@nginx.comcompatibility with Ruby 2.7. 11071357Svbart@nginx.com</para> 11081357Svbart@nginx.com</change> 11091357Svbart@nginx.com 11101357Svbart@nginx.com<change type="bugfix"> 11111357Svbart@nginx.com<para> 11121357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 11131357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 11141357Svbart@nginx.com</para> 11151357Svbart@nginx.com</change> 11161357Svbart@nginx.com 11171357Svbart@nginx.com<change type="bugfix"> 11181357Svbart@nginx.com<para> 11191357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 11201357Svbart@nginx.com</para> 11211357Svbart@nginx.com</change> 11221357Svbart@nginx.com 11231357Svbart@nginx.com</changes> 11241357Svbart@nginx.com 11251357Svbart@nginx.com 11261357Svbart@nginx.com<changes apply="unit-php 11271357Svbart@nginx.com unit-python unit-python2.7 11281357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11291357Svbart@nginx.com unit-python3.8 11301357Svbart@nginx.com unit-go 11311357Svbart@nginx.com unit-perl 11321357Svbart@nginx.com unit-ruby 11331357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11341330Svbart@nginx.com ver="1.14.0" rev="1" 11351330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 11361330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11371330Svbart@nginx.com 11381330Svbart@nginx.com<change> 11391330Svbart@nginx.com<para> 11401330Svbart@nginx.comNGINX Unit updated to 1.14.0. 11411330Svbart@nginx.com</para> 11421330Svbart@nginx.com</change> 11431330Svbart@nginx.com 11441330Svbart@nginx.com</changes> 11451330Svbart@nginx.com 11461330Svbart@nginx.com 11471330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 11481330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 11491330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11501330Svbart@nginx.com 11511330Svbart@nginx.com<change type="change"> 11521330Svbart@nginx.com<para> 11531330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 11541330Svbart@nginx.com</para> 11551330Svbart@nginx.com</change> 11561330Svbart@nginx.com 11571330Svbart@nginx.com<change type="change"> 11581330Svbart@nginx.com<para> 11591330Svbart@nginx.comGo package now links to libunit instead of including library sources. 11601330Svbart@nginx.com</para> 11611330Svbart@nginx.com</change> 11621330Svbart@nginx.com 11631330Svbart@nginx.com<change type="feature"> 11641330Svbart@nginx.com<para> 11651330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 11661330Svbart@nginx.comruns as an unprivileged user. 11671330Svbart@nginx.com</para> 11681330Svbart@nginx.com</change> 11691330Svbart@nginx.com 11701330Svbart@nginx.com<change type="feature"> 11711330Svbart@nginx.com<para> 11721330Svbart@nginx.comrequest routing by source and destination addresses and ports. 11731330Svbart@nginx.com</para> 11741330Svbart@nginx.com</change> 11751330Svbart@nginx.com 11761330Svbart@nginx.com<change type="bugfix"> 11771330Svbart@nginx.com<para> 11781330Svbart@nginx.commemory bloat on large responses. 11791330Svbart@nginx.com</para> 11801330Svbart@nginx.com</change> 11811330Svbart@nginx.com 11821330Svbart@nginx.com</changes> 11831330Svbart@nginx.com 11841330Svbart@nginx.com 11851290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 11861290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 11871290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11881290Sdefan@nginx.com 11891290Sdefan@nginx.com<change> 11901290Sdefan@nginx.com<para> 11911290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 11921290Sdefan@nginx.com</para> 11931290Sdefan@nginx.com</change> 11941290Sdefan@nginx.com 11951290Sdefan@nginx.com</changes> 11961290Sdefan@nginx.com 11971290Sdefan@nginx.com 11981290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 11991290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 12001290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12011290Sdefan@nginx.com 12021290Sdefan@nginx.com<change> 12031290Sdefan@nginx.com<para> 12041290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 12051290Sdefan@nginx.com</para> 12061290Sdefan@nginx.com</change> 12071290Sdefan@nginx.com 12081290Sdefan@nginx.com</changes> 12091290Sdefan@nginx.com 12101290Sdefan@nginx.com 12111289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 12121289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 12131289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12141289Sdefan@nginx.com 12151289Sdefan@nginx.com<change> 12161289Sdefan@nginx.com<para> 12171289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 12181289Sdefan@nginx.com</para> 12191289Sdefan@nginx.com</change> 12201289Sdefan@nginx.com 12211289Sdefan@nginx.com</changes> 12221289Sdefan@nginx.com 12231289Sdefan@nginx.com 12241185Svbart@nginx.com<changes apply="unit-php 12251185Svbart@nginx.com unit-python unit-python2.7 12261185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12271185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 12281185Svbart@nginx.com unit-perl 12291185Svbart@nginx.com unit-ruby 12301185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12311284Svbart@nginx.com ver="1.13.0" rev="1" 12321284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 12331284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12341284Svbart@nginx.com 12351284Svbart@nginx.com<change> 12361284Svbart@nginx.com<para> 12371284Svbart@nginx.comNGINX Unit updated to 1.13.0. 12381284Svbart@nginx.com</para> 12391284Svbart@nginx.com</change> 12401284Svbart@nginx.com 12411284Svbart@nginx.com</changes> 12421284Svbart@nginx.com 12431284Svbart@nginx.com 12441284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 12451284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 12461284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12471284Svbart@nginx.com 12481284Svbart@nginx.com<change type="feature"> 12491284Svbart@nginx.com<para> 12501284Svbart@nginx.combasic support for HTTP reverse proxying. 12511284Svbart@nginx.com</para> 12521284Svbart@nginx.com</change> 12531284Svbart@nginx.com 12541284Svbart@nginx.com<change type="feature"> 12551284Svbart@nginx.com<para> 12561284Svbart@nginx.comcompatibility with Python 3.8. 12571284Svbart@nginx.com</para> 12581284Svbart@nginx.com</change> 12591284Svbart@nginx.com 12601284Svbart@nginx.com<change type="bugfix"> 12611284Svbart@nginx.com<para> 12621284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 12631284Svbart@nginx.com</para> 12641284Svbart@nginx.com</change> 12651284Svbart@nginx.com 12661284Svbart@nginx.com<change type="bugfix"> 12671284Svbart@nginx.com<para> 12681284Svbart@nginx.comthreads in Python applications might not work correctly. 12691284Svbart@nginx.com</para> 12701284Svbart@nginx.com</change> 12711284Svbart@nginx.com 12721284Svbart@nginx.com<change type="bugfix"> 12731284Svbart@nginx.com<para> 12741284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 12751284Svbart@nginx.com</para> 12761284Svbart@nginx.com</change> 12771284Svbart@nginx.com 12781284Svbart@nginx.com<change type="bugfix"> 12791284Svbart@nginx.com<para> 12801284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 12811284Svbart@nginx.comdelays. 12821284Svbart@nginx.com</para> 12831284Svbart@nginx.com</change> 12841284Svbart@nginx.com 12851284Svbart@nginx.com<change type="bugfix"> 12861284Svbart@nginx.com<para> 12871284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 12881284Svbart@nginx.com</para> 12891284Svbart@nginx.com</change> 12901284Svbart@nginx.com 12911284Svbart@nginx.com</changes> 12921284Svbart@nginx.com 12931284Svbart@nginx.com 12941284Svbart@nginx.com<changes apply="unit-php 12951284Svbart@nginx.com unit-python unit-python2.7 12961284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12971284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 12981284Svbart@nginx.com unit-perl 12991284Svbart@nginx.com unit-ruby 13001284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13011222Svbart@nginx.com ver="1.12.0" rev="1" 13021222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 13031222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13041222Svbart@nginx.com 13051222Svbart@nginx.com<change> 13061222Svbart@nginx.com<para> 13071222Svbart@nginx.comNGINX Unit updated to 1.12.0. 13081222Svbart@nginx.com</para> 13091222Svbart@nginx.com</change> 13101222Svbart@nginx.com 13111222Svbart@nginx.com</changes> 13121222Svbart@nginx.com 13131222Svbart@nginx.com 13141222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 13151222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 13161222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13171222Svbart@nginx.com 13181222Svbart@nginx.com<change type="feature"> 13191222Svbart@nginx.com<para> 13201222Svbart@nginx.comcompatibility with PHP 7.4. 13211222Svbart@nginx.com</para> 13221222Svbart@nginx.com</change> 13231222Svbart@nginx.com 13241222Svbart@nginx.com<change type="bugfix"> 13251222Svbart@nginx.com<para> 13261222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 13271222Svbart@nginx.com</para> 13281222Svbart@nginx.com</change> 13291222Svbart@nginx.com 13301222Svbart@nginx.com<change type="bugfix"> 13311222Svbart@nginx.com<para> 13321222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 13331222Svbart@nginx.com</para> 13341222Svbart@nginx.com</change> 13351222Svbart@nginx.com 13361222Svbart@nginx.com<change type="bugfix"> 13371222Svbart@nginx.com<para> 13381222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 13391222Svbart@nginx.com</para> 13401222Svbart@nginx.com</change> 13411222Svbart@nginx.com 13421222Svbart@nginx.com</changes> 13431222Svbart@nginx.com 13441222Svbart@nginx.com 13451222Svbart@nginx.com 13461222Svbart@nginx.com<changes apply="unit-php 13471222Svbart@nginx.com unit-python unit-python2.7 13481222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13491222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 13501222Svbart@nginx.com unit-perl 13511222Svbart@nginx.com unit-ruby 13521222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13531185Svbart@nginx.com ver="1.11.0" rev="1" 13541185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 13551185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 13561185Svbart@nginx.com 13571185Svbart@nginx.com<change> 13581185Svbart@nginx.com<para> 13591185Svbart@nginx.comNGINX Unit updated to 1.11.0. 13601185Svbart@nginx.com</para> 13611185Svbart@nginx.com</change> 13621185Svbart@nginx.com 13631185Svbart@nginx.com</changes> 13641185Svbart@nginx.com 13651185Svbart@nginx.com 13661185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 13671185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 13681185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 13691185Svbart@nginx.com 13701185Svbart@nginx.com<change type="feature"> 13711185Svbart@nginx.com<para> 13721185Svbart@nginx.combasic support for serving static files. 13731185Svbart@nginx.com</para> 13741185Svbart@nginx.com</change> 13751185Svbart@nginx.com 13761185Svbart@nginx.com<change type="feature"> 13771185Svbart@nginx.com<para> 13781185Svbart@nginx.comisolation of application processes with Linux namespaces. 13791185Svbart@nginx.com</para> 13801185Svbart@nginx.com</change> 13811185Svbart@nginx.com 13821185Svbart@nginx.com<change type="feature"> 13831185Svbart@nginx.com<para> 13841185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 13851185Svbart@nginx.com</para> 13861185Svbart@nginx.com</change> 13871185Svbart@nginx.com 13881185Svbart@nginx.com<change type="feature"> 13891185Svbart@nginx.com<para> 13901185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 13911185Svbart@nginx.comusing URI encoding (%2F). 13921185Svbart@nginx.com</para> 13931185Svbart@nginx.com</change> 13941185Svbart@nginx.com 13951185Svbart@nginx.com<change type="bugfix"> 13961185Svbart@nginx.com<para> 13971185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 13981185Svbart@nginx.com</para> 13991185Svbart@nginx.com</change> 14001185Svbart@nginx.com 14011185Svbart@nginx.com<change type="bugfix"> 14021185Svbart@nginx.com<para> 14031185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 14041185Svbart@nginx.comGNU ld (e.g. gold or LLD). 14051185Svbart@nginx.com</para> 14061185Svbart@nginx.com</change> 14071185Svbart@nginx.com 14081185Svbart@nginx.com</changes> 14091185Svbart@nginx.com 14101185Svbart@nginx.com 14111142Sdefan@nginx.com<changes apply="unit 14121142Sdefan@nginx.com unit-php 14131142Sdefan@nginx.com unit-python unit-python2.7 14141142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14151142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14161142Sdefan@nginx.com unit-perl 14171142Sdefan@nginx.com unit-ruby 14181142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14191142Sdefan@nginx.com ver="1.10.0" rev="2" 14201142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 14211142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14221142Sdefan@nginx.com 14231142Sdefan@nginx.com<change type="bugfix"> 14241142Sdefan@nginx.com<para> 14251142Sdefan@nginx.commissed header files added to unit development package. 14261142Sdefan@nginx.com</para> 14271142Sdefan@nginx.com</change> 14281142Sdefan@nginx.com 14291142Sdefan@nginx.com</changes> 14301142Sdefan@nginx.com 14311142Sdefan@nginx.com 14321134Svbart@nginx.com<changes apply="unit-php 14331134Svbart@nginx.com unit-python unit-python2.7 14341134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14351134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14361134Svbart@nginx.com unit-perl 14371134Svbart@nginx.com unit-ruby 14381134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14391134Svbart@nginx.com ver="1.10.0" rev="1" 14401134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 14411134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14421134Svbart@nginx.com 14431134Svbart@nginx.com<change> 14441134Svbart@nginx.com<para> 14451134Svbart@nginx.comNGINX Unit updated to 1.10.0. 14461134Svbart@nginx.com</para> 14471134Svbart@nginx.com</change> 14481134Svbart@nginx.com 14491134Svbart@nginx.com</changes> 14501134Svbart@nginx.com 14511134Svbart@nginx.com 14521134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 14531134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 14541134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14551134Svbart@nginx.com 14561134Svbart@nginx.com<change type="change"> 14571134Svbart@nginx.com<para> 14581134Svbart@nginx.commatching of cookies in routes made case sensitive. 14591134Svbart@nginx.com</para> 14601134Svbart@nginx.com</change> 14611134Svbart@nginx.com 14621134Svbart@nginx.com<change type="change"> 14631134Svbart@nginx.com<para> 14641134Svbart@nginx.comdecreased log level of common errors when clients close connections. 14651134Svbart@nginx.com</para> 14661134Svbart@nginx.com</change> 14671134Svbart@nginx.com 14681134Svbart@nginx.com<change type="change"> 14691134Svbart@nginx.com<para> 14701134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 14711134Svbart@nginx.com</para> 14721134Svbart@nginx.com</change> 14731134Svbart@nginx.com 14741134Svbart@nginx.com<change type="feature"> 14751134Svbart@nginx.com<para> 14761134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 14771134Svbart@nginx.com</para> 14781134Svbart@nginx.com</change> 14791134Svbart@nginx.com 14801134Svbart@nginx.com<change type="feature"> 14811134Svbart@nginx.com<para> 14821134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 14831134Svbart@nginx.com</para> 14841134Svbart@nginx.com</change> 14851134Svbart@nginx.com 14861134Svbart@nginx.com<change type="feature"> 14871134Svbart@nginx.com<para> 14881134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 14891134Svbart@nginx.com</para> 14901134Svbart@nginx.com</change> 14911134Svbart@nginx.com 14921134Svbart@nginx.com<change type="feature"> 14931134Svbart@nginx.com<para> 14941134Svbart@nginx.comsupport for multipart requests body in Java module. 14951134Svbart@nginx.com</para> 14961134Svbart@nginx.com</change> 14971134Svbart@nginx.com 14981134Svbart@nginx.com<change type="feature"> 14991134Svbart@nginx.com<para> 15001134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 15011134Svbart@nginx.com</para> 15021134Svbart@nginx.com</change> 15031134Svbart@nginx.com 15041134Svbart@nginx.com<change type="bugfix"> 15051134Svbart@nginx.com<para> 15061134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 15071134Svbart@nginx.com</para> 15081134Svbart@nginx.com</change> 15091134Svbart@nginx.com 15101134Svbart@nginx.com<change type="bugfix"> 15111134Svbart@nginx.com<para> 15121134Svbart@nginx.comapplying a large configuration might have failed. 15131134Svbart@nginx.com</para> 15141134Svbart@nginx.com</change> 15151134Svbart@nginx.com 15161134Svbart@nginx.com</changes> 15171134Svbart@nginx.com 15181134Svbart@nginx.com 15191069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 15201069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 15211069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15221069Svbart@nginx.com 15231069Svbart@nginx.com<change> 15241069Svbart@nginx.com<para> 15251069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 15261069Svbart@nginx.com</para> 15271069Svbart@nginx.com</change> 15281069Svbart@nginx.com 15291069Svbart@nginx.com</changes> 15301069Svbart@nginx.com 15311069Svbart@nginx.com 15321069Svbart@nginx.com<changes apply="unit-php 15331069Svbart@nginx.com unit-python unit-python2.7 15341069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15351069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 15361069Svbart@nginx.com unit-perl 15371069Svbart@nginx.com unit-ruby 15381069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15391069Svbart@nginx.com ver="1.9.0" rev="1" 15401069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 15411069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15421069Svbart@nginx.com 15431069Svbart@nginx.com<change> 15441069Svbart@nginx.com<para> 15451069Svbart@nginx.comNGINX Unit updated to 1.9.0. 15461069Svbart@nginx.com</para> 15471069Svbart@nginx.com</change> 15481069Svbart@nginx.com 15491069Svbart@nginx.com</changes> 15501069Svbart@nginx.com 15511069Svbart@nginx.com 15521069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 15531069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 15541069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15551069Svbart@nginx.com 15561069Svbart@nginx.com<change type="feature"> 15571069Svbart@nginx.com<para> 15581069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 15591069Svbart@nginx.com</para> 15601069Svbart@nginx.com</change> 15611069Svbart@nginx.com 15621069Svbart@nginx.com<change type="feature"> 15631069Svbart@nginx.com<para> 15641069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 15651069Svbart@nginx.com</para> 15661069Svbart@nginx.com</change> 15671069Svbart@nginx.com 15681069Svbart@nginx.com<change type="feature"> 15691069Svbart@nginx.com<para> 15701069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 15711069Svbart@nginx.com</para> 15721069Svbart@nginx.com</change> 15731069Svbart@nginx.com 15741069Svbart@nginx.com<change type="feature"> 15751069Svbart@nginx.com<para> 15761069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 15771069Svbart@nginx.comon Linux without running main process as privileged user. 15781069Svbart@nginx.com</para> 15791069Svbart@nginx.com</change> 15801069Svbart@nginx.com 15811069Svbart@nginx.com<change type="bugfix"> 15821069Svbart@nginx.com<para> 15831069Svbart@nginx.commemory leak in the router process might have happened when a client 15841069Svbart@nginx.comprematurely closed the connection. 15851069Svbart@nginx.com</para> 15861069Svbart@nginx.com</change> 15871069Svbart@nginx.com 15881069Svbart@nginx.com<change type="bugfix"> 15891069Svbart@nginx.com<para> 15901069Svbart@nginx.comapplying a large configuration might have failed. 15911069Svbart@nginx.com</para> 15921069Svbart@nginx.com</change> 15931069Svbart@nginx.com 15941069Svbart@nginx.com<change type="bugfix"> 15951069Svbart@nginx.com<para> 15961069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 15971069Svbart@nginx.com</para> 15981069Svbart@nginx.com</change> 15991069Svbart@nginx.com 16001069Svbart@nginx.com<change type="bugfix"> 16011069Svbart@nginx.com<para> 16021069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 16031069Svbart@nginx.com</para> 16041069Svbart@nginx.com</change> 16051069Svbart@nginx.com 16061069Svbart@nginx.com<change type="bugfix"> 16071069Svbart@nginx.com<para> 16081069Svbart@nginx.comrestored compatibility with Node.js applications that use 16091069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 16101069Svbart@nginx.com</para> 16111069Svbart@nginx.com</change> 16121069Svbart@nginx.com 16131069Svbart@nginx.com<change type="bugfix"> 16141069Svbart@nginx.com<para> 16151069Svbart@nginx.comvarious compatibility issues with Node.js applications. 16161069Svbart@nginx.com</para> 16171069Svbart@nginx.com</change> 16181069Svbart@nginx.com 16191069Svbart@nginx.com</changes> 16201069Svbart@nginx.com 16211069Svbart@nginx.com 1622991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1623991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1624991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1625991Svbart@nginx.com 1626991Svbart@nginx.com<change> 1627991Svbart@nginx.com<para> 1628991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1629991Svbart@nginx.com</para> 1630991Svbart@nginx.com</change> 1631991Svbart@nginx.com 1632991Svbart@nginx.com</changes> 1633991Svbart@nginx.com 1634991Svbart@nginx.com 1635991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1636991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1637991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1638991Svbart@nginx.com 1639991Svbart@nginx.com<change> 1640991Svbart@nginx.com<para> 1641991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1642991Svbart@nginx.com</para> 1643991Svbart@nginx.com</change> 1644991Svbart@nginx.com 1645991Svbart@nginx.com</changes> 1646991Svbart@nginx.com 1647991Svbart@nginx.com 1648991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1649991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1650991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1651991Svbart@nginx.com 1652991Svbart@nginx.com<change> 1653991Svbart@nginx.com<para> 1654991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 1655991Svbart@nginx.com</para> 1656991Svbart@nginx.com</change> 1657991Svbart@nginx.com 1658991Svbart@nginx.com</changes> 1659991Svbart@nginx.com 1660991Svbart@nginx.com 1661991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 1662991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1663991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1664991Svbart@nginx.com 1665991Svbart@nginx.com<change> 1666991Svbart@nginx.com<para> 1667991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 1668991Svbart@nginx.com</para> 1669991Svbart@nginx.com</change> 1670991Svbart@nginx.com 1671991Svbart@nginx.com</changes> 1672991Svbart@nginx.com 1673991Svbart@nginx.com 1674991Svbart@nginx.com<changes apply="unit-php 1675991Svbart@nginx.com unit-python unit-python2.7 1676991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1677991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1678991Svbart@nginx.com unit-perl 1679991Svbart@nginx.com unit-ruby" 1680991Svbart@nginx.com ver="1.8.0" rev="1" 1681991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1682991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1683991Svbart@nginx.com 1684991Svbart@nginx.com<change> 1685991Svbart@nginx.com<para> 1686991Svbart@nginx.comNGINX Unit updated to 1.8.0. 1687991Svbart@nginx.com</para> 1688991Svbart@nginx.com</change> 1689991Svbart@nginx.com 1690991Svbart@nginx.com</changes> 1691991Svbart@nginx.com 1692991Svbart@nginx.com 1693991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 1694991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1695991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1696991Svbart@nginx.com 1697991Svbart@nginx.com<change type="change"> 1698991Svbart@nginx.com<para> 1699991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 1700991Svbart@nginx.comand patch versions. 1701991Svbart@nginx.com</para> 1702991Svbart@nginx.com</change> 1703991Svbart@nginx.com 1704991Svbart@nginx.com<change type="change"> 1705991Svbart@nginx.com<para> 1706991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 1707991Svbart@nginx.comthe query component. 1708991Svbart@nginx.com</para> 1709991Svbart@nginx.com</change> 1710991Svbart@nginx.com 1711991Svbart@nginx.com<change type="feature"> 1712991Svbart@nginx.com<para> 1713991Svbart@nginx.combasic internal request routing by Host, URI, and method. 1714991Svbart@nginx.com</para> 1715991Svbart@nginx.com</change> 1716991Svbart@nginx.com 1717991Svbart@nginx.com<change type="feature"> 1718991Svbart@nginx.com<para> 1719991Svbart@nginx.comexperimental support for Java Servlet Containers. 1720991Svbart@nginx.com</para> 1721991Svbart@nginx.com</change> 1722991Svbart@nginx.com 1723991Svbart@nginx.com<change type="bugfix"> 1724991Svbart@nginx.com<para> 1725991Svbart@nginx.comsegmentation fault might have occurred in the router process. 1726991Svbart@nginx.com</para> 1727991Svbart@nginx.com</change> 1728991Svbart@nginx.com 1729991Svbart@nginx.com<change type="bugfix"> 1730991Svbart@nginx.com<para> 1731991Svbart@nginx.comvarious potential memory leaks. 1732991Svbart@nginx.com</para> 1733991Svbart@nginx.com</change> 1734991Svbart@nginx.com 1735991Svbart@nginx.com<change type="bugfix"> 1736991Svbart@nginx.com<para> 1737991Svbart@nginx.comTLS connections might have stalled. 1738991Svbart@nginx.com</para> 1739991Svbart@nginx.com</change> 1740991Svbart@nginx.com 1741991Svbart@nginx.com<change type="bugfix"> 1742991Svbart@nginx.com<para> 1743991Svbart@nginx.comsome Perl applications might have failed to send the response body. 1744991Svbart@nginx.com</para> 1745991Svbart@nginx.com</change> 1746991Svbart@nginx.com 1747991Svbart@nginx.com<change type="bugfix"> 1748991Svbart@nginx.com<para> 1749991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 1750991Svbart@nginx.comthe bug had appeared in 1.5. 1751991Svbart@nginx.com</para> 1752991Svbart@nginx.com</change> 1753991Svbart@nginx.com 1754991Svbart@nginx.com<change type="bugfix"> 1755991Svbart@nginx.com<para> 1756991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 1757991Svbart@nginx.com</para> 1758991Svbart@nginx.com</change> 1759991Svbart@nginx.com 1760991Svbart@nginx.com</changes> 1761991Svbart@nginx.com 1762991Svbart@nginx.com 1763926Svbart@nginx.com<changes apply="unit-php 1764926Svbart@nginx.com unit-python unit-python2.7 1765926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1766926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1767926Svbart@nginx.com unit-perl 1768926Svbart@nginx.com unit-ruby" 1769926Svbart@nginx.com ver="1.7.1" rev="1" 1770926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1771926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1772926Svbart@nginx.com 1773926Svbart@nginx.com<change> 1774926Svbart@nginx.com<para> 1775926Svbart@nginx.comNGINX Unit updated to 1.7.1. 1776926Svbart@nginx.com</para> 1777926Svbart@nginx.com</change> 1778926Svbart@nginx.com 1779926Svbart@nginx.com</changes> 1780926Svbart@nginx.com 1781926Svbart@nginx.com 1782926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 1783926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 1784926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1785926Svbart@nginx.com 1786926Svbart@nginx.com<change type="security"> 1787926Svbart@nginx.com<para> 1788926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 1789926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 1790926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 1791926Svbart@nginx.com</para> 1792926Svbart@nginx.com</change> 1793926Svbart@nginx.com 1794926Svbart@nginx.com<change type="bugfix"> 1795926Svbart@nginx.com<para> 1796926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 1797926Svbart@nginx.comthe bug had appeared in 1.7. 1798926Svbart@nginx.com</para> 1799926Svbart@nginx.com</change> 1800926Svbart@nginx.com 1801926Svbart@nginx.com</changes> 1802926Svbart@nginx.com 1803926Svbart@nginx.com 1804902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 1805902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 1806902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1807902Sdefan@nginx.com 1808902Sdefan@nginx.com<change> 1809902Sdefan@nginx.com<para> 1810902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 1811902Sdefan@nginx.com</para> 1812902Sdefan@nginx.com</change> 1813902Sdefan@nginx.com 1814902Sdefan@nginx.com</changes> 1815902Sdefan@nginx.com 1816902Sdefan@nginx.com 1817821Svbart@nginx.com<changes apply="unit-php 1818821Svbart@nginx.com unit-python unit-python2.7 1819821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1820821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1821821Svbart@nginx.com unit-perl 1822821Svbart@nginx.com unit-ruby" 1823886Svbart@nginx.com ver="1.7" rev="1" 1824886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1825886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1826886Svbart@nginx.com 1827886Svbart@nginx.com<change> 1828886Svbart@nginx.com<para> 1829886Svbart@nginx.comNGINX Unit updated to 1.7. 1830886Svbart@nginx.com</para> 1831886Svbart@nginx.com</change> 1832886Svbart@nginx.com 1833886Svbart@nginx.com</changes> 1834886Svbart@nginx.com 1835886Svbart@nginx.com 1836886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 1837886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 1838886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1839886Svbart@nginx.com 1840886Svbart@nginx.com<change type="change"> 1841886Svbart@nginx.com<para> 1842886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 1843886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 1844886Svbart@nginx.com</para> 1845886Svbart@nginx.com</change> 1846886Svbart@nginx.com 1847886Svbart@nginx.com<change type="bugfix"> 1848886Svbart@nginx.com<para> 1849886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 1850886Svbart@nginx.comdid not work. 1851886Svbart@nginx.com</para> 1852886Svbart@nginx.com</change> 1853886Svbart@nginx.com 1854886Svbart@nginx.com<change type="bugfix"> 1855886Svbart@nginx.com<para> 1856886Svbart@nginx.comPromises on request data in Node.js were not triggered. 1857886Svbart@nginx.com</para> 1858886Svbart@nginx.com</change> 1859886Svbart@nginx.com 1860886Svbart@nginx.com<change type="bugfix"> 1861886Svbart@nginx.com<para> 1862886Svbart@nginx.comvarious compatibility issues with Node.js applications. 1863886Svbart@nginx.com</para> 1864886Svbart@nginx.com</change> 1865886Svbart@nginx.com 1866886Svbart@nginx.com<change type="bugfix"> 1867886Svbart@nginx.com<para> 1868886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 1869886Svbart@nginx.comrequest body after request.end() was called. 1870886Svbart@nginx.com</para> 1871886Svbart@nginx.com</change> 1872886Svbart@nginx.com 1873886Svbart@nginx.com<change type="bugfix"> 1874886Svbart@nginx.com<para> 1875886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 1876886Svbart@nginx.comsend header twice. 1877886Svbart@nginx.com</para> 1878886Svbart@nginx.com</change> 1879886Svbart@nginx.com 1880886Svbart@nginx.com<change type="bugfix"> 1881886Svbart@nginx.com<para> 1882886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 1883886Svbart@nginx.comcase-sensitive. 1884886Svbart@nginx.com</para> 1885886Svbart@nginx.com</change> 1886886Svbart@nginx.com 1887886Svbart@nginx.com<change type="bugfix"> 1888886Svbart@nginx.com<para> 1889886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 1890886Svbart@nginx.com</para> 1891886Svbart@nginx.com</change> 1892886Svbart@nginx.com 1893886Svbart@nginx.com<change type="bugfix"> 1894886Svbart@nginx.com<para> 1895886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 1896886Svbart@nginx.comthe bug had appeared in 1.6. 1897886Svbart@nginx.com</para> 1898886Svbart@nginx.com</change> 1899886Svbart@nginx.com 1900886Svbart@nginx.com<change type="bugfix"> 1901886Svbart@nginx.com<para> 1902886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 1903886Svbart@nginx.combe logged. 1904886Svbart@nginx.com</para> 1905886Svbart@nginx.com</change> 1906886Svbart@nginx.com 1907886Svbart@nginx.com<change type="bugfix"> 1908886Svbart@nginx.com<para> 1909886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 1910886Svbart@nginx.comenabled. 1911886Svbart@nginx.com</para> 1912886Svbart@nginx.com</change> 1913886Svbart@nginx.com 1914886Svbart@nginx.com</changes> 1915886Svbart@nginx.com 1916886Svbart@nginx.com 1917886Svbart@nginx.com<changes apply="unit-php 1918886Svbart@nginx.com unit-python unit-python2.7 1919886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1920886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1921886Svbart@nginx.com unit-perl 1922886Svbart@nginx.com unit-ruby" 1923846Svbart@nginx.com ver="1.6" rev="1" 1924846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1925846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1926846Svbart@nginx.com 1927846Svbart@nginx.com<change> 1928846Svbart@nginx.com<para> 1929846Svbart@nginx.comNGINX Unit updated to 1.6. 1930846Svbart@nginx.com</para> 1931846Svbart@nginx.com</change> 1932846Svbart@nginx.com 1933846Svbart@nginx.com</changes> 1934846Svbart@nginx.com 1935846Svbart@nginx.com 1936846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 1937846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 1938846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 1939846Svbart@nginx.com 1940846Svbart@nginx.com<change type="change"> 1941846Svbart@nginx.com<para> 1942846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 1943846Svbart@nginx.com</para> 1944846Svbart@nginx.com</change> 1945846Svbart@nginx.com 1946846Svbart@nginx.com<change type="feature"> 1947846Svbart@nginx.com<para> 1948846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 1949846Svbart@nginx.com</para> 1950846Svbart@nginx.com</change> 1951846Svbart@nginx.com 1952846Svbart@nginx.com<change type="bugfix"> 1953846Svbart@nginx.com<para> 1954846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 1955846Svbart@nginx.com</para> 1956846Svbart@nginx.com</change> 1957846Svbart@nginx.com 1958846Svbart@nginx.com<change type="bugfix"> 1959846Svbart@nginx.com<para> 1960846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 1961846Svbart@nginx.com</para> 1962846Svbart@nginx.com</change> 1963846Svbart@nginx.com 1964846Svbart@nginx.com<change type="bugfix"> 1965846Svbart@nginx.com<para> 1966846Svbart@nginx.comvarious compatibility issues with Node.js applications. 1967846Svbart@nginx.com</para> 1968846Svbart@nginx.com</change> 1969846Svbart@nginx.com 1970846Svbart@nginx.com<change type="bugfix"> 1971846Svbart@nginx.com<para> 1972846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 1973846Svbart@nginx.com</para> 1974846Svbart@nginx.com</change> 1975846Svbart@nginx.com 1976846Svbart@nginx.com<change type="bugfix"> 1977846Svbart@nginx.com<para> 1978885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 1979846Svbart@nginx.com</para> 1980846Svbart@nginx.com</change> 1981846Svbart@nginx.com 1982846Svbart@nginx.com</changes> 1983846Svbart@nginx.com 1984846Svbart@nginx.com 1985846Svbart@nginx.com<changes apply="unit-php 1986846Svbart@nginx.com unit-python unit-python2.7 1987846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 1988846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1989846Svbart@nginx.com unit-perl 1990846Svbart@nginx.com unit-ruby" 1991821Svbart@nginx.com ver="1.5" rev="1" 1992821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 1993821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1994821Svbart@nginx.com 1995821Svbart@nginx.com<change> 1996821Svbart@nginx.com<para> 1997821Svbart@nginx.comNGINX Unit updated to 1.5. 1998821Svbart@nginx.com</para> 1999821Svbart@nginx.com</change> 2000821Svbart@nginx.com 2001821Svbart@nginx.com</changes> 2002821Svbart@nginx.com 2003821Svbart@nginx.com 2004820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 2005820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2006820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2007820Svbart@nginx.com 2008820Svbart@nginx.com<change type="change"> 2009820Svbart@nginx.com<para> 2010820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 2011820Svbart@nginx.com</para> 2012820Svbart@nginx.com</change> 2013820Svbart@nginx.com 2014820Svbart@nginx.com<change type="feature"> 2015820Svbart@nginx.com<para> 2016820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 2017820Svbart@nginx.com</para> 2018820Svbart@nginx.com</change> 2019820Svbart@nginx.com 2020820Svbart@nginx.com<change type="feature"> 2021820Svbart@nginx.com<para> 2022820Svbart@nginx.comcompatibility with LibreSSL. 2023820Svbart@nginx.com</para> 2024820Svbart@nginx.com</change> 2025820Svbart@nginx.com 2026820Svbart@nginx.com<change type="feature"> 2027820Svbart@nginx.com<para> 2028820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 2029820Svbart@nginx.comand static library. 2030820Svbart@nginx.com</para> 2031820Svbart@nginx.com</change> 2032820Svbart@nginx.com 2033820Svbart@nginx.com<change type="bugfix"> 2034820Svbart@nginx.com<para> 2035820Svbart@nginx.comconnection might be closed prematurely while sending response; 2036820Svbart@nginx.comthe bug had appeared in 1.3. 2037820Svbart@nginx.com</para> 2038820Svbart@nginx.com</change> 2039820Svbart@nginx.com 2040820Svbart@nginx.com<change type="bugfix"> 2041820Svbart@nginx.com<para> 2042820Svbart@nginx.comapplication processes might have stopped handling requests, producing 2043820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 2044820Svbart@nginx.comthe bug had appeared in 1.4. 2045820Svbart@nginx.com</para> 2046820Svbart@nginx.com</change> 2047820Svbart@nginx.com 2048820Svbart@nginx.com<change type="bugfix"> 2049820Svbart@nginx.com<para> 2050885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 2051820Svbart@nginx.com</para> 2052820Svbart@nginx.com</change> 2053820Svbart@nginx.com 2054820Svbart@nginx.com</changes> 2055820Svbart@nginx.com 2056820Svbart@nginx.com 2057689Svbart@nginx.com<changes apply="unit-php 2058689Svbart@nginx.com unit-python unit-python2.7 2059689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2060689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2061689Svbart@nginx.com unit-perl 2062689Svbart@nginx.com unit-ruby" 2063788Sdefan@nginx.com ver="1.4" rev="2" 2064788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2065788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2066788Sdefan@nginx.com 2067788Sdefan@nginx.com<change type="bugfix"> 2068788Sdefan@nginx.com<para> 2069788Sdefan@nginx.comcorrected instructions for launching sample application. 2070788Sdefan@nginx.com</para> 2071788Sdefan@nginx.com</change> 2072788Sdefan@nginx.com 2073788Sdefan@nginx.com</changes> 2074788Sdefan@nginx.com 2075788Sdefan@nginx.com 2076788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 2077788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2078788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2079788Sdefan@nginx.com 2080788Sdefan@nginx.com<change type="change"> 2081788Sdefan@nginx.com<para> 2082788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 2083788Sdefan@nginx.com</para> 2084788Sdefan@nginx.com</change> 2085788Sdefan@nginx.com 2086788Sdefan@nginx.com</changes> 2087788Sdefan@nginx.com 2088788Sdefan@nginx.com 2089788Sdefan@nginx.com<changes apply="unit-php 2090788Sdefan@nginx.com unit-python unit-python2.7 2091788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2092788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2093788Sdefan@nginx.com unit-perl 2094788Sdefan@nginx.com unit-ruby" 2095783Svbart@nginx.com ver="1.4" rev="1" 2096783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2097783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2098783Svbart@nginx.com 2099783Svbart@nginx.com<change> 2100783Svbart@nginx.com<para> 2101783Svbart@nginx.comNGINX Unit updated to 1.4. 2102783Svbart@nginx.com</para> 2103783Svbart@nginx.com</change> 2104783Svbart@nginx.com 2105783Svbart@nginx.com</changes> 2106783Svbart@nginx.com 2107783Svbart@nginx.com 2108783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 2109783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2110783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2111783Svbart@nginx.com 2112783Svbart@nginx.com<change type="change"> 2113783Svbart@nginx.com<para> 2114783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 2115783Svbart@nginx.com</para> 2116783Svbart@nginx.com</change> 2117783Svbart@nginx.com 2118783Svbart@nginx.com<change type="feature"> 2119783Svbart@nginx.com<para> 2120783Svbart@nginx.comTLS support for client connections. 2121783Svbart@nginx.com</para> 2122783Svbart@nginx.com</change> 2123783Svbart@nginx.com 2124783Svbart@nginx.com<change type="feature"> 2125783Svbart@nginx.com<para> 2126783Svbart@nginx.comTLS certificates storage control API. 2127783Svbart@nginx.com</para> 2128783Svbart@nginx.com</change> 2129783Svbart@nginx.com 2130783Svbart@nginx.com<change type="feature"> 2131783Svbart@nginx.com<para> 2132783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 2133783Svbart@nginx.com</para> 2134783Svbart@nginx.com</change> 2135783Svbart@nginx.com 2136783Svbart@nginx.com<change type="feature"> 2137783Svbart@nginx.com<para> 2138783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 2139783Svbart@nginx.com</para> 2140783Svbart@nginx.com</change> 2141783Svbart@nginx.com 2142783Svbart@nginx.com<change type="feature"> 2143783Svbart@nginx.com<para> 2144783Svbart@nginx.comimprovements in OpenBSD support. 2145783Svbart@nginx.comThanks to David Carlier. 2146783Svbart@nginx.com</para> 2147783Svbart@nginx.com</change> 2148783Svbart@nginx.com 2149783Svbart@nginx.com<change type="bugfix"> 2150783Svbart@nginx.com<para> 2151783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 2152783Svbart@nginx.com</para> 2153783Svbart@nginx.com</change> 2154783Svbart@nginx.com 2155783Svbart@nginx.com<change type="bugfix"> 2156783Svbart@nginx.com<para> 2157783Svbart@nginx.combuilding on systems with non-default locale might be broken. 2158783Svbart@nginx.com</para> 2159783Svbart@nginx.com</change> 2160783Svbart@nginx.com 2161783Svbart@nginx.com<change type="bugfix"> 2162783Svbart@nginx.com<para> 2163783Svbart@nginx.com"header_read_timeout" might not work properly. 2164783Svbart@nginx.com</para> 2165783Svbart@nginx.com</change> 2166783Svbart@nginx.com 2167783Svbart@nginx.com<change type="bugfix"> 2168783Svbart@nginx.com<para> 2169783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 2170783Svbart@nginx.comin Python 3 module. 2171783Svbart@nginx.com</para> 2172783Svbart@nginx.com</change> 2173783Svbart@nginx.com 2174783Svbart@nginx.com</changes> 2175783Svbart@nginx.com 2176783Svbart@nginx.com 2177783Svbart@nginx.com<changes apply="unit-php 2178783Svbart@nginx.com unit-python unit-python2.7 2179783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2180783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2181783Svbart@nginx.com unit-perl 2182783Svbart@nginx.com unit-ruby" 2183727Svbart@nginx.com ver="1.3" rev="1" 2184727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2185727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2186727Svbart@nginx.com 2187727Svbart@nginx.com<change> 2188727Svbart@nginx.com<para> 2189727Svbart@nginx.comNGINX Unit updated to 1.3. 2190727Svbart@nginx.com</para> 2191727Svbart@nginx.com</change> 2192727Svbart@nginx.com 2193727Svbart@nginx.com</changes> 2194727Svbart@nginx.com 2195727Svbart@nginx.com 2196727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 2197727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2198727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2199727Svbart@nginx.com 2200727Svbart@nginx.com<change type="change"> 2201727Svbart@nginx.com<para> 2202727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 2203727Svbart@nginx.com</para> 2204727Svbart@nginx.com</change> 2205727Svbart@nginx.com 2206727Svbart@nginx.com<change type="feature"> 2207727Svbart@nginx.com<para> 2208727Svbart@nginx.comconfiguration of the request body size limit. 2209727Svbart@nginx.com</para> 2210727Svbart@nginx.com</change> 2211727Svbart@nginx.com 2212727Svbart@nginx.com<change type="feature"> 2213727Svbart@nginx.com<para> 2214727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 2215727Svbart@nginx.com</para> 2216727Svbart@nginx.com</change> 2217727Svbart@nginx.com 2218727Svbart@nginx.com<change type="feature"> 2219727Svbart@nginx.com<para> 2220727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 2221727Svbart@nginx.com</para> 2222727Svbart@nginx.com</change> 2223727Svbart@nginx.com 2224727Svbart@nginx.com<change type="feature"> 2225727Svbart@nginx.com<para> 2226727Svbart@nginx.comhttp.Flusher interface in Go module. 2227727Svbart@nginx.com</para> 2228727Svbart@nginx.com</change> 2229727Svbart@nginx.com 2230727Svbart@nginx.com<change type="bugfix"> 2231727Svbart@nginx.com<para> 2232727Svbart@nginx.comvarious issues in HTTP connection errors handling. 2233727Svbart@nginx.com</para> 2234727Svbart@nginx.com</change> 2235727Svbart@nginx.com 2236727Svbart@nginx.com<change type="bugfix"> 2237727Svbart@nginx.com<para> 2238727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 2239727Svbart@nginx.com</para> 2240727Svbart@nginx.com</change> 2241727Svbart@nginx.com 2242727Svbart@nginx.com<change type="bugfix"> 2243727Svbart@nginx.com<para> 2244727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 2245727Svbart@nginx.comto previous values after the first request in application process. 2246727Svbart@nginx.com</para> 2247727Svbart@nginx.com</change> 2248727Svbart@nginx.com 2249727Svbart@nginx.com</changes> 2250727Svbart@nginx.com 2251727Svbart@nginx.com 2252727Svbart@nginx.com<changes apply="unit-php 2253727Svbart@nginx.com unit-python unit-python2.7 2254727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2255727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2256727Svbart@nginx.com unit-perl 2257727Svbart@nginx.com unit-ruby" 2258689Svbart@nginx.com ver="1.2" rev="1" 2259689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2260689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2261689Svbart@nginx.com 2262689Svbart@nginx.com<change> 2263689Svbart@nginx.com<para> 2264689Svbart@nginx.comNGINX Unit updated to 1.2. 2265689Svbart@nginx.com</para> 2266689Svbart@nginx.com</change> 2267689Svbart@nginx.com 2268689Svbart@nginx.com</changes> 2269689Svbart@nginx.com 2270689Svbart@nginx.com 2271689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 2272689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2273689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2274689Svbart@nginx.com 2275689Svbart@nginx.com<change type="feature"> 2276689Svbart@nginx.com<para> 2277689Svbart@nginx.comconfiguration of environment variables for application processes. 2278689Svbart@nginx.com</para> 2279689Svbart@nginx.com</change> 2280689Svbart@nginx.com 2281689Svbart@nginx.com<change type="feature"> 2282689Svbart@nginx.com<para> 2283689Svbart@nginx.comcustomization of php.ini path. 2284689Svbart@nginx.com</para> 2285689Svbart@nginx.com</change> 2286689Svbart@nginx.com 2287689Svbart@nginx.com<change type="feature"> 2288689Svbart@nginx.com<para> 2289689Svbart@nginx.comsetting of individual PHP configuration options. 2290689Svbart@nginx.com</para> 2291689Svbart@nginx.com</change> 2292689Svbart@nginx.com 2293689Svbart@nginx.com<change type="feature"> 2294689Svbart@nginx.com<para> 2295689Svbart@nginx.comconfiguration of execution arguments for Go applications. 2296689Svbart@nginx.com</para> 2297689Svbart@nginx.com</change> 2298689Svbart@nginx.com 2299689Svbart@nginx.com<change type="bugfix"> 2300689Svbart@nginx.com<para> 2301689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 2302689Svbart@nginx.com</para> 2303689Svbart@nginx.com</change> 2304689Svbart@nginx.com 2305689Svbart@nginx.com</changes> 2306689Svbart@nginx.com 2307689Svbart@nginx.com 2308672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 2309672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 2310672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2311672Sdefan@nginx.com 2312672Sdefan@nginx.com<change> 2313672Sdefan@nginx.com<para> 2314672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 2315672Sdefan@nginx.com</para> 2316672Sdefan@nginx.com</change> 2317672Sdefan@nginx.com 2318672Sdefan@nginx.com</changes> 2319672Sdefan@nginx.com 2320672Sdefan@nginx.com 2321548Sdefan@nginx.com<changes apply="unit-php 2322548Sdefan@nginx.com unit-python unit-python2.7 2323548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2324548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2325639Svbart@nginx.com unit-perl 2326639Svbart@nginx.com unit-ruby" 2327666Svbart@nginx.com ver="1.1" rev="1" 2328666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2329666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2330666Svbart@nginx.com 2331666Svbart@nginx.com<change> 2332666Svbart@nginx.com<para> 2333666Svbart@nginx.comNGINX Unit updated to 1.1. 2334666Svbart@nginx.com</para> 2335666Svbart@nginx.com</change> 2336666Svbart@nginx.com 2337666Svbart@nginx.com</changes> 2338666Svbart@nginx.com 2339666Svbart@nginx.com 2340666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 2341666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2342666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2343666Svbart@nginx.com 2344666Svbart@nginx.com<change type="bugfix"> 2345666Svbart@nginx.com<para> 2346666Svbart@nginx.comPython applications that use the write() callable did not work. 2347666Svbart@nginx.com</para> 2348666Svbart@nginx.com</change> 2349666Svbart@nginx.com 2350666Svbart@nginx.com<change type="bugfix"> 2351666Svbart@nginx.com<para> 2352666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2353666Svbart@nginx.com</para> 2354666Svbart@nginx.com</change> 2355666Svbart@nginx.com 2356666Svbart@nginx.com<change type="bugfix"> 2357666Svbart@nginx.com<para> 2358666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2359666Svbart@nginx.comwhen the whole body was read. 2360666Svbart@nginx.com</para> 2361666Svbart@nginx.com</change> 2362666Svbart@nginx.com 2363666Svbart@nginx.com<change type="bugfix"> 2364666Svbart@nginx.com<para> 2365666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2366666Svbart@nginx.com</para> 2367666Svbart@nginx.com</change> 2368666Svbart@nginx.com 2369666Svbart@nginx.com<change type="bugfix"> 2370666Svbart@nginx.com<para> 2371666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2372666Svbart@nginx.com</para> 2373666Svbart@nginx.com</change> 2374666Svbart@nginx.com 2375666Svbart@nginx.com<change type="bugfix"> 2376666Svbart@nginx.com<para> 2377666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2378666Svbart@nginx.com</para> 2379666Svbart@nginx.com</change> 2380666Svbart@nginx.com 2381666Svbart@nginx.com<change type="bugfix"> 2382666Svbart@nginx.com<para> 2383666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2384666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2385666Svbart@nginx.com</para> 2386666Svbart@nginx.com</change> 2387666Svbart@nginx.com 2388666Svbart@nginx.com<change type="bugfix"> 2389666Svbart@nginx.com<para> 2390666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2391666Svbart@nginx.comon 32-bit platforms. 2392666Svbart@nginx.com</para> 2393666Svbart@nginx.com</change> 2394666Svbart@nginx.com 2395666Svbart@nginx.com</changes> 2396666Svbart@nginx.com 2397666Svbart@nginx.com 2398666Svbart@nginx.com<changes apply="unit-php 2399666Svbart@nginx.com unit-python unit-python2.7 2400666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2401666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2402666Svbart@nginx.com unit-perl 2403666Svbart@nginx.com unit-ruby" 2404639Svbart@nginx.com ver="1.0" rev="1" 2405639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2406639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2407639Svbart@nginx.com 2408639Svbart@nginx.com<change> 2409639Svbart@nginx.com<para> 2410639Svbart@nginx.comNGINX Unit updated to 1.0. 2411639Svbart@nginx.com</para> 2412639Svbart@nginx.com</change> 2413639Svbart@nginx.com 2414639Svbart@nginx.com</changes> 2415639Svbart@nginx.com 2416639Svbart@nginx.com 2417639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2418639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2419639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2420639Svbart@nginx.com 2421639Svbart@nginx.com<change type="change"> 2422639Svbart@nginx.com<para> 2423639Svbart@nginx.comconfiguration object moved into "/config/" path. 2424639Svbart@nginx.com</para> 2425639Svbart@nginx.com</change> 2426639Svbart@nginx.com 2427639Svbart@nginx.com<change type="feature"> 2428639Svbart@nginx.com<para> 2429639Svbart@nginx.combasic access logging. 2430639Svbart@nginx.com</para> 2431639Svbart@nginx.com</change> 2432639Svbart@nginx.com 2433639Svbart@nginx.com<change type="bugfix"> 2434639Svbart@nginx.com<para> 2435639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2436639Svbart@nginx.com</para> 2437639Svbart@nginx.com</change> 2438639Svbart@nginx.com 2439639Svbart@nginx.com<change type="bugfix"> 2440639Svbart@nginx.com<para> 2441663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2442639Svbart@nginx.com</para> 2443639Svbart@nginx.com</change> 2444639Svbart@nginx.com 2445639Svbart@nginx.com<change type="bugfix"> 2446639Svbart@nginx.com<para> 2447639Svbart@nginx.comvarious stability issues. 2448639Svbart@nginx.com</para> 2449639Svbart@nginx.com</change> 2450639Svbart@nginx.com 2451639Svbart@nginx.com</changes> 2452639Svbart@nginx.com 2453639Svbart@nginx.com 2454639Svbart@nginx.com<changes apply="unit-php 2455639Svbart@nginx.com unit-python unit-python2.7 2456639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2457639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2458548Sdefan@nginx.com unit-perl" 2459586Svbart@nginx.com ver="0.7" rev="1" 2460586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2461586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2462586Svbart@nginx.com 2463586Svbart@nginx.com<change> 2464586Svbart@nginx.com<para> 2465586Svbart@nginx.comNGINX Unit updated to 0.7. 2466586Svbart@nginx.com</para> 2467586Svbart@nginx.com</change> 2468586Svbart@nginx.com 2469586Svbart@nginx.com</changes> 2470586Svbart@nginx.com 2471586Svbart@nginx.com 2472600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2473600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2474600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2475600Sdefan@nginx.com 2476600Sdefan@nginx.com<change> 2477600Sdefan@nginx.com<para> 2478600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2479600Sdefan@nginx.com</para> 2480600Sdefan@nginx.com</change> 2481600Sdefan@nginx.com 2482600Sdefan@nginx.com</changes> 2483600Sdefan@nginx.com 2484600Sdefan@nginx.com 2485586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2486586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2487586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2488586Svbart@nginx.com 2489586Svbart@nginx.com<change type="feature"> 2490586Svbart@nginx.com<para> 2491586Svbart@nginx.comRuby application module. 2492586Svbart@nginx.com</para> 2493586Svbart@nginx.com</change> 2494586Svbart@nginx.com 2495586Svbart@nginx.com<change type="bugfix"> 2496586Svbart@nginx.com<para> 2497586Svbart@nginx.comin discovering modules. 2498586Svbart@nginx.com</para> 2499586Svbart@nginx.com</change> 2500586Svbart@nginx.com 2501586Svbart@nginx.com<change type="bugfix"> 2502586Svbart@nginx.com<para> 2503586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2504586Svbart@nginx.com</para> 2505586Svbart@nginx.com</change> 2506586Svbart@nginx.com 2507586Svbart@nginx.com<change type="bugfix"> 2508586Svbart@nginx.com<para> 2509586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2510586Svbart@nginx.com</para> 2511586Svbart@nginx.com</change> 2512586Svbart@nginx.com 2513586Svbart@nginx.com<change type="bugfix"> 2514586Svbart@nginx.com<para> 2515586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2516586Svbart@nginx.comoutside of WSGI callable. 2517586Svbart@nginx.com</para> 2518586Svbart@nginx.com</change> 2519586Svbart@nginx.com 2520586Svbart@nginx.com<change type="bugfix"> 2521586Svbart@nginx.com<para> 2522663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2523663Svbart@nginx.comwhile initialization. 2524586Svbart@nginx.com</para> 2525586Svbart@nginx.com</change> 2526586Svbart@nginx.com 2527586Svbart@nginx.com</changes> 2528586Svbart@nginx.com 2529586Svbart@nginx.com 2530586Svbart@nginx.com<changes apply="unit-php 2531586Svbart@nginx.com unit-python unit-python2.7 2532586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2533586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2534586Svbart@nginx.com unit-perl" 2535548Sdefan@nginx.com ver="0.6" rev="1" 2536539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2537539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2538539Svbart@nginx.com 2539539Svbart@nginx.com<change> 2540539Svbart@nginx.com<para> 2541539Svbart@nginx.comNGINX Unit updated to 0.6. 2542539Svbart@nginx.com</para> 2543539Svbart@nginx.com</change> 2544539Svbart@nginx.com 2545539Svbart@nginx.com</changes> 2546539Svbart@nginx.com 2547539Svbart@nginx.com 2548539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2549539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2550539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2551539Svbart@nginx.com 2552539Svbart@nginx.com<change type="bugfix"> 2553539Svbart@nginx.com<para> 2554539Svbart@nginx.comthe main process died when the "type" application option contained version; 2555539Svbart@nginx.comthe bug had appeared in 0.5. 2556539Svbart@nginx.com</para> 2557539Svbart@nginx.com</change> 2558539Svbart@nginx.com 2559539Svbart@nginx.com</changes> 2560539Svbart@nginx.com 2561539Svbart@nginx.com 2562548Sdefan@nginx.com<changes apply="unit-php 2563548Sdefan@nginx.com unit-python unit-python2.7 2564548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2565548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2566548Sdefan@nginx.com ver="0.5" rev="1" 2567531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2568531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2569531Svbart@nginx.com 2570531Svbart@nginx.com<change> 2571531Svbart@nginx.com<para> 2572531Svbart@nginx.comNGINX Unit updated to 0.5. 2573531Svbart@nginx.com</para> 2574531Svbart@nginx.com</change> 2575531Svbart@nginx.com 2576531Svbart@nginx.com</changes> 2577531Svbart@nginx.com 2578531Svbart@nginx.com 2579524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2580531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2581524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2582524Sdefan@nginx.com 2583524Sdefan@nginx.com<change> 2584524Sdefan@nginx.com<para> 2585524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2586524Sdefan@nginx.com</para> 2587524Sdefan@nginx.com</change> 2588524Sdefan@nginx.com 2589524Sdefan@nginx.com</changes> 2590524Sdefan@nginx.com 2591524Sdefan@nginx.com 2592531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2593531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2594531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2595531Svbart@nginx.com 2596531Svbart@nginx.com<change type="change"> 2597531Svbart@nginx.com<para> 2598531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2599531Svbart@nginx.comapplication option should be used instead. 2600531Svbart@nginx.com</para> 2601531Svbart@nginx.com</change> 2602531Svbart@nginx.com 2603531Svbart@nginx.com<change type="feature"> 2604531Svbart@nginx.com<para> 2605531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2606531Svbart@nginx.comprocess management support. 2607531Svbart@nginx.com</para> 2608531Svbart@nginx.com</change> 2609531Svbart@nginx.com 2610531Svbart@nginx.com<change type="feature"> 2611531Svbart@nginx.com<para> 2612531Svbart@nginx.comPerl application module. 2613531Svbart@nginx.com</para> 2614531Svbart@nginx.com</change> 2615531Svbart@nginx.com 2616531Svbart@nginx.com<change type="bugfix"> 2617531Svbart@nginx.com<para> 2618531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2619531Svbart@nginx.com</para> 2620531Svbart@nginx.com</change> 2621531Svbart@nginx.com 2622531Svbart@nginx.com<change type="bugfix"> 2623531Svbart@nginx.com<para> 2624663Svbart@nginx.comsome Python applications might not have worked due to missing 2625531Svbart@nginx.com"wsgi.errors" environ variable. 2626531Svbart@nginx.com</para> 2627531Svbart@nginx.com</change> 2628531Svbart@nginx.com 2629531Svbart@nginx.com<change type="bugfix"> 2630531Svbart@nginx.com<para> 2631531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2632531Svbart@nginx.complatforms. 2633531Svbart@nginx.com</para> 2634531Svbart@nginx.com</change> 2635531Svbart@nginx.com 2636531Svbart@nginx.com<change type="bugfix"> 2637531Svbart@nginx.com<para> 2638531Svbart@nginx.cominfinite looping in HTTP parser. 2639531Svbart@nginx.com</para> 2640531Svbart@nginx.com</change> 2641531Svbart@nginx.com 2642531Svbart@nginx.com<change type="bugfix"> 2643531Svbart@nginx.com<para> 2644531Svbart@nginx.comsegmentation fault in router. 2645531Svbart@nginx.com</para> 2646531Svbart@nginx.com</change> 2647531Svbart@nginx.com 2648531Svbart@nginx.com</changes> 2649531Svbart@nginx.com 2650531Svbart@nginx.com 2651548Sdefan@nginx.com<changes apply="unit-php 2652548Sdefan@nginx.com unit-python unit-python2.7 2653548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2654548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2655548Sdefan@nginx.com ver="0.4" rev="1" 2656469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2657469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2658469Sigor@sysoev.ru 2659469Sigor@sysoev.ru<change> 2660469Sigor@sysoev.ru<para> 2661469Sigor@sysoev.ruNGINX Unit updated to 0.4. 2662469Sigor@sysoev.ru</para> 2663469Sigor@sysoev.ru</change> 2664469Sigor@sysoev.ru 2665469Sigor@sysoev.ru</changes> 2666469Sigor@sysoev.ru 2667469Sigor@sysoev.ru 2668469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 2669469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2670469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2671469Sigor@sysoev.ru 2672469Sigor@sysoev.ru<change type="feature"> 2673469Sigor@sysoev.ru<para> 2674469Sigor@sysoev.rucompatibility with DragonFly BSD. 2675469Sigor@sysoev.ru</para> 2676469Sigor@sysoev.ru</change> 2677469Sigor@sysoev.ru 2678469Sigor@sysoev.ru<change type="feature"> 2679469Sigor@sysoev.ru<para> 2680469Sigor@sysoev.ru"configure php --lib-static" option. 2681469Sigor@sysoev.ru</para> 2682469Sigor@sysoev.ru</change> 2683469Sigor@sysoev.ru 2684469Sigor@sysoev.ru<change type="bugfix"> 2685469Sigor@sysoev.ru<para> 2686469Sigor@sysoev.ruHTTP request body was not passed to application; 2687469Sigor@sysoev.ruthe bug had appeared in 0.3. 2688469Sigor@sysoev.ru</para> 2689469Sigor@sysoev.ru</change> 2690469Sigor@sysoev.ru 2691469Sigor@sysoev.ru<change type="bugfix"> 2692469Sigor@sysoev.ru<para> 2693469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 2694469Sigor@sysoev.ruthe bug had appeared in 0.3. 2695469Sigor@sysoev.ru</para> 2696469Sigor@sysoev.ru</change> 2697469Sigor@sysoev.ru 2698469Sigor@sysoev.ru<change type="bugfix"> 2699469Sigor@sysoev.ru<para> 2700663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 2701469Sigor@sysoev.ru</para> 2702469Sigor@sysoev.ru</change> 2703469Sigor@sysoev.ru 2704469Sigor@sysoev.ru</changes> 2705469Sigor@sysoev.ru 2706469Sigor@sysoev.ru 2707441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 2708441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2709441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2710441Sdefan@nginx.com 2711441Sdefan@nginx.com<change> 2712441Sdefan@nginx.com<para> 2713441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 2714441Sdefan@nginx.com</para> 2715441Sdefan@nginx.com</change> 2716441Sdefan@nginx.com 2717441Sdefan@nginx.com</changes> 2718441Sdefan@nginx.com 2719441Sdefan@nginx.com 2720441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 2721441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2722441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2723441Sdefan@nginx.com 2724441Sdefan@nginx.com<change> 2725441Sdefan@nginx.com<para> 2726441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 2727441Sdefan@nginx.com</para> 2728441Sdefan@nginx.com</change> 2729441Sdefan@nginx.com 2730441Sdefan@nginx.com</changes> 2731441Sdefan@nginx.com 2732441Sdefan@nginx.com 2733548Sdefan@nginx.com<changes apply="unit-php 2734548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 2735548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 2736548Sdefan@nginx.com ver="0.3" rev="1" 2737432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2738432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2739432Sigor@sysoev.ru 2740432Sigor@sysoev.ru<change> 2741432Sigor@sysoev.ru<para> 2742432Sigor@sysoev.ruNGINX Unit updated to 0.3. 2743432Sigor@sysoev.ru</para> 2744432Sigor@sysoev.ru</change> 2745432Sigor@sysoev.ru 2746432Sigor@sysoev.ru</changes> 2747432Sigor@sysoev.ru 2748432Sigor@sysoev.ru 2749432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 2750432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2751432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2752432Sigor@sysoev.ru 2753432Sigor@sysoev.ru<change type="change"> 2754432Sigor@sysoev.ru<para> 2755432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 2756432Sigor@sysoev.ru</para> 2757432Sigor@sysoev.ru</change> 2758432Sigor@sysoev.ru 2759432Sigor@sysoev.ru<change type="change"> 2760432Sigor@sysoev.ru<para> 2761432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 2762432Sigor@sysoev.rutime in queue now are not accounted. 2763432Sigor@sysoev.ru</para> 2764432Sigor@sysoev.ru</change> 2765432Sigor@sysoev.ru 2766432Sigor@sysoev.ru<change type="feature"> 2767432Sigor@sysoev.ru<para> 2768432Sigor@sysoev.ruthe "limits.requests" application option. 2769432Sigor@sysoev.ru</para> 2770432Sigor@sysoev.ru</change> 2771432Sigor@sysoev.ru 2772432Sigor@sysoev.ru<change type="feature"> 2773432Sigor@sysoev.ru<para> 2774432Sigor@sysoev.ruapplication request processing latency optimization. 2775432Sigor@sysoev.ru</para> 2776432Sigor@sysoev.ru</change> 2777432Sigor@sysoev.ru 2778432Sigor@sysoev.ru<change type="feature"> 2779432Sigor@sysoev.ru<para> 2780432Sigor@sysoev.ruHTTP keep-alive connections support. 2781432Sigor@sysoev.ru</para> 2782432Sigor@sysoev.ru</change> 2783432Sigor@sysoev.ru 2784432Sigor@sysoev.ru<change type="feature"> 2785432Sigor@sysoev.ru<para> 2786432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 2787432Sigor@sysoev.ru</para> 2788432Sigor@sysoev.ru</change> 2789432Sigor@sysoev.ru 2790432Sigor@sysoev.ru<change type="feature"> 2791432Sigor@sysoev.ru<para> 2792432Sigor@sysoev.ruPython atexit hook support. 2793432Sigor@sysoev.ru</para> 2794432Sigor@sysoev.ru</change> 2795432Sigor@sysoev.ru 2796432Sigor@sysoev.ru<change type="feature"> 2797432Sigor@sysoev.ru<para> 2798432Sigor@sysoev.ruvarious Go package improvements. 2799432Sigor@sysoev.ru</para> 2800432Sigor@sysoev.ru</change> 2801432Sigor@sysoev.ru 2802432Sigor@sysoev.ru<change type="bugfix"> 2803432Sigor@sysoev.ru<para> 2804432Sigor@sysoev.ruvarious crashes fixed. 2805432Sigor@sysoev.ru</para> 2806432Sigor@sysoev.ru</change> 2807432Sigor@sysoev.ru 2808432Sigor@sysoev.ru</changes> 2809432Sigor@sysoev.ru 2810432Sigor@sysoev.ru 2811372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 2812372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2813372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2814372Sdefan@nginx.com 2815372Sdefan@nginx.com<change> 2816372Sdefan@nginx.com<para> 2817372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 2818372Sdefan@nginx.com</para> 2819372Sdefan@nginx.com</change> 2820372Sdefan@nginx.com 2821372Sdefan@nginx.com</changes> 2822372Sdefan@nginx.com 2823372Sdefan@nginx.com 2824373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 2825373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2826373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2827373Sdefan@nginx.com 2828373Sdefan@nginx.com<change> 2829373Sdefan@nginx.com<para> 2830373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 2831373Sdefan@nginx.com</para> 2832373Sdefan@nginx.com</change> 2833373Sdefan@nginx.com 2834373Sdefan@nginx.com</changes> 2835373Sdefan@nginx.com 2836373Sdefan@nginx.com 2837373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 2838373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2839373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2840373Sdefan@nginx.com 2841373Sdefan@nginx.com<change> 2842373Sdefan@nginx.com<para> 2843373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 2844373Sdefan@nginx.com</para> 2845373Sdefan@nginx.com</change> 2846373Sdefan@nginx.com 2847373Sdefan@nginx.com</changes> 2848373Sdefan@nginx.com 2849373Sdefan@nginx.com 2850372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 2851372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2852372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2853372Sdefan@nginx.com 2854372Sdefan@nginx.com<change> 2855372Sdefan@nginx.com<para> 2856372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 2857372Sdefan@nginx.com</para> 2858372Sdefan@nginx.com</change> 2859372Sdefan@nginx.com 2860372Sdefan@nginx.com</changes> 2861372Sdefan@nginx.com 2862372Sdefan@nginx.com 2863373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 2864373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2865373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2866373Sdefan@nginx.com 2867373Sdefan@nginx.com<change> 2868373Sdefan@nginx.com<para> 2869373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 2870373Sdefan@nginx.com</para> 2871373Sdefan@nginx.com</change> 2872373Sdefan@nginx.com 2873373Sdefan@nginx.com</changes> 2874373Sdefan@nginx.com 2875373Sdefan@nginx.com 2876373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 2877373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2878373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2879373Sdefan@nginx.com 2880373Sdefan@nginx.com<change> 2881373Sdefan@nginx.com<para> 2882373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 2883373Sdefan@nginx.com</para> 2884373Sdefan@nginx.com</change> 2885373Sdefan@nginx.com 2886373Sdefan@nginx.com</changes> 2887373Sdefan@nginx.com 2888373Sdefan@nginx.com 2889373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 2890373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2891373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2892373Sdefan@nginx.com 2893373Sdefan@nginx.com<change> 2894373Sdefan@nginx.com<para> 2895373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 2896373Sdefan@nginx.com</para> 2897373Sdefan@nginx.com</change> 2898373Sdefan@nginx.com 2899373Sdefan@nginx.com</changes> 2900373Sdefan@nginx.com 2901373Sdefan@nginx.com 2902372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 2903372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 2904372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2905372Sdefan@nginx.com 2906372Sdefan@nginx.com<change> 2907372Sdefan@nginx.com<para> 2908372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 2909372Sdefan@nginx.com</para> 2910372Sdefan@nginx.com</change> 2911372Sdefan@nginx.com 2912372Sdefan@nginx.com</changes> 2913372Sdefan@nginx.com 2914372Sdefan@nginx.com 2915370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 2916370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 2917370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2918370Sigor@sysoev.ru 2919370Sigor@sysoev.ru<change type="feature"> 2920370Sigor@sysoev.ru<para> 2921370Sigor@sysoev.ruconfiguration persistence. 2922370Sigor@sysoev.ru</para> 2923370Sigor@sysoev.ru</change> 2924370Sigor@sysoev.ru 2925370Sigor@sysoev.ru<change type="feature"> 2926370Sigor@sysoev.ru<para> 2927370Sigor@sysoev.ruimproved handling of configuration errors. 2928370Sigor@sysoev.ru</para> 2929370Sigor@sysoev.ru</change> 2930370Sigor@sysoev.ru 2931370Sigor@sysoev.ru<change type="feature"> 2932370Sigor@sysoev.ru<para> 2933370Sigor@sysoev.ruapplication "timeout" property. 2934370Sigor@sysoev.ru</para> 2935370Sigor@sysoev.ru</change> 2936370Sigor@sysoev.ru 2937370Sigor@sysoev.ru<change type="bugfix"> 2938370Sigor@sysoev.ru<para> 2939370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 2940370Sigor@sysoev.ru</para> 2941370Sigor@sysoev.ru</change> 2942370Sigor@sysoev.ru 2943370Sigor@sysoev.ru<change type="bugfix"> 2944370Sigor@sysoev.ru<para> 2945370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 2946370Sigor@sysoev.ru</para> 2947370Sigor@sysoev.ru</change> 2948370Sigor@sysoev.ru 2949370Sigor@sysoev.ru<change type="bugfix"> 2950370Sigor@sysoev.ru<para> 2951370Sigor@sysoev.ruthe router crashed under load. 2952370Sigor@sysoev.ru</para> 2953370Sigor@sysoev.ru</change> 2954370Sigor@sysoev.ru 2955370Sigor@sysoev.ru<change type="bugfix"> 2956370Sigor@sysoev.ru<para> 2957370Sigor@sysoev.rumemory leak in the router. 2958370Sigor@sysoev.ru</para> 2959370Sigor@sysoev.ru</change> 2960370Sigor@sysoev.ru 2961370Sigor@sysoev.ru</changes> 2962370Sigor@sysoev.ru 2963370Sigor@sysoev.ru 2964369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 2965369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 2966369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2967369Sdefan@nginx.com 2968369Sdefan@nginx.com<change> 2969369Sdefan@nginx.com<para> 2970369Sdefan@nginx.comFirst public release. 2971369Sdefan@nginx.com</para> 2972369Sdefan@nginx.com</change> 2973369Sdefan@nginx.com 2974369Sdefan@nginx.com</changes> 2975369Sdefan@nginx.com 2976369Sdefan@nginx.com 2977369Sdefan@nginx.com</change_log> 2978