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 82029Svbart@nginx.com<changes apply="unit-php 92029Svbart@nginx.com unit-python unit-python2.7 102029Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 112029Svbart@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 122029Svbart@nginx.com unit-go 132029Svbart@nginx.com unit-perl 142029Svbart@nginx.com unit-ruby 152029Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 162029Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 172012Svbart@nginx.com ver="1.27.0" rev="1" 182012Svbart@nginx.com date="" time="" 192012Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 202012Svbart@nginx.com 212012Svbart@nginx.com<change> 222012Svbart@nginx.com<para> 232012Svbart@nginx.comNGINX Unit updated to 1.27.0. 242012Svbart@nginx.com</para> 252012Svbart@nginx.com</change> 262012Svbart@nginx.com 272012Svbart@nginx.com</changes> 282012Svbart@nginx.com 292012Svbart@nginx.com 302012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1" 312012Svbart@nginx.com date="" time="" 322012Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 332012Svbart@nginx.com 342060Smax.romanov@nginx.com<change type="bugfix"> 352060Smax.romanov@nginx.com<para> 362060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack. 372060Smax.romanov@nginx.com</para> 382060Smax.romanov@nginx.com</change> 392060Smax.romanov@nginx.com 40*2061Smax.romanov@nginx.com<change type="bugfix"> 41*2061Smax.romanov@nginx.com<para> 42*2061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails. 43*2061Smax.romanov@nginx.com</para> 44*2061Smax.romanov@nginx.com</change> 45*2061Smax.romanov@nginx.com 462050Svbart@nginx.com</changes> 472050Svbart@nginx.com 482050Svbart@nginx.com 492050Svbart@nginx.com<changes apply="unit-php 502050Svbart@nginx.com unit-python unit-python2.7 512050Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 522050Svbart@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 532050Svbart@nginx.com unit-go 542050Svbart@nginx.com unit-perl 552050Svbart@nginx.com unit-ruby 562050Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 572050Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 582029Svbart@nginx.com ver="1.26.1" rev="1" 592045Svbart@nginx.com date="2021-12-02" time="18:00:00 +0300" 602029Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 612029Svbart@nginx.com 622029Svbart@nginx.com<change> 632029Svbart@nginx.com<para> 642029Svbart@nginx.comNGINX Unit updated to 1.26.1. 652029Svbart@nginx.com</para> 662029Svbart@nginx.com</change> 672029Svbart@nginx.com 682029Svbart@nginx.com</changes> 692029Svbart@nginx.com 702029Svbart@nginx.com 712029Svbart@nginx.com<changes apply="unit" ver="1.26.1" rev="1" 722045Svbart@nginx.com date="2021-12-02" time="18:00:00 +0300" 732029Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 742029Svbart@nginx.com 752033Smax.romanov@nginx.com<change type="bugfix"> 762033Smax.romanov@nginx.com<para> 772044Svbart@nginx.comoccasionally, the Unit daemon was unable to fully terminate; the bug had 782044Svbart@nginx.comappeared in 1.26.0. 792033Smax.romanov@nginx.com</para> 802033Smax.romanov@nginx.com</change> 812033Smax.romanov@nginx.com 822034Smax.romanov@nginx.com<change type="bugfix"> 832034Smax.romanov@nginx.com<para> 842044Svbart@nginx.coma prototype process could crash on an application process exit; the bug had 852034Smax.romanov@nginx.comappeared in 1.26.0. 862034Smax.romanov@nginx.com</para> 872034Smax.romanov@nginx.com</change> 882034Smax.romanov@nginx.com 892035Svbart@nginx.com<change type="bugfix"> 902035Svbart@nginx.com<para> 912044Svbart@nginx.comthe router process crashed on reconfiguration if "access_log" was configured 922044Svbart@nginx.comwithout listeners. 932044Svbart@nginx.com</para> 942044Svbart@nginx.com</change> 952044Svbart@nginx.com 962044Svbart@nginx.com<change type="bugfix"> 972044Svbart@nginx.com<para> 982035Svbart@nginx.coma segmentation fault occurred in the PHP module if chdir() or 992035Svbart@nginx.comfastcgi_finish_request() was called in the OPcache preloading script. 1002035Svbart@nginx.com</para> 1012035Svbart@nginx.com</change> 1022035Svbart@nginx.com 1032040Smax.romanov@nginx.com<change type="bugfix"> 1042040Smax.romanov@nginx.com<para> 1052041Smax.romanov@nginx.comfatal errors on DragonFly BSD; the bug had appeared in 1.26.0. 1062041Smax.romanov@nginx.com</para> 1072041Smax.romanov@nginx.com</change> 1082041Smax.romanov@nginx.com 1092029Svbart@nginx.com</changes> 1102029Svbart@nginx.com 1112029Svbart@nginx.com 1121973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1" 1132007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 1141973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1151973Sdefan@nginx.com 1161973Sdefan@nginx.com<change> 1171973Sdefan@nginx.com<para> 1181973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit. 1191973Sdefan@nginx.com</para> 1201973Sdefan@nginx.com</change> 1211973Sdefan@nginx.com 1221973Sdefan@nginx.com</changes> 1231973Sdefan@nginx.com 1241973Sdefan@nginx.com 1251973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1" 1262007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 1271973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1281973Sdefan@nginx.com 1291973Sdefan@nginx.com<change> 1301973Sdefan@nginx.com<para> 1311973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit. 1321973Sdefan@nginx.com</para> 1331973Sdefan@nginx.com</change> 1341973Sdefan@nginx.com 1351973Sdefan@nginx.com</changes> 1361973Sdefan@nginx.com 1371973Sdefan@nginx.com 1381896Svbart@nginx.com<changes apply="unit-php 1391896Svbart@nginx.com unit-python unit-python2.7 1401896Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1411896Svbart@nginx.com unit-python3.8 unit-python3.9 1421896Svbart@nginx.com unit-go 1431896Svbart@nginx.com unit-perl 1441896Svbart@nginx.com unit-ruby 1451896Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 1461896Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 1471951Svbart@nginx.com ver="1.26.0" rev="1" 1482007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 1491951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1501951Svbart@nginx.com 1511951Svbart@nginx.com<change> 1521951Svbart@nginx.com<para> 1531951Svbart@nginx.comNGINX Unit updated to 1.26.0. 1541951Svbart@nginx.com</para> 1551951Svbart@nginx.com</change> 1561951Svbart@nginx.com 1571951Svbart@nginx.com</changes> 1581951Svbart@nginx.com 1591951Svbart@nginx.com 1601951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1" 1612007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 1621951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1631951Svbart@nginx.com 1641960Sz.hong@f5.com<change type="change"> 1651960Sz.hong@f5.com<para> 1661960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves, 1671960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI. 1681960Sz.hong@f5.com</para> 1691960Sz.hong@f5.com</change> 1701960Sz.hong@f5.com 1711960Sz.hong@f5.com<change type="feature"> 1721960Sz.hong@f5.com<para> 1732006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior 1742006Svbart@nginx.comwhen updating from previous versions. 1752006Svbart@nginx.com</para> 1762006Svbart@nginx.com</change> 1772006Svbart@nginx.com 1782006Svbart@nginx.com<change type="feature"> 1792006Svbart@nginx.com<para> 1801960Sz.hong@f5.comvariables support in the "share" option. 1811960Sz.hong@f5.com</para> 1821960Sz.hong@f5.com</change> 1831960Sz.hong@f5.com 1841959Sz.hong@f5.com<change type="feature"> 1851959Sz.hong@f5.com<para> 1861961Sz.hong@f5.commultiple paths in the "share" option. 1871961Sz.hong@f5.com</para> 1881961Sz.hong@f5.com</change> 1891961Sz.hong@f5.com 1901961Sz.hong@f5.com<change type="feature"> 1911961Sz.hong@f5.com<para> 1921959Sz.hong@f5.comvariables support in the "chroot" option. 1931959Sz.hong@f5.com</para> 1941959Sz.hong@f5.com</change> 1951959Sz.hong@f5.com 1961969Sz.hong@f5.com<change type="feature"> 1971969Sz.hong@f5.com<para> 1982006Svbart@nginx.comPHP opcache is shared between application processes. 1991969Sz.hong@f5.com</para> 2001969Sz.hong@f5.com</change> 2011969Sz.hong@f5.com 2021991Sz.hong@f5.com<change type="feature"> 2031991Sz.hong@f5.com<para> 2041991Sz.hong@f5.comrequest routing by the query string. 2051991Sz.hong@f5.com</para> 2061991Sz.hong@f5.com</change> 2071991Sz.hong@f5.com 2081955Smax.romanov@nginx.com<change type="bugfix"> 2091955Smax.romanov@nginx.com<para> 2102006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached 2112006Svbart@nginx.comby asynchronous or multithreaded apps. 2121955Smax.romanov@nginx.com</para> 2131955Smax.romanov@nginx.com</change> 2141955Smax.romanov@nginx.com 2151956Smax.romanov@nginx.com<change type="bugfix"> 2161956Smax.romanov@nginx.com<para> 2171956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client 2181956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured. 2191956Smax.romanov@nginx.com</para> 2201956Smax.romanov@nginx.com</change> 2211956Smax.romanov@nginx.com 2221992Smax.romanov@nginx.com<change type="bugfix"> 2231992Smax.romanov@nginx.com<para> 2242006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35. 2251992Smax.romanov@nginx.com</para> 2261992Smax.romanov@nginx.com</change> 2271992Smax.romanov@nginx.com 2281951Svbart@nginx.com</changes> 2291951Svbart@nginx.com 2301951Svbart@nginx.com 2311951Svbart@nginx.com<changes apply="unit-php 2321951Svbart@nginx.com unit-python unit-python2.7 2331951Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2341951Svbart@nginx.com unit-python3.8 unit-python3.9 2351951Svbart@nginx.com unit-go 2361951Svbart@nginx.com unit-perl 2371951Svbart@nginx.com unit-ruby 2381951Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 2391951Svbart@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 2401896Svbart@nginx.com ver="1.25.0" rev="1" 2411945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 2421896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2431896Svbart@nginx.com 2441896Svbart@nginx.com<change> 2451896Svbart@nginx.com<para> 2461896Svbart@nginx.comNGINX Unit updated to 1.25.0. 2471896Svbart@nginx.com</para> 2481896Svbart@nginx.com</change> 2491896Svbart@nginx.com 2501896Svbart@nginx.com</changes> 2511896Svbart@nginx.com 2521896Svbart@nginx.com 2531896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 2541945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 2551896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2561896Svbart@nginx.com 2571910So.canty@f5.com<change type="feature"> 2581910So.canty@f5.com<para> 2591944Svbart@nginx.comclient IP address replacement from a specified HTTP header field. 2601942Sa.suvorov@f5.com</para> 2611942Sa.suvorov@f5.com</change> 2621942Sa.suvorov@f5.com 2631942Sa.suvorov@f5.com<change type="feature"> 2641942Sa.suvorov@f5.com<para> 2651920Sa.suvorov@f5.comTLS sessions cache. 2661920Sa.suvorov@f5.com</para> 2671920Sa.suvorov@f5.com</change> 2681920Sa.suvorov@f5.com 2691920Sa.suvorov@f5.com<change type="feature"> 2701920Sa.suvorov@f5.com<para> 2711944Svbart@nginx.comTLS session tickets. 2721910So.canty@f5.com</para> 2731910So.canty@f5.com</change> 2741910So.canty@f5.com 2751926Smax.romanov@nginx.com<change type="feature"> 2761926Smax.romanov@nginx.com<para> 2771926Smax.romanov@nginx.comapplication restart control. 2781926Smax.romanov@nginx.com</para> 2791926Smax.romanov@nginx.com</change> 2801926Smax.romanov@nginx.com 2811936So.canty@f5.com<change type="feature"> 2821936So.canty@f5.com<para> 2831944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby. 2841936So.canty@f5.com</para> 2851936So.canty@f5.com</change> 2861936So.canty@f5.com 2871907Smax.romanov@nginx.com<change type="bugfix"> 2881907Smax.romanov@nginx.com<para> 2891944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners 2901944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0. 2911921Sa.suvorov@f5.com</para> 2921921Sa.suvorov@f5.com</change> 2931921Sa.suvorov@f5.com 2941921Sa.suvorov@f5.com<change type="bugfix"> 2951921Sa.suvorov@f5.com<para> 2961944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate 2971944Svbart@nginx.combundles in a listener if the client did not use SNI. 2981907Smax.romanov@nginx.com</para> 2991907Smax.romanov@nginx.com</change> 3001907Smax.romanov@nginx.com 3011907Smax.romanov@nginx.com<change type="bugfix"> 3021907Smax.romanov@nginx.com<para> 3031950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application 3041915Smax.romanov@nginx.comreconfiguration. 3051915Smax.romanov@nginx.com</para> 3061915Smax.romanov@nginx.com</change> 3071915Smax.romanov@nginx.com 3081915Smax.romanov@nginx.com<change type="bugfix"> 3091915Smax.romanov@nginx.com<para> 3101944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette 3111944Svbart@nginx.comframework. 3121944Svbart@nginx.com</para> 3131944Svbart@nginx.com</change> 3141944Svbart@nginx.com 3151944Svbart@nginx.com<change type="bugfix"> 3161944Svbart@nginx.com<para> 3171944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process 3181944Svbart@nginx.comstopped or crashed. 3191907Smax.romanov@nginx.com</para> 3201907Smax.romanov@nginx.com</change> 3211907Smax.romanov@nginx.com 3221909So.canty@f5.com<change type="bugfix"> 3231909So.canty@f5.com<para> 3241909So.canty@f5.comthe controller or router process could crash if the configuration contained 3251909So.canty@f5.coma full-form IPv6 in a listener address. 3261909So.canty@f5.com</para> 3271909So.canty@f5.com</change> 3281909So.canty@f5.com 3291916Smax.romanov@nginx.com<change type="bugfix"> 3301916Smax.romanov@nginx.com<para> 3311929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes" 3321929Sz.hong@f5.comor "upstreams" using a variable "pass" option. 3331929Sz.hong@f5.com</para> 3341929Sz.hong@f5.com</change> 3351929Sz.hong@f5.com 3361930So.canty@f5.com<change type="bugfix"> 3371930So.canty@f5.com<para> 3381944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source 3391944Svbart@nginx.comor destination address patterns. 3401930So.canty@f5.com</para> 3411930So.canty@f5.com</change> 3421930So.canty@f5.com 3431896Svbart@nginx.com</changes> 3441896Svbart@nginx.com 3451896Svbart@nginx.com 3461887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 3471891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3481887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3491887Sdefan@nginx.com 3501887Sdefan@nginx.com<change> 3511887Sdefan@nginx.com<para> 3521887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit. 3531887Sdefan@nginx.com</para> 3541887Sdefan@nginx.com</change> 3551887Sdefan@nginx.com 3561887Sdefan@nginx.com</changes> 3571887Sdefan@nginx.com 3581887Sdefan@nginx.com 3591887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 3601891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3611887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3621887Sdefan@nginx.com 3631887Sdefan@nginx.com<change> 3641887Sdefan@nginx.com<para> 3651887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 3661887Sdefan@nginx.com</para> 3671887Sdefan@nginx.com</change> 3681887Sdefan@nginx.com 3691887Sdefan@nginx.com</changes> 3701887Sdefan@nginx.com 3711887Sdefan@nginx.com 3721834Svbart@nginx.com<changes apply="unit-php 3731834Svbart@nginx.com unit-python unit-python2.7 3741834Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3751834Svbart@nginx.com unit-python3.8 unit-python3.9 3761834Svbart@nginx.com unit-go 3771834Svbart@nginx.com unit-perl 3781834Svbart@nginx.com unit-ruby 3791834Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3801834Svbart@nginx.com unit-jsc14 unit-jsc15" 3811839Svbart@nginx.com ver="1.24.0" rev="1" 3821891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3831839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3841839Svbart@nginx.com 3851839Svbart@nginx.com<change> 3861839Svbart@nginx.com<para> 3871839Svbart@nginx.comNGINX Unit updated to 1.24.0. 3881839Svbart@nginx.com</para> 3891839Svbart@nginx.com</change> 3901839Svbart@nginx.com 3911839Svbart@nginx.com</changes> 3921839Svbart@nginx.com 3931839Svbart@nginx.com 3941839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 3951891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 3961839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3971839Svbart@nginx.com 3981882So.canty@f5.com<change type="change"> 3991882So.canty@f5.com<para> 4001882So.canty@f5.comPHP added to the default MIME type list. 4011882So.canty@f5.com</para> 4021882So.canty@f5.com</change> 4031882So.canty@f5.com 4041855Sz.hong@f5.com<change type="feature"> 4051855Sz.hong@f5.com<para> 4061885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands. 4071885Sa.suvorov@f5.com</para> 4081885Sa.suvorov@f5.com</change> 4091885Sa.suvorov@f5.com 4101885Sa.suvorov@f5.com<change type="feature"> 4111885Sa.suvorov@f5.com<para> 4121890Svbart@nginx.comthe ability to limit static file serving by MIME types. 4131890Svbart@nginx.com</para> 4141890Svbart@nginx.com</change> 4151890Svbart@nginx.com 4161890Svbart@nginx.com<change type="feature"> 4171890Svbart@nginx.com<para> 4181890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount 4191890Svbart@nginx.compoint traversal on a per-request basis when serving static files. 4201872So.canty@f5.com</para> 4211872So.canty@f5.com</change> 4221872So.canty@f5.com 4231872So.canty@f5.com<change type="feature"> 4241872So.canty@f5.com<para> 4251889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 4261889Sartem.konev@nginx.comNode.js. 4271865So.canty@f5.com</para> 4281865So.canty@f5.com</change> 4291865So.canty@f5.com 4301865So.canty@f5.com<change type="feature"> 4311865So.canty@f5.com<para> 4321890Svbart@nginx.commultiple "targets" in Python applications. 4331855Sz.hong@f5.com</para> 4341855Sz.hong@f5.com</change> 4351855Sz.hong@f5.com 4361870So.canty@f5.com<change type="feature"> 4371870So.canty@f5.com<para> 4381870So.canty@f5.comcompatibility with Ruby 3.0. 4391870So.canty@f5.com</para> 4401870So.canty@f5.com</change> 4411870So.canty@f5.com 4421861Svbart@nginx.com<change type="bugfix"> 4431861Svbart@nginx.com<para> 4441889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection. 4451884Sa.suvorov@f5.com</para> 4461884Sa.suvorov@f5.com</change> 4471884Sa.suvorov@f5.com 4481884Sa.suvorov@f5.com<change type="bugfix"> 4491884Sa.suvorov@f5.com<para> 4501861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if 4511861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 4521861Svbart@nginx.com</para> 4531861Svbart@nginx.com</change> 4541861Svbart@nginx.com 4551839Svbart@nginx.com</changes> 4561839Svbart@nginx.com 4571839Svbart@nginx.com 4581839Svbart@nginx.com<changes apply="unit-php 4591839Svbart@nginx.com unit-python unit-python2.7 4601839Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 4611839Svbart@nginx.com unit-python3.8 unit-python3.9 4621839Svbart@nginx.com unit-go 4631839Svbart@nginx.com unit-perl 4641839Svbart@nginx.com unit-ruby 4651839Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 4661839Svbart@nginx.com unit-jsc14 unit-jsc15" 4671834Svbart@nginx.com ver="1.23.0" rev="1" 4681834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 4691834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4701834Svbart@nginx.com 4711834Svbart@nginx.com<change> 4721834Svbart@nginx.com<para> 4731834Svbart@nginx.comNGINX Unit updated to 1.23.0. 4741834Svbart@nginx.com</para> 4751834Svbart@nginx.com</change> 4761834Svbart@nginx.com 4771834Svbart@nginx.com</changes> 4781834Svbart@nginx.com 4791834Svbart@nginx.com 4801806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 4811834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 4821806Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4831806Svbart@nginx.com 4841825Sthresh@nginx.com<change type="feature"> 4851825Sthresh@nginx.com<para> 4861833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 4871828Sa.suvorov@f5.comIndication (SNI) TLS extension. 4881828Sa.suvorov@f5.com</para> 4891828Sa.suvorov@f5.com</change> 4901828Sa.suvorov@f5.com 4911828Sa.suvorov@f5.com<change type="feature"> 4921828Sa.suvorov@f5.com<para> 4931833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page 4941833Sartem.konev@nginx.cominstallation. 4951825Sthresh@nginx.com</para> 4961825Sthresh@nginx.com</change> 4971825Sthresh@nginx.com 4981811Smax.romanov@nginx.com<change type="bugfix"> 4991811Smax.romanov@nginx.com<para> 5001812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had 5011812Svbart@nginx.comappeared in 1.17.0. 5021812Svbart@nginx.com</para> 5031812Svbart@nginx.com</change> 5041812Svbart@nginx.com 5051812Svbart@nginx.com<change type="bugfix"> 5061812Svbart@nginx.com<para> 5071833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 5081812Svbart@nginx.comappeared in 1.6. 5091812Svbart@nginx.com</para> 5101812Svbart@nginx.com</change> 5111812Svbart@nginx.com 5121812Svbart@nginx.com<change type="bugfix"> 5131812Svbart@nginx.com<para> 5141833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing 5151832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 5161832Smax.romanov@nginx.com</para> 5171832Smax.romanov@nginx.com</change> 5181832Smax.romanov@nginx.com 5191832Smax.romanov@nginx.com<change type="bugfix"> 5201832Smax.romanov@nginx.com<para> 5211833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or 5221811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 5231811Smax.romanov@nginx.com</para> 5241811Smax.romanov@nginx.com</change> 5251806Svbart@nginx.com 5261813Svbart@nginx.com<change type="bugfix"> 5271813Svbart@nginx.com<para> 5281813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in 5291813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 5301813Svbart@nginx.com</para> 5311813Svbart@nginx.com</change> 5321813Svbart@nginx.com 5331814Svbart@nginx.com<change type="bugfix"> 5341814Svbart@nginx.com<para> 5351820Svbart@nginx.comthe controller process could crash while requesting information about a 5361820Svbart@nginx.comcertificate with a non-DNS SAN entry. 5371820Svbart@nginx.com</para> 5381820Svbart@nginx.com</change> 5391820Svbart@nginx.com 5401820Svbart@nginx.com<change type="bugfix"> 5411820Svbart@nginx.com<para> 5421822Svbart@nginx.comthe controller process could crash on manipulations with a certificate 5431833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 5441822Svbart@nginx.com</para> 5451822Svbart@nginx.com</change> 5461822Svbart@nginx.com 5471822Svbart@nginx.com<change type="bugfix"> 5481822Svbart@nginx.com<para> 5491833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 5501833Sartem.konev@nginx.comclass. 5511814Svbart@nginx.com</para> 5521814Svbart@nginx.com</change> 5531814Svbart@nginx.com 5541815Svbart@nginx.com<change type="bugfix"> 5551815Svbart@nginx.com<para> 5561815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 5571815Svbart@nginx.comappeared in 1.22.0. 5581815Svbart@nginx.com</para> 5591815Svbart@nginx.com</change> 5601815Svbart@nginx.com 5611806Svbart@nginx.com</changes> 5621806Svbart@nginx.com 5631806Svbart@nginx.com 5641798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 5651798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 5661798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5671798Sdefan@nginx.com 5681798Sdefan@nginx.com<change> 5691798Sdefan@nginx.com<para> 5701798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit. 5711798Sdefan@nginx.com</para> 5721798Sdefan@nginx.com</change> 5731798Sdefan@nginx.com 5741798Sdefan@nginx.com</changes> 5751798Sdefan@nginx.com 5761798Sdefan@nginx.com 5771763Sdefan@nginx.com<changes apply="unit-php 5781763Sdefan@nginx.com unit-python unit-python2.7 5791763Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5801763Sdefan@nginx.com unit-python3.8 5811763Sdefan@nginx.com unit-go 5821763Sdefan@nginx.com unit-perl 5831763Sdefan@nginx.com unit-ruby 5841763Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 5851763Sdefan@nginx.com unit-jsc14 unit-jsc15" 5861763Sdefan@nginx.com ver="1.22.0" rev="1" 5871793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 5881763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 5891763Sdefan@nginx.com 5901763Sdefan@nginx.com<change> 5911763Sdefan@nginx.com<para> 5921763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 5931763Sdefan@nginx.com</para> 5941763Sdefan@nginx.com</change> 5951763Sdefan@nginx.com 5961763Sdefan@nginx.com</changes> 5971763Sdefan@nginx.com 5981763Sdefan@nginx.com 5991727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 6001793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 6011727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6021727Svbart@nginx.com 6031759Svbart@nginx.com<change type="feature"> 6041759Svbart@nginx.com<para> 6051792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 6061792Svbart@nginx.comcompliant with Stream API. 6071759Svbart@nginx.com</para> 6081759Svbart@nginx.com</change> 6091759Svbart@nginx.com 6101766Smax.romanov@nginx.com<change type="feature"> 6111766Smax.romanov@nginx.com<para> 6121792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 6131792Svbart@nginx.comapps. 6141732Svbart@nginx.com</para> 6151732Svbart@nginx.com</change> 6161732Svbart@nginx.com 6171733Svbart@nginx.com<change type="bugfix"> 6181733Svbart@nginx.com<para> 6191792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 6201792Svbart@nginx.com128K; the bug had appeared in 1.13.0. 6211754Smax.romanov@nginx.com</para> 6221754Smax.romanov@nginx.com</change> 6231754Smax.romanov@nginx.com 6241755Smax.romanov@nginx.com<change type="bugfix"> 6251755Smax.romanov@nginx.com<para> 6261790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had 6271755Smax.romanov@nginx.comappeared in 1.19.0. 6281755Smax.romanov@nginx.com</para> 6291755Smax.romanov@nginx.com</change> 6301755Smax.romanov@nginx.com 6311756Smax.romanov@nginx.com<change type="bugfix"> 6321756Smax.romanov@nginx.com<para> 6331790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had 6341790Sartem.konev@nginx.comappeared in 1.19.0. 6351756Smax.romanov@nginx.com</para> 6361756Smax.romanov@nginx.com</change> 6371756Smax.romanov@nginx.com 6381760Smax.romanov@nginx.com<change type="bugfix"> 6391760Smax.romanov@nginx.com<para> 6401792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes. 6411792Svbart@nginx.com</para> 6421792Svbart@nginx.com</change> 6431792Svbart@nginx.com 6441792Svbart@nginx.com<change type="bugfix"> 6451792Svbart@nginx.com<para> 6461792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 6471792Svbart@nginx.commissing in the PHP module. 6481792Svbart@nginx.com</para> 6491792Svbart@nginx.com</change> 6501792Svbart@nginx.com 6511792Svbart@nginx.com<change type="bugfix"> 6521792Svbart@nginx.com<para> 6531792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 6541792Svbart@nginx.com</para> 6551792Svbart@nginx.com</change> 6561792Svbart@nginx.com 6571792Svbart@nginx.com<change type="bugfix"> 6581792Svbart@nginx.com<para> 6591792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 6601792Svbart@nginx.com</para> 6611792Svbart@nginx.com</change> 6621792Svbart@nginx.com 6631792Svbart@nginx.com<change type="bugfix"> 6641792Svbart@nginx.com<para> 6651792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 6661792Svbart@nginx.comthe bug had appeared in 1.21.0. 6671760Smax.romanov@nginx.com</para> 6681760Smax.romanov@nginx.com</change> 6691760Smax.romanov@nginx.com 6701780Smax.romanov@nginx.com<change type="bugfix"> 6711780Smax.romanov@nginx.com<para> 6721790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used 6731790Sartem.konev@nginx.comWebSocket. 6741780Smax.romanov@nginx.com</para> 6751780Smax.romanov@nginx.com</change> 6761780Smax.romanov@nginx.com 6771789Smax.romanov@nginx.com<change type="bugfix"> 6781789Smax.romanov@nginx.com<para> 6791789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring 6801789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 6811789Smax.romanov@nginx.com</para> 6821789Smax.romanov@nginx.com</change> 6831789Smax.romanov@nginx.com 6841727Svbart@nginx.com</changes> 6851727Svbart@nginx.com 6861727Svbart@nginx.com 6871722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 6881722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 6891722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 6901722Svbart@nginx.com 6911722Svbart@nginx.com<change> 6921722Svbart@nginx.com<para> 6931722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit. 6941722Svbart@nginx.com</para> 6951722Svbart@nginx.com</change> 6961722Svbart@nginx.com 6971722Svbart@nginx.com</changes> 6981722Svbart@nginx.com 6991722Svbart@nginx.com 7001722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 7011722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 7021722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7031722Svbart@nginx.com 7041722Svbart@nginx.com<change> 7051722Svbart@nginx.com<para> 7061722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 7071722Svbart@nginx.com</para> 7081722Svbart@nginx.com</change> 7091722Svbart@nginx.com 7101722Svbart@nginx.com</changes> 7111722Svbart@nginx.com 7121722Svbart@nginx.com 7131722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 7141722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 7151722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7161722Svbart@nginx.com 7171722Svbart@nginx.com<change> 7181722Svbart@nginx.com<para> 7191722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 7201722Svbart@nginx.com</para> 7211722Svbart@nginx.com</change> 7221722Svbart@nginx.com 7231722Svbart@nginx.com</changes> 7241722Svbart@nginx.com 7251722Svbart@nginx.com 7261722Svbart@nginx.com<changes apply="unit-php 7271722Svbart@nginx.com unit-python unit-python2.7 7281722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7291722Svbart@nginx.com unit-python3.8 7301722Svbart@nginx.com unit-go 7311722Svbart@nginx.com unit-perl 7321722Svbart@nginx.com unit-ruby 7331722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 7341722Svbart@nginx.com ver="1.21.0" rev="1" 7351722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 7361722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7371722Svbart@nginx.com 7381722Svbart@nginx.com<change> 7391722Svbart@nginx.com<para> 7401722Svbart@nginx.comNGINX Unit updated to 1.21.0. 7411722Svbart@nginx.com</para> 7421722Svbart@nginx.com</change> 7431722Svbart@nginx.com 7441722Svbart@nginx.com</changes> 7451722Svbart@nginx.com 7461722Svbart@nginx.com 7471722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 7481722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 7491722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 7501722Svbart@nginx.com 7511722Svbart@nginx.com<change type="change"> 7521722Svbart@nginx.com<para> 7531722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 7541722Svbart@nginx.com</para> 7551722Svbart@nginx.com</change> 7561722Svbart@nginx.com 7571722Svbart@nginx.com<change type="change"> 7581722Svbart@nginx.com<para> 7591722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 7601722Svbart@nginx.comnames. 7611722Svbart@nginx.com</para> 7621722Svbart@nginx.com</change> 7631722Svbart@nginx.com 7641722Svbart@nginx.com<change type="change"> 7651722Svbart@nginx.com<para> 7661722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 7671722Svbart@nginx.comdefault. 7681722Svbart@nginx.com</para> 7691722Svbart@nginx.com</change> 7701722Svbart@nginx.com 7711722Svbart@nginx.com<change type="feature"> 7721722Svbart@nginx.com<para> 7731722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 7741722Svbart@nginx.com</para> 7751722Svbart@nginx.com</change> 7761722Svbart@nginx.com 7771722Svbart@nginx.com<change type="feature"> 7781722Svbart@nginx.com<para> 7791722Svbart@nginx.comregular expressions in route matching patterns. 7801722Svbart@nginx.com</para> 7811722Svbart@nginx.com</change> 7821722Svbart@nginx.com 7831722Svbart@nginx.com<change type="feature"> 7841722Svbart@nginx.com<para> 7851722Svbart@nginx.comcompatibility with Python 3.9. 7861722Svbart@nginx.com</para> 7871722Svbart@nginx.com</change> 7881722Svbart@nginx.com 7891722Svbart@nginx.com<change type="feature"> 7901722Svbart@nginx.com<para> 7911722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 7921722Svbart@nginx.com</para> 7931722Svbart@nginx.com</change> 7941722Svbart@nginx.com 7951722Svbart@nginx.com<change type="feature"> 7961722Svbart@nginx.com<para> 7971722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 7981722Svbart@nginx.com</para> 7991722Svbart@nginx.com</change> 8001722Svbart@nginx.com 8011722Svbart@nginx.com<change type="feature"> 8021722Svbart@nginx.com<para> 8031722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 8041722Svbart@nginx.comcontinues code execution without holding onto the client connection. 8051722Svbart@nginx.com</para> 8061722Svbart@nginx.com</change> 8071722Svbart@nginx.com 8081722Svbart@nginx.com<change type="feature"> 8091722Svbart@nginx.com<para> 8101722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 8111722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 8121722Svbart@nginx.com</para> 8131722Svbart@nginx.com</change> 8141722Svbart@nginx.com 8151722Svbart@nginx.com<change type="feature"> 8161722Svbart@nginx.com<para> 8171722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 8181722Svbart@nginx.commounting of eponymous filesystems. 8191722Svbart@nginx.com</para> 8201722Svbart@nginx.com</change> 8211722Svbart@nginx.com 8221722Svbart@nginx.com<change type="bugfix"> 8231722Svbart@nginx.com<para> 8241722Svbart@nginx.comthe router process could crash when running Go applications under high load; 8251722Svbart@nginx.comthe bug had appeared in 1.19.0. 8261722Svbart@nginx.com</para> 8271722Svbart@nginx.com</change> 8281722Svbart@nginx.com 8291722Svbart@nginx.com<change type="bugfix"> 8301722Svbart@nginx.com<para> 8311722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 8321722Svbart@nginx.com</para> 8331722Svbart@nginx.com</change> 8341722Svbart@nginx.com 8351722Svbart@nginx.com<change type="bugfix"> 8361722Svbart@nginx.com<para> 8371722Svbart@nginx.comvarious compatibility issues in Java applications. 8381722Svbart@nginx.com</para> 8391722Svbart@nginx.com</change> 8401722Svbart@nginx.com 8411722Svbart@nginx.com<change type="bugfix"> 8421722Svbart@nginx.com<para> 8431722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 8441722Svbart@nginx.comuse "rootfs" isolation. 8451722Svbart@nginx.com</para> 8461722Svbart@nginx.com</change> 8471722Svbart@nginx.com 8481722Svbart@nginx.com</changes> 8491722Svbart@nginx.com 8501722Svbart@nginx.com 8511330Svbart@nginx.com<changes apply="unit-php 8521330Svbart@nginx.com unit-python unit-python2.7 8531330Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8541330Svbart@nginx.com unit-python3.8 8551330Svbart@nginx.com unit-go 8561330Svbart@nginx.com unit-perl 8571330Svbart@nginx.com unit-ruby 8581330Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 8591640Svbart@nginx.com ver="1.20.0" rev="1" 8601640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 8611640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8621640Svbart@nginx.com 8631640Svbart@nginx.com<change> 8641640Svbart@nginx.com<para> 8651640Svbart@nginx.comNGINX Unit updated to 1.20.0. 8661640Svbart@nginx.com</para> 8671640Svbart@nginx.com</change> 8681640Svbart@nginx.com 8691640Svbart@nginx.com</changes> 8701640Svbart@nginx.com 8711640Svbart@nginx.com 8721640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 8731640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 8741640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8751640Svbart@nginx.com 8761640Svbart@nginx.com<change type="change"> 8771640Svbart@nginx.com<para> 8781640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 8791640Svbart@nginx.comextensions from the host system. 8801640Svbart@nginx.com</para> 8811640Svbart@nginx.com</change> 8821640Svbart@nginx.com 8831640Svbart@nginx.com<change type="change"> 8841640Svbart@nginx.com<para> 8851640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 8861640Svbart@nginx.com</para> 8871640Svbart@nginx.com</change> 8881640Svbart@nginx.com 8891643Svbart@nginx.com<change type="change"> 8901643Svbart@nginx.com<para> 8911643Svbart@nginx.comfunctional tests migrated to the pytest framework. 8921643Svbart@nginx.com</para> 8931643Svbart@nginx.com</change> 8941643Svbart@nginx.com 8951640Svbart@nginx.com<change type="feature"> 8961640Svbart@nginx.com<para> 8971640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 8981640Svbart@nginx.cominterface. 8991640Svbart@nginx.com</para> 9001640Svbart@nginx.com</change> 9011640Svbart@nginx.com 9021640Svbart@nginx.com<change type="feature"> 9031640Svbart@nginx.com<para> 9041640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 9051640Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 9061640Svbart@nginx.comspecification. 9071640Svbart@nginx.com</para> 9081640Svbart@nginx.com</change> 9091640Svbart@nginx.com 9101640Svbart@nginx.com<change type="feature"> 9111640Svbart@nginx.com<para> 9121640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 9131640Svbart@nginx.comenvironments. 9141640Svbart@nginx.com</para> 9151640Svbart@nginx.com</change> 9161640Svbart@nginx.com 9171640Svbart@nginx.com<change type="feature"> 9181640Svbart@nginx.com<para> 9191640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 9201640Svbart@nginx.com</para> 9211640Svbart@nginx.com</change> 9221640Svbart@nginx.com 9231640Svbart@nginx.com<change type="feature"> 9241640Svbart@nginx.com<para> 9251640Svbart@nginx.comthe "callable" option sets Python application callable names. 9261640Svbart@nginx.com</para> 9271640Svbart@nginx.com</change> 9281640Svbart@nginx.com 9291640Svbart@nginx.com<change type="feature"> 9301640Svbart@nginx.com<para> 9311640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 9321640Svbart@nginx.com</para> 9331640Svbart@nginx.com</change> 9341640Svbart@nginx.com 9351640Svbart@nginx.com<change type="feature"> 9361640Svbart@nginx.com<para> 9371640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 9381640Svbart@nginx.comautomatic mounting of language module dependencies. 9391640Svbart@nginx.com</para> 9401640Svbart@nginx.com</change> 9411640Svbart@nginx.com 9421640Svbart@nginx.com<change type="bugfix"> 9431640Svbart@nginx.com<para> 9441640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 9451640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 9461640Svbart@nginx.com</para> 9471640Svbart@nginx.com</change> 9481640Svbart@nginx.com 9491640Svbart@nginx.com<change type="bugfix"> 9501640Svbart@nginx.com<para> 9511640Svbart@nginx.comthe router process could crash during reconfiguration. 9521640Svbart@nginx.com</para> 9531640Svbart@nginx.com</change> 9541640Svbart@nginx.com 9551640Svbart@nginx.com<change type="bugfix"> 9561640Svbart@nginx.com<para> 9571640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 9581640Svbart@nginx.com</para> 9591640Svbart@nginx.com</change> 9601640Svbart@nginx.com 9611640Svbart@nginx.com<change type="bugfix"> 9621640Svbart@nginx.com<para> 9631640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 9641640Svbart@nginx.comthe bug had appeared in 1.19.0. 9651640Svbart@nginx.com</para> 9661640Svbart@nginx.com</change> 9671640Svbart@nginx.com 9681640Svbart@nginx.com<change type="bugfix"> 9691640Svbart@nginx.com<para> 9701640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 9711640Svbart@nginx.comthe bug had appeared in 1.16.0. 9721640Svbart@nginx.com</para> 9731640Svbart@nginx.com</change> 9741640Svbart@nginx.com 9751640Svbart@nginx.com</changes> 9761640Svbart@nginx.com 9771640Svbart@nginx.com 9781640Svbart@nginx.com<changes apply="unit-php 9791640Svbart@nginx.com unit-python unit-python2.7 9801640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9811640Svbart@nginx.com unit-python3.8 9821640Svbart@nginx.com unit-go 9831640Svbart@nginx.com unit-perl 9841640Svbart@nginx.com unit-ruby 9851640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 9861570Svbart@nginx.com ver="1.19.0" rev="1" 9871570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 9881570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9891570Svbart@nginx.com 9901570Svbart@nginx.com<change> 9911570Svbart@nginx.com<para> 9921570Svbart@nginx.comNGINX Unit updated to 1.19.0. 9931570Svbart@nginx.com</para> 9941570Svbart@nginx.com</change> 9951570Svbart@nginx.com 9961570Svbart@nginx.com</changes> 9971570Svbart@nginx.com 9981570Svbart@nginx.com 9991570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 10001570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 10011570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10021570Svbart@nginx.com 10031570Svbart@nginx.com<change type="feature"> 10041570Svbart@nginx.com<para> 10051570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 10061570Svbart@nginx.comincrease performance, and improve scalability. 10071570Svbart@nginx.com</para> 10081570Svbart@nginx.com</change> 10091570Svbart@nginx.com 10101570Svbart@nginx.com<change type="feature"> 10111570Svbart@nginx.com<para> 10121570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 10131570Svbart@nginx.com</para> 10141570Svbart@nginx.com</change> 10151570Svbart@nginx.com 10161570Svbart@nginx.com<change type="feature"> 10171570Svbart@nginx.com<para> 10181570Svbart@nginx.comchunked transfer encoding in proxy responses. 10191570Svbart@nginx.com</para> 10201570Svbart@nginx.com</change> 10211570Svbart@nginx.com 10221570Svbart@nginx.com<change type="feature"> 10231570Svbart@nginx.com<para> 10241570Svbart@nginx.combasic variables support in the "pass" option. 10251570Svbart@nginx.com</para> 10261570Svbart@nginx.com</change> 10271570Svbart@nginx.com 10281570Svbart@nginx.com<change type="feature"> 10291570Svbart@nginx.com<para> 10301570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 10311570Svbart@nginx.comThanks to Remi Collet. 10321570Svbart@nginx.com</para> 10331570Svbart@nginx.com</change> 10341570Svbart@nginx.com 10351570Svbart@nginx.com<change type="bugfix"> 10361570Svbart@nginx.com<para> 10371570Svbart@nginx.comthe router process could crash while passing requests to an application under 10381570Svbart@nginx.comhigh load. 10391570Svbart@nginx.com</para> 10401570Svbart@nginx.com</change> 10411570Svbart@nginx.com 10421570Svbart@nginx.com<change type="bugfix"> 10431570Svbart@nginx.com<para> 10441570Svbart@nginx.coma number of language modules failed to build on some systems; 10451570Svbart@nginx.comthe bug had appeared in 1.18.0. 10461570Svbart@nginx.com</para> 10471570Svbart@nginx.com</change> 10481570Svbart@nginx.com 10491570Svbart@nginx.com<change type="bugfix"> 10501570Svbart@nginx.com<para> 10511570Svbart@nginx.comtime in error log messages from PHP applications could lag. 10521570Svbart@nginx.com</para> 10531570Svbart@nginx.com</change> 10541570Svbart@nginx.com 10551570Svbart@nginx.com<change type="bugfix"> 10561570Svbart@nginx.com<para> 10571570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 10581570Svbart@nginx.comthe bug had appeared in 1.18.0. 10591570Svbart@nginx.com</para> 10601570Svbart@nginx.com</change> 10611570Svbart@nginx.com 10621570Svbart@nginx.com<change type="bugfix"> 10631570Svbart@nginx.com<para> 10641570Svbart@nginx.commemory leak during reconfiguration. 10651570Svbart@nginx.com</para> 10661570Svbart@nginx.com</change> 10671570Svbart@nginx.com 10681570Svbart@nginx.com<change type="bugfix"> 10691570Svbart@nginx.com<para> 10701570Svbart@nginx.comthe daemon didn't start without language modules; 10711570Svbart@nginx.comthe bug had appeared in 1.18.0. 10721570Svbart@nginx.com</para> 10731570Svbart@nginx.com</change> 10741570Svbart@nginx.com 10751570Svbart@nginx.com<change type="bugfix"> 10761570Svbart@nginx.com<para> 10771570Svbart@nginx.comthe router process could crash at exit. 10781570Svbart@nginx.com</para> 10791570Svbart@nginx.com</change> 10801570Svbart@nginx.com 10811570Svbart@nginx.com<change type="bugfix"> 10821570Svbart@nginx.com<para> 10831570Svbart@nginx.comNode.js applications could crash at exit. 10841570Svbart@nginx.com</para> 10851570Svbart@nginx.com</change> 10861570Svbart@nginx.com 10871570Svbart@nginx.com<change type="bugfix"> 10881570Svbart@nginx.com<para> 10891570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 10901570Svbart@nginx.com</para> 10911570Svbart@nginx.com</change> 10921570Svbart@nginx.com 10931570Svbart@nginx.com</changes> 10941570Svbart@nginx.com 10951570Svbart@nginx.com 10961570Svbart@nginx.com<changes apply="unit-php 10971570Svbart@nginx.com unit-python unit-python2.7 10981570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10991570Svbart@nginx.com unit-python3.8 11001570Svbart@nginx.com unit-go 11011570Svbart@nginx.com unit-perl 11021570Svbart@nginx.com unit-ruby 11031570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11041491Svbart@nginx.com ver="1.18.0" rev="1" 11051491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 11061491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11071491Svbart@nginx.com 11081491Svbart@nginx.com<change> 11091491Svbart@nginx.com<para> 11101491Svbart@nginx.comNGINX Unit updated to 1.18.0. 11111491Svbart@nginx.com</para> 11121491Svbart@nginx.com</change> 11131491Svbart@nginx.com 11141491Svbart@nginx.com</changes> 11151491Svbart@nginx.com 11161491Svbart@nginx.com 11171491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 11181491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 11191491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11201491Svbart@nginx.com 11211491Svbart@nginx.com<change type="feature"> 11221491Svbart@nginx.com<para> 11231491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 11241491Svbart@nginx.com</para> 11251491Svbart@nginx.com</change> 11261491Svbart@nginx.com 11271491Svbart@nginx.com<change type="feature"> 11281491Svbart@nginx.com<para> 11291491Svbart@nginx.commultiple "targets" in PHP applications. 11301491Svbart@nginx.com</para> 11311491Svbart@nginx.com</change> 11321491Svbart@nginx.com 11331491Svbart@nginx.com<change type="feature"> 11341491Svbart@nginx.com<para> 11351491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 11361491Svbart@nginx.comand in the "pass" option. 11371491Svbart@nginx.com</para> 11381491Svbart@nginx.com</change> 11391491Svbart@nginx.com 11401491Svbart@nginx.com</changes> 11411491Svbart@nginx.com 11421491Svbart@nginx.com 11431491Svbart@nginx.com<changes apply="unit-php 11441491Svbart@nginx.com unit-python unit-python2.7 11451491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11461491Svbart@nginx.com unit-python3.8 11471491Svbart@nginx.com unit-go 11481491Svbart@nginx.com unit-perl 11491491Svbart@nginx.com unit-ruby 11501491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 11511460Svbart@nginx.com ver="1.17.0" rev="1" 11521460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 11531460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11541460Svbart@nginx.com 11551460Svbart@nginx.com<change> 11561460Svbart@nginx.com<para> 11571460Svbart@nginx.comNGINX Unit updated to 1.17.0. 11581460Svbart@nginx.com</para> 11591460Svbart@nginx.com</change> 11601460Svbart@nginx.com 11611460Svbart@nginx.com</changes> 11621460Svbart@nginx.com 11631460Svbart@nginx.com 11641460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 11651460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 11661460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11671460Svbart@nginx.com 11681460Svbart@nginx.com<change type="feature"> 11691460Svbart@nginx.com<para> 11701460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 11711460Svbart@nginx.comredirection. 11721460Svbart@nginx.com</para> 11731460Svbart@nginx.com</change> 11741460Svbart@nginx.com 11751460Svbart@nginx.com<change type="feature"> 11761460Svbart@nginx.com<para> 11771460Svbart@nginx.comfractional weights support for upstream servers. 11781460Svbart@nginx.com</para> 11791460Svbart@nginx.com</change> 11801460Svbart@nginx.com 11811460Svbart@nginx.com<change type="bugfix"> 11821460Svbart@nginx.com<para> 11831460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 11841460Svbart@nginx.comhigh load. 11851460Svbart@nginx.com</para> 11861460Svbart@nginx.com</change> 11871460Svbart@nginx.com 11881460Svbart@nginx.com<change type="bugfix"> 11891460Svbart@nginx.com<para> 11901460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 11911460Svbart@nginx.com</para> 11921460Svbart@nginx.com</change> 11931460Svbart@nginx.com 11941460Svbart@nginx.com<change type="bugfix"> 11951460Svbart@nginx.com<para> 11961460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 11971460Svbart@nginx.comopen connections limit. 11981460Svbart@nginx.com</para> 11991460Svbart@nginx.com</change> 12001460Svbart@nginx.com 12011460Svbart@nginx.com<change type="bugfix"> 12021460Svbart@nginx.com<para> 12031460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 12041460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 12051460Svbart@nginx.com</para> 12061460Svbart@nginx.com</change> 12071460Svbart@nginx.com 12081460Svbart@nginx.com<change type="bugfix"> 12091460Svbart@nginx.com<para> 12101460Svbart@nginx.comexisting application processes didn't reopen the log file. 12111460Svbart@nginx.com</para> 12121460Svbart@nginx.com</change> 12131460Svbart@nginx.com 12141460Svbart@nginx.com<change type="bugfix"> 12151460Svbart@nginx.com<para> 12161460Svbart@nginx.comincompatibility with some Node.js applications. 12171460Svbart@nginx.com</para> 12181460Svbart@nginx.com</change> 12191460Svbart@nginx.com 12201460Svbart@nginx.com<change type="bugfix"> 12211460Svbart@nginx.com<para> 12221460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 12231460Svbart@nginx.com</para> 12241460Svbart@nginx.com</change> 12251460Svbart@nginx.com 12261460Svbart@nginx.com</changes> 12271460Svbart@nginx.com 12281460Svbart@nginx.com 12291460Svbart@nginx.com<changes apply="unit-php 12301460Svbart@nginx.com unit-python unit-python2.7 12311460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12321460Svbart@nginx.com unit-python3.8 12331460Svbart@nginx.com unit-go 12341460Svbart@nginx.com unit-perl 12351460Svbart@nginx.com unit-ruby 12361460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 12371404Svbart@nginx.com ver="1.16.0" rev="1" 12381404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 12391404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12401404Svbart@nginx.com 12411404Svbart@nginx.com<change> 12421404Svbart@nginx.com<para> 12431404Svbart@nginx.comNGINX Unit updated to 1.16.0. 12441404Svbart@nginx.com</para> 12451404Svbart@nginx.com</change> 12461404Svbart@nginx.com 12471404Svbart@nginx.com</changes> 12481404Svbart@nginx.com 12491404Svbart@nginx.com 12501404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 12511404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 12521404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12531404Svbart@nginx.com 12541404Svbart@nginx.com<change type="feature"> 12551404Svbart@nginx.com<para> 12561404Svbart@nginx.combasic load-balancing support with round-robin. 12571404Svbart@nginx.com</para> 12581404Svbart@nginx.com</change> 12591404Svbart@nginx.com 12601404Svbart@nginx.com<change type="feature"> 12611404Svbart@nginx.com<para> 12621404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 12631404Svbart@nginx.comserved from the "share" directory. 12641404Svbart@nginx.com</para> 12651404Svbart@nginx.com</change> 12661404Svbart@nginx.com 12671404Svbart@nginx.com<change type="feature"> 12681404Svbart@nginx.com<para> 12691404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 12701404Svbart@nginx.com</para> 12711404Svbart@nginx.com</change> 12721404Svbart@nginx.com 12731404Svbart@nginx.com<change type="feature"> 12741404Svbart@nginx.com<para> 12751404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 12761404Svbart@nginx.com</para> 12771404Svbart@nginx.com</change> 12781404Svbart@nginx.com 12791404Svbart@nginx.com<change type="bugfix"> 12801404Svbart@nginx.com<para> 12811404Svbart@nginx.comnegative address matching in router might work improperly in combination with 12821404Svbart@nginx.comnon-negative patterns. 12831404Svbart@nginx.com</para> 12841404Svbart@nginx.com</change> 12851404Svbart@nginx.com 12861404Svbart@nginx.com<change type="bugfix"> 12871404Svbart@nginx.com<para> 12881404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 12891404Svbart@nginx.com</para> 12901404Svbart@nginx.com</change> 12911404Svbart@nginx.com 12921404Svbart@nginx.com<change type="bugfix"> 12931404Svbart@nginx.com<para> 12941404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 12951404Svbart@nginx.com</para> 12961404Svbart@nginx.com</change> 12971404Svbart@nginx.com 12981404Svbart@nginx.com<change type="bugfix"> 12991404Svbart@nginx.com<para> 13001404Svbart@nginx.comcompatibility issues with some Python applications. 13011404Svbart@nginx.com</para> 13021404Svbart@nginx.com</change> 13031404Svbart@nginx.com 13041404Svbart@nginx.com</changes> 13051404Svbart@nginx.com 13061404Svbart@nginx.com 13071404Svbart@nginx.com<changes apply="unit-php 13081404Svbart@nginx.com unit-python unit-python2.7 13091404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13101404Svbart@nginx.com unit-python3.8 13111404Svbart@nginx.com unit-go 13121404Svbart@nginx.com unit-perl 13131404Svbart@nginx.com unit-ruby 13141404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13151357Svbart@nginx.com ver="1.15.0" rev="1" 13161357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 13171357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13181357Svbart@nginx.com 13191357Svbart@nginx.com<change> 13201357Svbart@nginx.com<para> 13211357Svbart@nginx.comNGINX Unit updated to 1.15.0. 13221357Svbart@nginx.com</para> 13231357Svbart@nginx.com</change> 13241357Svbart@nginx.com 13251357Svbart@nginx.com</changes> 13261357Svbart@nginx.com 13271357Svbart@nginx.com 13281357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 13291357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 13301357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13311357Svbart@nginx.com 13321357Svbart@nginx.com<change type="change"> 13331357Svbart@nginx.com<para> 13341357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 13351357Svbart@nginx.com</para> 13361357Svbart@nginx.com</change> 13371357Svbart@nginx.com 13381357Svbart@nginx.com<change type="feature"> 13391357Svbart@nginx.com<para> 13401357Svbart@nginx.comcompatibility with Ruby 2.7. 13411357Svbart@nginx.com</para> 13421357Svbart@nginx.com</change> 13431357Svbart@nginx.com 13441357Svbart@nginx.com<change type="bugfix"> 13451357Svbart@nginx.com<para> 13461357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 13471357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 13481357Svbart@nginx.com</para> 13491357Svbart@nginx.com</change> 13501357Svbart@nginx.com 13511357Svbart@nginx.com<change type="bugfix"> 13521357Svbart@nginx.com<para> 13531357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 13541357Svbart@nginx.com</para> 13551357Svbart@nginx.com</change> 13561357Svbart@nginx.com 13571357Svbart@nginx.com</changes> 13581357Svbart@nginx.com 13591357Svbart@nginx.com 13601357Svbart@nginx.com<changes apply="unit-php 13611357Svbart@nginx.com unit-python unit-python2.7 13621357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13631357Svbart@nginx.com unit-python3.8 13641357Svbart@nginx.com unit-go 13651357Svbart@nginx.com unit-perl 13661357Svbart@nginx.com unit-ruby 13671357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 13681330Svbart@nginx.com ver="1.14.0" rev="1" 13691330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 13701330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13711330Svbart@nginx.com 13721330Svbart@nginx.com<change> 13731330Svbart@nginx.com<para> 13741330Svbart@nginx.comNGINX Unit updated to 1.14.0. 13751330Svbart@nginx.com</para> 13761330Svbart@nginx.com</change> 13771330Svbart@nginx.com 13781330Svbart@nginx.com</changes> 13791330Svbart@nginx.com 13801330Svbart@nginx.com 13811330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 13821330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 13831330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13841330Svbart@nginx.com 13851330Svbart@nginx.com<change type="change"> 13861330Svbart@nginx.com<para> 13871330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 13881330Svbart@nginx.com</para> 13891330Svbart@nginx.com</change> 13901330Svbart@nginx.com 13911330Svbart@nginx.com<change type="change"> 13921330Svbart@nginx.com<para> 13931330Svbart@nginx.comGo package now links to libunit instead of including library sources. 13941330Svbart@nginx.com</para> 13951330Svbart@nginx.com</change> 13961330Svbart@nginx.com 13971330Svbart@nginx.com<change type="feature"> 13981330Svbart@nginx.com<para> 13991330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 14001330Svbart@nginx.comruns as an unprivileged user. 14011330Svbart@nginx.com</para> 14021330Svbart@nginx.com</change> 14031330Svbart@nginx.com 14041330Svbart@nginx.com<change type="feature"> 14051330Svbart@nginx.com<para> 14061330Svbart@nginx.comrequest routing by source and destination addresses and ports. 14071330Svbart@nginx.com</para> 14081330Svbart@nginx.com</change> 14091330Svbart@nginx.com 14101330Svbart@nginx.com<change type="bugfix"> 14111330Svbart@nginx.com<para> 14121330Svbart@nginx.commemory bloat on large responses. 14131330Svbart@nginx.com</para> 14141330Svbart@nginx.com</change> 14151330Svbart@nginx.com 14161330Svbart@nginx.com</changes> 14171330Svbart@nginx.com 14181330Svbart@nginx.com 14191290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 14201290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 14211290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14221290Sdefan@nginx.com 14231290Sdefan@nginx.com<change> 14241290Sdefan@nginx.com<para> 14251290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit. 14261290Sdefan@nginx.com</para> 14271290Sdefan@nginx.com</change> 14281290Sdefan@nginx.com 14291290Sdefan@nginx.com</changes> 14301290Sdefan@nginx.com 14311290Sdefan@nginx.com 14321290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 14331290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 14341290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14351290Sdefan@nginx.com 14361290Sdefan@nginx.com<change> 14371290Sdefan@nginx.com<para> 14381290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 14391290Sdefan@nginx.com</para> 14401290Sdefan@nginx.com</change> 14411290Sdefan@nginx.com 14421290Sdefan@nginx.com</changes> 14431290Sdefan@nginx.com 14441290Sdefan@nginx.com 14451289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 14461289Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 14471289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14481289Sdefan@nginx.com 14491289Sdefan@nginx.com<change> 14501289Sdefan@nginx.com<para> 14511289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 14521289Sdefan@nginx.com</para> 14531289Sdefan@nginx.com</change> 14541289Sdefan@nginx.com 14551289Sdefan@nginx.com</changes> 14561289Sdefan@nginx.com 14571289Sdefan@nginx.com 14581185Svbart@nginx.com<changes apply="unit-php 14591185Svbart@nginx.com unit-python unit-python2.7 14601185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14611185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 14621185Svbart@nginx.com unit-perl 14631185Svbart@nginx.com unit-ruby 14641185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 14651284Svbart@nginx.com ver="1.13.0" rev="1" 14661284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 14671284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14681284Svbart@nginx.com 14691284Svbart@nginx.com<change> 14701284Svbart@nginx.com<para> 14711284Svbart@nginx.comNGINX Unit updated to 1.13.0. 14721284Svbart@nginx.com</para> 14731284Svbart@nginx.com</change> 14741284Svbart@nginx.com 14751284Svbart@nginx.com</changes> 14761284Svbart@nginx.com 14771284Svbart@nginx.com 14781284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 14791284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 14801284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14811284Svbart@nginx.com 14821284Svbart@nginx.com<change type="feature"> 14831284Svbart@nginx.com<para> 14841284Svbart@nginx.combasic support for HTTP reverse proxying. 14851284Svbart@nginx.com</para> 14861284Svbart@nginx.com</change> 14871284Svbart@nginx.com 14881284Svbart@nginx.com<change type="feature"> 14891284Svbart@nginx.com<para> 14901284Svbart@nginx.comcompatibility with Python 3.8. 14911284Svbart@nginx.com</para> 14921284Svbart@nginx.com</change> 14931284Svbart@nginx.com 14941284Svbart@nginx.com<change type="bugfix"> 14951284Svbart@nginx.com<para> 14961284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 14971284Svbart@nginx.com</para> 14981284Svbart@nginx.com</change> 14991284Svbart@nginx.com 15001284Svbart@nginx.com<change type="bugfix"> 15011284Svbart@nginx.com<para> 15021284Svbart@nginx.comthreads in Python applications might not work correctly. 15031284Svbart@nginx.com</para> 15041284Svbart@nginx.com</change> 15051284Svbart@nginx.com 15061284Svbart@nginx.com<change type="bugfix"> 15071284Svbart@nginx.com<para> 15081284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 15091284Svbart@nginx.com</para> 15101284Svbart@nginx.com</change> 15111284Svbart@nginx.com 15121284Svbart@nginx.com<change type="bugfix"> 15131284Svbart@nginx.com<para> 15141284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 15151284Svbart@nginx.comdelays. 15161284Svbart@nginx.com</para> 15171284Svbart@nginx.com</change> 15181284Svbart@nginx.com 15191284Svbart@nginx.com<change type="bugfix"> 15201284Svbart@nginx.com<para> 15211284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 15221284Svbart@nginx.com</para> 15231284Svbart@nginx.com</change> 15241284Svbart@nginx.com 15251284Svbart@nginx.com</changes> 15261284Svbart@nginx.com 15271284Svbart@nginx.com 15281284Svbart@nginx.com<changes apply="unit-php 15291284Svbart@nginx.com unit-python unit-python2.7 15301284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15311284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 15321284Svbart@nginx.com unit-perl 15331284Svbart@nginx.com unit-ruby 15341284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15351222Svbart@nginx.com ver="1.12.0" rev="1" 15361222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 15371222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15381222Svbart@nginx.com 15391222Svbart@nginx.com<change> 15401222Svbart@nginx.com<para> 15411222Svbart@nginx.comNGINX Unit updated to 1.12.0. 15421222Svbart@nginx.com</para> 15431222Svbart@nginx.com</change> 15441222Svbart@nginx.com 15451222Svbart@nginx.com</changes> 15461222Svbart@nginx.com 15471222Svbart@nginx.com 15481222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 15491222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 15501222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15511222Svbart@nginx.com 15521222Svbart@nginx.com<change type="feature"> 15531222Svbart@nginx.com<para> 15541222Svbart@nginx.comcompatibility with PHP 7.4. 15551222Svbart@nginx.com</para> 15561222Svbart@nginx.com</change> 15571222Svbart@nginx.com 15581222Svbart@nginx.com<change type="bugfix"> 15591222Svbart@nginx.com<para> 15601222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 15611222Svbart@nginx.com</para> 15621222Svbart@nginx.com</change> 15631222Svbart@nginx.com 15641222Svbart@nginx.com<change type="bugfix"> 15651222Svbart@nginx.com<para> 15661222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 15671222Svbart@nginx.com</para> 15681222Svbart@nginx.com</change> 15691222Svbart@nginx.com 15701222Svbart@nginx.com<change type="bugfix"> 15711222Svbart@nginx.com<para> 15721222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 15731222Svbart@nginx.com</para> 15741222Svbart@nginx.com</change> 15751222Svbart@nginx.com 15761222Svbart@nginx.com</changes> 15771222Svbart@nginx.com 15781222Svbart@nginx.com 15791222Svbart@nginx.com 15801222Svbart@nginx.com<changes apply="unit-php 15811222Svbart@nginx.com unit-python unit-python2.7 15821222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 15831222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 15841222Svbart@nginx.com unit-perl 15851222Svbart@nginx.com unit-ruby 15861222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15871185Svbart@nginx.com ver="1.11.0" rev="1" 15881185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 15891185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 15901185Svbart@nginx.com 15911185Svbart@nginx.com<change> 15921185Svbart@nginx.com<para> 15931185Svbart@nginx.comNGINX Unit updated to 1.11.0. 15941185Svbart@nginx.com</para> 15951185Svbart@nginx.com</change> 15961185Svbart@nginx.com 15971185Svbart@nginx.com</changes> 15981185Svbart@nginx.com 15991185Svbart@nginx.com 16001185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 16011185Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 16021185Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 16031185Svbart@nginx.com 16041185Svbart@nginx.com<change type="feature"> 16051185Svbart@nginx.com<para> 16061185Svbart@nginx.combasic support for serving static files. 16071185Svbart@nginx.com</para> 16081185Svbart@nginx.com</change> 16091185Svbart@nginx.com 16101185Svbart@nginx.com<change type="feature"> 16111185Svbart@nginx.com<para> 16121185Svbart@nginx.comisolation of application processes with Linux namespaces. 16131185Svbart@nginx.com</para> 16141185Svbart@nginx.com</change> 16151185Svbart@nginx.com 16161185Svbart@nginx.com<change type="feature"> 16171185Svbart@nginx.com<para> 16181185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 16191185Svbart@nginx.com</para> 16201185Svbart@nginx.com</change> 16211185Svbart@nginx.com 16221185Svbart@nginx.com<change type="feature"> 16231185Svbart@nginx.com<para> 16241185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 16251185Svbart@nginx.comusing URI encoding (%2F). 16261185Svbart@nginx.com</para> 16271185Svbart@nginx.com</change> 16281185Svbart@nginx.com 16291185Svbart@nginx.com<change type="bugfix"> 16301185Svbart@nginx.com<para> 16311185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 16321185Svbart@nginx.com</para> 16331185Svbart@nginx.com</change> 16341185Svbart@nginx.com 16351185Svbart@nginx.com<change type="bugfix"> 16361185Svbart@nginx.com<para> 16371185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 16381185Svbart@nginx.comGNU ld (e.g. gold or LLD). 16391185Svbart@nginx.com</para> 16401185Svbart@nginx.com</change> 16411185Svbart@nginx.com 16421185Svbart@nginx.com</changes> 16431185Svbart@nginx.com 16441185Svbart@nginx.com 16451142Sdefan@nginx.com<changes apply="unit 16461142Sdefan@nginx.com unit-php 16471142Sdefan@nginx.com unit-python unit-python2.7 16481142Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 16491142Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 16501142Sdefan@nginx.com unit-perl 16511142Sdefan@nginx.com unit-ruby 16521142Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 16531142Sdefan@nginx.com ver="1.10.0" rev="2" 16541142Sdefan@nginx.com date="2019-08-23" time="12:00:00 +0300" 16551142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16561142Sdefan@nginx.com 16571142Sdefan@nginx.com<change type="bugfix"> 16581142Sdefan@nginx.com<para> 16591142Sdefan@nginx.commissed header files added to unit development package. 16601142Sdefan@nginx.com</para> 16611142Sdefan@nginx.com</change> 16621142Sdefan@nginx.com 16631142Sdefan@nginx.com</changes> 16641142Sdefan@nginx.com 16651142Sdefan@nginx.com 16661134Svbart@nginx.com<changes apply="unit-php 16671134Svbart@nginx.com unit-python unit-python2.7 16681134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 16691134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 16701134Svbart@nginx.com unit-perl 16711134Svbart@nginx.com unit-ruby 16721134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 16731134Svbart@nginx.com ver="1.10.0" rev="1" 16741134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 16751134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16761134Svbart@nginx.com 16771134Svbart@nginx.com<change> 16781134Svbart@nginx.com<para> 16791134Svbart@nginx.comNGINX Unit updated to 1.10.0. 16801134Svbart@nginx.com</para> 16811134Svbart@nginx.com</change> 16821134Svbart@nginx.com 16831134Svbart@nginx.com</changes> 16841134Svbart@nginx.com 16851134Svbart@nginx.com 16861134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 16871134Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 16881134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16891134Svbart@nginx.com 16901134Svbart@nginx.com<change type="change"> 16911134Svbart@nginx.com<para> 16921134Svbart@nginx.commatching of cookies in routes made case sensitive. 16931134Svbart@nginx.com</para> 16941134Svbart@nginx.com</change> 16951134Svbart@nginx.com 16961134Svbart@nginx.com<change type="change"> 16971134Svbart@nginx.com<para> 16981134Svbart@nginx.comdecreased log level of common errors when clients close connections. 16991134Svbart@nginx.com</para> 17001134Svbart@nginx.com</change> 17011134Svbart@nginx.com 17021134Svbart@nginx.com<change type="change"> 17031134Svbart@nginx.com<para> 17041134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 17051134Svbart@nginx.com</para> 17061134Svbart@nginx.com</change> 17071134Svbart@nginx.com 17081134Svbart@nginx.com<change type="feature"> 17091134Svbart@nginx.com<para> 17101134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 17111134Svbart@nginx.com</para> 17121134Svbart@nginx.com</change> 17131134Svbart@nginx.com 17141134Svbart@nginx.com<change type="feature"> 17151134Svbart@nginx.com<para> 17161134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 17171134Svbart@nginx.com</para> 17181134Svbart@nginx.com</change> 17191134Svbart@nginx.com 17201134Svbart@nginx.com<change type="feature"> 17211134Svbart@nginx.com<para> 17221134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 17231134Svbart@nginx.com</para> 17241134Svbart@nginx.com</change> 17251134Svbart@nginx.com 17261134Svbart@nginx.com<change type="feature"> 17271134Svbart@nginx.com<para> 17281134Svbart@nginx.comsupport for multipart requests body in Java module. 17291134Svbart@nginx.com</para> 17301134Svbart@nginx.com</change> 17311134Svbart@nginx.com 17321134Svbart@nginx.com<change type="feature"> 17331134Svbart@nginx.com<para> 17341134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 17351134Svbart@nginx.com</para> 17361134Svbart@nginx.com</change> 17371134Svbart@nginx.com 17381134Svbart@nginx.com<change type="bugfix"> 17391134Svbart@nginx.com<para> 17401134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 17411134Svbart@nginx.com</para> 17421134Svbart@nginx.com</change> 17431134Svbart@nginx.com 17441134Svbart@nginx.com<change type="bugfix"> 17451134Svbart@nginx.com<para> 17461134Svbart@nginx.comapplying a large configuration might have failed. 17471134Svbart@nginx.com</para> 17481134Svbart@nginx.com</change> 17491134Svbart@nginx.com 17501134Svbart@nginx.com</changes> 17511134Svbart@nginx.com 17521134Svbart@nginx.com 17531069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 17541069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 17551069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17561069Svbart@nginx.com 17571069Svbart@nginx.com<change> 17581069Svbart@nginx.com<para> 17591069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 17601069Svbart@nginx.com</para> 17611069Svbart@nginx.com</change> 17621069Svbart@nginx.com 17631069Svbart@nginx.com</changes> 17641069Svbart@nginx.com 17651069Svbart@nginx.com 17661069Svbart@nginx.com<changes apply="unit-php 17671069Svbart@nginx.com unit-python unit-python2.7 17681069Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 17691069Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 17701069Svbart@nginx.com unit-perl 17711069Svbart@nginx.com unit-ruby 17721069Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 17731069Svbart@nginx.com ver="1.9.0" rev="1" 17741069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 17751069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17761069Svbart@nginx.com 17771069Svbart@nginx.com<change> 17781069Svbart@nginx.com<para> 17791069Svbart@nginx.comNGINX Unit updated to 1.9.0. 17801069Svbart@nginx.com</para> 17811069Svbart@nginx.com</change> 17821069Svbart@nginx.com 17831069Svbart@nginx.com</changes> 17841069Svbart@nginx.com 17851069Svbart@nginx.com 17861069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 17871069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 17881069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17891069Svbart@nginx.com 17901069Svbart@nginx.com<change type="feature"> 17911069Svbart@nginx.com<para> 17921069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 17931069Svbart@nginx.com</para> 17941069Svbart@nginx.com</change> 17951069Svbart@nginx.com 17961069Svbart@nginx.com<change type="feature"> 17971069Svbart@nginx.com<para> 17981069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 17991069Svbart@nginx.com</para> 18001069Svbart@nginx.com</change> 18011069Svbart@nginx.com 18021069Svbart@nginx.com<change type="feature"> 18031069Svbart@nginx.com<para> 18041069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 18051069Svbart@nginx.com</para> 18061069Svbart@nginx.com</change> 18071069Svbart@nginx.com 18081069Svbart@nginx.com<change type="feature"> 18091069Svbart@nginx.com<para> 18101069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 18111069Svbart@nginx.comon Linux without running main process as privileged user. 18121069Svbart@nginx.com</para> 18131069Svbart@nginx.com</change> 18141069Svbart@nginx.com 18151069Svbart@nginx.com<change type="bugfix"> 18161069Svbart@nginx.com<para> 18171069Svbart@nginx.commemory leak in the router process might have happened when a client 18181069Svbart@nginx.comprematurely closed the connection. 18191069Svbart@nginx.com</para> 18201069Svbart@nginx.com</change> 18211069Svbart@nginx.com 18221069Svbart@nginx.com<change type="bugfix"> 18231069Svbart@nginx.com<para> 18241069Svbart@nginx.comapplying a large configuration might have failed. 18251069Svbart@nginx.com</para> 18261069Svbart@nginx.com</change> 18271069Svbart@nginx.com 18281069Svbart@nginx.com<change type="bugfix"> 18291069Svbart@nginx.com<para> 18301069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 18311069Svbart@nginx.com</para> 18321069Svbart@nginx.com</change> 18331069Svbart@nginx.com 18341069Svbart@nginx.com<change type="bugfix"> 18351069Svbart@nginx.com<para> 18361069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 18371069Svbart@nginx.com</para> 18381069Svbart@nginx.com</change> 18391069Svbart@nginx.com 18401069Svbart@nginx.com<change type="bugfix"> 18411069Svbart@nginx.com<para> 18421069Svbart@nginx.comrestored compatibility with Node.js applications that use 18431069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 18441069Svbart@nginx.com</para> 18451069Svbart@nginx.com</change> 18461069Svbart@nginx.com 18471069Svbart@nginx.com<change type="bugfix"> 18481069Svbart@nginx.com<para> 18491069Svbart@nginx.comvarious compatibility issues with Node.js applications. 18501069Svbart@nginx.com</para> 18511069Svbart@nginx.com</change> 18521069Svbart@nginx.com 18531069Svbart@nginx.com</changes> 18541069Svbart@nginx.com 18551069Svbart@nginx.com 1856991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 1857991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1858991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1859991Svbart@nginx.com 1860991Svbart@nginx.com<change> 1861991Svbart@nginx.com<para> 1862991Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 1863991Svbart@nginx.com</para> 1864991Svbart@nginx.com</change> 1865991Svbart@nginx.com 1866991Svbart@nginx.com</changes> 1867991Svbart@nginx.com 1868991Svbart@nginx.com 1869991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 1870991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1871991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1872991Svbart@nginx.com 1873991Svbart@nginx.com<change> 1874991Svbart@nginx.com<para> 1875991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 1876991Svbart@nginx.com</para> 1877991Svbart@nginx.com</change> 1878991Svbart@nginx.com 1879991Svbart@nginx.com</changes> 1880991Svbart@nginx.com 1881991Svbart@nginx.com 1882991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 1883991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1884991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1885991Svbart@nginx.com 1886991Svbart@nginx.com<change> 1887991Svbart@nginx.com<para> 1888991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 1889991Svbart@nginx.com</para> 1890991Svbart@nginx.com</change> 1891991Svbart@nginx.com 1892991Svbart@nginx.com</changes> 1893991Svbart@nginx.com 1894991Svbart@nginx.com 1895991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 1896991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1897991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1898991Svbart@nginx.com 1899991Svbart@nginx.com<change> 1900991Svbart@nginx.com<para> 1901991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 1902991Svbart@nginx.com</para> 1903991Svbart@nginx.com</change> 1904991Svbart@nginx.com 1905991Svbart@nginx.com</changes> 1906991Svbart@nginx.com 1907991Svbart@nginx.com 1908991Svbart@nginx.com<changes apply="unit-php 1909991Svbart@nginx.com unit-python unit-python2.7 1910991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 1911991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 1912991Svbart@nginx.com unit-perl 1913991Svbart@nginx.com unit-ruby" 1914991Svbart@nginx.com ver="1.8.0" rev="1" 1915991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1916991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1917991Svbart@nginx.com 1918991Svbart@nginx.com<change> 1919991Svbart@nginx.com<para> 1920991Svbart@nginx.comNGINX Unit updated to 1.8.0. 1921991Svbart@nginx.com</para> 1922991Svbart@nginx.com</change> 1923991Svbart@nginx.com 1924991Svbart@nginx.com</changes> 1925991Svbart@nginx.com 1926991Svbart@nginx.com 1927991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 1928991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 1929991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 1930991Svbart@nginx.com 1931991Svbart@nginx.com<change type="change"> 1932991Svbart@nginx.com<para> 1933991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 1934991Svbart@nginx.comand patch versions. 1935991Svbart@nginx.com</para> 1936991Svbart@nginx.com</change> 1937991Svbart@nginx.com 1938991Svbart@nginx.com<change type="change"> 1939991Svbart@nginx.com<para> 1940991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 1941991Svbart@nginx.comthe query component. 1942991Svbart@nginx.com</para> 1943991Svbart@nginx.com</change> 1944991Svbart@nginx.com 1945991Svbart@nginx.com<change type="feature"> 1946991Svbart@nginx.com<para> 1947991Svbart@nginx.combasic internal request routing by Host, URI, and method. 1948991Svbart@nginx.com</para> 1949991Svbart@nginx.com</change> 1950991Svbart@nginx.com 1951991Svbart@nginx.com<change type="feature"> 1952991Svbart@nginx.com<para> 1953991Svbart@nginx.comexperimental support for Java Servlet Containers. 1954991Svbart@nginx.com</para> 1955991Svbart@nginx.com</change> 1956991Svbart@nginx.com 1957991Svbart@nginx.com<change type="bugfix"> 1958991Svbart@nginx.com<para> 1959991Svbart@nginx.comsegmentation fault might have occurred in the router process. 1960991Svbart@nginx.com</para> 1961991Svbart@nginx.com</change> 1962991Svbart@nginx.com 1963991Svbart@nginx.com<change type="bugfix"> 1964991Svbart@nginx.com<para> 1965991Svbart@nginx.comvarious potential memory leaks. 1966991Svbart@nginx.com</para> 1967991Svbart@nginx.com</change> 1968991Svbart@nginx.com 1969991Svbart@nginx.com<change type="bugfix"> 1970991Svbart@nginx.com<para> 1971991Svbart@nginx.comTLS connections might have stalled. 1972991Svbart@nginx.com</para> 1973991Svbart@nginx.com</change> 1974991Svbart@nginx.com 1975991Svbart@nginx.com<change type="bugfix"> 1976991Svbart@nginx.com<para> 1977991Svbart@nginx.comsome Perl applications might have failed to send the response body. 1978991Svbart@nginx.com</para> 1979991Svbart@nginx.com</change> 1980991Svbart@nginx.com 1981991Svbart@nginx.com<change type="bugfix"> 1982991Svbart@nginx.com<para> 1983991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 1984991Svbart@nginx.comthe bug had appeared in 1.5. 1985991Svbart@nginx.com</para> 1986991Svbart@nginx.com</change> 1987991Svbart@nginx.com 1988991Svbart@nginx.com<change type="bugfix"> 1989991Svbart@nginx.com<para> 1990991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 1991991Svbart@nginx.com</para> 1992991Svbart@nginx.com</change> 1993991Svbart@nginx.com 1994991Svbart@nginx.com</changes> 1995991Svbart@nginx.com 1996991Svbart@nginx.com 1997926Svbart@nginx.com<changes apply="unit-php 1998926Svbart@nginx.com unit-python unit-python2.7 1999926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2000926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2001926Svbart@nginx.com unit-perl 2002926Svbart@nginx.com unit-ruby" 2003926Svbart@nginx.com ver="1.7.1" rev="1" 2004926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 2005926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2006926Svbart@nginx.com 2007926Svbart@nginx.com<change> 2008926Svbart@nginx.com<para> 2009926Svbart@nginx.comNGINX Unit updated to 1.7.1. 2010926Svbart@nginx.com</para> 2011926Svbart@nginx.com</change> 2012926Svbart@nginx.com 2013926Svbart@nginx.com</changes> 2014926Svbart@nginx.com 2015926Svbart@nginx.com 2016926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 2017926Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 2018926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2019926Svbart@nginx.com 2020926Svbart@nginx.com<change type="security"> 2021926Svbart@nginx.com<para> 2022926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 2023926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 2024926Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 2025926Svbart@nginx.com</para> 2026926Svbart@nginx.com</change> 2027926Svbart@nginx.com 2028926Svbart@nginx.com<change type="bugfix"> 2029926Svbart@nginx.com<para> 2030926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 2031926Svbart@nginx.comthe bug had appeared in 1.7. 2032926Svbart@nginx.com</para> 2033926Svbart@nginx.com</change> 2034926Svbart@nginx.com 2035926Svbart@nginx.com</changes> 2036926Svbart@nginx.com 2037926Svbart@nginx.com 2038902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 2039902Sdefan@nginx.com date="2018-12-25" time="10:30:00 +0300" 2040902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2041902Sdefan@nginx.com 2042902Sdefan@nginx.com<change> 2043902Sdefan@nginx.com<para> 2044902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit. 2045902Sdefan@nginx.com</para> 2046902Sdefan@nginx.com</change> 2047902Sdefan@nginx.com 2048902Sdefan@nginx.com</changes> 2049902Sdefan@nginx.com 2050902Sdefan@nginx.com 2051821Svbart@nginx.com<changes apply="unit-php 2052821Svbart@nginx.com unit-python unit-python2.7 2053821Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2054821Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2055821Svbart@nginx.com unit-perl 2056821Svbart@nginx.com unit-ruby" 2057886Svbart@nginx.com ver="1.7" rev="1" 2058886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 2059886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2060886Svbart@nginx.com 2061886Svbart@nginx.com<change> 2062886Svbart@nginx.com<para> 2063886Svbart@nginx.comNGINX Unit updated to 1.7. 2064886Svbart@nginx.com</para> 2065886Svbart@nginx.com</change> 2066886Svbart@nginx.com 2067886Svbart@nginx.com</changes> 2068886Svbart@nginx.com 2069886Svbart@nginx.com 2070886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 2071886Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 2072886Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2073886Svbart@nginx.com 2074886Svbart@nginx.com<change type="change"> 2075886Svbart@nginx.com<para> 2076886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default 2077886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 2078886Svbart@nginx.com</para> 2079886Svbart@nginx.com</change> 2080886Svbart@nginx.com 2081886Svbart@nginx.com<change type="bugfix"> 2082886Svbart@nginx.com<para> 2083886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 2084886Svbart@nginx.comdid not work. 2085886Svbart@nginx.com</para> 2086886Svbart@nginx.com</change> 2087886Svbart@nginx.com 2088886Svbart@nginx.com<change type="bugfix"> 2089886Svbart@nginx.com<para> 2090886Svbart@nginx.comPromises on request data in Node.js were not triggered. 2091886Svbart@nginx.com</para> 2092886Svbart@nginx.com</change> 2093886Svbart@nginx.com 2094886Svbart@nginx.com<change type="bugfix"> 2095886Svbart@nginx.com<para> 2096886Svbart@nginx.comvarious compatibility issues with Node.js applications. 2097886Svbart@nginx.com</para> 2098886Svbart@nginx.com</change> 2099886Svbart@nginx.com 2100886Svbart@nginx.com<change type="bugfix"> 2101886Svbart@nginx.com<para> 2102886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 2103886Svbart@nginx.comrequest body after request.end() was called. 2104886Svbart@nginx.com</para> 2105886Svbart@nginx.com</change> 2106886Svbart@nginx.com 2107886Svbart@nginx.com<change type="bugfix"> 2108886Svbart@nginx.com<para> 2109886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 2110886Svbart@nginx.comsend header twice. 2111886Svbart@nginx.com</para> 2112886Svbart@nginx.com</change> 2113886Svbart@nginx.com 2114886Svbart@nginx.com<change type="bugfix"> 2115886Svbart@nginx.com<para> 2116886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 2117886Svbart@nginx.comcase-sensitive. 2118886Svbart@nginx.com</para> 2119886Svbart@nginx.com</change> 2120886Svbart@nginx.com 2121886Svbart@nginx.com<change type="bugfix"> 2122886Svbart@nginx.com<para> 2123886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 2124886Svbart@nginx.com</para> 2125886Svbart@nginx.com</change> 2126886Svbart@nginx.com 2127886Svbart@nginx.com<change type="bugfix"> 2128886Svbart@nginx.com<para> 2129886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 2130886Svbart@nginx.comthe bug had appeared in 1.6. 2131886Svbart@nginx.com</para> 2132886Svbart@nginx.com</change> 2133886Svbart@nginx.com 2134886Svbart@nginx.com<change type="bugfix"> 2135886Svbart@nginx.com<para> 2136886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 2137886Svbart@nginx.combe logged. 2138886Svbart@nginx.com</para> 2139886Svbart@nginx.com</change> 2140886Svbart@nginx.com 2141886Svbart@nginx.com<change type="bugfix"> 2142886Svbart@nginx.com<para> 2143886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 2144886Svbart@nginx.comenabled. 2145886Svbart@nginx.com</para> 2146886Svbart@nginx.com</change> 2147886Svbart@nginx.com 2148886Svbart@nginx.com</changes> 2149886Svbart@nginx.com 2150886Svbart@nginx.com 2151886Svbart@nginx.com<changes apply="unit-php 2152886Svbart@nginx.com unit-python unit-python2.7 2153886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2154886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2155886Svbart@nginx.com unit-perl 2156886Svbart@nginx.com unit-ruby" 2157846Svbart@nginx.com ver="1.6" rev="1" 2158846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2159846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2160846Svbart@nginx.com 2161846Svbart@nginx.com<change> 2162846Svbart@nginx.com<para> 2163846Svbart@nginx.comNGINX Unit updated to 1.6. 2164846Svbart@nginx.com</para> 2165846Svbart@nginx.com</change> 2166846Svbart@nginx.com 2167846Svbart@nginx.com</changes> 2168846Svbart@nginx.com 2169846Svbart@nginx.com 2170846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 2171846Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 2172846Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2173846Svbart@nginx.com 2174846Svbart@nginx.com<change type="change"> 2175846Svbart@nginx.com<para> 2176846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 2177846Svbart@nginx.com</para> 2178846Svbart@nginx.com</change> 2179846Svbart@nginx.com 2180846Svbart@nginx.com<change type="feature"> 2181846Svbart@nginx.com<para> 2182846Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 2183846Svbart@nginx.com</para> 2184846Svbart@nginx.com</change> 2185846Svbart@nginx.com 2186846Svbart@nginx.com<change type="bugfix"> 2187846Svbart@nginx.com<para> 2188846Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 2189846Svbart@nginx.com</para> 2190846Svbart@nginx.com</change> 2191846Svbart@nginx.com 2192846Svbart@nginx.com<change type="bugfix"> 2193846Svbart@nginx.com<para> 2194846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 2195846Svbart@nginx.com</para> 2196846Svbart@nginx.com</change> 2197846Svbart@nginx.com 2198846Svbart@nginx.com<change type="bugfix"> 2199846Svbart@nginx.com<para> 2200846Svbart@nginx.comvarious compatibility issues with Node.js applications. 2201846Svbart@nginx.com</para> 2202846Svbart@nginx.com</change> 2203846Svbart@nginx.com 2204846Svbart@nginx.com<change type="bugfix"> 2205846Svbart@nginx.com<para> 2206846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 2207846Svbart@nginx.com</para> 2208846Svbart@nginx.com</change> 2209846Svbart@nginx.com 2210846Svbart@nginx.com<change type="bugfix"> 2211846Svbart@nginx.com<para> 2212885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 2213846Svbart@nginx.com</para> 2214846Svbart@nginx.com</change> 2215846Svbart@nginx.com 2216846Svbart@nginx.com</changes> 2217846Svbart@nginx.com 2218846Svbart@nginx.com 2219846Svbart@nginx.com<changes apply="unit-php 2220846Svbart@nginx.com unit-python unit-python2.7 2221846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2222846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2223846Svbart@nginx.com unit-perl 2224846Svbart@nginx.com unit-ruby" 2225821Svbart@nginx.com ver="1.5" rev="1" 2226821Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2227821Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2228821Svbart@nginx.com 2229821Svbart@nginx.com<change> 2230821Svbart@nginx.com<para> 2231821Svbart@nginx.comNGINX Unit updated to 1.5. 2232821Svbart@nginx.com</para> 2233821Svbart@nginx.com</change> 2234821Svbart@nginx.com 2235821Svbart@nginx.com</changes> 2236821Svbart@nginx.com 2237821Svbart@nginx.com 2238820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 2239820Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 2240820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2241820Svbart@nginx.com 2242820Svbart@nginx.com<change type="change"> 2243820Svbart@nginx.com<para> 2244820Svbart@nginx.comthe "type" of application object for Go was changed to "external". 2245820Svbart@nginx.com</para> 2246820Svbart@nginx.com</change> 2247820Svbart@nginx.com 2248820Svbart@nginx.com<change type="feature"> 2249820Svbart@nginx.com<para> 2250820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 2251820Svbart@nginx.com</para> 2252820Svbart@nginx.com</change> 2253820Svbart@nginx.com 2254820Svbart@nginx.com<change type="feature"> 2255820Svbart@nginx.com<para> 2256820Svbart@nginx.comcompatibility with LibreSSL. 2257820Svbart@nginx.com</para> 2258820Svbart@nginx.com</change> 2259820Svbart@nginx.com 2260820Svbart@nginx.com<change type="feature"> 2261820Svbart@nginx.com<para> 2262820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 2263820Svbart@nginx.comand static library. 2264820Svbart@nginx.com</para> 2265820Svbart@nginx.com</change> 2266820Svbart@nginx.com 2267820Svbart@nginx.com<change type="bugfix"> 2268820Svbart@nginx.com<para> 2269820Svbart@nginx.comconnection might be closed prematurely while sending response; 2270820Svbart@nginx.comthe bug had appeared in 1.3. 2271820Svbart@nginx.com</para> 2272820Svbart@nginx.com</change> 2273820Svbart@nginx.com 2274820Svbart@nginx.com<change type="bugfix"> 2275820Svbart@nginx.com<para> 2276820Svbart@nginx.comapplication processes might have stopped handling requests, producing 2277820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 2278820Svbart@nginx.comthe bug had appeared in 1.4. 2279820Svbart@nginx.com</para> 2280820Svbart@nginx.com</change> 2281820Svbart@nginx.com 2282820Svbart@nginx.com<change type="bugfix"> 2283820Svbart@nginx.com<para> 2284885Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 2285820Svbart@nginx.com</para> 2286820Svbart@nginx.com</change> 2287820Svbart@nginx.com 2288820Svbart@nginx.com</changes> 2289820Svbart@nginx.com 2290820Svbart@nginx.com 2291689Svbart@nginx.com<changes apply="unit-php 2292689Svbart@nginx.com unit-python unit-python2.7 2293689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2294689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2295689Svbart@nginx.com unit-perl 2296689Svbart@nginx.com unit-ruby" 2297788Sdefan@nginx.com ver="1.4" rev="2" 2298788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2299788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2300788Sdefan@nginx.com 2301788Sdefan@nginx.com<change type="bugfix"> 2302788Sdefan@nginx.com<para> 2303788Sdefan@nginx.comcorrected instructions for launching sample application. 2304788Sdefan@nginx.com</para> 2305788Sdefan@nginx.com</change> 2306788Sdefan@nginx.com 2307788Sdefan@nginx.com</changes> 2308788Sdefan@nginx.com 2309788Sdefan@nginx.com 2310788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2" 2311788Sdefan@nginx.com date="2018-09-27" time="13:30:00 +0300" 2312788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2313788Sdefan@nginx.com 2314788Sdefan@nginx.com<change type="change"> 2315788Sdefan@nginx.com<para> 2316788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 2317788Sdefan@nginx.com</para> 2318788Sdefan@nginx.com</change> 2319788Sdefan@nginx.com 2320788Sdefan@nginx.com</changes> 2321788Sdefan@nginx.com 2322788Sdefan@nginx.com 2323788Sdefan@nginx.com<changes apply="unit-php 2324788Sdefan@nginx.com unit-python unit-python2.7 2325788Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2326788Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2327788Sdefan@nginx.com unit-perl 2328788Sdefan@nginx.com unit-ruby" 2329783Svbart@nginx.com ver="1.4" rev="1" 2330783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2331783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2332783Svbart@nginx.com 2333783Svbart@nginx.com<change> 2334783Svbart@nginx.com<para> 2335783Svbart@nginx.comNGINX Unit updated to 1.4. 2336783Svbart@nginx.com</para> 2337783Svbart@nginx.com</change> 2338783Svbart@nginx.com 2339783Svbart@nginx.com</changes> 2340783Svbart@nginx.com 2341783Svbart@nginx.com 2342783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1" 2343783Svbart@nginx.com date="2018-09-20" time="18:00:00 +0300" 2344783Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2345783Svbart@nginx.com 2346783Svbart@nginx.com<change type="change"> 2347783Svbart@nginx.com<para> 2348783Svbart@nginx.comthe control API maps the configuration object only at "/config/". 2349783Svbart@nginx.com</para> 2350783Svbart@nginx.com</change> 2351783Svbart@nginx.com 2352783Svbart@nginx.com<change type="feature"> 2353783Svbart@nginx.com<para> 2354783Svbart@nginx.comTLS support for client connections. 2355783Svbart@nginx.com</para> 2356783Svbart@nginx.com</change> 2357783Svbart@nginx.com 2358783Svbart@nginx.com<change type="feature"> 2359783Svbart@nginx.com<para> 2360783Svbart@nginx.comTLS certificates storage control API. 2361783Svbart@nginx.com</para> 2362783Svbart@nginx.com</change> 2363783Svbart@nginx.com 2364783Svbart@nginx.com<change type="feature"> 2365783Svbart@nginx.com<para> 2366783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 2367783Svbart@nginx.com</para> 2368783Svbart@nginx.com</change> 2369783Svbart@nginx.com 2370783Svbart@nginx.com<change type="feature"> 2371783Svbart@nginx.com<para> 2372783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 2373783Svbart@nginx.com</para> 2374783Svbart@nginx.com</change> 2375783Svbart@nginx.com 2376783Svbart@nginx.com<change type="feature"> 2377783Svbart@nginx.com<para> 2378783Svbart@nginx.comimprovements in OpenBSD support. 2379783Svbart@nginx.comThanks to David Carlier. 2380783Svbart@nginx.com</para> 2381783Svbart@nginx.com</change> 2382783Svbart@nginx.com 2383783Svbart@nginx.com<change type="bugfix"> 2384783Svbart@nginx.com<para> 2385783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 2386783Svbart@nginx.com</para> 2387783Svbart@nginx.com</change> 2388783Svbart@nginx.com 2389783Svbart@nginx.com<change type="bugfix"> 2390783Svbart@nginx.com<para> 2391783Svbart@nginx.combuilding on systems with non-default locale might be broken. 2392783Svbart@nginx.com</para> 2393783Svbart@nginx.com</change> 2394783Svbart@nginx.com 2395783Svbart@nginx.com<change type="bugfix"> 2396783Svbart@nginx.com<para> 2397783Svbart@nginx.com"header_read_timeout" might not work properly. 2398783Svbart@nginx.com</para> 2399783Svbart@nginx.com</change> 2400783Svbart@nginx.com 2401783Svbart@nginx.com<change type="bugfix"> 2402783Svbart@nginx.com<para> 2403783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 2404783Svbart@nginx.comin Python 3 module. 2405783Svbart@nginx.com</para> 2406783Svbart@nginx.com</change> 2407783Svbart@nginx.com 2408783Svbart@nginx.com</changes> 2409783Svbart@nginx.com 2410783Svbart@nginx.com 2411783Svbart@nginx.com<changes apply="unit-php 2412783Svbart@nginx.com unit-python unit-python2.7 2413783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2414783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2415783Svbart@nginx.com unit-perl 2416783Svbart@nginx.com unit-ruby" 2417727Svbart@nginx.com ver="1.3" rev="1" 2418727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2419727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2420727Svbart@nginx.com 2421727Svbart@nginx.com<change> 2422727Svbart@nginx.com<para> 2423727Svbart@nginx.comNGINX Unit updated to 1.3. 2424727Svbart@nginx.com</para> 2425727Svbart@nginx.com</change> 2426727Svbart@nginx.com 2427727Svbart@nginx.com</changes> 2428727Svbart@nginx.com 2429727Svbart@nginx.com 2430727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 2431727Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 2432727Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 2433727Svbart@nginx.com 2434727Svbart@nginx.com<change type="change"> 2435727Svbart@nginx.com<para> 2436727Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 2437727Svbart@nginx.com</para> 2438727Svbart@nginx.com</change> 2439727Svbart@nginx.com 2440727Svbart@nginx.com<change type="feature"> 2441727Svbart@nginx.com<para> 2442727Svbart@nginx.comconfiguration of the request body size limit. 2443727Svbart@nginx.com</para> 2444727Svbart@nginx.com</change> 2445727Svbart@nginx.com 2446727Svbart@nginx.com<change type="feature"> 2447727Svbart@nginx.com<para> 2448727Svbart@nginx.comconfiguration of various HTTP connection timeouts. 2449727Svbart@nginx.com</para> 2450727Svbart@nginx.com</change> 2451727Svbart@nginx.com 2452727Svbart@nginx.com<change type="feature"> 2453727Svbart@nginx.com<para> 2454727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 2455727Svbart@nginx.com</para> 2456727Svbart@nginx.com</change> 2457727Svbart@nginx.com 2458727Svbart@nginx.com<change type="feature"> 2459727Svbart@nginx.com<para> 2460727Svbart@nginx.comhttp.Flusher interface in Go module. 2461727Svbart@nginx.com</para> 2462727Svbart@nginx.com</change> 2463727Svbart@nginx.com 2464727Svbart@nginx.com<change type="bugfix"> 2465727Svbart@nginx.com<para> 2466727Svbart@nginx.comvarious issues in HTTP connection errors handling. 2467727Svbart@nginx.com</para> 2468727Svbart@nginx.com</change> 2469727Svbart@nginx.com 2470727Svbart@nginx.com<change type="bugfix"> 2471727Svbart@nginx.com<para> 2472727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 2473727Svbart@nginx.com</para> 2474727Svbart@nginx.com</change> 2475727Svbart@nginx.com 2476727Svbart@nginx.com<change type="bugfix"> 2477727Svbart@nginx.com<para> 2478727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 2479727Svbart@nginx.comto previous values after the first request in application process. 2480727Svbart@nginx.com</para> 2481727Svbart@nginx.com</change> 2482727Svbart@nginx.com 2483727Svbart@nginx.com</changes> 2484727Svbart@nginx.com 2485727Svbart@nginx.com 2486727Svbart@nginx.com<changes apply="unit-php 2487727Svbart@nginx.com unit-python unit-python2.7 2488727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2489727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2490727Svbart@nginx.com unit-perl 2491727Svbart@nginx.com unit-ruby" 2492689Svbart@nginx.com ver="1.2" rev="1" 2493689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2494689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2495689Svbart@nginx.com 2496689Svbart@nginx.com<change> 2497689Svbart@nginx.com<para> 2498689Svbart@nginx.comNGINX Unit updated to 1.2. 2499689Svbart@nginx.com</para> 2500689Svbart@nginx.com</change> 2501689Svbart@nginx.com 2502689Svbart@nginx.com</changes> 2503689Svbart@nginx.com 2504689Svbart@nginx.com 2505689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 2506689Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 2507689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2508689Svbart@nginx.com 2509689Svbart@nginx.com<change type="feature"> 2510689Svbart@nginx.com<para> 2511689Svbart@nginx.comconfiguration of environment variables for application processes. 2512689Svbart@nginx.com</para> 2513689Svbart@nginx.com</change> 2514689Svbart@nginx.com 2515689Svbart@nginx.com<change type="feature"> 2516689Svbart@nginx.com<para> 2517689Svbart@nginx.comcustomization of php.ini path. 2518689Svbart@nginx.com</para> 2519689Svbart@nginx.com</change> 2520689Svbart@nginx.com 2521689Svbart@nginx.com<change type="feature"> 2522689Svbart@nginx.com<para> 2523689Svbart@nginx.comsetting of individual PHP configuration options. 2524689Svbart@nginx.com</para> 2525689Svbart@nginx.com</change> 2526689Svbart@nginx.com 2527689Svbart@nginx.com<change type="feature"> 2528689Svbart@nginx.com<para> 2529689Svbart@nginx.comconfiguration of execution arguments for Go applications. 2530689Svbart@nginx.com</para> 2531689Svbart@nginx.com</change> 2532689Svbart@nginx.com 2533689Svbart@nginx.com<change type="bugfix"> 2534689Svbart@nginx.com<para> 2535689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 2536689Svbart@nginx.com</para> 2537689Svbart@nginx.com</change> 2538689Svbart@nginx.com 2539689Svbart@nginx.com</changes> 2540689Svbart@nginx.com 2541689Svbart@nginx.com 2542672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 2543672Sdefan@nginx.com date="2018-05-14" time="18:00:00 +0300" 2544672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2545672Sdefan@nginx.com 2546672Sdefan@nginx.com<change> 2547672Sdefan@nginx.com<para> 2548672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit. 2549672Sdefan@nginx.com</para> 2550672Sdefan@nginx.com</change> 2551672Sdefan@nginx.com 2552672Sdefan@nginx.com</changes> 2553672Sdefan@nginx.com 2554672Sdefan@nginx.com 2555548Sdefan@nginx.com<changes apply="unit-php 2556548Sdefan@nginx.com unit-python unit-python2.7 2557548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2558548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2559639Svbart@nginx.com unit-perl 2560639Svbart@nginx.com unit-ruby" 2561666Svbart@nginx.com ver="1.1" rev="1" 2562666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2563666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2564666Svbart@nginx.com 2565666Svbart@nginx.com<change> 2566666Svbart@nginx.com<para> 2567666Svbart@nginx.comNGINX Unit updated to 1.1. 2568666Svbart@nginx.com</para> 2569666Svbart@nginx.com</change> 2570666Svbart@nginx.com 2571666Svbart@nginx.com</changes> 2572666Svbart@nginx.com 2573666Svbart@nginx.com 2574666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 2575666Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 2576666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2577666Svbart@nginx.com 2578666Svbart@nginx.com<change type="bugfix"> 2579666Svbart@nginx.com<para> 2580666Svbart@nginx.comPython applications that use the write() callable did not work. 2581666Svbart@nginx.com</para> 2582666Svbart@nginx.com</change> 2583666Svbart@nginx.com 2584666Svbart@nginx.com<change type="bugfix"> 2585666Svbart@nginx.com<para> 2586666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 2587666Svbart@nginx.com</para> 2588666Svbart@nginx.com</change> 2589666Svbart@nginx.com 2590666Svbart@nginx.com<change type="bugfix"> 2591666Svbart@nginx.com<para> 2592666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 2593666Svbart@nginx.comwhen the whole body was read. 2594666Svbart@nginx.com</para> 2595666Svbart@nginx.com</change> 2596666Svbart@nginx.com 2597666Svbart@nginx.com<change type="bugfix"> 2598666Svbart@nginx.com<para> 2599666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 2600666Svbart@nginx.com</para> 2601666Svbart@nginx.com</change> 2602666Svbart@nginx.com 2603666Svbart@nginx.com<change type="bugfix"> 2604666Svbart@nginx.com<para> 2605666Svbart@nginx.comin parsing of IPv6 control socket addresses. 2606666Svbart@nginx.com</para> 2607666Svbart@nginx.com</change> 2608666Svbart@nginx.com 2609666Svbart@nginx.com<change type="bugfix"> 2610666Svbart@nginx.com<para> 2611666Svbart@nginx.comloading of application modules was broken on OpenBSD. 2612666Svbart@nginx.com</para> 2613666Svbart@nginx.com</change> 2614666Svbart@nginx.com 2615666Svbart@nginx.com<change type="bugfix"> 2616666Svbart@nginx.com<para> 2617666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 2618666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 2619666Svbart@nginx.com</para> 2620666Svbart@nginx.com</change> 2621666Svbart@nginx.com 2622666Svbart@nginx.com<change type="bugfix"> 2623666Svbart@nginx.com<para> 2624666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 2625666Svbart@nginx.comon 32-bit platforms. 2626666Svbart@nginx.com</para> 2627666Svbart@nginx.com</change> 2628666Svbart@nginx.com 2629666Svbart@nginx.com</changes> 2630666Svbart@nginx.com 2631666Svbart@nginx.com 2632666Svbart@nginx.com<changes apply="unit-php 2633666Svbart@nginx.com unit-python unit-python2.7 2634666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2635666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2636666Svbart@nginx.com unit-perl 2637666Svbart@nginx.com unit-ruby" 2638639Svbart@nginx.com ver="1.0" rev="1" 2639639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2640639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2641639Svbart@nginx.com 2642639Svbart@nginx.com<change> 2643639Svbart@nginx.com<para> 2644639Svbart@nginx.comNGINX Unit updated to 1.0. 2645639Svbart@nginx.com</para> 2646639Svbart@nginx.com</change> 2647639Svbart@nginx.com 2648639Svbart@nginx.com</changes> 2649639Svbart@nginx.com 2650639Svbart@nginx.com 2651639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 2652639Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 2653639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2654639Svbart@nginx.com 2655639Svbart@nginx.com<change type="change"> 2656639Svbart@nginx.com<para> 2657639Svbart@nginx.comconfiguration object moved into "/config/" path. 2658639Svbart@nginx.com</para> 2659639Svbart@nginx.com</change> 2660639Svbart@nginx.com 2661639Svbart@nginx.com<change type="feature"> 2662639Svbart@nginx.com<para> 2663639Svbart@nginx.combasic access logging. 2664639Svbart@nginx.com</para> 2665639Svbart@nginx.com</change> 2666639Svbart@nginx.com 2667639Svbart@nginx.com<change type="bugfix"> 2668639Svbart@nginx.com<para> 2669639Svbart@nginx.com503 error occurred if Go application did not write response header or body. 2670639Svbart@nginx.com</para> 2671639Svbart@nginx.com</change> 2672639Svbart@nginx.com 2673639Svbart@nginx.com<change type="bugfix"> 2674639Svbart@nginx.com<para> 2675663Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 2676639Svbart@nginx.com</para> 2677639Svbart@nginx.com</change> 2678639Svbart@nginx.com 2679639Svbart@nginx.com<change type="bugfix"> 2680639Svbart@nginx.com<para> 2681639Svbart@nginx.comvarious stability issues. 2682639Svbart@nginx.com</para> 2683639Svbart@nginx.com</change> 2684639Svbart@nginx.com 2685639Svbart@nginx.com</changes> 2686639Svbart@nginx.com 2687639Svbart@nginx.com 2688639Svbart@nginx.com<changes apply="unit-php 2689639Svbart@nginx.com unit-python unit-python2.7 2690639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2691639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2692548Sdefan@nginx.com unit-perl" 2693586Svbart@nginx.com ver="0.7" rev="1" 2694586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2695586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2696586Svbart@nginx.com 2697586Svbart@nginx.com<change> 2698586Svbart@nginx.com<para> 2699586Svbart@nginx.comNGINX Unit updated to 0.7. 2700586Svbart@nginx.com</para> 2701586Svbart@nginx.com</change> 2702586Svbart@nginx.com 2703586Svbart@nginx.com</changes> 2704586Svbart@nginx.com 2705586Svbart@nginx.com 2706600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 2707600Sdefan@nginx.com date="2018-04-02" time="15:40:00 +0300" 2708600Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2709600Sdefan@nginx.com 2710600Sdefan@nginx.com<change> 2711600Sdefan@nginx.com<para> 2712600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit. 2713600Sdefan@nginx.com</para> 2714600Sdefan@nginx.com</change> 2715600Sdefan@nginx.com 2716600Sdefan@nginx.com</changes> 2717600Sdefan@nginx.com 2718600Sdefan@nginx.com 2719586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 2720586Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 2721586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2722586Svbart@nginx.com 2723586Svbart@nginx.com<change type="feature"> 2724586Svbart@nginx.com<para> 2725586Svbart@nginx.comRuby application module. 2726586Svbart@nginx.com</para> 2727586Svbart@nginx.com</change> 2728586Svbart@nginx.com 2729586Svbart@nginx.com<change type="bugfix"> 2730586Svbart@nginx.com<para> 2731586Svbart@nginx.comin discovering modules. 2732586Svbart@nginx.com</para> 2733586Svbart@nginx.com</change> 2734586Svbart@nginx.com 2735586Svbart@nginx.com<change type="bugfix"> 2736586Svbart@nginx.com<para> 2737586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 2738586Svbart@nginx.com</para> 2739586Svbart@nginx.com</change> 2740586Svbart@nginx.com 2741586Svbart@nginx.com<change type="bugfix"> 2742586Svbart@nginx.com<para> 2743586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values. 2744586Svbart@nginx.com</para> 2745586Svbart@nginx.com</change> 2746586Svbart@nginx.com 2747586Svbart@nginx.com<change type="bugfix"> 2748586Svbart@nginx.com<para> 2749586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called 2750586Svbart@nginx.comoutside of WSGI callable. 2751586Svbart@nginx.com</para> 2752586Svbart@nginx.com</change> 2753586Svbart@nginx.com 2754586Svbart@nginx.com<change type="bugfix"> 2755586Svbart@nginx.com<para> 2756663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 2757663Svbart@nginx.comwhile initialization. 2758586Svbart@nginx.com</para> 2759586Svbart@nginx.com</change> 2760586Svbart@nginx.com 2761586Svbart@nginx.com</changes> 2762586Svbart@nginx.com 2763586Svbart@nginx.com 2764586Svbart@nginx.com<changes apply="unit-php 2765586Svbart@nginx.com unit-python unit-python2.7 2766586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2767586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 2768586Svbart@nginx.com unit-perl" 2769548Sdefan@nginx.com ver="0.6" rev="1" 2770539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2771539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2772539Svbart@nginx.com 2773539Svbart@nginx.com<change> 2774539Svbart@nginx.com<para> 2775539Svbart@nginx.comNGINX Unit updated to 0.6. 2776539Svbart@nginx.com</para> 2777539Svbart@nginx.com</change> 2778539Svbart@nginx.com 2779539Svbart@nginx.com</changes> 2780539Svbart@nginx.com 2781539Svbart@nginx.com 2782539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 2783539Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 2784539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2785539Svbart@nginx.com 2786539Svbart@nginx.com<change type="bugfix"> 2787539Svbart@nginx.com<para> 2788539Svbart@nginx.comthe main process died when the "type" application option contained version; 2789539Svbart@nginx.comthe bug had appeared in 0.5. 2790539Svbart@nginx.com</para> 2791539Svbart@nginx.com</change> 2792539Svbart@nginx.com 2793539Svbart@nginx.com</changes> 2794539Svbart@nginx.com 2795539Svbart@nginx.com 2796548Sdefan@nginx.com<changes apply="unit-php 2797548Sdefan@nginx.com unit-python unit-python2.7 2798548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2799548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2800548Sdefan@nginx.com ver="0.5" rev="1" 2801531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2802531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2803531Svbart@nginx.com 2804531Svbart@nginx.com<change> 2805531Svbart@nginx.com<para> 2806531Svbart@nginx.comNGINX Unit updated to 0.5. 2807531Svbart@nginx.com</para> 2808531Svbart@nginx.com</change> 2809531Svbart@nginx.com 2810531Svbart@nginx.com</changes> 2811531Svbart@nginx.com 2812531Svbart@nginx.com 2813524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 2814531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2815524Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2816524Sdefan@nginx.com 2817524Sdefan@nginx.com<change> 2818524Sdefan@nginx.com<para> 2819524Sdefan@nginx.comInitial release of Perl module for NGINX Unit. 2820524Sdefan@nginx.com</para> 2821524Sdefan@nginx.com</change> 2822524Sdefan@nginx.com 2823524Sdefan@nginx.com</changes> 2824524Sdefan@nginx.com 2825524Sdefan@nginx.com 2826531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 2827531Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 2828531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2829531Svbart@nginx.com 2830531Svbart@nginx.com<change type="change"> 2831531Svbart@nginx.com<para> 2832531Svbart@nginx.comthe "workers" application option was removed, the "processes" 2833531Svbart@nginx.comapplication option should be used instead. 2834531Svbart@nginx.com</para> 2835531Svbart@nginx.com</change> 2836531Svbart@nginx.com 2837531Svbart@nginx.com<change type="feature"> 2838531Svbart@nginx.com<para> 2839531Svbart@nginx.comthe "processes" application option with prefork and dynamic 2840531Svbart@nginx.comprocess management support. 2841531Svbart@nginx.com</para> 2842531Svbart@nginx.com</change> 2843531Svbart@nginx.com 2844531Svbart@nginx.com<change type="feature"> 2845531Svbart@nginx.com<para> 2846531Svbart@nginx.comPerl application module. 2847531Svbart@nginx.com</para> 2848531Svbart@nginx.com</change> 2849531Svbart@nginx.com 2850531Svbart@nginx.com<change type="bugfix"> 2851531Svbart@nginx.com<para> 2852531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3. 2853531Svbart@nginx.com</para> 2854531Svbart@nginx.com</change> 2855531Svbart@nginx.com 2856531Svbart@nginx.com<change type="bugfix"> 2857531Svbart@nginx.com<para> 2858663Svbart@nginx.comsome Python applications might not have worked due to missing 2859531Svbart@nginx.com"wsgi.errors" environ variable. 2860531Svbart@nginx.com</para> 2861531Svbart@nginx.com</change> 2862531Svbart@nginx.com 2863531Svbart@nginx.com<change type="bugfix"> 2864531Svbart@nginx.com<para> 2865531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 2866531Svbart@nginx.complatforms. 2867531Svbart@nginx.com</para> 2868531Svbart@nginx.com</change> 2869531Svbart@nginx.com 2870531Svbart@nginx.com<change type="bugfix"> 2871531Svbart@nginx.com<para> 2872531Svbart@nginx.cominfinite looping in HTTP parser. 2873531Svbart@nginx.com</para> 2874531Svbart@nginx.com</change> 2875531Svbart@nginx.com 2876531Svbart@nginx.com<change type="bugfix"> 2877531Svbart@nginx.com<para> 2878531Svbart@nginx.comsegmentation fault in router. 2879531Svbart@nginx.com</para> 2880531Svbart@nginx.com</change> 2881531Svbart@nginx.com 2882531Svbart@nginx.com</changes> 2883531Svbart@nginx.com 2884531Svbart@nginx.com 2885548Sdefan@nginx.com<changes apply="unit-php 2886548Sdefan@nginx.com unit-python unit-python2.7 2887548Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2888548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 2889548Sdefan@nginx.com ver="0.4" rev="1" 2890469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2891469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2892469Sigor@sysoev.ru 2893469Sigor@sysoev.ru<change> 2894469Sigor@sysoev.ru<para> 2895469Sigor@sysoev.ruNGINX Unit updated to 0.4. 2896469Sigor@sysoev.ru</para> 2897469Sigor@sysoev.ru</change> 2898469Sigor@sysoev.ru 2899469Sigor@sysoev.ru</changes> 2900469Sigor@sysoev.ru 2901469Sigor@sysoev.ru 2902469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1" 2903469Sigor@sysoev.ru date="2018-01-15" time="18:00:00 +0300" 2904469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2905469Sigor@sysoev.ru 2906469Sigor@sysoev.ru<change type="feature"> 2907469Sigor@sysoev.ru<para> 2908469Sigor@sysoev.rucompatibility with DragonFly BSD. 2909469Sigor@sysoev.ru</para> 2910469Sigor@sysoev.ru</change> 2911469Sigor@sysoev.ru 2912469Sigor@sysoev.ru<change type="feature"> 2913469Sigor@sysoev.ru<para> 2914469Sigor@sysoev.ru"configure php --lib-static" option. 2915469Sigor@sysoev.ru</para> 2916469Sigor@sysoev.ru</change> 2917469Sigor@sysoev.ru 2918469Sigor@sysoev.ru<change type="bugfix"> 2919469Sigor@sysoev.ru<para> 2920469Sigor@sysoev.ruHTTP request body was not passed to application; 2921469Sigor@sysoev.ruthe bug had appeared in 0.3. 2922469Sigor@sysoev.ru</para> 2923469Sigor@sysoev.ru</change> 2924469Sigor@sysoev.ru 2925469Sigor@sysoev.ru<change type="bugfix"> 2926469Sigor@sysoev.ru<para> 2927469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 2928469Sigor@sysoev.ruthe bug had appeared in 0.3. 2929469Sigor@sysoev.ru</para> 2930469Sigor@sysoev.ru</change> 2931469Sigor@sysoev.ru 2932469Sigor@sysoev.ru<change type="bugfix"> 2933469Sigor@sysoev.ru<para> 2934663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path. 2935469Sigor@sysoev.ru</para> 2936469Sigor@sysoev.ru</change> 2937469Sigor@sysoev.ru 2938469Sigor@sysoev.ru</changes> 2939469Sigor@sysoev.ru 2940469Sigor@sysoev.ru 2941441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1" 2942441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2943441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2944441Sdefan@nginx.com 2945441Sdefan@nginx.com<change> 2946441Sdefan@nginx.com<para> 2947441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit. 2948441Sdefan@nginx.com</para> 2949441Sdefan@nginx.com</change> 2950441Sdefan@nginx.com 2951441Sdefan@nginx.com</changes> 2952441Sdefan@nginx.com 2953441Sdefan@nginx.com 2954441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1" 2955441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 2956441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2957441Sdefan@nginx.com 2958441Sdefan@nginx.com<change> 2959441Sdefan@nginx.com<para> 2960441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit. 2961441Sdefan@nginx.com</para> 2962441Sdefan@nginx.com</change> 2963441Sdefan@nginx.com 2964441Sdefan@nginx.com</changes> 2965441Sdefan@nginx.com 2966441Sdefan@nginx.com 2967548Sdefan@nginx.com<changes apply="unit-php 2968548Sdefan@nginx.com unit-python unit-python2.7 unit-python3.4 unit-python3.5 2969548Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8" 2970548Sdefan@nginx.com ver="0.3" rev="1" 2971432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2972432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2973432Sigor@sysoev.ru 2974432Sigor@sysoev.ru<change> 2975432Sigor@sysoev.ru<para> 2976432Sigor@sysoev.ruNGINX Unit updated to 0.3. 2977432Sigor@sysoev.ru</para> 2978432Sigor@sysoev.ru</change> 2979432Sigor@sysoev.ru 2980432Sigor@sysoev.ru</changes> 2981432Sigor@sysoev.ru 2982432Sigor@sysoev.ru 2983432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1" 2984432Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 2985432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 2986432Sigor@sysoev.ru 2987432Sigor@sysoev.ru<change type="change"> 2988432Sigor@sysoev.ru<para> 2989432Sigor@sysoev.ruthe Go package name changed to "nginx/unit". 2990432Sigor@sysoev.ru</para> 2991432Sigor@sysoev.ru</change> 2992432Sigor@sysoev.ru 2993432Sigor@sysoev.ru<change type="change"> 2994432Sigor@sysoev.ru<para> 2995432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and 2996432Sigor@sysoev.rutime in queue now are not accounted. 2997432Sigor@sysoev.ru</para> 2998432Sigor@sysoev.ru</change> 2999432Sigor@sysoev.ru 3000432Sigor@sysoev.ru<change type="feature"> 3001432Sigor@sysoev.ru<para> 3002432Sigor@sysoev.ruthe "limits.requests" application option. 3003432Sigor@sysoev.ru</para> 3004432Sigor@sysoev.ru</change> 3005432Sigor@sysoev.ru 3006432Sigor@sysoev.ru<change type="feature"> 3007432Sigor@sysoev.ru<para> 3008432Sigor@sysoev.ruapplication request processing latency optimization. 3009432Sigor@sysoev.ru</para> 3010432Sigor@sysoev.ru</change> 3011432Sigor@sysoev.ru 3012432Sigor@sysoev.ru<change type="feature"> 3013432Sigor@sysoev.ru<para> 3014432Sigor@sysoev.ruHTTP keep-alive connections support. 3015432Sigor@sysoev.ru</para> 3016432Sigor@sysoev.ru</change> 3017432Sigor@sysoev.ru 3018432Sigor@sysoev.ru<change type="feature"> 3019432Sigor@sysoev.ru<para> 3020432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 3021432Sigor@sysoev.ru</para> 3022432Sigor@sysoev.ru</change> 3023432Sigor@sysoev.ru 3024432Sigor@sysoev.ru<change type="feature"> 3025432Sigor@sysoev.ru<para> 3026432Sigor@sysoev.ruPython atexit hook support. 3027432Sigor@sysoev.ru</para> 3028432Sigor@sysoev.ru</change> 3029432Sigor@sysoev.ru 3030432Sigor@sysoev.ru<change type="feature"> 3031432Sigor@sysoev.ru<para> 3032432Sigor@sysoev.ruvarious Go package improvements. 3033432Sigor@sysoev.ru</para> 3034432Sigor@sysoev.ru</change> 3035432Sigor@sysoev.ru 3036432Sigor@sysoev.ru<change type="bugfix"> 3037432Sigor@sysoev.ru<para> 3038432Sigor@sysoev.ruvarious crashes fixed. 3039432Sigor@sysoev.ru</para> 3040432Sigor@sysoev.ru</change> 3041432Sigor@sysoev.ru 3042432Sigor@sysoev.ru</changes> 3043432Sigor@sysoev.ru 3044432Sigor@sysoev.ru 3045372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1" 3046372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3047372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3048372Sdefan@nginx.com 3049372Sdefan@nginx.com<change> 3050372Sdefan@nginx.com<para> 3051372Sdefan@nginx.comInitial release of Go module for NGINX Unit. 3052372Sdefan@nginx.com</para> 3053372Sdefan@nginx.com</change> 3054372Sdefan@nginx.com 3055372Sdefan@nginx.com</changes> 3056372Sdefan@nginx.com 3057372Sdefan@nginx.com 3058373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1" 3059373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3060373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3061373Sdefan@nginx.com 3062373Sdefan@nginx.com<change> 3063373Sdefan@nginx.com<para> 3064373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit. 3065373Sdefan@nginx.com</para> 3066373Sdefan@nginx.com</change> 3067373Sdefan@nginx.com 3068373Sdefan@nginx.com</changes> 3069373Sdefan@nginx.com 3070373Sdefan@nginx.com 3071373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1" 3072373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3073373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3074373Sdefan@nginx.com 3075373Sdefan@nginx.com<change> 3076373Sdefan@nginx.com<para> 3077373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit. 3078373Sdefan@nginx.com</para> 3079373Sdefan@nginx.com</change> 3080373Sdefan@nginx.com 3081373Sdefan@nginx.com</changes> 3082373Sdefan@nginx.com 3083373Sdefan@nginx.com 3084372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 3085372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3086372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3087372Sdefan@nginx.com 3088372Sdefan@nginx.com<change> 3089372Sdefan@nginx.com<para> 3090372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 3091372Sdefan@nginx.com</para> 3092372Sdefan@nginx.com</change> 3093372Sdefan@nginx.com 3094372Sdefan@nginx.com</changes> 3095372Sdefan@nginx.com 3096372Sdefan@nginx.com 3097373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 3098373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3099373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3100373Sdefan@nginx.com 3101373Sdefan@nginx.com<change> 3102373Sdefan@nginx.com<para> 3103373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 3104373Sdefan@nginx.com</para> 3105373Sdefan@nginx.com</change> 3106373Sdefan@nginx.com 3107373Sdefan@nginx.com</changes> 3108373Sdefan@nginx.com 3109373Sdefan@nginx.com 3110373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 3111373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3112373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3113373Sdefan@nginx.com 3114373Sdefan@nginx.com<change> 3115373Sdefan@nginx.com<para> 3116373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 3117373Sdefan@nginx.com</para> 3118373Sdefan@nginx.com</change> 3119373Sdefan@nginx.com 3120373Sdefan@nginx.com</changes> 3121373Sdefan@nginx.com 3122373Sdefan@nginx.com 3123373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 3124373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3125373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3126373Sdefan@nginx.com 3127373Sdefan@nginx.com<change> 3128373Sdefan@nginx.com<para> 3129373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 3130373Sdefan@nginx.com</para> 3131373Sdefan@nginx.com</change> 3132373Sdefan@nginx.com 3133373Sdefan@nginx.com</changes> 3134373Sdefan@nginx.com 3135373Sdefan@nginx.com 3136372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 3137372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 3138372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3139372Sdefan@nginx.com 3140372Sdefan@nginx.com<change> 3141372Sdefan@nginx.com<para> 3142372Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 3143372Sdefan@nginx.com</para> 3144372Sdefan@nginx.com</change> 3145372Sdefan@nginx.com 3146372Sdefan@nginx.com</changes> 3147372Sdefan@nginx.com 3148372Sdefan@nginx.com 3149370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1" 3150370Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 3151370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3152370Sigor@sysoev.ru 3153370Sigor@sysoev.ru<change type="feature"> 3154370Sigor@sysoev.ru<para> 3155370Sigor@sysoev.ruconfiguration persistence. 3156370Sigor@sysoev.ru</para> 3157370Sigor@sysoev.ru</change> 3158370Sigor@sysoev.ru 3159370Sigor@sysoev.ru<change type="feature"> 3160370Sigor@sysoev.ru<para> 3161370Sigor@sysoev.ruimproved handling of configuration errors. 3162370Sigor@sysoev.ru</para> 3163370Sigor@sysoev.ru</change> 3164370Sigor@sysoev.ru 3165370Sigor@sysoev.ru<change type="feature"> 3166370Sigor@sysoev.ru<para> 3167370Sigor@sysoev.ruapplication "timeout" property. 3168370Sigor@sysoev.ru</para> 3169370Sigor@sysoev.ru</change> 3170370Sigor@sysoev.ru 3171370Sigor@sysoev.ru<change type="bugfix"> 3172370Sigor@sysoev.ru<para> 3173370Sigor@sysoev.ruPOST request for PHP were handled incorrectly. 3174370Sigor@sysoev.ru</para> 3175370Sigor@sysoev.ru</change> 3176370Sigor@sysoev.ru 3177370Sigor@sysoev.ru<change type="bugfix"> 3178370Sigor@sysoev.ru<para> 3179370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted. 3180370Sigor@sysoev.ru</para> 3181370Sigor@sysoev.ru</change> 3182370Sigor@sysoev.ru 3183370Sigor@sysoev.ru<change type="bugfix"> 3184370Sigor@sysoev.ru<para> 3185370Sigor@sysoev.ruthe router crashed under load. 3186370Sigor@sysoev.ru</para> 3187370Sigor@sysoev.ru</change> 3188370Sigor@sysoev.ru 3189370Sigor@sysoev.ru<change type="bugfix"> 3190370Sigor@sysoev.ru<para> 3191370Sigor@sysoev.rumemory leak in the router. 3192370Sigor@sysoev.ru</para> 3193370Sigor@sysoev.ru</change> 3194370Sigor@sysoev.ru 3195370Sigor@sysoev.ru</changes> 3196370Sigor@sysoev.ru 3197370Sigor@sysoev.ru 3198369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1" 3199369Sdefan@nginx.com date="2017-09-06" time="19:14:28 +0300" 3200369Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3201369Sdefan@nginx.com 3202369Sdefan@nginx.com<change> 3203369Sdefan@nginx.com<para> 3204369Sdefan@nginx.comFirst public release. 3205369Sdefan@nginx.com</para> 3206369Sdefan@nginx.com</change> 3207369Sdefan@nginx.com 3208369Sdefan@nginx.com</changes> 3209369Sdefan@nginx.com 3210369Sdefan@nginx.com 3211369Sdefan@nginx.com</change_log> 3212