xref: /unit/docs/changes.xml (revision 2061)
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
40*2061Smax.romanov@nginx.com<change type="bugfix">
41*2061Smax.romanov@nginx.com<para>
42*2061Smax.romanov@nginx.comsome Spring Boot applications failed to start, notably with Grails.
43*2061Smax.romanov@nginx.com</para>
44*2061Smax.romanov@nginx.com</change>
45*2061Smax.romanov@nginx.com
462050Svbart@nginx.com</changes>
472050Svbart@nginx.com
482050Svbart@nginx.com
492050Svbart@nginx.com<changes apply="unit-php
502050Svbart@nginx.com                unit-python unit-python2.7
512050Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
522050Svbart@nginx.com                unit-python3.8 unit-python3.9 unit-python3.10
532050Svbart@nginx.com                unit-go
542050Svbart@nginx.com                unit-perl
552050Svbart@nginx.com                unit-ruby
562050Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
572050Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17 unit-jsc18"
582029SN/A         ver="1.26.1" rev="1"
592045SN/A         date="2021-12-02" time="18:00:00 +0300"
602029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
612029SN/A
622029SN/A<change>
632029SN/A<para>
642029SN/ANGINX Unit updated to 1.26.1.
652029SN/A</para>
662029SN/A</change>
672029SN/A
682029SN/A</changes>
692029SN/A
702029SN/A
712029SN/A<changes apply="unit" ver="1.26.1" rev="1"
722045SN/A         date="2021-12-02" time="18:00:00 +0300"
732029SN/A         packager="Andrei Belov &lt;defan@nginx.com&gt;">
742029SN/A
752033SN/A<change type="bugfix">
762033SN/A<para>
772044SN/Aoccasionally, the Unit daemon was unable to fully terminate; the bug had
782044SN/Aappeared in 1.26.0.
792033SN/A</para>
802033SN/A</change>
812033SN/A
822034SN/A<change type="bugfix">
832034SN/A<para>
842044SN/Aa prototype process could crash on an application process exit; the bug had
852034SN/Aappeared in 1.26.0.
862034SN/A</para>
872034SN/A</change>
882034SN/A
892035SN/A<change type="bugfix">
902035SN/A<para>
912044SN/Athe router process crashed on reconfiguration if "access_log" was configured
922044SN/Awithout listeners.
932044SN/A</para>
942044SN/A</change>
952044SN/A
962044SN/A<change type="bugfix">
972044SN/A<para>
982035SN/Aa segmentation fault occurred in the PHP module if chdir() or
992035SN/Afastcgi_finish_request() was called in the OPcache preloading script.
1002035SN/A</para>
1012035SN/A</change>
1022035SN/A
1032040SN/A<change type="bugfix">
1042040SN/A<para>
1052041SN/Afatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
1062041SN/A</para>
1072041SN/A</change>
1082041SN/A
1092029SN/A</changes>
1102029SN/A
1112029SN/A
1121973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
1132007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1141973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1151973Sdefan@nginx.com
1161973Sdefan@nginx.com<change>
1171973Sdefan@nginx.com<para>
1181973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
1191973Sdefan@nginx.com</para>
1201973Sdefan@nginx.com</change>
1211973Sdefan@nginx.com
1221973Sdefan@nginx.com</changes>
1231973Sdefan@nginx.com
1241973Sdefan@nginx.com
1251973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
1262007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1271973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1281973Sdefan@nginx.com
1291973Sdefan@nginx.com<change>
1301973Sdefan@nginx.com<para>
1311973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
1321973Sdefan@nginx.com</para>
1331973Sdefan@nginx.com</change>
1341973Sdefan@nginx.com
1351973Sdefan@nginx.com</changes>
1361973Sdefan@nginx.com
1371973Sdefan@nginx.com
1381896Svbart@nginx.com<changes apply="unit-php
1391896Svbart@nginx.com                unit-python unit-python2.7
1401896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1411896Svbart@nginx.com                unit-python3.8 unit-python3.9
1421896Svbart@nginx.com                unit-go
1431896Svbart@nginx.com                unit-perl
1441896Svbart@nginx.com                unit-ruby
1451896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1461896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
1471951Svbart@nginx.com         ver="1.26.0" rev="1"
1482007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1491951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1501951Svbart@nginx.com
1511951Svbart@nginx.com<change>
1521951Svbart@nginx.com<para>
1531951Svbart@nginx.comNGINX Unit updated to 1.26.0.
1541951Svbart@nginx.com</para>
1551951Svbart@nginx.com</change>
1561951Svbart@nginx.com
1571951Svbart@nginx.com</changes>
1581951Svbart@nginx.com
1591951Svbart@nginx.com
1601951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
1612007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
1621951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1631951Svbart@nginx.com
1641960Sz.hong@f5.com<change type="change">
1651960Sz.hong@f5.com<para>
1661960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
1671960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
1681960Sz.hong@f5.com</para>
1691960Sz.hong@f5.com</change>
1701960Sz.hong@f5.com
1711960Sz.hong@f5.com<change type="feature">
1721960Sz.hong@f5.com<para>
1732006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
1742006Svbart@nginx.comwhen updating from previous versions.
1752006Svbart@nginx.com</para>
1762006Svbart@nginx.com</change>
1772006Svbart@nginx.com
1782006Svbart@nginx.com<change type="feature">
1792006Svbart@nginx.com<para>
1801960Sz.hong@f5.comvariables support in the "share" option.
1811960Sz.hong@f5.com</para>
1821960Sz.hong@f5.com</change>
1831960Sz.hong@f5.com
1841959Sz.hong@f5.com<change type="feature">
1851959Sz.hong@f5.com<para>
1861961Sz.hong@f5.commultiple paths in the "share" option.
1871961Sz.hong@f5.com</para>
1881961Sz.hong@f5.com</change>
1891961Sz.hong@f5.com
1901961Sz.hong@f5.com<change type="feature">
1911961Sz.hong@f5.com<para>
1921959Sz.hong@f5.comvariables support in the "chroot" option.
1931959Sz.hong@f5.com</para>
1941959Sz.hong@f5.com</change>
1951959Sz.hong@f5.com
1961969Sz.hong@f5.com<change type="feature">
1971969Sz.hong@f5.com<para>
1982006Svbart@nginx.comPHP opcache is shared between application processes.
1991969Sz.hong@f5.com</para>
2001969Sz.hong@f5.com</change>
2011969Sz.hong@f5.com
2021991Sz.hong@f5.com<change type="feature">
2031991Sz.hong@f5.com<para>
2041991Sz.hong@f5.comrequest routing by the query string.
2051991Sz.hong@f5.com</para>
2061991Sz.hong@f5.com</change>
2071991Sz.hong@f5.com
2081955Smax.romanov@nginx.com<change type="bugfix">
2091955Smax.romanov@nginx.com<para>
2102006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
2112006Svbart@nginx.comby asynchronous or multithreaded apps.
2121955Smax.romanov@nginx.com</para>
2131955Smax.romanov@nginx.com</change>
2141955Smax.romanov@nginx.com
2151956Smax.romanov@nginx.com<change type="bugfix">
2161956Smax.romanov@nginx.com<para>
2171956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
2181956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
2191956Smax.romanov@nginx.com</para>
2201956Smax.romanov@nginx.com</change>
2211956Smax.romanov@nginx.com
2221992Smax.romanov@nginx.com<change type="bugfix">
2231992Smax.romanov@nginx.com<para>
2242006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
2251992Smax.romanov@nginx.com</para>
2261992Smax.romanov@nginx.com</change>
2271992Smax.romanov@nginx.com
2281951Svbart@nginx.com</changes>
2291951Svbart@nginx.com
2301951Svbart@nginx.com
2311951Svbart@nginx.com<changes apply="unit-php
2321951Svbart@nginx.com                unit-python unit-python2.7
2331951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2341951Svbart@nginx.com                unit-python3.8 unit-python3.9
2351951Svbart@nginx.com                unit-go
2361951Svbart@nginx.com                unit-perl
2371951Svbart@nginx.com                unit-ruby
2381951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2391951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
2401896Svbart@nginx.com         ver="1.25.0" rev="1"
2411945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2421896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2431896Svbart@nginx.com
2441896Svbart@nginx.com<change>
2451896Svbart@nginx.com<para>
2461896Svbart@nginx.comNGINX Unit updated to 1.25.0.
2471896Svbart@nginx.com</para>
2481896Svbart@nginx.com</change>
2491896Svbart@nginx.com
2501896Svbart@nginx.com</changes>
2511896Svbart@nginx.com
2521896Svbart@nginx.com
2531896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
2541945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
2551896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2561896Svbart@nginx.com
2571910So.canty@f5.com<change type="feature">
2581910So.canty@f5.com<para>
2591944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
2601942Sa.suvorov@f5.com</para>
2611942Sa.suvorov@f5.com</change>
2621942Sa.suvorov@f5.com
2631942Sa.suvorov@f5.com<change type="feature">
2641942Sa.suvorov@f5.com<para>
2651920Sa.suvorov@f5.comTLS sessions cache.
2661920Sa.suvorov@f5.com</para>
2671920Sa.suvorov@f5.com</change>
2681920Sa.suvorov@f5.com
2691920Sa.suvorov@f5.com<change type="feature">
2701920Sa.suvorov@f5.com<para>
2711944Svbart@nginx.comTLS session tickets.
2721910So.canty@f5.com</para>
2731910So.canty@f5.com</change>
2741910So.canty@f5.com
2751926Smax.romanov@nginx.com<change type="feature">
2761926Smax.romanov@nginx.com<para>
2771926Smax.romanov@nginx.comapplication restart control.
2781926Smax.romanov@nginx.com</para>
2791926Smax.romanov@nginx.com</change>
2801926Smax.romanov@nginx.com
2811936So.canty@f5.com<change type="feature">
2821936So.canty@f5.com<para>
2831944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
2841936So.canty@f5.com</para>
2851936So.canty@f5.com</change>
2861936So.canty@f5.com
2871907Smax.romanov@nginx.com<change type="bugfix">
2881907Smax.romanov@nginx.com<para>
2891944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
2901944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
2911921Sa.suvorov@f5.com</para>
2921921Sa.suvorov@f5.com</change>
2931921Sa.suvorov@f5.com
2941921Sa.suvorov@f5.com<change type="bugfix">
2951921Sa.suvorov@f5.com<para>
2961944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
2971944Svbart@nginx.combundles in a listener if the client did not use SNI.
2981907Smax.romanov@nginx.com</para>
2991907Smax.romanov@nginx.com</change>
3001907Smax.romanov@nginx.com
3011907Smax.romanov@nginx.com<change type="bugfix">
3021907Smax.romanov@nginx.com<para>
3031950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
3041915Smax.romanov@nginx.comreconfiguration.
3051915Smax.romanov@nginx.com</para>
3061915Smax.romanov@nginx.com</change>
3071915Smax.romanov@nginx.com
3081915Smax.romanov@nginx.com<change type="bugfix">
3091915Smax.romanov@nginx.com<para>
3101944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
3111944Svbart@nginx.comframework.
3121944Svbart@nginx.com</para>
3131944Svbart@nginx.com</change>
3141944Svbart@nginx.com
3151944Svbart@nginx.com<change type="bugfix">
3161944Svbart@nginx.com<para>
3171944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
3181944Svbart@nginx.comstopped or crashed.
3191907Smax.romanov@nginx.com</para>
3201907Smax.romanov@nginx.com</change>
3211907Smax.romanov@nginx.com
3221909So.canty@f5.com<change type="bugfix">
3231909So.canty@f5.com<para>
3241909So.canty@f5.comthe controller or router process could crash if the configuration contained
3251909So.canty@f5.coma full-form IPv6 in a listener address.
3261909So.canty@f5.com</para>
3271909So.canty@f5.com</change>
3281909So.canty@f5.com
3291916Smax.romanov@nginx.com<change type="bugfix">
3301916Smax.romanov@nginx.com<para>
3311929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
3321929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
3331929Sz.hong@f5.com</para>
3341929Sz.hong@f5.com</change>
3351929Sz.hong@f5.com
3361930So.canty@f5.com<change type="bugfix">
3371930So.canty@f5.com<para>
3381944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
3391944Svbart@nginx.comor destination address patterns.
3401930So.canty@f5.com</para>
3411930So.canty@f5.com</change>
3421930So.canty@f5.com
3431896Svbart@nginx.com</changes>
3441896Svbart@nginx.com
3451896Svbart@nginx.com
3461887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
3471891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3481887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3491887Sdefan@nginx.com
3501887Sdefan@nginx.com<change>
3511887Sdefan@nginx.com<para>
3521887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
3531887Sdefan@nginx.com</para>
3541887Sdefan@nginx.com</change>
3551887Sdefan@nginx.com
3561887Sdefan@nginx.com</changes>
3571887Sdefan@nginx.com
3581887Sdefan@nginx.com
3591887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
3601891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3611887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3621887Sdefan@nginx.com
3631887Sdefan@nginx.com<change>
3641887Sdefan@nginx.com<para>
3651887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
3661887Sdefan@nginx.com</para>
3671887Sdefan@nginx.com</change>
3681887Sdefan@nginx.com
3691887Sdefan@nginx.com</changes>
3701887Sdefan@nginx.com
3711887Sdefan@nginx.com
3721834Svbart@nginx.com<changes apply="unit-php
3731834Svbart@nginx.com                unit-python unit-python2.7
3741834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3751834Svbart@nginx.com                unit-python3.8 unit-python3.9
3761834Svbart@nginx.com                unit-go
3771834Svbart@nginx.com                unit-perl
3781834Svbart@nginx.com                unit-ruby
3791834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3801834Svbart@nginx.com                unit-jsc14 unit-jsc15"
3811839Svbart@nginx.com         ver="1.24.0" rev="1"
3821891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3831839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3841839Svbart@nginx.com
3851839Svbart@nginx.com<change>
3861839Svbart@nginx.com<para>
3871839Svbart@nginx.comNGINX Unit updated to 1.24.0.
3881839Svbart@nginx.com</para>
3891839Svbart@nginx.com</change>
3901839Svbart@nginx.com
3911839Svbart@nginx.com</changes>
3921839Svbart@nginx.com
3931839Svbart@nginx.com
3941839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
3951891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
3961839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3971839Svbart@nginx.com
3981882So.canty@f5.com<change type="change">
3991882So.canty@f5.com<para>
4001882So.canty@f5.comPHP added to the default MIME type list.
4011882So.canty@f5.com</para>
4021882So.canty@f5.com</change>
4031882So.canty@f5.com
4041855Sz.hong@f5.com<change type="feature">
4051855Sz.hong@f5.com<para>
4061885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
4071885Sa.suvorov@f5.com</para>
4081885Sa.suvorov@f5.com</change>
4091885Sa.suvorov@f5.com
4101885Sa.suvorov@f5.com<change type="feature">
4111885Sa.suvorov@f5.com<para>
4121890Svbart@nginx.comthe ability to limit static file serving by MIME types.
4131890Svbart@nginx.com</para>
4141890Svbart@nginx.com</change>
4151890Svbart@nginx.com
4161890Svbart@nginx.com<change type="feature">
4171890Svbart@nginx.com<para>
4181890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
4191890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
4201872So.canty@f5.com</para>
4211872So.canty@f5.com</change>
4221872So.canty@f5.com
4231872So.canty@f5.com<change type="feature">
4241872So.canty@f5.com<para>
4251889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
4261889Sartem.konev@nginx.comNode.js.
4271865So.canty@f5.com</para>
4281865So.canty@f5.com</change>
4291865So.canty@f5.com
4301865So.canty@f5.com<change type="feature">
4311865So.canty@f5.com<para>
4321890Svbart@nginx.commultiple "targets" in Python applications.
4331855Sz.hong@f5.com</para>
4341855Sz.hong@f5.com</change>
4351855Sz.hong@f5.com
4361870So.canty@f5.com<change type="feature">
4371870So.canty@f5.com<para>
4381870So.canty@f5.comcompatibility with Ruby 3.0.
4391870So.canty@f5.com</para>
4401870So.canty@f5.com</change>
4411870So.canty@f5.com
4421861Svbart@nginx.com<change type="bugfix">
4431861Svbart@nginx.com<para>
4441889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
4451884Sa.suvorov@f5.com</para>
4461884Sa.suvorov@f5.com</change>
4471884Sa.suvorov@f5.com
4481884Sa.suvorov@f5.com<change type="bugfix">
4491884Sa.suvorov@f5.com<para>
4501861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
4511861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
4521861Svbart@nginx.com</para>
4531861Svbart@nginx.com</change>
4541861Svbart@nginx.com
4551839Svbart@nginx.com</changes>
4561839Svbart@nginx.com
4571839Svbart@nginx.com
4581839Svbart@nginx.com<changes apply="unit-php
4591839Svbart@nginx.com                unit-python unit-python2.7
4601839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4611839Svbart@nginx.com                unit-python3.8 unit-python3.9
4621839Svbart@nginx.com                unit-go
4631839Svbart@nginx.com                unit-perl
4641839Svbart@nginx.com                unit-ruby
4651839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4661839Svbart@nginx.com                unit-jsc14 unit-jsc15"
4671834Svbart@nginx.com         ver="1.23.0" rev="1"
4681834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4691834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4701834Svbart@nginx.com
4711834Svbart@nginx.com<change>
4721834Svbart@nginx.com<para>
4731834Svbart@nginx.comNGINX Unit updated to 1.23.0.
4741834Svbart@nginx.com</para>
4751834Svbart@nginx.com</change>
4761834Svbart@nginx.com
4771834Svbart@nginx.com</changes>
4781834Svbart@nginx.com
4791834Svbart@nginx.com
4801806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
4811834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
4821806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4831806Svbart@nginx.com
4841825Sthresh@nginx.com<change type="feature">
4851825Sthresh@nginx.com<para>
4861833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
4871828Sa.suvorov@f5.comIndication (SNI) TLS extension.
4881828Sa.suvorov@f5.com</para>
4891828Sa.suvorov@f5.com</change>
4901828Sa.suvorov@f5.com
4911828Sa.suvorov@f5.com<change type="feature">
4921828Sa.suvorov@f5.com<para>
4931833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
4941833Sartem.konev@nginx.cominstallation.
4951825Sthresh@nginx.com</para>
4961825Sthresh@nginx.com</change>
4971825Sthresh@nginx.com
4981811Smax.romanov@nginx.com<change type="bugfix">
4991811Smax.romanov@nginx.com<para>
5001812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
5011812Svbart@nginx.comappeared in 1.17.0.
5021812Svbart@nginx.com</para>
5031812Svbart@nginx.com</change>
5041812Svbart@nginx.com
5051812Svbart@nginx.com<change type="bugfix">
5061812Svbart@nginx.com<para>
5071833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
5081812Svbart@nginx.comappeared in 1.6.
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 descriptor and memory leak occurred in the router process when processing
5151832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
5161832Smax.romanov@nginx.com</para>
5171832Smax.romanov@nginx.com</change>
5181832Smax.romanov@nginx.com
5191832Smax.romanov@nginx.com<change type="bugfix">
5201832Smax.romanov@nginx.com<para>
5211833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
5221811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
5231811Smax.romanov@nginx.com</para>
5241811Smax.romanov@nginx.com</change>
5251806Svbart@nginx.com
5261813Svbart@nginx.com<change type="bugfix">
5271813Svbart@nginx.com<para>
5281813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
5291813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
5301813Svbart@nginx.com</para>
5311813Svbart@nginx.com</change>
5321813Svbart@nginx.com
5331814Svbart@nginx.com<change type="bugfix">
5341814Svbart@nginx.com<para>
5351820Svbart@nginx.comthe controller process could crash while requesting information about a
5361820Svbart@nginx.comcertificate with a non-DNS SAN entry.
5371820Svbart@nginx.com</para>
5381820Svbart@nginx.com</change>
5391820Svbart@nginx.com
5401820Svbart@nginx.com<change type="bugfix">
5411820Svbart@nginx.com<para>
5421822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
5431833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
5441822Svbart@nginx.com</para>
5451822Svbart@nginx.com</change>
5461822Svbart@nginx.com
5471822Svbart@nginx.com<change type="bugfix">
5481822Svbart@nginx.com<para>
5491833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
5501833Sartem.konev@nginx.comclass.
5511814Svbart@nginx.com</para>
5521814Svbart@nginx.com</change>
5531814Svbart@nginx.com
5541815Svbart@nginx.com<change type="bugfix">
5551815Svbart@nginx.com<para>
5561815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
5571815Svbart@nginx.comappeared in 1.22.0.
5581815Svbart@nginx.com</para>
5591815Svbart@nginx.com</change>
5601815Svbart@nginx.com
5611806Svbart@nginx.com</changes>
5621806Svbart@nginx.com
5631806Svbart@nginx.com
5641798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
5651798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5661798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5671798Sdefan@nginx.com
5681798Sdefan@nginx.com<change>
5691798Sdefan@nginx.com<para>
5701798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
5711798Sdefan@nginx.com</para>
5721798Sdefan@nginx.com</change>
5731798Sdefan@nginx.com
5741798Sdefan@nginx.com</changes>
5751798Sdefan@nginx.com
5761798Sdefan@nginx.com
5771763Sdefan@nginx.com<changes apply="unit-php
5781763Sdefan@nginx.com                unit-python unit-python2.7
5791763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5801763Sdefan@nginx.com                unit-python3.8
5811763Sdefan@nginx.com                unit-go
5821763Sdefan@nginx.com                unit-perl
5831763Sdefan@nginx.com                unit-ruby
5841763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
5851763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
5861763Sdefan@nginx.com         ver="1.22.0" rev="1"
5871793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
5881763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5891763Sdefan@nginx.com
5901763Sdefan@nginx.com<change>
5911763Sdefan@nginx.com<para>
5921763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
5931763Sdefan@nginx.com</para>
5941763Sdefan@nginx.com</change>
5951763Sdefan@nginx.com
5961763Sdefan@nginx.com</changes>
5971763Sdefan@nginx.com
5981763Sdefan@nginx.com
5991727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
6001793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
6011727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6021727Svbart@nginx.com
6031759Svbart@nginx.com<change type="feature">
6041759Svbart@nginx.com<para>
6051792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
6061792Svbart@nginx.comcompliant with Stream API.
6071759Svbart@nginx.com</para>
6081759Svbart@nginx.com</change>
6091759Svbart@nginx.com
6101766Smax.romanov@nginx.com<change type="feature">
6111766Smax.romanov@nginx.com<para>
6121792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
6131792Svbart@nginx.comapps.
6141732Svbart@nginx.com</para>
6151732Svbart@nginx.com</change>
6161732Svbart@nginx.com
6171733Svbart@nginx.com<change type="bugfix">
6181733Svbart@nginx.com<para>
6191792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
6201792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
6211754Smax.romanov@nginx.com</para>
6221754Smax.romanov@nginx.com</change>
6231754Smax.romanov@nginx.com
6241755Smax.romanov@nginx.com<change type="bugfix">
6251755Smax.romanov@nginx.com<para>
6261790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
6271755Smax.romanov@nginx.comappeared in 1.19.0.
6281755Smax.romanov@nginx.com</para>
6291755Smax.romanov@nginx.com</change>
6301755Smax.romanov@nginx.com
6311756Smax.romanov@nginx.com<change type="bugfix">
6321756Smax.romanov@nginx.com<para>
6331790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
6341790Sartem.konev@nginx.comappeared in 1.19.0.
6351756Smax.romanov@nginx.com</para>
6361756Smax.romanov@nginx.com</change>
6371756Smax.romanov@nginx.com
6381760Smax.romanov@nginx.com<change type="bugfix">
6391760Smax.romanov@nginx.com<para>
6401792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
6411792Svbart@nginx.com</para>
6421792Svbart@nginx.com</change>
6431792Svbart@nginx.com
6441792Svbart@nginx.com<change type="bugfix">
6451792Svbart@nginx.com<para>
6461792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
6471792Svbart@nginx.commissing in the PHP module.
6481792Svbart@nginx.com</para>
6491792Svbart@nginx.com</change>
6501792Svbart@nginx.com
6511792Svbart@nginx.com<change type="bugfix">
6521792Svbart@nginx.com<para>
6531792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
6541792Svbart@nginx.com</para>
6551792Svbart@nginx.com</change>
6561792Svbart@nginx.com
6571792Svbart@nginx.com<change type="bugfix">
6581792Svbart@nginx.com<para>
6591792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
6601792Svbart@nginx.com</para>
6611792Svbart@nginx.com</change>
6621792Svbart@nginx.com
6631792Svbart@nginx.com<change type="bugfix">
6641792Svbart@nginx.com<para>
6651792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
6661792Svbart@nginx.comthe bug had appeared in 1.21.0.
6671760Smax.romanov@nginx.com</para>
6681760Smax.romanov@nginx.com</change>
6691760Smax.romanov@nginx.com
6701780Smax.romanov@nginx.com<change type="bugfix">
6711780Smax.romanov@nginx.com<para>
6721790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
6731790Sartem.konev@nginx.comWebSocket.
6741780Smax.romanov@nginx.com</para>
6751780Smax.romanov@nginx.com</change>
6761780Smax.romanov@nginx.com
6771789Smax.romanov@nginx.com<change type="bugfix">
6781789Smax.romanov@nginx.com<para>
6791789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
6801789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
6811789Smax.romanov@nginx.com</para>
6821789Smax.romanov@nginx.com</change>
6831789Smax.romanov@nginx.com
6841727Svbart@nginx.com</changes>
6851727Svbart@nginx.com
6861727Svbart@nginx.com
6871722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
6881722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6891722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6901722Svbart@nginx.com
6911722Svbart@nginx.com<change>
6921722Svbart@nginx.com<para>
6931722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
6941722Svbart@nginx.com</para>
6951722Svbart@nginx.com</change>
6961722Svbart@nginx.com
6971722Svbart@nginx.com</changes>
6981722Svbart@nginx.com
6991722Svbart@nginx.com
7001722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
7011722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7021722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7031722Svbart@nginx.com
7041722Svbart@nginx.com<change>
7051722Svbart@nginx.com<para>
7061722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
7071722Svbart@nginx.com</para>
7081722Svbart@nginx.com</change>
7091722Svbart@nginx.com
7101722Svbart@nginx.com</changes>
7111722Svbart@nginx.com
7121722Svbart@nginx.com
7131722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
7141722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7151722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7161722Svbart@nginx.com
7171722Svbart@nginx.com<change>
7181722Svbart@nginx.com<para>
7191722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
7201722Svbart@nginx.com</para>
7211722Svbart@nginx.com</change>
7221722Svbart@nginx.com
7231722Svbart@nginx.com</changes>
7241722Svbart@nginx.com
7251722Svbart@nginx.com
7261722Svbart@nginx.com<changes apply="unit-php
7271722Svbart@nginx.com                unit-python unit-python2.7
7281722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7291722Svbart@nginx.com                unit-python3.8
7301722Svbart@nginx.com                unit-go
7311722Svbart@nginx.com                unit-perl
7321722Svbart@nginx.com                unit-ruby
7331722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7341722Svbart@nginx.com         ver="1.21.0" rev="1"
7351722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7361722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7371722Svbart@nginx.com
7381722Svbart@nginx.com<change>
7391722Svbart@nginx.com<para>
7401722Svbart@nginx.comNGINX Unit updated to 1.21.0.
7411722Svbart@nginx.com</para>
7421722Svbart@nginx.com</change>
7431722Svbart@nginx.com
7441722Svbart@nginx.com</changes>
7451722Svbart@nginx.com
7461722Svbart@nginx.com
7471722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
7481722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
7491722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7501722Svbart@nginx.com
7511722Svbart@nginx.com<change type="change">
7521722Svbart@nginx.com<para>
7531722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
7541722Svbart@nginx.com</para>
7551722Svbart@nginx.com</change>
7561722Svbart@nginx.com
7571722Svbart@nginx.com<change type="change">
7581722Svbart@nginx.com<para>
7591722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
7601722Svbart@nginx.comnames.
7611722Svbart@nginx.com</para>
7621722Svbart@nginx.com</change>
7631722Svbart@nginx.com
7641722Svbart@nginx.com<change type="change">
7651722Svbart@nginx.com<para>
7661722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
7671722Svbart@nginx.comdefault.
7681722Svbart@nginx.com</para>
7691722Svbart@nginx.com</change>
7701722Svbart@nginx.com
7711722Svbart@nginx.com<change type="feature">
7721722Svbart@nginx.com<para>
7731722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
7741722Svbart@nginx.com</para>
7751722Svbart@nginx.com</change>
7761722Svbart@nginx.com
7771722Svbart@nginx.com<change type="feature">
7781722Svbart@nginx.com<para>
7791722Svbart@nginx.comregular expressions in route matching patterns.
7801722Svbart@nginx.com</para>
7811722Svbart@nginx.com</change>
7821722Svbart@nginx.com
7831722Svbart@nginx.com<change type="feature">
7841722Svbart@nginx.com<para>
7851722Svbart@nginx.comcompatibility with Python 3.9.
7861722Svbart@nginx.com</para>
7871722Svbart@nginx.com</change>
7881722Svbart@nginx.com
7891722Svbart@nginx.com<change type="feature">
7901722Svbart@nginx.com<para>
7911722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
7921722Svbart@nginx.com</para>
7931722Svbart@nginx.com</change>
7941722Svbart@nginx.com
7951722Svbart@nginx.com<change type="feature">
7961722Svbart@nginx.com<para>
7971722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
7981722Svbart@nginx.com</para>
7991722Svbart@nginx.com</change>
8001722Svbart@nginx.com
8011722Svbart@nginx.com<change type="feature">
8021722Svbart@nginx.com<para>
8031722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
8041722Svbart@nginx.comcontinues code execution without holding onto the client connection.
8051722Svbart@nginx.com</para>
8061722Svbart@nginx.com</change>
8071722Svbart@nginx.com
8081722Svbart@nginx.com<change type="feature">
8091722Svbart@nginx.com<para>
8101722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
8111722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
8121722Svbart@nginx.com</para>
8131722Svbart@nginx.com</change>
8141722Svbart@nginx.com
8151722Svbart@nginx.com<change type="feature">
8161722Svbart@nginx.com<para>
8171722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
8181722Svbart@nginx.commounting of eponymous filesystems.
8191722Svbart@nginx.com</para>
8201722Svbart@nginx.com</change>
8211722Svbart@nginx.com
8221722Svbart@nginx.com<change type="bugfix">
8231722Svbart@nginx.com<para>
8241722Svbart@nginx.comthe router process could crash when running Go applications under high load;
8251722Svbart@nginx.comthe bug had appeared in 1.19.0.
8261722Svbart@nginx.com</para>
8271722Svbart@nginx.com</change>
8281722Svbart@nginx.com
8291722Svbart@nginx.com<change type="bugfix">
8301722Svbart@nginx.com<para>
8311722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
8321722Svbart@nginx.com</para>
8331722Svbart@nginx.com</change>
8341722Svbart@nginx.com
8351722Svbart@nginx.com<change type="bugfix">
8361722Svbart@nginx.com<para>
8371722Svbart@nginx.comvarious compatibility issues in Java applications.
8381722Svbart@nginx.com</para>
8391722Svbart@nginx.com</change>
8401722Svbart@nginx.com
8411722Svbart@nginx.com<change type="bugfix">
8421722Svbart@nginx.com<para>
8431722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
8441722Svbart@nginx.comuse "rootfs" isolation.
8451722Svbart@nginx.com</para>
8461722Svbart@nginx.com</change>
8471722Svbart@nginx.com
8481722Svbart@nginx.com</changes>
8491722Svbart@nginx.com
8501722Svbart@nginx.com
8511330Svbart@nginx.com<changes apply="unit-php
8521330Svbart@nginx.com                unit-python unit-python2.7
8531330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8541330Svbart@nginx.com                unit-python3.8
8551330Svbart@nginx.com                unit-go
8561330Svbart@nginx.com                unit-perl
8571330Svbart@nginx.com                unit-ruby
8581330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8591640Svbart@nginx.com         ver="1.20.0" rev="1"
8601640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8611640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8621640Svbart@nginx.com
8631640Svbart@nginx.com<change>
8641640Svbart@nginx.com<para>
8651640Svbart@nginx.comNGINX Unit updated to 1.20.0.
8661640Svbart@nginx.com</para>
8671640Svbart@nginx.com</change>
8681640Svbart@nginx.com
8691640Svbart@nginx.com</changes>
8701640Svbart@nginx.com
8711640Svbart@nginx.com
8721640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
8731640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
8741640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8751640Svbart@nginx.com
8761640Svbart@nginx.com<change type="change">
8771640Svbart@nginx.com<para>
8781640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
8791640Svbart@nginx.comextensions from the host system.
8801640Svbart@nginx.com</para>
8811640Svbart@nginx.com</change>
8821640Svbart@nginx.com
8831640Svbart@nginx.com<change type="change">
8841640Svbart@nginx.com<para>
8851640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
8861640Svbart@nginx.com</para>
8871640Svbart@nginx.com</change>
8881640Svbart@nginx.com
8891643Svbart@nginx.com<change type="change">
8901643Svbart@nginx.com<para>
8911643Svbart@nginx.comfunctional tests migrated to the pytest framework.
8921643Svbart@nginx.com</para>
8931643Svbart@nginx.com</change>
8941643Svbart@nginx.com
8951640Svbart@nginx.com<change type="feature">
8961640Svbart@nginx.com<para>
8971640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
8981640Svbart@nginx.cominterface.
8991640Svbart@nginx.com</para>
9001640Svbart@nginx.com</change>
9011640Svbart@nginx.com
9021640Svbart@nginx.com<change type="feature">
9031640Svbart@nginx.com<para>
9041640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
9051640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
9061640Svbart@nginx.comspecification.
9071640Svbart@nginx.com</para>
9081640Svbart@nginx.com</change>
9091640Svbart@nginx.com
9101640Svbart@nginx.com<change type="feature">
9111640Svbart@nginx.com<para>
9121640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
9131640Svbart@nginx.comenvironments.
9141640Svbart@nginx.com</para>
9151640Svbart@nginx.com</change>
9161640Svbart@nginx.com
9171640Svbart@nginx.com<change type="feature">
9181640Svbart@nginx.com<para>
9191640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
9201640Svbart@nginx.com</para>
9211640Svbart@nginx.com</change>
9221640Svbart@nginx.com
9231640Svbart@nginx.com<change type="feature">
9241640Svbart@nginx.com<para>
9251640Svbart@nginx.comthe "callable" option sets Python application callable names.
9261640Svbart@nginx.com</para>
9271640Svbart@nginx.com</change>
9281640Svbart@nginx.com
9291640Svbart@nginx.com<change type="feature">
9301640Svbart@nginx.com<para>
9311640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
9321640Svbart@nginx.com</para>
9331640Svbart@nginx.com</change>
9341640Svbart@nginx.com
9351640Svbart@nginx.com<change type="feature">
9361640Svbart@nginx.com<para>
9371640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
9381640Svbart@nginx.comautomatic mounting of language module dependencies.
9391640Svbart@nginx.com</para>
9401640Svbart@nginx.com</change>
9411640Svbart@nginx.com
9421640Svbart@nginx.com<change type="bugfix">
9431640Svbart@nginx.com<para>
9441640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
9451640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
9461640Svbart@nginx.com</para>
9471640Svbart@nginx.com</change>
9481640Svbart@nginx.com
9491640Svbart@nginx.com<change type="bugfix">
9501640Svbart@nginx.com<para>
9511640Svbart@nginx.comthe router process could crash during reconfiguration.
9521640Svbart@nginx.com</para>
9531640Svbart@nginx.com</change>
9541640Svbart@nginx.com
9551640Svbart@nginx.com<change type="bugfix">
9561640Svbart@nginx.com<para>
9571640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
9581640Svbart@nginx.com</para>
9591640Svbart@nginx.com</change>
9601640Svbart@nginx.com
9611640Svbart@nginx.com<change type="bugfix">
9621640Svbart@nginx.com<para>
9631640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
9641640Svbart@nginx.comthe bug had appeared in 1.19.0.
9651640Svbart@nginx.com</para>
9661640Svbart@nginx.com</change>
9671640Svbart@nginx.com
9681640Svbart@nginx.com<change type="bugfix">
9691640Svbart@nginx.com<para>
9701640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
9711640Svbart@nginx.comthe bug had appeared in 1.16.0.
9721640Svbart@nginx.com</para>
9731640Svbart@nginx.com</change>
9741640Svbart@nginx.com
9751640Svbart@nginx.com</changes>
9761640Svbart@nginx.com
9771640Svbart@nginx.com
9781640Svbart@nginx.com<changes apply="unit-php
9791640Svbart@nginx.com                unit-python unit-python2.7
9801640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9811640Svbart@nginx.com                unit-python3.8
9821640Svbart@nginx.com                unit-go
9831640Svbart@nginx.com                unit-perl
9841640Svbart@nginx.com                unit-ruby
9851640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9861570Svbart@nginx.com         ver="1.19.0" rev="1"
9871570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
9881570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9891570Svbart@nginx.com
9901570Svbart@nginx.com<change>
9911570Svbart@nginx.com<para>
9921570Svbart@nginx.comNGINX Unit updated to 1.19.0.
9931570Svbart@nginx.com</para>
9941570Svbart@nginx.com</change>
9951570Svbart@nginx.com
9961570Svbart@nginx.com</changes>
9971570Svbart@nginx.com
9981570Svbart@nginx.com
9991570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
10001570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
10011570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10021570Svbart@nginx.com
10031570Svbart@nginx.com<change type="feature">
10041570Svbart@nginx.com<para>
10051570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
10061570Svbart@nginx.comincrease performance, and improve scalability.
10071570Svbart@nginx.com</para>
10081570Svbart@nginx.com</change>
10091570Svbart@nginx.com
10101570Svbart@nginx.com<change type="feature">
10111570Svbart@nginx.com<para>
10121570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
10131570Svbart@nginx.com</para>
10141570Svbart@nginx.com</change>
10151570Svbart@nginx.com
10161570Svbart@nginx.com<change type="feature">
10171570Svbart@nginx.com<para>
10181570Svbart@nginx.comchunked transfer encoding in proxy responses.
10191570Svbart@nginx.com</para>
10201570Svbart@nginx.com</change>
10211570Svbart@nginx.com
10221570Svbart@nginx.com<change type="feature">
10231570Svbart@nginx.com<para>
10241570Svbart@nginx.combasic variables support in the "pass" option.
10251570Svbart@nginx.com</para>
10261570Svbart@nginx.com</change>
10271570Svbart@nginx.com
10281570Svbart@nginx.com<change type="feature">
10291570Svbart@nginx.com<para>
10301570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
10311570Svbart@nginx.comThanks to Remi Collet.
10321570Svbart@nginx.com</para>
10331570Svbart@nginx.com</change>
10341570Svbart@nginx.com
10351570Svbart@nginx.com<change type="bugfix">
10361570Svbart@nginx.com<para>
10371570Svbart@nginx.comthe router process could crash while passing requests to an application under
10381570Svbart@nginx.comhigh load.
10391570Svbart@nginx.com</para>
10401570Svbart@nginx.com</change>
10411570Svbart@nginx.com
10421570Svbart@nginx.com<change type="bugfix">
10431570Svbart@nginx.com<para>
10441570Svbart@nginx.coma number of language modules failed to build on some systems;
10451570Svbart@nginx.comthe bug had appeared in 1.18.0.
10461570Svbart@nginx.com</para>
10471570Svbart@nginx.com</change>
10481570Svbart@nginx.com
10491570Svbart@nginx.com<change type="bugfix">
10501570Svbart@nginx.com<para>
10511570Svbart@nginx.comtime in error log messages from PHP applications could lag.
10521570Svbart@nginx.com</para>
10531570Svbart@nginx.com</change>
10541570Svbart@nginx.com
10551570Svbart@nginx.com<change type="bugfix">
10561570Svbart@nginx.com<para>
10571570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
10581570Svbart@nginx.comthe bug had appeared in 1.18.0.
10591570Svbart@nginx.com</para>
10601570Svbart@nginx.com</change>
10611570Svbart@nginx.com
10621570Svbart@nginx.com<change type="bugfix">
10631570Svbart@nginx.com<para>
10641570Svbart@nginx.commemory leak during reconfiguration.
10651570Svbart@nginx.com</para>
10661570Svbart@nginx.com</change>
10671570Svbart@nginx.com
10681570Svbart@nginx.com<change type="bugfix">
10691570Svbart@nginx.com<para>
10701570Svbart@nginx.comthe daemon didn't start without language modules;
10711570Svbart@nginx.comthe bug had appeared in 1.18.0.
10721570Svbart@nginx.com</para>
10731570Svbart@nginx.com</change>
10741570Svbart@nginx.com
10751570Svbart@nginx.com<change type="bugfix">
10761570Svbart@nginx.com<para>
10771570Svbart@nginx.comthe router process could crash at exit.
10781570Svbart@nginx.com</para>
10791570Svbart@nginx.com</change>
10801570Svbart@nginx.com
10811570Svbart@nginx.com<change type="bugfix">
10821570Svbart@nginx.com<para>
10831570Svbart@nginx.comNode.js applications could crash at exit.
10841570Svbart@nginx.com</para>
10851570Svbart@nginx.com</change>
10861570Svbart@nginx.com
10871570Svbart@nginx.com<change type="bugfix">
10881570Svbart@nginx.com<para>
10891570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
10901570Svbart@nginx.com</para>
10911570Svbart@nginx.com</change>
10921570Svbart@nginx.com
10931570Svbart@nginx.com</changes>
10941570Svbart@nginx.com
10951570Svbart@nginx.com
10961570Svbart@nginx.com<changes apply="unit-php
10971570Svbart@nginx.com                unit-python unit-python2.7
10981570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10991570Svbart@nginx.com                unit-python3.8
11001570Svbart@nginx.com                unit-go
11011570Svbart@nginx.com                unit-perl
11021570Svbart@nginx.com                unit-ruby
11031570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11041491Svbart@nginx.com         ver="1.18.0" rev="1"
11051491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
11061491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11071491Svbart@nginx.com
11081491Svbart@nginx.com<change>
11091491Svbart@nginx.com<para>
11101491Svbart@nginx.comNGINX Unit updated to 1.18.0.
11111491Svbart@nginx.com</para>
11121491Svbart@nginx.com</change>
11131491Svbart@nginx.com
11141491Svbart@nginx.com</changes>
11151491Svbart@nginx.com
11161491Svbart@nginx.com
11171491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
11181491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
11191491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11201491Svbart@nginx.com
11211491Svbart@nginx.com<change type="feature">
11221491Svbart@nginx.com<para>
11231491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
11241491Svbart@nginx.com</para>
11251491Svbart@nginx.com</change>
11261491Svbart@nginx.com
11271491Svbart@nginx.com<change type="feature">
11281491Svbart@nginx.com<para>
11291491Svbart@nginx.commultiple "targets" in PHP applications.
11301491Svbart@nginx.com</para>
11311491Svbart@nginx.com</change>
11321491Svbart@nginx.com
11331491Svbart@nginx.com<change type="feature">
11341491Svbart@nginx.com<para>
11351491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
11361491Svbart@nginx.comand in the "pass" option.
11371491Svbart@nginx.com</para>
11381491Svbart@nginx.com</change>
11391491Svbart@nginx.com
11401491Svbart@nginx.com</changes>
11411491Svbart@nginx.com
11421491Svbart@nginx.com
11431491Svbart@nginx.com<changes apply="unit-php
11441491Svbart@nginx.com                unit-python unit-python2.7
11451491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11461491Svbart@nginx.com                unit-python3.8
11471491Svbart@nginx.com                unit-go
11481491Svbart@nginx.com                unit-perl
11491491Svbart@nginx.com                unit-ruby
11501491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11511460Svbart@nginx.com         ver="1.17.0" rev="1"
11521460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
11531460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11541460Svbart@nginx.com
11551460Svbart@nginx.com<change>
11561460Svbart@nginx.com<para>
11571460Svbart@nginx.comNGINX Unit updated to 1.17.0.
11581460Svbart@nginx.com</para>
11591460Svbart@nginx.com</change>
11601460Svbart@nginx.com
11611460Svbart@nginx.com</changes>
11621460Svbart@nginx.com
1163