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 82758Szelenkov@nginx.com<changes apply="unit-php 92758Szelenkov@nginx.com unit-python unit-python2.7 102758Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 112758Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 122758Szelenkov@nginx.com unit-python3.12 132758Szelenkov@nginx.com unit-go 142758Szelenkov@nginx.com unit-perl 152758Szelenkov@nginx.com unit-ruby 162758Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 172758Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18 182758Szelenkov@nginx.com unit-jsc19 unit-jsc20 unit-jsc21 192758Szelenkov@nginx.com unit-wasm" 202758Szelenkov@nginx.com ver="1.33.0" rev="1" 21*2764Szelenkov@nginx.com date="" time="" 222758Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 232758Szelenkov@nginx.com 242758Szelenkov@nginx.com<change> 252758Szelenkov@nginx.com<para> 262758Szelenkov@nginx.comNGINX Unit updated to 1.33.0. 272758Szelenkov@nginx.com</para> 282758Szelenkov@nginx.com</change> 292758Szelenkov@nginx.com 302758Szelenkov@nginx.com</changes> 312758Szelenkov@nginx.com 322758Szelenkov@nginx.com 332758Szelenkov@nginx.com<changes apply="unit" ver="1.33.0" rev="1" 342758Szelenkov@nginx.com date="" time="" 35*2764Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 362758Szelenkov@nginx.com 372758Szelenkov@nginx.com</changes> 382762Szelenkov@nginx.com 392762Szelenkov@nginx.com 402762Szelenkov@nginx.com<changes apply="unit-jsc21" ver="1.32.0" rev="1" 412762Szelenkov@nginx.com date="2023-10-17" time="16:00:00 -0700" 422762Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 432762Szelenkov@nginx.com 442762Szelenkov@nginx.com<change> 452762Szelenkov@nginx.com<para> 462762Szelenkov@nginx.comInitial release of Java 21 module for NGINX Unit. 472762Szelenkov@nginx.com</para> 482762Szelenkov@nginx.com</change> 492762Szelenkov@nginx.com 502758Szelenkov@nginx.com</changes> 512758Szelenkov@nginx.com 522758Szelenkov@nginx.com 532636Sthresh@nginx.com<changes apply="unit-python3.12" ver="1.32.0" rev="1" 542636Sthresh@nginx.com date="2023-10-17" time="16:00:00 -0700" 552636Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 562636Sthresh@nginx.com 572636Sthresh@nginx.com<change> 582636Sthresh@nginx.com<para> 592636Sthresh@nginx.comInitial release of Python 3.12 module for NGINX Unit. 602636Sthresh@nginx.com</para> 612636Sthresh@nginx.com</change> 622636Sthresh@nginx.com 632636Sthresh@nginx.com</changes> 642636Sthresh@nginx.com 652636Sthresh@nginx.com 662636Sthresh@nginx.com<changes apply="unit-php 672636Sthresh@nginx.com unit-python unit-python2.7 682636Sthresh@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 692636Sthresh@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 702636Sthresh@nginx.com unit-python3.12 712636Sthresh@nginx.com unit-go 722636Sthresh@nginx.com unit-perl 732636Sthresh@nginx.com unit-ruby 742636Sthresh@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 752636Sthresh@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18 762636Sthresh@nginx.com unit-jsc19 unit-jsc20 unit-jsc21 772636Sthresh@nginx.com unit-wasm" 782636Sthresh@nginx.com ver="1.32.0" rev="1" 792029Svbart@nginx.com date="2024-02-27" time="18:00:00 +0000" 802029Svbart@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 812029Svbart@nginx.com 822334Szelenkov@nginx.com<change> 832636Sthresh@nginx.com<para> 842334Szelenkov@nginx.comNGINX Unit updated to 1.32.0. 852334Szelenkov@nginx.com</para> 862334Szelenkov@nginx.com</change> 872334Szelenkov@nginx.com 882334Szelenkov@nginx.com 892636Sthresh@nginx.com</changes> 902523Sthresh@nginx.com 912588Szelenkov@nginx.com 922707Szelenkov@nginx.com<changes apply="unit" ver="1.32.0" rev="1" 932588Szelenkov@nginx.com date="2024-02-27" time="18:00:00 +0000" 942588Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 952588Szelenkov@nginx.com 962588Szelenkov@nginx.com<change type="feature"> 972588Szelenkov@nginx.com<para> 982588Szelenkov@nginx.comWebAssembly Components using WASI interfaces defined in wasi:http/proxy@0.2.0. 992588Szelenkov@nginx.com</para> 1002588Szelenkov@nginx.com</change> 1012705Szelenkov@nginx.com 1022705Szelenkov@nginx.com<change type="feature"> 1032705Szelenkov@nginx.com<para> 1042705Szelenkov@nginx.comconditional access logging. 1052705Szelenkov@nginx.com</para> 1062707Szelenkov@nginx.com</change> 1072705Szelenkov@nginx.com 1082705Szelenkov@nginx.com<change type="feature"> 1092705Szelenkov@nginx.com<para> 1102705Szelenkov@nginx.comNJS variables access. 1112705Szelenkov@nginx.com</para> 1122642Sg.javorszky@f5.com</change> 1132642Sg.javorszky@f5.com 1142642Sg.javorszky@f5.com<change type="feature"> 1152590Szelenkov@nginx.com<para> 1162590Szelenkov@nginx.com$request_id variable contains a string that is formed using random data and 1172626Sz.hong@f5.comcan be used as a unique request identifier. 1182626Sz.hong@f5.com</para> 1192626Sz.hong@f5.com</change> 1202626Sz.hong@f5.com 1212626Sz.hong@f5.com<change type="feature"> 1222626Sz.hong@f5.com<para> 1232658Sz.hong@f5.comoptions to set control socket permissions. 1242658Sz.hong@f5.com</para> 1252658Sz.hong@f5.com</change> 1262658Sz.hong@f5.com 1272658Sz.hong@f5.com<change type="feature"> 1282658Sz.hong@f5.com<para> 1292590Szelenkov@nginx.comRuby arrays in response headers, improving compatibility with Rack v3.0. 1302590Szelenkov@nginx.com</para> 1312590Szelenkov@nginx.com</change> 1322590Szelenkov@nginx.com 1332590Szelenkov@nginx.com<change type="feature"> 1342598Szelenkov@nginx.com<para> 1352598Szelenkov@nginx.comPython bytearray response bodies for ASGI applications. 1362705Szelenkov@nginx.com</para> 1372705Szelenkov@nginx.com</change> 1382705Szelenkov@nginx.com 1392705Szelenkov@nginx.com<change type="bugfix"> 1402705Szelenkov@nginx.com<para> 1412705Szelenkov@nginx.comrouter could crash while sending large files. Thanks to rustedsword. 1422705Szelenkov@nginx.com</para> 1432674Szelenkov@nginx.com</change> 1442674Szelenkov@nginx.com 1452674Szelenkov@nginx.com<change type="bugfix"> 1462674Szelenkov@nginx.com<para> 1472674Szelenkov@nginx.comserving static files from a network filesystem could lead to error. 1482705Szelenkov@nginx.com</para> 1492705Szelenkov@nginx.com</change> 1502705Szelenkov@nginx.com 1512705Szelenkov@nginx.com<change type="bugfix"> 1522705Szelenkov@nginx.com<para> 1532705Szelenkov@nginx.com"uidmap" and "gidmap" isolation options validation. 1542705Szelenkov@nginx.com</para> 1552705Szelenkov@nginx.com</change> 1562705Szelenkov@nginx.com 1572705Szelenkov@nginx.com<change type="bugfix"> 1582705Szelenkov@nginx.com<para> 1592705Szelenkov@nginx.comabstract UNIX socket name could be corrupted during configuration validation. 1602705Szelenkov@nginx.comThanks to Alejandro Colomar. 1612705Szelenkov@nginx.com</para> 1622705Szelenkov@nginx.com</change> 1632705Szelenkov@nginx.com 1642705Szelenkov@nginx.com<change type="bugfix"> 1652705Szelenkov@nginx.com<para> 1662705Szelenkov@nginx.comHTTP header field value encoding could be misinterpreted in Python module. 1672705Szelenkov@nginx.com</para> 1682705Szelenkov@nginx.com</change> 1692705Szelenkov@nginx.com 1702705Szelenkov@nginx.com<change type="bugfix"> 1712705Szelenkov@nginx.com<para> 1722705Szelenkov@nginx.comNode.js http.createServer() accepts and ignores the "options" argument, 1732705Szelenkov@nginx.comimproving compatibility with strapi applications, among others. 1742705Szelenkov@nginx.com</para> 1752705Szelenkov@nginx.com</change> 1762705Szelenkov@nginx.com 1772705Szelenkov@nginx.com<change type="bugfix"> 1782705Szelenkov@nginx.com<para> 1792705Szelenkov@nginx.comServerRequest.flushHeaders() implemented in Node.js module to make it compatible 1802705Szelenkov@nginx.comwith Next.js. 1812705Szelenkov@nginx.com</para> 1822705Szelenkov@nginx.com</change> 1832705Szelenkov@nginx.com 1842705Szelenkov@nginx.com<change type="bugfix"> 1852705Szelenkov@nginx.com<para> 1862705Szelenkov@nginx.comServerRequest.httpVersion variable format in Node.js module. 1872705Szelenkov@nginx.com</para> 1882705Szelenkov@nginx.com</change> 1892705Szelenkov@nginx.com 1902705Szelenkov@nginx.com<change type="bugfix"> 1912705Szelenkov@nginx.com<para> 1922598Szelenkov@nginx.comNode.js module handles standard library imports prefixed with "node:", making it 1932598Szelenkov@nginx.compossible to run newer Nuxt applications, among others. 1942598Szelenkov@nginx.com</para> 1952598Szelenkov@nginx.com</change> 1962598Szelenkov@nginx.com 1972623Szelenkov@nginx.com<change type="bugfix"> 1982623Szelenkov@nginx.com<para> 1992623Szelenkov@nginx.comNode.js tarball location changed to avoid build/install errors. 2002623Szelenkov@nginx.com</para> 2012623Szelenkov@nginx.com</change> 2022623Szelenkov@nginx.com 2032705Szelenkov@nginx.com<change type="bugfix"> 2042705Szelenkov@nginx.com<para> 2052705Szelenkov@nginx.comGo module sets environment variables necessary for building on macOS/arm64 2062705Szelenkov@nginx.comsystems. 2072705Szelenkov@nginx.com</para> 2082705Szelenkov@nginx.com</change> 2092705Szelenkov@nginx.com 2102705Szelenkov@nginx.com</changes> 2112705Szelenkov@nginx.com 2122705Szelenkov@nginx.com<changes apply="unit-php 2132705Szelenkov@nginx.com unit-python unit-python2.7 2142705Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2152705Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 2162705Szelenkov@nginx.com unit-go 2172705Szelenkov@nginx.com unit-perl 2182705Szelenkov@nginx.com unit-ruby 2192705Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 2202705Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18 2212705Szelenkov@nginx.com unit-jsc19 unit-jsc20 2222588Szelenkov@nginx.com unit-wasm" 2232588Szelenkov@nginx.com ver="1.31.1" rev="1" 2242588Szelenkov@nginx.com date="2023-10-19" time="18:00:00 +0300" 2252588Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 2262588Szelenkov@nginx.com 2272588Szelenkov@nginx.com<change> 2282588Szelenkov@nginx.com<para> 2292588Szelenkov@nginx.comNGINX Unit updated to 1.31.1. 2302588Szelenkov@nginx.com</para> 2312588Szelenkov@nginx.com</change> 2322588Szelenkov@nginx.com 2332588Szelenkov@nginx.com</changes> 2342588Szelenkov@nginx.com 2352588Szelenkov@nginx.com 2362580Szelenkov@nginx.com<changes apply="unit" ver="1.31.1" rev="1" 2372582Szelenkov@nginx.com date="2023-10-19" time="18:00:00 +0300" 2382551Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 2392551Szelenkov@nginx.com 2402551Szelenkov@nginx.com<change type="feature"> 2412551Szelenkov@nginx.com<para> 2422580Szelenkov@nginx.comallow to set the HTTP response status in Wasm module. 2432551Szelenkov@nginx.com</para> 2442551Szelenkov@nginx.com</change> 2452551Szelenkov@nginx.com 2462551Szelenkov@nginx.com<change type="feature"> 2472551Szelenkov@nginx.com<para> 2482551Szelenkov@nginx.comallow uploads larger than 4GiB in Wasm module. 2492580Szelenkov@nginx.com</para> 2502582Szelenkov@nginx.com</change> 2512551Szelenkov@nginx.com 2522551Szelenkov@nginx.com<change type="bugfix"> 2532581Szelenkov@nginx.com<para> 2542581Szelenkov@nginx.comapplication process could crash while rewriting URLs with query strings. 2552581Szelenkov@nginx.com</para> 2562581Szelenkov@nginx.com</change> 2572581Szelenkov@nginx.com 2582581Szelenkov@nginx.com<change type="bugfix"> 2592581Szelenkov@nginx.com<para> 2602581Szelenkov@nginx.comrequests larger than about 64MiB could cause error in Wasm module. 2612581Szelenkov@nginx.com</para> 2622581Szelenkov@nginx.com</change> 2632581Szelenkov@nginx.com 2642581Szelenkov@nginx.com<change type="bugfix"> 2652581Szelenkov@nginx.com<para> 2662581Szelenkov@nginx.comwhen using many headers in Java module some of them could be 2672581Szelenkov@nginx.comcorrupted due to memory realocation issue. 2682581Szelenkov@nginx.com</para> 2692581Szelenkov@nginx.com</change> 2702581Szelenkov@nginx.com 2712581Szelenkov@nginx.com<change type="bugfix"> 2722581Szelenkov@nginx.com<para> 2732581Szelenkov@nginx.comServerRequest.destroy() implemented in Node.js module to make it compatible 2742581Szelenkov@nginx.comwith some frameworks that might use it. 2752581Szelenkov@nginx.com</para> 2762581Szelenkov@nginx.com</change> 2772581Szelenkov@nginx.com 2782581Szelenkov@nginx.com<change type="bugfix"> 2792581Szelenkov@nginx.com<para> 2802581Szelenkov@nginx.comchunk argument of ServerResponse.write() can now be a Uint8Array to improve 2812581Szelenkov@nginx.comcompatibility with Node.js 15.0.0 and above. 2822581Szelenkov@nginx.com</para> 2832581Szelenkov@nginx.com</change> 2842581Szelenkov@nginx.com 2852581Szelenkov@nginx.com<change type="bugfix"> 2862581Szelenkov@nginx.com<para> 2872581Szelenkov@nginx.comNode.JS unit-http NPM module now has appropriate default paths for macOS/arm64 2882581Szelenkov@nginx.comsystems. 2892581Szelenkov@nginx.com</para> 2902581Szelenkov@nginx.com</change> 2912581Szelenkov@nginx.com 2922581Szelenkov@nginx.com<change type="bugfix"> 2932581Szelenkov@nginx.com<para> 2942581Szelenkov@nginx.combuild on musl libc with clang. 2952581Szelenkov@nginx.com</para> 2962581Szelenkov@nginx.com</change> 2972581Szelenkov@nginx.com 2982581Szelenkov@nginx.com</changes> 2992581Szelenkov@nginx.com 3002705Szelenkov@nginx.com 3012705Szelenkov@nginx.com<changes apply="unit-php 3022581Szelenkov@nginx.com unit-python unit-python2.7 3032581Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3042581Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 3052581Szelenkov@nginx.com unit-go 3062581Szelenkov@nginx.com unit-perl 3072581Szelenkov@nginx.com unit-ruby 3082581Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 3092581Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18 3102581Szelenkov@nginx.com unit-jsc19 unit-jsc20 3112551Szelenkov@nginx.com unit-wasm" 3122551Szelenkov@nginx.com ver="1.31.0" rev="1" 3132551Szelenkov@nginx.com date="2023-08-31" time="18:00:00 +0300" 3142551Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 3152551Szelenkov@nginx.com 3162551Szelenkov@nginx.com<change> 3172551Szelenkov@nginx.com<para> 3182551Szelenkov@nginx.comNGINX Unit updated to 1.31.0. 3192551Szelenkov@nginx.com</para> 3202551Szelenkov@nginx.com</change> 3212551Szelenkov@nginx.com 3222551Szelenkov@nginx.com</changes> 3232551Szelenkov@nginx.com 3242551Szelenkov@nginx.com 3252474Szelenkov@nginx.com<changes apply="unit" ver="1.31.0" rev="1" 3262545Szelenkov@nginx.com date="2023-08-31" time="18:00:00 +0300" 3272474Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 3282474Szelenkov@nginx.com 3292474Szelenkov@nginx.com<change type="change"> 3302474Szelenkov@nginx.com<para> 3312474Szelenkov@nginx.comif building with njs, version 0.8.0 or later is now required. 3322474Szelenkov@nginx.com</para> 3332474Szelenkov@nginx.com</change> 3342474Szelenkov@nginx.com 3352474Szelenkov@nginx.com<change type="feature"> 3362474Szelenkov@nginx.com<para> 3372474Szelenkov@nginx.comtechnology preview of WebAssembly application module. 3382474Szelenkov@nginx.com</para> 3392545Szelenkov@nginx.com</change> 3402474Szelenkov@nginx.com 3412474Szelenkov@nginx.com<change type="feature"> 3422503Sz.hong@f5.com<para> 3432503Sz.hong@f5.com"response_headers" option to manage headers in the action and fallback. 3442543Szelenkov@nginx.com</para> 3452503Sz.hong@f5.com</change> 3462503Sz.hong@f5.com 3472503Sz.hong@f5.com<change type="feature"> 3482505Sz.hong@f5.com<para> 3492505Sz.hong@f5.comHTTP response header variables. 3502544Szelenkov@nginx.com</para> 3512544Szelenkov@nginx.com</change> 3522544Szelenkov@nginx.com 3532544Szelenkov@nginx.com<change type="feature"> 3542544Szelenkov@nginx.com<para> 3552544Szelenkov@nginx.comASGI lifespan state support. Thanks to synodriver. 3562544Szelenkov@nginx.com</para> 3572544Szelenkov@nginx.com</change> 3582544Szelenkov@nginx.com 3592544Szelenkov@nginx.com<change type="bugfix"> 3602544Szelenkov@nginx.com<para> 3612544Szelenkov@nginx.comensure that $uri variable is not cached. 3622544Szelenkov@nginx.com</para> 3632512Sz.hong@f5.com</change> 3642512Sz.hong@f5.com 3652512Sz.hong@f5.com<change type="bugfix"> 3662512Sz.hong@f5.com<para> 3672512Sz.hong@f5.comdeprecated options were unavailable. 3682543Szelenkov@nginx.com</para> 3692505Sz.hong@f5.com</change> 3702505Sz.hong@f5.com 3712505Sz.hong@f5.com<change type="bugfix"> 3722474Szelenkov@nginx.com<para> 3732474Szelenkov@nginx.comASGI applications inaccessible over IPv6. 3742489Sz.hong@f5.com</para> 3752489Sz.hong@f5.com</change> 3762489Sz.hong@f5.com 3772489Sz.hong@f5.com</changes> 3782489Sz.hong@f5.com 3792489Sz.hong@f5.com 3802474Szelenkov@nginx.com<changes apply="unit-wasm" ver="1.31.0" rev="1" 3812474Szelenkov@nginx.com date="2023-08-14" time="15:00:00 -0700" 3822474Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 3832474Szelenkov@nginx.com 3842474Szelenkov@nginx.com<change> 3852474Szelenkov@nginx.com<para> 3862474Szelenkov@nginx.comInitial release of WASM module for NGINX Unit. 3872474Szelenkov@nginx.com</para> 3882474Szelenkov@nginx.com</change> 3892474Szelenkov@nginx.com 3902474Szelenkov@nginx.com</changes> 3912474Szelenkov@nginx.com 3922474Szelenkov@nginx.com 3932523Sthresh@nginx.com<changes apply="unit-php 3942523Sthresh@nginx.com unit-python unit-python2.7 3952523Sthresh@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 3962523Sthresh@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 3972523Sthresh@nginx.com unit-go 3982523Sthresh@nginx.com unit-perl 3992523Sthresh@nginx.com unit-ruby 4002523Sthresh@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 4012523Sthresh@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18 4022523Sthresh@nginx.com unit-jsc19 unit-jsc20" 4032523Sthresh@nginx.com ver="1.30.0" rev="1" 4042523Sthresh@nginx.com date="2023-05-10" time="18:00:00 +0300" 4052523Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 4062474Szelenkov@nginx.com 4072474Szelenkov@nginx.com<change> 4082474Szelenkov@nginx.com<para> 4092474Szelenkov@nginx.comNGINX Unit updated to 1.30.0. 4102474Szelenkov@nginx.com</para> 4112474Szelenkov@nginx.com</change> 4122474Szelenkov@nginx.com 4132474Szelenkov@nginx.com</changes> 4142474Szelenkov@nginx.com 4152474Szelenkov@nginx.com 4162289Szelenkov@nginx.com<changes apply="unit-jsc20" ver="1.30.0" rev="1" 4172461Szelenkov@nginx.com date="2023-05-03" time="15:00:00 -0700" 4182289Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 4192289Szelenkov@nginx.com 4202289Szelenkov@nginx.com<change> 4212289Szelenkov@nginx.com<para> 4222289Szelenkov@nginx.comInitial release of Java 20 module for NGINX Unit. 4232289Szelenkov@nginx.com</para> 4242289Szelenkov@nginx.com</change> 4252289Szelenkov@nginx.com 4262289Szelenkov@nginx.com</changes> 4272289Szelenkov@nginx.com 4282289Szelenkov@nginx.com 4292452Sthresh@nginx.com<changes apply="unit" ver="1.30.0" rev="1" 4302452Sthresh@nginx.com date="2023-05-10" time="18:00:00 +0300" 4312452Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 4322452Sthresh@nginx.com 4332452Sthresh@nginx.com<change type="change"> 4342452Sthresh@nginx.com<para> 4352452Sthresh@nginx.comremove Unix domain listen sockets upon reconfiguration. 4362452Sthresh@nginx.com</para> 4372452Sthresh@nginx.com</change> 4382452Sthresh@nginx.com 4392452Sthresh@nginx.com<change type="feature"> 4402452Sthresh@nginx.com<para> 4412452Sthresh@nginx.combasic URI rewrite support. 4422289Szelenkov@nginx.com</para> 4432461Szelenkov@nginx.com</change> 4442289Szelenkov@nginx.com 4452289Szelenkov@nginx.com<change type="feature"> 4462460Szelenkov@nginx.com<para> 4472460Szelenkov@nginx.comNJS loadable modules support. 4482460Szelenkov@nginx.com</para> 4492460Szelenkov@nginx.com</change> 4502460Szelenkov@nginx.com 4512460Szelenkov@nginx.com<change type="feature"> 4522304Sz.hong@f5.com<para> 4532304Sz.hong@f5.comper-application logging. 4542448Sz.hong@f5.com</para> 4552448Sz.hong@f5.com</change> 4562448Sz.hong@f5.com 4572448Sz.hong@f5.com<change type="feature"> 4582448Sz.hong@f5.com<para> 4592448Sz.hong@f5.comconditional logging of route selection. 4602460Szelenkov@nginx.com</para> 4612450Sz.hong@f5.com</change> 4622450Sz.hong@f5.com 4632450Sz.hong@f5.com<change type="feature"> 4642450Sz.hong@f5.com<para> 4652450Sz.hong@f5.comsupport the keys API on the request objects in NJS. 4662460Szelenkov@nginx.com</para> 4672460Szelenkov@nginx.com</change> 4682460Szelenkov@nginx.com 4692460Szelenkov@nginx.com<change type="feature"> 4702460Szelenkov@nginx.com<para> 4712460Szelenkov@nginx.comdefault values for 'make install' pathnames such as prefix; 4722460Szelenkov@nginx.comthis allows to './configure && make && sudo make install'. 4732381Salx@nginx.com</para> 4742381Salx@nginx.com</change> 4752381Salx@nginx.com 4762381Salx@nginx.com<change type="feature"> 4772381Salx@nginx.com<para> 4782304Sz.hong@f5.com"server_version" setting to omit the version token from "Server" header field. 4792304Sz.hong@f5.com</para> 4802304Sz.hong@f5.com</change> 4812304Sz.hong@f5.com 4822314Salx.manpages@gmail.com<change type="bugfix"> 4832314Salx.manpages@gmail.com<para> 4842460Szelenkov@nginx.comrequest header field values could be corrupted in some cases; the bug had 4852460Szelenkov@nginx.comappeared in 1.29.0. 4862460Szelenkov@nginx.com</para> 4872460Szelenkov@nginx.com</change> 4882460Szelenkov@nginx.com 4892460Szelenkov@nginx.com<change type="bugfix"> 4902460Szelenkov@nginx.com<para> 4912460Szelenkov@nginx.comPHP error handling (added missing 403 and 404 errors). 4922460Szelenkov@nginx.com</para> 4932460Szelenkov@nginx.com</change> 4942460Szelenkov@nginx.com 4952460Szelenkov@nginx.com<change type="bugfix"> 4962460Szelenkov@nginx.com<para> 4972460Szelenkov@nginx.comPerl applications crash on second responder call. 4982460Szelenkov@nginx.com</para> 4992314Salx.manpages@gmail.com</change> 5002314Salx.manpages@gmail.com 5012314Salx.manpages@gmail.com</changes> 5022318Sz.hong@f5.com 5032318Sz.hong@f5.com 5042367Szelenkov@nginx.com<changes apply="unit-php 5052367Szelenkov@nginx.com unit-python unit-python2.7 5062367Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5072367Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 5082460Szelenkov@nginx.com unit-go 5092460Szelenkov@nginx.com unit-perl 5102460Szelenkov@nginx.com unit-ruby 5112460Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 5122460Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18 5132460Szelenkov@nginx.com unit-jsc19" 5142367Szelenkov@nginx.com ver="1.29.1" rev="1" 5152367Szelenkov@nginx.com date="2023-02-28" time="18:00:00 +0300" 5162367Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 5172367Szelenkov@nginx.com 5182367Szelenkov@nginx.com<change> 5192367Szelenkov@nginx.com<para> 5202367Szelenkov@nginx.comNGINX Unit updated to 1.29.1. 5212367Szelenkov@nginx.com</para> 5222367Szelenkov@nginx.com</change> 5232367Szelenkov@nginx.com 5242367Szelenkov@nginx.com</changes> 5252367Szelenkov@nginx.com 5262367Szelenkov@nginx.com 5272334Szelenkov@nginx.com<changes apply="unit" ver="1.29.1" rev="1" 5282361Szelenkov@nginx.com date="2023-02-28" time="18:00:00 +0300" 5292334Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 5302334Szelenkov@nginx.com 5312334Szelenkov@nginx.com<change type="bugfix"> 5322334Szelenkov@nginx.com<para> 5332334Szelenkov@nginx.comstop creating world-writeable directories. 5342334Szelenkov@nginx.com</para> 5352334Szelenkov@nginx.com</change> 5362334Szelenkov@nginx.com 5372360Szelenkov@nginx.com<change type="bugfix"> 5382360Szelenkov@nginx.com<para> 5392360Szelenkov@nginx.commemory leak related to NJS. 5402360Szelenkov@nginx.com</para> 5412361Szelenkov@nginx.com</change> 5422360Szelenkov@nginx.com 5432360Szelenkov@nginx.com<change type="bugfix"> 5442345Sz.hong@f5.com<para> 5452345Sz.hong@f5.compath parsing in PHP applications. 5462359Szelenkov@nginx.com</para> 5472359Szelenkov@nginx.com</change> 5482359Szelenkov@nginx.com 5492359Szelenkov@nginx.com<change type="bugfix"> 5502359Szelenkov@nginx.com<para> 5512359Szelenkov@nginx.comenabled UTF-8 for Python config by default to avoid applications failing 5522345Sz.hong@f5.comin some cases. 5532345Sz.hong@f5.com</para> 5542345Sz.hong@f5.com</change> 5552345Sz.hong@f5.com 5562359Szelenkov@nginx.com<change type="bugfix"> 5572359Szelenkov@nginx.com<para> 5582359Szelenkov@nginx.comusing asyncio.get_running_loop() instead of asyncio.get_event_loop() 5592359Szelenkov@nginx.comwhen it's available to prevent errors in some Python ASGI applications. 5602359Szelenkov@nginx.com</para> 5612359Szelenkov@nginx.com</change> 5622359Szelenkov@nginx.com 5632359Szelenkov@nginx.com<change type="bugfix"> 5642359Szelenkov@nginx.com<para> 5652359Szelenkov@nginx.comapplications that make use of various low level APIs such as pthreads could 5662359Szelenkov@nginx.comfail to work correctly. 5672359Szelenkov@nginx.com</para> 5682359Szelenkov@nginx.com</change> 5692359Szelenkov@nginx.com 5702359Szelenkov@nginx.com<change type="bugfix"> 5712359Szelenkov@nginx.com<para> 5722359Szelenkov@nginx.comwebsocket endianness detection for obscure operating systems. 5732359Szelenkov@nginx.com</para> 5742359Szelenkov@nginx.com</change> 5752359Szelenkov@nginx.com 5762359Szelenkov@nginx.com</changes> 5772359Szelenkov@nginx.com 5782359Szelenkov@nginx.com 5792359Szelenkov@nginx.com<changes apply="unit-php 5802359Szelenkov@nginx.com unit-python unit-python2.7 5812359Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 5822359Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 unit-python3.11 5832359Szelenkov@nginx.com unit-go 5842359Szelenkov@nginx.com unit-perl 5852359Szelenkov@nginx.com unit-ruby 5862359Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 5872359Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18 5882359Szelenkov@nginx.com unit-jsc19" 5892334Szelenkov@nginx.com ver="1.29.0" rev="1" 5902334Szelenkov@nginx.com date="2022-12-15" time="18:00:00 +0300" 5912334Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 5922334Szelenkov@nginx.com 5932334Szelenkov@nginx.com<change> 5942334Szelenkov@nginx.com<para> 5952335Sthresh@nginx.comNGINX Unit updated to 1.29.0. 5962029Svbart@nginx.com</para> 5972029Svbart@nginx.com</change> 5982029Svbart@nginx.com 5992029Svbart@nginx.com</changes> 6002255Sthresh@nginx.com 6012255Sthresh@nginx.com 6022202Szelenkov@nginx.com<changes apply="unit-jsc19" ver="1.29.0" rev="1" 6032282Szelenkov@nginx.com date="2022-11-18" time="15:00:00 +0400" 6042202Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 6052202Szelenkov@nginx.com 6062202Szelenkov@nginx.com<change> 6072202Szelenkov@nginx.com<para> 6082202Szelenkov@nginx.comInitial release of Java 19 module for NGINX Unit. 6092202Szelenkov@nginx.com</para> 6102202Szelenkov@nginx.com</change> 6112202Szelenkov@nginx.com 6122202Szelenkov@nginx.com</changes> 6132202Szelenkov@nginx.com 6142202Szelenkov@nginx.com 6152255Sthresh@nginx.com<changes apply="unit-python3.11" ver="1.29.0" rev="1" 6162255Sthresh@nginx.com date="2022-12-15" time="08:00:00 -0800" 6172255Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 6182255Sthresh@nginx.com 6192255Sthresh@nginx.com<change> 6202255Sthresh@nginx.com<para> 6212255Sthresh@nginx.comInitial release of Python 3.11 module for NGINX Unit. 6222255Sthresh@nginx.com</para> 6232255Sthresh@nginx.com</change> 6242255Sthresh@nginx.com 6252255Sthresh@nginx.com</changes> 6262255Sthresh@nginx.com 6272255Sthresh@nginx.com 6282335Sthresh@nginx.com<changes apply="unit" ver="1.29.0" rev="1" 6292335Sthresh@nginx.com date="2022-12-15" time="18:00:00 +0300" 6302335Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 6312335Sthresh@nginx.com 6322335Sthresh@nginx.com<change type="change"> 6332335Sthresh@nginx.com<para> 6342335Sthresh@nginx.comremoved $uri auto-append for "share" when loading configuration. 6352335Sthresh@nginx.com</para> 6362335Sthresh@nginx.com</change> 6372335Sthresh@nginx.com 6382335Sthresh@nginx.com<change type="change"> 6392335Sthresh@nginx.com<para> 6402335Sthresh@nginx.comprefer system crypto policy instead of hardcoding a default. 6412202Szelenkov@nginx.com</para> 6422282Szelenkov@nginx.com</change> 6432202Szelenkov@nginx.com 6442202Szelenkov@nginx.com<change type="feature"> 6452220Sz.hong@f5.com<para> 6462220Sz.hong@f5.comnjs support with the basic syntax of JS template literals. 6472220Sz.hong@f5.com</para> 6482220Sz.hong@f5.com</change> 6492220Sz.hong@f5.com 6502220Sz.hong@f5.com<change type="feature"> 6512223Sremi@remirepo.net<para> 6522223Sremi@remirepo.netsupport per-application cgroups on Linux. 6532281Szelenkov@nginx.com</para> 6542281Szelenkov@nginx.com</change> 6552281Szelenkov@nginx.com 6562281Szelenkov@nginx.com<change type="feature"> 6572281Szelenkov@nginx.com<para> 6582281Szelenkov@nginx.comthe $request_time variable contains the request processing time. 6592281Szelenkov@nginx.com</para> 6602223Sremi@remirepo.net</change> 6612223Sremi@remirepo.net 6622223Sremi@remirepo.net<change type="feature"> 6632209Sz.hong@f5.com<para> 6642209Sz.hong@f5.com"prefix" option in Python applications to set WSGI "SCRIPT_NAME" 6652262Sa.clayton@nginx.comand ASGI root-path variables. 6662262Sa.clayton@nginx.com</para> 6672262Sa.clayton@nginx.com</change> 6682262Sa.clayton@nginx.com 6692262Sa.clayton@nginx.com<change type="feature"> 6702262Sa.clayton@nginx.com<para> 6712281Szelenkov@nginx.comcompatibility with Python 3.11. 6722251Sa.clayton@nginx.com</para> 6732251Sa.clayton@nginx.com</change> 6742251Sa.clayton@nginx.com 6752251Sa.clayton@nginx.com<change type="feature"> 6762251Sa.clayton@nginx.com<para> 6772281Szelenkov@nginx.comcompatibility with OpenSSL 3. 6782281Szelenkov@nginx.com</para> 6792281Szelenkov@nginx.com</change> 6802281Szelenkov@nginx.com 6812281Szelenkov@nginx.com<change type="feature"> 6822281Szelenkov@nginx.com<para> 6832281Szelenkov@nginx.comcompatibility with PHP 8.2. 6842281Szelenkov@nginx.com</para> 6852247Sz.hong@f5.com</change> 6862247Sz.hong@f5.com 6872247Sz.hong@f5.com<change type="feature"> 6882247Sz.hong@f5.com<para> 6892247Sz.hong@f5.comcompatibility with Node.js 19.0. 6902224Sremi@remirepo.net</para> 6912224Sremi@remirepo.net</change> 6922224Sremi@remirepo.net 6932224Sremi@remirepo.net<change type="feature"> 6942224Sremi@remirepo.net<para> 6952224Sremi@remirepo.netRuby Rack v3 support. 6962218Sremi@remirepo.net</para> 6972218Sremi@remirepo.net</change> 6982218Sremi@remirepo.net 6992218Sremi@remirepo.net<change type="bugfix"> 7002218Sremi@remirepo.net<para> 7012218Sremi@remirepo.netfix error in connection statistics when using proxy. 7022252Szelenkov@nginx.com</para> 7032252Szelenkov@nginx.com</change> 7042252Szelenkov@nginx.com 7052252Szelenkov@nginx.com<change type="bugfix"> 7062252Szelenkov@nginx.com<para> 7072252Szelenkov@nginx.comfix HTTP cookie parsing when the value contains an equals sign. 7082281Szelenkov@nginx.com</para> 7092281Szelenkov@nginx.com</change> 7102281Szelenkov@nginx.com 7112281Szelenkov@nginx.com<change type="bugfix"> 7122281Szelenkov@nginx.com<para> 7132281Szelenkov@nginx.comPHP directory URLs without a trailing '/' would give a 503 error (fixed with 7142281Szelenkov@nginx.coma 301 re-direct). 7152273Sjeff.iadarola@gmail.com</para> 7162273Sjeff.iadarola@gmail.com</change> 7172273Sjeff.iadarola@gmail.com 7182203Sz.hong@f5.com<change type="bugfix"> 7192203Sz.hong@f5.com<para> 7202203Sz.hong@f5.commissing error checks in the C API. 7212203Sz.hong@f5.com</para> 7222203Sz.hong@f5.com</change> 7232203Sz.hong@f5.com 7242204Sz.hong@f5.com<change type="bugfix"> 7252204Sz.hong@f5.com<para> 7262281Szelenkov@nginx.comreport the regex status in configure summary. 7272281Szelenkov@nginx.com</para> 7282204Sz.hong@f5.com</change> 7292204Sz.hong@f5.com 7302204Sz.hong@f5.com</changes> 7312230Sa.clayton@nginx.com 7322230Sa.clayton@nginx.com 7332281Szelenkov@nginx.com<changes apply="unit-php 7342281Szelenkov@nginx.com unit-python unit-python2.7 7352281Szelenkov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 7362281Szelenkov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 7372281Szelenkov@nginx.com unit-go 7382281Szelenkov@nginx.com unit-perl 7392281Szelenkov@nginx.com unit-ruby 7402230Sa.clayton@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 7412230Sa.clayton@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 7422230Sa.clayton@nginx.com ver="1.28.0" rev="1" 7432202Szelenkov@nginx.com date="2022-09-13" time="18:00:00 +0300" 7442202Szelenkov@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 7452202Szelenkov@nginx.com 7462202Szelenkov@nginx.com<change> 7472202Szelenkov@nginx.com<para> 7482202Szelenkov@nginx.comNGINX Unit updated to 1.28.0. 7492202Szelenkov@nginx.com</para> 7502202Szelenkov@nginx.com</change> 7512202Szelenkov@nginx.com 7522202Szelenkov@nginx.com</changes> 7532202Szelenkov@nginx.com 7542202Szelenkov@nginx.com 7552129Szelenkov@nginx.com<changes apply="unit" ver="1.28.0" rev="1" 7562197Szelenkov@nginx.com date="2022-09-13" time="18:00:00 +0300" 7572135Sthresh@nginx.com packager="Nginx Packaging <nginx-packaging@f5.com>"> 7582129Szelenkov@nginx.com 7592129Szelenkov@nginx.com<change type="change"> 7602129Szelenkov@nginx.com<para> 7612129Szelenkov@nginx.comincreased the applications' startup timeout. 7622129Szelenkov@nginx.com</para> 7632129Szelenkov@nginx.com</change> 7642129Szelenkov@nginx.com 7652129Szelenkov@nginx.com<change type="change"> 7662129Szelenkov@nginx.com<para> 7672129Szelenkov@nginx.comdisallowed abstract Unix domain socket syntax in non-Linux systems. 7682129Szelenkov@nginx.com</para> 7692197Szelenkov@nginx.com</change> 7702135Sthresh@nginx.com 7712129Szelenkov@nginx.com<change type="feature"> 7722173Salx.manpages@gmail.com<para> 7732173Salx.manpages@gmail.combasic statistics API. 7742173Salx.manpages@gmail.com</para> 7752173Salx.manpages@gmail.com</change> 7762173Salx.manpages@gmail.com 7772173Salx.manpages@gmail.com<change type="feature"> 7782181Salx.manpages@gmail.com<para> 7792181Salx.manpages@gmail.comcustomizable access log format. 7802181Salx.manpages@gmail.com</para> 7812181Salx.manpages@gmail.com</change> 7822181Salx.manpages@gmail.com 7832181Salx.manpages@gmail.com<change type="feature"> 7842133Sz.hong@f5.com<para> 7852133Sz.hong@f5.commore HTTP variables support. 7862196Szelenkov@nginx.com</para> 7872179Salx.manpages@gmail.com</change> 7882179Salx.manpages@gmail.com 7892179Salx.manpages@gmail.com<change type="feature"> 7902179Salx.manpages@gmail.com<para> 7912179Salx.manpages@gmail.comforwarded header to replace client address and protocol. 7922196Szelenkov@nginx.com</para> 7932196Szelenkov@nginx.com</change> 7942196Szelenkov@nginx.com 7952196Szelenkov@nginx.com<change type="feature"> 7962196Szelenkov@nginx.com<para> 7972196Szelenkov@nginx.comability to get dynamic variables. 7982196Szelenkov@nginx.com</para> 7992161Salx.manpages@gmail.com</change> 8002161Salx.manpages@gmail.com 8012161Salx.manpages@gmail.com<change type="feature"> 8022161Salx.manpages@gmail.com<para> 8032161Salx.manpages@gmail.comsupport for abstract Unix sockets. 8042133Sz.hong@f5.com</para> 8052133Sz.hong@f5.com</change> 8062133Sz.hong@f5.com 8072133Sz.hong@f5.com<change type="feature"> 8082147Sz.hong@f5.com<para> 8092147Sz.hong@f5.comsupport for Unix sockets in address matching. 8102147Sz.hong@f5.com</para> 8112147Sz.hong@f5.com</change> 8122147Sz.hong@f5.com 8132147Sz.hong@f5.com<change type="feature"> 8142149Sz.hong@f5.com<para> 8152149Sz.hong@f5.comthe $dollar variable translates to a literal "$" during variable substitution. 8162196Szelenkov@nginx.com</para> 8172196Szelenkov@nginx.com</change> 8182196Szelenkov@nginx.com 8192196Szelenkov@nginx.com<change type="bugfix"> 8202196Szelenkov@nginx.com<para> 8212196Szelenkov@nginx.comrouter process could crash if index file didn't contain an extension. 8222196Szelenkov@nginx.com</para> 8232149Sz.hong@f5.com</change> 8242149Sz.hong@f5.com 8252149Sz.hong@f5.com<change type="bugfix"> 8262161Salx.manpages@gmail.com<para> 8272161Salx.manpages@gmail.comforce SCRIPT_NAME in Ruby to always be an empty string. 8282188Szelenkov@nginx.com</para> 8292161Salx.manpages@gmail.com</change> 8302161Salx.manpages@gmail.com 8312161Salx.manpages@gmail.com<change type="bugfix"> 8322137Salx.manpages@gmail.com<para> 8332137Salx.manpages@gmail.comwhen isolated PID numbers reach the prototype process host PID, 8342188Szelenkov@nginx.comthe prototype crashed. 8352137Salx.manpages@gmail.com</para> 8362137Salx.manpages@gmail.com</change> 8372137Salx.manpages@gmail.com 8382163Salx.manpages@gmail.com<change type="bugfix"> 8392163Salx.manpages@gmail.com<para> 8402163Salx.manpages@gmail.comthe Ruby application process could crash on SIGTERM. 8412163Salx.manpages@gmail.com</para> 8422163Salx.manpages@gmail.com</change> 8432163Salx.manpages@gmail.com 8442164Sz.hong@f5.com<change type="bugfix"> 8452164Sz.hong@f5.com<para> 8462196Szelenkov@nginx.comthe Ruby application process could crash on SIGINT. 8472196Szelenkov@nginx.com</para> 8482196Szelenkov@nginx.com</change> 8492196Szelenkov@nginx.com 8502196Szelenkov@nginx.com<change type="bugfix"> 8512196Szelenkov@nginx.com<para> 8522196Szelenkov@nginx.commutex leak in the C API. 8532188Szelenkov@nginx.com</para> 8542164Sz.hong@f5.com</change> 8552164Sz.hong@f5.com 8562164Sz.hong@f5.com</changes> 8572174Smax.romanov@gmail.com 8582174Smax.romanov@gmail.com 8592188Szelenkov@nginx.com<changes apply="unit-php 8602183Sa.clayton@f5.com unit-python unit-python2.7 8612183Sa.clayton@f5.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 8622183Sa.clayton@f5.com unit-python3.8 unit-python3.9 unit-python3.10 8632183Sa.clayton@f5.com unit-go 8642183Sa.clayton@f5.com unit-perl 8652281Szelenkov@nginx.com unit-ruby 8662194Sa.colomar@f5.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 8672194Sa.colomar@f5.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 8682194Sa.colomar@f5.com ver="1.27.0" rev="1" 8692129Szelenkov@nginx.com date="2022-06-02" time="18:00:00 +0300" 8702129Szelenkov@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8712129Szelenkov@nginx.com 8722129Szelenkov@nginx.com<change> 8732129Szelenkov@nginx.com<para> 8742129Szelenkov@nginx.comNGINX Unit updated to 1.27.0. 8752129Szelenkov@nginx.com</para> 8762129Szelenkov@nginx.com</change> 8772129Szelenkov@nginx.com 8782129Szelenkov@nginx.com</changes> 8792129Szelenkov@nginx.com 8802129Szelenkov@nginx.com 8812012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1" 8822127Szelenkov@nginx.com date="2022-06-02" time="18:00:00 +0300" 8832012Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 8842012Svbart@nginx.com 8852012Svbart@nginx.com<change type="feature"> 8862012Svbart@nginx.com<para> 8872012Svbart@nginx.comability to specify a custom index file name when serving static files. 8882012Svbart@nginx.com</para> 8892012Svbart@nginx.com</change> 8902012Svbart@nginx.com 8912012Svbart@nginx.com<change type="feature"> 8922012Svbart@nginx.com<para> 8932012Svbart@nginx.comvariables support in the "location" option of the "return" action. 8942012Svbart@nginx.com</para> 8952127Szelenkov@nginx.com</change> 8962012Svbart@nginx.com 8972012Svbart@nginx.com<change type="feature"> 8982072Sz.hong@f5.com<para> 8992072Sz.hong@f5.comsupport empty strings in the "location" option of the "return" action. 9002108Salx.manpages@gmail.com</para> 9012108Salx.manpages@gmail.com</change> 9022108Salx.manpages@gmail.com 9032108Salx.manpages@gmail.com<change type="feature"> 9042108Salx.manpages@gmail.com<para> 9052108Salx.manpages@gmail.comadded a new variable, $request_uri, that includes both the path and the query 9062081Salx.manpages@gmail.comparts as per RFC 3986, sections 3-4. 9072081Salx.manpages@gmail.com</para> 9082081Salx.manpages@gmail.com</change> 9092081Salx.manpages@gmail.com 9102081Salx.manpages@gmail.com<change type="feature"> 9112081Salx.manpages@gmail.com<para> 9122113Sartem.konev@nginx.comRuby Rack environment parameter "SCRIPT_NAME" support. 9132113Sartem.konev@nginx.com</para> 9142113Sartem.konev@nginx.com</change> 9152113Sartem.konev@nginx.com 9162113Sartem.konev@nginx.com<change type="feature"> 9172113Sartem.konev@nginx.com<para> 9182113Sartem.konev@nginx.comcompatibility with GCC 12. 9192113Sartem.konev@nginx.com</para> 9202113Sartem.konev@nginx.com</change> 9212113Sartem.konev@nginx.com 9222113Sartem.konev@nginx.com<change type="bugfix"> 9232113Sartem.konev@nginx.com<para> 9242113Sartem.konev@nginx.comRuby Sinatra applications don't work without custom logging. 9252113Sartem.konev@nginx.com</para> 9262110Salx.manpages@gmail.com</change> 9272110Salx.manpages@gmail.com 9282110Salx.manpages@gmail.com<change type="bugfix"> 9292110Salx.manpages@gmail.com<para> 9302110Salx.manpages@gmail.comthe controller process could crash when a chain of more than four 9312072Sz.hong@f5.comcertificates was uploaded. 9322072Sz.hong@f5.com</para> 9332072Sz.hong@f5.com</change> 9342072Sz.hong@f5.com 9352060Smax.romanov@nginx.com<change type="bugfix"> 9362060Smax.romanov@nginx.com<para> 9372093Sz.hong@f5.comsome Perl applications failed to process the request body, notably with Plack. 9382093Sz.hong@f5.com</para> 9392093Sz.hong@f5.com</change> 9402093Sz.hong@f5.com 9412093Sz.hong@f5.com<change type="bugfix"> 9422093Sz.hong@f5.com<para> 9432113Sartem.konev@nginx.comsome Spring Boot applications failed to start, notably with Grails. 9442069Sz.hong@f5.com</para> 9452069Sz.hong@f5.com</change> 9462069Sz.hong@f5.com 9472069Sz.hong@f5.com<change type="bugfix"> 9482069Sz.hong@f5.com<para> 9492069Sz.hong@f5.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable 9502060Smax.romanov@nginx.comobject, notably with Falcon. 9512060Smax.romanov@nginx.com</para> 9522060Smax.romanov@nginx.com</change> 9532060Smax.romanov@nginx.com 9542061Smax.romanov@nginx.com<change type="bugfix"> 9552061Smax.romanov@nginx.com<para> 9562061Smax.romanov@nginx.comECMAScript modules did not work with the recent Node.js versions. 9572061Smax.romanov@nginx.com</para> 9582061Smax.romanov@nginx.com</change> 9592061Smax.romanov@nginx.com 9602067Smax.romanov@nginx.com</changes> 9612067Smax.romanov@nginx.com 9622067Smax.romanov@nginx.com 9632067Smax.romanov@nginx.com<changes apply="unit-php 9642067Smax.romanov@nginx.com unit-python unit-python2.7 9652067Smax.romanov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 9662067Smax.romanov@nginx.com unit-python3.8 unit-python3.9 unit-python3.10 9672117Szelenkov@nginx.com unit-go 9682117Szelenkov@nginx.com unit-perl 9692117Szelenkov@nginx.com unit-ruby 9702117Szelenkov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 9712117Szelenkov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18" 9722117Szelenkov@nginx.com ver="1.26.1" rev="1" 9732050Svbart@nginx.com date="2021-12-02" time="18:00:00 +0300" 9742050Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9752050Svbart@nginx.com 9762050Svbart@nginx.com<change> 9772050Svbart@nginx.com<para> 9782050Svbart@nginx.comNGINX Unit updated to 1.26.1. 9792050Svbart@nginx.com</para> 9802050Svbart@nginx.com</change> 9812050Svbart@nginx.com 9822050Svbart@nginx.com</changes> 9832050Svbart@nginx.com 9842050Svbart@nginx.com 9852029Svbart@nginx.com<changes apply="unit" ver="1.26.1" rev="1" 9862045Svbart@nginx.com date="2021-12-02" time="18:00:00 +0300" 9872029Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 9882029Svbart@nginx.com 9892029Svbart@nginx.com<change type="bugfix"> 9902029Svbart@nginx.com<para> 9912029Svbart@nginx.comoccasionally, the Unit daemon was unable to fully terminate; the bug had 9922029Svbart@nginx.comappeared in 1.26.0. 9932029Svbart@nginx.com</para> 9942029Svbart@nginx.com</change> 9952029Svbart@nginx.com 9962029Svbart@nginx.com<change type="bugfix"> 9972029Svbart@nginx.com<para> 9982029Svbart@nginx.coma prototype process could crash on an application process exit; the bug had 9992045Svbart@nginx.comappeared in 1.26.0. 10002029Svbart@nginx.com</para> 10012029Svbart@nginx.com</change> 10022033Smax.romanov@nginx.com 10032033Smax.romanov@nginx.com<change type="bugfix"> 10042044Svbart@nginx.com<para> 10052044Svbart@nginx.comthe router process crashed on reconfiguration if "access_log" was configured 10062033Smax.romanov@nginx.comwithout listeners. 10072033Smax.romanov@nginx.com</para> 10082033Smax.romanov@nginx.com</change> 10092034Smax.romanov@nginx.com 10102034Smax.romanov@nginx.com<change type="bugfix"> 10112044Svbart@nginx.com<para> 10122034Smax.romanov@nginx.coma segmentation fault occurred in the PHP module if chdir() or 10132034Smax.romanov@nginx.comfastcgi_finish_request() was called in the OPcache preloading script. 10142034Smax.romanov@nginx.com</para> 10152034Smax.romanov@nginx.com</change> 10162035Svbart@nginx.com 10172035Svbart@nginx.com<change type="bugfix"> 10182044Svbart@nginx.com<para> 10192044Svbart@nginx.comfatal errors on DragonFly BSD; the bug had appeared in 1.26.0. 10202044Svbart@nginx.com</para> 10212044Svbart@nginx.com</change> 10222044Svbart@nginx.com 10232044Svbart@nginx.com</changes> 10242044Svbart@nginx.com 10252035Svbart@nginx.com 10262035Svbart@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1" 10272035Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 10282035Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10292035Svbart@nginx.com 10302040Smax.romanov@nginx.com<change> 10312040Smax.romanov@nginx.com<para> 10322041Smax.romanov@nginx.comInitial release of Java 18 module for NGINX Unit. 10332041Smax.romanov@nginx.com</para> 10342041Smax.romanov@nginx.com</change> 10352041Smax.romanov@nginx.com 10362029Svbart@nginx.com</changes> 10372029Svbart@nginx.com 10382029Svbart@nginx.com 10391973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1" 10402007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 10411973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10421973Sdefan@nginx.com 10431973Sdefan@nginx.com<change> 10441973Sdefan@nginx.com<para> 10451973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit. 10461973Sdefan@nginx.com</para> 10471973Sdefan@nginx.com</change> 10481973Sdefan@nginx.com 10491973Sdefan@nginx.com</changes> 10501973Sdefan@nginx.com 10511973Sdefan@nginx.com 10521973Sdefan@nginx.com<changes apply="unit-php 10532007Svbart@nginx.com unit-python unit-python2.7 10541973Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 10551973Sdefan@nginx.com unit-python3.8 unit-python3.9 10561973Sdefan@nginx.com unit-go 10571973Sdefan@nginx.com unit-perl 10581973Sdefan@nginx.com unit-ruby 10591973Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 10601973Sdefan@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 10611973Sdefan@nginx.com ver="1.26.0" rev="1" 10621973Sdefan@nginx.com date="2021-11-18" time="18:00:00 +0300" 10631973Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10641973Sdefan@nginx.com 10651896Svbart@nginx.com<change> 10661896Svbart@nginx.com<para> 10671896Svbart@nginx.comNGINX Unit updated to 1.26.0. 10681896Svbart@nginx.com</para> 10691896Svbart@nginx.com</change> 10701896Svbart@nginx.com 10711896Svbart@nginx.com</changes> 10721896Svbart@nginx.com 10731896Svbart@nginx.com 10741951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1" 10752007Svbart@nginx.com date="2021-11-18" time="18:00:00 +0300" 10761951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 10771951Svbart@nginx.com 10781951Svbart@nginx.com<change type="change"> 10791951Svbart@nginx.com<para> 10801951Svbart@nginx.comthe "share" option now specifies the entire path to the files it serves, 10811951Svbart@nginx.comrather than a document root directory to be prepended to the request URI. 10821951Svbart@nginx.com</para> 10831951Svbart@nginx.com</change> 10841951Svbart@nginx.com 10851951Svbart@nginx.com<change type="feature"> 10861951Svbart@nginx.com<para> 10871951Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior 10882007Svbart@nginx.comwhen updating from previous versions. 10891951Svbart@nginx.com</para> 10901951Svbart@nginx.com</change> 10911960Sz.hong@f5.com 10921960Sz.hong@f5.com<change type="feature"> 10931960Sz.hong@f5.com<para> 10941960Sz.hong@f5.comvariables support in the "share" option. 10951960Sz.hong@f5.com</para> 10961960Sz.hong@f5.com</change> 10971960Sz.hong@f5.com 10981960Sz.hong@f5.com<change type="feature"> 10991960Sz.hong@f5.com<para> 11002006Svbart@nginx.commultiple paths in the "share" option. 11012006Svbart@nginx.com</para> 11022006Svbart@nginx.com</change> 11032006Svbart@nginx.com 11042006Svbart@nginx.com<change type="feature"> 11052006Svbart@nginx.com<para> 11062006Svbart@nginx.comvariables support in the "chroot" option. 11071960Sz.hong@f5.com</para> 11081960Sz.hong@f5.com</change> 11091960Sz.hong@f5.com 11101960Sz.hong@f5.com<change type="feature"> 11111959Sz.hong@f5.com<para> 11121959Sz.hong@f5.comPHP opcache is shared between application processes. 11131961Sz.hong@f5.com</para> 11141961Sz.hong@f5.com</change> 11151961Sz.hong@f5.com 11161961Sz.hong@f5.com<change type="feature"> 11171961Sz.hong@f5.com<para> 11181961Sz.hong@f5.comrequest routing by the query string. 11191959Sz.hong@f5.com</para> 11201959Sz.hong@f5.com</change> 11211959Sz.hong@f5.com 11221959Sz.hong@f5.com<change type="bugfix"> 11231969Sz.hong@f5.com<para> 11241969Sz.hong@f5.comthe router and app processes could crash when the requests limit was reached 11252006Svbart@nginx.comby asynchronous or multithreaded apps. 11261969Sz.hong@f5.com</para> 11271969Sz.hong@f5.com</change> 11281969Sz.hong@f5.com 11291991Sz.hong@f5.com<change type="bugfix"> 11301991Sz.hong@f5.com<para> 11311991Sz.hong@f5.comestablished WebSocket connections could stop reading frames from the client 11321991Sz.hong@f5.comafter the corresponding listener had been reconfigured. 11331991Sz.hong@f5.com</para> 11341991Sz.hong@f5.com</change> 11351955Smax.romanov@nginx.com 11361955Smax.romanov@nginx.com<change type="bugfix"> 11372006Svbart@nginx.com<para> 11382006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35. 11391955Smax.romanov@nginx.com</para> 11401955Smax.romanov@nginx.com</change> 11411955Smax.romanov@nginx.com 11421956Smax.romanov@nginx.com</changes> 11431956Smax.romanov@nginx.com 11441956Smax.romanov@nginx.com 11451956Smax.romanov@nginx.com<changes apply="unit-php 11461956Smax.romanov@nginx.com unit-python unit-python2.7 11471956Smax.romanov@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11481956Smax.romanov@nginx.com unit-python3.8 unit-python3.9 11491992Smax.romanov@nginx.com unit-go 11501992Smax.romanov@nginx.com unit-perl 11512006Svbart@nginx.com unit-ruby 11521992Smax.romanov@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 11531992Smax.romanov@nginx.com unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17" 11541992Smax.romanov@nginx.com ver="1.25.0" rev="1" 11551951Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 11561951Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11571951Svbart@nginx.com 11581951Svbart@nginx.com<change> 11591951Svbart@nginx.com<para> 11601951Svbart@nginx.comNGINX Unit updated to 1.25.0. 11611951Svbart@nginx.com</para> 11621951Svbart@nginx.com</change> 11631951Svbart@nginx.com 11641951Svbart@nginx.com</changes> 11651951Svbart@nginx.com 11661951Svbart@nginx.com 11671896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1" 11681945Svbart@nginx.com date="2021-08-19" time="18:00:00 +0300" 11691896Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 11701896Svbart@nginx.com 11711896Svbart@nginx.com<change type="feature"> 11721896Svbart@nginx.com<para> 11731896Svbart@nginx.comclient IP address replacement from a specified HTTP header field. 11741896Svbart@nginx.com</para> 11751896Svbart@nginx.com</change> 11761896Svbart@nginx.com 11771896Svbart@nginx.com<change type="feature"> 11781896Svbart@nginx.com<para> 11791896Svbart@nginx.comTLS sessions cache. 11801896Svbart@nginx.com</para> 11811945Svbart@nginx.com</change> 11821896Svbart@nginx.com 11831896Svbart@nginx.com<change type="feature"> 11841910So.canty@f5.com<para> 11851910So.canty@f5.comTLS session tickets. 11861944Svbart@nginx.com</para> 11871942Sa.suvorov@f5.com</change> 11881942Sa.suvorov@f5.com 11891942Sa.suvorov@f5.com<change type="feature"> 11901942Sa.suvorov@f5.com<para> 11911942Sa.suvorov@f5.comapplication restart control. 11921920Sa.suvorov@f5.com</para> 11931920Sa.suvorov@f5.com</change> 11941920Sa.suvorov@f5.com 11951920Sa.suvorov@f5.com<change type="feature"> 11961920Sa.suvorov@f5.com<para> 11971920Sa.suvorov@f5.comprocess and thread lifecycle hooks in Ruby. 11981944Svbart@nginx.com</para> 11991910So.canty@f5.com</change> 12001910So.canty@f5.com 12011910So.canty@f5.com<change type="bugfix"> 12021926Smax.romanov@nginx.com<para> 12031926Smax.romanov@nginx.comthe router process could crash on TLS connection open when multiple listeners 12041926Smax.romanov@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0. 12051926Smax.romanov@nginx.com</para> 12061926Smax.romanov@nginx.com</change> 12071926Smax.romanov@nginx.com 12081936So.canty@f5.com<change type="bugfix"> 12091936So.canty@f5.com<para> 12101944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate 12111936So.canty@f5.combundles in a listener if the client did not use SNI. 12121936So.canty@f5.com</para> 12131936So.canty@f5.com</change> 12141907Smax.romanov@nginx.com 12151907Smax.romanov@nginx.com<change type="bugfix"> 12161944Svbart@nginx.com<para> 12171944Svbart@nginx.comthe router process could crash with frequent multithreaded application 12181921Sa.suvorov@f5.comreconfiguration. 12191921Sa.suvorov@f5.com</para> 12201921Sa.suvorov@f5.com</change> 12211921Sa.suvorov@f5.com 12221921Sa.suvorov@f5.com<change type="bugfix"> 12231944Svbart@nginx.com<para> 12241944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette 12251907Smax.romanov@nginx.comframework. 12261907Smax.romanov@nginx.com</para> 12271907Smax.romanov@nginx.com</change> 12281907Smax.romanov@nginx.com 12291907Smax.romanov@nginx.com<change type="bugfix"> 12301950Sartem.konev@nginx.com<para> 12311915Smax.romanov@nginx.coma descriptor and memory leak occurred in the router process when an app process 12321915Smax.romanov@nginx.comstopped or crashed. 12331915Smax.romanov@nginx.com</para> 12341915Smax.romanov@nginx.com</change> 12351915Smax.romanov@nginx.com 12361915Smax.romanov@nginx.com<change type="bugfix"> 12371944Svbart@nginx.com<para> 12381944Svbart@nginx.comthe controller or router process could crash if the configuration contained 12391944Svbart@nginx.coma full-form IPv6 in a listener address. 12401944Svbart@nginx.com</para> 12411944Svbart@nginx.com</change> 12421944Svbart@nginx.com 12431944Svbart@nginx.com<change type="bugfix"> 12441944Svbart@nginx.com<para> 12451944Svbart@nginx.comthe router process crashed when a request was passed to an empty "routes" 12461907Smax.romanov@nginx.comor "upstreams" using a variable "pass" option. 12471907Smax.romanov@nginx.com</para> 12481907Smax.romanov@nginx.com</change> 12491909So.canty@f5.com 12501909So.canty@f5.com<change type="bugfix"> 12511909So.canty@f5.com<para> 12521909So.canty@f5.comthe router process crashed while matching a request to an empty array of source 12531909So.canty@f5.comor destination address patterns. 12541909So.canty@f5.com</para> 12551909So.canty@f5.com</change> 12561916Smax.romanov@nginx.com 12571916Smax.romanov@nginx.com</changes> 12581929Sz.hong@f5.com 12591929Sz.hong@f5.com 12601929Sz.hong@f5.com<changes apply="unit-jsc17" ver="1.24.0" rev="1" 12611929Sz.hong@f5.com date="2021-05-27" time="18:00:00 +0300" 12621929Sz.hong@f5.com packager="Andrei Belov <defan@nginx.com>"> 12631930So.canty@f5.com 12641930So.canty@f5.com<change> 12651944Svbart@nginx.com<para> 12661944Svbart@nginx.comInitial release of Java 17 module for NGINX Unit. 12671930So.canty@f5.com</para> 12681930So.canty@f5.com</change> 12691930So.canty@f5.com 12701896Svbart@nginx.com</changes> 12711896Svbart@nginx.com 12721896Svbart@nginx.com 12731887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1" 12741891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 12751887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12761887Sdefan@nginx.com 12771887Sdefan@nginx.com<change> 12781887Sdefan@nginx.com<para> 12791887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit. 12801887Sdefan@nginx.com</para> 12811887Sdefan@nginx.com</change> 12821887Sdefan@nginx.com 12831887Sdefan@nginx.com</changes> 12841887Sdefan@nginx.com 12851887Sdefan@nginx.com 12861887Sdefan@nginx.com<changes apply="unit-php 12871891Svbart@nginx.com unit-python unit-python2.7 12881887Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 12891887Sdefan@nginx.com unit-python3.8 unit-python3.9 12901887Sdefan@nginx.com unit-go 12911887Sdefan@nginx.com unit-perl 12921887Sdefan@nginx.com unit-ruby 12931887Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 12941887Sdefan@nginx.com unit-jsc14 unit-jsc15" 12951887Sdefan@nginx.com ver="1.24.0" rev="1" 12961887Sdefan@nginx.com date="2021-05-27" time="18:00:00 +0300" 12971887Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 12981887Sdefan@nginx.com 12991834Svbart@nginx.com<change> 13001834Svbart@nginx.com<para> 13011834Svbart@nginx.comNGINX Unit updated to 1.24.0. 13021834Svbart@nginx.com</para> 13031834Svbart@nginx.com</change> 13041834Svbart@nginx.com 13051834Svbart@nginx.com</changes> 13061834Svbart@nginx.com 13071834Svbart@nginx.com 13081839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1" 13091891Svbart@nginx.com date="2021-05-27" time="18:00:00 +0300" 13101839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13111839Svbart@nginx.com 13121839Svbart@nginx.com<change type="change"> 13131839Svbart@nginx.com<para> 13141839Svbart@nginx.comPHP added to the default MIME type list. 13151839Svbart@nginx.com</para> 13161839Svbart@nginx.com</change> 13171839Svbart@nginx.com 13181839Svbart@nginx.com<change type="feature"> 13191839Svbart@nginx.com<para> 13201839Svbart@nginx.comarbitrary configuration of TLS connections via OpenSSL commands. 13211839Svbart@nginx.com</para> 13221891Svbart@nginx.com</change> 13231839Svbart@nginx.com 13241839Svbart@nginx.com<change type="feature"> 13251882So.canty@f5.com<para> 13261882So.canty@f5.comthe ability to limit static file serving by MIME types. 13271882So.canty@f5.com</para> 13281882So.canty@f5.com</change> 13291882So.canty@f5.com 13301882So.canty@f5.com<change type="feature"> 13311855Sz.hong@f5.com<para> 13321855Sz.hong@f5.comsupport for chrooting, rejecting symlinks, and rejecting mount 13331885Sa.suvorov@f5.compoint traversal on a per-request basis when serving static files. 13341885Sa.suvorov@f5.com</para> 13351885Sa.suvorov@f5.com</change> 13361885Sa.suvorov@f5.com 13371885Sa.suvorov@f5.com<change type="feature"> 13381885Sa.suvorov@f5.com<para> 13391890Svbart@nginx.coma loader for automatically overriding the "http" and "websocket" modules in 13401890Svbart@nginx.comNode.js. 13411890Svbart@nginx.com</para> 13421890Svbart@nginx.com</change> 13431890Svbart@nginx.com 13441890Svbart@nginx.com<change type="feature"> 13451890Svbart@nginx.com<para> 13461890Svbart@nginx.commultiple "targets" in Python applications. 13471872So.canty@f5.com</para> 13481872So.canty@f5.com</change> 13491872So.canty@f5.com 13501872So.canty@f5.com<change type="feature"> 13511872So.canty@f5.com<para> 13521889Sartem.konev@nginx.comcompatibility with Ruby 3.0. 13531889Sartem.konev@nginx.com</para> 13541865So.canty@f5.com</change> 13551865So.canty@f5.com 13561865So.canty@f5.com<change type="bugfix"> 13571865So.canty@f5.com<para> 13581865So.canty@f5.comthe router process could crash while closing a TLS connection. 13591890Svbart@nginx.com</para> 13601855Sz.hong@f5.com</change> 13611855Sz.hong@f5.com 13621855Sz.hong@f5.com<change type="bugfix"> 13631870So.canty@f5.com<para> 13641870So.canty@f5.coma segmentation fault might have occurred in the PHP module if 13651870So.canty@f5.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled. 13661870So.canty@f5.com</para> 13671870So.canty@f5.com</change> 13681870So.canty@f5.com 13691861Svbart@nginx.com</changes> 13701861Svbart@nginx.com 13711889Sartem.konev@nginx.com 13721884Sa.suvorov@f5.com<changes apply="unit-php 13731884Sa.suvorov@f5.com unit-python unit-python2.7 13741884Sa.suvorov@f5.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 13751884Sa.suvorov@f5.com unit-python3.8 unit-python3.9 13761884Sa.suvorov@f5.com unit-go 13771861Svbart@nginx.com unit-perl 13781861Svbart@nginx.com unit-ruby 13791861Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 13801861Svbart@nginx.com unit-jsc14 unit-jsc15" 13811861Svbart@nginx.com ver="1.23.0" rev="1" 13821839Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 13831839Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13841839Svbart@nginx.com 13851839Svbart@nginx.com<change> 13861839Svbart@nginx.com<para> 13871839Svbart@nginx.comNGINX Unit updated to 1.23.0. 13881839Svbart@nginx.com</para> 13891839Svbart@nginx.com</change> 13901839Svbart@nginx.com 13911839Svbart@nginx.com</changes> 13921839Svbart@nginx.com 13931839Svbart@nginx.com 13941834Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1" 13951834Svbart@nginx.com date="2021-03-25" time="18:00:00 +0300" 13961834Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 13971834Svbart@nginx.com 13981834Svbart@nginx.com<change type="feature"> 13991834Svbart@nginx.com<para> 14001834Svbart@nginx.comsupport for multiple certificate bundles on a listener via the Server Name 14011834Svbart@nginx.comIndication (SNI) TLS extension. 14021834Svbart@nginx.com</para> 14031834Svbart@nginx.com</change> 14041834Svbart@nginx.com 14051834Svbart@nginx.com<change type="feature"> 14061834Svbart@nginx.com<para> 14071806Svbart@nginx.com"--mandir" ./configure option to specify the directory for man page 14081834Svbart@nginx.cominstallation. 14091806Svbart@nginx.com</para> 14101806Svbart@nginx.com</change> 14111825Sthresh@nginx.com 14121825Sthresh@nginx.com<change type="bugfix"> 14131833Sartem.konev@nginx.com<para> 14141828Sa.suvorov@f5.comthe router process could crash on premature TLS connection close; the bug had 14151828Sa.suvorov@f5.comappeared in 1.17.0. 14161828Sa.suvorov@f5.com</para> 14171828Sa.suvorov@f5.com</change> 14181828Sa.suvorov@f5.com 14191828Sa.suvorov@f5.com<change type="bugfix"> 14201833Sartem.konev@nginx.com<para> 14211833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had 14221825Sthresh@nginx.comappeared in 1.6. 14231825Sthresh@nginx.com</para> 14241825Sthresh@nginx.com</change> 14251811Smax.romanov@nginx.com 14261811Smax.romanov@nginx.com<change type="bugfix"> 14271812Svbart@nginx.com<para> 14281812Svbart@nginx.coma descriptor and memory leak occurred in the router process when processing 14291812Svbart@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0. 14301812Svbart@nginx.com</para> 14311812Svbart@nginx.com</change> 14321812Svbart@nginx.com 14331812Svbart@nginx.com<change type="bugfix"> 14341833Sartem.konev@nginx.com<para> 14351812Svbart@nginx.coma descriptor leak occurred in the router process when removing or 14361812Svbart@nginx.comreconfiguring an application; the bug had appeared in 1.19.0. 14371812Svbart@nginx.com</para> 14381812Svbart@nginx.com</change> 14391812Svbart@nginx.com 14401812Svbart@nginx.com<change type="bugfix"> 14411833Sartem.konev@nginx.com<para> 14421832Smax.romanov@nginx.compersistent storage of certificates might've not worked with some filesystems in 14431832Smax.romanov@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart. 14441832Smax.romanov@nginx.com</para> 14451832Smax.romanov@nginx.com</change> 14461832Smax.romanov@nginx.com 14471832Smax.romanov@nginx.com<change type="bugfix"> 14481833Sartem.konev@nginx.com<para> 14491811Smax.romanov@nginx.comthe controller process could crash while requesting information about a 14501811Smax.romanov@nginx.comcertificate with a non-DNS SAN entry. 14511811Smax.romanov@nginx.com</para> 14521806Svbart@nginx.com</change> 14531813Svbart@nginx.com 14541813Svbart@nginx.com<change type="bugfix"> 14551813Svbart@nginx.com<para> 14561813Svbart@nginx.comthe controller process could crash on manipulations with a certificate 14571813Svbart@nginx.comcontaining a SAN and no standard name attributes in subject or issuer. 14581813Svbart@nginx.com</para> 14591813Svbart@nginx.com</change> 14601814Svbart@nginx.com 14611814Svbart@nginx.com<change type="bugfix"> 14621820Svbart@nginx.com<para> 14631820Svbart@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding 14641820Svbart@nginx.comclass. 14651820Svbart@nginx.com</para> 14661820Svbart@nginx.com</change> 14671820Svbart@nginx.com 14681820Svbart@nginx.com<change type="bugfix"> 14691822Svbart@nginx.com<para> 14701833Sartem.konev@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had 14711822Svbart@nginx.comappeared in 1.22.0. 14721822Svbart@nginx.com</para> 14731822Svbart@nginx.com</change> 14741822Svbart@nginx.com 14751822Svbart@nginx.com</changes> 14761833Sartem.konev@nginx.com 14771833Sartem.konev@nginx.com 14781814Svbart@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1" 14791814Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 14801814Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 14811815Svbart@nginx.com 14821815Svbart@nginx.com<change> 14831815Svbart@nginx.com<para> 14841815Svbart@nginx.comInitial release of Python 3.9 module for NGINX Unit. 14851815Svbart@nginx.com</para> 14861815Svbart@nginx.com</change> 14871815Svbart@nginx.com 14881806Svbart@nginx.com</changes> 14891806Svbart@nginx.com 14901806Svbart@nginx.com 14911798Sdefan@nginx.com<changes apply="unit-php 14921798Sdefan@nginx.com unit-python unit-python2.7 14931798Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 14941798Sdefan@nginx.com unit-python3.8 14951798Sdefan@nginx.com unit-go 14961798Sdefan@nginx.com unit-perl 14971798Sdefan@nginx.com unit-ruby 14981798Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13 14991798Sdefan@nginx.com unit-jsc14 unit-jsc15" 15001798Sdefan@nginx.com ver="1.22.0" rev="1" 15011798Sdefan@nginx.com date="2021-02-04" time="18:00:00 +0300" 15021798Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15031798Sdefan@nginx.com 15041763Sdefan@nginx.com<change> 15051763Sdefan@nginx.com<para> 15061763Sdefan@nginx.comNGINX Unit updated to 1.22.0. 15071763Sdefan@nginx.com</para> 15081763Sdefan@nginx.com</change> 15091763Sdefan@nginx.com 15101763Sdefan@nginx.com</changes> 15111763Sdefan@nginx.com 15121763Sdefan@nginx.com 15131763Sdefan@nginx.com<changes apply="unit" ver="1.22.0" rev="1" 15141793Svbart@nginx.com date="2021-02-04" time="18:00:00 +0300" 15151763Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 15161763Sdefan@nginx.com 15171763Sdefan@nginx.com<change type="feature"> 15181763Sdefan@nginx.com<para> 15191763Sdefan@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now 15201763Sdefan@nginx.comcompliant with Stream API. 15211763Sdefan@nginx.com</para> 15221763Sdefan@nginx.com</change> 15231763Sdefan@nginx.com 15241763Sdefan@nginx.com<change type="feature"> 15251763Sdefan@nginx.com<para> 15261727Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python 15271793Svbart@nginx.comapps. 15281727Svbart@nginx.com</para> 15291727Svbart@nginx.com</change> 15301759Svbart@nginx.com 15311759Svbart@nginx.com<change type="bugfix"> 15321792Svbart@nginx.com<para> 15331792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than 15341759Svbart@nginx.com128K; the bug had appeared in 1.13.0. 15351759Svbart@nginx.com</para> 15361759Svbart@nginx.com</change> 15371766Smax.romanov@nginx.com 15381766Smax.romanov@nginx.com<change type="bugfix"> 15391792Svbart@nginx.com<para> 15401792Svbart@nginx.comapps could stop processing new requests under high load; the bug had 15411732Svbart@nginx.comappeared in 1.19.0. 15421732Svbart@nginx.com</para> 15431732Svbart@nginx.com</change> 15441733Svbart@nginx.com 15451733Svbart@nginx.com<change type="bugfix"> 15461792Svbart@nginx.com<para> 15471792Svbart@nginx.comapp processes could terminate unexpectedly under high load; the bug had 15481754Smax.romanov@nginx.comappeared in 1.19.0. 15491754Smax.romanov@nginx.com</para> 15501754Smax.romanov@nginx.com</change> 15511755Smax.romanov@nginx.com 15521755Smax.romanov@nginx.com<change type="bugfix"> 15531790Sartem.konev@nginx.com<para> 15541755Smax.romanov@nginx.cominvalid HTTP responses were generated for some unusual status codes. 15551755Smax.romanov@nginx.com</para> 15561755Smax.romanov@nginx.com</change> 15571755Smax.romanov@nginx.com 15581756Smax.romanov@nginx.com<change type="bugfix"> 15591756Smax.romanov@nginx.com<para> 15601790Sartem.konev@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were 15611790Sartem.konev@nginx.commissing in the PHP module. 15621756Smax.romanov@nginx.com</para> 15631756Smax.romanov@nginx.com</change> 15641756Smax.romanov@nginx.com 15651760Smax.romanov@nginx.com<change type="bugfix"> 15661760Smax.romanov@nginx.com<para> 15671792Svbart@nginx.comthe router process could crash with multithreaded apps under high load. 15681792Svbart@nginx.com</para> 15691792Svbart@nginx.com</change> 15701792Svbart@nginx.com 15711792Svbart@nginx.com<change type="bugfix"> 15721792Svbart@nginx.com<para> 15731792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load. 15741792Svbart@nginx.com</para> 15751792Svbart@nginx.com</change> 15761792Svbart@nginx.com 15771792Svbart@nginx.com<change type="bugfix"> 15781792Svbart@nginx.com<para> 15791792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used; 15801792Svbart@nginx.comthe bug had appeared in 1.21.0. 15811792Svbart@nginx.com</para> 15821792Svbart@nginx.com</change> 15831792Svbart@nginx.com 15841792Svbart@nginx.com<change type="bugfix"> 15851792Svbart@nginx.com<para> 15861792Svbart@nginx.comthe router process could crash while removing or reconfiguring an app that used 15871792Svbart@nginx.comWebSocket. 15881792Svbart@nginx.com</para> 15891792Svbart@nginx.com</change> 15901792Svbart@nginx.com 15911792Svbart@nginx.com<change type="bugfix"> 15921792Svbart@nginx.com<para> 15931792Svbart@nginx.coma memory leak occurring in the router process when removing or reconfiguring 15941760Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0. 15951760Smax.romanov@nginx.com</para> 15961760Smax.romanov@nginx.com</change> 15971780Smax.romanov@nginx.com 15981780Smax.romanov@nginx.com</changes> 15991790Sartem.konev@nginx.com 16001790Sartem.konev@nginx.com 16011780Smax.romanov@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1" 16021780Smax.romanov@nginx.com date="2020-11-19" time="18:00:00 +0300" 16031780Smax.romanov@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16041789Smax.romanov@nginx.com 16051789Smax.romanov@nginx.com<change> 16061789Smax.romanov@nginx.com<para> 16071789Smax.romanov@nginx.comInitial release of Java 15 module for NGINX Unit. 16081789Smax.romanov@nginx.com</para> 16091789Smax.romanov@nginx.com</change> 16101789Smax.romanov@nginx.com 16111727Svbart@nginx.com</changes> 16121727Svbart@nginx.com 16131727Svbart@nginx.com 16141722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1" 16151722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 16161722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16171722Svbart@nginx.com 16181722Svbart@nginx.com<change> 16191722Svbart@nginx.com<para> 16201722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit. 16211722Svbart@nginx.com</para> 16221722Svbart@nginx.com</change> 16231722Svbart@nginx.com 16241722Svbart@nginx.com</changes> 16251722Svbart@nginx.com 16261722Svbart@nginx.com 16271722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1" 16281722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 16291722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16301722Svbart@nginx.com 16311722Svbart@nginx.com<change> 16321722Svbart@nginx.com<para> 16331722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit. 16341722Svbart@nginx.com</para> 16351722Svbart@nginx.com</change> 16361722Svbart@nginx.com 16371722Svbart@nginx.com</changes> 16381722Svbart@nginx.com 16391722Svbart@nginx.com 16401722Svbart@nginx.com<changes apply="unit-php 16411722Svbart@nginx.com unit-python unit-python2.7 16421722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 16431722Svbart@nginx.com unit-python3.8 16441722Svbart@nginx.com unit-go 16451722Svbart@nginx.com unit-perl 16461722Svbart@nginx.com unit-ruby 16471722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 16481722Svbart@nginx.com ver="1.21.0" rev="1" 16491722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 16501722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16511722Svbart@nginx.com 16521722Svbart@nginx.com<change> 16531722Svbart@nginx.com<para> 16541722Svbart@nginx.comNGINX Unit updated to 1.21.0. 16551722Svbart@nginx.com</para> 16561722Svbart@nginx.com</change> 16571722Svbart@nginx.com 16581722Svbart@nginx.com</changes> 16591722Svbart@nginx.com 16601722Svbart@nginx.com 16611722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1" 16621722Svbart@nginx.com date="2020-11-19" time="18:00:00 +0300" 16631722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 16641722Svbart@nginx.com 16651722Svbart@nginx.com<change type="change"> 16661722Svbart@nginx.com<para> 16671722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used. 16681722Svbart@nginx.com</para> 16691722Svbart@nginx.com</change> 16701722Svbart@nginx.com 16711722Svbart@nginx.com<change type="change"> 16721722Svbart@nginx.com<para> 16731722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field 16741722Svbart@nginx.comnames. 16751722Svbart@nginx.com</para> 16761722Svbart@nginx.com</change> 16771722Svbart@nginx.com 16781722Svbart@nginx.com<change type="change"> 16791722Svbart@nginx.com<para> 16801722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by 16811722Svbart@nginx.comdefault. 16821722Svbart@nginx.com</para> 16831722Svbart@nginx.com</change> 16841722Svbart@nginx.com 16851722Svbart@nginx.com<change type="feature"> 16861722Svbart@nginx.com<para> 16871722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps. 16881722Svbart@nginx.com</para> 16891722Svbart@nginx.com</change> 16901722Svbart@nginx.com 16911722Svbart@nginx.com<change type="feature"> 16921722Svbart@nginx.com<para> 16931722Svbart@nginx.comregular expressions in route matching patterns. 16941722Svbart@nginx.com</para> 16951722Svbart@nginx.com</change> 16961722Svbart@nginx.com 16971722Svbart@nginx.com<change type="feature"> 16981722Svbart@nginx.com<para> 16991722Svbart@nginx.comcompatibility with Python 3.9. 17001722Svbart@nginx.com</para> 17011722Svbart@nginx.com</change> 17021722Svbart@nginx.com 17031722Svbart@nginx.com<change type="feature"> 17041722Svbart@nginx.com<para> 17051722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications. 17061722Svbart@nginx.com</para> 17071722Svbart@nginx.com</change> 17081722Svbart@nginx.com 17091722Svbart@nginx.com<change type="feature"> 17101722Svbart@nginx.com<para> 17111722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI. 17121722Svbart@nginx.com</para> 17131722Svbart@nginx.com</change> 17141722Svbart@nginx.com 17151722Svbart@nginx.com<change type="feature"> 17161722Svbart@nginx.com<para> 17171722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and 17181722Svbart@nginx.comcontinues code execution without holding onto the client connection. 17191722Svbart@nginx.com</para> 17201722Svbart@nginx.com</change> 17211722Svbart@nginx.com 17221722Svbart@nginx.com<change type="feature"> 17231722Svbart@nginx.com<para> 17241722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header 17251722Svbart@nginx.comfields with irregular (but still valid) characters in the field name. 17261722Svbart@nginx.com</para> 17271722Svbart@nginx.com</change> 17281722Svbart@nginx.com 17291722Svbart@nginx.com<change type="feature"> 17301722Svbart@nginx.com<para> 17311722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic 17321722Svbart@nginx.commounting of eponymous filesystems. 17331722Svbart@nginx.com</para> 17341722Svbart@nginx.com</change> 17351722Svbart@nginx.com 17361722Svbart@nginx.com<change type="bugfix"> 17371722Svbart@nginx.com<para> 17381722Svbart@nginx.comthe router process could crash when running Go applications under high load; 17391722Svbart@nginx.comthe bug had appeared in 1.19.0. 17401722Svbart@nginx.com</para> 17411722Svbart@nginx.com</change> 17421722Svbart@nginx.com 17431722Svbart@nginx.com<change type="bugfix"> 17441722Svbart@nginx.com<para> 17451722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation. 17461722Svbart@nginx.com</para> 17471722Svbart@nginx.com</change> 17481722Svbart@nginx.com 17491722Svbart@nginx.com<change type="bugfix"> 17501722Svbart@nginx.com<para> 17511722Svbart@nginx.comvarious compatibility issues in Java applications. 17521722Svbart@nginx.com</para> 17531722Svbart@nginx.com</change> 17541722Svbart@nginx.com 17551722Svbart@nginx.com<change type="bugfix"> 17561722Svbart@nginx.com<para> 17571722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that 17581722Svbart@nginx.comuse "rootfs" isolation. 17591722Svbart@nginx.com</para> 17601722Svbart@nginx.com</change> 17611722Svbart@nginx.com 17621722Svbart@nginx.com</changes> 17631722Svbart@nginx.com 17641722Svbart@nginx.com 17651722Svbart@nginx.com<changes apply="unit-php 17661722Svbart@nginx.com unit-python unit-python2.7 17671722Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 17681722Svbart@nginx.com unit-python3.8 17691722Svbart@nginx.com unit-go 17701722Svbart@nginx.com unit-perl 17711722Svbart@nginx.com unit-ruby 17721722Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 17731722Svbart@nginx.com ver="1.20.0" rev="1" 17741722Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 17751722Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17761722Svbart@nginx.com 17771722Svbart@nginx.com<change> 17781330Svbart@nginx.com<para> 17791330Svbart@nginx.comNGINX Unit updated to 1.20.0. 17801330Svbart@nginx.com</para> 17811330Svbart@nginx.com</change> 17821330Svbart@nginx.com 17831330Svbart@nginx.com</changes> 17841330Svbart@nginx.com 17851330Svbart@nginx.com 17861640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1" 17871640Svbart@nginx.com date="2020-10-08" time="18:00:00 +0300" 17881640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 17891640Svbart@nginx.com 17901640Svbart@nginx.com<change type="change"> 17911640Svbart@nginx.com<para> 17921640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all 17931640Svbart@nginx.comextensions from the host system. 17941640Svbart@nginx.com</para> 17951640Svbart@nginx.com</change> 17961640Svbart@nginx.com 17971640Svbart@nginx.com<change type="change"> 17981640Svbart@nginx.com<para> 17991640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list. 18001640Svbart@nginx.com</para> 18011640Svbart@nginx.com</change> 18021640Svbart@nginx.com 18031640Svbart@nginx.com<change type="change"> 18041640Svbart@nginx.com<para> 18051640Svbart@nginx.comfunctional tests migrated to the pytest framework. 18061640Svbart@nginx.com</para> 18071640Svbart@nginx.com</change> 18081640Svbart@nginx.com 18091640Svbart@nginx.com<change type="feature"> 18101640Svbart@nginx.com<para> 18111640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server 18121640Svbart@nginx.cominterface. 18131640Svbart@nginx.com</para> 18141640Svbart@nginx.com</change> 18151640Svbart@nginx.com 18161643Svbart@nginx.com<change type="feature"> 18171643Svbart@nginx.com<para> 18181643Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for 18191643Svbart@nginx.comapplications, compatible with the HTTP & WebSocket ASGI Message Format 2.1 18201643Svbart@nginx.comspecification. 18211643Svbart@nginx.com</para> 18221640Svbart@nginx.com</change> 18231640Svbart@nginx.com 18241640Svbart@nginx.com<change type="feature"> 18251640Svbart@nginx.com<para> 18261640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application 18271640Svbart@nginx.comenvironments. 18281640Svbart@nginx.com</para> 18291640Svbart@nginx.com</change> 18301640Svbart@nginx.com 18311640Svbart@nginx.com<change type="feature"> 18321640Svbart@nginx.com<para> 18331640Svbart@nginx.comthe $host variable contains a normalized "Host" request value. 18341640Svbart@nginx.com</para> 18351640Svbart@nginx.com</change> 18361640Svbart@nginx.com 18371640Svbart@nginx.com<change type="feature"> 18381640Svbart@nginx.com<para> 18391640Svbart@nginx.comthe "callable" option sets Python application callable names. 18401640Svbart@nginx.com</para> 18411640Svbart@nginx.com</change> 18421640Svbart@nginx.com 18431640Svbart@nginx.com<change type="feature"> 18441640Svbart@nginx.com<para> 18451640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet. 18461640Svbart@nginx.com</para> 18471640Svbart@nginx.com</change> 18481640Svbart@nginx.com 18491640Svbart@nginx.com<change type="feature"> 18501640Svbart@nginx.com<para> 18511640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the 18521640Svbart@nginx.comautomatic mounting of language module dependencies. 18531640Svbart@nginx.com</para> 18541640Svbart@nginx.com</change> 18551640Svbart@nginx.com 18561640Svbart@nginx.com<change type="bugfix"> 18571640Svbart@nginx.com<para> 18581640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared 18591640Svbart@nginx.comin 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it. 18601640Svbart@nginx.com</para> 18611640Svbart@nginx.com</change> 18621640Svbart@nginx.com 18631640Svbart@nginx.com<change type="bugfix"> 18641640Svbart@nginx.com<para> 18651640Svbart@nginx.comthe router process could crash during reconfiguration. 18661640Svbart@nginx.com</para> 18671640Svbart@nginx.com</change> 18681640Svbart@nginx.com 18691640Svbart@nginx.com<change type="bugfix"> 18701640Svbart@nginx.com<para> 18711640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0. 18721640Svbart@nginx.com</para> 18731640Svbart@nginx.com</change> 18741640Svbart@nginx.com 18751640Svbart@nginx.com<change type="bugfix"> 18761640Svbart@nginx.com<para> 18771640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly; 18781640Svbart@nginx.comthe bug had appeared in 1.19.0. 18791640Svbart@nginx.com</para> 18801640Svbart@nginx.com</change> 18811640Svbart@nginx.com 18821640Svbart@nginx.com<change type="bugfix"> 18831640Svbart@nginx.com<para> 18841640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD; 18851640Svbart@nginx.comthe bug had appeared in 1.16.0. 18861640Svbart@nginx.com</para> 18871640Svbart@nginx.com</change> 18881640Svbart@nginx.com 18891640Svbart@nginx.com</changes> 18901640Svbart@nginx.com 18911640Svbart@nginx.com 18921640Svbart@nginx.com<changes apply="unit-php 18931640Svbart@nginx.com unit-python unit-python2.7 18941640Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 18951640Svbart@nginx.com unit-python3.8 18961640Svbart@nginx.com unit-go 18971640Svbart@nginx.com unit-perl 18981640Svbart@nginx.com unit-ruby 18991640Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 19001640Svbart@nginx.com ver="1.19.0" rev="1" 19011640Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 19021640Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 19031640Svbart@nginx.com 19041640Svbart@nginx.com<change> 19051640Svbart@nginx.com<para> 19061640Svbart@nginx.comNGINX Unit updated to 1.19.0. 19071640Svbart@nginx.com</para> 19081640Svbart@nginx.com</change> 19091640Svbart@nginx.com 19101640Svbart@nginx.com</changes> 19111640Svbart@nginx.com 19121640Svbart@nginx.com 19131570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1" 19141570Svbart@nginx.com date="2020-08-13" time="18:00:00 +0300" 19151570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 19161570Svbart@nginx.com 19171570Svbart@nginx.com<change type="feature"> 19181570Svbart@nginx.com<para> 19191570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies, 19201570Svbart@nginx.comincrease performance, and improve scalability. 19211570Svbart@nginx.com</para> 19221570Svbart@nginx.com</change> 19231570Svbart@nginx.com 19241570Svbart@nginx.com<change type="feature"> 19251570Svbart@nginx.com<para> 19261570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns. 19271570Svbart@nginx.com</para> 19281570Svbart@nginx.com</change> 19291570Svbart@nginx.com 19301570Svbart@nginx.com<change type="feature"> 19311570Svbart@nginx.com<para> 19321570Svbart@nginx.comchunked transfer encoding in proxy responses. 19331570Svbart@nginx.com</para> 19341570Svbart@nginx.com</change> 19351570Svbart@nginx.com 19361570Svbart@nginx.com<change type="feature"> 19371570Svbart@nginx.com<para> 19381570Svbart@nginx.combasic variables support in the "pass" option. 19391570Svbart@nginx.com</para> 19401570Svbart@nginx.com</change> 19411570Svbart@nginx.com 19421570Svbart@nginx.com<change type="feature"> 19431570Svbart@nginx.com<para> 19441570Svbart@nginx.comcompatibility with PHP 8 Beta 1. 19451570Svbart@nginx.comThanks to Remi Collet. 19461570Svbart@nginx.com</para> 19471570Svbart@nginx.com</change> 19481570Svbart@nginx.com 19491570Svbart@nginx.com<change type="bugfix"> 19501570Svbart@nginx.com<para> 19511570Svbart@nginx.comthe router process could crash while passing requests to an application under 19521570Svbart@nginx.comhigh load. 19531570Svbart@nginx.com</para> 19541570Svbart@nginx.com</change> 19551570Svbart@nginx.com 19561570Svbart@nginx.com<change type="bugfix"> 19571570Svbart@nginx.com<para> 19581570Svbart@nginx.coma number of language modules failed to build on some systems; 19591570Svbart@nginx.comthe bug had appeared in 1.18.0. 19601570Svbart@nginx.com</para> 19611570Svbart@nginx.com</change> 19621570Svbart@nginx.com 19631570Svbart@nginx.com<change type="bugfix"> 19641570Svbart@nginx.com<para> 19651570Svbart@nginx.comtime in error log messages from PHP applications could lag. 19661570Svbart@nginx.com</para> 19671570Svbart@nginx.com</change> 19681570Svbart@nginx.com 19691570Svbart@nginx.com<change type="bugfix"> 19701570Svbart@nginx.com<para> 19711570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start; 19721570Svbart@nginx.comthe bug had appeared in 1.18.0. 19731570Svbart@nginx.com</para> 19741570Svbart@nginx.com</change> 19751570Svbart@nginx.com 19761570Svbart@nginx.com<change type="bugfix"> 19771570Svbart@nginx.com<para> 19781570Svbart@nginx.commemory leak during reconfiguration. 19791570Svbart@nginx.com</para> 19801570Svbart@nginx.com</change> 19811570Svbart@nginx.com 19821570Svbart@nginx.com<change type="bugfix"> 19831570Svbart@nginx.com<para> 19841570Svbart@nginx.comthe daemon didn't start without language modules; 19851570Svbart@nginx.comthe bug had appeared in 1.18.0. 19861570Svbart@nginx.com</para> 19871570Svbart@nginx.com</change> 19881570Svbart@nginx.com 19891570Svbart@nginx.com<change type="bugfix"> 19901570Svbart@nginx.com<para> 19911570Svbart@nginx.comthe router process could crash at exit. 19921570Svbart@nginx.com</para> 19931570Svbart@nginx.com</change> 19941570Svbart@nginx.com 19951570Svbart@nginx.com<change type="bugfix"> 19961570Svbart@nginx.com<para> 19971570Svbart@nginx.comNode.js applications could crash at exit. 19981570Svbart@nginx.com</para> 19991570Svbart@nginx.com</change> 20001570Svbart@nginx.com 20011570Svbart@nginx.com<change type="bugfix"> 20021570Svbart@nginx.com<para> 20031570Svbart@nginx.comthe Ruby module could be linked against a wrong library version. 20041570Svbart@nginx.com</para> 20051570Svbart@nginx.com</change> 20061570Svbart@nginx.com 20071570Svbart@nginx.com</changes> 20081570Svbart@nginx.com 20091570Svbart@nginx.com 20101570Svbart@nginx.com<changes apply="unit-php 20111570Svbart@nginx.com unit-python unit-python2.7 20121570Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 20131570Svbart@nginx.com unit-python3.8 20141570Svbart@nginx.com unit-go 20151570Svbart@nginx.com unit-perl 20161570Svbart@nginx.com unit-ruby 20171570Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 20181570Svbart@nginx.com ver="1.18.0" rev="1" 20191570Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 20201570Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 20211570Svbart@nginx.com 20221570Svbart@nginx.com<change> 20231570Svbart@nginx.com<para> 20241570Svbart@nginx.comNGINX Unit updated to 1.18.0. 20251570Svbart@nginx.com</para> 20261570Svbart@nginx.com</change> 20271570Svbart@nginx.com 20281570Svbart@nginx.com</changes> 20291570Svbart@nginx.com 20301570Svbart@nginx.com 20311491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1" 20321491Svbart@nginx.com date="2020-05-28" time="18:00:00 +0300" 20331491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 20341491Svbart@nginx.com 20351491Svbart@nginx.com<change type="feature"> 20361491Svbart@nginx.com<para> 20371491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application. 20381491Svbart@nginx.com</para> 20391491Svbart@nginx.com</change> 20401491Svbart@nginx.com 20411491Svbart@nginx.com<change type="feature"> 20421491Svbart@nginx.com<para> 20431491Svbart@nginx.commultiple "targets" in PHP applications. 20441491Svbart@nginx.com</para> 20451491Svbart@nginx.com</change> 20461491Svbart@nginx.com 20471491Svbart@nginx.com<change type="feature"> 20481491Svbart@nginx.com<para> 20491491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options 20501491Svbart@nginx.comand in the "pass" option. 20511491Svbart@nginx.com</para> 20521491Svbart@nginx.com</change> 20531491Svbart@nginx.com 20541491Svbart@nginx.com</changes> 20551491Svbart@nginx.com 20561491Svbart@nginx.com 20571491Svbart@nginx.com<changes apply="unit-php 20581491Svbart@nginx.com unit-python unit-python2.7 20591491Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 20601491Svbart@nginx.com unit-python3.8 20611491Svbart@nginx.com unit-go 20621491Svbart@nginx.com unit-perl 20631491Svbart@nginx.com unit-ruby 20641491Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 20651491Svbart@nginx.com ver="1.17.0" rev="1" 20661491Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 20671491Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 20681491Svbart@nginx.com 20691491Svbart@nginx.com<change> 20701491Svbart@nginx.com<para> 20711491Svbart@nginx.comNGINX Unit updated to 1.17.0. 20721491Svbart@nginx.com</para> 20731491Svbart@nginx.com</change> 20741491Svbart@nginx.com 20751491Svbart@nginx.com</changes> 20761491Svbart@nginx.com 20771491Svbart@nginx.com 20781460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1" 20791460Svbart@nginx.com date="2020-04-16" time="18:00:00 +0300" 20801460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 20811460Svbart@nginx.com 20821460Svbart@nginx.com<change type="feature"> 20831460Svbart@nginx.com<para> 20841460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external 20851460Svbart@nginx.comredirection. 20861460Svbart@nginx.com</para> 20871460Svbart@nginx.com</change> 20881460Svbart@nginx.com 20891460Svbart@nginx.com<change type="feature"> 20901460Svbart@nginx.com<para> 20911460Svbart@nginx.comfractional weights support for upstream servers. 20921460Svbart@nginx.com</para> 20931460Svbart@nginx.com</change> 20941460Svbart@nginx.com 20951460Svbart@nginx.com<change type="bugfix"> 20961460Svbart@nginx.com<para> 20971460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under 20981460Svbart@nginx.comhigh load. 20991460Svbart@nginx.com</para> 21001460Svbart@nginx.com</change> 21011460Svbart@nginx.com 21021460Svbart@nginx.com<change type="bugfix"> 21031460Svbart@nginx.com<para> 21041460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0. 21051460Svbart@nginx.com</para> 21061460Svbart@nginx.com</change> 21071460Svbart@nginx.com 21081460Svbart@nginx.com<change type="bugfix"> 21091460Svbart@nginx.com<para> 21101460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching 21111460Svbart@nginx.comopen connections limit. 21121460Svbart@nginx.com</para> 21131460Svbart@nginx.com</change> 21141460Svbart@nginx.com 21151460Svbart@nginx.com<change type="bugfix"> 21161460Svbart@nginx.com<para> 21171460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log 21181460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0. 21191460Svbart@nginx.com</para> 21201460Svbart@nginx.com</change> 21211460Svbart@nginx.com 21221460Svbart@nginx.com<change type="bugfix"> 21231460Svbart@nginx.com<para> 21241460Svbart@nginx.comexisting application processes didn't reopen the log file. 21251460Svbart@nginx.com</para> 21261460Svbart@nginx.com</change> 21271460Svbart@nginx.com 21281460Svbart@nginx.com<change type="bugfix"> 21291460Svbart@nginx.com<para> 21301460Svbart@nginx.comincompatibility with some Node.js applications. 21311460Svbart@nginx.com</para> 21321460Svbart@nginx.com</change> 21331460Svbart@nginx.com 21341460Svbart@nginx.com<change type="bugfix"> 21351460Svbart@nginx.com<para> 21361460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0. 21371460Svbart@nginx.com</para> 21381460Svbart@nginx.com</change> 21391460Svbart@nginx.com 21401460Svbart@nginx.com</changes> 21411460Svbart@nginx.com 21421460Svbart@nginx.com 21431460Svbart@nginx.com<changes apply="unit-php 21441460Svbart@nginx.com unit-python unit-python2.7 21451460Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 21461460Svbart@nginx.com unit-python3.8 21471460Svbart@nginx.com unit-go 21481460Svbart@nginx.com unit-perl 21491460Svbart@nginx.com unit-ruby 21501460Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 21511460Svbart@nginx.com ver="1.16.0" rev="1" 21521460Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 21531460Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 21541460Svbart@nginx.com 21551460Svbart@nginx.com<change> 21561460Svbart@nginx.com<para> 21571460Svbart@nginx.comNGINX Unit updated to 1.16.0. 21581460Svbart@nginx.com</para> 21591460Svbart@nginx.com</change> 21601460Svbart@nginx.com 21611460Svbart@nginx.com</changes> 21621460Svbart@nginx.com 21631460Svbart@nginx.com 21641404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1" 21651404Svbart@nginx.com date="2020-03-12" time="18:00:00 +0300" 21661404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 21671404Svbart@nginx.com 21681404Svbart@nginx.com<change type="feature"> 21691404Svbart@nginx.com<para> 21701404Svbart@nginx.combasic load-balancing support with round-robin. 21711404Svbart@nginx.com</para> 21721404Svbart@nginx.com</change> 21731404Svbart@nginx.com 21741404Svbart@nginx.com<change type="feature"> 21751404Svbart@nginx.com<para> 21761404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be 21771404Svbart@nginx.comserved from the "share" directory. 21781404Svbart@nginx.com</para> 21791404Svbart@nginx.com</change> 21801404Svbart@nginx.com 21811404Svbart@nginx.com<change type="feature"> 21821404Svbart@nginx.com<para> 21831404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk. 21841404Svbart@nginx.com</para> 21851404Svbart@nginx.com</change> 21861404Svbart@nginx.com 21871404Svbart@nginx.com<change type="feature"> 21881404Svbart@nginx.com<para> 21891404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON. 21901404Svbart@nginx.com</para> 21911404Svbart@nginx.com</change> 21921404Svbart@nginx.com 21931404Svbart@nginx.com<change type="bugfix"> 21941404Svbart@nginx.com<para> 21951404Svbart@nginx.comnegative address matching in router might work improperly in combination with 21961404Svbart@nginx.comnon-negative patterns. 21971404Svbart@nginx.com</para> 21981404Svbart@nginx.com</change> 21991404Svbart@nginx.com 22001404Svbart@nginx.com<change type="bugfix"> 22011404Svbart@nginx.com<para> 22021404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0. 22031404Svbart@nginx.com</para> 22041404Svbart@nginx.com</change> 22051404Svbart@nginx.com 22061404Svbart@nginx.com<change type="bugfix"> 22071404Svbart@nginx.com<para> 22081404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled. 22091404Svbart@nginx.com</para> 22101404Svbart@nginx.com</change> 22111404Svbart@nginx.com 22121404Svbart@nginx.com<change type="bugfix"> 22131404Svbart@nginx.com<para> 22141404Svbart@nginx.comcompatibility issues with some Python applications. 22151404Svbart@nginx.com</para> 22161404Svbart@nginx.com</change> 22171404Svbart@nginx.com 22181404Svbart@nginx.com</changes> 22191404Svbart@nginx.com 22201404Svbart@nginx.com 22211404Svbart@nginx.com<changes apply="unit-php 22221404Svbart@nginx.com unit-python unit-python2.7 22231404Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 22241404Svbart@nginx.com unit-python3.8 22251404Svbart@nginx.com unit-go 22261404Svbart@nginx.com unit-perl 22271404Svbart@nginx.com unit-ruby 22281404Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 22291404Svbart@nginx.com ver="1.15.0" rev="1" 22301404Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 22311404Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 22321404Svbart@nginx.com 22331404Svbart@nginx.com<change> 22341404Svbart@nginx.com<para> 22351404Svbart@nginx.comNGINX Unit updated to 1.15.0. 22361404Svbart@nginx.com</para> 22371404Svbart@nginx.com</change> 22381404Svbart@nginx.com 22391404Svbart@nginx.com</changes> 22401404Svbart@nginx.com 22411404Svbart@nginx.com 22421357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1" 22431357Svbart@nginx.com date="2020-02-06" time="18:00:00 +0300" 22441357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 22451357Svbart@nginx.com 22461357Svbart@nginx.com<change type="change"> 22471357Svbart@nginx.com<para> 22481357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php". 22491357Svbart@nginx.com</para> 22501357Svbart@nginx.com</change> 22511357Svbart@nginx.com 22521357Svbart@nginx.com<change type="feature"> 22531357Svbart@nginx.com<para> 22541357Svbart@nginx.comcompatibility with Ruby 2.7. 22551357Svbart@nginx.com</para> 22561357Svbart@nginx.com</change> 22571357Svbart@nginx.com 22581357Svbart@nginx.com<change type="bugfix"> 22591357Svbart@nginx.com<para> 22601357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple 22611357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0. 22621357Svbart@nginx.com</para> 22631357Svbart@nginx.com</change> 22641357Svbart@nginx.com 22651357Svbart@nginx.com<change type="bugfix"> 22661357Svbart@nginx.com<para> 22671357Svbart@nginx.comreceiving request body over TLS connection might have stalled. 22681357Svbart@nginx.com</para> 22691357Svbart@nginx.com</change> 22701357Svbart@nginx.com 22711357Svbart@nginx.com</changes> 22721357Svbart@nginx.com 22731357Svbart@nginx.com 22741357Svbart@nginx.com<changes apply="unit-php 22751357Svbart@nginx.com unit-python unit-python2.7 22761357Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 22771357Svbart@nginx.com unit-python3.8 22781357Svbart@nginx.com unit-go 22791357Svbart@nginx.com unit-perl 22801357Svbart@nginx.com unit-ruby 22811357Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 22821357Svbart@nginx.com ver="1.14.0" rev="1" 22831357Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 22841357Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 22851357Svbart@nginx.com 22861357Svbart@nginx.com<change> 22871357Svbart@nginx.com<para> 22881357Svbart@nginx.comNGINX Unit updated to 1.14.0. 22891357Svbart@nginx.com</para> 22901357Svbart@nginx.com</change> 22911357Svbart@nginx.com 22921357Svbart@nginx.com</changes> 22931357Svbart@nginx.com 22941357Svbart@nginx.com 22951330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1" 22961330Svbart@nginx.com date="2019-12-26" time="18:00:00 +0300" 22971330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 22981330Svbart@nginx.com 22991330Svbart@nginx.com<change type="change"> 23001330Svbart@nginx.com<para> 23011330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go". 23021330Svbart@nginx.com</para> 23031330Svbart@nginx.com</change> 23041330Svbart@nginx.com 23051330Svbart@nginx.com<change type="change"> 23061330Svbart@nginx.com<para> 23071330Svbart@nginx.comGo package now links to libunit instead of including library sources. 23081330Svbart@nginx.com</para> 23091330Svbart@nginx.com</change> 23101330Svbart@nginx.com 23111330Svbart@nginx.com<change type="feature"> 23121330Svbart@nginx.com<para> 23131330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon 23141330Svbart@nginx.comruns as an unprivileged user. 23151330Svbart@nginx.com</para> 23161330Svbart@nginx.com</change> 23171330Svbart@nginx.com 23181330Svbart@nginx.com<change type="feature"> 23191330Svbart@nginx.com<para> 23201330Svbart@nginx.comrequest routing by source and destination addresses and ports. 23211330Svbart@nginx.com</para> 23221330Svbart@nginx.com</change> 23231330Svbart@nginx.com 23241330Svbart@nginx.com<change type="bugfix"> 23251330Svbart@nginx.com<para> 23261330Svbart@nginx.commemory bloat on large responses. 23271330Svbart@nginx.com</para> 23281330Svbart@nginx.com</change> 23291330Svbart@nginx.com 23301330Svbart@nginx.com</changes> 23311330Svbart@nginx.com 23321330Svbart@nginx.com 23331330Svbart@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1" 23341330Svbart@nginx.com date="2019-11-20" time="09:00:00 +0300" 23351330Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 23361330Svbart@nginx.com 23371330Svbart@nginx.com<change> 23381330Svbart@nginx.com<para> 23391330Svbart@nginx.comInitial release of Go 1.13 module for NGINX Unit. 23401330Svbart@nginx.com</para> 23411330Svbart@nginx.com</change> 23421330Svbart@nginx.com 23431330Svbart@nginx.com</changes> 23441330Svbart@nginx.com 23451330Svbart@nginx.com 23461290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1" 23471290Sdefan@nginx.com date="2019-11-20" time="09:00:00 +0300" 23481290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 23491290Sdefan@nginx.com 23501290Sdefan@nginx.com<change> 23511290Sdefan@nginx.com<para> 23521290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit. 23531290Sdefan@nginx.com</para> 23541290Sdefan@nginx.com</change> 23551290Sdefan@nginx.com 23561290Sdefan@nginx.com</changes> 23571290Sdefan@nginx.com 23581290Sdefan@nginx.com 23591290Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1" 23601290Sdefan@nginx.com date="2019-11-18" time="14:20:00 +0300" 23611290Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 23621290Sdefan@nginx.com 23631290Sdefan@nginx.com<change> 23641290Sdefan@nginx.com<para> 23651290Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit. 23661290Sdefan@nginx.com</para> 23671290Sdefan@nginx.com</change> 23681290Sdefan@nginx.com 23691290Sdefan@nginx.com</changes> 23701290Sdefan@nginx.com 23711290Sdefan@nginx.com 23721289Sdefan@nginx.com<changes apply="unit-php 23731289Sdefan@nginx.com unit-python unit-python2.7 23741289Sdefan@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 23751289Sdefan@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 23761289Sdefan@nginx.com unit-perl 23771289Sdefan@nginx.com unit-ruby 23781289Sdefan@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 23791289Sdefan@nginx.com ver="1.13.0" rev="1" 23801289Sdefan@nginx.com date="2019-11-14" time="18:00:00 +0300" 23811289Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 23821289Sdefan@nginx.com 23831289Sdefan@nginx.com<change> 23841289Sdefan@nginx.com<para> 23851185Svbart@nginx.comNGINX Unit updated to 1.13.0. 23861185Svbart@nginx.com</para> 23871185Svbart@nginx.com</change> 23881185Svbart@nginx.com 23891185Svbart@nginx.com</changes> 23901185Svbart@nginx.com 23911185Svbart@nginx.com 23921284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1" 23931284Svbart@nginx.com date="2019-11-14" time="18:00:00 +0300" 23941284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 23951284Svbart@nginx.com 23961284Svbart@nginx.com<change type="feature"> 23971284Svbart@nginx.com<para> 23981284Svbart@nginx.combasic support for HTTP reverse proxying. 23991284Svbart@nginx.com</para> 24001284Svbart@nginx.com</change> 24011284Svbart@nginx.com 24021284Svbart@nginx.com<change type="feature"> 24031284Svbart@nginx.com<para> 24041284Svbart@nginx.comcompatibility with Python 3.8. 24051284Svbart@nginx.com</para> 24061284Svbart@nginx.com</change> 24071284Svbart@nginx.com 24081284Svbart@nginx.com<change type="bugfix"> 24091284Svbart@nginx.com<para> 24101284Svbart@nginx.commemory leak in Python application processes when the close handler was used. 24111284Svbart@nginx.com</para> 24121284Svbart@nginx.com</change> 24131284Svbart@nginx.com 24141284Svbart@nginx.com<change type="bugfix"> 24151284Svbart@nginx.com<para> 24161284Svbart@nginx.comthreads in Python applications might not work correctly. 24171284Svbart@nginx.com</para> 24181284Svbart@nginx.com</change> 24191284Svbart@nginx.com 24201284Svbart@nginx.com<change type="bugfix"> 24211284Svbart@nginx.com<para> 24221284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6. 24231284Svbart@nginx.com</para> 24241284Svbart@nginx.com</change> 24251284Svbart@nginx.com 24261284Svbart@nginx.com<change type="bugfix"> 24271284Svbart@nginx.com<para> 24281284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant 24291284Svbart@nginx.comdelays. 24301284Svbart@nginx.com</para> 24311284Svbart@nginx.com</change> 24321284Svbart@nginx.com 24331284Svbart@nginx.com<change type="bugfix"> 24341284Svbart@nginx.com<para> 24351284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it. 24361284Svbart@nginx.com</para> 24371284Svbart@nginx.com</change> 24381284Svbart@nginx.com 24391284Svbart@nginx.com</changes> 24401284Svbart@nginx.com 24411284Svbart@nginx.com 24421284Svbart@nginx.com<changes apply="unit-php 24431284Svbart@nginx.com unit-python unit-python2.7 24441284Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 24451284Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 24461284Svbart@nginx.com unit-perl 24471284Svbart@nginx.com unit-ruby 24481284Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 24491284Svbart@nginx.com ver="1.12.0" rev="1" 24501284Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 24511284Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 24521284Svbart@nginx.com 24531284Svbart@nginx.com<change> 24541284Svbart@nginx.com<para> 24551284Svbart@nginx.comNGINX Unit updated to 1.12.0. 24561284Svbart@nginx.com</para> 24571284Svbart@nginx.com</change> 24581284Svbart@nginx.com 24591284Svbart@nginx.com</changes> 24601284Svbart@nginx.com 24611284Svbart@nginx.com 24621222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1" 24631222Svbart@nginx.com date="2019-10-03" time="18:00:00 +0300" 24641222Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 24651222Svbart@nginx.com 24661222Svbart@nginx.com<change type="feature"> 24671222Svbart@nginx.com<para> 24681222Svbart@nginx.comcompatibility with PHP 7.4. 24691222Svbart@nginx.com</para> 24701222Svbart@nginx.com</change> 24711222Svbart@nginx.com 24721222Svbart@nginx.com<change type="bugfix"> 24731222Svbart@nginx.com<para> 24741222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0. 24751222Svbart@nginx.com</para> 24761222Svbart@nginx.com</change> 24771222Svbart@nginx.com 24781222Svbart@nginx.com<change type="bugfix"> 24791222Svbart@nginx.com<para> 24801222Svbart@nginx.comTLS connection might be closed prematurely while sending response. 24811222Svbart@nginx.com</para> 24821222Svbart@nginx.com</change> 24831222Svbart@nginx.com 24841222Svbart@nginx.com<change type="bugfix"> 24851222Svbart@nginx.com<para> 24861222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested. 24871222Svbart@nginx.com</para> 24881222Svbart@nginx.com</change> 24891222Svbart@nginx.com 24901222Svbart@nginx.com</changes> 24911222Svbart@nginx.com 24921222Svbart@nginx.com 24931222Svbart@nginx.com 24941222Svbart@nginx.com<changes apply="unit-php 24951222Svbart@nginx.com unit-python unit-python2.7 24961222Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 24971222Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 24981222Svbart@nginx.com unit-perl 24991222Svbart@nginx.com unit-ruby 25001222Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 25011222Svbart@nginx.com ver="1.11.0" rev="1" 25021222Svbart@nginx.com date="2019-09-19" time="18:00:00 +0300" 25031222Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 25041222Svbart@nginx.com 25051222Svbart@nginx.com<change> 25061227Sdefan@nginx.com<para> 25071227Sdefan@nginx.comNGINX Unit updated to 1.11.0. 25081227Sdefan@nginx.com</para> 25091227Sdefan@nginx.com</change> 25101227Sdefan@nginx.com 25111227Sdefan@nginx.com</changes> 25121227Sdefan@nginx.com 25131227Sdefan@nginx.com 25141227Sdefan@nginx.com<changes apply="unit" ver="1.11.0" rev="1" 25151227Sdefan@nginx.com date="2019-09-19" time="18:00:00 +0300" 25161227Sdefan@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 25171227Sdefan@nginx.com 25181227Sdefan@nginx.com<change type="feature"> 25191227Sdefan@nginx.com<para> 25201227Sdefan@nginx.combasic support for serving static files. 25211227Sdefan@nginx.com</para> 25221227Sdefan@nginx.com</change> 25231227Sdefan@nginx.com 25241227Sdefan@nginx.com<change type="feature"> 25251227Sdefan@nginx.com<para> 25261222Svbart@nginx.comisolation of application processes with Linux namespaces. 25271222Svbart@nginx.com</para> 25281222Svbart@nginx.com</change> 25291222Svbart@nginx.com 25301222Svbart@nginx.com<change type="feature"> 25311222Svbart@nginx.com<para> 25321222Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers. 25331222Svbart@nginx.com</para> 25341185Svbart@nginx.com</change> 25351185Svbart@nginx.com 25361185Svbart@nginx.com<change type="feature"> 25371185Svbart@nginx.com<para> 25381185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/" 25391185Svbart@nginx.comusing URI encoding (%2F). 25401185Svbart@nginx.com</para> 25411185Svbart@nginx.com</change> 25421185Svbart@nginx.com 25431185Svbart@nginx.com<change type="bugfix"> 25441185Svbart@nginx.com<para> 25451185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load. 25461185Svbart@nginx.com</para> 25471185Svbart@nginx.com</change> 25481185Svbart@nginx.com 25491185Svbart@nginx.com<change type="bugfix"> 25501185Svbart@nginx.com<para> 25511185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than 25521185Svbart@nginx.comGNU ld (e.g. gold or LLD). 25531185Svbart@nginx.com</para> 25541185Svbart@nginx.com</change> 25551185Svbart@nginx.com 25561185Svbart@nginx.com</changes> 25571185Svbart@nginx.com 25581185Svbart@nginx.com 25591185Svbart@nginx.com<changes apply="unit 25601185Svbart@nginx.com unit-php 25611185Svbart@nginx.com unit-python unit-python2.7 25621185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 25631185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 25641185Svbart@nginx.com unit-perl 25651185Svbart@nginx.com unit-ruby 25661185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 25671185Svbart@nginx.com ver="1.10.0" rev="2" 25681185Svbart@nginx.com date="2019-08-23" time="12:00:00 +0300" 25691185Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 25701185Svbart@nginx.com 25711185Svbart@nginx.com<change type="bugfix"> 25721185Svbart@nginx.com<para> 25731185Svbart@nginx.commissed header files added to unit development package. 25741185Svbart@nginx.com</para> 25751185Svbart@nginx.com</change> 25761185Svbart@nginx.com 25771185Svbart@nginx.com</changes> 25781185Svbart@nginx.com 25791185Svbart@nginx.com 25801185Svbart@nginx.com<changes apply="unit-php 25811185Svbart@nginx.com unit-python unit-python2.7 25821185Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 25831185Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 25841185Svbart@nginx.com unit-perl 25851185Svbart@nginx.com unit-ruby 25861185Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 25871185Svbart@nginx.com ver="1.10.0" rev="1" 25881185Svbart@nginx.com date="2019-08-22" time="18:00:00 +0300" 25891185Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 25901185Svbart@nginx.com 25911185Svbart@nginx.com<change> 25921142Sdefan@nginx.com<para> 25931142Sdefan@nginx.comNGINX Unit updated to 1.10.0. 25941142Sdefan@nginx.com</para> 25951142Sdefan@nginx.com</change> 25961142Sdefan@nginx.com 25971142Sdefan@nginx.com</changes> 25981142Sdefan@nginx.com 25991142Sdefan@nginx.com 26001142Sdefan@nginx.com<changes apply="unit" ver="1.10.0" rev="1" 26011142Sdefan@nginx.com date="2019-08-22" time="18:00:00 +0300" 26021142Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 26031142Sdefan@nginx.com 26041142Sdefan@nginx.com<change type="change"> 26051142Sdefan@nginx.com<para> 26061142Sdefan@nginx.commatching of cookies in routes made case sensitive. 26071142Sdefan@nginx.com</para> 26081142Sdefan@nginx.com</change> 26091142Sdefan@nginx.com 26101142Sdefan@nginx.com<change type="change"> 26111142Sdefan@nginx.com<para> 26121142Sdefan@nginx.comdecreased log level of common errors when clients close connections. 26131134Svbart@nginx.com</para> 26141134Svbart@nginx.com</change> 26151134Svbart@nginx.com 26161134Svbart@nginx.com<change type="change"> 26171134Svbart@nginx.com<para> 26181134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option. 26191134Svbart@nginx.com</para> 26201134Svbart@nginx.com</change> 26211134Svbart@nginx.com 26221134Svbart@nginx.com<change type="feature"> 26231134Svbart@nginx.com<para> 26241134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module. 26251134Svbart@nginx.com</para> 26261134Svbart@nginx.com</change> 26271134Svbart@nginx.com 26281134Svbart@nginx.com<change type="feature"> 26291134Svbart@nginx.com<para> 26301134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module. 26311134Svbart@nginx.com</para> 26321134Svbart@nginx.com</change> 26331134Svbart@nginx.com 26341134Svbart@nginx.com<change type="feature"> 26351134Svbart@nginx.com<para> 26361134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS). 26371134Svbart@nginx.com</para> 26381134Svbart@nginx.com</change> 26391134Svbart@nginx.com 26401134Svbart@nginx.com<change type="feature"> 26411134Svbart@nginx.com<para> 26421134Svbart@nginx.comsupport for multipart requests body in Java module. 26431134Svbart@nginx.com</para> 26441134Svbart@nginx.com</change> 26451134Svbart@nginx.com 26461134Svbart@nginx.com<change type="feature"> 26471134Svbart@nginx.com<para> 26481134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later. 26491134Svbart@nginx.com</para> 26501134Svbart@nginx.com</change> 26511134Svbart@nginx.com 26521134Svbart@nginx.com<change type="bugfix"> 26531134Svbart@nginx.com<para> 26541134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing. 26551134Svbart@nginx.com</para> 26561134Svbart@nginx.com</change> 26571134Svbart@nginx.com 26581134Svbart@nginx.com<change type="bugfix"> 26591134Svbart@nginx.com<para> 26601134Svbart@nginx.comapplying a large configuration might have failed. 26611134Svbart@nginx.com</para> 26621134Svbart@nginx.com</change> 26631134Svbart@nginx.com 26641134Svbart@nginx.com</changes> 26651134Svbart@nginx.com 26661134Svbart@nginx.com 26671134Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1" 26681134Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 26691134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 26701134Svbart@nginx.com 26711134Svbart@nginx.com<change> 26721134Svbart@nginx.com<para> 26731134Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit. 26741134Svbart@nginx.com</para> 26751134Svbart@nginx.com</change> 26761134Svbart@nginx.com 26771134Svbart@nginx.com</changes> 26781134Svbart@nginx.com 26791134Svbart@nginx.com 26801134Svbart@nginx.com<changes apply="unit-php 26811134Svbart@nginx.com unit-python unit-python2.7 26821134Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 26831134Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 26841134Svbart@nginx.com unit-perl 26851134Svbart@nginx.com unit-ruby 26861134Svbart@nginx.com unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 26871134Svbart@nginx.com ver="1.9.0" rev="1" 26881134Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 26891134Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 26901134Svbart@nginx.com 26911134Svbart@nginx.com<change> 26921134Svbart@nginx.com<para> 26931134Svbart@nginx.comNGINX Unit updated to 1.9.0. 26941134Svbart@nginx.com</para> 26951134Svbart@nginx.com</change> 26961134Svbart@nginx.com 26971134Svbart@nginx.com</changes> 26981134Svbart@nginx.com 26991134Svbart@nginx.com 27001069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1" 27011069Svbart@nginx.com date="2019-05-30" time="18:00:00 +0300" 27021069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 27031069Svbart@nginx.com 27041069Svbart@nginx.com<change type="feature"> 27051069Svbart@nginx.com<para> 27061069Svbart@nginx.comrequest routing by arguments, headers, and cookies. 27071069Svbart@nginx.com</para> 27081069Svbart@nginx.com</change> 27091069Svbart@nginx.com 27101069Svbart@nginx.com<change type="feature"> 27111069Svbart@nginx.com<para> 27121069Svbart@nginx.comroute matching patterns allow a wildcard in the middle. 27131069Svbart@nginx.com</para> 27141069Svbart@nginx.com</change> 27151069Svbart@nginx.com 27161069Svbart@nginx.com<change type="feature"> 27171069Svbart@nginx.com<para> 27181069Svbart@nginx.comPOST operation for appending elements to arrays in configuration. 27191069Svbart@nginx.com</para> 27201069Svbart@nginx.com</change> 27211069Svbart@nginx.com 27221069Svbart@nginx.com<change type="feature"> 27231069Svbart@nginx.com<para> 27241069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities 27251069Svbart@nginx.comon Linux without running main process as privileged user. 27261069Svbart@nginx.com</para> 27271069Svbart@nginx.com</change> 27281069Svbart@nginx.com 27291069Svbart@nginx.com<change type="bugfix"> 27301069Svbart@nginx.com<para> 27311069Svbart@nginx.commemory leak in the router process might have happened when a client 27321069Svbart@nginx.comprematurely closed the connection. 27331069Svbart@nginx.com</para> 27341069Svbart@nginx.com</change> 27351069Svbart@nginx.com 27361069Svbart@nginx.com<change type="bugfix"> 27371069Svbart@nginx.com<para> 27381069Svbart@nginx.comapplying a large configuration might have failed. 27391069Svbart@nginx.com</para> 27401069Svbart@nginx.com</change> 27411069Svbart@nginx.com 27421069Svbart@nginx.com<change type="bugfix"> 27431069Svbart@nginx.com<para> 27441069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work. 27451069Svbart@nginx.com</para> 27461069Svbart@nginx.com</change> 27471069Svbart@nginx.com 27481069Svbart@nginx.com<change type="bugfix"> 27491069Svbart@nginx.com<para> 27501069Svbart@nginx.comrequest schema in applications did not reflect TLS connections. 27511069Svbart@nginx.com</para> 27521069Svbart@nginx.com</change> 27531069Svbart@nginx.com 27541069Svbart@nginx.com<change type="bugfix"> 27551069Svbart@nginx.com<para> 27561069Svbart@nginx.comrestored compatibility with Node.js applications that use 27571069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7. 27581069Svbart@nginx.com</para> 27591069Svbart@nginx.com</change> 27601069Svbart@nginx.com 27611069Svbart@nginx.com<change type="bugfix"> 27621069Svbart@nginx.com<para> 27631069Svbart@nginx.comvarious compatibility issues with Node.js applications. 27641069Svbart@nginx.com</para> 27651069Svbart@nginx.com</change> 27661069Svbart@nginx.com 27671069Svbart@nginx.com</changes> 27681069Svbart@nginx.com 27691069Svbart@nginx.com 27701069Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 27711069Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 27721069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 27731069Svbart@nginx.com 27741069Svbart@nginx.com<change> 27751069Svbart@nginx.com<para> 27761069Svbart@nginx.comInitial release of Java common packages for NGINX Unit. 27771069Svbart@nginx.com</para> 27781069Svbart@nginx.com</change> 27791069Svbart@nginx.com 27801069Svbart@nginx.com</changes> 27811069Svbart@nginx.com 27821069Svbart@nginx.com 27831069Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1" 27841069Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 27851069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 27861069Svbart@nginx.com 27871069Svbart@nginx.com<change> 27881069Svbart@nginx.com<para> 27891069Svbart@nginx.comInitial release of Java 8 module for NGINX Unit. 27901069Svbart@nginx.com</para> 27911069Svbart@nginx.com</change> 27921069Svbart@nginx.com 27931069Svbart@nginx.com</changes> 27941069Svbart@nginx.com 27951069Svbart@nginx.com 27961069Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1" 27971069Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 27981069Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 27991069Svbart@nginx.com 28001069Svbart@nginx.com<change> 28011069Svbart@nginx.com<para> 28021069Svbart@nginx.comInitial release of Java 10 module for NGINX Unit. 2803991Svbart@nginx.com</para> 2804991Svbart@nginx.com</change> 2805991Svbart@nginx.com 2806991Svbart@nginx.com</changes> 2807991Svbart@nginx.com 2808991Svbart@nginx.com 2809991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1" 2810991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 2811991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2812991Svbart@nginx.com 2813991Svbart@nginx.com<change> 2814991Svbart@nginx.com<para> 2815991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit. 2816991Svbart@nginx.com</para> 2817991Svbart@nginx.com</change> 2818991Svbart@nginx.com 2819991Svbart@nginx.com</changes> 2820991Svbart@nginx.com 2821991Svbart@nginx.com 2822991Svbart@nginx.com<changes apply="unit-php 2823991Svbart@nginx.com unit-python unit-python2.7 2824991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2825991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2826991Svbart@nginx.com unit-perl 2827991Svbart@nginx.com unit-ruby" 2828991Svbart@nginx.com ver="1.8.0" rev="1" 2829991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 2830991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2831991Svbart@nginx.com 2832991Svbart@nginx.com<change> 2833991Svbart@nginx.com<para> 2834991Svbart@nginx.comNGINX Unit updated to 1.8.0. 2835991Svbart@nginx.com</para> 2836991Svbart@nginx.com</change> 2837991Svbart@nginx.com 2838991Svbart@nginx.com</changes> 2839991Svbart@nginx.com 2840991Svbart@nginx.com 2841991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1" 2842991Svbart@nginx.com date="2019-03-01" time="18:00:00 +0300" 2843991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2844991Svbart@nginx.com 2845991Svbart@nginx.com<change type="change"> 2846991Svbart@nginx.com<para> 2847991Svbart@nginx.comnow three numbers are always used for versioning: major, minor, 2848991Svbart@nginx.comand patch versions. 2849991Svbart@nginx.com</para> 2850991Svbart@nginx.com</change> 2851991Svbart@nginx.com 2852991Svbart@nginx.com<change type="change"> 2853991Svbart@nginx.com<para> 2854991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include 2855991Svbart@nginx.comthe query component. 2856991Svbart@nginx.com</para> 2857991Svbart@nginx.com</change> 2858991Svbart@nginx.com 2859991Svbart@nginx.com<change type="feature"> 2860991Svbart@nginx.com<para> 2861991Svbart@nginx.combasic internal request routing by Host, URI, and method. 2862991Svbart@nginx.com</para> 2863991Svbart@nginx.com</change> 2864991Svbart@nginx.com 2865991Svbart@nginx.com<change type="feature"> 2866991Svbart@nginx.com<para> 2867991Svbart@nginx.comexperimental support for Java Servlet Containers. 2868991Svbart@nginx.com</para> 2869991Svbart@nginx.com</change> 2870991Svbart@nginx.com 2871991Svbart@nginx.com<change type="bugfix"> 2872991Svbart@nginx.com<para> 2873991Svbart@nginx.comsegmentation fault might have occurred in the router process. 2874991Svbart@nginx.com</para> 2875991Svbart@nginx.com</change> 2876991Svbart@nginx.com 2877991Svbart@nginx.com<change type="bugfix"> 2878991Svbart@nginx.com<para> 2879991Svbart@nginx.comvarious potential memory leaks. 2880991Svbart@nginx.com</para> 2881991Svbart@nginx.com</change> 2882991Svbart@nginx.com 2883991Svbart@nginx.com<change type="bugfix"> 2884991Svbart@nginx.com<para> 2885991Svbart@nginx.comTLS connections might have stalled. 2886991Svbart@nginx.com</para> 2887991Svbart@nginx.com</change> 2888991Svbart@nginx.com 2889991Svbart@nginx.com<change type="bugfix"> 2890991Svbart@nginx.com<para> 2891991Svbart@nginx.comsome Perl applications might have failed to send the response body. 2892991Svbart@nginx.com</para> 2893991Svbart@nginx.com</change> 2894991Svbart@nginx.com 2895991Svbart@nginx.com<change type="bugfix"> 2896991Svbart@nginx.com<para> 2897991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds; 2898991Svbart@nginx.comthe bug had appeared in 1.5. 2899991Svbart@nginx.com</para> 2900991Svbart@nginx.com</change> 2901991Svbart@nginx.com 2902991Svbart@nginx.com<change type="bugfix"> 2903991Svbart@nginx.com<para> 2904991Svbart@nginx.comNode.js package had wrong version number when installed from sources. 2905991Svbart@nginx.com</para> 2906991Svbart@nginx.com</change> 2907991Svbart@nginx.com 2908991Svbart@nginx.com</changes> 2909991Svbart@nginx.com 2910991Svbart@nginx.com 2911991Svbart@nginx.com<changes apply="unit-php 2912991Svbart@nginx.com unit-python unit-python2.7 2913991Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 2914991Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2915991Svbart@nginx.com unit-perl 2916991Svbart@nginx.com unit-ruby" 2917991Svbart@nginx.com ver="1.7.1" rev="1" 2918991Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 2919991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2920991Svbart@nginx.com 2921991Svbart@nginx.com<change> 2922991Svbart@nginx.com<para> 2923991Svbart@nginx.comNGINX Unit updated to 1.7.1. 2924991Svbart@nginx.com</para> 2925991Svbart@nginx.com</change> 2926991Svbart@nginx.com 2927991Svbart@nginx.com</changes> 2928991Svbart@nginx.com 2929991Svbart@nginx.com 2930991Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1" 2931991Svbart@nginx.com date="2019-02-07" time="18:00:00 +0300" 2932991Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2933991Svbart@nginx.com 2934991Svbart@nginx.com<change type="security"> 2935991Svbart@nginx.com<para> 2936991Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by 2937991Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or 2938991Svbart@nginx.comother unspecified behavior (CVE-2019-7401). 2939991Svbart@nginx.com</para> 2940991Svbart@nginx.com</change> 2941991Svbart@nginx.com 2942991Svbart@nginx.com<change type="bugfix"> 2943991Svbart@nginx.com<para> 2944926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon; 2945926Svbart@nginx.comthe bug had appeared in 1.7. 2946926Svbart@nginx.com</para> 2947926Svbart@nginx.com</change> 2948926Svbart@nginx.com 2949926Svbart@nginx.com</changes> 2950926Svbart@nginx.com 2951926Svbart@nginx.com 2952926Svbart@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1" 2953926Svbart@nginx.com date="2018-12-25" time="10:30:00 +0300" 2954926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2955926Svbart@nginx.com 2956926Svbart@nginx.com<change> 2957926Svbart@nginx.com<para> 2958926Svbart@nginx.comInitial release of Python 3.7 module for NGINX Unit. 2959926Svbart@nginx.com</para> 2960926Svbart@nginx.com</change> 2961926Svbart@nginx.com 2962926Svbart@nginx.com</changes> 2963926Svbart@nginx.com 2964926Svbart@nginx.com 2965926Svbart@nginx.com<changes apply="unit-php 2966926Svbart@nginx.com unit-python unit-python2.7 2967926Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 2968926Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 2969926Svbart@nginx.com unit-perl 2970926Svbart@nginx.com unit-ruby" 2971926Svbart@nginx.com ver="1.7" rev="1" 2972926Svbart@nginx.com date="2018-12-20" time="18:00:00 +0300" 2973926Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2974926Svbart@nginx.com 2975926Svbart@nginx.com<change> 2976926Svbart@nginx.com<para> 2977926Svbart@nginx.comNGINX Unit updated to 1.7. 2978926Svbart@nginx.com</para> 2979926Svbart@nginx.com</change> 2980926Svbart@nginx.com 2981926Svbart@nginx.com</changes> 2982926Svbart@nginx.com 2983926Svbart@nginx.com 2984926Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1" 2985902Sdefan@nginx.com date="2018-12-20" time="18:00:00 +0300" 2986902Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 2987902Sdefan@nginx.com 2988902Sdefan@nginx.com<change type="change"> 2989902Sdefan@nginx.com<para> 2990902Sdefan@nginx.comnow rpath is set in Ruby module only if the library was not found in default 2991902Sdefan@nginx.comsearch paths; this allows to meet packaging restrictions on some systems. 2992902Sdefan@nginx.com</para> 2993902Sdefan@nginx.com</change> 2994902Sdefan@nginx.com 2995902Sdefan@nginx.com<change type="bugfix"> 2996902Sdefan@nginx.com<para> 2997902Sdefan@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API 2998821Svbart@nginx.comdid not work. 2999821Svbart@nginx.com</para> 3000821Svbart@nginx.com</change> 3001821Svbart@nginx.com 3002821Svbart@nginx.com<change type="bugfix"> 3003821Svbart@nginx.com<para> 3004886Svbart@nginx.comPromises on request data in Node.js were not triggered. 3005886Svbart@nginx.com</para> 3006886Svbart@nginx.com</change> 3007886Svbart@nginx.com 3008886Svbart@nginx.com<change type="bugfix"> 3009886Svbart@nginx.com<para> 3010886Svbart@nginx.comvarious compatibility issues with Node.js applications. 3011886Svbart@nginx.com</para> 3012886Svbart@nginx.com</change> 3013886Svbart@nginx.com 3014886Svbart@nginx.com<change type="bugfix"> 3015886Svbart@nginx.com<para> 3016886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read 3017886Svbart@nginx.comrequest body after request.end() was called. 3018886Svbart@nginx.com</para> 3019886Svbart@nginx.com</change> 3020886Svbart@nginx.com 3021886Svbart@nginx.com<change type="bugfix"> 3022886Svbart@nginx.com<para> 3023886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to 3024886Svbart@nginx.comsend header twice. 3025886Svbart@nginx.com</para> 3026886Svbart@nginx.com</change> 3027886Svbart@nginx.com 3028886Svbart@nginx.com<change type="bugfix"> 3029886Svbart@nginx.com<para> 3030886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as 3031886Svbart@nginx.comcase-sensitive. 3032886Svbart@nginx.com</para> 3033886Svbart@nginx.com</change> 3034886Svbart@nginx.com 3035886Svbart@nginx.com<change type="bugfix"> 3036886Svbart@nginx.com<para> 3037886Svbart@nginx.comuncatched exceptions in Node.js were not logged. 3038886Svbart@nginx.com</para> 3039886Svbart@nginx.com</change> 3040886Svbart@nginx.com 3041886Svbart@nginx.com<change type="bugfix"> 3042886Svbart@nginx.com<para> 3043886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems; 3044886Svbart@nginx.comthe bug had appeared in 1.6. 3045886Svbart@nginx.com</para> 3046886Svbart@nginx.com</change> 3047886Svbart@nginx.com 3048886Svbart@nginx.com<change type="bugfix"> 3049886Svbart@nginx.com<para> 3050886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not 3051886Svbart@nginx.combe logged. 3052886Svbart@nginx.com</para> 3053886Svbart@nginx.com</change> 3054886Svbart@nginx.com 3055886Svbart@nginx.com<change type="bugfix"> 3056886Svbart@nginx.com<para> 3057886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety 3058886Svbart@nginx.comenabled. 3059886Svbart@nginx.com</para> 3060886Svbart@nginx.com</change> 3061886Svbart@nginx.com 3062886Svbart@nginx.com</changes> 3063886Svbart@nginx.com 3064886Svbart@nginx.com 3065886Svbart@nginx.com<changes apply="unit-php 3066886Svbart@nginx.com unit-python unit-python2.7 3067886Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3068886Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 3069886Svbart@nginx.com unit-perl 3070886Svbart@nginx.com unit-ruby" 3071886Svbart@nginx.com ver="1.6" rev="1" 3072886Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 3073886Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 3074886Svbart@nginx.com 3075886Svbart@nginx.com<change> 3076886Svbart@nginx.com<para> 3077886Svbart@nginx.comNGINX Unit updated to 1.6. 3078886Svbart@nginx.com</para> 3079886Svbart@nginx.com</change> 3080886Svbart@nginx.com 3081886Svbart@nginx.com</changes> 3082886Svbart@nginx.com 3083886Svbart@nginx.com 3084886Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1" 3085886Svbart@nginx.com date="2018-11-15" time="18:00:00 +0300" 3086886Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 3087886Svbart@nginx.com 3088886Svbart@nginx.com<change type="change"> 3089886Svbart@nginx.com<para> 3090886Svbart@nginx.com"make install" now installs Node.js module as well if it was configured. 3091886Svbart@nginx.com</para> 3092886Svbart@nginx.com</change> 3093886Svbart@nginx.com 3094886Svbart@nginx.com<change type="feature"> 3095886Svbart@nginx.com<para> 3096886Svbart@nginx.com"--local" ./configure option to install Node.js module locally. 3097886Svbart@nginx.com</para> 3098886Svbart@nginx.com</change> 3099886Svbart@nginx.com 3100886Svbart@nginx.com<change type="bugfix"> 3101886Svbart@nginx.com<para> 3102886Svbart@nginx.comNode.js module might have crashed due to broken reference counting. 3103886Svbart@nginx.com</para> 3104846Svbart@nginx.com</change> 3105846Svbart@nginx.com 3106846Svbart@nginx.com<change type="bugfix"> 3107846Svbart@nginx.com<para> 3108846Svbart@nginx.comasynchronous operations in Node.js might not have worked. 3109846Svbart@nginx.com</para> 3110846Svbart@nginx.com</change> 3111846Svbart@nginx.com 3112846Svbart@nginx.com<change type="bugfix"> 3113846Svbart@nginx.com<para> 3114846Svbart@nginx.comvarious compatibility issues with Node.js applications. 3115846Svbart@nginx.com</para> 3116846Svbart@nginx.com</change> 3117846Svbart@nginx.com 3118846Svbart@nginx.com<change type="bugfix"> 3119846Svbart@nginx.com<para> 3120846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log. 3121846Svbart@nginx.com</para> 3122846Svbart@nginx.com</change> 3123846Svbart@nginx.com 3124846Svbart@nginx.com<change type="bugfix"> 3125846Svbart@nginx.com<para> 3126846Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x. 3127846Svbart@nginx.com</para> 3128846Svbart@nginx.com</change> 3129846Svbart@nginx.com 3130846Svbart@nginx.com</changes> 3131846Svbart@nginx.com 3132846Svbart@nginx.com 3133846Svbart@nginx.com<changes apply="unit-php 3134846Svbart@nginx.com unit-python unit-python2.7 3135846Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3136846Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 3137846Svbart@nginx.com unit-perl 3138846Svbart@nginx.com unit-ruby" 3139846Svbart@nginx.com ver="1.5" rev="1" 3140846Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 3141846Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3142846Svbart@nginx.com 3143846Svbart@nginx.com<change> 3144846Svbart@nginx.com<para> 3145846Svbart@nginx.comNGINX Unit updated to 1.5. 3146846Svbart@nginx.com</para> 3147846Svbart@nginx.com</change> 3148846Svbart@nginx.com 3149846Svbart@nginx.com</changes> 3150846Svbart@nginx.com 3151846Svbart@nginx.com 3152846Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1" 3153846Svbart@nginx.com date="2018-10-25" time="18:00:00 +0300" 3154846Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3155846Svbart@nginx.com 3156846Svbart@nginx.com<change type="change"> 3157846Svbart@nginx.com<para> 3158846Svbart@nginx.comthe "type" of application object for Go was changed to "external". 3159885Svbart@nginx.com</para> 3160846Svbart@nginx.com</change> 3161846Svbart@nginx.com 3162846Svbart@nginx.com<change type="feature"> 3163846Svbart@nginx.com<para> 3164846Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support. 3165846Svbart@nginx.com</para> 3166846Svbart@nginx.com</change> 3167846Svbart@nginx.com 3168846Svbart@nginx.com<change type="feature"> 3169846Svbart@nginx.com<para> 3170846Svbart@nginx.comcompatibility with LibreSSL. 3171846Svbart@nginx.com</para> 3172821Svbart@nginx.com</change> 3173821Svbart@nginx.com 3174821Svbart@nginx.com<change type="feature"> 3175821Svbart@nginx.com<para> 3176821Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers 3177821Svbart@nginx.comand static library. 3178821Svbart@nginx.com</para> 3179821Svbart@nginx.com</change> 3180821Svbart@nginx.com 3181821Svbart@nginx.com<change type="bugfix"> 3182821Svbart@nginx.com<para> 3183821Svbart@nginx.comconnection might be closed prematurely while sending response; 3184821Svbart@nginx.comthe bug had appeared in 1.3. 3185820Svbart@nginx.com</para> 3186820Svbart@nginx.com</change> 3187820Svbart@nginx.com 3188820Svbart@nginx.com<change type="bugfix"> 3189820Svbart@nginx.com<para> 3190820Svbart@nginx.comapplication processes might have stopped handling requests, producing 3191820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log; 3192820Svbart@nginx.comthe bug had appeared in 1.4. 3193820Svbart@nginx.com</para> 3194820Svbart@nginx.com</change> 3195820Svbart@nginx.com 3196820Svbart@nginx.com<change type="bugfix"> 3197820Svbart@nginx.com<para> 3198820Svbart@nginx.comGo applications did not work when Unit was built with musl C library. 3199820Svbart@nginx.com</para> 3200820Svbart@nginx.com</change> 3201820Svbart@nginx.com 3202820Svbart@nginx.com</changes> 3203820Svbart@nginx.com 3204820Svbart@nginx.com 3205820Svbart@nginx.com<changes apply="unit-php 3206820Svbart@nginx.com unit-python unit-python2.7 3207820Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3208820Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 3209820Svbart@nginx.com unit-perl 3210820Svbart@nginx.com unit-ruby" 3211820Svbart@nginx.com ver="1.4" rev="2" 3212820Svbart@nginx.com date="2018-09-27" time="13:30:00 +0300" 3213820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3214820Svbart@nginx.com 3215820Svbart@nginx.com<change type="bugfix"> 3216820Svbart@nginx.com<para> 3217820Svbart@nginx.comcorrected instructions for launching sample application. 3218820Svbart@nginx.com</para> 3219820Svbart@nginx.com</change> 3220820Svbart@nginx.com 3221820Svbart@nginx.com</changes> 3222820Svbart@nginx.com 3223820Svbart@nginx.com 3224820Svbart@nginx.com<changes apply="unit" ver="1.4" rev="2" 3225820Svbart@nginx.com date="2018-09-27" time="13:30:00 +0300" 3226820Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3227820Svbart@nginx.com 3228820Svbart@nginx.com<change type="change"> 3229820Svbart@nginx.com<para> 3230820Svbart@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed. 3231885Svbart@nginx.com</para> 3232820Svbart@nginx.com</change> 3233820Svbart@nginx.com 3234820Svbart@nginx.com</changes> 3235820Svbart@nginx.com 3236820Svbart@nginx.com 3237820Svbart@nginx.com<changes apply="unit-php 3238689Svbart@nginx.com unit-python unit-python2.7 3239689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3240689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 3241689Svbart@nginx.com unit-perl 3242689Svbart@nginx.com unit-ruby" 3243689Svbart@nginx.com ver="1.4" rev="1" 3244788Sdefan@nginx.com date="2018-09-20" time="18:00:00 +0300" 3245788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3246788Sdefan@nginx.com 3247788Sdefan@nginx.com<change> 3248788Sdefan@nginx.com<para> 3249788Sdefan@nginx.comNGINX Unit updated to 1.4. 3250788Sdefan@nginx.com</para> 3251788Sdefan@nginx.com</change> 3252788Sdefan@nginx.com 3253788Sdefan@nginx.com</changes> 3254788Sdefan@nginx.com 3255788Sdefan@nginx.com 3256788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="1" 3257788Sdefan@nginx.com date="2018-09-20" time="18:00:00 +0300" 3258788Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3259788Sdefan@nginx.com 3260788Sdefan@nginx.com<change type="change"> 3261788Sdefan@nginx.com<para> 3262788Sdefan@nginx.comthe control API maps the configuration object only at "/config/". 3263788Sdefan@nginx.com</para> 3264788Sdefan@nginx.com</change> 3265788Sdefan@nginx.com 3266788Sdefan@nginx.com<change type="feature"> 3267788Sdefan@nginx.com<para> 3268788Sdefan@nginx.comTLS support for client connections. 3269788Sdefan@nginx.com</para> 3270788Sdefan@nginx.com</change> 3271788Sdefan@nginx.com 3272788Sdefan@nginx.com<change type="feature"> 3273788Sdefan@nginx.com<para> 3274788Sdefan@nginx.comTLS certificates storage control API. 3275788Sdefan@nginx.com</para> 3276783Svbart@nginx.com</change> 3277783Svbart@nginx.com 3278783Svbart@nginx.com<change type="feature"> 3279783Svbart@nginx.com<para> 3280783Svbart@nginx.comUnit library (libunit) to streamline language module integration. 3281783Svbart@nginx.com</para> 3282783Svbart@nginx.com</change> 3283783Svbart@nginx.com 3284783Svbart@nginx.com<change type="feature"> 3285783Svbart@nginx.com<para> 3286783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections. 3287783Svbart@nginx.com</para> 3288783Svbart@nginx.com</change> 3289783Svbart@nginx.com 3290783Svbart@nginx.com<change type="feature"> 3291783Svbart@nginx.com<para> 3292783Svbart@nginx.comimprovements in OpenBSD support. 3293783Svbart@nginx.comThanks to David Carlier. 3294783Svbart@nginx.com</para> 3295783Svbart@nginx.com</change> 3296783Svbart@nginx.com 3297783Svbart@nginx.com<change type="bugfix"> 3298783Svbart@nginx.com<para> 3299783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration. 3300783Svbart@nginx.com</para> 3301783Svbart@nginx.com</change> 3302783Svbart@nginx.com 3303783Svbart@nginx.com<change type="bugfix"> 3304783Svbart@nginx.com<para> 3305783Svbart@nginx.combuilding on systems with non-default locale might be broken. 3306783Svbart@nginx.com</para> 3307783Svbart@nginx.com</change> 3308783Svbart@nginx.com 3309783Svbart@nginx.com<change type="bugfix"> 3310783Svbart@nginx.com<para> 3311783Svbart@nginx.com"header_read_timeout" might not work properly. 3312783Svbart@nginx.com</para> 3313783Svbart@nginx.com</change> 3314783Svbart@nginx.com 3315783Svbart@nginx.com<change type="bugfix"> 3316783Svbart@nginx.com<para> 3317783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly 3318783Svbart@nginx.comin Python 3 module. 3319783Svbart@nginx.com</para> 3320783Svbart@nginx.com</change> 3321783Svbart@nginx.com 3322783Svbart@nginx.com</changes> 3323783Svbart@nginx.com 3324783Svbart@nginx.com 3325783Svbart@nginx.com<changes apply="unit-php 3326783Svbart@nginx.com unit-python unit-python2.7 3327783Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3328783Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 3329783Svbart@nginx.com unit-perl 3330783Svbart@nginx.com unit-ruby" 3331783Svbart@nginx.com ver="1.3" rev="1" 3332783Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 3333783Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 3334783Svbart@nginx.com 3335783Svbart@nginx.com<change> 3336783Svbart@nginx.com<para> 3337783Svbart@nginx.comNGINX Unit updated to 1.3. 3338783Svbart@nginx.com</para> 3339783Svbart@nginx.com</change> 3340783Svbart@nginx.com 3341783Svbart@nginx.com</changes> 3342783Svbart@nginx.com 3343783Svbart@nginx.com 3344783Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1" 3345783Svbart@nginx.com date="2018-07-13" time="18:00:00 +0300" 3346783Svbart@nginx.com packager="Konstantin Pavlov <thresh@nginx.com>"> 3347783Svbart@nginx.com 3348783Svbart@nginx.com<change type="change"> 3349783Svbart@nginx.com<para> 3350783Svbart@nginx.comUTF-8 characters are now allowed in request header field values. 3351783Svbart@nginx.com</para> 3352783Svbart@nginx.com</change> 3353783Svbart@nginx.com 3354783Svbart@nginx.com<change type="feature"> 3355783Svbart@nginx.com<para> 3356783Svbart@nginx.comconfiguration of the request body size limit. 3357783Svbart@nginx.com</para> 3358783Svbart@nginx.com</change> 3359783Svbart@nginx.com 3360783Svbart@nginx.com<change type="feature"> 3361783Svbart@nginx.com<para> 3362783Svbart@nginx.comconfiguration of various HTTP connection timeouts. 3363783Svbart@nginx.com</para> 3364727Svbart@nginx.com</change> 3365727Svbart@nginx.com 3366727Svbart@nginx.com<change type="feature"> 3367727Svbart@nginx.com<para> 3368727Svbart@nginx.comRuby module now automatically uses Bundler where possible. 3369727Svbart@nginx.com</para> 3370727Svbart@nginx.com</change> 3371727Svbart@nginx.com 3372727Svbart@nginx.com<change type="feature"> 3373727Svbart@nginx.com<para> 3374727Svbart@nginx.comhttp.Flusher interface in Go module. 3375727Svbart@nginx.com</para> 3376727Svbart@nginx.com</change> 3377727Svbart@nginx.com 3378727Svbart@nginx.com<change type="bugfix"> 3379727Svbart@nginx.com<para> 3380727Svbart@nginx.comvarious issues in HTTP connection errors handling. 3381727Svbart@nginx.com</para> 3382727Svbart@nginx.com</change> 3383727Svbart@nginx.com 3384727Svbart@nginx.com<change type="bugfix"> 3385727Svbart@nginx.com<para> 3386727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module. 3387727Svbart@nginx.com</para> 3388727Svbart@nginx.com</change> 3389727Svbart@nginx.com 3390727Svbart@nginx.com<change type="bugfix"> 3391727Svbart@nginx.com<para> 3392727Svbart@nginx.comindividual PHP configuration options specified via control API were reset 3393727Svbart@nginx.comto previous values after the first request in application process. 3394727Svbart@nginx.com</para> 3395727Svbart@nginx.com</change> 3396727Svbart@nginx.com 3397727Svbart@nginx.com</changes> 3398727Svbart@nginx.com 3399727Svbart@nginx.com 3400727Svbart@nginx.com<changes apply="unit-php 3401727Svbart@nginx.com unit-python unit-python2.7 3402727Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3403727Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 3404727Svbart@nginx.com unit-perl 3405727Svbart@nginx.com unit-ruby" 3406727Svbart@nginx.com ver="1.2" rev="1" 3407727Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 3408727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3409727Svbart@nginx.com 3410727Svbart@nginx.com<change> 3411727Svbart@nginx.com<para> 3412727Svbart@nginx.comNGINX Unit updated to 1.2. 3413727Svbart@nginx.com</para> 3414727Svbart@nginx.com</change> 3415727Svbart@nginx.com 3416727Svbart@nginx.com</changes> 3417727Svbart@nginx.com 3418727Svbart@nginx.com 3419727Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1" 3420727Svbart@nginx.com date="2018-06-07" time="18:00:00 +0300" 3421727Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3422727Svbart@nginx.com 3423727Svbart@nginx.com<change type="feature"> 3424727Svbart@nginx.com<para> 3425727Svbart@nginx.comconfiguration of environment variables for application processes. 3426727Svbart@nginx.com</para> 3427727Svbart@nginx.com</change> 3428727Svbart@nginx.com 3429727Svbart@nginx.com<change type="feature"> 3430727Svbart@nginx.com<para> 3431727Svbart@nginx.comcustomization of php.ini path. 3432727Svbart@nginx.com</para> 3433727Svbart@nginx.com</change> 3434727Svbart@nginx.com 3435727Svbart@nginx.com<change type="feature"> 3436727Svbart@nginx.com<para> 3437727Svbart@nginx.comsetting of individual PHP configuration options. 3438727Svbart@nginx.com</para> 3439689Svbart@nginx.com</change> 3440689Svbart@nginx.com 3441689Svbart@nginx.com<change type="feature"> 3442689Svbart@nginx.com<para> 3443689Svbart@nginx.comconfiguration of execution arguments for Go applications. 3444689Svbart@nginx.com</para> 3445689Svbart@nginx.com</change> 3446689Svbart@nginx.com 3447689Svbart@nginx.com<change type="bugfix"> 3448689Svbart@nginx.com<para> 3449689Svbart@nginx.comkeep-alive connections might hang after reconfiguration. 3450689Svbart@nginx.com</para> 3451689Svbart@nginx.com</change> 3452689Svbart@nginx.com 3453689Svbart@nginx.com</changes> 3454689Svbart@nginx.com 3455689Svbart@nginx.com 3456689Svbart@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1" 3457689Svbart@nginx.com date="2018-05-14" time="18:00:00 +0300" 3458689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3459689Svbart@nginx.com 3460689Svbart@nginx.com<change> 3461689Svbart@nginx.com<para> 3462689Svbart@nginx.comInitial release of Go 1.10 module for NGINX Unit. 3463689Svbart@nginx.com</para> 3464689Svbart@nginx.com</change> 3465689Svbart@nginx.com 3466689Svbart@nginx.com</changes> 3467689Svbart@nginx.com 3468689Svbart@nginx.com 3469689Svbart@nginx.com<changes apply="unit-php 3470689Svbart@nginx.com unit-python unit-python2.7 3471689Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3472689Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 3473689Svbart@nginx.com unit-perl 3474689Svbart@nginx.com unit-ruby" 3475689Svbart@nginx.com ver="1.1" rev="1" 3476689Svbart@nginx.com date="2018-04-26" time="18:00:00 +0300" 3477689Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3478689Svbart@nginx.com 3479689Svbart@nginx.com<change> 3480689Svbart@nginx.com<para> 3481689Svbart@nginx.comNGINX Unit updated to 1.1. 3482689Svbart@nginx.com</para> 3483689Svbart@nginx.com</change> 3484689Svbart@nginx.com 3485689Svbart@nginx.com</changes> 3486689Svbart@nginx.com 3487689Svbart@nginx.com 3488689Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1" 3489672Sdefan@nginx.com date="2018-04-26" time="18:00:00 +0300" 3490672Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3491672Sdefan@nginx.com 3492672Sdefan@nginx.com<change type="bugfix"> 3493672Sdefan@nginx.com<para> 3494672Sdefan@nginx.comPython applications that use the write() callable did not work. 3495672Sdefan@nginx.com</para> 3496672Sdefan@nginx.com</change> 3497672Sdefan@nginx.com 3498672Sdefan@nginx.com<change type="bugfix"> 3499672Sdefan@nginx.com<para> 3500672Sdefan@nginx.comvirtual environments created with Python 3.3 or above might not have worked. 3501672Sdefan@nginx.com</para> 3502548Sdefan@nginx.com</change> 3503548Sdefan@nginx.com 3504548Sdefan@nginx.com<change type="bugfix"> 3505548Sdefan@nginx.com<para> 3506639Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF 3507639Svbart@nginx.comwhen the whole body was read. 3508666Svbart@nginx.com</para> 3509666Svbart@nginx.com</change> 3510666Svbart@nginx.com 3511666Svbart@nginx.com<change type="bugfix"> 3512666Svbart@nginx.com<para> 3513666Svbart@nginx.coma segmentation fault might have occurred while access log reopening. 3514666Svbart@nginx.com</para> 3515666Svbart@nginx.com</change> 3516666Svbart@nginx.com 3517666Svbart@nginx.com<change type="bugfix"> 3518666Svbart@nginx.com<para> 3519666Svbart@nginx.comin parsing of IPv6 control socket addresses. 3520666Svbart@nginx.com</para> 3521666Svbart@nginx.com</change> 3522666Svbart@nginx.com 3523666Svbart@nginx.com<change type="bugfix"> 3524666Svbart@nginx.com<para> 3525666Svbart@nginx.comloading of application modules was broken on OpenBSD. 3526666Svbart@nginx.com</para> 3527666Svbart@nginx.com</change> 3528666Svbart@nginx.com 3529666Svbart@nginx.com<change type="bugfix"> 3530666Svbart@nginx.com<para> 3531666Svbart@nginx.coma segmentation fault might have occurred when there were two modules 3532666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0. 3533666Svbart@nginx.com</para> 3534666Svbart@nginx.com</change> 3535666Svbart@nginx.com 3536666Svbart@nginx.com<change type="bugfix"> 3537666Svbart@nginx.com<para> 3538666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log 3539666Svbart@nginx.comon 32-bit platforms. 3540666Svbart@nginx.com</para> 3541666Svbart@nginx.com</change> 3542666Svbart@nginx.com 3543666Svbart@nginx.com</changes> 3544666Svbart@nginx.com 3545666Svbart@nginx.com 3546666Svbart@nginx.com<changes apply="unit-php 3547666Svbart@nginx.com unit-python unit-python2.7 3548666Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3549666Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 3550666Svbart@nginx.com unit-perl 3551666Svbart@nginx.com unit-ruby" 3552666Svbart@nginx.com ver="1.0" rev="1" 3553666Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 3554666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3555666Svbart@nginx.com 3556666Svbart@nginx.com<change> 3557666Svbart@nginx.com<para> 3558666Svbart@nginx.comNGINX Unit updated to 1.0. 3559666Svbart@nginx.com</para> 3560666Svbart@nginx.com</change> 3561666Svbart@nginx.com 3562666Svbart@nginx.com</changes> 3563666Svbart@nginx.com 3564666Svbart@nginx.com 3565666Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1" 3566666Svbart@nginx.com date="2018-04-12" time="18:00:00 +0300" 3567666Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3568666Svbart@nginx.com 3569666Svbart@nginx.com<change type="change"> 3570666Svbart@nginx.com<para> 3571666Svbart@nginx.comconfiguration object moved into "/config/" path. 3572666Svbart@nginx.com</para> 3573666Svbart@nginx.com</change> 3574666Svbart@nginx.com 3575666Svbart@nginx.com<change type="feature"> 3576666Svbart@nginx.com<para> 3577666Svbart@nginx.combasic access logging. 3578666Svbart@nginx.com</para> 3579666Svbart@nginx.com</change> 3580666Svbart@nginx.com 3581666Svbart@nginx.com<change type="bugfix"> 3582666Svbart@nginx.com<para> 3583666Svbart@nginx.com503 error occurred if Go application did not write response header or body. 3584666Svbart@nginx.com</para> 3585639Svbart@nginx.com</change> 3586639Svbart@nginx.com 3587639Svbart@nginx.com<change type="bugfix"> 3588639Svbart@nginx.com<para> 3589639Svbart@nginx.comRuby applications that use encoding conversions might not have worked. 3590639Svbart@nginx.com</para> 3591639Svbart@nginx.com</change> 3592639Svbart@nginx.com 3593639Svbart@nginx.com<change type="bugfix"> 3594639Svbart@nginx.com<para> 3595639Svbart@nginx.comvarious stability issues. 3596639Svbart@nginx.com</para> 3597639Svbart@nginx.com</change> 3598639Svbart@nginx.com 3599639Svbart@nginx.com</changes> 3600639Svbart@nginx.com 3601639Svbart@nginx.com 3602639Svbart@nginx.com<changes apply="unit-php 3603639Svbart@nginx.com unit-python unit-python2.7 3604639Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3605639Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 3606639Svbart@nginx.com unit-perl" 3607639Svbart@nginx.com ver="0.7" rev="1" 3608639Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 3609639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3610639Svbart@nginx.com 3611639Svbart@nginx.com<change> 3612639Svbart@nginx.com<para> 3613639Svbart@nginx.comNGINX Unit updated to 0.7. 3614639Svbart@nginx.com</para> 3615639Svbart@nginx.com</change> 3616639Svbart@nginx.com 3617639Svbart@nginx.com</changes> 3618639Svbart@nginx.com 3619639Svbart@nginx.com 3620639Svbart@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1" 3621639Svbart@nginx.com date="2018-04-02" time="15:40:00 +0300" 3622663Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3623639Svbart@nginx.com 3624639Svbart@nginx.com<change> 3625639Svbart@nginx.com<para> 3626639Svbart@nginx.comInitial release of Ruby module for NGINX Unit. 3627639Svbart@nginx.com</para> 3628639Svbart@nginx.com</change> 3629639Svbart@nginx.com 3630639Svbart@nginx.com</changes> 3631639Svbart@nginx.com 3632639Svbart@nginx.com 3633639Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1" 3634639Svbart@nginx.com date="2018-03-22" time="18:00:00 +0300" 3635639Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3636639Svbart@nginx.com 3637639Svbart@nginx.com<change type="feature"> 3638639Svbart@nginx.com<para> 3639548Sdefan@nginx.comRuby application module. 3640586Svbart@nginx.com</para> 3641586Svbart@nginx.com</change> 3642586Svbart@nginx.com 3643586Svbart@nginx.com<change type="bugfix"> 3644586Svbart@nginx.com<para> 3645586Svbart@nginx.comin discovering modules. 3646586Svbart@nginx.com</para> 3647586Svbart@nginx.com</change> 3648586Svbart@nginx.com 3649586Svbart@nginx.com<change type="bugfix"> 3650586Svbart@nginx.com<para> 3651586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down. 3652586Svbart@nginx.com</para> 3653600Sdefan@nginx.com</change> 3654600Sdefan@nginx.com 3655600Sdefan@nginx.com<change type="bugfix"> 3656600Sdefan@nginx.com<para> 3657600Sdefan@nginx.comtabs and trailing spaces were not allowed in header fields values. 3658600Sdefan@nginx.com</para> 3659600Sdefan@nginx.com</change> 3660600Sdefan@nginx.com 3661600Sdefan@nginx.com<change type="bugfix"> 3662600Sdefan@nginx.com<para> 3663600Sdefan@nginx.coma segmentation fault occurred in Python module if start_response() was called 3664600Sdefan@nginx.comoutside of WSGI callable. 3665600Sdefan@nginx.com</para> 3666586Svbart@nginx.com</change> 3667586Svbart@nginx.com 3668586Svbart@nginx.com<change type="bugfix"> 3669586Svbart@nginx.com<para> 3670586Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error 3671586Svbart@nginx.comwhile initialization. 3672586Svbart@nginx.com</para> 3673586Svbart@nginx.com</change> 3674586Svbart@nginx.com 3675586Svbart@nginx.com</changes> 3676586Svbart@nginx.com 3677586Svbart@nginx.com 3678586Svbart@nginx.com<changes apply="unit-php 3679586Svbart@nginx.com unit-python unit-python2.7 3680586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3681586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9 3682586Svbart@nginx.com unit-perl" 3683586Svbart@nginx.com ver="0.6" rev="1" 3684586Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 3685586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3686586Svbart@nginx.com 3687586Svbart@nginx.com<change> 3688586Svbart@nginx.com<para> 3689586Svbart@nginx.comNGINX Unit updated to 0.6. 3690586Svbart@nginx.com</para> 3691586Svbart@nginx.com</change> 3692586Svbart@nginx.com 3693586Svbart@nginx.com</changes> 3694586Svbart@nginx.com 3695586Svbart@nginx.com 3696586Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1" 3697586Svbart@nginx.com date="2018-02-09" time="18:00:00 +0300" 3698586Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3699586Svbart@nginx.com 3700586Svbart@nginx.com<change type="bugfix"> 3701586Svbart@nginx.com<para> 3702586Svbart@nginx.comthe main process died when the "type" application option contained version; 3703663Svbart@nginx.comthe bug had appeared in 0.5. 3704663Svbart@nginx.com</para> 3705586Svbart@nginx.com</change> 3706586Svbart@nginx.com 3707586Svbart@nginx.com</changes> 3708586Svbart@nginx.com 3709586Svbart@nginx.com 3710586Svbart@nginx.com<changes apply="unit-php 3711586Svbart@nginx.com unit-python unit-python2.7 3712586Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3713586Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 3714586Svbart@nginx.com ver="0.5" rev="1" 3715586Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 3716548Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3717539Svbart@nginx.com 3718539Svbart@nginx.com<change> 3719539Svbart@nginx.com<para> 3720539Svbart@nginx.comNGINX Unit updated to 0.5. 3721539Svbart@nginx.com</para> 3722539Svbart@nginx.com</change> 3723539Svbart@nginx.com 3724539Svbart@nginx.com</changes> 3725539Svbart@nginx.com 3726539Svbart@nginx.com 3727539Svbart@nginx.com<changes apply="unit-perl" ver="0.5" rev="1" 3728539Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 3729539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3730539Svbart@nginx.com 3731539Svbart@nginx.com<change> 3732539Svbart@nginx.com<para> 3733539Svbart@nginx.comInitial release of Perl module for NGINX Unit. 3734539Svbart@nginx.com</para> 3735539Svbart@nginx.com</change> 3736539Svbart@nginx.com 3737539Svbart@nginx.com</changes> 3738539Svbart@nginx.com 3739539Svbart@nginx.com 3740539Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1" 3741539Svbart@nginx.com date="2018-02-08" time="18:00:00 +0300" 3742539Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3743548Sdefan@nginx.com 3744548Sdefan@nginx.com<change type="change"> 3745548Sdefan@nginx.com<para> 3746548Sdefan@nginx.comthe "workers" application option was removed, the "processes" 3747548Sdefan@nginx.comapplication option should be used instead. 3748531Svbart@nginx.com</para> 3749531Svbart@nginx.com</change> 3750531Svbart@nginx.com 3751531Svbart@nginx.com<change type="feature"> 3752531Svbart@nginx.com<para> 3753531Svbart@nginx.comthe "processes" application option with prefork and dynamic 3754531Svbart@nginx.comprocess management support. 3755531Svbart@nginx.com</para> 3756531Svbart@nginx.com</change> 3757531Svbart@nginx.com 3758531Svbart@nginx.com<change type="feature"> 3759531Svbart@nginx.com<para> 3760524Sdefan@nginx.comPerl application module. 3761531Svbart@nginx.com</para> 3762524Sdefan@nginx.com</change> 3763524Sdefan@nginx.com 3764524Sdefan@nginx.com<change type="bugfix"> 3765524Sdefan@nginx.com<para> 3766524Sdefan@nginx.comin reading client request body; the bug had appeared in 0.3. 3767524Sdefan@nginx.com</para> 3768524Sdefan@nginx.com</change> 3769524Sdefan@nginx.com 3770524Sdefan@nginx.com<change type="bugfix"> 3771524Sdefan@nginx.com<para> 3772524Sdefan@nginx.comsome Python applications might not have worked due to missing 3773531Svbart@nginx.com"wsgi.errors" environ variable. 3774531Svbart@nginx.com</para> 3775531Svbart@nginx.com</change> 3776531Svbart@nginx.com 3777531Svbart@nginx.com<change type="bugfix"> 3778531Svbart@nginx.com<para> 3779531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit 3780531Svbart@nginx.complatforms. 3781531Svbart@nginx.com</para> 3782531Svbart@nginx.com</change> 3783531Svbart@nginx.com 3784531Svbart@nginx.com<change type="bugfix"> 3785531Svbart@nginx.com<para> 3786531Svbart@nginx.cominfinite looping in HTTP parser. 3787531Svbart@nginx.com</para> 3788531Svbart@nginx.com</change> 3789531Svbart@nginx.com 3790531Svbart@nginx.com<change type="bugfix"> 3791531Svbart@nginx.com<para> 3792531Svbart@nginx.comsegmentation fault in router. 3793531Svbart@nginx.com</para> 3794531Svbart@nginx.com</change> 3795531Svbart@nginx.com 3796531Svbart@nginx.com</changes> 3797531Svbart@nginx.com 3798531Svbart@nginx.com 3799531Svbart@nginx.com<changes apply="unit-php 3800531Svbart@nginx.com unit-python unit-python2.7 3801531Svbart@nginx.com unit-python3.4 unit-python3.5 unit-python3.6 3802531Svbart@nginx.com unit-go unit-go1.7 unit-go1.8 unit-go1.9" 3803531Svbart@nginx.com ver="0.4" rev="1" 3804531Svbart@nginx.com date="2018-01-15" time="18:00:00 +0300" 3805663Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3806531Svbart@nginx.com 3807531Svbart@nginx.com<change> 3808531Svbart@nginx.com<para> 3809531Svbart@nginx.comNGINX Unit updated to 0.4. 3810531Svbart@nginx.com</para> 3811531Svbart@nginx.com</change> 3812531Svbart@nginx.com 3813531Svbart@nginx.com</changes> 3814531Svbart@nginx.com 3815531Svbart@nginx.com 3816531Svbart@nginx.com<changes apply="unit" ver="0.4" rev="1" 3817531Svbart@nginx.com date="2018-01-15" time="18:00:00 +0300" 3818531Svbart@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3819531Svbart@nginx.com 3820531Svbart@nginx.com<change type="feature"> 3821531Svbart@nginx.com<para> 3822531Svbart@nginx.comcompatibility with DragonFly BSD. 3823531Svbart@nginx.com</para> 3824531Svbart@nginx.com</change> 3825531Svbart@nginx.com 3826531Svbart@nginx.com<change type="feature"> 3827531Svbart@nginx.com<para> 3828531Svbart@nginx.com"configure php --lib-static" option. 3829531Svbart@nginx.com</para> 3830531Svbart@nginx.com</change> 3831531Svbart@nginx.com 3832548Sdefan@nginx.com<change type="bugfix"> 3833548Sdefan@nginx.com<para> 3834548Sdefan@nginx.comHTTP request body was not passed to application; 3835548Sdefan@nginx.comthe bug had appeared in 0.3. 3836548Sdefan@nginx.com</para> 3837469Sigor@sysoev.ru</change> 3838469Sigor@sysoev.ru 3839469Sigor@sysoev.ru<change type="bugfix"> 3840469Sigor@sysoev.ru<para> 3841469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed; 3842469Sigor@sysoev.ruthe bug had appeared in 0.3. 3843469Sigor@sysoev.ru</para> 3844469Sigor@sysoev.ru</change> 3845469Sigor@sysoev.ru 3846469Sigor@sysoev.ru<change type="bugfix"> 3847469Sigor@sysoev.ru<para> 3848469Sigor@sysoev.rusome PHP applications might not have worked with relative "root" path. 3849469Sigor@sysoev.ru</para> 3850469Sigor@sysoev.ru</change> 3851469Sigor@sysoev.ru 3852469Sigor@sysoev.ru</changes> 3853469Sigor@sysoev.ru 3854469Sigor@sysoev.ru 3855469Sigor@sysoev.ru<changes apply="unit-go1.9" ver="0.3" rev="1" 3856469Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 3857469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3858469Sigor@sysoev.ru 3859469Sigor@sysoev.ru<change> 3860469Sigor@sysoev.ru<para> 3861469Sigor@sysoev.ruInitial release of Go 1.9 module for NGINX Unit. 3862469Sigor@sysoev.ru</para> 3863469Sigor@sysoev.ru</change> 3864469Sigor@sysoev.ru 3865469Sigor@sysoev.ru</changes> 3866469Sigor@sysoev.ru 3867469Sigor@sysoev.ru 3868469Sigor@sysoev.ru<changes apply="unit-python3.6" ver="0.3" rev="1" 3869469Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 3870469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3871469Sigor@sysoev.ru 3872469Sigor@sysoev.ru<change> 3873469Sigor@sysoev.ru<para> 3874469Sigor@sysoev.ruInitial release of Python 3.6 module for NGINX Unit. 3875469Sigor@sysoev.ru</para> 3876469Sigor@sysoev.ru</change> 3877469Sigor@sysoev.ru 3878469Sigor@sysoev.ru</changes> 3879469Sigor@sysoev.ru 3880469Sigor@sysoev.ru 3881663Svbart@nginx.com<changes apply="unit-php 3882469Sigor@sysoev.ru unit-python unit-python2.7 unit-python3.4 unit-python3.5 3883469Sigor@sysoev.ru unit-go unit-go1.7 unit-go1.8" 3884469Sigor@sysoev.ru ver="0.3" rev="1" 3885469Sigor@sysoev.ru date="2017-12-28" time="18:00:00 +0300" 3886469Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3887469Sigor@sysoev.ru 3888441Sdefan@nginx.com<change> 3889441Sdefan@nginx.com<para> 3890441Sdefan@nginx.comNGINX Unit updated to 0.3. 3891441Sdefan@nginx.com</para> 3892441Sdefan@nginx.com</change> 3893441Sdefan@nginx.com 3894441Sdefan@nginx.com</changes> 3895441Sdefan@nginx.com 3896441Sdefan@nginx.com 3897441Sdefan@nginx.com<changes apply="unit" ver="0.3" rev="1" 3898441Sdefan@nginx.com date="2017-12-28" time="18:00:00 +0300" 3899441Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 3900441Sdefan@nginx.com 3901441Sdefan@nginx.com<change type="change"> 3902441Sdefan@nginx.com<para> 3903441Sdefan@nginx.comthe Go package name changed to "nginx/unit". 3904441Sdefan@nginx.com</para> 3905441Sdefan@nginx.com</change> 3906441Sdefan@nginx.com 3907441Sdefan@nginx.com<change type="change"> 3908441Sdefan@nginx.com<para> 3909441Sdefan@nginx.comin the "limits.timeout" application option: application start time and 3910441Sdefan@nginx.comtime in queue now are not accounted. 3911441Sdefan@nginx.com</para> 3912441Sdefan@nginx.com</change> 3913441Sdefan@nginx.com 3914548Sdefan@nginx.com<change type="feature"> 3915548Sdefan@nginx.com<para> 3916548Sdefan@nginx.comthe "limits.requests" application option. 3917548Sdefan@nginx.com</para> 3918432Sigor@sysoev.ru</change> 3919432Sigor@sysoev.ru 3920432Sigor@sysoev.ru<change type="feature"> 3921432Sigor@sysoev.ru<para> 3922432Sigor@sysoev.ruapplication request processing latency optimization. 3923432Sigor@sysoev.ru</para> 3924432Sigor@sysoev.ru</change> 3925432Sigor@sysoev.ru 3926432Sigor@sysoev.ru<change type="feature"> 3927432Sigor@sysoev.ru<para> 3928432Sigor@sysoev.ruHTTP keep-alive connections support. 3929432Sigor@sysoev.ru</para> 3930432Sigor@sysoev.ru</change> 3931432Sigor@sysoev.ru 3932432Sigor@sysoev.ru<change type="feature"> 3933432Sigor@sysoev.ru<para> 3934432Sigor@sysoev.ruthe "home" Python virtual environment configuration option. 3935432Sigor@sysoev.ru</para> 3936432Sigor@sysoev.ru</change> 3937432Sigor@sysoev.ru 3938432Sigor@sysoev.ru<change type="feature"> 3939432Sigor@sysoev.ru<para> 3940432Sigor@sysoev.ruPython atexit hook support. 3941432Sigor@sysoev.ru</para> 3942432Sigor@sysoev.ru</change> 3943432Sigor@sysoev.ru 3944432Sigor@sysoev.ru<change type="feature"> 3945432Sigor@sysoev.ru<para> 3946432Sigor@sysoev.ruvarious Go package improvements. 3947432Sigor@sysoev.ru</para> 3948432Sigor@sysoev.ru</change> 3949432Sigor@sysoev.ru 3950432Sigor@sysoev.ru<change type="bugfix"> 3951432Sigor@sysoev.ru<para> 3952432Sigor@sysoev.ruvarious crashes fixed. 3953432Sigor@sysoev.ru</para> 3954432Sigor@sysoev.ru</change> 3955432Sigor@sysoev.ru 3956432Sigor@sysoev.ru</changes> 3957432Sigor@sysoev.ru 3958432Sigor@sysoev.ru 3959432Sigor@sysoev.ru<changes apply="unit-go" ver="0.2" rev="1" 3960432Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 3961432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3962432Sigor@sysoev.ru 3963432Sigor@sysoev.ru<change> 3964432Sigor@sysoev.ru<para> 3965432Sigor@sysoev.ruInitial release of Go module for NGINX Unit. 3966432Sigor@sysoev.ru</para> 3967432Sigor@sysoev.ru</change> 3968432Sigor@sysoev.ru 3969432Sigor@sysoev.ru</changes> 3970432Sigor@sysoev.ru 3971432Sigor@sysoev.ru 3972432Sigor@sysoev.ru<changes apply="unit-go1.7" ver="0.2" rev="1" 3973432Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 3974432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3975432Sigor@sysoev.ru 3976432Sigor@sysoev.ru<change> 3977432Sigor@sysoev.ru<para> 3978432Sigor@sysoev.ruInitial release of Go 1.7 module for NGINX Unit. 3979432Sigor@sysoev.ru</para> 3980432Sigor@sysoev.ru</change> 3981432Sigor@sysoev.ru 3982432Sigor@sysoev.ru</changes> 3983432Sigor@sysoev.ru 3984432Sigor@sysoev.ru 3985432Sigor@sysoev.ru<changes apply="unit-go1.8" ver="0.2" rev="1" 3986432Sigor@sysoev.ru date="2017-10-19" time="18:00:00 +0300" 3987432Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 3988432Sigor@sysoev.ru 3989432Sigor@sysoev.ru<change> 3990432Sigor@sysoev.ru<para> 3991432Sigor@sysoev.ruInitial release of Go 1.8 module for NGINX Unit. 3992372Sdefan@nginx.com</para> 3993372Sdefan@nginx.com</change> 3994372Sdefan@nginx.com 3995372Sdefan@nginx.com</changes> 3996372Sdefan@nginx.com 3997372Sdefan@nginx.com 3998372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1" 3999372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 4000372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4001372Sdefan@nginx.com 4002372Sdefan@nginx.com<change> 4003372Sdefan@nginx.com<para> 4004372Sdefan@nginx.comInitial release of Python module for NGINX Unit. 4005373Sdefan@nginx.com</para> 4006373Sdefan@nginx.com</change> 4007373Sdefan@nginx.com 4008373Sdefan@nginx.com</changes> 4009373Sdefan@nginx.com 4010373Sdefan@nginx.com 4011373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1" 4012373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 4013373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4014373Sdefan@nginx.com 4015373Sdefan@nginx.com<change> 4016373Sdefan@nginx.com<para> 4017373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit. 4018373Sdefan@nginx.com</para> 4019373Sdefan@nginx.com</change> 4020373Sdefan@nginx.com 4021373Sdefan@nginx.com</changes> 4022373Sdefan@nginx.com 4023373Sdefan@nginx.com 4024373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1" 4025373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 4026373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4027373Sdefan@nginx.com 4028373Sdefan@nginx.com<change> 4029373Sdefan@nginx.com<para> 4030373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit. 4031372Sdefan@nginx.com</para> 4032372Sdefan@nginx.com</change> 4033372Sdefan@nginx.com 4034372Sdefan@nginx.com</changes> 4035372Sdefan@nginx.com 4036372Sdefan@nginx.com 4037372Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1" 4038372Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 4039372Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4040372Sdefan@nginx.com 4041372Sdefan@nginx.com<change> 4042372Sdefan@nginx.com<para> 4043372Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit. 4044373Sdefan@nginx.com</para> 4045373Sdefan@nginx.com</change> 4046373Sdefan@nginx.com 4047373Sdefan@nginx.com</changes> 4048373Sdefan@nginx.com 4049373Sdefan@nginx.com 4050373Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1" 4051373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 4052373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4053373Sdefan@nginx.com 4054373Sdefan@nginx.com<change> 4055373Sdefan@nginx.com<para> 4056373Sdefan@nginx.comInitial release of PHP module for NGINX Unit. 4057373Sdefan@nginx.com</para> 4058373Sdefan@nginx.com</change> 4059373Sdefan@nginx.com 4060373Sdefan@nginx.com</changes> 4061373Sdefan@nginx.com 4062373Sdefan@nginx.com 4063373Sdefan@nginx.com<changes apply="unit" ver="0.2" rev="1" 4064373Sdefan@nginx.com date="2017-10-19" time="18:00:00 +0300" 4065373Sdefan@nginx.com packager="Andrei Belov <defan@nginx.com>"> 4066373Sdefan@nginx.com 4067373Sdefan@nginx.com<change type="feature"> 4068373Sdefan@nginx.com<para> 4069373Sdefan@nginx.comconfiguration persistence. 4070373Sdefan@nginx.com</para> 4071373Sdefan@nginx.com</change> 4072373Sdefan@nginx.com 4073373Sdefan@nginx.com<change type="feature"> 4074373Sdefan@nginx.com<para> 4075373Sdefan@nginx.comimproved handling of configuration errors. 4076373Sdefan@nginx.com</para> 4077373Sdefan@nginx.com</change> 4078373Sdefan@nginx.com 4079373Sdefan@nginx.com<change type="feature"> 4080373Sdefan@nginx.com<para> 4081373Sdefan@nginx.comapplication "timeout" property. 4082373Sdefan@nginx.com</para> 4083372Sdefan@nginx.com</change> 4084372Sdefan@nginx.com 4085372Sdefan@nginx.com<change type="bugfix"> 4086372Sdefan@nginx.com<para> 4087372Sdefan@nginx.comPOST request for PHP were handled incorrectly. 4088372Sdefan@nginx.com</para> 4089372Sdefan@nginx.com</change> 4090372Sdefan@nginx.com 4091372Sdefan@nginx.com<change type="bugfix"> 4092372Sdefan@nginx.com<para> 4093372Sdefan@nginx.comthe router exited abnormally if all listeners had been deleted. 4094372Sdefan@nginx.com</para> 4095372Sdefan@nginx.com</change> 4096370Sigor@sysoev.ru 4097370Sigor@sysoev.ru<change type="bugfix"> 4098370Sigor@sysoev.ru<para> 4099370Sigor@sysoev.ruthe router crashed under load. 4100370Sigor@sysoev.ru</para> 4101370Sigor@sysoev.ru</change> 4102370Sigor@sysoev.ru 4103370Sigor@sysoev.ru<change type="bugfix"> 4104370Sigor@sysoev.ru<para> 4105370Sigor@sysoev.rumemory leak in the router. 4106370Sigor@sysoev.ru</para> 4107370Sigor@sysoev.ru</change> 4108370Sigor@sysoev.ru 4109370Sigor@sysoev.ru</changes> 4110370Sigor@sysoev.ru 4111370Sigor@sysoev.ru 4112370Sigor@sysoev.ru<changes apply="unit" ver="0.1" rev="1" 4113370Sigor@sysoev.ru date="2017-09-06" time="19:14:28 +0300" 4114370Sigor@sysoev.ru packager="Andrei Belov <defan@nginx.com>"> 4115370Sigor@sysoev.ru 4116370Sigor@sysoev.ru<change> 4117370Sigor@sysoev.ru<para> 4118370Sigor@sysoev.ruFirst public release. 4119370Sigor@sysoev.ru</para> 4120370Sigor@sysoev.ru</change> 4121370Sigor@sysoev.ru 4122370Sigor@sysoev.ru</changes> 4123370Sigor@sysoev.ru 4124370Sigor@sysoev.ru 4125370Sigor@sysoev.ru</change_log> 4126370Sigor@sysoev.ru