xref: /unit/docs/changes.xml (revision 2012)
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
8*2012Svbart@nginx.com<changes apply="unit-php
9*2012Svbart@nginx.com                unit-python unit-python2.7
10*2012Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11*2012Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
12*2012Svbart@nginx.com                unit-go
13*2012Svbart@nginx.com                unit-perl
14*2012Svbart@nginx.com                unit-ruby
15*2012Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
16*2012Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
17*2012Svbart@nginx.com         ver="1.27.0" rev="1"
18*2012Svbart@nginx.com         date="" time=""
19*2012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
20*2012Svbart@nginx.com
21*2012Svbart@nginx.com<change>
22*2012Svbart@nginx.com<para>
23*2012Svbart@nginx.comNGINX Unit updated to 1.27.0.
24*2012Svbart@nginx.com</para>
25*2012Svbart@nginx.com</change>
26*2012Svbart@nginx.com
27*2012Svbart@nginx.com</changes>
28*2012Svbart@nginx.com
29*2012Svbart@nginx.com
30*2012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
31*2012Svbart@nginx.com         date="" time=""
32*2012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
33*2012Svbart@nginx.com
34*2012Svbart@nginx.com</changes>
35*2012Svbart@nginx.com
36*2012Svbart@nginx.com
371973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
382007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
391973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
401973Sdefan@nginx.com
411973Sdefan@nginx.com<change>
421973Sdefan@nginx.com<para>
431973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
441973Sdefan@nginx.com</para>
451973Sdefan@nginx.com</change>
461973Sdefan@nginx.com
471973Sdefan@nginx.com</changes>
481973Sdefan@nginx.com
491973Sdefan@nginx.com
501973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
512007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
521973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
531973Sdefan@nginx.com
541973Sdefan@nginx.com<change>
551973Sdefan@nginx.com<para>
561973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
571973Sdefan@nginx.com</para>
581973Sdefan@nginx.com</change>
591973Sdefan@nginx.com
601973Sdefan@nginx.com</changes>
611973Sdefan@nginx.com
621973Sdefan@nginx.com
631896Svbart@nginx.com<changes apply="unit-php
641896Svbart@nginx.com                unit-python unit-python2.7
651896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
661896Svbart@nginx.com                unit-python3.8 unit-python3.9
671896Svbart@nginx.com                unit-go
681896Svbart@nginx.com                unit-perl
691896Svbart@nginx.com                unit-ruby
701896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
711896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
721951Svbart@nginx.com         ver="1.26.0" rev="1"
732007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
741951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
751951Svbart@nginx.com
761951Svbart@nginx.com<change>
771951Svbart@nginx.com<para>
781951Svbart@nginx.comNGINX Unit updated to 1.26.0.
791951Svbart@nginx.com</para>
801951Svbart@nginx.com</change>
811951Svbart@nginx.com
821951Svbart@nginx.com</changes>
831951Svbart@nginx.com
841951Svbart@nginx.com
851951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
862007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
871951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
881951Svbart@nginx.com
891960Sz.hong@f5.com<change type="change">
901960Sz.hong@f5.com<para>
911960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
921960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
931960Sz.hong@f5.com</para>
941960Sz.hong@f5.com</change>
951960Sz.hong@f5.com
961960Sz.hong@f5.com<change type="feature">
971960Sz.hong@f5.com<para>
982006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
992006Svbart@nginx.comwhen updating from previous versions.
1002006Svbart@nginx.com</para>
1012006Svbart@nginx.com</change>
1022006Svbart@nginx.com
1032006Svbart@nginx.com<change type="feature">
1042006Svbart@nginx.com<para>
1051960Sz.hong@f5.comvariables support in the "share" option.
1061960Sz.hong@f5.com</para>
1071960Sz.hong@f5.com</change>
1081960Sz.hong@f5.com
1091959Sz.hong@f5.com<change type="feature">
1101959Sz.hong@f5.com<para>
1111961Sz.hong@f5.commultiple paths in the "share" option.
1121961Sz.hong@f5.com</para>
1131961Sz.hong@f5.com</change>
1141961Sz.hong@f5.com
1151961Sz.hong@f5.com<change type="feature">
1161961Sz.hong@f5.com<para>
1171959Sz.hong@f5.comvariables support in the "chroot" option.
1181959Sz.hong@f5.com</para>
1191959Sz.hong@f5.com</change>
1201959Sz.hong@f5.com
1211969Sz.hong@f5.com<change type="feature">
1221969Sz.hong@f5.com<para>
1232006Svbart@nginx.comPHP opcache is shared between application processes.
1241969Sz.hong@f5.com</para>
1251969Sz.hong@f5.com</change>
1261969Sz.hong@f5.com
1271991Sz.hong@f5.com<change type="feature">
1281991Sz.hong@f5.com<para>
1291991Sz.hong@f5.comrequest routing by the query string.
1301991Sz.hong@f5.com</para>
1311991Sz.hong@f5.com</change>
1321991Sz.hong@f5.com
1331955Smax.romanov@nginx.com<change type="bugfix">
1341955Smax.romanov@nginx.com<para>
1352006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
1362006Svbart@nginx.comby asynchronous or multithreaded apps.
1371955Smax.romanov@nginx.com</para>
1381955Smax.romanov@nginx.com</change>
1391955Smax.romanov@nginx.com
1401956Smax.romanov@nginx.com<change type="bugfix">
1411956Smax.romanov@nginx.com<para>
1421956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
1431956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
1441956Smax.romanov@nginx.com</para>
1451956Smax.romanov@nginx.com</change>
1461956Smax.romanov@nginx.com
1471992Smax.romanov@nginx.com<change type="bugfix">
1481992Smax.romanov@nginx.com<para>
1492006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
1501992Smax.romanov@nginx.com</para>
1511992Smax.romanov@nginx.com</change>
1521992Smax.romanov@nginx.com
1531951Svbart@nginx.com</changes>
1541951Svbart@nginx.com
1551951Svbart@nginx.com
1561951Svbart@nginx.com<changes apply="unit-php
1571951Svbart@nginx.com                unit-python unit-python2.7
1581951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1591951Svbart@nginx.com                unit-python3.8 unit-python3.9
1601951Svbart@nginx.com                unit-go
1611951Svbart@nginx.com                unit-perl
1621951Svbart@nginx.com                unit-ruby
1631951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1641951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
1651896Svbart@nginx.com         ver="1.25.0" rev="1"
1661945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
1671896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1681896Svbart@nginx.com
1691896Svbart@nginx.com<change>
1701896Svbart@nginx.com<para>
1711896Svbart@nginx.comNGINX Unit updated to 1.25.0.
1721896Svbart@nginx.com</para>
1731896Svbart@nginx.com</change>
1741896Svbart@nginx.com
1751896Svbart@nginx.com</changes>
1761896Svbart@nginx.com
1771896Svbart@nginx.com
1781896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
1791945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
1801896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1811896Svbart@nginx.com
1821910So.canty@f5.com<change type="feature">
1831910So.canty@f5.com<para>
1841944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
1851942Sa.suvorov@f5.com</para>
1861942Sa.suvorov@f5.com</change>
1871942Sa.suvorov@f5.com
1881942Sa.suvorov@f5.com<change type="feature">
1891942Sa.suvorov@f5.com<para>
1901920Sa.suvorov@f5.comTLS sessions cache.
1911920Sa.suvorov@f5.com</para>
1921920Sa.suvorov@f5.com</change>
1931920Sa.suvorov@f5.com
1941920Sa.suvorov@f5.com<change type="feature">
1951920Sa.suvorov@f5.com<para>
1961944Svbart@nginx.comTLS session tickets.
1971910So.canty@f5.com</para>
1981910So.canty@f5.com</change>
1991910So.canty@f5.com
2001926Smax.romanov@nginx.com<change type="feature">
2011926Smax.romanov@nginx.com<para>
2021926Smax.romanov@nginx.comapplication restart control.
2031926Smax.romanov@nginx.com</para>
2041926Smax.romanov@nginx.com</change>
2051926Smax.romanov@nginx.com
2061936So.canty@f5.com<change type="feature">
2071936So.canty@f5.com<para>
2081944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
2091936So.canty@f5.com</para>
2101936So.canty@f5.com</change>
2111936So.canty@f5.com
2121907Smax.romanov@nginx.com<change type="bugfix">
2131907Smax.romanov@nginx.com<para>
2141944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
2151944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
2161921Sa.suvorov@f5.com</para>
2171921Sa.suvorov@f5.com</change>
2181921Sa.suvorov@f5.com
2191921Sa.suvorov@f5.com<change type="bugfix">
2201921Sa.suvorov@f5.com<para>
2211944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
2221944Svbart@nginx.combundles in a listener if the client did not use SNI.
2231907Smax.romanov@nginx.com</para>
2241907Smax.romanov@nginx.com</change>
2251907Smax.romanov@nginx.com
2261907Smax.romanov@nginx.com<change type="bugfix">
2271907Smax.romanov@nginx.com<para>
2281950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
2291915Smax.romanov@nginx.comreconfiguration.
2301915Smax.romanov@nginx.com</para>
2311915Smax.romanov@nginx.com</change>
2321915Smax.romanov@nginx.com
2331915Smax.romanov@nginx.com<change type="bugfix">
2341915Smax.romanov@nginx.com<para>
2351944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
2361944Svbart@nginx.comframework.
2371944Svbart@nginx.com</para>
2381944Svbart@nginx.com</change>
2391944Svbart@nginx.com
2401944Svbart@nginx.com<change type="bugfix">
2411944Svbart@nginx.com<para>
2421944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
2431944Svbart@nginx.comstopped or crashed.
2441907Smax.romanov@nginx.com</para>
2451907Smax.romanov@nginx.com</change>
2461907Smax.romanov@nginx.com
2471909So.canty@f5.com<change type="bugfix">
2481909So.canty@f5.com<para>
2491909So.canty@f5.comthe controller or router process could crash if the configuration contained
2501909So.canty@f5.coma full-form IPv6 in a listener address.
2511909So.canty@f5.com</para>
2521909So.canty@f5.com</change>
2531909So.canty@f5.com
2541916Smax.romanov@nginx.com<change type="bugfix">
2551916Smax.romanov@nginx.com<para>
2561929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
2571929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
2581929Sz.hong@f5.com</para>
2591929Sz.hong@f5.com</change>
2601929Sz.hong@f5.com
2611930So.canty@f5.com<change type="bugfix">
2621930So.canty@f5.com<para>
2631944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
2641944Svbart@nginx.comor destination address patterns.
2651930So.canty@f5.com</para>
2661930So.canty@f5.com</change>
2671930So.canty@f5.com
2681896Svbart@nginx.com</changes>
2691896Svbart@nginx.com
2701896Svbart@nginx.com
2711887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
2721891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2731887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2741887Sdefan@nginx.com
2751887Sdefan@nginx.com<change>
2761887Sdefan@nginx.com<para>
2771887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
2781887Sdefan@nginx.com</para>
2791887Sdefan@nginx.com</change>
2801887Sdefan@nginx.com
2811887Sdefan@nginx.com</changes>
2821887Sdefan@nginx.com
2831887Sdefan@nginx.com
2841887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
2851891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2861887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2871887Sdefan@nginx.com
2881887Sdefan@nginx.com<change>
2891887Sdefan@nginx.com<para>
2901887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
2911887Sdefan@nginx.com</para>
2921887Sdefan@nginx.com</change>
2931887Sdefan@nginx.com
2941887Sdefan@nginx.com</changes>
2951887Sdefan@nginx.com
2961887Sdefan@nginx.com
2971834Svbart@nginx.com<changes apply="unit-php
2981834Svbart@nginx.com                unit-python unit-python2.7
2991834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3001834Svbart@nginx.com                unit-python3.8 unit-python3.9
3011834Svbart@nginx.com                unit-go
3021834Svbart@nginx.com                unit-perl
3031834Svbart@nginx.com                unit-ruby
3041834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3051834Svbart@nginx.com                unit-jsc14 unit-jsc15"
3061839Svbart@nginx.com         ver="1.24.0" rev="1"
3071891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3081839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3091839Svbart@nginx.com
3101839Svbart@nginx.com<change>
3111839Svbart@nginx.com<para>
3121839Svbart@nginx.comNGINX Unit updated to 1.24.0.
3131839Svbart@nginx.com</para>
3141839Svbart@nginx.com</change>
3151839Svbart@nginx.com
3161839Svbart@nginx.com</changes>
3171839Svbart@nginx.com
3181839Svbart@nginx.com
3191839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
3201891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3211839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3221839Svbart@nginx.com
3231882So.canty@f5.com<change type="change">
3241882So.canty@f5.com<para>
3251882So.canty@f5.comPHP added to the default MIME type list.
3261882So.canty@f5.com</para>
3271882So.canty@f5.com</change>
3281882So.canty@f5.com
3291855Sz.hong@f5.com<change type="feature">
3301855Sz.hong@f5.com<para>
3311885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
3321885Sa.suvorov@f5.com</para>
3331885Sa.suvorov@f5.com</change>
3341885Sa.suvorov@f5.com
3351885Sa.suvorov@f5.com<change type="feature">
3361885Sa.suvorov@f5.com<para>
3371890Svbart@nginx.comthe ability to limit static file serving by MIME types.
3381890Svbart@nginx.com</para>
3391890Svbart@nginx.com</change>
3401890Svbart@nginx.com
3411890Svbart@nginx.com<change type="feature">
3421890Svbart@nginx.com<para>
3431890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
3441890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
3451872So.canty@f5.com</para>
3461872So.canty@f5.com</change>
3471872So.canty@f5.com
3481872So.canty@f5.com<change type="feature">
3491872So.canty@f5.com<para>
3501889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
3511889Sartem.konev@nginx.comNode.js.
3521865So.canty@f5.com</para>
3531865So.canty@f5.com</change>
3541865So.canty@f5.com
3551865So.canty@f5.com<change type="feature">
3561865So.canty@f5.com<para>
3571890Svbart@nginx.commultiple "targets" in Python applications.
3581855Sz.hong@f5.com</para>
3591855Sz.hong@f5.com</change>
3601855Sz.hong@f5.com
3611870So.canty@f5.com<change type="feature">
3621870So.canty@f5.com<para>
3631870So.canty@f5.comcompatibility with Ruby 3.0.
3641870So.canty@f5.com</para>
3651870So.canty@f5.com</change>
3661870So.canty@f5.com
3671861Svbart@nginx.com<change type="bugfix">
3681861Svbart@nginx.com<para>
3691889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
3701884Sa.suvorov@f5.com</para>
3711884Sa.suvorov@f5.com</change>
3721884Sa.suvorov@f5.com
3731884Sa.suvorov@f5.com<change type="bugfix">
3741884Sa.suvorov@f5.com<para>
3751861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
3761861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
3771861Svbart@nginx.com</para>
3781861Svbart@nginx.com</change>
3791861Svbart@nginx.com
3801839Svbart@nginx.com</changes>
3811839Svbart@nginx.com
3821839Svbart@nginx.com
3831839Svbart@nginx.com<changes apply="unit-php
3841839Svbart@nginx.com                unit-python unit-python2.7
3851839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3861839Svbart@nginx.com                unit-python3.8 unit-python3.9
3871839Svbart@nginx.com                unit-go
3881839Svbart@nginx.com                unit-perl
3891839Svbart@nginx.com                unit-ruby
3901839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3911839Svbart@nginx.com                unit-jsc14 unit-jsc15"
3921834Svbart@nginx.com         ver="1.23.0" rev="1"
3931834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
3941834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3951834Svbart@nginx.com
3961834Svbart@nginx.com<change>
3971834Svbart@nginx.com<para>
3981834Svbart@nginx.comNGINX Unit updated to 1.23.0.
3991834Svbart@nginx.com</para>
4001834Svbart@nginx.com</change>
4011834Svbart@nginx.com
4021834Svbart@nginx.com</changes>
4031834Svbart@nginx.com
4041834Svbart@nginx.com
4051806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
4061834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4071806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4081806Svbart@nginx.com
4091825Sthresh@nginx.com<change type="feature">
4101825Sthresh@nginx.com<para>
4111833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
4121828Sa.suvorov@f5.comIndication (SNI) TLS extension.
4131828Sa.suvorov@f5.com</para>
4141828Sa.suvorov@f5.com</change>
4151828Sa.suvorov@f5.com
4161828Sa.suvorov@f5.com<change type="feature">
4171828Sa.suvorov@f5.com<para>
4181833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
4191833Sartem.konev@nginx.cominstallation.
4201825Sthresh@nginx.com</para>
4211825Sthresh@nginx.com</change>
4221825Sthresh@nginx.com
4231811Smax.romanov@nginx.com<change type="bugfix">
4241811Smax.romanov@nginx.com<para>
4251812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
4261812Svbart@nginx.comappeared in 1.17.0.
4271812Svbart@nginx.com</para>
4281812Svbart@nginx.com</change>
4291812Svbart@nginx.com
4301812Svbart@nginx.com<change type="bugfix">
4311812Svbart@nginx.com<para>
4321833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
4331812Svbart@nginx.comappeared in 1.6.
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 descriptor and memory leak occurred in the router process when processing
4401832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
4411832Smax.romanov@nginx.com</para>
4421832Smax.romanov@nginx.com</change>
4431832Smax.romanov@nginx.com
4441832Smax.romanov@nginx.com<change type="bugfix">
4451832Smax.romanov@nginx.com<para>
4461833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
4471811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
4481811Smax.romanov@nginx.com</para>
4491811Smax.romanov@nginx.com</change>
4501806Svbart@nginx.com
4511813Svbart@nginx.com<change type="bugfix">
4521813Svbart@nginx.com<para>
4531813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
4541813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
4551813Svbart@nginx.com</para>
4561813Svbart@nginx.com</change>
4571813Svbart@nginx.com
4581814Svbart@nginx.com<change type="bugfix">
4591814Svbart@nginx.com<para>
4601820Svbart@nginx.comthe controller process could crash while requesting information about a
4611820Svbart@nginx.comcertificate with a non-DNS SAN entry.
4621820Svbart@nginx.com</para>
4631820Svbart@nginx.com</change>
4641820Svbart@nginx.com
4651820Svbart@nginx.com<change type="bugfix">
4661820Svbart@nginx.com<para>
4671822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
4681833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
4691822Svbart@nginx.com</para>
4701822Svbart@nginx.com</change>
4711822Svbart@nginx.com
4721822Svbart@nginx.com<change type="bugfix">
4731822Svbart@nginx.com<para>
4741833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
4751833Sartem.konev@nginx.comclass.
4761814Svbart@nginx.com</para>
4771814Svbart@nginx.com</change>
4781814Svbart@nginx.com
4791815Svbart@nginx.com<change type="bugfix">
4801815Svbart@nginx.com<para>
4811815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
4821815Svbart@nginx.comappeared in 1.22.0.
4831815Svbart@nginx.com</para>
4841815Svbart@nginx.com</change>
4851815Svbart@nginx.com
4861806Svbart@nginx.com</changes>
4871806Svbart@nginx.com
4881806Svbart@nginx.com
4891798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
4901798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
4911798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4921798Sdefan@nginx.com
4931798Sdefan@nginx.com<change>
4941798Sdefan@nginx.com<para>
4951798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
4961798Sdefan@nginx.com</para>
4971798Sdefan@nginx.com</change>
4981798Sdefan@nginx.com
4991798Sdefan@nginx.com</changes>
5001798Sdefan@nginx.com
5011798Sdefan@nginx.com
5021763Sdefan@nginx.com<changes apply="unit-php
5031763Sdefan@nginx.com                unit-python unit-python2.7
5041763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5051763Sdefan@nginx.com                unit-python3.8
5061763Sdefan@nginx.com                unit-go
5071763Sdefan@nginx.com                unit-perl
5081763Sdefan@nginx.com                unit-ruby
5091763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5101763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
5111763Sdefan@nginx.com         ver="1.22.0" rev="1"
5121793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5131763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5141763Sdefan@nginx.com
5151763Sdefan@nginx.com<change>
5161763Sdefan@nginx.com<para>
5171763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
5181763Sdefan@nginx.com</para>
5191763Sdefan@nginx.com</change>
5201763Sdefan@nginx.com
5211763Sdefan@nginx.com</changes>
5221763Sdefan@nginx.com
5231763Sdefan@nginx.com
5241727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
5251793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5261727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5271727Svbart@nginx.com
5281759Svbart@nginx.com<change type="feature">
5291759Svbart@nginx.com<para>
5301792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
5311792Svbart@nginx.comcompliant with Stream API.
5321759Svbart@nginx.com</para>
5331759Svbart@nginx.com</change>
5341759Svbart@nginx.com
5351766Smax.romanov@nginx.com<change type="feature">
5361766Smax.romanov@nginx.com<para>
5371792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
5381792Svbart@nginx.comapps.
5391732Svbart@nginx.com</para>
5401732Svbart@nginx.com</change>
5411732Svbart@nginx.com
5421733Svbart@nginx.com<change type="bugfix">
5431733Svbart@nginx.com<para>
5441792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
5451792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
5461754Smax.romanov@nginx.com</para>
5471754Smax.romanov@nginx.com</change>
5481754Smax.romanov@nginx.com
5491755Smax.romanov@nginx.com<change type="bugfix">
5501755Smax.romanov@nginx.com<para>
5511790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
5521755Smax.romanov@nginx.comappeared in 1.19.0.
5531755Smax.romanov@nginx.com</para>
5541755Smax.romanov@nginx.com</change>
5551755Smax.romanov@nginx.com
5561756Smax.romanov@nginx.com<change type="bugfix">
5571756Smax.romanov@nginx.com<para>
5581790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
5591790Sartem.konev@nginx.comappeared in 1.19.0.
5601756Smax.romanov@nginx.com</para>
5611756Smax.romanov@nginx.com</change>
5621756Smax.romanov@nginx.com
5631760Smax.romanov@nginx.com<change type="bugfix">
5641760Smax.romanov@nginx.com<para>
5651792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
5661792Svbart@nginx.com</para>
5671792Svbart@nginx.com</change>
5681792Svbart@nginx.com
5691792Svbart@nginx.com<change type="bugfix">
5701792Svbart@nginx.com<para>
5711792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
5721792Svbart@nginx.commissing in the PHP module.
5731792Svbart@nginx.com</para>
5741792Svbart@nginx.com</change>
5751792Svbart@nginx.com
5761792Svbart@nginx.com<change type="bugfix">
5771792Svbart@nginx.com<para>
5781792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
5791792Svbart@nginx.com</para>
5801792Svbart@nginx.com</change>
5811792Svbart@nginx.com
5821792Svbart@nginx.com<change type="bugfix">
5831792Svbart@nginx.com<para>
5841792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
5851792Svbart@nginx.com</para>
5861792Svbart@nginx.com</change>
5871792Svbart@nginx.com
5881792Svbart@nginx.com<change type="bugfix">
5891792Svbart@nginx.com<para>
5901792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
5911792Svbart@nginx.comthe bug had appeared in 1.21.0.
5921760Smax.romanov@nginx.com</para>
5931760Smax.romanov@nginx.com</change>
5941760Smax.romanov@nginx.com
5951780Smax.romanov@nginx.com<change type="bugfix">
5961780Smax.romanov@nginx.com<para>
5971790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
5981790Sartem.konev@nginx.comWebSocket.
5991780Smax.romanov@nginx.com</para>
6001780Smax.romanov@nginx.com</change>
6011780Smax.romanov@nginx.com
6021789Smax.romanov@nginx.com<change type="bugfix">
6031789Smax.romanov@nginx.com<para>
6041789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
6051789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
6061789Smax.romanov@nginx.com</para>
6071789Smax.romanov@nginx.com</change>
6081789Smax.romanov@nginx.com
6091727Svbart@nginx.com</changes>
6101727Svbart@nginx.com
6111727Svbart@nginx.com
6121722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
6131722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6141722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6151722Svbart@nginx.com
6161722Svbart@nginx.com<change>
6171722Svbart@nginx.com<para>
6181722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
6191722Svbart@nginx.com</para>
6201722Svbart@nginx.com</change>
6211722Svbart@nginx.com
6221722Svbart@nginx.com</changes>
6231722Svbart@nginx.com
6241722Svbart@nginx.com
6251722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
6261722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6271722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6281722Svbart@nginx.com
6291722Svbart@nginx.com<change>
6301722Svbart@nginx.com<para>
6311722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
6321722Svbart@nginx.com</para>
6331722Svbart@nginx.com</change>
6341722Svbart@nginx.com
6351722Svbart@nginx.com</changes>
6361722Svbart@nginx.com
6371722Svbart@nginx.com
6381722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
6391722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6401722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6411722Svbart@nginx.com
6421722Svbart@nginx.com<change>
6431722Svbart@nginx.com<para>
6441722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
6451722Svbart@nginx.com</para>
6461722Svbart@nginx.com</change>
6471722Svbart@nginx.com
6481722Svbart@nginx.com</changes>
6491722Svbart@nginx.com
6501722Svbart@nginx.com
6511722Svbart@nginx.com<changes apply="unit-php
6521722Svbart@nginx.com                unit-python unit-python2.7
6531722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6541722Svbart@nginx.com                unit-python3.8
6551722Svbart@nginx.com                unit-go
6561722Svbart@nginx.com                unit-perl
6571722Svbart@nginx.com                unit-ruby
6581722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6591722Svbart@nginx.com         ver="1.21.0" rev="1"
6601722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6611722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6621722Svbart@nginx.com
6631722Svbart@nginx.com<change>
6641722Svbart@nginx.com<para>
6651722Svbart@nginx.comNGINX Unit updated to 1.21.0.
6661722Svbart@nginx.com</para>
6671722Svbart@nginx.com</change>
6681722Svbart@nginx.com
6691722Svbart@nginx.com</changes>
6701722Svbart@nginx.com
6711722Svbart@nginx.com
6721722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
6731722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6741722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6751722Svbart@nginx.com
6761722Svbart@nginx.com<change type="change">
6771722Svbart@nginx.com<para>
6781722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
6791722Svbart@nginx.com</para>
6801722Svbart@nginx.com</change>
6811722Svbart@nginx.com
6821722Svbart@nginx.com<change type="change">
6831722Svbart@nginx.com<para>
6841722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
6851722Svbart@nginx.comnames.
6861722Svbart@nginx.com</para>
6871722Svbart@nginx.com</change>
6881722Svbart@nginx.com
6891722Svbart@nginx.com<change type="change">
6901722Svbart@nginx.com<para>
6911722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
6921722Svbart@nginx.comdefault.
6931722Svbart@nginx.com</para>
6941722Svbart@nginx.com</change>
6951722Svbart@nginx.com
6961722Svbart@nginx.com<change type="feature">
6971722Svbart@nginx.com<para>
6981722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
6991722Svbart@nginx.com</para>
7001722Svbart@nginx.com</change>
7011722Svbart@nginx.com
7021722Svbart@nginx.com<change type="feature">
7031722Svbart@nginx.com<para>
7041722Svbart@nginx.comregular expressions in route matching patterns.
7051722Svbart@nginx.com</para>
7061722Svbart@nginx.com</change>
7071722Svbart@nginx.com
7081722Svbart@nginx.com<change type="feature">
7091722Svbart@nginx.com<para>
7101722Svbart@nginx.comcompatibility with Python 3.9.
7111722Svbart@nginx.com</para>
7121722Svbart@nginx.com</change>
7131722Svbart@nginx.com
7141722Svbart@nginx.com<change type="feature">
7151722Svbart@nginx.com<para>
7161722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
7171722Svbart@nginx.com</para>
7181722Svbart@nginx.com</change>
7191722Svbart@nginx.com
7201722Svbart@nginx.com<change type="feature">
7211722Svbart@nginx.com<para>
7221722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
7231722Svbart@nginx.com</para>
7241722Svbart@nginx.com</change>
7251722Svbart@nginx.com
7261722Svbart@nginx.com<change type="feature">
7271722Svbart@nginx.com<para>
7281722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
7291722Svbart@nginx.comcontinues code execution without holding onto the client connection.
7301722Svbart@nginx.com</para>
7311722Svbart@nginx.com</change>
7321722Svbart@nginx.com
7331722Svbart@nginx.com<change type="feature">
7341722Svbart@nginx.com<para>
7351722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
7361722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
7371722Svbart@nginx.com</para>
7381722Svbart@nginx.com</change>
7391722Svbart@nginx.com
7401722Svbart@nginx.com<change type="feature">
7411722Svbart@nginx.com<para>
7421722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
7431722Svbart@nginx.commounting of eponymous filesystems.
7441722Svbart@nginx.com</para>
7451722Svbart@nginx.com</change>
7461722Svbart@nginx.com
7471722Svbart@nginx.com<change type="bugfix">
7481722Svbart@nginx.com<para>
7491722Svbart@nginx.comthe router process could crash when running Go applications under high load;
7501722Svbart@nginx.comthe bug had appeared in 1.19.0.
7511722Svbart@nginx.com</para>
7521722Svbart@nginx.com</change>
7531722Svbart@nginx.com
7541722Svbart@nginx.com<change type="bugfix">
7551722Svbart@nginx.com<para>
7561722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
7571722Svbart@nginx.com</para>
7581722Svbart@nginx.com</change>
7591722Svbart@nginx.com
7601722Svbart@nginx.com<change type="bugfix">
7611722Svbart@nginx.com<para>
7621722Svbart@nginx.comvarious compatibility issues in Java applications.
7631722Svbart@nginx.com</para>
7641722Svbart@nginx.com</change>
7651722Svbart@nginx.com
7661722Svbart@nginx.com<change type="bugfix">
7671722Svbart@nginx.com<para>
7681722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
7691722Svbart@nginx.comuse "rootfs" isolation.
7701722Svbart@nginx.com</para>
7711722Svbart@nginx.com</change>
7721722Svbart@nginx.com
7731722Svbart@nginx.com</changes>
7741722Svbart@nginx.com
7751722Svbart@nginx.com
7761330Svbart@nginx.com<changes apply="unit-php
7771330Svbart@nginx.com                unit-python unit-python2.7
7781330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7791330Svbart@nginx.com                unit-python3.8
7801330Svbart@nginx.com                unit-go
7811330Svbart@nginx.com                unit-perl
7821330Svbart@nginx.com                unit-ruby
7831330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7841640Svbart@nginx.com         ver="1.20.0" rev="1"
7851640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
7861640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7871640Svbart@nginx.com
7881640Svbart@nginx.com<change>
7891640Svbart@nginx.com<para>
7901640Svbart@nginx.comNGINX Unit updated to 1.20.0.
7911640Svbart@nginx.com</para>
7921640Svbart@nginx.com</change>
7931640Svbart@nginx.com
7941640Svbart@nginx.com</changes>
7951640Svbart@nginx.com
7961640Svbart@nginx.com
7971640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
7981640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
7991640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8001640Svbart@nginx.com
8011640Svbart@nginx.com<change type="change">
8021640Svbart@nginx.com<para>
8031640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
8041640Svbart@nginx.comextensions from the host system.
8051640Svbart@nginx.com</para>
8061640Svbart@nginx.com</change>
8071640Svbart@nginx.com
8081640Svbart@nginx.com<change type="change">
8091640Svbart@nginx.com<para>
8101640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
8111640Svbart@nginx.com</para>
8121640Svbart@nginx.com</change>
8131640Svbart@nginx.com
8141643Svbart@nginx.com<change type="change">
8151643Svbart@nginx.com<para>
8161643Svbart@nginx.comfunctional tests migrated to the pytest framework.
8171643Svbart@nginx.com</para>
8181643Svbart@nginx.com</change>
8191643Svbart@nginx.com
8201640Svbart@nginx.com<change type="feature">
8211640Svbart@nginx.com<para>
8221640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
8231640Svbart@nginx.cominterface.
8241640Svbart@nginx.com</para>
8251640Svbart@nginx.com</change>
8261640Svbart@nginx.com
8271640Svbart@nginx.com<change type="feature">
8281640Svbart@nginx.com<para>
8291640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
8301640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
8311640Svbart@nginx.comspecification.
8321640Svbart@nginx.com</para>
8331640Svbart@nginx.com</change>
8341640Svbart@nginx.com
8351640Svbart@nginx.com<change type="feature">
8361640Svbart@nginx.com<para>
8371640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
8381640Svbart@nginx.comenvironments.
8391640Svbart@nginx.com</para>
8401640Svbart@nginx.com</change>
8411640Svbart@nginx.com
8421640Svbart@nginx.com<change type="feature">
8431640Svbart@nginx.com<para>
8441640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
8451640Svbart@nginx.com</para>
8461640Svbart@nginx.com</change>
8471640Svbart@nginx.com
8481640Svbart@nginx.com<change type="feature">
8491640Svbart@nginx.com<para>
8501640Svbart@nginx.comthe "callable" option sets Python application callable names.
8511640Svbart@nginx.com</para>
8521640Svbart@nginx.com</change>
8531640Svbart@nginx.com
8541640Svbart@nginx.com<change type="feature">
8551640Svbart@nginx.com<para>
8561640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
8571640Svbart@nginx.com</para>
8581640Svbart@nginx.com</change>
8591640Svbart@nginx.com
8601640Svbart@nginx.com<change type="feature">
8611640Svbart@nginx.com<para>
8621640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
8631640Svbart@nginx.comautomatic mounting of language module dependencies.
8641640Svbart@nginx.com</para>
8651640Svbart@nginx.com</change>
8661640Svbart@nginx.com
8671640Svbart@nginx.com<change type="bugfix">
8681640Svbart@nginx.com<para>
8691640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
8701640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
8711640Svbart@nginx.com</para>
8721640Svbart@nginx.com</change>
8731640Svbart@nginx.com
8741640Svbart@nginx.com<change type="bugfix">
8751640Svbart@nginx.com<para>
8761640Svbart@nginx.comthe router process could crash during reconfiguration.
8771640Svbart@nginx.com</para>
8781640Svbart@nginx.com</change>
8791640Svbart@nginx.com
8801640Svbart@nginx.com<change type="bugfix">
8811640Svbart@nginx.com<para>
8821640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
8831640Svbart@nginx.com</para>
8841640Svbart@nginx.com</change>
8851640Svbart@nginx.com
8861640Svbart@nginx.com<change type="bugfix">
8871640Svbart@nginx.com<para>
8881640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
8891640Svbart@nginx.comthe bug had appeared in 1.19.0.
8901640Svbart@nginx.com</para>
8911640Svbart@nginx.com</change>
8921640Svbart@nginx.com
8931640Svbart@nginx.com<change type="bugfix">
8941640Svbart@nginx.com<para>
8951640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
8961640Svbart@nginx.comthe bug had appeared in 1.16.0.
8971640Svbart@nginx.com</para>
8981640Svbart@nginx.com</change>
8991640Svbart@nginx.com
9001640Svbart@nginx.com</changes>
9011640Svbart@nginx.com
9021640Svbart@nginx.com
9031640Svbart@nginx.com<changes apply="unit-php
9041640Svbart@nginx.com                unit-python unit-python2.7
9051640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9061640Svbart@nginx.com                unit-python3.8
9071640Svbart@nginx.com                unit-go
9081640Svbart@nginx.com                unit-perl
9091640Svbart@nginx.com                unit-ruby
9101640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9111570Svbart@nginx.com         ver="1.19.0" rev="1"
9121570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9131570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9141570Svbart@nginx.com
9151570Svbart@nginx.com<change>
9161570Svbart@nginx.com<para>
9171570Svbart@nginx.comNGINX Unit updated to 1.19.0.
9181570Svbart@nginx.com</para>
9191570Svbart@nginx.com</change>
9201570Svbart@nginx.com
9211570Svbart@nginx.com</changes>
9221570Svbart@nginx.com
9231570Svbart@nginx.com
9241570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
9251570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9261570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9271570Svbart@nginx.com
9281570Svbart@nginx.com<change type="feature">
9291570Svbart@nginx.com<para>
9301570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
9311570Svbart@nginx.comincrease performance, and improve scalability.
9321570Svbart@nginx.com</para>
9331570Svbart@nginx.com</change>
9341570Svbart@nginx.com
9351570Svbart@nginx.com<change type="feature">
9361570Svbart@nginx.com<para>
9371570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
9381570Svbart@nginx.com</para>
9391570Svbart@nginx.com</change>
9401570Svbart@nginx.com
9411570Svbart@nginx.com<change type="feature">
9421570Svbart@nginx.com<para>
9431570Svbart@nginx.comchunked transfer encoding in proxy responses.
9441570Svbart@nginx.com</para>
9451570Svbart@nginx.com</change>
9461570Svbart@nginx.com
9471570Svbart@nginx.com<change type="feature">
9481570Svbart@nginx.com<para>
9491570Svbart@nginx.combasic variables support in the "pass" option.
9501570Svbart@nginx.com</para>
9511570Svbart@nginx.com</change>
9521570Svbart@nginx.com
9531570Svbart@nginx.com<change type="feature">
9541570Svbart@nginx.com<para>
9551570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
9561570Svbart@nginx.comThanks to Remi Collet.
9571570Svbart@nginx.com</para>
9581570Svbart@nginx.com</change>
9591570Svbart@nginx.com
9601570Svbart@nginx.com<change type="bugfix">
9611570Svbart@nginx.com<para>
9621570Svbart@nginx.comthe router process could crash while passing requests to an application under
9631570Svbart@nginx.comhigh load.
9641570Svbart@nginx.com</para>
9651570Svbart@nginx.com</change>
9661570Svbart@nginx.com
9671570Svbart@nginx.com<change type="bugfix">
9681570Svbart@nginx.com<para>
9691570Svbart@nginx.coma number of language modules failed to build on some systems;
9701570Svbart@nginx.comthe bug had appeared in 1.18.0.
9711570Svbart@nginx.com</para>
9721570Svbart@nginx.com</change>
9731570Svbart@nginx.com
9741570Svbart@nginx.com<change type="bugfix">
9751570Svbart@nginx.com<para>
9761570Svbart@nginx.comtime in error log messages from PHP applications could lag.
9771570Svbart@nginx.com</para>
9781570Svbart@nginx.com</change>
9791570Svbart@nginx.com
9801570Svbart@nginx.com<change type="bugfix">
9811570Svbart@nginx.com<para>
9821570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
9831570Svbart@nginx.comthe bug had appeared in 1.18.0.
9841570Svbart@nginx.com</para>
9851570Svbart@nginx.com</change>
9861570Svbart@nginx.com
9871570Svbart@nginx.com<change type="bugfix">
9881570Svbart@nginx.com<para>
9891570Svbart@nginx.commemory leak during reconfiguration.
9901570Svbart@nginx.com</para>
9911570Svbart@nginx.com</change>
9921570Svbart@nginx.com
9931570Svbart@nginx.com<change type="bugfix">
9941570Svbart@nginx.com<para>
9951570Svbart@nginx.comthe daemon didn't start without language modules;
9961570Svbart@nginx.comthe bug had appeared in 1.18.0.
9971570Svbart@nginx.com</para>
9981570Svbart@nginx.com</change>
9991570Svbart@nginx.com
10001570Svbart@nginx.com<change type="bugfix">
10011570Svbart@nginx.com<para>
10021570Svbart@nginx.comthe router process could crash at exit.
10031570Svbart@nginx.com</para>
10041570Svbart@nginx.com</change>
10051570Svbart@nginx.com
10061570Svbart@nginx.com<change type="bugfix">
10071570Svbart@nginx.com<para>
10081570Svbart@nginx.comNode.js applications could crash at exit.
10091570Svbart@nginx.com</para>
10101570Svbart@nginx.com</change>
10111570Svbart@nginx.com
10121570Svbart@nginx.com<change type="bugfix">
10131570Svbart@nginx.com<para>
10141570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
10151570Svbart@nginx.com</para>
10161570Svbart@nginx.com</change>
10171570Svbart@nginx.com
10181570Svbart@nginx.com</changes>
10191570Svbart@nginx.com
10201570Svbart@nginx.com
10211570Svbart@nginx.com<changes apply="unit-php
10221570Svbart@nginx.com                unit-python unit-python2.7
10231570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10241570Svbart@nginx.com                unit-python3.8
10251570Svbart@nginx.com                unit-go
10261570Svbart@nginx.com                unit-perl
10271570Svbart@nginx.com                unit-ruby
10281570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10291491Svbart@nginx.com         ver="1.18.0" rev="1"
10301491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
10311491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10321491Svbart@nginx.com
10331491Svbart@nginx.com<change>
10341491Svbart@nginx.com<para>
10351491Svbart@nginx.comNGINX Unit updated to 1.18.0.
10361491Svbart@nginx.com</para>
10371491Svbart@nginx.com</change>
10381491Svbart@nginx.com
10391491Svbart@nginx.com</changes>
10401491Svbart@nginx.com
10411491Svbart@nginx.com
10421491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
10431491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
10441491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10451491Svbart@nginx.com
10461491Svbart@nginx.com<change type="feature">
10471491Svbart@nginx.com<para>
10481491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
10491491Svbart@nginx.com</para>
10501491Svbart@nginx.com</change>
10511491Svbart@nginx.com
10521491Svbart@nginx.com<change type="feature">
10531491Svbart@nginx.com<para>
10541491Svbart@nginx.commultiple "targets" in PHP applications.
10551491Svbart@nginx.com</para>
10561491Svbart@nginx.com</change>
10571491Svbart@nginx.com
10581491Svbart@nginx.com<change type="feature">
10591491Svbart@nginx.com<para>
10601491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
10611491Svbart@nginx.comand in the "pass" option.
10621491Svbart@nginx.com</para>
10631491Svbart@nginx.com</change>
10641491Svbart@nginx.com
10651491Svbart@nginx.com</changes>
10661491Svbart@nginx.com
10671491Svbart@nginx.com
10681491Svbart@nginx.com<changes apply="unit-php
10691491Svbart@nginx.com                unit-python unit-python2.7
10701491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10711491Svbart@nginx.com                unit-python3.8
10721491Svbart@nginx.com                unit-go
10731491Svbart@nginx.com                unit-perl
10741491Svbart@nginx.com                unit-ruby
10751491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10761460Svbart@nginx.com         ver="1.17.0" rev="1"
10771460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
10781460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10791460Svbart@nginx.com
10801460Svbart@nginx.com<change>
10811460Svbart@nginx.com<para>
10821460Svbart@nginx.comNGINX Unit updated to 1.17.0.
10831460Svbart@nginx.com</para>
10841460Svbart@nginx.com</change>
10851460Svbart@nginx.com
10861460Svbart@nginx.com</changes>
10871460Svbart@nginx.com
10881460Svbart@nginx.com
10891460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
10901460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
10911460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10921460Svbart@nginx.com
10931460Svbart@nginx.com<change type="feature">
10941460Svbart@nginx.com<para>
10951460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
10961460Svbart@nginx.comredirection.
10971460Svbart@nginx.com</para>
10981460Svbart@nginx.com</change>
10991460Svbart@nginx.com
11001460Svbart@nginx.com<change type="feature">
11011460Svbart@nginx.com<para>
11021460Svbart@nginx.comfractional weights support for upstream servers.
11031460Svbart@nginx.com</para>
11041460Svbart@nginx.com</change>
11051460Svbart@nginx.com
11061460Svbart@nginx.com<change type="bugfix">
11071460Svbart@nginx.com<para>
11081460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
11091460Svbart@nginx.comhigh load.
11101460Svbart@nginx.com</para>
11111460Svbart@nginx.com</change>
11121460Svbart@nginx.com
11131460Svbart@nginx.com<change type="bugfix">
11141460Svbart@nginx.com<para>
11151460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
11161460Svbart@nginx.com</para>
11171460Svbart@nginx.com</change>
11181460Svbart@nginx.com
11191460Svbart@nginx.com<change type="bugfix">
11201460Svbart@nginx.com<para>
11211460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
11221460Svbart@nginx.comopen connections limit.
11231460Svbart@nginx.com</para>
11241460Svbart@nginx.com</change>
11251460Svbart@nginx.com
11261460Svbart@nginx.com<change type="bugfix">
11271460Svbart@nginx.com<para>
11281460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
11291460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
11301460Svbart@nginx.com</para>
11311460Svbart@nginx.com</change>
11321460Svbart@nginx.com
11331460Svbart@nginx.com<change type="bugfix">
11341460Svbart@nginx.com<para>
11351460Svbart@nginx.comexisting application processes didn't reopen the log file.
11361460Svbart@nginx.com</para>
11371460Svbart@nginx.com</change>
11381460Svbart@nginx.com
11391460Svbart@nginx.com<change type="bugfix">
11401460Svbart@nginx.com<para>
11411460Svbart@nginx.comincompatibility with some Node.js applications.
11421460Svbart@nginx.com</para>
11431460Svbart@nginx.com</change>
11441460Svbart@nginx.com
11451460Svbart@nginx.com<change type="bugfix">
11461460Svbart@nginx.com<para>
11471460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
11481460Svbart@nginx.com</para>
11491460Svbart@nginx.com</change>
11501460Svbart@nginx.com
11511460Svbart@nginx.com</changes>
11521460Svbart@nginx.com
11531460Svbart@nginx.com
11541460Svbart@nginx.com<changes apply="unit-php
11551460Svbart@nginx.com                unit-python unit-python2.7
11561460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11571460Svbart@nginx.com                unit-python3.8
11581460Svbart@nginx.com                unit-go
11591460Svbart@nginx.com                unit-perl
11601460Svbart@nginx.com                unit-ruby
11611460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11621404Svbart@nginx.com         ver="1.16.0" rev="1"
11631404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
11641404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11651404Svbart@nginx.com
11661404Svbart@nginx.com<change>
11671404Svbart@nginx.com<para>
11681404Svbart@nginx.comNGINX Unit updated to 1.16.0.
11691404Svbart@nginx.com</para>
11701404Svbart@nginx.com</change>
11711404Svbart@nginx.com
11721404Svbart@nginx.com</changes>
11731404Svbart@nginx.com
11741404Svbart@nginx.com
11751404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
11761404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
11771404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11781404Svbart@nginx.com
11791404Svbart@nginx.com<change type="feature">
11801404Svbart@nginx.com<para>
11811404S</