xref: /unit/docs/changes.xml (revision 2033)
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
82029SN/A<changes apply="unit-php
92029SN/A                unit-python unit-python2.7
102029SN/A                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
112029SN/A                unit-python3.8 unit-python3.9 unit-python3.10
122029SN/A                unit-go
132029SN/A                unit-perl
142029SN/A                unit-ruby
152029SN/A                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
162029SN/A                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
172029SN/A         ver="1.26.1" rev="1"
182029SN/A         date="" time=""
192029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
202029SN/A
212029SN/A<change>
222029SN/A<para>
232029SN/ANGINX Unit updated to 1.26.1.
242029SN/A</para>
252029SN/A</change>
262029SN/A
272029SN/A</changes>
282029SN/A
292029SN/A
302029SN/A<changes apply="unit" ver="1.26.1" rev="1"
312029SN/A         date="" time=""
322029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
332029SN/A
34*2033SN/A<change type="bugfix">
35*2033SN/A<para>
36*2033SN/Athe router process crash on reconfiguration if "access_log" was configured
37*2033SN/Awithout listeners.
38*2033SN/A</para>
39*2033SN/A</change>
40*2033SN/A
412029SN/A</changes>
422029SN/A
432029SN/A
441973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
452007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
461973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
471973Sdefan@nginx.com
481973Sdefan@nginx.com<change>
491973Sdefan@nginx.com<para>
501973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
511973Sdefan@nginx.com</para>
521973Sdefan@nginx.com</change>
531973Sdefan@nginx.com
541973Sdefan@nginx.com</changes>
551973Sdefan@nginx.com
561973Sdefan@nginx.com
571973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
582007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
591973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
601973Sdefan@nginx.com
611973Sdefan@nginx.com<change>
621973Sdefan@nginx.com<para>
631973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
641973Sdefan@nginx.com</para>
651973Sdefan@nginx.com</change>
661973Sdefan@nginx.com
671973Sdefan@nginx.com</changes>
681973Sdefan@nginx.com
691973Sdefan@nginx.com
701896Svbart@nginx.com<changes apply="unit-php
711896Svbart@nginx.com                unit-python unit-python2.7
721896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
731896Svbart@nginx.com                unit-python3.8 unit-python3.9
741896Svbart@nginx.com                unit-go
751896Svbart@nginx.com                unit-perl
761896Svbart@nginx.com                unit-ruby
771896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
781896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
791951Svbart@nginx.com         ver="1.26.0" rev="1"
802007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
811951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
821951Svbart@nginx.com
831951Svbart@nginx.com<change>
841951Svbart@nginx.com<para>
851951Svbart@nginx.comNGINX Unit updated to 1.26.0.
861951Svbart@nginx.com</para>
871951Svbart@nginx.com</change>
881951Svbart@nginx.com
891951Svbart@nginx.com</changes>
901951Svbart@nginx.com
911951Svbart@nginx.com
921951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
932007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
941951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
951951Svbart@nginx.com
961960Sz.hong@f5.com<change type="change">
971960Sz.hong@f5.com<para>
981960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
991960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
1001960Sz.hong@f5.com</para>
1011960Sz.hong@f5.com</change>
1021960Sz.hong@f5.com
1031960Sz.hong@f5.com<change type="feature">
1041960Sz.hong@f5.com<para>
1052006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
1062006Svbart@nginx.comwhen updating from previous versions.
1072006Svbart@nginx.com</para>
1082006Svbart@nginx.com</change>
1092006Svbart@nginx.com
1102006Svbart@nginx.com<change type="feature">
1112006Svbart@nginx.com<para>
1121960Sz.hong@f5.comvariables support in the "share" option.
1131960Sz.hong@f5.com</para>
1141960Sz.hong@f5.com</change>
1151960Sz.hong@f5.com
1161959Sz.hong@f5.com<change type="feature">
1171959Sz.hong@f5.com<para>
1181961Sz.hong@f5.commultiple paths in the "share" option.
1191961Sz.hong@f5.com</para>
1201961Sz.hong@f5.com</change>
1211961Sz.hong@f5.com
1221961Sz.hong@f5.com<change type="feature">
1231961Sz.hong@f5.com<para>
1241959Sz.hong@f5.comvariables support in the "chroot" option.
1251959Sz.hong@f5.com</para>
1261959Sz.hong@f5.com</change>
1271959Sz.hong@f5.com
1281969Sz.hong@f5.com<change type="feature">
1291969Sz.hong@f5.com<para>
1302006Svbart@nginx.comPHP opcache is shared between application processes.
1311969Sz.hong@f5.com</para>
1321969Sz.hong@f5.com</change>
1331969Sz.hong@f5.com
1341991Sz.hong@f5.com<change type="feature">
1351991Sz.hong@f5.com<para>
1361991Sz.hong@f5.comrequest routing by the query string.
1371991Sz.hong@f5.com</para>
1381991Sz.hong@f5.com</change>
1391991Sz.hong@f5.com
1401955Smax.romanov@nginx.com<change type="bugfix">
1411955Smax.romanov@nginx.com<para>
1422006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
1432006Svbart@nginx.comby asynchronous or multithreaded apps.
1441955Smax.romanov@nginx.com</para>
1451955Smax.romanov@nginx.com</change>
1461955Smax.romanov@nginx.com
1471956Smax.romanov@nginx.com<change type="bugfix">
1481956Smax.romanov@nginx.com<para>
1491956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
1501956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
1511956Smax.romanov@nginx.com</para>
1521956Smax.romanov@nginx.com</change>
1531956Smax.romanov@nginx.com
1541992Smax.romanov@nginx.com<change type="bugfix">
1551992Smax.romanov@nginx.com<para>
1562006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
1571992Smax.romanov@nginx.com</para>
1581992Smax.romanov@nginx.com</change>
1591992Smax.romanov@nginx.com
1601951Svbart@nginx.com</changes>
1611951Svbart@nginx.com
1621951Svbart@nginx.com
1631951Svbart@nginx.com<changes apply="unit-php
1641951Svbart@nginx.com                unit-python unit-python2.7
1651951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1661951Svbart@nginx.com                unit-python3.8 unit-python3.9
1671951Svbart@nginx.com                unit-go
1681951Svbart@nginx.com                unit-perl
1691951Svbart@nginx.com                unit-ruby
1701951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1711951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
1721896Svbart@nginx.com         ver="1.25.0" rev="1"
1731945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
1741896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1751896Svbart@nginx.com
1761896Svbart@nginx.com<change>
1771896Svbart@nginx.com<para>
1781896Svbart@nginx.comNGINX Unit updated to 1.25.0.
1791896Svbart@nginx.com</para>
1801896Svbart@nginx.com</change>
1811896Svbart@nginx.com
1821896Svbart@nginx.com</changes>
1831896Svbart@nginx.com
1841896Svbart@nginx.com
1851896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
1861945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
1871896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1881896Svbart@nginx.com
1891910So.canty@f5.com<change type="feature">
1901910So.canty@f5.com<para>
1911944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
1921942Sa.suvorov@f5.com</para>
1931942Sa.suvorov@f5.com</change>
1941942Sa.suvorov@f5.com
1951942Sa.suvorov@f5.com<change type="feature">
1961942Sa.suvorov@f5.com<para>
1971920Sa.suvorov@f5.comTLS sessions cache.
1981920Sa.suvorov@f5.com</para>
1991920Sa.suvorov@f5.com</change>
2001920Sa.suvorov@f5.com
2011920Sa.suvorov@f5.com<change type="feature">
2021920Sa.suvorov@f5.com<para>
2031944Svbart@nginx.comTLS session tickets.
2041910So.canty@f5.com</para>
2051910So.canty@f5.com</change>
2061910So.canty@f5.com
2071926Smax.romanov@nginx.com<change type="feature">
2081926Smax.romanov@nginx.com<para>
2091926Smax.romanov@nginx.comapplication restart control.
2101926Smax.romanov@nginx.com</para>
2111926Smax.romanov@nginx.com</change>
2121926Smax.romanov@nginx.com
2131936So.canty@f5.com<change type="feature">
2141936So.canty@f5.com<para>
2151944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
2161936So.canty@f5.com</para>
2171936So.canty@f5.com</change>
2181936So.canty@f5.com
2191907Smax.romanov@nginx.com<change type="bugfix">
2201907Smax.romanov@nginx.com<para>
2211944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
2221944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
2231921Sa.suvorov@f5.com</para>
2241921Sa.suvorov@f5.com</change>
2251921Sa.suvorov@f5.com
2261921Sa.suvorov@f5.com<change type="bugfix">
2271921Sa.suvorov@f5.com<para>
2281944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
2291944Svbart@nginx.combundles in a listener if the client did not use SNI.
2301907Smax.romanov@nginx.com</para>
2311907Smax.romanov@nginx.com</change>
2321907Smax.romanov@nginx.com
2331907Smax.romanov@nginx.com<change type="bugfix">
2341907Smax.romanov@nginx.com<para>
2351950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
2361915Smax.romanov@nginx.comreconfiguration.
2371915Smax.romanov@nginx.com</para>
2381915Smax.romanov@nginx.com</change>
2391915Smax.romanov@nginx.com
2401915Smax.romanov@nginx.com<change type="bugfix">
2411915Smax.romanov@nginx.com<para>
2421944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
2431944Svbart@nginx.comframework.
2441944Svbart@nginx.com</para>
2451944Svbart@nginx.com</change>
2461944Svbart@nginx.com
2471944Svbart@nginx.com<change type="bugfix">
2481944Svbart@nginx.com<para>
2491944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
2501944Svbart@nginx.comstopped or crashed.
2511907Smax.romanov@nginx.com</para>
2521907Smax.romanov@nginx.com</change>
2531907Smax.romanov@nginx.com
2541909So.canty@f5.com<change type="bugfix">
2551909So.canty@f5.com<para>
2561909So.canty@f5.comthe controller or router process could crash if the configuration contained
2571909So.canty@f5.coma full-form IPv6 in a listener address.
2581909So.canty@f5.com</para>
2591909So.canty@f5.com</change>
2601909So.canty@f5.com
2611916Smax.romanov@nginx.com<change type="bugfix">
2621916Smax.romanov@nginx.com<para>
2631929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
2641929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
2651929Sz.hong@f5.com</para>
2661929Sz.hong@f5.com</change>
2671929Sz.hong@f5.com
2681930So.canty@f5.com<change type="bugfix">
2691930So.canty@f5.com<para>
2701944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
2711944Svbart@nginx.comor destination address patterns.
2721930So.canty@f5.com</para>
2731930So.canty@f5.com</change>
2741930So.canty@f5.com
2751896Svbart@nginx.com</changes>
2761896Svbart@nginx.com
2771896Svbart@nginx.com
2781887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
2791891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2801887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2811887Sdefan@nginx.com
2821887Sdefan@nginx.com<change>
2831887Sdefan@nginx.com<para>
2841887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
2851887Sdefan@nginx.com</para>
2861887Sdefan@nginx.com</change>
2871887Sdefan@nginx.com
2881887Sdefan@nginx.com</changes>
2891887Sdefan@nginx.com
2901887Sdefan@nginx.com
2911887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
2921891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2931887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2941887Sdefan@nginx.com
2951887Sdefan@nginx.com<change>
2961887Sdefan@nginx.com<para>
2971887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
2981887Sdefan@nginx.com</para>
2991887Sdefan@nginx.com</change>
3001887Sdefan@nginx.com
3011887Sdefan@nginx.com</changes>
3021887Sdefan@nginx.com
3031887Sdefan@nginx.com
3041834Svbart@nginx.com<changes apply="unit-php
3051834Svbart@nginx.com                unit-python unit-python2.7
3061834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3071834Svbart@nginx.com                unit-python3.8 unit-python3.9
3081834Svbart@nginx.com                unit-go
3091834Svbart@nginx.com                unit-perl
3101834Svbart@nginx.com                unit-ruby
3111834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3121834Svbart@nginx.com                unit-jsc14 unit-jsc15"
3131839Svbart@nginx.com         ver="1.24.0" rev="1"
3141891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3151839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3161839Svbart@nginx.com
3171839Svbart@nginx.com<change>
3181839Svbart@nginx.com<para>
3191839Svbart@nginx.comNGINX Unit updated to 1.24.0.
3201839Svbart@nginx.com</para>
3211839Svbart@nginx.com</change>
3221839Svbart@nginx.com
3231839Svbart@nginx.com</changes>
3241839Svbart@nginx.com
3251839Svbart@nginx.com
3261839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
3271891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3281839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3291839Svbart@nginx.com
3301882So.canty@f5.com<change type="change">
3311882So.canty@f5.com<para>
3321882So.canty@f5.comPHP added to the default MIME type list.
3331882So.canty@f5.com</para>
3341882So.canty@f5.com</change>
3351882So.canty@f5.com
3361855Sz.hong@f5.com<change type="feature">
3371855Sz.hong@f5.com<para>
3381885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
3391885Sa.suvorov@f5.com</para>
3401885Sa.suvorov@f5.com</change>
3411885Sa.suvorov@f5.com
3421885Sa.suvorov@f5.com<change type="feature">
3431885Sa.suvorov@f5.com<para>
3441890Svbart@nginx.comthe ability to limit static file serving by MIME types.
3451890Svbart@nginx.com</para>
3461890Svbart@nginx.com</change>
3471890Svbart@nginx.com
3481890Svbart@nginx.com<change type="feature">
3491890Svbart@nginx.com<para>
3501890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
3511890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
3521872So.canty@f5.com</para>
3531872So.canty@f5.com</change>
3541872So.canty@f5.com
3551872So.canty@f5.com<change type="feature">
3561872So.canty@f5.com<para>
3571889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
3581889Sartem.konev@nginx.comNode.js.
3591865So.canty@f5.com</para>
3601865So.canty@f5.com</change>
3611865So.canty@f5.com
3621865So.canty@f5.com<change type="feature">
3631865So.canty@f5.com<para>
3641890Svbart@nginx.commultiple "targets" in Python applications.
3651855Sz.hong@f5.com</para>
3661855Sz.hong@f5.com</change>
3671855Sz.hong@f5.com
3681870So.canty@f5.com<change type="feature">
3691870So.canty@f5.com<para>
3701870So.canty@f5.comcompatibility with Ruby 3.0.
3711870So.canty@f5.com</para>
3721870So.canty@f5.com</change>
3731870So.canty@f5.com
3741861Svbart@nginx.com<change type="bugfix">
3751861Svbart@nginx.com<para>
3761889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
3771884Sa.suvorov@f5.com</para>
3781884Sa.suvorov@f5.com</change>
3791884Sa.suvorov@f5.com
3801884Sa.suvorov@f5.com<change type="bugfix">
3811884Sa.suvorov@f5.com<para>
3821861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
3831861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
3841861Svbart@nginx.com</para>
3851861Svbart@nginx.com</change>
3861861Svbart@nginx.com
3871839Svbart@nginx.com</changes>
3881839Svbart@nginx.com
3891839Svbart@nginx.com
3901839Svbart@nginx.com<changes apply="unit-php
3911839Svbart@nginx.com                unit-python unit-python2.7
3921839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3931839Svbart@nginx.com                unit-python3.8 unit-python3.9
3941839Svbart@nginx.com                unit-go
3951839Svbart@nginx.com                unit-perl
3961839Svbart@nginx.com                unit-ruby
3971839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3981839Svbart@nginx.com                unit-jsc14 unit-jsc15"
3991834Svbart@nginx.com         ver="1.23.0" rev="1"
4001834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4011834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4021834Svbart@nginx.com
4031834Svbart@nginx.com<change>
4041834Svbart@nginx.com<para>
4051834Svbart@nginx.comNGINX Unit updated to 1.23.0.
4061834Svbart@nginx.com</para>
4071834Svbart@nginx.com</change>
4081834Svbart@nginx.com
4091834Svbart@nginx.com</changes>
4101834Svbart@nginx.com
4111834Svbart@nginx.com
4121806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
4131834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4141806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4151806Svbart@nginx.com
4161825Sthresh@nginx.com<change type="feature">
4171825Sthresh@nginx.com<para>
4181833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
4191828Sa.suvorov@f5.comIndication (SNI) TLS extension.
4201828Sa.suvorov@f5.com</para>
4211828Sa.suvorov@f5.com</change>
4221828Sa.suvorov@f5.com
4231828Sa.suvorov@f5.com<change type="feature">
4241828Sa.suvorov@f5.com<para>
4251833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
4261833Sartem.konev@nginx.cominstallation.
4271825Sthresh@nginx.com</para>
4281825Sthresh@nginx.com</change>
4291825Sthresh@nginx.com
4301811Smax.romanov@nginx.com<change type="bugfix">
4311811Smax.romanov@nginx.com<para>
4321812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
4331812Svbart@nginx.comappeared in 1.17.0.
4341812Svbart@nginx.com</para>
4351812Svbart@nginx.com</change>
4361812Svbart@nginx.com
4371812Svbart@nginx.com<change type="bugfix">
4381812Svbart@nginx.com<para>
4391833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
4401812Svbart@nginx.comappeared in 1.6.
4411812Svbart@nginx.com</para>
4421812Svbart@nginx.com</change>
4431812Svbart@nginx.com
4441812Svbart@nginx.com<change type="bugfix">
4451812Svbart@nginx.com<para>
4461833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
4471832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
4481832Smax.romanov@nginx.com</para>
4491832Smax.romanov@nginx.com</change>
4501832Smax.romanov@nginx.com
4511832Smax.romanov@nginx.com<change type="bugfix">
4521832Smax.romanov@nginx.com<para>
4531833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
4541811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
4551811Smax.romanov@nginx.com</para>
4561811Smax.romanov@nginx.com</change>
4571806Svbart@nginx.com
4581813Svbart@nginx.com<change type="bugfix">
4591813Svbart@nginx.com<para>
4601813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
4611813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
4621813Svbart@nginx.com</para>
4631813Svbart@nginx.com</change>
4641813Svbart@nginx.com
4651814Svbart@nginx.com<change type="bugfix">
4661814Svbart@nginx.com<para>
4671820Svbart@nginx.comthe controller process could crash while requesting information about a
4681820Svbart@nginx.comcertificate with a non-DNS SAN entry.
4691820Svbart@nginx.com</para>
4701820Svbart@nginx.com</change>
4711820Svbart@nginx.com
4721820Svbart@nginx.com<change type="bugfix">
4731820Svbart@nginx.com<para>
4741822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
4751833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
4761822Svbart@nginx.com</para>
4771822Svbart@nginx.com</change>
4781822Svbart@nginx.com
4791822Svbart@nginx.com<change type="bugfix">
4801822Svbart@nginx.com<para>
4811833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
4821833Sartem.konev@nginx.comclass.
4831814Svbart@nginx.com</para>
4841814Svbart@nginx.com</change>
4851814Svbart@nginx.com
4861815Svbart@nginx.com<change type="bugfix">
4871815Svbart@nginx.com<para>
4881815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
4891815Svbart@nginx.comappeared in 1.22.0.
4901815Svbart@nginx.com</para>
4911815Svbart@nginx.com</change>
4921815Svbart@nginx.com
4931806Svbart@nginx.com</changes>
4941806Svbart@nginx.com
4951806Svbart@nginx.com
4961798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
4971798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
4981798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4991798Sdefan@nginx.com
5001798Sdefan@nginx.com<change>
5011798Sdefan@nginx.com<para>
5021798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
5031798Sdefan@nginx.com</para>
5041798Sdefan@nginx.com</change>
5051798Sdefan@nginx.com
5061798Sdefan@nginx.com</changes>
5071798Sdefan@nginx.com
5081798Sdefan@nginx.com
5091763Sdefan@nginx.com<changes apply="unit-php
5101763Sdefan@nginx.com                unit-python unit-python2.7
5111763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5121763Sdefan@nginx.com                unit-python3.8
5131763Sdefan@nginx.com                unit-go
5141763Sdefan@nginx.com                unit-perl
5151763Sdefan@nginx.com                unit-ruby
5161763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5171763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
5181763Sdefan@nginx.com         ver="1.22.0" rev="1"
5191793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5201763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5211763Sdefan@nginx.com
5221763Sdefan@nginx.com<change>
5231763Sdefan@nginx.com<para>
5241763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
5251763Sdefan@nginx.com</para>
5261763Sdefan@nginx.com</change>
5271763Sdefan@nginx.com
5281763Sdefan@nginx.com</changes>
5291763Sdefan@nginx.com
5301763Sdefan@nginx.com
5311727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
5321793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5331727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5341727Svbart@nginx.com
5351759Svbart@nginx.com<change type="feature">
5361759Svbart@nginx.com<para>
5371792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
5381792Svbart@nginx.comcompliant with Stream API.
5391759Svbart@nginx.com</para>
5401759Svbart@nginx.com</change>
5411759Svbart@nginx.com
5421766Smax.romanov@nginx.com<change type="feature">
5431766Smax.romanov@nginx.com<para>
5441792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
5451792Svbart@nginx.comapps.
5461732Svbart@nginx.com</para>
5471732Svbart@nginx.com</change>
5481732Svbart@nginx.com
5491733Svbart@nginx.com<change type="bugfix">
5501733Svbart@nginx.com<para>
5511792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
5521792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
5531754Smax.romanov@nginx.com</para>
5541754Smax.romanov@nginx.com</change>
5551754Smax.romanov@nginx.com
5561755Smax.romanov@nginx.com<change type="bugfix">
5571755Smax.romanov@nginx.com<para>
5581790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
5591755Smax.romanov@nginx.comappeared in 1.19.0.
5601755Smax.romanov@nginx.com</para>
5611755Smax.romanov@nginx.com</change>
5621755Smax.romanov@nginx.com
5631756Smax.romanov@nginx.com<change type="bugfix">
5641756Smax.romanov@nginx.com<para>
5651790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
5661790Sartem.konev@nginx.comappeared in 1.19.0.
5671756Smax.romanov@nginx.com</para>
5681756Smax.romanov@nginx.com</change>
5691756Smax.romanov@nginx.com
5701760Smax.romanov@nginx.com<change type="bugfix">
5711760Smax.romanov@nginx.com<para>
5721792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
5731792Svbart@nginx.com</para>
5741792Svbart@nginx.com</change>
5751792Svbart@nginx.com
5761792Svbart@nginx.com<change type="bugfix">
5771792Svbart@nginx.com<para>
5781792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
5791792Svbart@nginx.commissing in the PHP module.
5801792Svbart@nginx.com</para>
5811792Svbart@nginx.com</change>
5821792Svbart@nginx.com
5831792Svbart@nginx.com<change type="bugfix">
5841792Svbart@nginx.com<para>
5851792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
5861792Svbart@nginx.com</para>
5871792Svbart@nginx.com</change>
5881792Svbart@nginx.com
5891792Svbart@nginx.com<change type="bugfix">
5901792Svbart@nginx.com<para>
5911792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
5921792Svbart@nginx.com</para>
5931792Svbart@nginx.com</change>
5941792Svbart@nginx.com
5951792Svbart@nginx.com<change type="bugfix">
5961792Svbart@nginx.com<para>
5971792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
5981792Svbart@nginx.comthe bug had appeared in 1.21.0.
5991760Smax.romanov@nginx.com</para>
6001760Smax.romanov@nginx.com</change>
6011760Smax.romanov@nginx.com
6021780Smax.romanov@nginx.com<change type="bugfix">
6031780Smax.romanov@nginx.com<para>
6041790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
6051790Sartem.konev@nginx.comWebSocket.
6061780Smax.romanov@nginx.com</para>
6071780Smax.romanov@nginx.com</change>
6081780Smax.romanov@nginx.com
6091789Smax.romanov@nginx.com<change type="bugfix">
6101789Smax.romanov@nginx.com<para>
6111789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
6121789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
6131789Smax.romanov@nginx.com</para>
6141789Smax.romanov@nginx.com</change>
6151789Smax.romanov@nginx.com
6161727Svbart@nginx.com</changes>
6171727Svbart@nginx.com
6181727Svbart@nginx.com
6191722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
6201722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6211722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6221722Svbart@nginx.com
6231722Svbart@nginx.com<change>
6241722Svbart@nginx.com<para>
6251722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
6261722Svbart@nginx.com</para>
6271722Svbart@nginx.com</change>
6281722Svbart@nginx.com
6291722Svbart@nginx.com</changes>
6301722Svbart@nginx.com
6311722Svbart@nginx.com
6321722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
6331722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6341722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6351722Svbart@nginx.com
6361722Svbart@nginx.com<change>
6371722Svbart@nginx.com<para>
6381722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
6391722Svbart@nginx.com</para>
6401722Svbart@nginx.com</change>
6411722Svbart@nginx.com
6421722Svbart@nginx.com</changes>
6431722Svbart@nginx.com
6441722Svbart@nginx.com
6451722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
6461722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6471722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6481722Svbart@nginx.com
6491722Svbart@nginx.com<change>
6501722Svbart@nginx.com<para>
6511722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
6521722Svbart@nginx.com</para>
6531722Svbart@nginx.com</change>
6541722Svbart@nginx.com
6551722Svbart@nginx.com</changes>
6561722Svbart@nginx.com
6571722Svbart@nginx.com
6581722Svbart@nginx.com<changes apply="unit-php
6591722Svbart@nginx.com                unit-python unit-python2.7
6601722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6611722Svbart@nginx.com                unit-python3.8
6621722Svbart@nginx.com                unit-go
6631722Svbart@nginx.com                unit-perl
6641722Svbart@nginx.com                unit-ruby
6651722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6661722Svbart@nginx.com         ver="1.21.0" rev="1"
6671722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6681722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6691722Svbart@nginx.com
6701722Svbart@nginx.com<change>
6711722Svbart@nginx.com<para>
6721722Svbart@nginx.comNGINX Unit updated to 1.21.0.
6731722Svbart@nginx.com</para>
6741722Svbart@nginx.com</change>
6751722Svbart@nginx.com
6761722Svbart@nginx.com</changes>
6771722Svbart@nginx.com
6781722Svbart@nginx.com
6791722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
6801722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6811722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6821722Svbart@nginx.com
6831722Svbart@nginx.com<change type="change">
6841722Svbart@nginx.com<para>
6851722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
6861722Svbart@nginx.com</para>
6871722Svbart@nginx.com</change>
6881722Svbart@nginx.com
6891722Svbart@nginx.com<change type="change">
6901722Svbart@nginx.com<para>
6911722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
6921722Svbart@nginx.comnames.
6931722Svbart@nginx.com</para>
6941722Svbart@nginx.com</change>
6951722Svbart@nginx.com
6961722Svbart@nginx.com<change type="change">
6971722Svbart@nginx.com<para>
6981722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
6991722Svbart@nginx.comdefault.
7001722Svbart@nginx.com</para>
7011722Svbart@nginx.com</change>
7021722Svbart@nginx.com
7031722Svbart@nginx.com<change type="feature">
7041722Svbart@nginx.com<para>
7051722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
7061722Svbart@nginx.com</para>
7071722Svbart@nginx.com</change>
7081722Svbart@nginx.com
7091722Svbart@nginx.com<change type="feature">
7101722Svbart@nginx.com<para>
7111722Svbart@nginx.comregular expressions in route matching patterns.
7121722Svbart@nginx.com</para>
7131722Svbart@nginx.com</change>
7141722Svbart@nginx.com
7151722Svbart@nginx.com<change type="feature">
7161722Svbart@nginx.com<para>
7171722Svbart@nginx.comcompatibility with Python 3.9.
7181722Svbart@nginx.com</para>
7191722Svbart@nginx.com</change>
7201722Svbart@nginx.com
7211722Svbart@nginx.com<change type="feature">
7221722Svbart@nginx.com<para>
7231722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
7241722Svbart@nginx.com</para>
7251722Svbart@nginx.com</change>
7261722Svbart@nginx.com
7271722Svbart@nginx.com<change type="feature">
7281722Svbart@nginx.com<para>
7291722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
7301722Svbart@nginx.com</para>
7311722Svbart@nginx.com</change>
7321722Svbart@nginx.com
7331722Svbart@nginx.com<change type="feature">
7341722Svbart@nginx.com<para>
7351722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
7361722Svbart@nginx.comcontinues code execution without holding onto the client connection.
7371722Svbart@nginx.com</para>
7381722Svbart@nginx.com</change>
7391722Svbart@nginx.com
7401722Svbart@nginx.com<change type="feature">
7411722Svbart@nginx.com<para>
7421722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
7431722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
7441722Svbart@nginx.com</para>
7451722Svbart@nginx.com</change>
7461722Svbart@nginx.com
7471722Svbart@nginx.com<change type="feature">
7481722Svbart@nginx.com<para>
7491722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
7501722Svbart@nginx.commounting of eponymous filesystems.
7511722Svbart@nginx.com</para>
7521722Svbart@nginx.com</change>
7531722Svbart@nginx.com
7541722Svbart@nginx.com<change type="bugfix">
7551722Svbart@nginx.com<para>
7561722Svbart@nginx.comthe router process could crash when running Go applications under high load;
7571722Svbart@nginx.comthe bug had appeared in 1.19.0.
7581722Svbart@nginx.com</para>
7591722Svbart@nginx.com</change>
7601722Svbart@nginx.com
7611722Svbart@nginx.com<change type="bugfix">
7621722Svbart@nginx.com<para>
7631722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
7641722Svbart@nginx.com</para>
7651722Svbart@nginx.com</change>
7661722Svbart@nginx.com
7671722Svbart@nginx.com<change type="bugfix">
7681722Svbart@nginx.com<para>
7691722Svbart@nginx.comvarious compatibility issues in Java applications.
7701722Svbart@nginx.com</para>
7711722Svbart@nginx.com</change>
7721722Svbart@nginx.com
7731722Svbart@nginx.com<change type="bugfix">
7741722Svbart@nginx.com<para>
7751722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
7761722Svbart@nginx.comuse "rootfs" isolation.
7771722Svbart@nginx.com</para>
7781722Svbart@nginx.com</change>
7791722Svbart@nginx.com
7801722Svbart@nginx.com</changes>
7811722Svbart@nginx.com
7821722Svbart@nginx.com
7831330Svbart@nginx.com<changes apply="unit-php
7841330Svbart@nginx.com                unit-python unit-python2.7
7851330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7861330Svbart@nginx.com                unit-python3.8
7871330Svbart@nginx.com                unit-go
7881330Svbart@nginx.com                unit-perl
7891330Svbart@nginx.com                unit-ruby
7901330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7911640Svbart@nginx.com         ver="1.20.0" rev="1"
7921640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
7931640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7941640Svbart@nginx.com
7951640Svbart@nginx.com<change>
7961640Svbart@nginx.com<para>
7971640Svbart@nginx.comNGINX Unit updated to 1.20.0.
7981640Svbart@nginx.com</para>
7991640Svbart@nginx.com</change>
8001640Svbart@nginx.com
8011640Svbart@nginx.com</changes>
8021640Svbart@nginx.com
8031640Svbart@nginx.com
8041640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
8051640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8061640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8071640Svbart@nginx.com
8081640Svbart@nginx.com<change type="change">
8091640Svbart@nginx.com<para>
8101640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
8111640Svbart@nginx.comextensions from the host system.
8121640Svbart@nginx.com</para>
8131640Svbart@nginx.com</change>
8141640Svbart@nginx.com
8151640Svbart@nginx.com<change type="change">
8161640Svbart@nginx.com<para>
8171640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
8181640Svbart@nginx.com</para>
8191640Svbart@nginx.com</change>
8201640Svbart@nginx.com
8211643Svbart@nginx.com<change type="change">
8221643Svbart@nginx.com<para>
8231643Svbart@nginx.comfunctional tests migrated to the pytest framework.
8241643Svbart@nginx.com</para>
8251643Svbart@nginx.com</change>
8261643Svbart@nginx.com
8271640Svbart@nginx.com<change type="feature">
8281640Svbart@nginx.com<para>
8291640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
8301640Svbart@nginx.cominterface.
8311640Svbart@nginx.com</para>
8321640Svbart@nginx.com</change>
8331640Svbart@nginx.com
8341640Svbart@nginx.com<change type="feature">
8351640Svbart@nginx.com<para>
8361640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
8371640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
8381640Svbart@nginx.comspecification.
8391640Svbart@nginx.com</para>
8401640Svbart@nginx.com</change>
8411640Svbart@nginx.com
8421640Svbart@nginx.com<change type="feature">
8431640Svbart@nginx.com<para>
8441640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
8451640Svbart@nginx.comenvironments.
8461640Svbart@nginx.com</para>
8471640Svbart@nginx.com</change>
8481640Svbart@nginx.com
8491640Svbart@nginx.com<change type="feature">
8501640Svbart@nginx.com<para>
8511640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
8521640Svbart@nginx.com</para>
8531640Svbart@nginx.com</change>
8541640Svbart@nginx.com
8551640Svbart@nginx.com<change type="feature">
8561640Svbart@nginx.com<para>
8571640Svbart@nginx.comthe "callable" option sets Python application callable names.
8581640Svbart@nginx.com</para>
8591640Svbart@nginx.com</change>
8601640Svbart@nginx.com
8611640Svbart@nginx.com<change type="feature">
8621640Svbart@nginx.com<para>
8631640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
8641640Svbart@nginx.com</para>
8651640Svbart@nginx.com</change>
8661640Svbart@nginx.com
8671640Svbart@nginx.com<change type="feature">
8681640Svbart@nginx.com<para>
8691640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
8701640Svbart@nginx.comautomatic mounting of language module dependencies.
8711640Svbart@nginx.com</para>
8721640Svbart@nginx.com</change>
8731640Svbart@nginx.com
8741640Svbart@nginx.com<change type="bugfix">
8751640Svbart@nginx.com<para>
8761640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
8771640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
8781640Svbart@nginx.com</para>
8791640Svbart@nginx.com</change>
8801640Svbart@nginx.com
8811640Svbart@nginx.com<change type="bugfix">
8821640Svbart@nginx.com<para>
8831640Svbart@nginx.comthe router process could crash during reconfiguration.
8841640Svbart@nginx.com</para>
8851640Svbart@nginx.com</change>
8861640Svbart@nginx.com
8871640Svbart@nginx.com<change type="bugfix">
8881640Svbart@nginx.com<para>
8891640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
8901640Svbart@nginx.com</para>
8911640Svbart@nginx.com</change>
8921640Svbart@nginx.com
8931640Svbart@nginx.com<change type="bugfix">
8941640Svbart@nginx.com<para>
8951640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
8961640Svbart@nginx.comthe bug had appeared in 1.19.0.
8971640Svbart@nginx.com</para>
8981640Svbart@nginx.com</change>
8991640Svbart@nginx.com
9001640Svbart@nginx.com<change type="bugfix">
9011640Svbart@nginx.com<para>
9021640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
9031640Svbart@nginx.comthe bug had appeared in 1.16.0.
9041640Svbart@nginx.com</para>
9051640Svbart@nginx.com</change>
9061640Svbart@nginx.com
9071640Svbart@nginx.com</changes>
9081640Svbart@nginx.com
9091640Svbart@nginx.com
9101640Svbart@nginx.com<changes apply="unit-php
9111640Svbart@nginx.com                unit-python unit-python2.7
9121640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9131640Svbart@nginx.com                unit-python3.8
9141640Svbart@nginx.com                unit-go
9151640Svbart@nginx.com                unit-perl
9161640Svbart@nginx.com                unit-ruby
9171640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9181570Svbart@nginx.com         ver="1.19.0" rev="1"
9191570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9201570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9211570Svbart@nginx.com
9221570Svbart@nginx.com<change>
9231570Svbart@nginx.com<para>
9241570Svbart@nginx.comNGINX Unit updated to 1.19.0.
9251570Svbart@nginx.com</para>
9261570Svbart@nginx.com</change>
9271570Svbart@nginx.com
9281570Svbart@nginx.com</changes>
9291570Svbart@nginx.com
9301570Svbart@nginx.com
9311570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
9321570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9331570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9341570Svbart@nginx.com
9351570Svbart@nginx.com<change type="feature">
9361570Svbart@nginx.com<para>
9371570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
9381570Svbart@nginx.comincrease performance, and improve scalability.
9391570Svbart@nginx.com</para>
9401570Svbart@nginx.com</change>
9411570Svbart@nginx.com
9421570Svbart@nginx.com<change type="feature">
9431570Svbart@nginx.com<para>
9441570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
9451570Svbart@nginx.com</para>
9461570Svbart@nginx.com</change>
9471570Svbart@nginx.com
9481570Svbart@nginx.com<change type="feature">
9491570Svbart@nginx.com<para>
9501570Svbart@nginx.comchunked transfer encoding in proxy responses.
9511570Svbart@nginx.com</para>
9521570Svbart@nginx.com</change>
9531570Svbart@nginx.com
9541570Svbart@nginx.com<change type="feature">
9551570Svbart@nginx.com<para>
9561570Svbart@nginx.combasic variables support in the "pass" option.
9571570Svbart@nginx.com</para>
9581570Svbart@nginx.com</change>
9591570Svbart@nginx.com
9601570Svbart@nginx.com<change type="feature">
9611570Svbart@nginx.com<para>
9621570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
9631570Svbart@nginx.comThanks to Remi Collet.
9641570Svbart@nginx.com</para>
9651570Svbart@nginx.com</change>
9661570Svbart@nginx.com
9671570Svbart@nginx.com<change type="bugfix">
9681570Svbart@nginx.com<para>
9691570Svbart@nginx.comthe router process could crash while passing requests to an application under
9701570Svbart@nginx.comhigh load.
9711570Svbart@nginx.com</para>
9721570Svbart@nginx.com</change>
9731570Svbart@nginx.com
9741570Svbart@nginx.com<change type="bugfix">
9751570Svbart@nginx.com<para>
9761570Svbart@nginx.coma number of language modules failed to build on some systems;
9771570Svbart@nginx.comthe bug had appeared in 1.18.0.
9781570Svbart@nginx.com</para>
9791570Svbart@nginx.com</change>
9801570Svbart@nginx.com
9811570Svbart@nginx.com<change type="bugfix">
9821570Svbart@nginx.com<para>
9831570Svbart@nginx.comtime in error log messages from PHP applications could lag.
9841570Svbart@nginx.com</para>
9851570Svbart@nginx.com</change>
9861570Svbart@nginx.com
9871570Svbart@nginx.com<change type="bugfix">
9881570Svbart@nginx.com<para>
9891570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
9901570Svbart@nginx.comthe bug had appeared in 1.18.0.
9911570Svbart@nginx.com</para>
9921570Svbart@nginx.com</change>
9931570Svbart@nginx.com
9941570Svbart@nginx.com<change type="bugfix">
9951570Svbart@nginx.com<para>
9961570Svbart@nginx.commemory leak during reconfiguration.
9971570Svbart@nginx.com</para>
9981570Svbart@nginx.com</change>
9991570Svbart@nginx.com
10001570Svbart@nginx.com<change type="bugfix">
10011570Svbart@nginx.com<para>
10021570Svbart@nginx.comthe daemon didn't start without language modules;
10031570Svbart@nginx.comthe bug had appeared in 1.18.0.
10041570Svbart@nginx.com</para>
10051570Svbart@nginx.com</change>
10061570Svbart@nginx.com
10071570Svbart@nginx.com<change type="bugfix">
10081570Svbart@nginx.com<para>
10091570Svbart@nginx.comthe router process could crash at exit.
10101570Svbart@nginx.com</para>
10111570Svbart@nginx.com</change>
10121570Svbart@nginx.com
10131570Svbart@nginx.com<change type="bugfix">
10141570Svbart@nginx.com<para>
10151570Svbart@nginx.comNode.js applications could crash at exit.
10161570Svbart@nginx.com</para>
10171570Svbart@nginx.com</change>
10181570Svbart@nginx.com
10191570Svbart@nginx.com<change type="bugfix">
10201570Svbart@nginx.com<para>
10211570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
10221570Svbart@nginx.com</para>
10231570Svbart@nginx.com</change>
10241570Svbart@nginx.com
10251570Svbart@nginx.com</changes>
10261570Svbart@nginx.com
10271570Svbart@nginx.com
10281570Svbart@nginx.com<changes apply="unit-php
10291570Svbart@nginx.com                unit-python unit-python2.7
10301570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10311570Svbart@nginx.com                unit-python3.8
10321570Svbart@nginx.com                unit-go
10331570Svbart@nginx.com                unit-perl
10341570Svbart@nginx.com                unit-ruby
10351570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10361491Svbart@nginx.com         ver="1.18.0" rev="1"
10371491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
10381491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10391491Svbart@nginx.com
10401491Svbart@nginx.com<change>
10411491Svbart@nginx.com<para>
10421491Svbart@nginx.comNGINX Unit updated to 1.18.0.
10431491Svbart@nginx.com</para>
10441491Svbart@nginx.com</change>
10451491Svbart@nginx.com
10461491Svbart@nginx.com</changes>
10471491Svbart@nginx.com
10481491Svbart@nginx.com
10491491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
10501491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
10511491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10521491Svbart@nginx.com
10531491Svbart@nginx.com<change type="feature">
10541491Svbart@nginx.com<para>
10551491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
10561491Svbart@nginx.com</para>
10571491Svbart@nginx.com</change>
10581491Svbart@nginx.com
10591491Svbart@nginx.com<change type="feature">
10601491Svbart@nginx.com<para>
10611491Svbart@nginx.commultiple "targets" in PHP applications.
10621491Svbart@nginx.com</para>
10631491Svbart@nginx.com</change>
10641491Svbart@nginx.com
10651491Svbart@nginx.com<change type="feature">
10661491Svbart@nginx.com<para>
10671491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
10681491Svbart@nginx.comand in the "pass" option.
10691491Svbart@nginx.com</para>
10701491Svbart@nginx.com</change>
10711491Svbart@nginx.com
10721491Svbart@nginx.com</changes>
10731491Svbart@nginx.com
10741491Svbart@nginx.com
10751491Svbart@nginx.com<changes apply="unit-php
10761491Svbart@nginx.com                unit-python unit-python2.7
10771491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10781491Svbart@nginx.com                unit-python3.8
10791491Svbart@nginx.com                unit-go
10801491Svbart@nginx.com                unit-perl
10811491Svbart@nginx.com                unit-ruby
10821491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10831460Svbart@nginx.com         ver="1.17.0" rev="1"
10841460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
10851460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10861460Svbart@nginx.com
10871460Svbart@nginx.com<change>
10881460Svbart@nginx.com<para>
10891460Svbart@nginx.comNGINX Unit updated to 1.17.0.
10901460Svbart@nginx.com</para>
10911460Svbart@nginx.com</change>
10921460Svbart@nginx.com
10931460Svbart@nginx.com</changes>
10941460Svbart@nginx.com
10951460Svbart@nginx.com
10961460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
10971460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
10981460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10991460Svbart@nginx.com
11001460Svbart@nginx.com<change type="feature">
11011460Svbart@nginx.com<para>
11021460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
11031460Svbart@nginx.comredirection.
11041460Svbart@nginx.com</para>
11051460Svbart@nginx.com</change>
11061460Svbart@nginx.com
11071460Svbart@nginx.com<change type="feature">
11081460Svbart@nginx.com<para>
11091460Svbart@nginx.comfractional weights support for upstream servers.
11101460Svbart@nginx.com</para>
11111460Svbart@nginx.com</change>
11121460Svbart@nginx.com
11131460Svbart@nginx.com<change type="bugfix">
11141460Svbart@nginx.com<para>
11151460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
11161460Svbart@nginx.comhigh load.
11171460Svbart@nginx.com</para>
11181460Svbart@nginx.com</change>
11191460Svbart@nginx.com
11201460Svbart@nginx.com<change type="bugfix">
11211460Svbart@nginx.com<para>
11221460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
11231460Svbart@nginx.com</para>
11241460Svbart@nginx.com</change>
11251460Svbart@nginx.com
11261460Svbart@nginx.com<change type="bugfix">
11271460Svbart@nginx.com<para>
11281460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
11291460Svbart@nginx.comopen connections limit.
11301460Svbart@nginx.com</para>
11311460Svbart@nginx.com</change>
11321460Svbart@nginx.com
11331460Svbart@nginx.com<change type="bugfix">
11341460Svbart@nginx.com<para>
11351460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
11361460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
11371460Svbart@nginx.com</para>
11381460Svbart@nginx.com</change>
11391460Svbart@nginx.com
11401460Svbart@nginx.com<change type="bugfix">
11411460Svbart@nginx.com<para>
11421460Svbart@nginx.comexisting application processes didn't reopen the log file.
11431460Svbart@nginx.com</para>
11441460Svbart@nginx.com</change>
11451460Svbart@nginx.com
11461460Svbart@nginx.com<change type="bugfix">
11471460Svbart@nginx.com<para>
11481460Svbart@nginx.comincompatibility with some Node.js applications.
11491460Svbart@nginx.com</para>
11501460Svbart@nginx.com</change>
11511460Svbart@nginx.com
11521460Svbart@nginx.com<change type="bugfix">
11531460Svbart@nginx.com<para>
11541460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
11551460Svbart@nginx.com</para>
11561460Svbart@nginx.com</change>
11571460Svbart@nginx.com
11581460Svbart@nginx.com</changes>
11591460Svbart@nginx.com
11601460Svbart@nginx.com
11611460Svbart@nginx.com<changes apply="unit-php
11621460Svbart@nginx.com                unit-python unit-python2.7
11631460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11641460Svbart@nginx.com                unit-python3.8
11651460Svbart@nginx.com                unit-go
11661460Svbart@nginx.com                unit-perl
11671460Svbart@nginx.com                unit-ruby
11681460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11691404Svbart@nginx.com         ver="1.16.0" rev="1"
11701404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
11711404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11721404Svbart@nginx.com
11731404Svbart@nginx.com<change>
11741404Svbart@nginx.com<para>
11751404Svbart@nginx.comNGINX Unit updated to 1.16.0.
11761404Svbart@nginx.com</para>
11771404Svbart@nginx.com</change>
11781404Svbart@nginx.com
1179