xref: /unit/docs/changes.xml (revision 2050)
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"
172012Svbart@nginx.com         ver="1.27.0" rev="1"
182012Svbart@nginx.com         date="" time=""
192012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
202012Svbart@nginx.com
212012Svbart@nginx.com<change>
222012Svbart@nginx.com<para>
232012Svbart@nginx.comNGINX Unit updated to 1.27.0.
242012Svbart@nginx.com</para>
252012Svbart@nginx.com</change>
262012Svbart@nginx.com
272012Svbart@nginx.com</changes>
282012Svbart@nginx.com
292012Svbart@nginx.com
302012Svbart@nginx.com<changes apply="unit" ver="1.27.0" rev="1"
312012Svbart@nginx.com         date="" time=""
322012Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
332012Svbart@nginx.com
34*2050Svbart@nginx.com</changes>
35*2050Svbart@nginx.com
36*2050Svbart@nginx.com
37*2050Svbart@nginx.com<changes apply="unit-php
38*2050Svbart@nginx.com                unit-python unit-python2.7
39*2050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
40*2050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
41*2050Svbart@nginx.com                unit-go
42*2050Svbart@nginx.com                unit-perl
43*2050Svbart@nginx.com                unit-ruby
44*2050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
45*2050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
462029SN/A         ver="1.26.1" rev="1"
472045SN/A         date="2021-12-02" time="18:00:00 +0300"
482029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
492029SN/A
502029SN/A<change>
512029SN/A<para>
522029SN/ANGINX Unit updated to 1.26.1.
532029SN/A</para>
542029SN/A</change>
552029SN/A
562029SN/A</changes>
572029SN/A
582029SN/A
592029SN/A<changes apply="unit" ver="1.26.1" rev="1"
602045SN/A         date="2021-12-02" time="18:00:00 +0300"
612029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
622029SN/A
632033SN/A<change type="bugfix">
642033SN/A<para>
652044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
662044SN/Aappeared in 1.26.0.
672033SN/A</para>
682033SN/A</change>
692033SN/A
702034SN/A<change type="bugfix">
712034SN/A<para>
722044SN/Aa prototype process could crash on an application process exit; the bug had
732034SN/Aappeared in 1.26.0.
742034SN/A</para>
752034SN/A</change>
762034SN/A
772035SN/A<change type="bugfix">
782035SN/A<para>
792044SN/Athe router process crashed on reconfiguration if "access_log" was configured
802044SN/Awithout listeners.
812044SN/A</para>
822044SN/A</change>
832044SN/A
842044SN/A<change type="bugfix">
852044SN/A<para>
862035SN/Aa segmentation fault occurred in the PHP module if chdir() or
872035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
882035SN/A</para>
892035SN/A</change>
902035SN/A
912040SN/A<change type="bugfix">
922040SN/A<para>
932041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
942041SN/A</para>
952041SN/A</change>
962041SN/A
972029SN/A</changes>
982029SN/A
992029SN/A
1001973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
1012007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1021973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1031973Sdefan@nginx.com
1041973Sdefan@nginx.com<change>
1051973Sdefan@nginx.com<para>
1061973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
1071973Sdefan@nginx.com</para>
1081973Sdefan@nginx.com</change>
1091973Sdefan@nginx.com
1101973Sdefan@nginx.com</changes>
1111973Sdefan@nginx.com
1121973Sdefan@nginx.com
1131973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
1142007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1151973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1161973Sdefan@nginx.com
1171973Sdefan@nginx.com<change>
1181973Sdefan@nginx.com<para>
1191973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
1201973Sdefan@nginx.com</para>
1211973Sdefan@nginx.com</change>
1221973Sdefan@nginx.com
1231973Sdefan@nginx.com</changes>
1241973Sdefan@nginx.com
1251973Sdefan@nginx.com
1261896Svbart@nginx.com<changes apply="unit-php
1271896Svbart@nginx.com                unit-python unit-python2.7
1281896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1291896Svbart@nginx.com                unit-python3.8 unit-python3.9
1301896Svbart@nginx.com                unit-go
1311896Svbart@nginx.com                unit-perl
1321896Svbart@nginx.com                unit-ruby
1331896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1341896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
1351951Svbart@nginx.com         ver="1.26.0" rev="1"
1362007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1371951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1381951Svbart@nginx.com
1391951Svbart@nginx.com<change>
1401951Svbart@nginx.com<para>
1411951Svbart@nginx.comNGINX Unit updated to 1.26.0.
1421951Svbart@nginx.com</para>
1431951Svbart@nginx.com</change>
1441951Svbart@nginx.com
1451951Svbart@nginx.com</changes>
1461951Svbart@nginx.com
1471951Svbart@nginx.com
1481951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
1492007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1501951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1511951Svbart@nginx.com
1521960Sz.hong@f5.com<change type="change">
1531960Sz.hong@f5.com<para>
1541960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
1551960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
1561960Sz.hong@f5.com</para>
1571960Sz.hong@f5.com</change>
1581960Sz.hong@f5.com
1591960Sz.hong@f5.com<change type="feature">
1601960Sz.hong@f5.com<para>
1612006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
1622006Svbart@nginx.comwhen updating from previous versions.
1632006Svbart@nginx.com</para>
1642006Svbart@nginx.com</change>
1652006Svbart@nginx.com
1662006Svbart@nginx.com<change type="feature">
1672006Svbart@nginx.com<para>
1681960Sz.hong@f5.comvariables support in the "share" option.
1691960Sz.hong@f5.com</para>
1701960Sz.hong@f5.com</change>
1711960Sz.hong@f5.com
1721959Sz.hong@f5.com<change type="feature">
1731959Sz.hong@f5.com<para>
1741961Sz.hong@f5.commultiple paths in the "share" option.
1751961Sz.hong@f5.com</para>
1761961Sz.hong@f5.com</change>
1771961Sz.hong@f5.com
1781961Sz.hong@f5.com<change type="feature">
1791961Sz.hong@f5.com<para>
1801959Sz.hong@f5.comvariables support in the "chroot" option.
1811959Sz.hong@f5.com</para>
1821959Sz.hong@f5.com</change>
1831959Sz.hong@f5.com
1841969Sz.hong@f5.com<change type="feature">
1851969Sz.hong@f5.com<para>
1862006Svbart@nginx.comPHP opcache is shared between application processes.
1871969Sz.hong@f5.com</para>
1881969Sz.hong@f5.com</change>
1891969Sz.hong@f5.com
1901991Sz.hong@f5.com<change type="feature">
1911991Sz.hong@f5.com<para>
1921991Sz.hong@f5.comrequest routing by the query string.
1931991Sz.hong@f5.com</para>
1941991Sz.hong@f5.com</change>
1951991Sz.hong@f5.com
1961955Smax.romanov@nginx.com<change type="bugfix">
1971955Smax.romanov@nginx.com<para>
1982006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
1992006Svbart@nginx.comby asynchronous or multithreaded apps.
2001955Smax.romanov@nginx.com</para>
2011955Smax.romanov@nginx.com</change>
2021955Smax.romanov@nginx.com
2031956Smax.romanov@nginx.com<change type="bugfix">
2041956Smax.romanov@nginx.com<para>
2051956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
2061956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
2071956Smax.romanov@nginx.com</para>
2081956Smax.romanov@nginx.com</change>
2091956Smax.romanov@nginx.com
2101992Smax.romanov@nginx.com<change type="bugfix">
2111992Smax.romanov@nginx.com<para>
2122006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
2131992Smax.romanov@nginx.com</para>
2141992Smax.romanov@nginx.com</change>
2151992Smax.romanov@nginx.com
2161951Svbart@nginx.com</changes>
2171951Svbart@nginx.com
2181951Svbart@nginx.com
2191951Svbart@nginx.com<changes apply="unit-php
2201951Svbart@nginx.com                unit-python unit-python2.7
2211951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2221951Svbart@nginx.com                unit-python3.8 unit-python3.9
2231951Svbart@nginx.com                unit-go
2241951Svbart@nginx.com                unit-perl
2251951Svbart@nginx.com                unit-ruby
2261951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2271951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2281896Svbart@nginx.com         ver="1.25.0" rev="1"
2291945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2301896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2311896Svbart@nginx.com
2321896Svbart@nginx.com<change>
2331896Svbart@nginx.com<para>
2341896Svbart@nginx.comNGINX Unit updated to 1.25.0.
2351896Svbart@nginx.com</para>
2361896Svbart@nginx.com</change>
2371896Svbart@nginx.com
2381896Svbart@nginx.com</changes>
2391896Svbart@nginx.com
2401896Svbart@nginx.com
2411896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
2421945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2431896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2441896Svbart@nginx.com
2451910So.canty@f5.com<change type="feature">
2461910So.canty@f5.com<para>
2471944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
2481942Sa.suvorov@f5.com</para>
2491942Sa.suvorov@f5.com</change>
2501942Sa.suvorov@f5.com
2511942Sa.suvorov@f5.com<change type="feature">
2521942Sa.suvorov@f5.com<para>
2531920Sa.suvorov@f5.comTLS sessions cache.
2541920Sa.suvorov@f5.com</para>
2551920Sa.suvorov@f5.com</change>
2561920Sa.suvorov@f5.com
2571920Sa.suvorov@f5.com<change type="feature">
2581920Sa.suvorov@f5.com<para>
2591944Svbart@nginx.comTLS session tickets.
2601910So.canty@f5.com</para>
2611910So.canty@f5.com</change>
2621910So.canty@f5.com
2631926Smax.romanov@nginx.com<change type="feature">
2641926Smax.romanov@nginx.com<para>
2651926Smax.romanov@nginx.comapplication restart control.
2661926Smax.romanov@nginx.com</para>
2671926Smax.romanov@nginx.com</change>
2681926Smax.romanov@nginx.com
2691936So.canty@f5.com<change type="feature">
2701936So.canty@f5.com<para>
2711944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
2721936So.canty@f5.com</para>
2731936So.canty@f5.com</change>
2741936So.canty@f5.com
2751907Smax.romanov@nginx.com<change type="bugfix">
2761907Smax.romanov@nginx.com<para>
2771944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
2781944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
2791921Sa.suvorov@f5.com</para>
2801921Sa.suvorov@f5.com</change>
2811921Sa.suvorov@f5.com
2821921Sa.suvorov@f5.com<change type="bugfix">
2831921Sa.suvorov@f5.com<para>
2841944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
2851944Svbart@nginx.combundles in a listener if the client did not use SNI.
2861907Smax.romanov@nginx.com</para>
2871907Smax.romanov@nginx.com</change>
2881907Smax.romanov@nginx.com
2891907Smax.romanov@nginx.com<change type="bugfix">
2901907Smax.romanov@nginx.com<para>
2911950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
2921915Smax.romanov@nginx.comreconfiguration.
2931915Smax.romanov@nginx.com</para>
2941915Smax.romanov@nginx.com</change>
2951915Smax.romanov@nginx.com
2961915Smax.romanov@nginx.com<change type="bugfix">
2971915Smax.romanov@nginx.com<para>
2981944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
2991944Svbart@nginx.comframework.
3001944Svbart@nginx.com</para>
3011944Svbart@nginx.com</change>
3021944Svbart@nginx.com
3031944Svbart@nginx.com<change type="bugfix">
3041944Svbart@nginx.com<para>
3051944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
3061944Svbart@nginx.comstopped or crashed.
3071907Smax.romanov@nginx.com</para>
3081907Smax.romanov@nginx.com</change>
3091907Smax.romanov@nginx.com
3101909So.canty@f5.com<change type="bugfix">
3111909So.canty@f5.com<para>
3121909So.canty@f5.comthe controller or router process could crash if the configuration contained
3131909So.canty@f5.coma full-form IPv6 in a listener address.
3141909So.canty@f5.com</para>
3151909So.canty@f5.com</change>
3161909So.canty@f5.com
3171916Smax.romanov@nginx.com<change type="bugfix">
3181916Smax.romanov@nginx.com<para>
3191929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
3201929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
3211929Sz.hong@f5.com</para>
3221929Sz.hong@f5.com</change>
3231929Sz.hong@f5.com
3241930So.canty@f5.com<change type="bugfix">
3251930So.canty@f5.com<para>
3261944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
3271944Svbart@nginx.comor destination address patterns.
3281930So.canty@f5.com</para>
3291930So.canty@f5.com</change>
3301930So.canty@f5.com
3311896Svbart@nginx.com</changes>
3321896Svbart@nginx.com
3331896Svbart@nginx.com
3341887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
3351891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3361887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3371887Sdefan@nginx.com
3381887Sdefan@nginx.com<change>
3391887Sdefan@nginx.com<para>
3401887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
3411887Sdefan@nginx.com</para>
3421887Sdefan@nginx.com</change>
3431887Sdefan@nginx.com
3441887Sdefan@nginx.com</changes>
3451887Sdefan@nginx.com
3461887Sdefan@nginx.com
3471887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
3481891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3491887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3501887Sdefan@nginx.com
3511887Sdefan@nginx.com<change>
3521887Sdefan@nginx.com<para>
3531887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
3541887Sdefan@nginx.com</para>
3551887Sdefan@nginx.com</change>
3561887Sdefan@nginx.com
3571887Sdefan@nginx.com</changes>
3581887Sdefan@nginx.com
3591887Sdefan@nginx.com
3601834Svbart@nginx.com<changes apply="unit-php
3611834Svbart@nginx.com                unit-python unit-python2.7
3621834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3631834Svbart@nginx.com                unit-python3.8 unit-python3.9
3641834Svbart@nginx.com                unit-go
3651834Svbart@nginx.com                unit-perl
3661834Svbart@nginx.com                unit-ruby
3671834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3681834Svbart@nginx.com                unit-jsc14 unit-jsc15"
3691839Svbart@nginx.com         ver="1.24.0" rev="1"
3701891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3711839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3721839Svbart@nginx.com
3731839Svbart@nginx.com<change>
3741839Svbart@nginx.com<para>
3751839Svbart@nginx.comNGINX Unit updated to 1.24.0.
3761839Svbart@nginx.com</para>
3771839Svbart@nginx.com</change>
3781839Svbart@nginx.com
3791839Svbart@nginx.com</changes>
3801839Svbart@nginx.com
3811839Svbart@nginx.com
3821839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
3831891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3841839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3851839Svbart@nginx.com
3861882So.canty@f5.com<change type="change">
3871882So.canty@f5.com<para>
3881882So.canty@f5.comPHP added to the default MIME type list.
3891882So.canty@f5.com</para>
3901882So.canty@f5.com</change>
3911882So.canty@f5.com
3921855Sz.hong@f5.com<change type="feature">
3931855Sz.hong@f5.com<para>
3941885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
3951885Sa.suvorov@f5.com</para>
3961885Sa.suvorov@f5.com</change>
3971885Sa.suvorov@f5.com
3981885Sa.suvorov@f5.com<change type="feature">
3991885Sa.suvorov@f5.com<para>
4001890Svbart@nginx.comthe ability to limit static file serving by MIME types.
4011890Svbart@nginx.com</para>
4021890Svbart@nginx.com</change>
4031890Svbart@nginx.com
4041890Svbart@nginx.com<change type="feature">
4051890Svbart@nginx.com<para>
4061890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
4071890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
4081872So.canty@f5.com</para>
4091872So.canty@f5.com</change>
4101872So.canty@f5.com
4111872So.canty@f5.com<change type="feature">
4121872So.canty@f5.com<para>
4131889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
4141889Sartem.konev@nginx.comNode.js.
4151865So.canty@f5.com</para>
4161865So.canty@f5.com</change>
4171865So.canty@f5.com
4181865So.canty@f5.com<change type="feature">
4191865So.canty@f5.com<para>
4201890Svbart@nginx.commultiple "targets" in Python applications.
4211855Sz.hong@f5.com</para>
4221855Sz.hong@f5.com</change>
4231855Sz.hong@f5.com
4241870So.canty@f5.com<change type="feature">
4251870So.canty@f5.com<para>
4261870So.canty@f5.comcompatibility with Ruby 3.0.
4271870So.canty@f5.com</para>
4281870So.canty@f5.com</change>
4291870So.canty@f5.com
4301861Svbart@nginx.com<change type="bugfix">
4311861Svbart@nginx.com<para>
4321889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
4331884Sa.suvorov@f5.com</para>
4341884Sa.suvorov@f5.com</change>
4351884Sa.suvorov@f5.com
4361884Sa.suvorov@f5.com<change type="bugfix">
4371884Sa.suvorov@f5.com<para>
4381861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
4391861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
4401861Svbart@nginx.com</para>
4411861Svbart@nginx.com</change>
4421861Svbart@nginx.com
4431839Svbart@nginx.com</changes>
4441839Svbart@nginx.com
4451839Svbart@nginx.com
4461839Svbart@nginx.com<changes apply="unit-php
4471839Svbart@nginx.com                unit-python unit-python2.7
4481839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4491839Svbart@nginx.com                unit-python3.8 unit-python3.9
4501839Svbart@nginx.com                unit-go
4511839Svbart@nginx.com                unit-perl
4521839Svbart@nginx.com                unit-ruby
4531839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4541839Svbart@nginx.com                unit-jsc14 unit-jsc15"
4551834Svbart@nginx.com         ver="1.23.0" rev="1"
4561834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4571834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4581834Svbart@nginx.com
4591834Svbart@nginx.com<change>
4601834Svbart@nginx.com<para>
4611834Svbart@nginx.comNGINX Unit updated to 1.23.0.
4621834Svbart@nginx.com</para>
4631834Svbart@nginx.com</change>
4641834Svbart@nginx.com
4651834Svbart@nginx.com</changes>
4661834Svbart@nginx.com
4671834Svbart@nginx.com
4681806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
4691834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4701806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4711806Svbart@nginx.com
4721825Sthresh@nginx.com<change type="feature">
4731825Sthresh@nginx.com<para>
4741833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
4751828Sa.suvorov@f5.comIndication (SNI) TLS extension.
4761828Sa.suvorov@f5.com</para>
4771828Sa.suvorov@f5.com</change>
4781828Sa.suvorov@f5.com
4791828Sa.suvorov@f5.com<change type="feature">
4801828Sa.suvorov@f5.com<para>
4811833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
4821833Sartem.konev@nginx.cominstallation.
4831825Sthresh@nginx.com</para>
4841825Sthresh@nginx.com</change>
4851825Sthresh@nginx.com
4861811Smax.romanov@nginx.com<change type="bugfix">
4871811Smax.romanov@nginx.com<para>
4881812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
4891812Svbart@nginx.comappeared in 1.17.0.
4901812Svbart@nginx.com</para>
4911812Svbart@nginx.com</change>
4921812Svbart@nginx.com
4931812Svbart@nginx.com<change type="bugfix">
4941812Svbart@nginx.com<para>
4951833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
4961812Svbart@nginx.comappeared in 1.6.
4971812Svbart@nginx.com</para>
4981812Svbart@nginx.com</change>
4991812Svbart@nginx.com
5001812Svbart@nginx.com<change type="bugfix">
5011812Svbart@nginx.com<para>
5021833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
5031832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
5041832Smax.romanov@nginx.com</para>
5051832Smax.romanov@nginx.com</change>
5061832Smax.romanov@nginx.com
5071832Smax.romanov@nginx.com<change type="bugfix">
5081832Smax.romanov@nginx.com<para>
5091833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
5101811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
5111811Smax.romanov@nginx.com</para>
5121811Smax.romanov@nginx.com</change>
5131806Svbart@nginx.com
5141813Svbart@nginx.com<change type="bugfix">
5151813Svbart@nginx.com<para>
5161813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
5171813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
5181813Svbart@nginx.com</para>
5191813Svbart@nginx.com</change>
5201813Svbart@nginx.com
5211814Svbart@nginx.com<change type="bugfix">
5221814Svbart@nginx.com<para>
5231820Svbart@nginx.comthe controller process could crash while requesting information about a
5241820Svbart@nginx.comcertificate with a non-DNS SAN entry.
5251820Svbart@nginx.com</para>
5261820Svbart@nginx.com</change>
5271820Svbart@nginx.com
5281820Svbart@nginx.com<change type="bugfix">
5291820Svbart@nginx.com<para>
5301822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
5311833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
5321822Svbart@nginx.com</para>
5331822Svbart@nginx.com</change>
5341822Svbart@nginx.com
5351822Svbart@nginx.com<change type="bugfix">
5361822Svbart@nginx.com<para>
5371833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
5381833Sartem.konev@nginx.comclass.
5391814Svbart@nginx.com</para>
5401814Svbart@nginx.com</change>
5411814Svbart@nginx.com
5421815Svbart@nginx.com<change type="bugfix">
5431815Svbart@nginx.com<para>
5441815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
5451815Svbart@nginx.comappeared in 1.22.0.
5461815Svbart@nginx.com</para>
5471815Svbart@nginx.com</change>
5481815Svbart@nginx.com
5491806Svbart@nginx.com</changes>
5501806Svbart@nginx.com
5511806Svbart@nginx.com
5521798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
5531798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5541798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5551798Sdefan@nginx.com
5561798Sdefan@nginx.com<change>
5571798Sdefan@nginx.com<para>
5581798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
5591798Sdefan@nginx.com</para>
5601798Sdefan@nginx.com</change>
5611798Sdefan@nginx.com
5621798Sdefan@nginx.com</changes>
5631798Sdefan@nginx.com
5641798Sdefan@nginx.com
5651763Sdefan@nginx.com<changes apply="unit-php
5661763Sdefan@nginx.com                unit-python unit-python2.7
5671763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5681763Sdefan@nginx.com                unit-python3.8
5691763Sdefan@nginx.com                unit-go
5701763Sdefan@nginx.com                unit-perl
5711763Sdefan@nginx.com                unit-ruby
5721763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5731763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
5741763Sdefan@nginx.com         ver="1.22.0" rev="1"
5751793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5761763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5771763Sdefan@nginx.com
5781763Sdefan@nginx.com<change>
5791763Sdefan@nginx.com<para>
5801763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
5811763Sdefan@nginx.com</para>
5821763Sdefan@nginx.com</change>
5831763Sdefan@nginx.com
5841763Sdefan@nginx.com</changes>
5851763Sdefan@nginx.com
5861763Sdefan@nginx.com
5871727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
5881793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5891727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5901727Svbart@nginx.com
5911759Svbart@nginx.com<change type="feature">
5921759Svbart@nginx.com<para>
5931792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
5941792Svbart@nginx.comcompliant with Stream API.
5951759Svbart@nginx.com</para>
5961759Svbart@nginx.com</change>
5971759Svbart@nginx.com
5981766Smax.romanov@nginx.com<change type="feature">
5991766Smax.romanov@nginx.com<para>
6001792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
6011792Svbart@nginx.comapps.
6021732Svbart@nginx.com</para>
6031732Svbart@nginx.com</change>
6041732Svbart@nginx.com
6051733Svbart@nginx.com<change type="bugfix">
6061733Svbart@nginx.com<para>
6071792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
6081792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
6091754Smax.romanov@nginx.com</para>
6101754Smax.romanov@nginx.com</change>
6111754Smax.romanov@nginx.com
6121755Smax.romanov@nginx.com<change type="bugfix">
6131755Smax.romanov@nginx.com<para>
6141790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
6151755Smax.romanov@nginx.comappeared in 1.19.0.
6161755Smax.romanov@nginx.com</para>
6171755Smax.romanov@nginx.com</change>
6181755Smax.romanov@nginx.com
6191756Smax.romanov@nginx.com<change type="bugfix">
6201756Smax.romanov@nginx.com<para>
6211790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
6221790Sartem.konev@nginx.comappeared in 1.19.0.
6231756Smax.romanov@nginx.com</para>
6241756Smax.romanov@nginx.com</change>
6251756Smax.romanov@nginx.com
6261760Smax.romanov@nginx.com<change type="bugfix">
6271760Smax.romanov@nginx.com<para>
6281792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
6291792Svbart@nginx.com</para>
6301792Svbart@nginx.com</change>
6311792Svbart@nginx.com
6321792Svbart@nginx.com<change type="bugfix">
6331792Svbart@nginx.com<para>
6341792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
6351792Svbart@nginx.commissing in the PHP module.
6361792Svbart@nginx.com</para>
6371792Svbart@nginx.com</change>
6381792Svbart@nginx.com
6391792Svbart@nginx.com<change type="bugfix">
6401792Svbart@nginx.com<para>
6411792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
6421792Svbart@nginx.com</para>
6431792Svbart@nginx.com</change>
6441792Svbart@nginx.com
6451792Svbart@nginx.com<change type="bugfix">
6461792Svbart@nginx.com<para>
6471792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
6481792Svbart@nginx.com</para>
6491792Svbart@nginx.com</change>
6501792Svbart@nginx.com
6511792Svbart@nginx.com<change type="bugfix">
6521792Svbart@nginx.com<para>
6531792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
6541792Svbart@nginx.comthe bug had appeared in 1.21.0.
6551760Smax.romanov@nginx.com</para>
6561760Smax.romanov@nginx.com</change>
6571760Smax.romanov@nginx.com
6581780Smax.romanov@nginx.com<change type="bugfix">
6591780Smax.romanov@nginx.com<para>
6601790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
6611790Sartem.konev@nginx.comWebSocket.
6621780Smax.romanov@nginx.com</para>
6631780Smax.romanov@nginx.com</change>
6641780Smax.romanov@nginx.com
6651789Smax.romanov@nginx.com<change type="bugfix">
6661789Smax.romanov@nginx.com<para>
6671789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
6681789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
6691789Smax.romanov@nginx.com</para>
6701789Smax.romanov@nginx.com</change>
6711789Smax.romanov@nginx.com
6721727Svbart@nginx.com</changes>
6731727Svbart@nginx.com
6741727Svbart@nginx.com
6751722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
6761722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6771722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6781722Svbart@nginx.com
6791722Svbart@nginx.com<change>
6801722Svbart@nginx.com<para>
6811722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
6821722Svbart@nginx.com</para>
6831722Svbart@nginx.com</change>
6841722Svbart@nginx.com
6851722Svbart@nginx.com</changes>
6861722Svbart@nginx.com
6871722Svbart@nginx.com
6881722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
6891722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6901722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6911722Svbart@nginx.com
6921722Svbart@nginx.com<change>
6931722Svbart@nginx.com<para>
6941722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
6951722Svbart@nginx.com</para>
6961722Svbart@nginx.com</change>
6971722Svbart@nginx.com
6981722Svbart@nginx.com</changes>
6991722Svbart@nginx.com
7001722Svbart@nginx.com
7011722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
7021722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7031722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7041722Svbart@nginx.com
7051722Svbart@nginx.com<change>
7061722Svbart@nginx.com<para>
7071722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
7081722Svbart@nginx.com</para>
7091722Svbart@nginx.com</change>
7101722Svbart@nginx.com
7111722Svbart@nginx.com</changes>
7121722Svbart@nginx.com
7131722Svbart@nginx.com
7141722Svbart@nginx.com<changes apply="unit-php
7151722Svbart@nginx.com                unit-python unit-python2.7
7161722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7171722Svbart@nginx.com                unit-python3.8
7181722Svbart@nginx.com                unit-go
7191722Svbart@nginx.com                unit-perl
7201722Svbart@nginx.com                unit-ruby
7211722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7221722Svbart@nginx.com         ver="1.21.0" rev="1"
7231722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7241722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7251722Svbart@nginx.com
7261722Svbart@nginx.com<change>
7271722Svbart@nginx.com<para>
7281722Svbart@nginx.comNGINX Unit updated to 1.21.0.
7291722Svbart@nginx.com</para>
7301722Svbart@nginx.com</change>
7311722Svbart@nginx.com
7321722Svbart@nginx.com</changes>
7331722Svbart@nginx.com
7341722Svbart@nginx.com
7351722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
7361722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7371722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7381722Svbart@nginx.com
7391722Svbart@nginx.com<change type="change">
7401722Svbart@nginx.com<para>
7411722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
7421722Svbart@nginx.com</para>
7431722Svbart@nginx.com</change>
7441722Svbart@nginx.com
7451722Svbart@nginx.com<change type="change">
7461722Svbart@nginx.com<para>
7471722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
7481722Svbart@nginx.comnames.
7491722Svbart@nginx.com</para>
7501722Svbart@nginx.com</change>
7511722Svbart@nginx.com
7521722Svbart@nginx.com<change type="change">
7531722Svbart@nginx.com<para>
7541722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
7551722Svbart@nginx.comdefault.
7561722Svbart@nginx.com</para>
7571722Svbart@nginx.com</change>
7581722Svbart@nginx.com
7591722Svbart@nginx.com<change type="feature">
7601722Svbart@nginx.com<para>
7611722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
7621722Svbart@nginx.com</para>
7631722Svbart@nginx.com</change>
7641722Svbart@nginx.com
7651722Svbart@nginx.com<change type="feature">
7661722Svbart@nginx.com<para>
7671722Svbart@nginx.comregular expressions in route matching patterns.
7681722Svbart@nginx.com</para>
7691722Svbart@nginx.com</change>
7701722Svbart@nginx.com
7711722Svbart@nginx.com<change type="feature">
7721722Svbart@nginx.com<para>
7731722Svbart@nginx.comcompatibility with Python 3.9.
7741722Svbart@nginx.com</para>
7751722Svbart@nginx.com</change>
7761722Svbart@nginx.com
7771722Svbart@nginx.com<change type="feature">
7781722Svbart@nginx.com<para>
7791722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
7801722Svbart@nginx.com</para>
7811722Svbart@nginx.com</change>
7821722Svbart@nginx.com
7831722Svbart@nginx.com<change type="feature">
7841722Svbart@nginx.com<para>
7851722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
7861722Svbart@nginx.com</para>
7871722Svbart@nginx.com</change>
7881722Svbart@nginx.com
7891722Svbart@nginx.com<change type="feature">
7901722Svbart@nginx.com<para>
7911722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
7921722Svbart@nginx.comcontinues code execution without holding onto the client connection.
7931722Svbart@nginx.com</para>
7941722Svbart@nginx.com</change>
7951722Svbart@nginx.com
7961722Svbart@nginx.com<change type="feature">
7971722Svbart@nginx.com<para>
7981722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
7991722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
8001722Svbart@nginx.com</para>
8011722Svbart@nginx.com</change>
8021722Svbart@nginx.com
8031722Svbart@nginx.com<change type="feature">
8041722Svbart@nginx.com<para>
8051722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
8061722Svbart@nginx.commounting of eponymous filesystems.
8071722Svbart@nginx.com</para>
8081722Svbart@nginx.com</change>
8091722Svbart@nginx.com
8101722Svbart@nginx.com<change type="bugfix">
8111722Svbart@nginx.com<para>
8121722Svbart@nginx.comthe router process could crash when running Go applications under high load;
8131722Svbart@nginx.comthe bug had appeared in 1.19.0.
8141722Svbart@nginx.com</para>
8151722Svbart@nginx.com</change>
8161722Svbart@nginx.com
8171722Svbart@nginx.com<change type="bugfix">
8181722Svbart@nginx.com<para>
8191722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
8201722Svbart@nginx.com</para>
8211722Svbart@nginx.com</change>
8221722Svbart@nginx.com
8231722Svbart@nginx.com<change type="bugfix">
8241722Svbart@nginx.com<para>
8251722Svbart@nginx.comvarious compatibility issues in Java applications.
8261722Svbart@nginx.com</para>
8271722Svbart@nginx.com</change>
8281722Svbart@nginx.com
8291722Svbart@nginx.com<change type="bugfix">
8301722Svbart@nginx.com<para>
8311722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
8321722Svbart@nginx.comuse "rootfs" isolation.
8331722Svbart@nginx.com</para>
8341722Svbart@nginx.com</change>
8351722Svbart@nginx.com
8361722Svbart@nginx.com</changes>
8371722Svbart@nginx.com
8381722Svbart@nginx.com
8391330Svbart@nginx.com<changes apply="unit-php
8401330Svbart@nginx.com                unit-python unit-python2.7
8411330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8421330Svbart@nginx.com                unit-python3.8
8431330Svbart@nginx.com                unit-go
8441330Svbart@nginx.com                unit-perl
8451330Svbart@nginx.com                unit-ruby
8461330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8471640Svbart@nginx.com         ver="1.20.0" rev="1"
8481640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8491640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8501640Svbart@nginx.com
8511640Svbart@nginx.com<change>
8521640Svbart@nginx.com<para>
8531640Svbart@nginx.comNGINX Unit updated to 1.20.0.
8541640Svbart@nginx.com</para>
8551640Svbart@nginx.com</change>
8561640Svbart@nginx.com
8571640Svbart@nginx.com</changes>
8581640Svbart@nginx.com
8591640Svbart@nginx.com
8601640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
8611640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8621640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8631640Svbart@nginx.com
8641640Svbart@nginx.com<change type="change">
8651640Svbart@nginx.com<para>
8661640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
8671640Svbart@nginx.comextensions from the host system.
8681640Svbart@nginx.com</para>
8691640Svbart@nginx.com</change>
8701640Svbart@nginx.com
8711640Svbart@nginx.com<change type="change">
8721640Svbart@nginx.com<para>
8731640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
8741640Svbart@nginx.com</para>
8751640Svbart@nginx.com</change>
8761640Svbart@nginx.com
8771643Svbart@nginx.com<change type="change">
8781643Svbart@nginx.com<para>
8791643Svbart@nginx.comfunctional tests migrated to the pytest framework.
8801643Svbart@nginx.com</para>
8811643Svbart@nginx.com</change>
8821643Svbart@nginx.com
8831640Svbart@nginx.com<change type="feature">
8841640Svbart@nginx.com<para>
8851640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
8861640Svbart@nginx.cominterface.
8871640Svbart@nginx.com</para>
8881640Svbart@nginx.com</change>
8891640Svbart@nginx.com
8901640Svbart@nginx.com<change type="feature">
8911640Svbart@nginx.com<para>
8921640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
8931640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
8941640Svbart@nginx.comspecification.
8951640Svbart@nginx.com</para>
8961640Svbart@nginx.com</change>
8971640Svbart@nginx.com
8981640Svbart@nginx.com<change type="feature">
8991640Svbart@nginx.com<para>
9001640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
9011640Svbart@nginx.comenvironments.
9021640Svbart@nginx.com</para>
9031640Svbart@nginx.com</change>
9041640Svbart@nginx.com
9051640Svbart@nginx.com<change type="feature">
9061640Svbart@nginx.com<para>
9071640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
9081640Svbart@nginx.com</para>
9091640Svbart@nginx.com</change>
9101640Svbart@nginx.com
9111640Svbart@nginx.com<change type="feature">
9121640Svbart@nginx.com<para>
9131640Svbart@nginx.comthe "callable" option sets Python application callable names.
9141640Svbart@nginx.com</para>
9151640Svbart@nginx.com</change>
9161640Svbart@nginx.com
9171640Svbart@nginx.com<change type="feature">
9181640Svbart@nginx.com<para>
9191640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
9201640Svbart@nginx.com</para>
9211640Svbart@nginx.com</change>
9221640Svbart@nginx.com
9231640Svbart@nginx.com<change type="feature">
9241640Svbart@nginx.com<para>
9251640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
9261640Svbart@nginx.comautomatic mounting of language module dependencies.
9271640Svbart@nginx.com</para>
9281640Svbart@nginx.com</change>
9291640Svbart@nginx.com
9301640Svbart@nginx.com<change type="bugfix">
9311640Svbart@nginx.com<para>
9321640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
9331640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
9341640Svbart@nginx.com</para>
9351640Svbart@nginx.com</change>
9361640Svbart@nginx.com
9371640Svbart@nginx.com<change type="bugfix">
9381640Svbart@nginx.com<para>
9391640Svbart@nginx.comthe router process could crash during reconfiguration.
9401640Svbart@nginx.com</para>
9411640Svbart@nginx.com</change>
9421640Svbart@nginx.com
9431640Svbart@nginx.com<change type="bugfix">
9441640Svbart@nginx.com<para>
9451640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
9461640Svbart@nginx.com</para>
9471640Svbart@nginx.com</change>
9481640Svbart@nginx.com
9491640Svbart@nginx.com<change type="bugfix">
9501640Svbart@nginx.com<para>
9511640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
9521640Svbart@nginx.comthe bug had appeared in 1.19.0.
9531640Svbart@nginx.com</para>
9541640Svbart@nginx.com</change>
9551640Svbart@nginx.com
9561640Svbart@nginx.com<change type="bugfix">
9571640Svbart@nginx.com<para>
9581640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
9591640Svbart@nginx.comthe bug had appeared in 1.16.0.
9601640Svbart@nginx.com</para>
9611640Svbart@nginx.com</change>
9621640Svbart@nginx.com
9631640Svbart@nginx.com</changes>
9641640Svbart@nginx.com
9651640Svbart@nginx.com
9661640Svbart@nginx.com<changes apply="unit-php
9671640Svbart@nginx.com                unit-python unit-python2.7
9681640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9691640Svbart@nginx.com                unit-python3.8
9701640Svbart@nginx.com                unit-go
9711640Svbart@nginx.com                unit-perl
9721640Svbart@nginx.com                unit-ruby
9731640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9741570Svbart@nginx.com         ver="1.19.0" rev="1"
9751570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9761570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9771570Svbart@nginx.com
9781570Svbart@nginx.com<change>
9791570Svbart@nginx.com<para>
9801570Svbart@nginx.comNGINX Unit updated to 1.19.0.
9811570Svbart@nginx.com</para>
9821570Svbart@nginx.com</change>
9831570Svbart@nginx.com
9841570Svbart@nginx.com</changes>
9851570Svbart@nginx.com
9861570Svbart@nginx.com
9871570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
9881570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9891570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9901570Svbart@nginx.com
9911570Svbart@nginx.com<change type="feature">
9921570Svbart@nginx.com<para>
9931570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
9941570Svbart@nginx.comincrease performance, and improve scalability.
9951570Svbart@nginx.com</para>
9961570Svbart@nginx.com</change>
9971570Svbart@nginx.com
9981570Svbart@nginx.com<change type="feature">
9991570Svbart@nginx.com<para>
10001570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
10011570Svbart@nginx.com</para>
10021570Svbart@nginx.com</change>
10031570Svbart@nginx.com
10041570Svbart@nginx.com<change type="feature">
10051570Svbart@nginx.com<para>
10061570Svbart@nginx.comchunked transfer encoding in proxy responses.
10071570Svbart@nginx.com</para>
10081570Svbart@nginx.com</change>
10091570Svbart@nginx.com
10101570Svbart@nginx.com<change type="feature">
10111570Svbart@nginx.com<para>
10121570Svbart@nginx.combasic variables support in the "pass" option.
10131570Svbart@nginx.com</para>
10141570Svbart@nginx.com</change>
10151570Svbart@nginx.com
10161570Svbart@nginx.com<change type="feature">
10171570Svbart@nginx.com<para>
10181570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
10191570Svbart@nginx.comThanks to Remi Collet.
10201570Svbart@nginx.com</para>
10211570Svbart@nginx.com</change>
10221570Svbart@nginx.com
10231570Svbart@nginx.com<change type="bugfix">
10241570Svbart@nginx.com<para>
10251570Svbart@nginx.comthe router process could crash while passing requests to an application under
10261570Svbart@nginx.comhigh load.
10271570Svbart@nginx.com</para>
10281570Svbart@nginx.com</change>
10291570Svbart@nginx.com
10301570Svbart@nginx.com<change type="bugfix">
10311570Svbart@nginx.com<para>
10321570Svbart@nginx.coma number of language modules failed to build on some systems;
10331570Svbart@nginx.comthe bug had appeared in 1.18.0.
10341570Svbart@nginx.com</para>
10351570Svbart@nginx.com</change>
10361570Svbart@nginx.com
10371570Svbart@nginx.com<change type="bugfix">
10381570Svbart@nginx.com<para>
10391570Svbart@nginx.comtime in error log messages from PHP applications could lag.
10401570Svbart@nginx.com</para>
10411570Svbart@nginx.com</change>
10421570Svbart@nginx.com
10431570Svbart@nginx.com<change type="bugfix">
10441570Svbart@nginx.com<para>
10451570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
10461570Svbart@nginx.comthe bug had appeared in 1.18.0.
10471570Svbart@nginx.com</para>
10481570Svbart@nginx.com</change>
10491570Svbart@nginx.com
10501570Svbart@nginx.com<change type="bugfix">
10511570Svbart@nginx.com<para>
10521570Svbart@nginx.commemory leak during reconfiguration.
10531570Svbart@nginx.com</para>
10541570Svbart@nginx.com</change>
10551570Svbart@nginx.com
10561570Svbart@nginx.com<change type="bugfix">
10571570Svbart@nginx.com<para>
10581570Svbart@nginx.comthe daemon didn't start without language modules;
10591570Svbart@nginx.comthe bug had appeared in 1.18.0.
10601570Svbart@nginx.com</para>
10611570Svbart@nginx.com</change>
10621570Svbart@nginx.com
10631570Svbart@nginx.com<change type="bugfix">
10641570Svbart@nginx.com<para>
10651570Svbart@nginx.comthe router process could crash at exit.
10661570Svbart@nginx.com</para>
10671570Svbart@nginx.com</change>
10681570Svbart@nginx.com
10691570Svbart@nginx.com<change type="bugfix">
10701570Svbart@nginx.com<para>
10711570Svbart@nginx.comNode.js applications could crash at exit.
10721570Svbart@nginx.com</para>
10731570Svbart@nginx.com</change>
10741570Svbart@nginx.com
10751570Svbart@nginx.com<change type="bugfix">
10761570Svbart@nginx.com<para>
10771570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
10781570Svbart@nginx.com</para>
10791570Svbart@nginx.com</change>
10801570Svbart@nginx.com
10811570Svbart@nginx.com</changes>
10821570Svbart@nginx.com
10831570Svbart@nginx.com
10841570Svbart@nginx.com<changes apply="unit-php
10851570Svbart@nginx.com                unit-python unit-python2.7
10861570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10871570Svbart@nginx.com                unit-python3.8
10881570Svbart@nginx.com                unit-go
10891570Svbart@nginx.com                unit-perl
10901570Svbart@nginx.com                unit-ruby
10911570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10921491Svbart@nginx.com         ver="1.18.0" rev="1"
10931491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
10941491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10951491Svbart@nginx.com
10961491Svbart@nginx.com<change>
10971491Svbart@nginx.com<para>
10981491Svbart@nginx.comNGINX Unit updated to 1.18.0.
10991491Svbart@nginx.com</para>
11001491Svbart@nginx.com</change>
11011491Svbart@nginx.com
11021491Svbart@nginx.com</changes>
11031491Svbart@nginx.com
11041491Svbart@nginx.com
11051491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
11061491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
11071491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11081491Svbart@nginx.com
11091491Svbart@nginx.com<change type="feature">
11101491Svbart@nginx.com<para>
11111491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
11121491Svbart@nginx.com</para>
11131491Svbart@nginx.com</change>
11141491Svbart@nginx.com
11151491Svbart@nginx.com<change type="feature">
11161491Svbart@nginx.com<para>
11171491Svbart@nginx.commultiple "targets" in PHP applications.
11181491Svbart@nginx.com</para>
11191491Svbart@nginx.com</change>
11201491Svbart@nginx.com
11211491Svbart@nginx.com<change type="feature">
11221491Svbart@nginx.com<para>
11231491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
11241491Svbart@nginx.comand in the "pass" option.
11251491Svbart@nginx.com</para>
11261491Svbart@nginx.com</change>
11271491Svbart@nginx.com
11281491Svbart@nginx.com</changes>
11291491Svbart@nginx.com
11301491Svbart@nginx.com
11311491Svbart@nginx.com<changes apply="unit-php
11321491Svbart@nginx.com                unit-python unit-python2.7
11331491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11341491Svbart@nginx.com                unit-python3.8
11351491Svbart@nginx.com                unit-go
11361491Svbart@nginx.com                unit-perl
11371491Svbart@nginx.com                unit-ruby
11381491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11391460Svbart@nginx.com         ver="1.17.0" rev="1"
11401460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
11411460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11421460Svbart@nginx.com
11431460Svbart@nginx.com<change>
11441460Svbart@nginx.com<para>
11451460Svbart@nginx.comNGINX Unit updated to 1.17.0.
11461460Svbart@nginx.com</para>
11471460Svbart@nginx.com</change>
11481460Svbart@nginx.com
11491460Svbart@nginx.com</changes>
11501460Svbart@nginx.com
11511460Svbart@nginx.com
11521460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
11531460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
11541460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11551460Svbart@nginx.com
11561460Svbart@nginx.com<change type="feature">
11571460Svbart@nginx.com<para>
11581460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
11591460Svbart@nginx.comredirection.
11601460Svbart@nginx.com</para>
11611460Svbart@nginx.com</change>
11621460Svbart@nginx.com
11631460Svbart@nginx.com<change type="feature">
11641460Svbart@nginx.com<para>
11651460Svbart@nginx.comfractional weights support for upstream servers.
11661460Svbart@nginx.com</para>
11671460Svbart@nginx.com</change>
11681460Svbart@nginx.com
1169