xref: /unit/docs/changes.xml (revision 1855)
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
81834Svbart@nginx.com<changes apply="unit-php
91834Svbart@nginx.com                unit-python unit-python2.7
101834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
111834Svbart@nginx.com                unit-python3.8 unit-python3.9
121834Svbart@nginx.com                unit-go
131834Svbart@nginx.com                unit-perl
141834Svbart@nginx.com                unit-ruby
151834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
161834Svbart@nginx.com                unit-jsc14 unit-jsc15"
171839Svbart@nginx.com         ver="1.24.0" rev="1"
181839Svbart@nginx.com         date="" time=""
191839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
201839Svbart@nginx.com
211839Svbart@nginx.com<change>
221839Svbart@nginx.com<para>
231839Svbart@nginx.comNGINX Unit updated to 1.24.0.
241839Svbart@nginx.com</para>
251839Svbart@nginx.com</change>
261839Svbart@nginx.com
271839Svbart@nginx.com</changes>
281839Svbart@nginx.com
291839Svbart@nginx.com
301839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
311839Svbart@nginx.com         date="" time=""
321839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
331839Svbart@nginx.com
34*1855Sz.hong@f5.com<change type="feature">
35*1855Sz.hong@f5.com<para>
36*1855Sz.hong@f5.comsupport for chrooting, rejecting symlinks, and rejecting crossing mounting
37*1855Sz.hong@f5.compoints on a per-request basis during static file serving.
38*1855Sz.hong@f5.com</para>
39*1855Sz.hong@f5.com</change>
40*1855Sz.hong@f5.com
411839Svbart@nginx.com</changes>
421839Svbart@nginx.com
431839Svbart@nginx.com
441839Svbart@nginx.com<changes apply="unit-php
451839Svbart@nginx.com                unit-python unit-python2.7
461839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
471839Svbart@nginx.com                unit-python3.8 unit-python3.9
481839Svbart@nginx.com                unit-go
491839Svbart@nginx.com                unit-perl
501839Svbart@nginx.com                unit-ruby
511839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
521839Svbart@nginx.com                unit-jsc14 unit-jsc15"
531834Svbart@nginx.com         ver="1.23.0" rev="1"
541834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
551834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
561834Svbart@nginx.com
571834Svbart@nginx.com<change>
581834Svbart@nginx.com<para>
591834Svbart@nginx.comNGINX Unit updated to 1.23.0.
601834Svbart@nginx.com</para>
611834Svbart@nginx.com</change>
621834Svbart@nginx.com
631834Svbart@nginx.com</changes>
641834Svbart@nginx.com
651834Svbart@nginx.com
661806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
671834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
681806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
691806Svbart@nginx.com
701825Sthresh@nginx.com<change type="feature">
711825Sthresh@nginx.com<para>
721833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
731828Sa.suvorov@f5.comIndication (SNI) TLS extension.
741828Sa.suvorov@f5.com</para>
751828Sa.suvorov@f5.com</change>
761828Sa.suvorov@f5.com
771828Sa.suvorov@f5.com<change type="feature">
781828Sa.suvorov@f5.com<para>
791833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
801833Sartem.konev@nginx.cominstallation.
811825Sthresh@nginx.com</para>
821825Sthresh@nginx.com</change>
831825Sthresh@nginx.com
841811Smax.romanov@nginx.com<change type="bugfix">
851811Smax.romanov@nginx.com<para>
861812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
871812Svbart@nginx.comappeared in 1.17.0.
881812Svbart@nginx.com</para>
891812Svbart@nginx.com</change>
901812Svbart@nginx.com
911812Svbart@nginx.com<change type="bugfix">
921812Svbart@nginx.com<para>
931833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
941812Svbart@nginx.comappeared in 1.6.
951812Svbart@nginx.com</para>
961812Svbart@nginx.com</change>
971812Svbart@nginx.com
981812Svbart@nginx.com<change type="bugfix">
991812Svbart@nginx.com<para>
1001833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
1011832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
1021832Smax.romanov@nginx.com</para>
1031832Smax.romanov@nginx.com</change>
1041832Smax.romanov@nginx.com
1051832Smax.romanov@nginx.com<change type="bugfix">
1061832Smax.romanov@nginx.com<para>
1071833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
1081811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
1091811Smax.romanov@nginx.com</para>
1101811Smax.romanov@nginx.com</change>
1111806Svbart@nginx.com
1121813Svbart@nginx.com<change type="bugfix">
1131813Svbart@nginx.com<para>
1141813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
1151813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
1161813Svbart@nginx.com</para>
1171813Svbart@nginx.com</change>
1181813Svbart@nginx.com
1191814Svbart@nginx.com<change type="bugfix">
1201814Svbart@nginx.com<para>
1211820Svbart@nginx.comthe controller process could crash while requesting information about a
1221820Svbart@nginx.comcertificate with a non-DNS SAN entry.
1231820Svbart@nginx.com</para>
1241820Svbart@nginx.com</change>
1251820Svbart@nginx.com
1261820Svbart@nginx.com<change type="bugfix">
1271820Svbart@nginx.com<para>
1281822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
1291833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
1301822Svbart@nginx.com</para>
1311822Svbart@nginx.com</change>
1321822Svbart@nginx.com
1331822Svbart@nginx.com<change type="bugfix">
1341822Svbart@nginx.com<para>
1351833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
1361833Sartem.konev@nginx.comclass.
1371814Svbart@nginx.com</para>
1381814Svbart@nginx.com</change>
1391814Svbart@nginx.com
1401815Svbart@nginx.com<change type="bugfix">
1411815Svbart@nginx.com<para>
1421815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
1431815Svbart@nginx.comappeared in 1.22.0.
1441815Svbart@nginx.com</para>
1451815Svbart@nginx.com</change>
1461815Svbart@nginx.com
1471806Svbart@nginx.com</changes>
1481806Svbart@nginx.com
1491806Svbart@nginx.com
1501798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
1511798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1521798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1531798Sdefan@nginx.com
1541798Sdefan@nginx.com<change>
1551798Sdefan@nginx.com<para>
1561798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
1571798Sdefan@nginx.com</para>
1581798Sdefan@nginx.com</change>
1591798Sdefan@nginx.com
1601798Sdefan@nginx.com</changes>
1611798Sdefan@nginx.com
1621798Sdefan@nginx.com
1631763Sdefan@nginx.com<changes apply="unit-php
1641763Sdefan@nginx.com                unit-python unit-python2.7
1651763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1661763Sdefan@nginx.com                unit-python3.8
1671763Sdefan@nginx.com                unit-go
1681763Sdefan@nginx.com                unit-perl
1691763Sdefan@nginx.com                unit-ruby
1701763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1711763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
1721763Sdefan@nginx.com         ver="1.22.0" rev="1"
1731793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1741763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1751763Sdefan@nginx.com
1761763Sdefan@nginx.com<change>
1771763Sdefan@nginx.com<para>
1781763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
1791763Sdefan@nginx.com</para>
1801763Sdefan@nginx.com</change>
1811763Sdefan@nginx.com
1821763Sdefan@nginx.com</changes>
1831763Sdefan@nginx.com
1841763Sdefan@nginx.com
1851727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
1861793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1871727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1881727Svbart@nginx.com
1891759Svbart@nginx.com<change type="feature">
1901759Svbart@nginx.com<para>
1911792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
1921792Svbart@nginx.comcompliant with Stream API.
1931759Svbart@nginx.com</para>
1941759Svbart@nginx.com</change>
1951759Svbart@nginx.com
1961766Smax.romanov@nginx.com<change type="feature">
1971766Smax.romanov@nginx.com<para>
1981792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
1991792Svbart@nginx.comapps.
2001732Svbart@nginx.com</para>
2011732Svbart@nginx.com</change>
2021732Svbart@nginx.com
2031733Svbart@nginx.com<change type="bugfix">
2041733Svbart@nginx.com<para>
2051792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
2061792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
2071754Smax.romanov@nginx.com</para>
2081754Smax.romanov@nginx.com</change>
2091754Smax.romanov@nginx.com
2101755Smax.romanov@nginx.com<change type="bugfix">
2111755Smax.romanov@nginx.com<para>
2121790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
2131755Smax.romanov@nginx.comappeared in 1.19.0.
2141755Smax.romanov@nginx.com</para>
2151755Smax.romanov@nginx.com</change>
2161755Smax.romanov@nginx.com
2171756Smax.romanov@nginx.com<change type="bugfix">
2181756Smax.romanov@nginx.com<para>
2191790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
2201790Sartem.konev@nginx.comappeared in 1.19.0.
2211756Smax.romanov@nginx.com</para>
2221756Smax.romanov@nginx.com</change>
2231756Smax.romanov@nginx.com
2241760Smax.romanov@nginx.com<change type="bugfix">
2251760Smax.romanov@nginx.com<para>
2261792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
2271792Svbart@nginx.com</para>
2281792Svbart@nginx.com</change>
2291792Svbart@nginx.com
2301792Svbart@nginx.com<change type="bugfix">
2311792Svbart@nginx.com<para>
2321792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
2331792Svbart@nginx.commissing in the PHP module.
2341792Svbart@nginx.com</para>
2351792Svbart@nginx.com</change>
2361792Svbart@nginx.com
2371792Svbart@nginx.com<change type="bugfix">
2381792Svbart@nginx.com<para>
2391792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
2401792Svbart@nginx.com</para>
2411792Svbart@nginx.com</change>
2421792Svbart@nginx.com
2431792Svbart@nginx.com<change type="bugfix">
2441792Svbart@nginx.com<para>
2451792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
2461792Svbart@nginx.com</para>
2471792Svbart@nginx.com</change>
2481792Svbart@nginx.com
2491792Svbart@nginx.com<change type="bugfix">
2501792Svbart@nginx.com<para>
2511792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
2521792Svbart@nginx.comthe bug had appeared in 1.21.0.
2531760Smax.romanov@nginx.com</para>
2541760Smax.romanov@nginx.com</change>
2551760Smax.romanov@nginx.com
2561780Smax.romanov@nginx.com<change type="bugfix">
2571780Smax.romanov@nginx.com<para>
2581790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
2591790Sartem.konev@nginx.comWebSocket.
2601780Smax.romanov@nginx.com</para>
2611780Smax.romanov@nginx.com</change>
2621780Smax.romanov@nginx.com
2631789Smax.romanov@nginx.com<change type="bugfix">
2641789Smax.romanov@nginx.com<para>
2651789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
2661789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
2671789Smax.romanov@nginx.com</para>
2681789Smax.romanov@nginx.com</change>
2691789Smax.romanov@nginx.com
2701727Svbart@nginx.com</changes>
2711727Svbart@nginx.com
2721727Svbart@nginx.com
2731722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
2741722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2751722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2761722Svbart@nginx.com
2771722Svbart@nginx.com<change>
2781722Svbart@nginx.com<para>
2791722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
2801722Svbart@nginx.com</para>
2811722Svbart@nginx.com</change>
2821722Svbart@nginx.com
2831722Svbart@nginx.com</changes>
2841722Svbart@nginx.com
2851722Svbart@nginx.com
2861722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
2871722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2881722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2891722Svbart@nginx.com
2901722Svbart@nginx.com<change>
2911722Svbart@nginx.com<para>
2921722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
2931722Svbart@nginx.com</para>
2941722Svbart@nginx.com</change>
2951722Svbart@nginx.com
2961722Svbart@nginx.com</changes>
2971722Svbart@nginx.com
2981722Svbart@nginx.com
2991722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
3001722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3011722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3021722Svbart@nginx.com
3031722Svbart@nginx.com<change>
3041722Svbart@nginx.com<para>
3051722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
3061722Svbart@nginx.com</para>
3071722Svbart@nginx.com</change>
3081722Svbart@nginx.com
3091722Svbart@nginx.com</changes>
3101722Svbart@nginx.com
3111722Svbart@nginx.com
3121722Svbart@nginx.com<changes apply="unit-php
3131722Svbart@nginx.com                unit-python unit-python2.7
3141722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3151722Svbart@nginx.com                unit-python3.8
3161722Svbart@nginx.com                unit-go
3171722Svbart@nginx.com                unit-perl
3181722Svbart@nginx.com                unit-ruby
3191722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
3201722Svbart@nginx.com         ver="1.21.0" rev="1"
3211722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3221722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3231722Svbart@nginx.com
3241722Svbart@nginx.com<change>
3251722Svbart@nginx.com<para>
3261722Svbart@nginx.comNGINX Unit updated to 1.21.0.
3271722Svbart@nginx.com</para>
3281722Svbart@nginx.com</change>
3291722Svbart@nginx.com
3301722Svbart@nginx.com</changes>
3311722Svbart@nginx.com
3321722Svbart@nginx.com
3331722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
3341722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3351722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3361722Svbart@nginx.com
3371722Svbart@nginx.com<change type="change">
3381722Svbart@nginx.com<para>
3391722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
3401722Svbart@nginx.com</para>
3411722Svbart@nginx.com</change>
3421722Svbart@nginx.com
3431722Svbart@nginx.com<change type="change">
3441722Svbart@nginx.com<para>
3451722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
3461722Svbart@nginx.comnames.
3471722Svbart@nginx.com</para>
3481722Svbart@nginx.com</change>
3491722Svbart@nginx.com
3501722Svbart@nginx.com<change type="change">
3511722Svbart@nginx.com<para>
3521722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
3531722Svbart@nginx.comdefault.
3541722Svbart@nginx.com</para>
3551722Svbart@nginx.com</change>
3561722Svbart@nginx.com
3571722Svbart@nginx.com<change type="feature">
3581722Svbart@nginx.com<para>
3591722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
3601722Svbart@nginx.com</para>
3611722Svbart@nginx.com</change>
3621722Svbart@nginx.com
3631722Svbart@nginx.com<change type="feature">
3641722Svbart@nginx.com<para>
3651722Svbart@nginx.comregular expressions in route matching patterns.
3661722Svbart@nginx.com</para>
3671722Svbart@nginx.com</change>
3681722Svbart@nginx.com
3691722Svbart@nginx.com<change type="feature">
3701722Svbart@nginx.com<para>
3711722Svbart@nginx.comcompatibility with Python 3.9.
3721722Svbart@nginx.com</para>
3731722Svbart@nginx.com</change>
3741722Svbart@nginx.com
3751722Svbart@nginx.com<change type="feature">
3761722Svbart@nginx.com<para>
3771722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
3781722Svbart@nginx.com</para>
3791722Svbart@nginx.com</change>
3801722Svbart@nginx.com
3811722Svbart@nginx.com<change type="feature">
3821722Svbart@nginx.com<para>
3831722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
3841722Svbart@nginx.com</para>
3851722Svbart@nginx.com</change>
3861722Svbart@nginx.com
3871722Svbart@nginx.com<change type="feature">
3881722Svbart@nginx.com<para>
3891722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
3901722Svbart@nginx.comcontinues code execution without holding onto the client connection.
3911722Svbart@nginx.com</para>
3921722Svbart@nginx.com</change>
3931722Svbart@nginx.com
3941722Svbart@nginx.com<change type="feature">
3951722Svbart@nginx.com<para>
3961722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
3971722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
3981722Svbart@nginx.com</para>
3991722Svbart@nginx.com</change>
4001722Svbart@nginx.com
4011722Svbart@nginx.com<change type="feature">
4021722Svbart@nginx.com<para>
4031722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
4041722Svbart@nginx.commounting of eponymous filesystems.
4051722Svbart@nginx.com</para>
4061722Svbart@nginx.com</change>
4071722Svbart@nginx.com
4081722Svbart@nginx.com<change type="bugfix">
4091722Svbart@nginx.com<para>
4101722Svbart@nginx.comthe router process could crash when running Go applications under high load;
4111722Svbart@nginx.comthe bug had appeared in 1.19.0.
4121722Svbart@nginx.com</para>
4131722Svbart@nginx.com</change>
4141722Svbart@nginx.com
4151722Svbart@nginx.com<change type="bugfix">
4161722Svbart@nginx.com<para>
4171722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
4181722Svbart@nginx.com</para>
4191722Svbart@nginx.com</change>
4201722Svbart@nginx.com
4211722Svbart@nginx.com<change type="bugfix">
4221722Svbart@nginx.com<para>
4231722Svbart@nginx.comvarious compatibility issues in Java applications.
4241722Svbart@nginx.com</para>
4251722Svbart@nginx.com</change>
4261722Svbart@nginx.com
4271722Svbart@nginx.com<change type="bugfix">
4281722Svbart@nginx.com<para>
4291722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
4301722Svbart@nginx.comuse "rootfs" isolation.
4311722Svbart@nginx.com</para>
4321722Svbart@nginx.com</change>
4331722Svbart@nginx.com
4341722Svbart@nginx.com</changes>
4351722Svbart@nginx.com
4361722Svbart@nginx.com
4371330Svbart@nginx.com<changes apply="unit-php
4381330Svbart@nginx.com                unit-python unit-python2.7
4391330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4401330Svbart@nginx.com                unit-python3.8
4411330Svbart@nginx.com                unit-go
4421330Svbart@nginx.com                unit-perl
4431330Svbart@nginx.com                unit-ruby
4441330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4451640Svbart@nginx.com         ver="1.20.0" rev="1"
4461640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
4471640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4481640Svbart@nginx.com
4491640Svbart@nginx.com<change>
4501640Svbart@nginx.com<para>
4511640Svbart@nginx.comNGINX Unit updated to 1.20.0.
4521640Svbart@nginx.com</para>
4531640Svbart@nginx.com</change>
4541640Svbart@nginx.com
4551640Svbart@nginx.com</changes>
4561640Svbart@nginx.com
4571640Svbart@nginx.com
4581640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
4591640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
4601640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4611640Svbart@nginx.com
4621640Svbart@nginx.com<change type="change">
4631640Svbart@nginx.com<para>
4641640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
4651640Svbart@nginx.comextensions from the host system.
4661640Svbart@nginx.com</para>
4671640Svbart@nginx.com</change>
4681640Svbart@nginx.com
4691640Svbart@nginx.com<change type="change">
4701640Svbart@nginx.com<para>
4711640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
4721640Svbart@nginx.com</para>
4731640Svbart@nginx.com</change>
4741640Svbart@nginx.com
4751643Svbart@nginx.com<change type="change">
4761643Svbart@nginx.com<para>
4771643Svbart@nginx.comfunctional tests migrated to the pytest framework.
4781643Svbart@nginx.com</para>
4791643Svbart@nginx.com</change>
4801643Svbart@nginx.com
4811640Svbart@nginx.com<change type="feature">
4821640Svbart@nginx.com<para>
4831640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
4841640Svbart@nginx.cominterface.
4851640Svbart@nginx.com</para>
4861640Svbart@nginx.com</change>
4871640Svbart@nginx.com
4881640Svbart@nginx.com<change type="feature">
4891640Svbart@nginx.com<para>
4901640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
4911640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
4921640Svbart@nginx.comspecification.
4931640Svbart@nginx.com</para>
4941640Svbart@nginx.com</change>
4951640Svbart@nginx.com
4961640Svbart@nginx.com<change type="feature">
4971640Svbart@nginx.com<para>
4981640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
4991640Svbart@nginx.comenvironments.
5001640Svbart@nginx.com</para>
5011640Svbart@nginx.com</change>
5021640Svbart@nginx.com
5031640Svbart@nginx.com<change type="feature">
5041640Svbart@nginx.com<para>
5051640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
5061640Svbart@nginx.com</para>
5071640Svbart@nginx.com</change>
5081640Svbart@nginx.com
5091640Svbart@nginx.com<change type="feature">
5101640Svbart@nginx.com<para>
5111640Svbart@nginx.comthe "callable" option sets Python application callable names.
5121640Svbart@nginx.com</para>
5131640Svbart@nginx.com</change>
5141640Svbart@nginx.com
5151640Svbart@nginx.com<change type="feature">
5161640Svbart@nginx.com<para>
5171640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
5181640Svbart@nginx.com</para>
5191640Svbart@nginx.com</change>
5201640Svbart@nginx.com
5211640Svbart@nginx.com<change type="feature">
5221640Svbart@nginx.com<para>
5231640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
5241640Svbart@nginx.comautomatic mounting of language module dependencies.
5251640Svbart@nginx.com</para>
5261640Svbart@nginx.com</change>
5271640Svbart@nginx.com
5281640Svbart@nginx.com<change type="bugfix">
5291640Svbart@nginx.com<para>
5301640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
5311640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
5321640Svbart@nginx.com</para>
5331640Svbart@nginx.com</change>
5341640Svbart@nginx.com
5351640Svbart@nginx.com<change type="bugfix">
5361640Svbart@nginx.com<para>
5371640Svbart@nginx.comthe router process could crash during reconfiguration.
5381640Svbart@nginx.com</para>
5391640Svbart@nginx.com</change>
5401640Svbart@nginx.com
5411640Svbart@nginx.com<change type="bugfix">
5421640Svbart@nginx.com<para>
5431640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
5441640Svbart@nginx.com</para>
5451640Svbart@nginx.com</change>
5461640Svbart@nginx.com
5471640Svbart@nginx.com<change type="bugfix">
5481640Svbart@nginx.com<para>
5491640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
5501640Svbart@nginx.comthe bug had appeared in 1.19.0.
5511640Svbart@nginx.com</para>
5521640Svbart@nginx.com</change>
5531640Svbart@nginx.com
5541640Svbart@nginx.com<change type="bugfix">
5551640Svbart@nginx.com<para>
5561640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
5571640Svbart@nginx.comthe bug had appeared in 1.16.0.
5581640Svbart@nginx.com</para>
5591640Svbart@nginx.com</change>
5601640Svbart@nginx.com
5611640Svbart@nginx.com</changes>
5621640Svbart@nginx.com
5631640Svbart@nginx.com
5641640Svbart@nginx.com<changes apply="unit-php
5651640Svbart@nginx.com                unit-python unit-python2.7
5661640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5671640Svbart@nginx.com                unit-python3.8
5681640Svbart@nginx.com                unit-go
5691640Svbart@nginx.com                unit-perl
5701640Svbart@nginx.com                unit-ruby
5711640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5721570Svbart@nginx.com         ver="1.19.0" rev="1"
5731570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
5741570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5751570Svbart@nginx.com
5761570Svbart@nginx.com<change>
5771570Svbart@nginx.com<para>
5781570Svbart@nginx.comNGINX Unit updated to 1.19.0.
5791570Svbart@nginx.com</para>
5801570Svbart@nginx.com</change>
5811570Svbart@nginx.com
5821570Svbart@nginx.com</changes>
5831570Svbart@nginx.com
5841570Svbart@nginx.com
5851570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
5861570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
5871570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5881570Svbart@nginx.com
5891570Svbart@nginx.com<change type="feature">
5901570Svbart@nginx.com<para>
5911570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
5921570Svbart@nginx.comincrease performance, and improve scalability.
5931570Svbart@nginx.com</para>
5941570Svbart@nginx.com</change>
5951570Svbart@nginx.com
5961570Svbart@nginx.com<change type="feature">
5971570Svbart@nginx.com<para>
5981570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
5991570Svbart@nginx.com</para>
6001570Svbart@nginx.com</change>
6011570Svbart@nginx.com
6021570Svbart@nginx.com<change type="feature">
6031570Svbart@nginx.com<para>
6041570Svbart@nginx.comchunked transfer encoding in proxy responses.
6051570Svbart@nginx.com</para>
6061570Svbart@nginx.com</change>
6071570Svbart@nginx.com
6081570Svbart@nginx.com<change type="feature">
6091570Svbart@nginx.com<para>
6101570Svbart@nginx.combasic variables support in the "pass" option.
6111570Svbart@nginx.com</para>
6121570Svbart@nginx.com</change>
6131570Svbart@nginx.com
6141570Svbart@nginx.com<change type="feature">
6151570Svbart@nginx.com<para>
6161570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
6171570Svbart@nginx.comThanks to Remi Collet.
6181570Svbart@nginx.com</para>
6191570Svbart@nginx.com</change>
6201570Svbart@nginx.com
6211570Svbart@nginx.com<change type="bugfix">
6221570Svbart@nginx.com<para>
6231570Svbart@nginx.comthe router process could crash while passing requests to an application under
6241570Svbart@nginx.comhigh load.
6251570Svbart@nginx.com</para>
6261570Svbart@nginx.com</change>
6271570Svbart@nginx.com
6281570Svbart@nginx.com<change type="bugfix">
6291570Svbart@nginx.com<para>
6301570Svbart@nginx.coma number of language modules failed to build on some systems;
6311570Svbart@nginx.comthe bug had appeared in 1.18.0.
6321570Svbart@nginx.com</para>
6331570Svbart@nginx.com</change>
6341570Svbart@nginx.com
6351570Svbart@nginx.com<change type="bugfix">
6361570Svbart@nginx.com<para>
6371570Svbart@nginx.comtime in error log messages from PHP applications could lag.
6381570Svbart@nginx.com</para>
6391570Svbart@nginx.com</change>
6401570Svbart@nginx.com
6411570Svbart@nginx.com<change type="bugfix">
6421570Svbart@nginx.com<para>
6431570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
6441570Svbart@nginx.comthe bug had appeared in 1.18.0.
6451570Svbart@nginx.com</para>
6461570Svbart@nginx.com</change>
6471570Svbart@nginx.com
6481570Svbart@nginx.com<change type="bugfix">
6491570Svbart@nginx.com<para>
6501570Svbart@nginx.commemory leak during reconfiguration.
6511570Svbart@nginx.com</para>
6521570Svbart@nginx.com</change>
6531570Svbart@nginx.com
6541570Svbart@nginx.com<change type="bugfix">
6551570Svbart@nginx.com<para>
6561570Svbart@nginx.comthe daemon didn't start without language modules;
6571570Svbart@nginx.comthe bug had appeared in 1.18.0.
6581570Svbart@nginx.com</para>
6591570Svbart@nginx.com</change>
6601570Svbart@nginx.com
6611570Svbart@nginx.com<change type="bugfix">
6621570Svbart@nginx.com<para>
6631570Svbart@nginx.comthe router process could crash at exit.
6641570Svbart@nginx.com</para>
6651570Svbart@nginx.com</change>
6661570Svbart@nginx.com
6671570Svbart@nginx.com<change type="bugfix">
6681570Svbart@nginx.com<para>
6691570Svbart@nginx.comNode.js applications could crash at exit.
6701570Svbart@nginx.com</para>
6711570Svbart@nginx.com</change>
6721570Svbart@nginx.com
6731570Svbart@nginx.com<change type="bugfix">
6741570Svbart@nginx.com<para>
6751570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
6761570Svbart@nginx.com</para>
6771570Svbart@nginx.com</change>
6781570Svbart@nginx.com
6791570Svbart@nginx.com</changes>
6801570Svbart@nginx.com
6811570Svbart@nginx.com
6821570Svbart@nginx.com<changes apply="unit-php
6831570Svbart@nginx.com                unit-python unit-python2.7
6841570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6851570Svbart@nginx.com                unit-python3.8
6861570Svbart@nginx.com                unit-go
6871570Svbart@nginx.com                unit-perl
6881570Svbart@nginx.com                unit-ruby
6891570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6901491Svbart@nginx.com         ver="1.18.0" rev="1"
6911491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
6921491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6931491Svbart@nginx.com
6941491Svbart@nginx.com<change>
6951491Svbart@nginx.com<para>
6961491Svbart@nginx.comNGINX Unit updated to 1.18.0.
6971491Svbart@nginx.com</para>
6981491Svbart@nginx.com</change>
6991491Svbart@nginx.com
7001491Svbart@nginx.com</changes>
7011491Svbart@nginx.com
7021491Svbart@nginx.com
7031491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
7041491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
7051491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7061491Svbart@nginx.com
7071491Svbart@nginx.com<change type="feature">
7081491Svbart@nginx.com<para>
7091491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
7101491Svbart@nginx.com</para>
7111491Svbart@nginx.com</change>
7121491Svbart@nginx.com
7131491Svbart@nginx.com<change type="feature">
7141491Svbart@nginx.com<para>
7151491Svbart@nginx.commultiple "targets" in PHP applications.
7161491Svbart@nginx.com</para>
7171491Svbart@nginx.com</change>
7181491Svbart@nginx.com
7191491Svbart@nginx.com<change type="feature">
7201491Svbart@nginx.com<para>
7211491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
7221491Svbart@nginx.comand in the "pass" option.
7231491Svbart@nginx.com</para>
7241491Svbart@nginx.com</change>
7251491Svbart@nginx.com
7261491Svbart@nginx.com</changes>
7271491Svbart@nginx.com
7281491Svbart@nginx.com
7291491Svbart@nginx.com<changes apply="unit-php
7301491Svbart@nginx.com                unit-python unit-python2.7
7311491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7321491Svbart@nginx.com                unit-python3.8
7331491Svbart@nginx.com                unit-go
7341491Svbart@nginx.com                unit-perl
7351491Svbart@nginx.com                unit-ruby
7361491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7371460Svbart@nginx.com         ver="1.17.0" rev="1"
7381460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
7391460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7401460Svbart@nginx.com
7411460Svbart@nginx.com<change>
7421460Svbart@nginx.com<para>
7431460Svbart@nginx.comNGINX Unit updated to 1.17.0.
7441460Svbart@nginx.com</para>
7451460Svbart@nginx.com</change>
7461460Svbart@nginx.com
7471460Svbart@nginx.com</changes>
7481460Svbart@nginx.com
7491460Svbart@nginx.com
7501460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
7511460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
7521460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7531460Svbart@nginx.com
7541460Svbart@nginx.com<change type="feature">
7551460Svbart@nginx.com<para>
7561460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
7571460Svbart@nginx.comredirection.
7581460Svbart@nginx.com</para>
7591460Svbart@nginx.com</change>
7601460Svbart@nginx.com
7611460Svbart@nginx.com<change type="feature">
7621460Svbart@nginx.com<para>
7631460Svbart@nginx.comfractional weights support for upstream servers.
7641460Svbart@nginx.com</para>
7651460Svbart@nginx.com</change>
7661460Svbart@nginx.com
7671460Svbart@nginx.com<change type="bugfix">
7681460Svbart@nginx.com<para>
7691460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
7701460Svbart@nginx.comhigh load.
7711460Svbart@nginx.com</para>
7721460Svbart@nginx.com</change>
7731460Svbart@nginx.com
7741460Svbart@nginx.com<change type="bugfix">
7751460Svbart@nginx.com<para>
7761460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
7771460Svbart@nginx.com</para>
7781460Svbart@nginx.com</change>
7791460Svbart@nginx.com
7801460Svbart@nginx.com<change type="bugfix">
7811460Svbart@nginx.com<para>
7821460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
7831460Svbart@nginx.comopen connections limit.
7841460Svbart@nginx.com</para>
7851460Svbart@nginx.com</change>
7861460Svbart@nginx.com
7871460Svbart@nginx.com<change type="bugfix">
7881460Svbart@nginx.com<para>
7891460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
7901460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
7911460Svbart@nginx.com</para>
7921460Svbart@nginx.com</change>
7931460Svbart@nginx.com
7941460Svbart@nginx.com<change type="bugfix">
7951460Svbart@nginx.com<para>
7961460Svbart@nginx.comexisting application processes didn't reopen the log file.
7971460Svbart@nginx.com</para>
7981460Svbart@nginx.com</change>
7991460Svbart@nginx.com
8001460Svbart@nginx.com<change type="bugfix">
8011460Svbart@nginx.com<para>
8021460Svbart@nginx.comincompatibility with some Node.js applications.
8031460Svbart@nginx.com</para>
8041460Svbart@nginx.com</change>
8051460Svbart@nginx.com
8061460Svbart@nginx.com<change type="bugfix">
8071460Svbart@nginx.com<para>
8081460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
8091460Svbart@nginx.com</para>
8101460Svbart@nginx.com</change>
8111460Svbart@nginx.com
8121460Svbart@nginx.com</changes>
8131460Svbart@nginx.com
8141460Svbart@nginx.com
8151460Svbart@nginx.com<changes apply="unit-php
8161460Svbart@nginx.com                unit-python unit-python2.7
8171460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8181460Svbart@nginx.com                unit-python3.8
8191460Svbart@nginx.com                unit-go
8201460Svbart@nginx.com                unit-perl
8211460Svbart@nginx.com                unit-ruby
8221460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8231404Svbart@nginx.com         ver="1.16.0" rev="1"
8241404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
8251404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8261404Svbart@nginx.com
8271404Svbart@nginx.com<change>
8281404Svbart@nginx.com<para>
8291404Svbart@nginx.comNGINX Unit updated to 1.16.0.
8301404Svbart@nginx.com</para>
8311404Svbart@nginx.com</change>
8321404Svbart@nginx.com
8331404Svbart@nginx.com</changes>
8341404Svbart@nginx.com
8351404Svbart@nginx.com
8361404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
8371404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
8381404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8391404Svbart@nginx.com
8401404Svbart@nginx.com<change type="feature">
8411404Svbart@nginx.com<para>
8421404Svbart@nginx.combasic load-balancing support with round-robin.
8431404Svbart@nginx.com</para>
8441404Svbart@nginx.com</change>
8451404Svbart@nginx.com
8461404Svbart@nginx.com<change type="feature">
8471404Svbart@nginx.com<para>
8481404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
8491404Svbart@nginx.comserved from the "share" directory.
8501404Svbart@nginx.com</para>
8511404Svbart@nginx.com</change>
8521404Svbart@nginx.com
8531404Svbart@nginx.com<change type="feature">
8541404Svbart@nginx.com<para>
8551404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
8561404Svbart@nginx.com</para>
8571404Svbart@nginx.com</change>
8581404Svbart@nginx.com
8591404Svbart@nginx.com<change type="feature">
8601404Svbart@nginx.com<para>
8611404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
8621404Svbart@nginx.com</para>
8631404Svbart@nginx.com</change>
8641404Svbart@nginx.com
8651404Svbart@nginx.com<change type="bugfix">
8661404Svbart@nginx.com<para>
8671404Svbart@nginx.comnegative address matching in router might work improperly in combination with
8681404Svbart@nginx.comnon-negative patterns.
8691404Svbart@nginx.com</para>
8701404Svbart@nginx.com</change>
8711404Svbart@nginx.com
8721404Svbart@nginx.com<change type="bugfix">
8731404Svbart@nginx.com<para>
8741404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
8751404Svbart@nginx.com</para>
8761404Svbart@nginx.com</change>
8771404Svbart@nginx.com
8781404Svbart@nginx.com<change type="bugfix">
8791404Svbart@nginx.com<para>
8801404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
8811404Svbart@nginx.com</para>
8821404Svbart@nginx.com</change>
8831404Svbart@nginx.com
8841404Svbart@nginx.com<change type="bugfix">
8851404Svbart@nginx.com<para>
8861404Svbart@nginx.comcompatibility issues with some Python applications.
8871404Svbart@nginx.com</para>
8881404Svbart@nginx.com</change>
8891404Svbart@nginx.com
8901404Svbart@nginx.com</changes>
8911404Svbart@nginx.com
8921404Svbart@nginx.com
8931404Svbart@nginx.com<changes apply="unit-php
8941404Svbart@nginx.com                unit-python unit-python2.7
8951404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8961404Svbart@nginx.com                unit-python3.8
8971404Svbart@nginx.com                unit-go
8981404Svbart@nginx.com                unit-perl
8991404Svbart@nginx.com                unit-ruby
9001404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9011357Svbart@nginx.com         ver="1.15.0" rev="1"
9021357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
9031357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9041357Svbart@nginx.com
9051357Svbart@nginx.com<change>
9061357Svbart@nginx.com<para>
9071357Svbart@nginx.comNGINX Unit updated to 1.15.0.
9081357Svbart@nginx.com</para>
9091357Svbart@nginx.com</change>
9101357Svbart@nginx.com
9111357Svbart@nginx.com</changes>
9121357Svbart@nginx.com
9131357Svbart@nginx.com
9141357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
9151357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
9161357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9171357Svbart@nginx.com
9181357Svbart@nginx.com<change type="change">
9191357Svbart@nginx.com<para>
9201357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
9211357Svbart@nginx.com</para>
9221357Svbart@nginx.com</change>
9231357Svbart@nginx.com
9241357Svbart@nginx.com<change type="feature">
9251357Svbart@nginx.com<para>
9261357Svbart@nginx.comcompatibility with Ruby 2.7.
9271357Svbart@nginx.com</para>
9281357Svbart@nginx.com</change>
9291357Svbart@nginx.com
9301357Svbart@nginx.com<change type="bugfix">
9311357Svbart@nginx.com<para>
9321357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
9331357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
9341357Svbart@nginx.com</para>
9351357Svbart@nginx.com</change>
9361357Svbart@nginx.com
9371357Svbart@nginx.com<change type="bugfix">
9381357Svbart@nginx.com<para>
9391357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
9401357Svbart@nginx.com</para>
9411357Svbart@nginx.com</change>
9421357Svbart@nginx.com
9431357Svbart@nginx.com</changes>
9441357Svbart@nginx.com
9451357Svbart@nginx.com
9461357Svbart@nginx.com<changes apply="unit-php
9471357Svbart@nginx.com                unit-python unit-python2.7
9481357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9491357Svbart@nginx.com                unit-python3.8
9501357Svbart@nginx.com                unit-go
9511357Svbart@nginx.com                unit-perl
9521357Svbart@nginx.com                unit-ruby
9531357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9541330Svbart@nginx.com         ver="1.14.0" rev="1"
9551330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
9561330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9571330Svbart@nginx.com
9581330Svbart@nginx.com<change>
9591330Svbart@nginx.com<para>
9601330Svbart@nginx.comNGINX Unit updated to 1.14.0.
9611330Svbart@nginx.com</para>
9621330Svbart@nginx.com</change>
9631330Svbart@nginx.com
9641330Svbart@nginx.com</changes>
9651330Svbart@nginx.com
9661330Svbart@nginx.com
9671330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
9681330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
9691330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9701330Svbart@nginx.com
9711330Svbart@nginx.com<change type="change">
9721330Svbart@nginx.com<para>
9731330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
9741330Svbart@nginx.com</para>
9751330Svbart@nginx.com</change>
9761330Svbart@nginx.com
9771330Svbart@nginx.com<change type="change">
9781330Svbart@nginx.com<para>
9791330Svbart@nginx.comGo package now links to libunit instead of including library sources.
9801330Svbart@nginx.com</para>
9811330Svbart@nginx.com</change>
9821330Svbart@nginx.com
9831330Svbart@nginx.com<change type="feature">
9841330Svbart@nginx.com<para>
9851330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
9861330Svbart@nginx.comruns as an unprivileged user.
9871330Svbart@nginx.com</para>
9881330Svbart@nginx.com</change>
9891330Svbart@nginx.com
9901330Svbart@nginx.com<change type="feature">
9911330Svbart@nginx.com<para>
9921330Svbart@nginx.comrequest routing by source and destination addresses and ports.
9931330Svbart@nginx.com</para>
9941330Svbart@nginx.com</change>
9951330Svbart@nginx.com
9961330Svbart@nginx.com<change type="bugfix">
9971330Svbart@nginx.com<para>
9981330Svbart@nginx.commemory bloat on large responses.
9991330Svbart@nginx.com</para>
10001330Svbart@nginx.com</change>
10011330Svbart@nginx.com
10021330Svbart@nginx.com</changes>
10031330Svbart@nginx.com
10041330Svbart@nginx.com
10051290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
10061290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
10071290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10081290Sdefan@nginx.com
10091290Sdefan@nginx.com<change>
10101290Sdefan@nginx.com<para>
10111290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
10121290Sdefan@nginx.com</para>
10131290Sdefan@nginx.com</change>
10141290Sdefan@nginx.com
10151290Sdefan@nginx.com</changes>
10161290Sdefan@nginx.com
10171290Sdefan@nginx.com
10181290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
10191290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
10201290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10211290Sdefan@nginx.com
10221290Sdefan@nginx.com<change>
10231290Sdefan@nginx.com<para>
10241290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
10251290Sdefan@nginx.com</para>
10261290Sdefan@nginx.com</change>
10271290Sdefan@nginx.com
10281290Sdefan@nginx.com</changes>
10291290Sdefan@nginx.com
10301290Sdefan@nginx.com
10311289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
10321289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
10331289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10341289Sdefan@nginx.com
10351289Sdefan@nginx.com<change>
10361289Sdefan@nginx.com<para>
10371289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
10381289Sdefan@nginx.com</para>
10391289Sdefan@nginx.com</change>
10401289Sdefan@nginx.com
10411289Sdefan@nginx.com</changes>
10421289Sdefan@nginx.com
10431289Sdefan@nginx.com
10441185Svbart@nginx.com<changes apply="unit-php
10451185Svbart@nginx.com                unit-python unit-python2.7
10461185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10471185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
10481185Svbart@nginx.com                unit-perl
10491185Svbart@nginx.com                unit-ruby
10501185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10511284Svbart@nginx.com         ver="1.13.0" rev="1"
10521284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
10531284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10541284Svbart@nginx.com
10551284Svbart@nginx.com<change>
10561284Svbart@nginx.com<para>
10571284Svbart@nginx.comNGINX Unit updated to 1.13.0.
10581284Svbart@nginx.com</para>
10591284Svbart@nginx.com</change>
10601284Svbart@nginx.com
10611284Svbart@nginx.com</changes>
10621284Svbart@nginx.com
10631284Svbart@nginx.com
10641284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
10651284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
10661284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10671284Svbart@nginx.com
10681284Svbart@nginx.com<change type="feature">
10691284Svbart@nginx.com<para>
10701284Svbart@nginx.combasic support for HTTP reverse proxying.
10711284Svbart@nginx.com</para>
10721284Svbart@nginx.com</change>
10731284Svbart@nginx.com
10741284Svbart@nginx.com<change type="feature">
10751284Svbart@nginx.com<para>
10761284Svbart@nginx.comcompatibility with Python 3.8.
10771284Svbart@nginx.com</para>
10781284Svbart@nginx.com</change>
10791284Svbart@nginx.com
10801284Svbart@nginx.com<change type="bugfix">
10811284Svbart@nginx.com<para>
10821284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
10831284Svbart@nginx.com</para>
10841284Svbart@nginx.com</change>
10851284Svbart@nginx.com
10861284Svbart@nginx.com<change type="bugfix">
10871284Svbart@nginx.com<para>
10881284Svbart@nginx.comthreads in Python applications might not work correctly.
10891284Svbart@nginx.com</para>
10901284Svbart@nginx.com</change>
10911284Svbart@nginx.com
10921284Svbart@nginx.com<change type="bugfix">
10931284Svbart@nginx.com<para>
10941284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
10951284Svbart@nginx.com</para>
10961284Svbart@nginx.com</change>
10971284Svbart@nginx.com
10981284Svbart@nginx.com<change type="bugfix">
10991284Svbart@nginx.com<para>
11001284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
11011284Svbart@nginx.comdelays.
11021284Svbart@nginx.com</para>
11031284Svbart@nginx.com</change>
11041284Svbart@nginx.com
11051284Svbart@nginx.com<change type="bugfix">
11061284Svbart@nginx.com<para>
11071284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
11081284Svbart@nginx.com</para>
11091284Svbart@nginx.com</change>
11101284Svbart@nginx.com
11111284Svbart@nginx.com</changes>
11121284Svbart@nginx.com
11131284Svbart@nginx.com
11141284Svbart@nginx.com<changes apply="unit-php
11151284Svbart@nginx.com                unit-python unit-python2.7
11161284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11171284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11181284Svbart@nginx.com                unit-perl
11191284Svbart@nginx.com                unit-ruby
11201284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11211222Svbart@nginx.com         ver="1.12.0" rev="1"
11221222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
11231222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11241222Svbart@nginx.com
11251222Svbart@nginx.com<change>
11261222Svbart@nginx.com<para>
11271222Svbart@nginx.comNGINX Unit updated to 1.12.0.
11281222Svbart@nginx.com</para>
11291222Svbart@nginx.com</change>
11301222Svbart@nginx.com
11311222Svbart@nginx.com</changes>
11321222Svbart@nginx.com
11331222Svbart@nginx.com
11341222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
11351222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
11361222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11371222Svbart@nginx.com
11381222Svbart@nginx.com<change type="feature">
11391222Svbart@nginx.com<para>
11401222Svbart@nginx.comcompatibility with PHP 7.4.
11411222Svbart@nginx.com</para>
11421222Svbart@nginx.com</change>
11431222Svbart@nginx.com
11441222Svbart@nginx.com<change type="bugfix">
11451222Svbart@nginx.com<para>
11461222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
11471222Svbart@nginx.com</para>
11481222Svbart@nginx.com</change>
11491222Svbart@nginx.com
11501222Svbart@nginx.com<change type="bugfix">
11511222Svbart@nginx.com<para>
11521222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
11531222Svbart@nginx.com</para>
11541222Svbart@nginx.com</change>
11551222Svbart@nginx.com
11561222Svbart@nginx.com<change type="bugfix">
11571222Svbart@nginx.com<para>
11581222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
11591222Svbart@nginx.com</para>
11601222Svbart@nginx.com</change>
11611222Svbart@nginx.com
11621222Svbart@nginx.com</changes>
11631222Svbart@nginx.com
11641222Svbart@nginx.com
11651222Svbart@nginx.com
11661222Svbart@nginx.com<changes apply="unit-php
11671222Svbart@nginx.com                unit-python unit-python2.7
11681222Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11691222Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11701222Svbart@nginx.com                unit-perl
11711222Svbart@nginx.com                unit-ruby
11721222Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11731185Svbart@nginx.com         ver="1.11.0" rev="1"
11741185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
11751185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
11761185Svbart@nginx.com
11771185Svbart@nginx.com<change>
11781185Svbart@nginx.com<para>
11791185Svbart@nginx.comNGINX Unit updated to 1.11.0.
11801185Svbart@nginx.com</para>
11811185Svbart@nginx.com</change>
11821185Svbart@nginx.com
11831185Svbart@nginx.com</changes>
11841185Svbart@nginx.com
11851185Svbart@nginx.com
11861185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1"
11871185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
11881185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
11891185Svbart@nginx.com
11901185Svbart@nginx.com<change type="feature">
11911185Svbart@nginx.com<para>
11921185Svbart@nginx.combasic support for serving static files.
11931185Svbart@nginx.com</para>
11941185Svbart@nginx.com</change>
11951185Svbart@nginx.com
11961185Svbart@nginx.com<change type="feature">
11971185Svbart@nginx.com<para>
11981185Svbart@nginx.comisolation of application processes with Linux namespaces.
11991185Svbart@nginx.com</para>
12001185Svbart@nginx.com</change>
12011185Svbart@nginx.com
12021185Svbart@nginx.com<change type="feature">
12031185Svbart@nginx.com<para>
12041185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers.
12051185Svbart@nginx.com</para>
12061185Svbart@nginx.com</change>
12071185Svbart@nginx.com
12081185Svbart@nginx.com<change type="feature">
12091185Svbart@nginx.com<para>
12101185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/"
12111185Svbart@nginx.comusing URI encoding (%2F).
12121185Svbart@nginx.com</para>
12131185Svbart@nginx.com</change>
12141185Svbart@nginx.com
12151185Svbart@nginx.com<change type="bugfix">
12161185Svbart@nginx.com<para>
12171185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load.
12181185Svbart@nginx.com</para>
12191185Svbart@nginx.com</change>
12201185Svbart@nginx.com
12211185Svbart@nginx.com<change type="bugfix">
12221185Svbart@nginx.com<para>
12231185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than
12241185Svbart@nginx.comGNU ld (e.g. gold or LLD).
12251185Svbart@nginx.com</para>
12261185Svbart@nginx.com</change>
12271185Svbart@nginx.com
12281185Svbart@nginx.com</changes>
12291185Svbart@nginx.com
12301185Svbart@nginx.com
12311142Sdefan@nginx.com<changes apply="unit
12321142Sdefan@nginx.com                unit-php
12331142Sdefan@nginx.com                unit-python unit-python2.7
12341142Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12351142Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12361142Sdefan@nginx.com                unit-perl
12371142Sdefan@nginx.com                unit-ruby
12381142Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12391142Sdefan@nginx.com         ver="1.10.0" rev="2"
12401142Sdefan@nginx.com         date="2019-08-23" time="12:00:00 +0300"
12411142Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12421142Sdefan@nginx.com
12431142Sdefan@nginx.com<change type="bugfix">
12441142Sdefan@nginx.com<para>
12451142Sdefan@nginx.commissed header files added to unit development package.
12461142Sdefan@nginx.com</para>
12471142Sdefan@nginx.com</change>
12481142Sdefan@nginx.com
12491142Sdefan@nginx.com</changes>
12501142Sdefan@nginx.com
12511142Sdefan@nginx.com
12521134Svbart@nginx.com<changes apply="unit-php
12531134Svbart@nginx.com                unit-python unit-python2.7
12541134Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12551134Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12561134Svbart@nginx.com                unit-perl
12571134Svbart@nginx.com                unit-ruby
12581134Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12591134Svbart@nginx.com         ver="1.10.0" rev="1"
12601134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
12611134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12621134Svbart@nginx.com
12631134Svbart@nginx.com<change>
12641134Svbart@nginx.com<para>
12651134Svbart@nginx.comNGINX Unit updated to 1.10.0.
12661134Svbart@nginx.com</para>
12671134Svbart@nginx.com</change>
12681134Svbart@nginx.com
12691134Svbart@nginx.com</changes>
12701134Svbart@nginx.com
12711134Svbart@nginx.com
12721134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1"
12731134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
12741134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12751134Svbart@nginx.com
12761134Svbart@nginx.com<change type="change">
12771134Svbart@nginx.com<para>
12781134Svbart@nginx.commatching of cookies in routes made case sensitive.
12791134Svbart@nginx.com</para>
12801134Svbart@nginx.com</change>
12811134Svbart@nginx.com
12821134Svbart@nginx.com<change type="change">
12831134Svbart@nginx.com<para>
12841134Svbart@nginx.comdecreased log level of common errors when clients close connections.
12851134Svbart@nginx.com</para>
12861134Svbart@nginx.com</change>
12871134Svbart@nginx.com
12881134Svbart@nginx.com<change type="change">
12891134Svbart@nginx.com<para>
12901134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option.
12911134Svbart@nginx.com</para>
12921134Svbart@nginx.com</change>
12931134Svbart@nginx.com
12941134Svbart@nginx.com<change type="feature">
12951134Svbart@nginx.com<para>
12961134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module.
12971134Svbart@nginx.com</para>
12981134Svbart@nginx.com</change>
12991134Svbart@nginx.com
13001134Svbart@nginx.com<change type="feature">
13011134Svbart@nginx.com<para>
13021134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module.
13031134Svbart@nginx.com</para>
13041134Svbart@nginx.com</change>
13051134Svbart@nginx.com
13061134Svbart@nginx.com<change type="feature">
13071134Svbart@nginx.com<para>
13081134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS).
13091134Svbart@nginx.com</para>
13101134Svbart@nginx.com</change>
13111134Svbart@nginx.com
13121134Svbart@nginx.com<change type="feature">
13131134Svbart@nginx.com<para>
13141134Svbart@nginx.comsupport for multipart requests body in Java module.
13151134Svbart@nginx.com</para>
13161134Svbart@nginx.com</change>
13171134Svbart@nginx.com
13181134Svbart@nginx.com<change type="feature">
13191134Svbart@nginx.com<para>
13201134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later.
13211134Svbart@nginx.com</para>
13221134Svbart@nginx.com</change>
13231134Svbart@nginx.com
13241134Svbart@nginx.com<change type="bugfix">
13251134Svbart@nginx.com<para>
13261134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing.
13271134Svbart@nginx.com</para>
13281134Svbart@nginx.com</change>
13291134Svbart@nginx.com
13301134Svbart@nginx.com<change type="bugfix">
13311134Svbart@nginx.com<para>
13321134Svbart@nginx.comapplying a large configuration might have failed.
13331134Svbart@nginx.com</para>
13341134Svbart@nginx.com</change>
13351134Svbart@nginx.com
13361134Svbart@nginx.com</changes>
13371134Svbart@nginx.com
13381134Svbart@nginx.com
13391069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1"
13401069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
13411069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13421069Svbart@nginx.com
13431069Svbart@nginx.com<change>
13441069Svbart@nginx.com<para>
13451069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit.
13461069Svbart@nginx.com</para>
13471069Svbart@nginx.com</change>
13481069Svbart@nginx.com
13491069Svbart@nginx.com</changes>
13501069Svbart@nginx.com
13511069Svbart@nginx.com
13521069Svbart@nginx.com<changes apply="unit-php
13531069Svbart@nginx.com                unit-python unit-python2.7
13541069Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
13551069Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
1356