xref: /unit/docs/changes.xml (revision 2067)
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
342060Smax.romanov@nginx.com<change type="bugfix">
352060Smax.romanov@nginx.com<para>
362060Smax.romanov@nginx.comsome Perl applications failed to process the request body, notably with Plack.
372060Smax.romanov@nginx.com</para>
382060Smax.romanov@nginx.com</change>
392060Smax.romanov@nginx.com
402061Smax.romanov@nginx.com<change type="bugfix">
412061Smax.romanov@nginx.com<para>
422061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
432061Smax.romanov@nginx.com</para>
442061Smax.romanov@nginx.com</change>
452061Smax.romanov@nginx.com
46*2067Smax.romanov@nginx.com<change type="bugfix">
47*2067Smax.romanov@nginx.com<para>
48*2067Smax.romanov@nginx.comincorrect Python protocol auto detection (ASGI or WSGI) for native callable
49*2067Smax.romanov@nginx.comobject, notably with Falcon.
50*2067Smax.romanov@nginx.com</para>
51*2067Smax.romanov@nginx.com</change>
52*2067Smax.romanov@nginx.com
532050Svbart@nginx.com</changes>
542050Svbart@nginx.com
552050Svbart@nginx.com
562050Svbart@nginx.com<changes apply="unit-php
572050Svbart@nginx.com                unit-python unit-python2.7
582050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
592050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
602050Svbart@nginx.com                unit-go
612050Svbart@nginx.com                unit-perl
622050Svbart@nginx.com                unit-ruby
632050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
642050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
652029SN/A         ver="1.26.1" rev="1"
662045SN/A         date="2021-12-02" time="18:00:00 +0300"
672029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
682029SN/A
692029SN/A<change>
702029SN/A<para>
712029SN/ANGINX Unit updated to 1.26.1.
722029SN/A</para>
732029SN/A</change>
742029SN/A
752029SN/A</changes>
762029SN/A
772029SN/A
782029SN/A<changes apply="unit" ver="1.26.1" rev="1"
792045SN/A         date="2021-12-02" time="18:00:00 +0300"
802029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
812029SN/A
822033SN/A<change type="bugfix">
832033SN/A<para>
842044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
852044SN/Aappeared in 1.26.0.
862033SN/A</para>
872033SN/A</change>
882033SN/A
892034SN/A<change type="bugfix">
902034SN/A<para>
912044SN/Aa prototype process could crash on an application process exit; the bug had
922034SN/Aappeared in 1.26.0.
932034SN/A</para>
942034SN/A</change>
952034SN/A
962035SN/A<change type="bugfix">
972035SN/A<para>
982044SN/Athe router process crashed on reconfiguration if "access_log" was configured
992044SN/Awithout listeners.
1002044SN/A</para>
1012044SN/A</change>
1022044SN/A
1032044SN/A<change type="bugfix">
1042044SN/A<para>
1052035SN/Aa segmentation fault occurred in the PHP module if chdir() or
1062035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
1072035SN/A</para>
1082035SN/A</change>
1092035SN/A
1102040SN/A<change type="bugfix">
1112040SN/A<para>
1122041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
1132041SN/A</para>
1142041SN/A</change>
1152041SN/A
1162029SN/A</changes>
1172029SN/A
1182029SN/A
1191973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
1202007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1211973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1221973Sdefan@nginx.com
1231973Sdefan@nginx.com<change>
1241973Sdefan@nginx.com<para>
1251973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
1261973Sdefan@nginx.com</para>
1271973Sdefan@nginx.com</change>
1281973Sdefan@nginx.com
1291973Sdefan@nginx.com</changes>
1301973Sdefan@nginx.com
1311973Sdefan@nginx.com
1321973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
1332007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1341973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1351973Sdefan@nginx.com
1361973Sdefan@nginx.com<change>
1371973Sdefan@nginx.com<para>
1381973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
1391973Sdefan@nginx.com</para>
1401973Sdefan@nginx.com</change>
1411973Sdefan@nginx.com
1421973Sdefan@nginx.com</changes>
1431973Sdefan@nginx.com
1441973Sdefan@nginx.com
1451896Svbart@nginx.com<changes apply="unit-php
1461896Svbart@nginx.com                unit-python unit-python2.7
1471896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1481896Svbart@nginx.com                unit-python3.8 unit-python3.9
1491896Svbart@nginx.com                unit-go
1501896Svbart@nginx.com                unit-perl
1511896Svbart@nginx.com                unit-ruby
1521896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1531896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
1541951Svbart@nginx.com         ver="1.26.0" rev="1"
1552007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1561951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1571951Svbart@nginx.com
1581951Svbart@nginx.com<change>
1591951Svbart@nginx.com<para>
1601951Svbart@nginx.comNGINX Unit updated to 1.26.0.
1611951Svbart@nginx.com</para>
1621951Svbart@nginx.com</change>
1631951Svbart@nginx.com
1641951Svbart@nginx.com</changes>
1651951Svbart@nginx.com
1661951Svbart@nginx.com
1671951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
1682007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1691951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1701951Svbart@nginx.com
1711960Sz.hong@f5.com<change type="change">
1721960Sz.hong@f5.com<para>
1731960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
1741960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
1751960Sz.hong@f5.com</para>
1761960Sz.hong@f5.com</change>
1771960Sz.hong@f5.com
1781960Sz.hong@f5.com<change type="feature">
1791960Sz.hong@f5.com<para>
1802006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
1812006Svbart@nginx.comwhen updating from previous versions.
1822006Svbart@nginx.com</para>
1832006Svbart@nginx.com</change>
1842006Svbart@nginx.com
1852006Svbart@nginx.com<change type="feature">
1862006Svbart@nginx.com<para>
1871960Sz.hong@f5.comvariables support in the "share" option.
1881960Sz.hong@f5.com</para>
1891960Sz.hong@f5.com</change>
1901960Sz.hong@f5.com
1911959Sz.hong@f5.com<change type="feature">
1921959Sz.hong@f5.com<para>
1931961Sz.hong@f5.commultiple paths in the "share" option.
1941961Sz.hong@f5.com</para>
1951961Sz.hong@f5.com</change>
1961961Sz.hong@f5.com
1971961Sz.hong@f5.com<change type="feature">
1981961Sz.hong@f5.com<para>
1991959Sz.hong@f5.comvariables support in the "chroot" option.
2001959Sz.hong@f5.com</para>
2011959Sz.hong@f5.com</change>
2021959Sz.hong@f5.com
2031969Sz.hong@f5.com<change type="feature">
2041969Sz.hong@f5.com<para>
2052006Svbart@nginx.comPHP opcache is shared between application processes.
2061969Sz.hong@f5.com</para>
2071969Sz.hong@f5.com</change>
2081969Sz.hong@f5.com
2091991Sz.hong@f5.com<change type="feature">
2101991Sz.hong@f5.com<para>
2111991Sz.hong@f5.comrequest routing by the query string.
2121991Sz.hong@f5.com</para>
2131991Sz.hong@f5.com</change>
2141991Sz.hong@f5.com
2151955Smax.romanov@nginx.com<change type="bugfix">
2161955Smax.romanov@nginx.com<para>
2172006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
2182006Svbart@nginx.comby asynchronous or multithreaded apps.
2191955Smax.romanov@nginx.com</para>
2201955Smax.romanov@nginx.com</change>
2211955Smax.romanov@nginx.com
2221956Smax.romanov@nginx.com<change type="bugfix">
2231956Smax.romanov@nginx.com<para>
2241956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
2251956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
2261956Smax.romanov@nginx.com</para>
2271956Smax.romanov@nginx.com</change>
2281956Smax.romanov@nginx.com
2291992Smax.romanov@nginx.com<change type="bugfix">
2301992Smax.romanov@nginx.com<para>
2312006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
2321992Smax.romanov@nginx.com</para>
2331992Smax.romanov@nginx.com</change>
2341992Smax.romanov@nginx.com
2351951Svbart@nginx.com</changes>
2361951Svbart@nginx.com
2371951Svbart@nginx.com
2381951Svbart@nginx.com<changes apply="unit-php
2391951Svbart@nginx.com                unit-python unit-python2.7
2401951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2411951Svbart@nginx.com                unit-python3.8 unit-python3.9
2421951Svbart@nginx.com                unit-go
2431951Svbart@nginx.com                unit-perl
2441951Svbart@nginx.com                unit-ruby
2451951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2461951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2471896Svbart@nginx.com         ver="1.25.0" rev="1"
2481945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2491896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2501896Svbart@nginx.com
2511896Svbart@nginx.com<change>
2521896Svbart@nginx.com<para>
2531896Svbart@nginx.comNGINX Unit updated to 1.25.0.
2541896Svbart@nginx.com</para>
2551896Svbart@nginx.com</change>
2561896Svbart@nginx.com
2571896Svbart@nginx.com</changes>
2581896Svbart@nginx.com
2591896Svbart@nginx.com
2601896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
2611945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2621896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2631896Svbart@nginx.com
2641910So.canty@f5.com<change type="feature">
2651910So.canty@f5.com<para>
2661944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
2671942Sa.suvorov@f5.com</para>
2681942Sa.suvorov@f5.com</change>
2691942Sa.suvorov@f5.com
2701942Sa.suvorov@f5.com<change type="feature">
2711942Sa.suvorov@f5.com<para>
2721920Sa.suvorov@f5.comTLS sessions cache.
2731920Sa.suvorov@f5.com</para>
2741920Sa.suvorov@f5.com</change>
2751920Sa.suvorov@f5.com
2761920Sa.suvorov@f5.com<change type="feature">
2771920Sa.suvorov@f5.com<para>
2781944Svbart@nginx.comTLS session tickets.
2791910So.canty@f5.com</para>
2801910So.canty@f5.com</change>
2811910So.canty@f5.com
2821926Smax.romanov@nginx.com<change type="feature">
2831926Smax.romanov@nginx.com<para>
2841926Smax.romanov@nginx.comapplication restart control.
2851926Smax.romanov@nginx.com</para>
2861926Smax.romanov@nginx.com</change>
2871926Smax.romanov@nginx.com
2881936So.canty@f5.com<change type="feature">
2891936So.canty@f5.com<para>
2901944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
2911936So.canty@f5.com</para>
2921936So.canty@f5.com</change>
2931936So.canty@f5.com
2941907Smax.romanov@nginx.com<change type="bugfix">
2951907Smax.romanov@nginx.com<para>
2961944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
2971944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
2981921Sa.suvorov@f5.com</para>
2991921Sa.suvorov@f5.com</change>
3001921Sa.suvorov@f5.com
3011921Sa.suvorov@f5.com<change type="bugfix">
3021921Sa.suvorov@f5.com<para>
3031944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
3041944Svbart@nginx.combundles in a listener if the client did not use SNI.
3051907Smax.romanov@nginx.com</para>
3061907Smax.romanov@nginx.com</change>
3071907Smax.romanov@nginx.com
3081907Smax.romanov@nginx.com<change type="bugfix">
3091907Smax.romanov@nginx.com<para>
3101950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
3111915Smax.romanov@nginx.comreconfiguration.
3121915Smax.romanov@nginx.com</para>
3131915Smax.romanov@nginx.com</change>
3141915Smax.romanov@nginx.com
3151915Smax.romanov@nginx.com<change type="bugfix">
3161915Smax.romanov@nginx.com<para>
3171944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
3181944Svbart@nginx.comframework.
3191944Svbart@nginx.com</para>
3201944Svbart@nginx.com</change>
3211944Svbart@nginx.com
3221944Svbart@nginx.com<change type="bugfix">
3231944Svbart@nginx.com<para>
3241944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
3251944Svbart@nginx.comstopped or crashed.
3261907Smax.romanov@nginx.com</para>
3271907Smax.romanov@nginx.com</change>
3281907Smax.romanov@nginx.com
3291909So.canty@f5.com<change type="bugfix">
3301909So.canty@f5.com<para>
3311909So.canty@f5.comthe controller or router process could crash if the configuration contained
3321909So.canty@f5.coma full-form IPv6 in a listener address.
3331909So.canty@f5.com</para>
3341909So.canty@f5.com</change>
3351909So.canty@f5.com
3361916Smax.romanov@nginx.com<change type="bugfix">
3371916Smax.romanov@nginx.com<para>
3381929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
3391929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
3401929Sz.hong@f5.com</para>
3411929Sz.hong@f5.com</change>
3421929Sz.hong@f5.com
3431930So.canty@f5.com<change type="bugfix">
3441930So.canty@f5.com<para>
3451944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
3461944Svbart@nginx.comor destination address patterns.
3471930So.canty@f5.com</para>
3481930So.canty@f5.com</change>
3491930So.canty@f5.com
3501896Svbart@nginx.com</changes>
3511896Svbart@nginx.com
3521896Svbart@nginx.com
3531887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
3541891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3551887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3561887Sdefan@nginx.com
3571887Sdefan@nginx.com<change>
3581887Sdefan@nginx.com<para>
3591887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
3601887Sdefan@nginx.com</para>
3611887Sdefan@nginx.com</change>
3621887Sdefan@nginx.com
3631887Sdefan@nginx.com</changes>
3641887Sdefan@nginx.com
3651887Sdefan@nginx.com
3661887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
3671891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3681887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3691887Sdefan@nginx.com
3701887Sdefan@nginx.com<change>
3711887Sdefan@nginx.com<para>
3721887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
3731887Sdefan@nginx.com</para>
3741887Sdefan@nginx.com</change>
3751887Sdefan@nginx.com
3761887Sdefan@nginx.com</changes>
3771887Sdefan@nginx.com
3781887Sdefan@nginx.com
3791834Svbart@nginx.com<changes apply="unit-php
3801834Svbart@nginx.com                unit-python unit-python2.7
3811834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3821834Svbart@nginx.com                unit-python3.8 unit-python3.9
3831834Svbart@nginx.com                unit-go
3841834Svbart@nginx.com                unit-perl
3851834Svbart@nginx.com                unit-ruby
3861834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3871834Svbart@nginx.com                unit-jsc14 unit-jsc15"
3881839Svbart@nginx.com         ver="1.24.0" rev="1"
3891891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3901839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3911839Svbart@nginx.com
3921839Svbart@nginx.com<change>
3931839Svbart@nginx.com<para>
3941839Svbart@nginx.comNGINX Unit updated to 1.24.0.
3951839Svbart@nginx.com</para>
3961839Svbart@nginx.com</change>
3971839Svbart@nginx.com
3981839Svbart@nginx.com</changes>
3991839Svbart@nginx.com
4001839Svbart@nginx.com
4011839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
4021891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
4031839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4041839Svbart@nginx.com
4051882So.canty@f5.com<change type="change">
4061882So.canty@f5.com<para>
4071882So.canty@f5.comPHP added to the default MIME type list.
4081882So.canty@f5.com</para>
4091882So.canty@f5.com</change>
4101882So.canty@f5.com
4111855Sz.hong@f5.com<change type="feature">
4121855Sz.hong@f5.com<para>
4131885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
4141885Sa.suvorov@f5.com</para>
4151885Sa.suvorov@f5.com</change>
4161885Sa.suvorov@f5.com
4171885Sa.suvorov@f5.com<change type="feature">
4181885Sa.suvorov@f5.com<para>
4191890Svbart@nginx.comthe ability to limit static file serving by MIME types.
4201890Svbart@nginx.com</para>
4211890Svbart@nginx.com</change>
4221890Svbart@nginx.com
4231890Svbart@nginx.com<change type="feature">
4241890Svbart@nginx.com<para>
4251890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
4261890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
4271872So.canty@f5.com</para>
4281872So.canty@f5.com</change>
4291872So.canty@f5.com
4301872So.canty@f5.com<change type="feature">
4311872So.canty@f5.com<para>
4321889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
4331889Sartem.konev@nginx.comNode.js.
4341865So.canty@f5.com</para>
4351865So.canty@f5.com</change>
4361865So.canty@f5.com
4371865So.canty@f5.com<change type="feature">
4381865So.canty@f5.com<para>
4391890Svbart@nginx.commultiple "targets" in Python applications.
4401855Sz.hong@f5.com</para>
4411855Sz.hong@f5.com</change>
4421855Sz.hong@f5.com
4431870So.canty@f5.com<change type="feature">
4441870So.canty@f5.com<para>
4451870So.canty@f5.comcompatibility with Ruby 3.0.
4461870So.canty@f5.com</para>
4471870So.canty@f5.com</change>
4481870So.canty@f5.com
4491861Svbart@nginx.com<change type="bugfix">
4501861Svbart@nginx.com<para>
4511889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
4521884Sa.suvorov@f5.com</para>
4531884Sa.suvorov@f5.com</change>
4541884Sa.suvorov@f5.com
4551884Sa.suvorov@f5.com<change type="bugfix">
4561884Sa.suvorov@f5.com<para>
4571861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
4581861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
4591861Svbart@nginx.com</para>
4601861Svbart@nginx.com</change>
4611861Svbart@nginx.com
4621839Svbart@nginx.com</changes>
4631839Svbart@nginx.com
4641839Svbart@nginx.com
4651839Svbart@nginx.com<changes apply="unit-php
4661839Svbart@nginx.com                unit-python unit-python2.7
4671839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4681839Svbart@nginx.com                unit-python3.8 unit-python3.9
4691839Svbart@nginx.com                unit-go
4701839Svbart@nginx.com                unit-perl
4711839Svbart@nginx.com                unit-ruby
4721839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4731839Svbart@nginx.com                unit-jsc14 unit-jsc15"
4741834Svbart@nginx.com         ver="1.23.0" rev="1"
4751834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4761834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4771834Svbart@nginx.com
4781834Svbart@nginx.com<change>
4791834Svbart@nginx.com<para>
4801834Svbart@nginx.comNGINX Unit updated to 1.23.0.
4811834Svbart@nginx.com</para>
4821834Svbart@nginx.com</change>
4831834Svbart@nginx.com
4841834Svbart@nginx.com</changes>
4851834Svbart@nginx.com
4861834Svbart@nginx.com
4871806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
4881834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4891806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4901806Svbart@nginx.com
4911825Sthresh@nginx.com<change type="feature">
4921825Sthresh@nginx.com<para>
4931833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
4941828Sa.suvorov@f5.comIndication (SNI) TLS extension.
4951828Sa.suvorov@f5.com</para>
4961828Sa.suvorov@f5.com</change>
4971828Sa.suvorov@f5.com
4981828Sa.suvorov@f5.com<change type="feature">
4991828Sa.suvorov@f5.com<para>
5001833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
5011833Sartem.konev@nginx.cominstallation.
5021825Sthresh@nginx.com</para>
5031825Sthresh@nginx.com</change>
5041825Sthresh@nginx.com
5051811Smax.romanov@nginx.com<change type="bugfix">
5061811Smax.romanov@nginx.com<para>
5071812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
5081812Svbart@nginx.comappeared in 1.17.0.
5091812Svbart@nginx.com</para>
5101812Svbart@nginx.com</change>
5111812Svbart@nginx.com
5121812Svbart@nginx.com<change type="bugfix">
5131812Svbart@nginx.com<para>
5141833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
5151812Svbart@nginx.comappeared in 1.6.
5161812Svbart@nginx.com</para>
5171812Svbart@nginx.com</change>
5181812Svbart@nginx.com
5191812Svbart@nginx.com<change type="bugfix">
5201812Svbart@nginx.com<para>
5211833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
5221832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
5231832Smax.romanov@nginx.com</para>
5241832Smax.romanov@nginx.com</change>
5251832Smax.romanov@nginx.com
5261832Smax.romanov@nginx.com<change type="bugfix">
5271832Smax.romanov@nginx.com<para>
5281833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
5291811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
5301811Smax.romanov@nginx.com</para>
5311811Smax.romanov@nginx.com</change>
5321806Svbart@nginx.com
5331813Svbart@nginx.com<change type="bugfix">
5341813Svbart@nginx.com<para>
5351813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
5361813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
5371813Svbart@nginx.com</para>
5381813Svbart@nginx.com</change>
5391813Svbart@nginx.com
5401814Svbart@nginx.com<change type="bugfix">
5411814Svbart@nginx.com<para>
5421820Svbart@nginx.comthe controller process could crash while requesting information about a
5431820Svbart@nginx.comcertificate with a non-DNS SAN entry.
5441820Svbart@nginx.com</para>
5451820Svbart@nginx.com</change>
5461820Svbart@nginx.com
5471820Svbart@nginx.com<change type="bugfix">
5481820Svbart@nginx.com<para>
5491822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
5501833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
5511822Svbart@nginx.com</para>
5521822Svbart@nginx.com</change>
5531822Svbart@nginx.com
5541822Svbart@nginx.com<change type="bugfix">
5551822Svbart@nginx.com<para>
5561833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
5571833Sartem.konev@nginx.comclass.
5581814Svbart@nginx.com</para>
5591814Svbart@nginx.com</change>
5601814Svbart@nginx.com
5611815Svbart@nginx.com<change type="bugfix">
5621815Svbart@nginx.com<para>
5631815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
5641815Svbart@nginx.comappeared in 1.22.0.
5651815Svbart@nginx.com</para>
5661815Svbart@nginx.com</change>
5671815Svbart@nginx.com
5681806Svbart@nginx.com</changes>
5691806Svbart@nginx.com
5701806Svbart@nginx.com
5711798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
5721798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5731798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5741798Sdefan@nginx.com
5751798Sdefan@nginx.com<change>
5761798Sdefan@nginx.com<para>
5771798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
5781798Sdefan@nginx.com</para>
5791798Sdefan@nginx.com</change>
5801798Sdefan@nginx.com
5811798Sdefan@nginx.com</changes>
5821798Sdefan@nginx.com
5831798Sdefan@nginx.com
5841763Sdefan@nginx.com<changes apply="unit-php
5851763Sdefan@nginx.com                unit-python unit-python2.7
5861763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5871763Sdefan@nginx.com                unit-python3.8
5881763Sdefan@nginx.com                unit-go
5891763Sdefan@nginx.com                unit-perl
5901763Sdefan@nginx.com                unit-ruby
5911763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5921763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
5931763Sdefan@nginx.com         ver="1.22.0" rev="1"
5941793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5951763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5961763Sdefan@nginx.com
5971763Sdefan@nginx.com<change>
5981763Sdefan@nginx.com<para>
5991763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
6001763Sdefan@nginx.com</para>
6011763Sdefan@nginx.com</change>
6021763Sdefan@nginx.com
6031763Sdefan@nginx.com</changes>
6041763Sdefan@nginx.com
6051763Sdefan@nginx.com
6061727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
6071793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6081727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6091727Svbart@nginx.com
6101759Svbart@nginx.com<change type="feature">
6111759Svbart@nginx.com<para>
6121792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
6131792Svbart@nginx.comcompliant with Stream API.
6141759Svbart@nginx.com</para>
6151759Svbart@nginx.com</change>
6161759Svbart@nginx.com
6171766Smax.romanov@nginx.com<change type="feature">
6181766Smax.romanov@nginx.com<para>
6191792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
6201792Svbart@nginx.comapps.
6211732Svbart@nginx.com</para>
6221732Svbart@nginx.com</change>
6231732Svbart@nginx.com
6241733Svbart@nginx.com<change type="bugfix">
6251733Svbart@nginx.com<para>
6261792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
6271792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
6281754Smax.romanov@nginx.com</para>
6291754Smax.romanov@nginx.com</change>
6301754Smax.romanov@nginx.com
6311755Smax.romanov@nginx.com<change type="bugfix">
6321755Smax.romanov@nginx.com<para>
6331790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
6341755Smax.romanov@nginx.comappeared in 1.19.0.
6351755Smax.romanov@nginx.com</para>
6361755Smax.romanov@nginx.com</change>
6371755Smax.romanov@nginx.com
6381756Smax.romanov@nginx.com<change type="bugfix">
6391756Smax.romanov@nginx.com<para>
6401790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
6411790Sartem.konev@nginx.comappeared in 1.19.0.
6421756Smax.romanov@nginx.com</para>
6431756Smax.romanov@nginx.com</change>
6441756Smax.romanov@nginx.com
6451760Smax.romanov@nginx.com<change type="bugfix">
6461760Smax.romanov@nginx.com<para>
6471792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
6481792Svbart@nginx.com</para>
6491792Svbart@nginx.com</change>
6501792Svbart@nginx.com
6511792Svbart@nginx.com<change type="bugfix">
6521792Svbart@nginx.com<para>
6531792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
6541792Svbart@nginx.commissing in the PHP module.
6551792Svbart@nginx.com</para>
6561792Svbart@nginx.com</change>
6571792Svbart@nginx.com
6581792Svbart@nginx.com<change type="bugfix">
6591792Svbart@nginx.com<para>
6601792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
6611792Svbart@nginx.com</para>
6621792Svbart@nginx.com</change>
6631792Svbart@nginx.com
6641792Svbart@nginx.com<change type="bugfix">
6651792Svbart@nginx.com<para>
6661792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
6671792Svbart@nginx.com</para>
6681792Svbart@nginx.com</change>
6691792Svbart@nginx.com
6701792Svbart@nginx.com<change type="bugfix">
6711792Svbart@nginx.com<para>
6721792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
6731792Svbart@nginx.comthe bug had appeared in 1.21.0.
6741760Smax.romanov@nginx.com</para>
6751760Smax.romanov@nginx.com</change>
6761760Smax.romanov@nginx.com
6771780Smax.romanov@nginx.com<change type="bugfix">
6781780Smax.romanov@nginx.com<para>
6791790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
6801790Sartem.konev@nginx.comWebSocket.
6811780Smax.romanov@nginx.com</para>
6821780Smax.romanov@nginx.com</change>
6831780Smax.romanov@nginx.com
6841789Smax.romanov@nginx.com<change type="bugfix">
6851789Smax.romanov@nginx.com<para>
6861789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
6871789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
6881789Smax.romanov@nginx.com</para>
6891789Smax.romanov@nginx.com</change>
6901789Smax.romanov@nginx.com
6911727Svbart@nginx.com</changes>
6921727Svbart@nginx.com
6931727Svbart@nginx.com
6941722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
6951722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6961722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6971722Svbart@nginx.com
6981722Svbart@nginx.com<change>
6991722Svbart@nginx.com<para>
7001722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
7011722Svbart@nginx.com</para>
7021722Svbart@nginx.com</change>
7031722Svbart@nginx.com
7041722Svbart@nginx.com</changes>
7051722Svbart@nginx.com
7061722Svbart@nginx.com
7071722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
7081722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7091722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7101722Svbart@nginx.com
7111722Svbart@nginx.com<change>
7121722Svbart@nginx.com<para>
7131722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
7141722Svbart@nginx.com</para>
7151722Svbart@nginx.com</change>
7161722Svbart@nginx.com
7171722Svbart@nginx.com</changes>
7181722Svbart@nginx.com
7191722Svbart@nginx.com
7201722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
7211722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7221722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7231722Svbart@nginx.com
7241722Svbart@nginx.com<change>
7251722Svbart@nginx.com<para>
7261722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
7271722Svbart@nginx.com</para>
7281722Svbart@nginx.com</change>
7291722Svbart@nginx.com
7301722Svbart@nginx.com</changes>
7311722Svbart@nginx.com
7321722Svbart@nginx.com
7331722Svbart@nginx.com<changes apply="unit-php
7341722Svbart@nginx.com                unit-python unit-python2.7
7351722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7361722Svbart@nginx.com                unit-python3.8
7371722Svbart@nginx.com                unit-go
7381722Svbart@nginx.com                unit-perl
7391722Svbart@nginx.com                unit-ruby
7401722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7411722Svbart@nginx.com         ver="1.21.0" rev="1"
7421722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7431722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7441722Svbart@nginx.com
7451722Svbart@nginx.com<change>
7461722Svbart@nginx.com<para>
7471722Svbart@nginx.comNGINX Unit updated to 1.21.0.
7481722Svbart@nginx.com</para>
7491722Svbart@nginx.com</change>
7501722Svbart@nginx.com
7511722Svbart@nginx.com</changes>
7521722Svbart@nginx.com
7531722Svbart@nginx.com
7541722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
7551722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7561722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7571722Svbart@nginx.com
7581722Svbart@nginx.com<change type="change">
7591722Svbart@nginx.com<para>
7601722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
7611722Svbart@nginx.com</para>
7621722Svbart@nginx.com</change>
7631722Svbart@nginx.com
7641722Svbart@nginx.com<change type="change">
7651722Svbart@nginx.com<para>
7661722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
7671722Svbart@nginx.comnames.
7681722Svbart@nginx.com</para>
7691722Svbart@nginx.com</change>
7701722Svbart@nginx.com
7711722Svbart@nginx.com<change type="change">
7721722Svbart@nginx.com<para>
7731722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
7741722Svbart@nginx.comdefault.
7751722Svbart@nginx.com</para>
7761722Svbart@nginx.com</change>
7771722Svbart@nginx.com
7781722Svbart@nginx.com<change type="feature">
7791722Svbart@nginx.com<para>
7801722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
7811722Svbart@nginx.com</para>
7821722Svbart@nginx.com</change>
7831722Svbart@nginx.com
7841722Svbart@nginx.com<change type="feature">
7851722Svbart@nginx.com<para>
7861722Svbart@nginx.comregular expressions in route matching patterns.
7871722Svbart@nginx.com</para>
7881722Svbart@nginx.com</change>
7891722Svbart@nginx.com
7901722Svbart@nginx.com<change type="feature">
7911722Svbart@nginx.com<para>
7921722Svbart@nginx.comcompatibility with Python 3.9.
7931722Svbart@nginx.com</para>
7941722Svbart@nginx.com</change>
7951722Svbart@nginx.com
7961722Svbart@nginx.com<change type="feature">
7971722Svbart@nginx.com<para>
7981722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
7991722Svbart@nginx.com</para>
8001722Svbart@nginx.com</change>
8011722Svbart@nginx.com
8021722Svbart@nginx.com<change type="feature">
8031722Svbart@nginx.com<para>
8041722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
8051722Svbart@nginx.com</para>
8061722Svbart@nginx.com</change>
8071722Svbart@nginx.com
8081722Svbart@nginx.com<change type="feature">
8091722Svbart@nginx.com<para>
8101722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
8111722Svbart@nginx.comcontinues code execution without holding onto the client connection.
8121722Svbart@nginx.com</para>
8131722Svbart@nginx.com</change>
8141722Svbart@nginx.com
8151722Svbart@nginx.com<change type="feature">
8161722Svbart@nginx.com<para>
8171722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
8181722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
8191722Svbart@nginx.com</para>
8201722Svbart@nginx.com</change>
8211722Svbart@nginx.com
8221722Svbart@nginx.com<change type="feature">
8231722Svbart@nginx.com<para>
8241722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
8251722Svbart@nginx.commounting of eponymous filesystems.
8261722Svbart@nginx.com</para>
8271722Svbart@nginx.com</change>
8281722Svbart@nginx.com
8291722Svbart@nginx.com<change type="bugfix">
8301722Svbart@nginx.com<para>
8311722Svbart@nginx.comthe router process could crash when running Go applications under high load;
8321722Svbart@nginx.comthe bug had appeared in 1.19.0.
8331722Svbart@nginx.com</para>
8341722Svbart@nginx.com</change>
8351722Svbart@nginx.com
8361722Svbart@nginx.com<change type="bugfix">
8371722Svbart@nginx.com<para>
8381722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
8391722Svbart@nginx.com</para>
8401722Svbart@nginx.com</change>
8411722Svbart@nginx.com
8421722Svbart@nginx.com<change type="bugfix">
8431722Svbart@nginx.com<para>
8441722Svbart@nginx.comvarious compatibility issues in Java applications.
8451722Svbart@nginx.com</para>
8461722Svbart@nginx.com</change>
8471722Svbart@nginx.com
8481722Svbart@nginx.com<change type="bugfix">
8491722Svbart@nginx.com<para>
8501722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
8511722Svbart@nginx.comuse "rootfs" isolation.
8521722Svbart@nginx.com</para>
8531722Svbart@nginx.com</change>
8541722Svbart@nginx.com
8551722Svbart@nginx.com</changes>
8561722Svbart@nginx.com
8571722Svbart@nginx.com
8581330Svbart@nginx.com<changes apply="unit-php
8591330Svbart@nginx.com                unit-python unit-python2.7
8601330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8611330Svbart@nginx.com                unit-python3.8
8621330Svbart@nginx.com                unit-go
8631330Svbart@nginx.com                unit-perl
8641330Svbart@nginx.com                unit-ruby
8651330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8661640Svbart@nginx.com         ver="1.20.0" rev="1"
8671640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8681640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8691640Svbart@nginx.com
8701640Svbart@nginx.com<change>
8711640Svbart@nginx.com<para>
8721640Svbart@nginx.comNGINX Unit updated to 1.20.0.
8731640Svbart@nginx.com</para>
8741640Svbart@nginx.com</change>
8751640Svbart@nginx.com
8761640Svbart@nginx.com</changes>
8771640Svbart@nginx.com
8781640Svbart@nginx.com
8791640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
8801640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8811640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8821640Svbart@nginx.com
8831640Svbart@nginx.com<change type="change">
8841640Svbart@nginx.com<para>
8851640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
8861640Svbart@nginx.comextensions from the host system.
8871640Svbart@nginx.com</para>
8881640Svbart@nginx.com</change>
8891640Svbart@nginx.com
8901640Svbart@nginx.com<change type="change">
8911640Svbart@nginx.com<para>
8921640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
8931640Svbart@nginx.com</para>
8941640Svbart@nginx.com</change>
8951640Svbart@nginx.com
8961643Svbart@nginx.com<change type="change">
8971643Svbart@nginx.com<para>
8981643Svbart@nginx.comfunctional tests migrated to the pytest framework.
8991643Svbart@nginx.com</para>
9001643Svbart@nginx.com</change>
9011643Svbart@nginx.com
9021640Svbart@nginx.com<change type="feature">
9031640Svbart@nginx.com<para>
9041640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
9051640Svbart@nginx.cominterface.
9061640Svbart@nginx.com</para>
9071640Svbart@nginx.com</change>
9081640Svbart@nginx.com
9091640Svbart@nginx.com<change type="feature">
9101640Svbart@nginx.com<para>
9111640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
9121640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
9131640Svbart@nginx.comspecification.
9141640Svbart@nginx.com</para>
9151640Svbart@nginx.com</change>
9161640Svbart@nginx.com
9171640Svbart@nginx.com<change type="feature">
9181640Svbart@nginx.com<para>
9191640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
9201640Svbart@nginx.comenvironments.
9211640Svbart@nginx.com</para>
9221640Svbart@nginx.com</change>
9231640Svbart@nginx.com
9241640Svbart@nginx.com<change type="feature">
9251640Svbart@nginx.com<para>
9261640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
9271640Svbart@nginx.com</para>
9281640Svbart@nginx.com</change>
9291640Svbart@nginx.com
9301640Svbart@nginx.com<change type="feature">
9311640Svbart@nginx.com<para>
9321640Svbart@nginx.comthe "callable" option sets Python application callable names.
9331640Svbart@nginx.com</para>
9341640Svbart@nginx.com</change>
9351640Svbart@nginx.com
9361640Svbart@nginx.com<change type="feature">
9371640Svbart@nginx.com<para>
9381640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
9391640Svbart@nginx.com</para>
9401640Svbart@nginx.com</change>
9411640Svbart@nginx.com
9421640Svbart@nginx.com<change type="feature">
9431640Svbart@nginx.com<para>
9441640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
9451640Svbart@nginx.comautomatic mounting of language module dependencies.
9461640Svbart@nginx.com</para>
9471640Svbart@nginx.com</change>
9481640Svbart@nginx.com
9491640Svbart@nginx.com<change type="bugfix">
9501640Svbart@nginx.com<para>
9511640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
9521640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
9531640Svbart@nginx.com</para>
9541640Svbart@nginx.com</change>
9551640Svbart@nginx.com
9561640Svbart@nginx.com<change type="bugfix">
9571640Svbart@nginx.com<para>
9581640Svbart@nginx.comthe router process could crash during reconfiguration.
9591640Svbart@nginx.com</para>
9601640Svbart@nginx.com</change>
9611640Svbart@nginx.com
9621640Svbart@nginx.com<change type="bugfix">
9631640Svbart@nginx.com<para>
9641640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
9651640Svbart@nginx.com</para>
9661640Svbart@nginx.com</change>
9671640Svbart@nginx.com
9681640Svbart@nginx.com<change type="bugfix">
9691640Svbart@nginx.com<para>
9701640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
9711640Svbart@nginx.comthe bug had appeared in 1.19.0.
9721640Svbart@nginx.com</para>
9731640Svbart@nginx.com</change>
9741640Svbart@nginx.com
9751640Svbart@nginx.com<change type="bugfix">
9761640Svbart@nginx.com<para>
9771640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
9781640Svbart@nginx.comthe bug had appeared in 1.16.0.
9791640Svbart@nginx.com</para>
9801640Svbart@nginx.com</change>
9811640Svbart@nginx.com
9821640Svbart@nginx.com</changes>
9831640Svbart@nginx.com
9841640Svbart@nginx.com
9851640Svbart@nginx.com<changes apply="unit-php
9861640Svbart@nginx.com                unit-python unit-python2.7
9871640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9881640Svbart@nginx.com                unit-python3.8
9891640Svbart@nginx.com                unit-go
9901640Svbart@nginx.com                unit-perl
9911640Svbart@nginx.com                unit-ruby
9921640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9931570Svbart@nginx.com         ver="1.19.0" rev="1"
9941570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9951570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9961570Svbart@nginx.com
9971570Svbart@nginx.com<change>
9981570Svbart@nginx.com<para>
9991570Svbart@nginx.comNGINX Unit updated to 1.19.0.
10001570Svbart@nginx.com</para>
10011570Svbart@nginx.com</change>
10021570Svbart@nginx.com
10031570Svbart@nginx.com</changes>
10041570Svbart@nginx.com
10051570Svbart@nginx.com
10061570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
10071570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
10081570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10091570Svbart@nginx.com
10101570Svbart@nginx.com<change type="feature">
10111570Svbart@nginx.com<para>
10121570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
10131570Svbart@nginx.comincrease performance, and improve scalability.
10141570Svbart@nginx.com</para>
10151570Svbart@nginx.com</change>
10161570Svbart@nginx.com
10171570Svbart@nginx.com<change type="feature">
10181570Svbart@nginx.com<para>
10191570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
10201570Svbart@nginx.com</para>
10211570Svbart@nginx.com</change>
10221570Svbart@nginx.com
10231570Svbart@nginx.com<change type="feature">
10241570Svbart@nginx.com<para>
10251570Svbart@nginx.comchunked transfer encoding in proxy responses.
10261570Svbart@nginx.com</para>
10271570Svbart@nginx.com</change>
10281570Svbart@nginx.com
10291570Svbart@nginx.com<change type="feature">
10301570Svbart@nginx.com<para>
10311570Svbart@nginx.combasic variables support in the "pass" option.
10321570Svbart@nginx.com</para>
10331570Svbart@nginx.com</change>
10341570Svbart@nginx.com
10351570Svbart@nginx.com<change type="feature">
10361570Svbart@nginx.com<para>
10371570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
10381570Svbart@nginx.comThanks to Remi Collet.
10391570Svbart@nginx.com</para>
10401570Svbart@nginx.com</change>
10411570Svbart@nginx.com
10421570Svbart@nginx.com<change type="bugfix">
10431570Svbart@nginx.com<para>
10441570Svbart@nginx.comthe router process could crash while passing requests to an application under
10451570Svbart@nginx.comhigh load.
10461570Svbart@nginx.com</para>
10471570Svbart@nginx.com</change>
10481570Svbart@nginx.com
10491570Svbart@nginx.com<change type="bugfix">
10501570Svbart@nginx.com<para>
10511570Svbart@nginx.coma number of language modules failed to build on some systems;
10521570Svbart@nginx.comthe bug had appeared in 1.18.0.
10531570Svbart@nginx.com</para>
10541570Svbart@nginx.com</change>
10551570Svbart@nginx.com
10561570Svbart@nginx.com<change type="bugfix">
10571570Svbart@nginx.com<para>
10581570Svbart@nginx.comtime in error log messages from PHP applications could lag.
10591570Svbart@nginx.com</para>
10601570Svbart@nginx.com</change>
10611570Svbart@nginx.com
10621570Svbart@nginx.com<change type="bugfix">
10631570Svbart@nginx.com<para>
10641570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
10651570Svbart@nginx.comthe bug had appeared in 1.18.0.
10661570Svbart@nginx.com</para>
10671570Svbart@nginx.com</change>
10681570Svbart@nginx.com
10691570Svbart@nginx.com<change type="bugfix">
10701570Svbart@nginx.com<para>
10711570Svbart@nginx.commemory leak during reconfiguration.
10721570Svbart@nginx.com</para>
10731570Svbart@nginx.com</change>
10741570Svbart@nginx.com
10751570Svbart@nginx.com<change type="bugfix">
10761570Svbart@nginx.com<para>
10771570Svbart@nginx.comthe daemon didn't start without language modules;
10781570Svbart@nginx.comthe bug had appeared in 1.18.0.
10791570Svbart@nginx.com</para>
10801570Svbart@nginx.com</change>
10811570Svbart@nginx.com
10821570Svbart@nginx.com<change type="bugfix">
10831570Svbart@nginx.com<para>
10841570Svbart@nginx.comthe router process could crash at exit.
10851570Svbart@nginx.com</para>
10861570Svbart@nginx.com</change>
10871570Svbart@nginx.com
10881570Svbart@nginx.com<change type="bugfix">
10891570Svbart@nginx.com<para>
10901570Svbart@nginx.comNode.js applications could crash at exit.
10911570Svbart@nginx.com</para>
10921570Svbart@nginx.com</change>
10931570Svbart@nginx.com
10941570Svbart@nginx.com<change type="bugfix">
10951570Svbart@nginx.com<para>
10961570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
10971570Svbart@nginx.com</para>
10981570Svbart@nginx.com</change>
10991570Svbart@nginx.com
11001570Svbart@nginx.com</changes>
11011570Svbart@nginx.com
11021570Svbart@nginx.com
11031570Svbart@nginx.com<changes apply="unit-php
11041570Svbart@nginx.com                unit-python unit-python2.7
11051570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11061570Svbart@nginx.com                unit-python3.8
11071570Svbart@nginx.com                unit-go
11081570Svbart@nginx.com                unit-perl
11091570Svbart@nginx.com                unit-ruby
11101570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11111491Svbart@nginx.com         ver="1.18.0" rev="1"
11121491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
11131491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11141491Svbart@nginx.com
11151491Svbart@nginx.com<change>
11161491Svbart@nginx.com<para>
11171491Svbart@nginx.comNGINX Unit updated to 1.18.0.
11181491Svbart@nginx.com</para>
11191491Svbart@nginx.com</change>
11201491Svbart@nginx.com
11211491Svbart@nginx.com</changes>
11221491Svbart@nginx.com
11231491Svbart@nginx.com
11241491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
11251491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
11261491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11271491Svbart@nginx.com
11281491Svbart@nginx.com<change type="feature">
11291491Svbart@nginx.com<para>
11301491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
11311491Svbart@nginx.com</para>
11321491Svbart@nginx.com</change>
11331491Svbart@nginx.com
11341491Svbart@nginx.com<change type="feature">
11351491Svbart@nginx.com<para>
11361491Svbart@nginx.commultiple "targets" in PHP applications.
11371491Svbart@nginx.com</para>
11381491Svbart@nginx.com</change>
11391491Svbart@nginx.com
11401491Svbart@nginx.com<change type="feature">
11411491Svbart@nginx.com<para>
11421491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
11431491Svbart@nginx.comand in the "pass" option.
11441491Svbart@nginx.com</para>
11451491Svbart@nginx.com</change>
11461491Svbart@nginx.com
11471491Svbart@nginx.com</changes>
11481491Svbart@nginx.com
11491491Svbart@nginx.com
11501491Svbart@nginx.com<changes apply="unit-php
11511491Svbart@nginx.com                unit-python unit-python2.7
11521491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1153