xref: /unit/docs/changes.xml (revision 1885)
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
341882So.canty@f5.com<change type="change">
351882So.canty@f5.com<para>
361882So.canty@f5.comPHP added to the default MIME type list.
371882So.canty@f5.com</para>
381882So.canty@f5.com</change>
391882So.canty@f5.com
401855Sz.hong@f5.com<change type="feature">
411855Sz.hong@f5.com<para>
42*1885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
43*1885Sa.suvorov@f5.com</para>
44*1885Sa.suvorov@f5.com</change>
45*1885Sa.suvorov@f5.com
46*1885Sa.suvorov@f5.com<change type="feature">
47*1885Sa.suvorov@f5.com<para>
481872So.canty@f5.commultiple "targets" in Python applications.
491872So.canty@f5.com</para>
501872So.canty@f5.com</change>
511872So.canty@f5.com
521872So.canty@f5.com<change type="feature">
531872So.canty@f5.com<para>
541876So.canty@f5.coma loader for automatic overriding "http" and "websocket" modules in Node.js.
551865So.canty@f5.com</para>
561865So.canty@f5.com</change>
571865So.canty@f5.com
581865So.canty@f5.com<change type="feature">
591865So.canty@f5.com<para>
601859So.canty@f5.comability to limit serving of static files by MIME types.
611859So.canty@f5.com</para>
621859So.canty@f5.com</change>
631859So.canty@f5.com
641859So.canty@f5.com<change type="feature">
651859So.canty@f5.com<para>
661855Sz.hong@f5.comsupport for chrooting, rejecting symlinks, and rejecting crossing mounting
671855Sz.hong@f5.compoints on a per-request basis during static file serving.
681855Sz.hong@f5.com</para>
691855Sz.hong@f5.com</change>
701855Sz.hong@f5.com
711870So.canty@f5.com<change type="feature">
721870So.canty@f5.com<para>
731870So.canty@f5.comcompatibility with Ruby 3.0.
741870So.canty@f5.com</para>
751870So.canty@f5.com</change>
761870So.canty@f5.com
771861Svbart@nginx.com<change type="bugfix">
781861Svbart@nginx.com<para>
791884Sa.suvorov@f5.comthe router process could crash while closing TLS connection.
801884Sa.suvorov@f5.com</para>
811884Sa.suvorov@f5.com</change>
821884Sa.suvorov@f5.com
831884Sa.suvorov@f5.com<change type="bugfix">
841884Sa.suvorov@f5.com<para>
851861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
861861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
871861Svbart@nginx.com</para>
881861Svbart@nginx.com</change>
891861Svbart@nginx.com
901839Svbart@nginx.com</changes>
911839Svbart@nginx.com
921839Svbart@nginx.com
931839Svbart@nginx.com<changes apply="unit-php
941839Svbart@nginx.com                unit-python unit-python2.7
951839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
961839Svbart@nginx.com                unit-python3.8 unit-python3.9
971839Svbart@nginx.com                unit-go
981839Svbart@nginx.com                unit-perl
991839Svbart@nginx.com                unit-ruby
1001839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1011839Svbart@nginx.com                unit-jsc14 unit-jsc15"
1021834Svbart@nginx.com         ver="1.23.0" rev="1"
1031834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
1041834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1051834Svbart@nginx.com
1061834Svbart@nginx.com<change>
1071834Svbart@nginx.com<para>
1081834Svbart@nginx.comNGINX Unit updated to 1.23.0.
1091834Svbart@nginx.com</para>
1101834Svbart@nginx.com</change>
1111834Svbart@nginx.com
1121834Svbart@nginx.com</changes>
1131834Svbart@nginx.com
1141834Svbart@nginx.com
1151806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
1161834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
1171806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1181806Svbart@nginx.com
1191825Sthresh@nginx.com<change type="feature">
1201825Sthresh@nginx.com<para>
1211833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
1221828Sa.suvorov@f5.comIndication (SNI) TLS extension.
1231828Sa.suvorov@f5.com</para>
1241828Sa.suvorov@f5.com</change>
1251828Sa.suvorov@f5.com
1261828Sa.suvorov@f5.com<change type="feature">
1271828Sa.suvorov@f5.com<para>
1281833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
1291833Sartem.konev@nginx.cominstallation.
1301825Sthresh@nginx.com</para>
1311825Sthresh@nginx.com</change>
1321825Sthresh@nginx.com
1331811Smax.romanov@nginx.com<change type="bugfix">
1341811Smax.romanov@nginx.com<para>
1351812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
1361812Svbart@nginx.comappeared in 1.17.0.
1371812Svbart@nginx.com</para>
1381812Svbart@nginx.com</change>
1391812Svbart@nginx.com
1401812Svbart@nginx.com<change type="bugfix">
1411812Svbart@nginx.com<para>
1421833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
1431812Svbart@nginx.comappeared in 1.6.
1441812Svbart@nginx.com</para>
1451812Svbart@nginx.com</change>
1461812Svbart@nginx.com
1471812Svbart@nginx.com<change type="bugfix">
1481812Svbart@nginx.com<para>
1491833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
1501832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
1511832Smax.romanov@nginx.com</para>
1521832Smax.romanov@nginx.com</change>
1531832Smax.romanov@nginx.com
1541832Smax.romanov@nginx.com<change type="bugfix">
1551832Smax.romanov@nginx.com<para>
1561833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
1571811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
1581811Smax.romanov@nginx.com</para>
1591811Smax.romanov@nginx.com</change>
1601806Svbart@nginx.com
1611813Svbart@nginx.com<change type="bugfix">
1621813Svbart@nginx.com<para>
1631813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
1641813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
1651813Svbart@nginx.com</para>
1661813Svbart@nginx.com</change>
1671813Svbart@nginx.com
1681814Svbart@nginx.com<change type="bugfix">
1691814Svbart@nginx.com<para>
1701820Svbart@nginx.comthe controller process could crash while requesting information about a
1711820Svbart@nginx.comcertificate with a non-DNS SAN entry.
1721820Svbart@nginx.com</para>
1731820Svbart@nginx.com</change>
1741820Svbart@nginx.com
1751820Svbart@nginx.com<change type="bugfix">
1761820Svbart@nginx.com<para>
1771822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
1781833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
1791822Svbart@nginx.com</para>
1801822Svbart@nginx.com</change>
1811822Svbart@nginx.com
1821822Svbart@nginx.com<change type="bugfix">
1831822Svbart@nginx.com<para>
1841833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
1851833Sartem.konev@nginx.comclass.
1861814Svbart@nginx.com</para>
1871814Svbart@nginx.com</change>
1881814Svbart@nginx.com
1891815Svbart@nginx.com<change type="bugfix">
1901815Svbart@nginx.com<para>
1911815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
1921815Svbart@nginx.comappeared in 1.22.0.
1931815Svbart@nginx.com</para>
1941815Svbart@nginx.com</change>
1951815Svbart@nginx.com
1961806Svbart@nginx.com</changes>
1971806Svbart@nginx.com
1981806Svbart@nginx.com
1991798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
2001798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2011798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2021798Sdefan@nginx.com
2031798Sdefan@nginx.com<change>
2041798Sdefan@nginx.com<para>
2051798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
2061798Sdefan@nginx.com</para>
2071798Sdefan@nginx.com</change>
2081798Sdefan@nginx.com
2091798Sdefan@nginx.com</changes>
2101798Sdefan@nginx.com
2111798Sdefan@nginx.com
2121763Sdefan@nginx.com<changes apply="unit-php
2131763Sdefan@nginx.com                unit-python unit-python2.7
2141763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2151763Sdefan@nginx.com                unit-python3.8
2161763Sdefan@nginx.com                unit-go
2171763Sdefan@nginx.com                unit-perl
2181763Sdefan@nginx.com                unit-ruby
2191763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2201763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
2211763Sdefan@nginx.com         ver="1.22.0" rev="1"
2221793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2231763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2241763Sdefan@nginx.com
2251763Sdefan@nginx.com<change>
2261763Sdefan@nginx.com<para>
2271763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
2281763Sdefan@nginx.com</para>
2291763Sdefan@nginx.com</change>
2301763Sdefan@nginx.com
2311763Sdefan@nginx.com</changes>
2321763Sdefan@nginx.com
2331763Sdefan@nginx.com
2341727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
2351793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
2361727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2371727Svbart@nginx.com
2381759Svbart@nginx.com<change type="feature">
2391759Svbart@nginx.com<para>
2401792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
2411792Svbart@nginx.comcompliant with Stream API.
2421759Svbart@nginx.com</para>
2431759Svbart@nginx.com</change>
2441759Svbart@nginx.com
2451766Smax.romanov@nginx.com<change type="feature">
2461766Smax.romanov@nginx.com<para>
2471792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
2481792Svbart@nginx.comapps.
2491732Svbart@nginx.com</para>
2501732Svbart@nginx.com</change>
2511732Svbart@nginx.com
2521733Svbart@nginx.com<change type="bugfix">
2531733Svbart@nginx.com<para>
2541792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
2551792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
2561754Smax.romanov@nginx.com</para>
2571754Smax.romanov@nginx.com</change>
2581754Smax.romanov@nginx.com
2591755Smax.romanov@nginx.com<change type="bugfix">
2601755Smax.romanov@nginx.com<para>
2611790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
2621755Smax.romanov@nginx.comappeared in 1.19.0.
2631755Smax.romanov@nginx.com</para>
2641755Smax.romanov@nginx.com</change>
2651755Smax.romanov@nginx.com
2661756Smax.romanov@nginx.com<change type="bugfix">
2671756Smax.romanov@nginx.com<para>
2681790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
2691790Sartem.konev@nginx.comappeared in 1.19.0.
2701756Smax.romanov@nginx.com</para>
2711756Smax.romanov@nginx.com</change>
2721756Smax.romanov@nginx.com
2731760Smax.romanov@nginx.com<change type="bugfix">
2741760Smax.romanov@nginx.com<para>
2751792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
2761792Svbart@nginx.com</para>
2771792Svbart@nginx.com</change>
2781792Svbart@nginx.com
2791792Svbart@nginx.com<change type="bugfix">
2801792Svbart@nginx.com<para>
2811792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
2821792Svbart@nginx.commissing in the PHP module.
2831792Svbart@nginx.com</para>
2841792Svbart@nginx.com</change>
2851792Svbart@nginx.com
2861792Svbart@nginx.com<change type="bugfix">
2871792Svbart@nginx.com<para>
2881792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
2891792Svbart@nginx.com</para>
2901792Svbart@nginx.com</change>
2911792Svbart@nginx.com
2921792Svbart@nginx.com<change type="bugfix">
2931792Svbart@nginx.com<para>
2941792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
2951792Svbart@nginx.com</para>
2961792Svbart@nginx.com</change>
2971792Svbart@nginx.com
2981792Svbart@nginx.com<change type="bugfix">
2991792Svbart@nginx.com<para>
3001792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
3011792Svbart@nginx.comthe bug had appeared in 1.21.0.
3021760Smax.romanov@nginx.com</para>
3031760Smax.romanov@nginx.com</change>
3041760Smax.romanov@nginx.com
3051780Smax.romanov@nginx.com<change type="bugfix">
3061780Smax.romanov@nginx.com<para>
3071790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
3081790Sartem.konev@nginx.comWebSocket.
3091780Smax.romanov@nginx.com</para>
3101780Smax.romanov@nginx.com</change>
3111780Smax.romanov@nginx.com
3121789Smax.romanov@nginx.com<change type="bugfix">
3131789Smax.romanov@nginx.com<para>
3141789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
3151789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
3161789Smax.romanov@nginx.com</para>
3171789Smax.romanov@nginx.com</change>
3181789Smax.romanov@nginx.com
3191727Svbart@nginx.com</changes>
3201727Svbart@nginx.com
3211727Svbart@nginx.com
3221722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
3231722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3241722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3251722Svbart@nginx.com
3261722Svbart@nginx.com<change>
3271722Svbart@nginx.com<para>
3281722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
3291722Svbart@nginx.com</para>
3301722Svbart@nginx.com</change>
3311722Svbart@nginx.com
3321722Svbart@nginx.com</changes>
3331722Svbart@nginx.com
3341722Svbart@nginx.com
3351722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
3361722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3371722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3381722Svbart@nginx.com
3391722Svbart@nginx.com<change>
3401722Svbart@nginx.com<para>
3411722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
3421722Svbart@nginx.com</para>
3431722Svbart@nginx.com</change>
3441722Svbart@nginx.com
3451722Svbart@nginx.com</changes>
3461722Svbart@nginx.com
3471722Svbart@nginx.com
3481722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
3491722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3501722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3511722Svbart@nginx.com
3521722Svbart@nginx.com<change>
3531722Svbart@nginx.com<para>
3541722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
3551722Svbart@nginx.com</para>
3561722Svbart@nginx.com</change>
3571722Svbart@nginx.com
3581722Svbart@nginx.com</changes>
3591722Svbart@nginx.com
3601722Svbart@nginx.com
3611722Svbart@nginx.com<changes apply="unit-php
3621722Svbart@nginx.com                unit-python unit-python2.7
3631722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3641722Svbart@nginx.com                unit-python3.8
3651722Svbart@nginx.com                unit-go
3661722Svbart@nginx.com                unit-perl
3671722Svbart@nginx.com                unit-ruby
3681722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
3691722Svbart@nginx.com         ver="1.21.0" rev="1"
3701722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3711722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3721722Svbart@nginx.com
3731722Svbart@nginx.com<change>
3741722Svbart@nginx.com<para>
3751722Svbart@nginx.comNGINX Unit updated to 1.21.0.
3761722Svbart@nginx.com</para>
3771722Svbart@nginx.com</change>
3781722Svbart@nginx.com
3791722Svbart@nginx.com</changes>
3801722Svbart@nginx.com
3811722Svbart@nginx.com
3821722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
3831722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
3841722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3851722Svbart@nginx.com
3861722Svbart@nginx.com<change type="change">
3871722Svbart@nginx.com<para>
3881722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
3891722Svbart@nginx.com</para>
3901722Svbart@nginx.com</change>
3911722Svbart@nginx.com
3921722Svbart@nginx.com<change type="change">
3931722Svbart@nginx.com<para>
3941722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
3951722Svbart@nginx.comnames.
3961722Svbart@nginx.com</para>
3971722Svbart@nginx.com</change>
3981722Svbart@nginx.com
3991722Svbart@nginx.com<change type="change">
4001722Svbart@nginx.com<para>
4011722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
4021722Svbart@nginx.comdefault.
4031722Svbart@nginx.com</para>
4041722Svbart@nginx.com</change>
4051722Svbart@nginx.com
4061722Svbart@nginx.com<change type="feature">
4071722Svbart@nginx.com<para>
4081722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
4091722Svbart@nginx.com</para>
4101722Svbart@nginx.com</change>
4111722Svbart@nginx.com
4121722Svbart@nginx.com<change type="feature">
4131722Svbart@nginx.com<para>
4141722Svbart@nginx.comregular expressions in route matching patterns.
4151722Svbart@nginx.com</para>
4161722Svbart@nginx.com</change>
4171722Svbart@nginx.com
4181722Svbart@nginx.com<change type="feature">
4191722Svbart@nginx.com<para>
4201722Svbart@nginx.comcompatibility with Python 3.9.
4211722Svbart@nginx.com</para>
4221722Svbart@nginx.com</change>
4231722Svbart@nginx.com
4241722Svbart@nginx.com<change type="feature">
4251722Svbart@nginx.com<para>
4261722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
4271722Svbart@nginx.com</para>
4281722Svbart@nginx.com</change>
4291722Svbart@nginx.com
4301722Svbart@nginx.com<change type="feature">
4311722Svbart@nginx.com<para>
4321722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
4331722Svbart@nginx.com</para>
4341722Svbart@nginx.com</change>
4351722Svbart@nginx.com
4361722Svbart@nginx.com<change type="feature">
4371722Svbart@nginx.com<para>
4381722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
4391722Svbart@nginx.comcontinues code execution without holding onto the client connection.
4401722Svbart@nginx.com</para>
4411722Svbart@nginx.com</change>
4421722Svbart@nginx.com
4431722Svbart@nginx.com<change type="feature">
4441722Svbart@nginx.com<para>
4451722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
4461722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
4471722Svbart@nginx.com</para>
4481722Svbart@nginx.com</change>
4491722Svbart@nginx.com
4501722Svbart@nginx.com<change type="feature">
4511722Svbart@nginx.com<para>
4521722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
4531722Svbart@nginx.commounting of eponymous filesystems.
4541722Svbart@nginx.com</para>
4551722Svbart@nginx.com</change>
4561722Svbart@nginx.com
4571722Svbart@nginx.com<change type="bugfix">
4581722Svbart@nginx.com<para>
4591722Svbart@nginx.comthe router process could crash when running Go applications under high load;
4601722Svbart@nginx.comthe bug had appeared in 1.19.0.
4611722Svbart@nginx.com</para>
4621722Svbart@nginx.com</change>
4631722Svbart@nginx.com
4641722Svbart@nginx.com<change type="bugfix">
4651722Svbart@nginx.com<para>
4661722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
4671722Svbart@nginx.com</para>
4681722Svbart@nginx.com</change>
4691722Svbart@nginx.com
4701722Svbart@nginx.com<change type="bugfix">
4711722Svbart@nginx.com<para>
4721722Svbart@nginx.comvarious compatibility issues in Java applications.
4731722Svbart@nginx.com</para>
4741722Svbart@nginx.com</change>
4751722Svbart@nginx.com
4761722Svbart@nginx.com<change type="bugfix">
4771722Svbart@nginx.com<para>
4781722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
4791722Svbart@nginx.comuse "rootfs" isolation.
4801722Svbart@nginx.com</para>
4811722Svbart@nginx.com</change>
4821722Svbart@nginx.com
4831722Svbart@nginx.com</changes>
4841722Svbart@nginx.com
4851722Svbart@nginx.com
4861330Svbart@nginx.com<changes apply="unit-php
4871330Svbart@nginx.com                unit-python unit-python2.7
4881330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4891330Svbart@nginx.com                unit-python3.8
4901330Svbart@nginx.com                unit-go
4911330Svbart@nginx.com                unit-perl
4921330Svbart@nginx.com                unit-ruby
4931330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4941640Svbart@nginx.com         ver="1.20.0" rev="1"
4951640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
4961640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4971640Svbart@nginx.com
4981640Svbart@nginx.com<change>
4991640Svbart@nginx.com<para>
5001640Svbart@nginx.comNGINX Unit updated to 1.20.0.
5011640Svbart@nginx.com</para>
5021640Svbart@nginx.com</change>
5031640Svbart@nginx.com
5041640Svbart@nginx.com</changes>
5051640Svbart@nginx.com
5061640Svbart@nginx.com
5071640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
5081640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
5091640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5101640Svbart@nginx.com
5111640Svbart@nginx.com<change type="change">
5121640Svbart@nginx.com<para>
5131640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
5141640Svbart@nginx.comextensions from the host system.
5151640Svbart@nginx.com</para>
5161640Svbart@nginx.com</change>
5171640Svbart@nginx.com
5181640Svbart@nginx.com<change type="change">
5191640Svbart@nginx.com<para>
5201640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
5211640Svbart@nginx.com</para>
5221640Svbart@nginx.com</change>
5231640Svbart@nginx.com
5241643Svbart@nginx.com<change type="change">
5251643Svbart@nginx.com<para>
5261643Svbart@nginx.comfunctional tests migrated to the pytest framework.
5271643Svbart@nginx.com</para>
5281643Svbart@nginx.com</change>
5291643Svbart@nginx.com
5301640Svbart@nginx.com<change type="feature">
5311640Svbart@nginx.com<para>
5321640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
5331640Svbart@nginx.cominterface.
5341640Svbart@nginx.com</para>
5351640Svbart@nginx.com</change>
5361640Svbart@nginx.com
5371640Svbart@nginx.com<change type="feature">
5381640Svbart@nginx.com<para>
5391640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
5401640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
5411640Svbart@nginx.comspecification.
5421640Svbart@nginx.com</para>
5431640Svbart@nginx.com</change>
5441640Svbart@nginx.com
5451640Svbart@nginx.com<change type="feature">
5461640Svbart@nginx.com<para>
5471640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
5481640Svbart@nginx.comenvironments.
5491640Svbart@nginx.com</para>
5501640Svbart@nginx.com</change>
5511640Svbart@nginx.com
5521640Svbart@nginx.com<change type="feature">
5531640Svbart@nginx.com<para>
5541640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
5551640Svbart@nginx.com</para>
5561640Svbart@nginx.com</change>
5571640Svbart@nginx.com
5581640Svbart@nginx.com<change type="feature">
5591640Svbart@nginx.com<para>
5601640Svbart@nginx.comthe "callable" option sets Python application callable names.
5611640Svbart@nginx.com</para>
5621640Svbart@nginx.com</change>
5631640Svbart@nginx.com
5641640Svbart@nginx.com<change type="feature">
5651640Svbart@nginx.com<para>
5661640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
5671640Svbart@nginx.com</para>
5681640Svbart@nginx.com</change>
5691640Svbart@nginx.com
5701640Svbart@nginx.com<change type="feature">
5711640Svbart@nginx.com<para>
5721640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
5731640Svbart@nginx.comautomatic mounting of language module dependencies.
5741640Svbart@nginx.com</para>
5751640Svbart@nginx.com</change>
5761640Svbart@nginx.com
5771640Svbart@nginx.com<change type="bugfix">
5781640Svbart@nginx.com<para>
5791640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
5801640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
5811640Svbart@nginx.com</para>
5821640Svbart@nginx.com</change>
5831640Svbart@nginx.com
5841640Svbart@nginx.com<change type="bugfix">
5851640Svbart@nginx.com<para>
5861640Svbart@nginx.comthe router process could crash during reconfiguration.
5871640Svbart@nginx.com</para>
5881640Svbart@nginx.com</change>
5891640Svbart@nginx.com
5901640Svbart@nginx.com<change type="bugfix">
5911640Svbart@nginx.com<para>
5921640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
5931640Svbart@nginx.com</para>
5941640Svbart@nginx.com</change>
5951640Svbart@nginx.com
5961640Svbart@nginx.com<change type="bugfix">
5971640Svbart@nginx.com<para>
5981640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
5991640Svbart@nginx.comthe bug had appeared in 1.19.0.
6001640Svbart@nginx.com</para>
6011640Svbart@nginx.com</change>
6021640Svbart@nginx.com
6031640Svbart@nginx.com<change type="bugfix">
6041640Svbart@nginx.com<para>
6051640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
6061640Svbart@nginx.comthe bug had appeared in 1.16.0.
6071640Svbart@nginx.com</para>
6081640Svbart@nginx.com</change>
6091640Svbart@nginx.com
6101640Svbart@nginx.com</changes>
6111640Svbart@nginx.com
6121640Svbart@nginx.com
6131640Svbart@nginx.com<changes apply="unit-php
6141640Svbart@nginx.com                unit-python unit-python2.7
6151640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6161640Svbart@nginx.com                unit-python3.8
6171640Svbart@nginx.com                unit-go
6181640Svbart@nginx.com                unit-perl
6191640Svbart@nginx.com                unit-ruby
6201640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6211570Svbart@nginx.com         ver="1.19.0" rev="1"
6221570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
6231570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6241570Svbart@nginx.com
6251570Svbart@nginx.com<change>
6261570Svbart@nginx.com<para>
6271570Svbart@nginx.comNGINX Unit updated to 1.19.0.
6281570Svbart@nginx.com</para>
6291570Svbart@nginx.com</change>
6301570Svbart@nginx.com
6311570Svbart@nginx.com</changes>
6321570Svbart@nginx.com
6331570Svbart@nginx.com
6341570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
6351570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
6361570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6371570Svbart@nginx.com
6381570Svbart@nginx.com<change type="feature">
6391570Svbart@nginx.com<para>
6401570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
6411570Svbart@nginx.comincrease performance, and improve scalability.
6421570Svbart@nginx.com</para>
6431570Svbart@nginx.com</change>
6441570Svbart@nginx.com
6451570Svbart@nginx.com<change type="feature">
6461570Svbart@nginx.com<para>
6471570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
6481570Svbart@nginx.com</para>
6491570Svbart@nginx.com</change>
6501570Svbart@nginx.com
6511570Svbart@nginx.com<change type="feature">
6521570Svbart@nginx.com<para>
6531570Svbart@nginx.comchunked transfer encoding in proxy responses.
6541570Svbart@nginx.com</para>
6551570Svbart@nginx.com</change>
6561570Svbart@nginx.com
6571570Svbart@nginx.com<change type="feature">
6581570Svbart@nginx.com<para>
6591570Svbart@nginx.combasic variables support in the "pass" option.
6601570Svbart@nginx.com</para>
6611570Svbart@nginx.com</change>
6621570Svbart@nginx.com
6631570Svbart@nginx.com<change type="feature">
6641570Svbart@nginx.com<para>
6651570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
6661570Svbart@nginx.comThanks to Remi Collet.
6671570Svbart@nginx.com</para>
6681570Svbart@nginx.com</change>
6691570Svbart@nginx.com
6701570Svbart@nginx.com<change type="bugfix">
6711570Svbart@nginx.com<para>
6721570Svbart@nginx.comthe router process could crash while passing requests to an application under
6731570Svbart@nginx.comhigh load.
6741570Svbart@nginx.com</para>
6751570Svbart@nginx.com</change>
6761570Svbart@nginx.com
6771570Svbart@nginx.com<change type="bugfix">
6781570Svbart@nginx.com<para>
6791570Svbart@nginx.coma number of language modules failed to build on some systems;
6801570Svbart@nginx.comthe bug had appeared in 1.18.0.
6811570Svbart@nginx.com</para>
6821570Svbart@nginx.com</change>
6831570Svbart@nginx.com
6841570Svbart@nginx.com<change type="bugfix">
6851570Svbart@nginx.com<para>
6861570Svbart@nginx.comtime in error log messages from PHP applications could lag.
6871570Svbart@nginx.com</para>
6881570Svbart@nginx.com</change>
6891570Svbart@nginx.com
6901570Svbart@nginx.com<change type="bugfix">
6911570Svbart@nginx.com<para>
6921570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
6931570Svbart@nginx.comthe bug had appeared in 1.18.0.
6941570Svbart@nginx.com</para>
6951570Svbart@nginx.com</change>
6961570Svbart@nginx.com
6971570Svbart@nginx.com<change type="bugfix">
6981570Svbart@nginx.com<para>
6991570Svbart@nginx.commemory leak during reconfiguration.
7001570Svbart@nginx.com</para>
7011570Svbart@nginx.com</change>
7021570Svbart@nginx.com
7031570Svbart@nginx.com<change type="bugfix">
7041570Svbart@nginx.com<para>
7051570Svbart@nginx.comthe daemon didn't start without language modules;
7061570Svbart@nginx.comthe bug had appeared in 1.18.0.
7071570Svbart@nginx.com</para>
7081570Svbart@nginx.com</change>
7091570Svbart@nginx.com
7101570Svbart@nginx.com<change type="bugfix">
7111570Svbart@nginx.com<para>
7121570Svbart@nginx.comthe router process could crash at exit.
7131570Svbart@nginx.com</para>
7141570Svbart@nginx.com</change>
7151570Svbart@nginx.com
7161570Svbart@nginx.com<change type="bugfix">
7171570Svbart@nginx.com<para>
7181570Svbart@nginx.comNode.js applications could crash at exit.
7191570Svbart@nginx.com</para>
7201570Svbart@nginx.com</change>
7211570Svbart@nginx.com
7221570Svbart@nginx.com<change type="bugfix">
7231570Svbart@nginx.com<para>
7241570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
7251570Svbart@nginx.com</para>
7261570Svbart@nginx.com</change>
7271570Svbart@nginx.com
7281570Svbart@nginx.com</changes>
7291570Svbart@nginx.com
7301570Svbart@nginx.com
7311570Svbart@nginx.com<changes apply="unit-php
7321570Svbart@nginx.com                unit-python unit-python2.7
7331570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7341570Svbart@nginx.com                unit-python3.8
7351570Svbart@nginx.com                unit-go
7361570Svbart@nginx.com                unit-perl
7371570Svbart@nginx.com                unit-ruby
7381570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7391491Svbart@nginx.com         ver="1.18.0" rev="1"
7401491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
7411491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7421491Svbart@nginx.com
7431491Svbart@nginx.com<change>
7441491Svbart@nginx.com<para>
7451491Svbart@nginx.comNGINX Unit updated to 1.18.0.
7461491Svbart@nginx.com</para>
7471491Svbart@nginx.com</change>
7481491Svbart@nginx.com
7491491Svbart@nginx.com</changes>
7501491Svbart@nginx.com
7511491Svbart@nginx.com
7521491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
7531491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
7541491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7551491Svbart@nginx.com
7561491Svbart@nginx.com<change type="feature">
7571491Svbart@nginx.com<para>
7581491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
7591491Svbart@nginx.com</para>
7601491Svbart@nginx.com</change>
7611491Svbart@nginx.com
7621491Svbart@nginx.com<change type="feature">
7631491Svbart@nginx.com<para>
7641491Svbart@nginx.commultiple "targets" in PHP applications.
7651491Svbart@nginx.com</para>
7661491Svbart@nginx.com</change>
7671491Svbart@nginx.com
7681491Svbart@nginx.com<change type="feature">
7691491Svbart@nginx.com<para>
7701491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
7711491Svbart@nginx.comand in the "pass" option.
7721491Svbart@nginx.com</para>
7731491Svbart@nginx.com</change>
7741491Svbart@nginx.com
7751491Svbart@nginx.com</changes>
7761491Svbart@nginx.com
7771491Svbart@nginx.com
7781491Svbart@nginx.com<changes apply="unit-php
7791491Svbart@nginx.com                unit-python unit-python2.7
7801491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7811491Svbart@nginx.com                unit-python3.8
7821491Svbart@nginx.com                unit-go
7831491Svbart@nginx.com                unit-perl
7841491Svbart@nginx.com                unit-ruby
7851491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7861460Svbart@nginx.com         ver="1.17.0" rev="1"
7871460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
7881460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7891460Svbart@nginx.com
7901460Svbart@nginx.com<change>
7911460Svbart@nginx.com<para>
7921460Svbart@nginx.comNGINX Unit updated to 1.17.0.
7931460Svbart@nginx.com</para>
7941460Svbart@nginx.com</change>
7951460Svbart@nginx.com
7961460Svbart@nginx.com</changes>
7971460Svbart@nginx.com
7981460Svbart@nginx.com
7991460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
8001460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
8011460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8021460Svbart@nginx.com
8031460Svbart@nginx.com<change type="feature">
8041460Svbart@nginx.com<para>
8051460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
8061460Svbart@nginx.comredirection.
8071460Svbart@nginx.com</para>
8081460Svbart@nginx.com</change>
8091460Svbart@nginx.com
8101460Svbart@nginx.com<change type="feature">
8111460Svbart@nginx.com<para>
8121460Svbart@nginx.comfractional weights support for upstream servers.
8131460Svbart@nginx.com</para>
8141460Svbart@nginx.com</change>
8151460Svbart@nginx.com
8161460Svbart@nginx.com<change type="bugfix">
8171460Svbart@nginx.com<para>
8181460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
8191460Svbart@nginx.comhigh load.
8201460Svbart@nginx.com</para>
8211460Svbart@nginx.com</change>
8221460Svbart@nginx.com
8231460Svbart@nginx.com<change type="bugfix">
8241460Svbart@nginx.com<para>
8251460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
8261460Svbart@nginx.com</para>
8271460Svbart@nginx.com</change>
8281460Svbart@nginx.com
8291460Svbart@nginx.com<change type="bugfix">
8301460Svbart@nginx.com<para>
8311460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
8321460Svbart@nginx.comopen connections limit.
8331460Svbart@nginx.com</para>
8341460Svbart@nginx.com</change>
8351460Svbart@nginx.com
8361460Svbart@nginx.com<change type="bugfix">
8371460Svbart@nginx.com<para>
8381460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
8391460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
8401460Svbart@nginx.com</para>
8411460Svbart@nginx.com</change>
8421460Svbart@nginx.com
8431460Svbart@nginx.com<change type="bugfix">
8441460Svbart@nginx.com<para>
8451460Svbart@nginx.comexisting application processes didn't reopen the log file.
8461460Svbart@nginx.com</para>
8471460Svbart@nginx.com</change>
8481460Svbart@nginx.com
8491460Svbart@nginx.com<change type="bugfix">
8501460Svbart@nginx.com<para>
8511460Svbart@nginx.comincompatibility with some Node.js applications.
8521460Svbart@nginx.com</para>
8531460Svbart@nginx.com</change>
8541460Svbart@nginx.com
8551460Svbart@nginx.com<change type="bugfix">
8561460Svbart@nginx.com<para>
8571460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
8581460Svbart@nginx.com</para>
8591460Svbart@nginx.com</change>
8601460Svbart@nginx.com
8611460Svbart@nginx.com</changes>
8621460Svbart@nginx.com
8631460Svbart@nginx.com
8641460Svbart@nginx.com<changes apply="unit-php
8651460Svbart@nginx.com                unit-python unit-python2.7
8661460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8671460Svbart@nginx.com                unit-python3.8
8681460Svbart@nginx.com                unit-go
8691460Svbart@nginx.com                unit-perl
8701460Svbart@nginx.com                unit-ruby
8711460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8721404Svbart@nginx.com         ver="1.16.0" rev="1"
8731404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
8741404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8751404Svbart@nginx.com
8761404Svbart@nginx.com<change>
8771404Svbart@nginx.com<para>
8781404Svbart@nginx.comNGINX Unit updated to 1.16.0.
8791404Svbart@nginx.com</para>
8801404Svbart@nginx.com</change>
8811404Svbart@nginx.com
8821404Svbart@nginx.com</changes>
8831404Svbart@nginx.com
8841404Svbart@nginx.com
8851404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
8861404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
8871404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8881404Svbart@nginx.com
8891404Svbart@nginx.com<change type="feature">
8901404Svbart@nginx.com<para>
8911404Svbart@nginx.combasic load-balancing support with round-robin.
8921404Svbart@nginx.com</para>
8931404Svbart@nginx.com</change>
8941404Svbart@nginx.com
8951404Svbart@nginx.com<change type="feature">
8961404Svbart@nginx.com<para>
8971404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
8981404Svbart@nginx.comserved from the "share" directory.
8991404Svbart@nginx.com</para>
9001404Svbart@nginx.com</change>
9011404Svbart@nginx.com
9021404Svbart@nginx.com<change type="feature">
9031404Svbart@nginx.com<para>
9041404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
9051404Svbart@nginx.com</para>
9061404Svbart@nginx.com</change>
9071404Svbart@nginx.com
9081404Svbart@nginx.com<change type="feature">
9091404Svbart@nginx.com<para>
9101404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
9111404Svbart@nginx.com</para>
9121404Svbart@nginx.com</change>
9131404Svbart@nginx.com
9141404Svbart@nginx.com<change type="bugfix">
9151404Svbart@nginx.com<para>
9161404Svbart@nginx.comnegative address matching in router might work improperly in combination with
9171404Svbart@nginx.comnon-negative patterns.
9181404Svbart@nginx.com</para>
9191404Svbart@nginx.com</change>
9201404Svbart@nginx.com
9211404Svbart@nginx.com<change type="bugfix">
9221404Svbart@nginx.com<para>
9231404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
9241404Svbart@nginx.com</para>
9251404Svbart@nginx.com</change>
9261404Svbart@nginx.com
9271404Svbart@nginx.com<change type="bugfix">
9281404Svbart@nginx.com<para>
9291404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
9301404Svbart@nginx.com</para>
9311404Svbart@nginx.com</change>
9321404Svbart@nginx.com
9331404Svbart@nginx.com<change type="bugfix">
9341404Svbart@nginx.com<para>
9351404Svbart@nginx.comcompatibility issues with some Python applications.
9361404Svbart@nginx.com</para>
9371404Svbart@nginx.com</change>
9381404Svbart@nginx.com
9391404Svbart@nginx.com</changes>
9401404Svbart@nginx.com
9411404Svbart@nginx.com
9421404Svbart@nginx.com<changes apply="unit-php
9431404Svbart@nginx.com                unit-python unit-python2.7
9441404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9451404Svbart@nginx.com                unit-python3.8
9461404Svbart@nginx.com                unit-go
9471404Svbart@nginx.com                unit-perl
9481404Svbart@nginx.com                unit-ruby
9491404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9501357Svbart@nginx.com         ver="1.15.0" rev="1"
9511357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
9521357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9531357Svbart@nginx.com
9541357Svbart@nginx.com<change>
9551357Svbart@nginx.com<para>
9561357Svbart@nginx.comNGINX Unit updated to 1.15.0.
9571357Svbart@nginx.com</para>
9581357Svbart@nginx.com</change>
9591357Svbart@nginx.com
9601357Svbart@nginx.com</changes>
9611357Svbart@nginx.com
9621357Svbart@nginx.com
9631357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
9641357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
9651357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9661357Svbart@nginx.com
9671357Svbart@nginx.com<change type="change">
9681357Svbart@nginx.com<para>
9691357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
9701357Svbart@nginx.com</para>
9711357Svbart@nginx.com</change>
9721357Svbart@nginx.com
9731357Svbart@nginx.com<change type="feature">
9741357Svbart@nginx.com<para>
9751357Svbart@nginx.comcompatibility with Ruby 2.7.
9761357Svbart@nginx.com</para>
9771357Svbart@nginx.com</change>
9781357Svbart@nginx.com
9791357Svbart@nginx.com<change type="bugfix">
9801357Svbart@nginx.com<para>
9811357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
9821357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
9831357Svbart@nginx.com</para>
9841357Svbart@nginx.com</change>
9851357Svbart@nginx.com
9861357Svbart@nginx.com<change type="bugfix">
9871357Svbart@nginx.com<para>
9881357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
9891357Svbart@nginx.com</para>
9901357Svbart@nginx.com</change>
9911357Svbart@nginx.com
9921357Svbart@nginx.com</changes>
9931357Svbart@nginx.com
9941357Svbart@nginx.com
9951357Svbart@nginx.com<changes apply="unit-php
9961357Svbart@nginx.com                unit-python unit-python2.7
9971357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9981357Svbart@nginx.com                unit-python3.8
9991357Svbart@nginx.com                unit-go
10001357Svbart@nginx.com                unit-perl
10011357Svbart@nginx.com                unit-ruby
10021357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10031330Svbart@nginx.com         ver="1.14.0" rev="1"
10041330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
10051330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10061330Svbart@nginx.com
10071330Svbart@nginx.com<change>
10081330Svbart@nginx.com<para>
10091330Svbart@nginx.comNGINX Unit updated to 1.14.0.
10101330Svbart@nginx.com</para>
10111330Svbart@nginx.com</change>
10121330Svbart@nginx.com
10131330Svbart@nginx.com</changes>
10141330Svbart@nginx.com
10151330Svbart@nginx.com
10161330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
10171330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
10181330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10191330Svbart@nginx.com
10201330Svbart@nginx.com<change type="change">
10211330Svbart@nginx.com<para>
10221330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
10231330Svbart@nginx.com</para>
10241330Svbart@nginx.com</change>
10251330Svbart@nginx.com
10261330Svbart@nginx.com<change type="change">
10271330Svbart@nginx.com<para>
10281330Svbart@nginx.comGo package now links to libunit instead of including library sources.
10291330Svbart@nginx.com</para>
10301330Svbart@nginx.com</change>
10311330Svbart@nginx.com
10321330Svbart@nginx.com<change type="feature">
10331330Svbart@nginx.com<para>
10341330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
10351330Svbart@nginx.comruns as an unprivileged user.
10361330Svbart@nginx.com</para>
10371330Svbart@nginx.com</change>
10381330Svbart@nginx.com
10391330Svbart@nginx.com<change type="feature">
10401330Svbart@nginx.com<para>
10411330Svbart@nginx.comrequest routing by source and destination addresses and ports.
10421330Svbart@nginx.com</para>
10431330Svbart@nginx.com</change>
10441330Svbart@nginx.com
10451330Svbart@nginx.com<change type="bugfix">
10461330Svbart@nginx.com<para>
10471330Svbart@nginx.commemory bloat on large responses.
10481330Svbart@nginx.com</para>
10491330Svbart@nginx.com</change>
10501330Svbart@nginx.com
10511330Svbart@nginx.com</changes>
10521330Svbart@nginx.com
10531330Svbart@nginx.com
10541290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
10551290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
10561290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10571290Sdefan@nginx.com
10581290Sdefan@nginx.com<change>
10591290Sdefan@nginx.com<para>
10601290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
10611290Sdefan@nginx.com</para>
10621290Sdefan@nginx.com</change>
10631290Sdefan@nginx.com
10641290Sdefan@nginx.com</changes>
10651290Sdefan@nginx.com
10661290Sdefan@nginx.com
10671290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
10681290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
10691290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10701290Sdefan@nginx.com
10711290Sdefan@nginx.com<change>
10721290Sdefan@nginx.com<para>
10731290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
10741290Sdefan@nginx.com</para>
10751290Sdefan@nginx.com</change>
10761290Sdefan@nginx.com
10771290Sdefan@nginx.com</changes>
10781290Sdefan@nginx.com
10791290Sdefan@nginx.com
10801289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
10811289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
10821289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10831289Sdefan@nginx.com
10841289Sdefan@nginx.com<change>
10851289Sdefan@nginx.com<para>
10861289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
10871289Sdefan@nginx.com</para>
10881289Sdefan@nginx.com</change>
10891289Sdefan@nginx.com
10901289Sdefan@nginx.com</changes>
10911289Sdefan@nginx.com
10921289Sdefan@nginx.com
10931185Svbart@nginx.com<changes apply="unit-php
10941185Svbart@nginx.com                unit-python unit-python2.7
10951185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10961185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
10971185Svbart@nginx.com                unit-perl
10981185Svbart@nginx.com                unit-ruby
10991185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11001284Svbart@nginx.com         ver="1.13.0" rev="1"
11011284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
11021284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11031284Svbart@nginx.com
11041284Svbart@nginx.com<change>
11051284Svbart@nginx.com<para>
11061284Svbart@nginx.comNGINX Unit updated to 1.13.0.
11071284Svbart@nginx.com</para>
11081284Svbart@nginx.com</change>
11091284Svbart@nginx.com
11101284Svbart@nginx.com</changes>
11111284Svbart@nginx.com
11121284Svbart@nginx.com
11131284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
11141284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
11151284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11161284Svbart@nginx.com
11171284Svbart@nginx.com<change type="feature">
11181284Svbart@nginx.com<para>
11191284Svbart@nginx.combasic support for HTTP reverse proxying.
11201284Svbart@nginx.com</para>
11211284Svbart@nginx.com</change>
11221284Svbart@nginx.com
11231284Svbart@nginx.com<change type="feature">
11241284Svbart@nginx.com<para>
11251284Svbart@nginx.comcompatibility with Python 3.8.
11261284Svbart@nginx.com</para>
11271284Svbart@nginx.com</change>
11281284Svbart@nginx.com
11291284Svbart@nginx.com<change type="bugfix">
11301284Svbart@nginx.com<para>
11311284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
11321284Svbart@nginx.com</para>
11331284Svbart@nginx.com</change>
11341284Svbart@nginx.com
11351284Svbart@nginx.com<change type="bugfix">
11361284Svbart@nginx.com<para>
11371284Svbart@nginx.comthreads in Python applications might not work correctly.
11381284Svbart@nginx.com</para>
11391284Svbart@nginx.com</change>
11401284Svbart@nginx.com
11411284Svbart@nginx.com<change type="bugfix">
11421284Svbart@nginx.com<para>
11431284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
11441284Svbart@nginx.com</para>
11451284Svbart@nginx.com</change>
11461284Svbart@nginx.com
11471284Svbart@nginx.com<change type="bugfix">
11481284Svbart@nginx.com<para>
11491284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
11501284Svbart@nginx.comdelays.
11511284Svbart@nginx.com</para>
11521284Svbart@nginx.com</change>
11531284Svbart@nginx.com
11541284Svbart@nginx.com<change type="bugfix">
11551284Svbart@nginx.com<para>
11561284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
11571284Svbart@nginx.com</para>
11581284Svbart@nginx.com</change>
11591284Svbart@nginx.com
11601284Svbart@nginx.com</changes>
11611284Svbart@nginx.com
11621284Svbart@nginx.com
11631284Svbart@nginx.com<changes apply="unit-php
11641284Svbart@nginx.com                unit-python unit-python2.7
11651284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11661284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11671284Svbart@nginx.com                unit-perl
11681284Svbart@nginx.com                unit-ruby
11691284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11701222Svbart@nginx.com         ver="1.12.0" rev="1"
11711222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
11721222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11731222Svbart@nginx.com
11741222Svbart@nginx.com<change>
11751222Svbart@nginx.com<para>
11761222Svbart@nginx.comNGINX Unit updated to 1.12.0.
11771222Svbart@nginx.com</para>
11781222Svbart@nginx.com</change>
11791222Svbart@nginx.com
11801222Svbart@nginx.com</changes>
11811222Svbart@nginx.com
11821222Svbart@nginx.com
11831222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
11841222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
11851222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11861222Svbart@nginx.com
11871222Svbart@nginx.com<change type="feature">
11881222Svbart@nginx.com<para>
11891222Svbart@nginx.comcompatibility with PHP 7.4.
11901222Svbart@nginx.com</para>
11911222Svbart@nginx.com</change>
11921222Svbart@nginx.com
11931222Svbart@nginx.com<change type="bugfix">
11941222Svbart@nginx.com<para>
11951222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
11961222Svbart@nginx.com</para>
11971222Svbart@nginx.com</change>
11981222Svbart@nginx.com
11991222Svbart@nginx.com<change type="bugfix">
12001222Svbart@nginx.com<para>
12011222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
12021222Svbart@nginx.com</para>
12031222Svbart@nginx.com</change>
12041222Svbart@nginx.com
12051222Svbart@nginx.com<change type="bugfix">
12061222Svbart@nginx.com<para>
12071222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
12081222Svbart@nginx.com</para>
12091222Svbart@nginx.com</change>
12101222Svbart@nginx.com
12111222Svbart@nginx.com</changes>
12121222Svbart@nginx.com
12131222Svbart@nginx.com
12141222Svbart@nginx.com
12151222Svbart@nginx.com<changes apply="unit-php
12161222Svbart@nginx.com                unit-python unit-python2.7
12171222Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12181222Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12191222Svbart@nginx.com                unit-perl
12201222Svbart@nginx.com                unit-ruby
12211222Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12221185Svbart@nginx.com         ver="1.11.0" rev="1"
12231185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
12241185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
12251185Svbart@nginx.com
12261185Svbart@nginx.com<change>
12271185Svbart@nginx.com<para>
12281185Svbart@nginx.comNGINX Unit updated to 1.11.0.
12291185Svbart@nginx.com</para>
12301185Svbart@nginx.com</change>
12311185Svbart@nginx.com
12321185Svbart@nginx.com</changes>
12331185Svbart@nginx.com
12341185Svbart@nginx.com
12351185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1"
12361185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
12371185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
12381185Svbart@nginx.com
12391185Svbart@nginx.com<change type="feature">
12401185Svbart@nginx.com<para>
12411185Svbart@nginx.combasic support for serving static files.
12421185Svbart@nginx.com</para>
12431185Svbart@nginx.com</change>
12441185Svbart@nginx.com
12451185Svbart@nginx.com<change type="feature">
12461185Svbart@nginx.com<para>
12471185Svbart@nginx.comisolation of application processes with Linux namespaces.
12481185Svbart@nginx.com</para>
12491185Svbart@nginx.com</change>
12501185Svbart@nginx.com
12511185Svbart@nginx.com<change type="feature">
12521185Svbart@nginx.com<para>
12531185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers.
12541185Svbart@nginx.com</para>
12551185Svbart@nginx.com</change>
12561185Svbart@nginx.com
12571185Svbart@nginx.com<change type="feature">
12581185Svbart@nginx.com<para>
12591185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/"
12601185Svbart@nginx.comusing URI encoding (%2F).
12611185Svbart@nginx.com</para>
12621185Svbart@nginx.com</change>
12631185Svbart@nginx.com
12641185Svbart@nginx.com<change type="bugfix">
12651185Svbart@nginx.com<para>
12661185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load.
12671185Svbart@nginx.com</para>
12681185Svbart@nginx.com</change>
12691185Svbart@nginx.com
12701185Svbart@nginx.com<change type="bugfix">
12711185Svbart@nginx.com<para>
12721185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than
12731185Svbart@nginx.comGNU ld (e.g. gold or LLD).
12741185Svbart@nginx.com</para>
12751185Svbart@nginx.com</change>
12761185Svbart@nginx.com
12771185Svbart@nginx.com</changes>
12781185Svbart@nginx.com
12791185Svbart@nginx.com
12801142Sdefan@nginx.com<changes apply="unit
12811142Sdefan@nginx.com                unit-php
12821142Sdefan@nginx.com                unit-python unit-python2.7
12831142Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12841142Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12851142Sdefan@nginx.com                unit-perl
12861142Sdefan@nginx.com                unit-ruby
12871142Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12881142Sdefan@nginx.com         ver="1.10.0" rev="2"
12891142Sdefan@nginx.com         date="2019-08-23" time="12:00:00 +0300"
12901142Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12911142Sdefan@nginx.com
12921142Sdefan@nginx.com<change type="bugfix">
12931142Sdefan@nginx.com<para>
12941142Sdefan@nginx.commissed header files added to unit development package.
12951142Sdefan@nginx.com</para>
12961142Sdefan@nginx.com</change>
12971142Sdefan@nginx.com
12981142Sdefan@nginx.com</changes>
12991142Sdefan@nginx.com
13001142Sdefan@nginx.com
13011134Svbart@nginx.com<changes apply="unit-php
13021134Svbart@nginx.com                unit-python unit-python2.7
13031134Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
13041134Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
13051134Svbart@nginx.com                unit-perl
13061134Svbart@nginx.com                unit-ruby
13071134Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
13081134Svbart@nginx.com         ver="1.10.0" rev="1"
13091134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
13101134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1311