xref: /unit/docs/changes.xml (revision 1896)
1369Sdefan@nginx.com<?xml version="1.0" ?>
2369Sdefan@nginx.com<!DOCTYPE change_log SYSTEM "changes.dtd" >
3369Sdefan@nginx.com
4369Sdefan@nginx.com
5369Sdefan@nginx.com<change_log title="unit">
6369Sdefan@nginx.com
7369Sdefan@nginx.com
8*1896Svbart@nginx.com<changes apply="unit-php
9*1896Svbart@nginx.com                unit-python unit-python2.7
10*1896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11*1896Svbart@nginx.com                unit-python3.8 unit-python3.9
12*1896Svbart@nginx.com                unit-go
13*1896Svbart@nginx.com                unit-perl
14*1896Svbart@nginx.com                unit-ruby
15*1896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
16*1896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
17*1896Svbart@nginx.com         ver="1.25.0" rev="1"
18*1896Svbart@nginx.com         date="" time=""
19*1896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
20*1896Svbart@nginx.com
21*1896Svbart@nginx.com<change>
22*1896Svbart@nginx.com<para>
23*1896Svbart@nginx.comNGINX Unit updated to 1.25.0.
24*1896Svbart@nginx.com</para>
25*1896Svbart@nginx.com</change>
26*1896Svbart@nginx.com
27*1896Svbart@nginx.com</changes>
28*1896Svbart@nginx.com
29*1896Svbart@nginx.com
30*1896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
31*1896Svbart@nginx.com         date="" time=""
32*1896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
33*1896Svbart@nginx.com
34*1896Svbart@nginx.com</changes>
35*1896Svbart@nginx.com
36*1896Svbart@nginx.com
371887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
381891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
391887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
401887Sdefan@nginx.com
411887Sdefan@nginx.com<change>
421887Sdefan@nginx.com<para>
431887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
441887Sdefan@nginx.com</para>
451887Sdefan@nginx.com</change>
461887Sdefan@nginx.com
471887Sdefan@nginx.com</changes>
481887Sdefan@nginx.com
491887Sdefan@nginx.com
501887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
511891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
521887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
531887Sdefan@nginx.com
541887Sdefan@nginx.com<change>
551887Sdefan@nginx.com<para>
561887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
571887Sdefan@nginx.com</para>
581887Sdefan@nginx.com</change>
591887Sdefan@nginx.com
601887Sdefan@nginx.com</changes>
611887Sdefan@nginx.com
621887Sdefan@nginx.com
631834Svbart@nginx.com<changes apply="unit-php
641834Svbart@nginx.com                unit-python unit-python2.7
651834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
661834Svbart@nginx.com                unit-python3.8 unit-python3.9
671834Svbart@nginx.com                unit-go
681834Svbart@nginx.com                unit-perl
691834Svbart@nginx.com                unit-ruby
701834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
711834Svbart@nginx.com                unit-jsc14 unit-jsc15"
721839Svbart@nginx.com         ver="1.24.0" rev="1"
731891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
741839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
751839Svbart@nginx.com
761839Svbart@nginx.com<change>
771839Svbart@nginx.com<para>
781839Svbart@nginx.comNGINX Unit updated to 1.24.0.
791839Svbart@nginx.com</para>
801839Svbart@nginx.com</change>
811839Svbart@nginx.com
821839Svbart@nginx.com</changes>
831839Svbart@nginx.com
841839Svbart@nginx.com
851839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
861891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
871839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
881839Svbart@nginx.com
891882So.canty@f5.com<change type="change">
901882So.canty@f5.com<para>
911882So.canty@f5.comPHP added to the default MIME type list.
921882So.canty@f5.com</para>
931882So.canty@f5.com</change>
941882So.canty@f5.com
951855Sz.hong@f5.com<change type="feature">
961855Sz.hong@f5.com<para>
971885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
981885Sa.suvorov@f5.com</para>
991885Sa.suvorov@f5.com</change>
1001885Sa.suvorov@f5.com
1011885Sa.suvorov@f5.com<change type="feature">
1021885Sa.suvorov@f5.com<para>
1031890Svbart@nginx.comthe ability to limit static file serving by MIME types.
1041890Svbart@nginx.com</para>
1051890Svbart@nginx.com</change>
1061890Svbart@nginx.com
1071890Svbart@nginx.com<change type="feature">
1081890Svbart@nginx.com<para>
1091890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
1101890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
1111872So.canty@f5.com</para>
1121872So.canty@f5.com</change>
1131872So.canty@f5.com
1141872So.canty@f5.com<change type="feature">
1151872So.canty@f5.com<para>
1161889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
1171889Sartem.konev@nginx.comNode.js.
1181865So.canty@f5.com</para>
1191865So.canty@f5.com</change>
1201865So.canty@f5.com
1211865So.canty@f5.com<change type="feature">
1221865So.canty@f5.com<para>
1231890Svbart@nginx.commultiple "targets" in Python applications.
1241855Sz.hong@f5.com</para>
1251855Sz.hong@f5.com</change>
1261855Sz.hong@f5.com
1271870So.canty@f5.com<change type="feature">
1281870So.canty@f5.com<para>
1291870So.canty@f5.comcompatibility with Ruby 3.0.
1301870So.canty@f5.com</para>
1311870So.canty@f5.com</change>
1321870So.canty@f5.com
1331861Svbart@nginx.com<change type="bugfix">
1341861Svbart@nginx.com<para>
1351889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
1361884Sa.suvorov@f5.com</para>
1371884Sa.suvorov@f5.com</change>
1381884Sa.suvorov@f5.com
1391884Sa.suvorov@f5.com<change type="bugfix">
1401884Sa.suvorov@f5.com<para>
1411861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
1421861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
1431861Svbart@nginx.com</para>
1441861Svbart@nginx.com</change>
1451861Svbart@nginx.com
1461839Svbart@nginx.com</changes>
1471839Svbart@nginx.com
1481839Svbart@nginx.com
1491839Svbart@nginx.com<changes apply="unit-php
1501839Svbart@nginx.com                unit-python unit-python2.7
1511839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1521839Svbart@nginx.com                unit-python3.8 unit-python3.9
1531839Svbart@nginx.com                unit-go
1541839Svbart@nginx.com                unit-perl
1551839Svbart@nginx.com                unit-ruby
1561839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1571839Svbart@nginx.com                unit-jsc14 unit-jsc15"
1581834Svbart@nginx.com         ver="1.23.0" rev="1"
1591834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
1601834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1611834Svbart@nginx.com
1621834Svbart@nginx.com<change>
1631834Svbart@nginx.com<para>
1641834Svbart@nginx.comNGINX Unit updated to 1.23.0.
1651834Svbart@nginx.com</para>
1661834Svbart@nginx.com</change>
1671834Svbart@nginx.com
1681834Svbart@nginx.com</changes>
1691834Svbart@nginx.com
1701834Svbart@nginx.com
1711806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
1721834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
1731806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1741806Svbart@nginx.com
1751825Sthresh@nginx.com<change type="feature">
1761825Sthresh@nginx.com<para>
1771833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
1781828Sa.suvorov@f5.comIndication (SNI) TLS extension.
1791828Sa.suvorov@f5.com</para>
1801828Sa.suvorov@f5.com</change>
1811828Sa.suvorov@f5.com
1821828Sa.suvorov@f5.com<change type="feature">
1831828Sa.suvorov@f5.com<para>
1841833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
1851833Sartem.konev@nginx.cominstallation.
1861825Sthresh@nginx.com</para>
1871825Sthresh@nginx.com</change>
1881825Sthresh@nginx.com
1891811Smax.romanov@nginx.com<change type="bugfix">
1901811Smax.romanov@nginx.com<para>
1911812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
1921812Svbart@nginx.comappeared in 1.17.0.
1931812Svbart@nginx.com</para>
1941812Svbart@nginx.com</change>
1951812Svbart@nginx.com
1961812Svbart@nginx.com<change type="bugfix">
1971812Svbart@nginx.com<para>
1981833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
1991812Svbart@nginx.comappeared in 1.6.
2001812Svbart@nginx.com</para>
2011812Svbart@nginx.com</change>
2021812Svbart@nginx.com
2031812Svbart@nginx.com<change type="bugfix">
2041812Svbart@nginx.com<para>
2051833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
2061832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
2071832Smax.romanov@nginx.com</para>
2081832Smax.romanov@nginx.com</change>
2091832Smax.romanov@nginx.com
2101832Smax.romanov@nginx.com<change type="bugfix">
2111832Smax.romanov@nginx.com<para>
2121833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
2131811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
2141811Smax.romanov@nginx.com</para>
2151811Smax.romanov@nginx.com</change>
2161806Svbart@nginx.com
2171813Svbart@nginx.com<change type="bugfix">
2181813Svbart@nginx.com<para>
2191813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
2201813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
2211813Svbart@nginx.com</para>
2221813Svbart@nginx.com</change>
2231813Svbart@nginx.com
2241814Svbart@nginx.com<change type="bugfix">
2251814Svbart@nginx.com<para>
2261820Svbart@nginx.comthe controller process could crash while requesting information about a
2271820Svbart@nginx.comcertificate with a non-DNS SAN entry.
2281820Svbart@nginx.com</para>
2291820Svbart@nginx.com</change>
2301820Svbart@nginx.com
2311820Svbart@nginx.com<change type="bugfix">
2321820Svbart@nginx.com<para>
2331822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
2341833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
2351822Svbart@nginx.com</para>
2361822Svbart@nginx.com</change>
2371822Svbart@nginx.com
2381822Svbart@nginx.com<change type="bugfix">
2391822Svbart@nginx.com<para>
2401833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
2411833Sartem.konev@nginx.comclass.
2421814Svbart@nginx.com</para>
2431814Svbart@nginx.com</change>
2441814Svbart@nginx.com
2451815Svbart@nginx.com<change type="bugfix">
2461815Svbart@nginx.com<para>
2471815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
2481815Svbart@nginx.comappeared in 1.22.0.
2491815Svbart@nginx.com</para>
2501815Svbart@nginx.com</change>
2511815Svbart@nginx.com
2521806Svbart@nginx.com</changes>
2531806Svbart@nginx.com
2541806Svbart@nginx.com
2551798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
2561798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2571798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2581798Sdefan@nginx.com
2591798Sdefan@nginx.com<change>
2601798Sdefan@nginx.com<para>
2611798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
2621798Sdefan@nginx.com</para>
2631798Sdefan@nginx.com</change>
2641798Sdefan@nginx.com
2651798Sdefan@nginx.com</changes>
2661798Sdefan@nginx.com
2671798Sdefan@nginx.com
2681763Sdefan@nginx.com<changes apply="unit-php
2691763Sdefan@nginx.com                unit-python unit-python2.7
2701763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2711763Sdefan@nginx.com                unit-python3.8
2721763Sdefan@nginx.com                unit-go
2731763Sdefan@nginx.com                unit-perl
2741763Sdefan@nginx.com                unit-ruby
2751763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2761763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
2771763Sdefan@nginx.com         ver="1.22.0" rev="1"
2781793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2791763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2801763Sdefan@nginx.com
2811763Sdefan@nginx.com<change>
2821763Sdefan@nginx.com<para>
2831763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
2841763Sdefan@nginx.com</para>
2851763Sdefan@nginx.com</change>
2861763Sdefan@nginx.com
2871763Sdefan@nginx.com</changes>
2881763Sdefan@nginx.com
2891763Sdefan@nginx.com
2901727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
2911793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2921727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2931727Svbart@nginx.com
2941759Svbart@nginx.com<change type="feature">
2951759Svbart@nginx.com<para>
2961792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
2971792Svbart@nginx.comcompliant with Stream API.
2981759Svbart@nginx.com</para>
2991759Svbart@nginx.com</change>
3001759Svbart@nginx.com
3011766Smax.romanov@nginx.com<change type="feature">
3021766Smax.romanov@nginx.com<para>
3031792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
3041792Svbart@nginx.comapps.
3051732Svbart@nginx.com</para>
3061732Svbart@nginx.com</change>
3071732Svbart@nginx.com
3081733Svbart@nginx.com<change type="bugfix">
3091733Svbart@nginx.com<para>
3101792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
3111792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
3121754Smax.romanov@nginx.com</para>
3131754Smax.romanov@nginx.com</change>
3141754Smax.romanov@nginx.com
3151755Smax.romanov@nginx.com<change type="bugfix">
3161755Smax.romanov@nginx.com<para>
3171790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
3181755Smax.romanov@nginx.comappeared in 1.19.0.
3191755Smax.romanov@nginx.com</para>
3201755Smax.romanov@nginx.com</change>
3211755Smax.romanov@nginx.com
3221756Smax.romanov@nginx.com<change type="bugfix">
3231756Smax.romanov@nginx.com<para>
3241790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
3251790Sartem.konev@nginx.comappeared in 1.19.0.
3261756Smax.romanov@nginx.com</para>
3271756Smax.romanov@nginx.com</change>
3281756Smax.romanov@nginx.com
3291760Smax.romanov@nginx.com<change type="bugfix">
3301760Smax.romanov@nginx.com<para>
3311792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
3321792Svbart@nginx.com</para>
3331792Svbart@nginx.com</change>
3341792Svbart@nginx.com
3351792Svbart@nginx.com<change type="bugfix">
3361792Svbart@nginx.com<para>
3371792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
3381792Svbart@nginx.commissing in the PHP module.
3391792Svbart@nginx.com</para>
3401792Svbart@nginx.com</change>
3411792Svbart@nginx.com
3421792Svbart@nginx.com<change type="bugfix">
3431792Svbart@nginx.com<para>
3441792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
3451792Svbart@nginx.com</para>
3461792Svbart@nginx.com</change>
3471792Svbart@nginx.com
3481792Svbart@nginx.com<change type="bugfix">
3491792Svbart@nginx.com<para>
3501792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
3511792Svbart@nginx.com</para>
3521792Svbart@nginx.com</change>
3531792Svbart@nginx.com
3541792Svbart@nginx.com<change type="bugfix">
3551792Svbart@nginx.com<para>
3561792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
3571792Svbart@nginx.comthe bug had appeared in 1.21.0.
3581760Smax.romanov@nginx.com</para>
3591760Smax.romanov@nginx.com</change>
3601760Smax.romanov@nginx.com
3611780Smax.romanov@nginx.com<change type="bugfix">
3621780Smax.romanov@nginx.com<para>
3631790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
3641790Sartem.konev@nginx.comWebSocket.
3651780Smax.romanov@nginx.com</para>
3661780Smax.romanov@nginx.com</change>
3671780Smax.romanov@nginx.com
3681789Smax.romanov@nginx.com<change type="bugfix">
3691789Smax.romanov@nginx.com<para>
3701789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
3711789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
3721789Smax.romanov@nginx.com</para>
3731789Smax.romanov@nginx.com</change>
3741789Smax.romanov@nginx.com
3751727Svbart@nginx.com</changes>
3761727Svbart@nginx.com
3771727Svbart@nginx.com
3781722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
3791722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3801722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3811722Svbart@nginx.com
3821722Svbart@nginx.com<change>
3831722Svbart@nginx.com<para>
3841722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
3851722Svbart@nginx.com</para>
3861722Svbart@nginx.com</change>
3871722Svbart@nginx.com
3881722Svbart@nginx.com</changes>
3891722Svbart@nginx.com
3901722Svbart@nginx.com
3911722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
3921722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3931722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3941722Svbart@nginx.com
3951722Svbart@nginx.com<change>
3961722Svbart@nginx.com<para>
3971722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
3981722Svbart@nginx.com</para>
3991722Svbart@nginx.com</change>
4001722Svbart@nginx.com
4011722Svbart@nginx.com</changes>
4021722Svbart@nginx.com
4031722Svbart@nginx.com
4041722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
4051722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4061722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4071722Svbart@nginx.com
4081722Svbart@nginx.com<change>
4091722Svbart@nginx.com<para>
4101722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
4111722Svbart@nginx.com</para>
4121722Svbart@nginx.com</change>
4131722Svbart@nginx.com
4141722Svbart@nginx.com</changes>
4151722Svbart@nginx.com
4161722Svbart@nginx.com
4171722Svbart@nginx.com<changes apply="unit-php
4181722Svbart@nginx.com                unit-python unit-python2.7
4191722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4201722Svbart@nginx.com                unit-python3.8
4211722Svbart@nginx.com                unit-go
4221722Svbart@nginx.com                unit-perl
4231722Svbart@nginx.com                unit-ruby
4241722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4251722Svbart@nginx.com         ver="1.21.0" rev="1"
4261722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4271722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4281722Svbart@nginx.com
4291722Svbart@nginx.com<change>
4301722Svbart@nginx.com<para>
4311722Svbart@nginx.comNGINX Unit updated to 1.21.0.
4321722Svbart@nginx.com</para>
4331722Svbart@nginx.com</change>
4341722Svbart@nginx.com
4351722Svbart@nginx.com</changes>
4361722Svbart@nginx.com
4371722Svbart@nginx.com
4381722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
4391722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4401722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4411722Svbart@nginx.com
4421722Svbart@nginx.com<change type="change">
4431722Svbart@nginx.com<para>
4441722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
4451722Svbart@nginx.com</para>
4461722Svbart@nginx.com</change>
4471722Svbart@nginx.com
4481722Svbart@nginx.com<change type="change">
4491722Svbart@nginx.com<para>
4501722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
4511722Svbart@nginx.comnames.
4521722Svbart@nginx.com</para>
4531722Svbart@nginx.com</change>
4541722Svbart@nginx.com
4551722Svbart@nginx.com<change type="change">
4561722Svbart@nginx.com<para>
4571722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
4581722Svbart@nginx.comdefault.
4591722Svbart@nginx.com</para>
4601722Svbart@nginx.com</change>
4611722Svbart@nginx.com
4621722Svbart@nginx.com<change type="feature">
4631722Svbart@nginx.com<para>
4641722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
4651722Svbart@nginx.com</para>
4661722Svbart@nginx.com</change>
4671722Svbart@nginx.com
4681722Svbart@nginx.com<change type="feature">
4691722Svbart@nginx.com<para>
4701722Svbart@nginx.comregular expressions in route matching patterns.
4711722Svbart@nginx.com</para>
4721722Svbart@nginx.com</change>
4731722Svbart@nginx.com
4741722Svbart@nginx.com<change type="feature">
4751722Svbart@nginx.com<para>
4761722Svbart@nginx.comcompatibility with Python 3.9.
4771722Svbart@nginx.com</para>
4781722Svbart@nginx.com</change>
4791722Svbart@nginx.com
4801722Svbart@nginx.com<change type="feature">
4811722Svbart@nginx.com<para>
4821722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
4831722Svbart@nginx.com</para>
4841722Svbart@nginx.com</change>
4851722Svbart@nginx.com
4861722Svbart@nginx.com<change type="feature">
4871722Svbart@nginx.com<para>
4881722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
4891722Svbart@nginx.com</para>
4901722Svbart@nginx.com</change>
4911722Svbart@nginx.com
4921722Svbart@nginx.com<change type="feature">
4931722Svbart@nginx.com<para>
4941722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
4951722Svbart@nginx.comcontinues code execution without holding onto the client connection.
4961722Svbart@nginx.com</para>
4971722Svbart@nginx.com</change>
4981722Svbart@nginx.com
4991722Svbart@nginx.com<change type="feature">
5001722Svbart@nginx.com<para>
5011722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
5021722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
5031722Svbart@nginx.com</para>
5041722Svbart@nginx.com</change>
5051722Svbart@nginx.com
5061722Svbart@nginx.com<change type="feature">
5071722Svbart@nginx.com<para>
5081722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
5091722Svbart@nginx.commounting of eponymous filesystems.
5101722Svbart@nginx.com</para>
5111722Svbart@nginx.com</change>
5121722Svbart@nginx.com
5131722Svbart@nginx.com<change type="bugfix">
5141722Svbart@nginx.com<para>
5151722Svbart@nginx.comthe router process could crash when running Go applications under high load;
5161722Svbart@nginx.comthe bug had appeared in 1.19.0.
5171722Svbart@nginx.com</para>
5181722Svbart@nginx.com</change>
5191722Svbart@nginx.com
5201722Svbart@nginx.com<change type="bugfix">
5211722Svbart@nginx.com<para>
5221722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
5231722Svbart@nginx.com</para>
5241722Svbart@nginx.com</change>
5251722Svbart@nginx.com
5261722Svbart@nginx.com<change type="bugfix">
5271722Svbart@nginx.com<para>
5281722Svbart@nginx.comvarious compatibility issues in Java applications.
5291722Svbart@nginx.com</para>
5301722Svbart@nginx.com</change>
5311722Svbart@nginx.com
5321722Svbart@nginx.com<change type="bugfix">
5331722Svbart@nginx.com<para>
5341722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
5351722Svbart@nginx.comuse "rootfs" isolation.
5361722Svbart@nginx.com</para>
5371722Svbart@nginx.com</change>
5381722Svbart@nginx.com
5391722Svbart@nginx.com</changes>
5401722Svbart@nginx.com
5411722Svbart@nginx.com
5421330Svbart@nginx.com<changes apply="unit-php
5431330Svbart@nginx.com                unit-python unit-python2.7
5441330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5451330Svbart@nginx.com                unit-python3.8
5461330Svbart@nginx.com                unit-go
5471330Svbart@nginx.com                unit-perl
5481330Svbart@nginx.com                unit-ruby
5491330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5501640Svbart@nginx.com         ver="1.20.0" rev="1"
5511640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
5521640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5531640Svbart@nginx.com
5541640Svbart@nginx.com<change>
5551640Svbart@nginx.com<para>
5561640Svbart@nginx.comNGINX Unit updated to 1.20.0.
5571640Svbart@nginx.com</para>
5581640Svbart@nginx.com</change>
5591640Svbart@nginx.com
5601640Svbart@nginx.com</changes>
5611640Svbart@nginx.com
5621640Svbart@nginx.com
5631640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
5641640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
5651640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5661640Svbart@nginx.com
5671640Svbart@nginx.com<change type="change">
5681640Svbart@nginx.com<para>
5691640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
5701640Svbart@nginx.comextensions from the host system.
5711640Svbart@nginx.com</para>
5721640Svbart@nginx.com</change>
5731640Svbart@nginx.com
5741640Svbart@nginx.com<change type="change">
5751640Svbart@nginx.com<para>
5761640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
5771640Svbart@nginx.com</para>
5781640Svbart@nginx.com</change>
5791640Svbart@nginx.com
5801643Svbart@nginx.com<change type="change">
5811643Svbart@nginx.com<para>
5821643Svbart@nginx.comfunctional tests migrated to the pytest framework.
5831643Svbart@nginx.com</para>
5841643Svbart@nginx.com</change>
5851643Svbart@nginx.com
5861640Svbart@nginx.com<change type="feature">
5871640Svbart@nginx.com<para>
5881640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
5891640Svbart@nginx.cominterface.
5901640Svbart@nginx.com</para>
5911640Svbart@nginx.com</change>
5921640Svbart@nginx.com
5931640Svbart@nginx.com<change type="feature">
5941640Svbart@nginx.com<para>
5951640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
5961640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
5971640Svbart@nginx.comspecification.
5981640Svbart@nginx.com</para>
5991640Svbart@nginx.com</change>
6001640Svbart@nginx.com
6011640Svbart@nginx.com<change type="feature">
6021640Svbart@nginx.com<para>
6031640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
6041640Svbart@nginx.comenvironments.
6051640Svbart@nginx.com</para>
6061640Svbart@nginx.com</change>
6071640Svbart@nginx.com
6081640Svbart@nginx.com<change type="feature">
6091640Svbart@nginx.com<para>
6101640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
6111640Svbart@nginx.com</para>
6121640Svbart@nginx.com</change>
6131640Svbart@nginx.com
6141640Svbart@nginx.com<change type="feature">
6151640Svbart@nginx.com<para>
6161640Svbart@nginx.comthe "callable" option sets Python application callable names.
6171640Svbart@nginx.com</para>
6181640Svbart@nginx.com</change>
6191640Svbart@nginx.com
6201640Svbart@nginx.com<change type="feature">
6211640Svbart@nginx.com<para>
6221640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
6231640Svbart@nginx.com</para>
6241640Svbart@nginx.com</change>
6251640Svbart@nginx.com
6261640Svbart@nginx.com<change type="feature">
6271640Svbart@nginx.com<para>
6281640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
6291640Svbart@nginx.comautomatic mounting of language module dependencies.
6301640Svbart@nginx.com</para>
6311640Svbart@nginx.com</change>
6321640Svbart@nginx.com
6331640Svbart@nginx.com<change type="bugfix">
6341640Svbart@nginx.com<para>
6351640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
6361640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
6371640Svbart@nginx.com</para>
6381640Svbart@nginx.com</change>
6391640Svbart@nginx.com
6401640Svbart@nginx.com<change type="bugfix">
6411640Svbart@nginx.com<para>
6421640Svbart@nginx.comthe router process could crash during reconfiguration.
6431640Svbart@nginx.com</para>
6441640Svbart@nginx.com</change>
6451640Svbart@nginx.com
6461640Svbart@nginx.com<change type="bugfix">
6471640Svbart@nginx.com<para>
6481640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
6491640Svbart@nginx.com</para>
6501640Svbart@nginx.com</change>
6511640Svbart@nginx.com
6521640Svbart@nginx.com<change type="bugfix">
6531640Svbart@nginx.com<para>
6541640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
6551640Svbart@nginx.comthe bug had appeared in 1.19.0.
6561640Svbart@nginx.com</para>
6571640Svbart@nginx.com</change>
6581640Svbart@nginx.com
6591640Svbart@nginx.com<change type="bugfix">
6601640Svbart@nginx.com<para>
6611640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
6621640Svbart@nginx.comthe bug had appeared in 1.16.0.
6631640Svbart@nginx.com</para>
6641640Svbart@nginx.com</change>
6651640Svbart@nginx.com
6661640Svbart@nginx.com</changes>
6671640Svbart@nginx.com
6681640Svbart@nginx.com
6691640Svbart@nginx.com<changes apply="unit-php
6701640Svbart@nginx.com                unit-python unit-python2.7
6711640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6721640Svbart@nginx.com                unit-python3.8
6731640Svbart@nginx.com                unit-go
6741640Svbart@nginx.com                unit-perl
6751640Svbart@nginx.com                unit-ruby
6761640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6771570Svbart@nginx.com         ver="1.19.0" rev="1"
6781570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
6791570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6801570Svbart@nginx.com
6811570Svbart@nginx.com<change>
6821570Svbart@nginx.com<para>
6831570Svbart@nginx.comNGINX Unit updated to 1.19.0.
6841570Svbart@nginx.com</para>
6851570Svbart@nginx.com</change>
6861570Svbart@nginx.com
6871570Svbart@nginx.com</changes>
6881570Svbart@nginx.com
6891570Svbart@nginx.com
6901570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
6911570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
6921570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6931570Svbart@nginx.com
6941570Svbart@nginx.com<change type="feature">
6951570Svbart@nginx.com<para>
6961570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
6971570Svbart@nginx.comincrease performance, and improve scalability.
6981570Svbart@nginx.com</para>
6991570Svbart@nginx.com</change>
7001570Svbart@nginx.com
7011570Svbart@nginx.com<change type="feature">
7021570Svbart@nginx.com<para>
7031570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
7041570Svbart@nginx.com</para>
7051570Svbart@nginx.com</change>
7061570Svbart@nginx.com
7071570Svbart@nginx.com<change type="feature">
7081570Svbart@nginx.com<para>
7091570Svbart@nginx.comchunked transfer encoding in proxy responses.
7101570Svbart@nginx.com</para>
7111570Svbart@nginx.com</change>
7121570Svbart@nginx.com
7131570Svbart@nginx.com<change type="feature">
7141570Svbart@nginx.com<para>
7151570Svbart@nginx.combasic variables support in the "pass" option.
7161570Svbart@nginx.com</para>
7171570Svbart@nginx.com</change>
7181570Svbart@nginx.com
7191570Svbart@nginx.com<change type="feature">
7201570Svbart@nginx.com<para>
7211570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
7221570Svbart@nginx.comThanks to Remi Collet.
7231570Svbart@nginx.com</para>
7241570Svbart@nginx.com</change>
7251570Svbart@nginx.com
7261570Svbart@nginx.com<change type="bugfix">
7271570Svbart@nginx.com<para>
7281570Svbart@nginx.comthe router process could crash while passing requests to an application under
7291570Svbart@nginx.comhigh load.
7301570Svbart@nginx.com</para>
7311570Svbart@nginx.com</change>
7321570Svbart@nginx.com
7331570Svbart@nginx.com<change type="bugfix">
7341570Svbart@nginx.com<para>
7351570Svbart@nginx.coma number of language modules failed to build on some systems;
7361570Svbart@nginx.comthe bug had appeared in 1.18.0.
7371570Svbart@nginx.com</para>
7381570Svbart@nginx.com</change>
7391570Svbart@nginx.com
7401570Svbart@nginx.com<change type="bugfix">
7411570Svbart@nginx.com<para>
7421570Svbart@nginx.comtime in error log messages from PHP applications could lag.
7431570Svbart@nginx.com</para>
7441570Svbart@nginx.com</change>
7451570Svbart@nginx.com
7461570Svbart@nginx.com<change type="bugfix">
7471570Svbart@nginx.com<para>
7481570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
7491570Svbart@nginx.comthe bug had appeared in 1.18.0.
7501570Svbart@nginx.com</para>
7511570Svbart@nginx.com</change>
7521570Svbart@nginx.com
7531570Svbart@nginx.com<change type="bugfix">
7541570Svbart@nginx.com<para>
7551570Svbart@nginx.commemory leak during reconfiguration.
7561570Svbart@nginx.com</para>
7571570Svbart@nginx.com</change>
7581570Svbart@nginx.com
7591570Svbart@nginx.com<change type="bugfix">
7601570Svbart@nginx.com<para>
7611570Svbart@nginx.comthe daemon didn't start without language modules;
7621570Svbart@nginx.comthe bug had appeared in 1.18.0.
7631570Svbart@nginx.com</para>
7641570Svbart@nginx.com</change>
7651570Svbart@nginx.com
7661570Svbart@nginx.com<change type="bugfix">
7671570Svbart@nginx.com<para>
7681570Svbart@nginx.comthe router process could crash at exit.
7691570Svbart@nginx.com</para>
7701570Svbart@nginx.com</change>
7711570Svbart@nginx.com
7721570Svbart@nginx.com<change type="bugfix">
7731570Svbart@nginx.com<para>
7741570Svbart@nginx.comNode.js applications could crash at exit.
7751570Svbart@nginx.com</para>
7761570Svbart@nginx.com</change>
7771570Svbart@nginx.com
7781570Svbart@nginx.com<change type="bugfix">
7791570Svbart@nginx.com<para>
7801570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
7811570Svbart@nginx.com</para>
7821570Svbart@nginx.com</change>
7831570Svbart@nginx.com
7841570Svbart@nginx.com</changes>
7851570Svbart@nginx.com
7861570Svbart@nginx.com
7871570Svbart@nginx.com<changes apply="unit-php
7881570Svbart@nginx.com                unit-python unit-python2.7
7891570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7901570Svbart@nginx.com                unit-python3.8
7911570Svbart@nginx.com                unit-go
7921570Svbart@nginx.com                unit-perl
7931570Svbart@nginx.com                unit-ruby
7941570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7951491Svbart@nginx.com         ver="1.18.0" rev="1"
7961491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
7971491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7981491Svbart@nginx.com
7991491Svbart@nginx.com<change>
8001491Svbart@nginx.com<para>
8011491Svbart@nginx.comNGINX Unit updated to 1.18.0.
8021491Svbart@nginx.com</para>
8031491Svbart@nginx.com</change>
8041491Svbart@nginx.com
8051491Svbart@nginx.com</changes>
8061491Svbart@nginx.com
8071491Svbart@nginx.com
8081491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
8091491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
8101491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8111491Svbart@nginx.com
8121491Svbart@nginx.com<change type="feature">
8131491Svbart@nginx.com<para>
8141491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
8151491Svbart@nginx.com</para>
8161491Svbart@nginx.com</change>
8171491Svbart@nginx.com
8181491Svbart@nginx.com<change type="feature">
8191491Svbart@nginx.com<para>
8201491Svbart@nginx.commultiple "targets" in PHP applications.
8211491Svbart@nginx.com</para>
8221491Svbart@nginx.com</change>
8231491Svbart@nginx.com
8241491Svbart@nginx.com<change type="feature">
8251491Svbart@nginx.com<para>
8261491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
8271491Svbart@nginx.comand in the "pass" option.
8281491Svbart@nginx.com</para>
8291491Svbart@nginx.com</change>
8301491Svbart@nginx.com
8311491Svbart@nginx.com</changes>
8321491Svbart@nginx.com
8331491Svbart@nginx.com
8341491Svbart@nginx.com<changes apply="unit-php
8351491Svbart@nginx.com                unit-python unit-python2.7
8361491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8371491Svbart@nginx.com                unit-python3.8
8381491Svbart@nginx.com                unit-go
8391491Svbart@nginx.com                unit-perl
8401491Svbart@nginx.com                unit-ruby
8411491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8421460Svbart@nginx.com         ver="1.17.0" rev="1"
8431460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
8441460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8451460Svbart@nginx.com
8461460Svbart@nginx.com<change>
8471460Svbart@nginx.com<para>
8481460Svbart@nginx.comNGINX Unit updated to 1.17.0.
8491460Svbart@nginx.com</para>
8501460Svbart@nginx.com</change>
8511460Svbart@nginx.com
8521460Svbart@nginx.com</changes>
8531460Svbart@nginx.com
8541460Svbart@nginx.com
8551460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
8561460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
8571460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8581460Svbart@nginx.com
8591460Svbart@nginx.com<change type="feature">
8601460Svbart@nginx.com<para>
8611460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
8621460Svbart@nginx.comredirection.
8631460Svbart@nginx.com</para>
8641460Svbart@nginx.com</change>
8651460Svbart@nginx.com
8661460Svbart@nginx.com<change type="feature">
8671460Svbart@nginx.com<para>
8681460Svbart@nginx.comfractional weights support for upstream servers.
8691460Svbart@nginx.com</para>
8701460Svbart@nginx.com</change>
8711460Svbart@nginx.com
8721460Svbart@nginx.com<change type="bugfix">
8731460Svbart@nginx.com<para>
8741460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
8751460Svbart@nginx.comhigh load.
8761460Svbart@nginx.com</para>
8771460Svbart@nginx.com</change>
8781460Svbart@nginx.com
8791460Svbart@nginx.com<change type="bugfix">
8801460Svbart@nginx.com<para>
8811460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
8821460Svbart@nginx.com</para>
8831460Svbart@nginx.com</change>
8841460Svbart@nginx.com
8851460Svbart@nginx.com<change type="bugfix">
8861460Svbart@nginx.com<para>
8871460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
8881460Svbart@nginx.comopen connections limit.
8891460Svbart@nginx.com</para>
8901460Svbart@nginx.com</change>
8911460Svbart@nginx.com
8921460Svbart@nginx.com<change type="bugfix">
8931460Svbart@nginx.com<para>
8941460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
8951460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
8961460Svbart@nginx.com</para>
8971460Svbart@nginx.com</change>
8981460Svbart@nginx.com
8991460Svbart@nginx.com<change type="bugfix">
9001460Svbart@nginx.com<para>
9011460Svbart@nginx.comexisting application processes didn't reopen the log file.
9021460Svbart@nginx.com</para>
9031460Svbart@nginx.com</change>
9041460Svbart@nginx.com
9051460Svbart@nginx.com<change type="bugfix">
9061460Svbart@nginx.com<para>
9071460Svbart@nginx.comincompatibility with some Node.js applications.
9081460Svbart@nginx.com</para>
9091460Svbart@nginx.com</change>
9101460Svbart@nginx.com
9111460Svbart@nginx.com<change type="bugfix">
9121460Svbart@nginx.com<para>
9131460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
9141460Svbart@nginx.com</para>
9151460Svbart@nginx.com</change>
9161460Svbart@nginx.com
9171460Svbart@nginx.com</changes>
9181460Svbart@nginx.com
9191460Svbart@nginx.com
9201460Svbart@nginx.com<changes apply="unit-php
9211460Svbart@nginx.com                unit-python unit-python2.7
9221460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9231460Svbart@nginx.com                unit-python3.8
9241460Svbart@nginx.com                unit-go
9251460Svbart@nginx.com                unit-perl
9261460Svbart@nginx.com                unit-ruby
9271460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9281404Svbart@nginx.com         ver="1.16.0" rev="1"
9291404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
9301404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9311404Svbart@nginx.com
9321404Svbart@nginx.com<change>
9331404Svbart@nginx.com<para>
9341404Svbart@nginx.comNGINX Unit updated to 1.16.0.
9351404Svbart@nginx.com</para>
9361404Svbart@nginx.com</change>
9371404Svbart@nginx.com
9381404Svbart@nginx.com</changes>
9391404Svbart@nginx.com
9401404Svbart@nginx.com
9411404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
9421404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
9431404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9441404Svbart@nginx.com
9451404Svbart@nginx.com<change type="feature">
9461404Svbart@nginx.com<para>
9471404Svbart@nginx.combasic load-balancing support with round-robin.
9481404Svbart@nginx.com</para>
9491404Svbart@nginx.com</change>
9501404Svbart@nginx.com
9511404Svbart@nginx.com<change type="feature">
9521404Svbart@nginx.com<para>
9531404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
9541404Svbart@nginx.comserved from the "share" directory.
9551404Svbart@nginx.com</para>
9561404Svbart@nginx.com</change>
9571404Svbart@nginx.com
9581404Svbart@nginx.com<change type="feature">
9591404Svbart@nginx.com<para>
9601404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
9611404Svbart@nginx.com</para>
9621404Svbart@nginx.com</change>
9631404Svbart@nginx.com
9641404Svbart@nginx.com<change type="feature">
9651404Svbart@nginx.com<para>
9661404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
9671404Svbart@nginx.com</para>
9681404Svbart@nginx.com</change>
9691404Svbart@nginx.com
9701404Svbart@nginx.com<change type="bugfix">
9711404Svbart@nginx.com<para>
9721404Svbart@nginx.comnegative address matching in router might work improperly in combination with
9731404Svbart@nginx.comnon-negative patterns.
9741404Svbart@nginx.com</para>
9751404Svbart@nginx.com</change>
9761404Svbart@nginx.com
9771404Svbart@nginx.com<change type="bugfix">
9781404Svbart@nginx.com<para>
9791404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
9801404Svbart@nginx.com</para>
9811404Svbart@nginx.com</change>
9821404Svbart@nginx.com
9831404Svbart@nginx.com<change type="bugfix">
9841404Svbart@nginx.com<para>
9851404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
9861404Svbart@nginx.com</para>
9871404Svbart@nginx.com</change>
9881404Svbart@nginx.com
9891404Svbart@nginx.com<change type="bugfix">
9901404Svbart@nginx.com<para>
9911404Svbart@nginx.comcompatibility issues with some Python applications.
9921404Svbart@nginx.com</para>
9931404Svbart@nginx.com</change>
9941404Svbart@nginx.com
9951404Svbart@nginx.com</changes>
9961404Svbart@nginx.com
9971404Svbart@nginx.com
9981404Svbart@nginx.com<changes apply="unit-php
9991404Svbart@nginx.com                unit-python unit-python2.7
10001404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10011404Svbart@nginx.com                unit-python3.8
10021404Svbart@nginx.com                unit-go
10031404Svbart@nginx.com                unit-perl
10041404Svbart@nginx.com                unit-ruby
10051404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10061357Svbart@nginx.com         ver="1.15.0" rev="1"
10071357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
10081357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10091357Svbart@nginx.com
10101357Svbart@nginx.com<change>
10111357Svbart@nginx.com<para>
10121357Svbart@nginx.comNGINX Unit updated to 1.15.0.
10131357Svbart@nginx.com</para>
10141357Svbart@nginx.com</change>
10151357Svbart@nginx.com
10161357Svbart@nginx.com</changes>
10171357Svbart@nginx.com
10181357Svbart@nginx.com
10191357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
10201357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
10211357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10221357Svbart@nginx.com
10231357Svbart@nginx.com<change type="change">
10241357Svbart@nginx.com<para>
10251357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
10261357Svbart@nginx.com</para>
10271357Svbart@nginx.com</change>
10281357Svbart@nginx.com
10291357Svbart@nginx.com<change type="feature">
10301357Svbart@nginx.com<para>
10311357Svbart@nginx.comcompatibility with Ruby 2.7.
10321357Svbart@nginx.com</para>
10331357Svbart@nginx.com</change>
10341357Svbart@nginx.com
10351357Svbart@nginx.com<change type="bugfix">
10361357Svbart@nginx.com<para>
10371357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
10381357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
10391357Svbart@nginx.com</para>
10401357Svbart@nginx.com</change>
10411357Svbart@nginx.com
10421357Svbart@nginx.com<change type="bugfix">
10431357Svbart@nginx.com<para>
10441357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
10451357Svbart@nginx.com</para>
10461357Svbart@nginx.com</change>
10471357Svbart@nginx.com
10481357Svbart@nginx.com</changes>
10491357Svbart@nginx.com
10501357Svbart@nginx.com
10511357Svbart@nginx.com<changes apply="unit-php
10521357Svbart@nginx.com                unit-python unit-python2.7
10531357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10541357Svbart@nginx.com                unit-python3.8
10551357Svbart@nginx.com                unit-go
10561357Svbart@nginx.com                unit-perl
10571357Svbart@nginx.com                unit-ruby
10581357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10591330Svbart@nginx.com         ver="1.14.0" rev="1"
10601330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
10611330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10621330Svbart@nginx.com
10631330Svbart@nginx.com<change>
10641330Svbart@nginx.com<para>
10651330Svbart@nginx.comNGINX Unit updated to 1.14.0.
10661330Svbart@nginx.com</para>
10671330Svbart@nginx.com</change>
10681330Svbart@nginx.com
10691330Svbart@nginx.com</changes>
10701330Svbart@nginx.com
10711330Svbart@nginx.com
10721330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
10731330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
10741330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10751330Svbart@nginx.com
10761330Svbart@nginx.com<change type="change">
10771330Svbart@nginx.com<para>
10781330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
10791330Svbart@nginx.com</para>
10801330Svbart@nginx.com</change>
10811330Svbart@nginx.com
10821330Svbart@nginx.com<change type="change">
10831330Svbart@nginx.com<para>
10841330Svbart@nginx.comGo package now links to libunit instead of including library sources.
10851330Svbart@nginx.com</para>
10861330Svbart@nginx.com</change>
10871330Svbart@nginx.com
10881330Svbart@nginx.com<change type="feature">
10891330Svbart@nginx.com<para>
10901330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
10911330Svbart@nginx.comruns as an unprivileged user.
10921330Svbart@nginx.com</para>
10931330Svbart@nginx.com</change>
10941330Svbart@nginx.com
10951330Svbart@nginx.com<change type="feature">
10961330Svbart@nginx.com<para>
10971330Svbart@nginx.comrequest routing by source and destination addresses and ports.
10981330Svbart@nginx.com</para>
10991330Svbart@nginx.com</change>
11001330Svbart@nginx.com
11011330Svbart@nginx.com<change type="bugfix">
11021330Svbart@nginx.com<para>
11031330Svbart@nginx.commemory bloat on large responses.
11041330Svbart@nginx.com</para>
11051330Svbart@nginx.com</change>
11061330Svbart@nginx.com
11071330Svbart@nginx.com</changes>
11081330Svbart@nginx.com
11091330Svbart@nginx.com
11101290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
11111290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
11121290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11131290Sdefan@nginx.com
11141290Sdefan@nginx.com<change>
11151290Sdefan@nginx.com<para>
11161290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
11171290Sdefan@nginx.com</para>
11181290Sdefan@nginx.com</change>
11191290Sdefan@nginx.com
11201290Sdefan@nginx.com</changes>
11211290Sdefan@nginx.com
11221290Sdefan@nginx.com
11231290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
11241290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
11251290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11261290Sdefan@nginx.com
11271290Sdefan@nginx.com<change>
11281290Sdefan@nginx.com<para>
11291290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
11301290Sdefan@nginx.com</para>
11311290Sdefan@nginx.com</change>
11321290Sdefan@nginx.com
11331290Sdefan@nginx.com</changes>
11341290Sdefan@nginx.com
11351290Sdefan@nginx.com
11361289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
11371289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
11381289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11391289Sdefan@nginx.com
11401289Sdefan@nginx.com<change>
11411289Sdefan@nginx.com<para>
11421289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
11431289Sdefan@nginx.com</para>
11441289Sdefan@nginx.com</change>
11451289Sdefan@nginx.com
11461289Sdefan@nginx.com</changes>
11471289Sdefan@nginx.com
11481289Sdefan@nginx.com
11491185Svbart@nginx.com<changes apply="unit-php
11501185Svbart@nginx.com                unit-python unit-python2.7
11511185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11521185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11531185Svbart@nginx.com                unit-perl
11541185Svbart@nginx.com                unit-ruby
11551185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11561284Svbart@nginx.com         ver="1.13.0" rev="1"
11571284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
11581284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11591284Svbart@nginx.com
11601284Svbart@nginx.com<change>
11611284Svbart@nginx.com<para>
11621284Svbart@nginx.comNGINX Unit updated to 1.13.0.
11631284Svbart@nginx.com</para>
11641284Svbart@nginx.com</change>
11651284Svbart@nginx.com
11661284Svbart@nginx.com</changes>
11671284Svbart@nginx.com
11681284Svbart@nginx.com
11691284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
11701284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
11711284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11721284Svbart@nginx.com
11731284Svbart@nginx.com<change type="feature">
11741284Svbart@nginx.com<para>
11751284Svbart@nginx.combasic support for HTTP reverse proxying.
11761284Svbart@nginx.com</para>
11771284Svbart@nginx.com</change>
11781284Svbart@nginx.com
11791284Svbart@nginx.com<change type="feature">
11801284Svbart@nginx.com<para>
11811284Svbart@nginx.comcompatibility with Python 3.8.
11821284Svbart@nginx.com</para>
11831284Svbart@nginx.com</change>
11841284Svbart@nginx.com
11851284Svbart@nginx.com<change type="bugfix">
11861284Svbart@nginx.com<para>
11871284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
11881284Svbart@nginx.com</para>
11891284Svbart@nginx.com</change>
11901284Svbart@nginx.com
11911284Svbart@nginx.com<change type="bugfix">
11921284Svbart@nginx.com<para>
11931284Svbart@nginx.comthreads in Python applications might not work correctly.
11941284Svbart@nginx.com</para>
11951284Svbart@nginx.com</change>
11961284Svbart@nginx.com
11971284Svbart@nginx.com<change type="bugfix">
11981284Svbart@nginx.com<para>
11991284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
12001284Svbart@nginx.com</para>
12011284Svbart@nginx.com</change>
12021284Svbart@nginx.com
12031284Svbart@nginx.com<change type="bugfix">
12041284Svbart@nginx.com<para>
12051284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
12061284Svbart@nginx.comdelays.
12071284Svbart@nginx.com</para>
12081284Svbart@nginx.com</change>
12091284Svbart@nginx.com
12101284Svbart@nginx.com<change type="bugfix">
12111284Svbart@nginx.com<para>
12121284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
12131284Svbart@nginx.com</para>
12141284Svbart@nginx.com</change>
12151284Svbart@nginx.com
12161284Svbart@nginx.com</changes>
12171284Svbart@nginx.com
12181284Svbart@nginx.com
12191284Svbart@nginx.com<changes apply="unit-php
12201284Svbart@nginx.com                unit-python unit-python2.7
12211284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12221284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12231284Svbart@nginx.com                unit-perl
12241284Svbart@nginx.com                unit-ruby
12251284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12261222Svbart@nginx.com         ver="1.12.0" rev="1"
12271222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
12281222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12291222Svbart@nginx.com
12301222Svbart@nginx.com<change>
12311222Svbart@nginx.com<para>
12321222Svbart@nginx.comNGINX Unit updated to 1.12.0.
12331222Svbart@nginx.com</para>
12341222Svbart@nginx.com</change>
12351222Svbart@nginx.com
12361222Svbart@nginx.com</changes>
12371222Svbart@nginx.com
12381222Svbart@nginx.com
12391222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
12401222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
12411222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12421222Svbart@nginx.com
12431222Svbart@nginx.com<change type="feature">
12441222Svbart@nginx.com<para>
12451222Svbart@nginx.comcompatibility with PHP 7.4.
12461222Svbart@nginx.com</para>
12471222Svbart@nginx.com</change>
12481222Svbart@nginx.com
12491222Svbart@nginx.com<change type="bugfix">
12501222Svbart@nginx.com<para>
12511222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
12521222Svbart@nginx.com</para>
12531222Svbart@nginx.com</change>
12541222Svbart@nginx.com
12551222Svbart@nginx.com<change type="bugfix">
12561222Svbart@nginx.com<para>
12571222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
12581222Svbart@nginx.com</para>
12591222Svbart@nginx.com</change>
12601222Svbart@nginx.com
12611222Svbart@nginx.com<change type="bugfix">
12621222Svbart@nginx.com<para>
12631222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
12641222Svbart@nginx.com</para>
12651222Svbart@nginx.com</change>
12661222Svbart@nginx.com
12671222Svbart@nginx.com</changes>
12681222Svbart@nginx.com
12691222Svbart@nginx.com
12701222Svbart@nginx.com
12711222Svbart@nginx.com<changes apply="unit-php
12721222Svbart@nginx.com                unit-python unit-python2.7
12731222Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12741222Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12751222Svbart@nginx.com                unit-perl
12761222Svbart@nginx.com                unit-ruby
12771222Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12781185Svbart@nginx.com         ver="1.11.0" rev="1"
12791185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
12801185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
12811185Svbart@nginx.com
12821185Svbart@nginx.com<change>
12831185Svbart@nginx.com<para>
12841185Svbart@nginx.comNGINX Unit updated to 1.11.0.
12851185Svbart@nginx.com</para>
12861185Svbart@nginx.com</change>
12871185Svbart@nginx.com
12881185Svbart@nginx.com</changes>
12891185Svbart@nginx.com
12901185Svbart@nginx.com
12911185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1"
12921185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
12931185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
12941185Svbart@nginx.com
12951185Svbart@nginx.com<change type="feature">
12961185Svbart@nginx.com<para>
12971185Svbart@nginx.combasic support for serving static files.
12981185Svbart@nginx.com</para>
12991185Svbart@nginx.com</change>
13001185Svbart@nginx.com
13011185Svbart@nginx.com<change type="feature">
13021185Svbart@nginx.com<para>
13031185Svbart@nginx.comisolation of application processes with Linux namespaces.
13041185Svbart@nginx.com</para>
13051185Svbart@nginx.com</change>
13061185Svbart@nginx.com
13071185Svbart@nginx.com<change type="feature">
13081185Svbart@nginx.com<para>
13091185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers.
13101185Svbart@nginx.com</para>
1311