xref: /unit/docs/changes.xml (revision 1834)
1369Sdefan@nginx.com<?xml version="1.0" ?>
2369Sdefan@nginx.com<!DOCTYPE change_log SYSTEM "changes.dtd" >
3369Sdefan@nginx.com
4369Sdefan@nginx.com
5369Sdefan@nginx.com<change_log title="unit">
6369Sdefan@nginx.com
7369Sdefan@nginx.com
8*1834Svbart@nginx.com<changes apply="unit-php
9*1834Svbart@nginx.com                unit-python unit-python2.7
10*1834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11*1834Svbart@nginx.com                unit-python3.8 unit-python3.9
12*1834Svbart@nginx.com                unit-go
13*1834Svbart@nginx.com                unit-perl
14*1834Svbart@nginx.com                unit-ruby
15*1834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
16*1834Svbart@nginx.com                unit-jsc14 unit-jsc15"
17*1834Svbart@nginx.com         ver="1.23.0" rev="1"
18*1834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
19*1834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
20*1834Svbart@nginx.com
21*1834Svbart@nginx.com<change>
22*1834Svbart@nginx.com<para>
23*1834Svbart@nginx.comNGINX Unit updated to 1.23.0.
24*1834Svbart@nginx.com</para>
25*1834Svbart@nginx.com</change>
26*1834Svbart@nginx.com
27*1834Svbart@nginx.com</changes>
28*1834Svbart@nginx.com
29*1834Svbart@nginx.com
301806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
31*1834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
321806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
331806Svbart@nginx.com
341825Sthresh@nginx.com<change type="feature">
351825Sthresh@nginx.com<para>
361833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
371828Sa.suvorov@f5.comIndication (SNI) TLS extension.
381828Sa.suvorov@f5.com</para>
391828Sa.suvorov@f5.com</change>
401828Sa.suvorov@f5.com
411828Sa.suvorov@f5.com<change type="feature">
421828Sa.suvorov@f5.com<para>
431833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
441833Sartem.konev@nginx.cominstallation.
451825Sthresh@nginx.com</para>
461825Sthresh@nginx.com</change>
471825Sthresh@nginx.com
481811Smax.romanov@nginx.com<change type="bugfix">
491811Smax.romanov@nginx.com<para>
501812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
511812Svbart@nginx.comappeared in 1.17.0.
521812Svbart@nginx.com</para>
531812Svbart@nginx.com</change>
541812Svbart@nginx.com
551812Svbart@nginx.com<change type="bugfix">
561812Svbart@nginx.com<para>
571833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
581812Svbart@nginx.comappeared in 1.6.
591812Svbart@nginx.com</para>
601812Svbart@nginx.com</change>
611812Svbart@nginx.com
621812Svbart@nginx.com<change type="bugfix">
631812Svbart@nginx.com<para>
641833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
651832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
661832Smax.romanov@nginx.com</para>
671832Smax.romanov@nginx.com</change>
681832Smax.romanov@nginx.com
691832Smax.romanov@nginx.com<change type="bugfix">
701832Smax.romanov@nginx.com<para>
711833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
721811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
731811Smax.romanov@nginx.com</para>
741811Smax.romanov@nginx.com</change>
751806Svbart@nginx.com
761813Svbart@nginx.com<change type="bugfix">
771813Svbart@nginx.com<para>
781813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
791813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
801813Svbart@nginx.com</para>
811813Svbart@nginx.com</change>
821813Svbart@nginx.com
831814Svbart@nginx.com<change type="bugfix">
841814Svbart@nginx.com<para>
851820Svbart@nginx.comthe controller process could crash while requesting information about a
861820Svbart@nginx.comcertificate with a non-DNS SAN entry.
871820Svbart@nginx.com</para>
881820Svbart@nginx.com</change>
891820Svbart@nginx.com
901820Svbart@nginx.com<change type="bugfix">
911820Svbart@nginx.com<para>
921822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
931833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
941822Svbart@nginx.com</para>
951822Svbart@nginx.com</change>
961822Svbart@nginx.com
971822Svbart@nginx.com<change type="bugfix">
981822Svbart@nginx.com<para>
991833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
1001833Sartem.konev@nginx.comclass.
1011814Svbart@nginx.com</para>
1021814Svbart@nginx.com</change>
1031814Svbart@nginx.com
1041815Svbart@nginx.com<change type="bugfix">
1051815Svbart@nginx.com<para>
1061815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
1071815Svbart@nginx.comappeared in 1.22.0.
1081815Svbart@nginx.com</para>
1091815Svbart@nginx.com</change>
1101815Svbart@nginx.com
1111806Svbart@nginx.com</changes>
1121806Svbart@nginx.com
1131806Svbart@nginx.com
1141798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
1151798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1161798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1171798Sdefan@nginx.com
1181798Sdefan@nginx.com<change>
1191798Sdefan@nginx.com<para>
1201798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
1211798Sdefan@nginx.com</para>
1221798Sdefan@nginx.com</change>
1231798Sdefan@nginx.com
1241798Sdefan@nginx.com</changes>
1251798Sdefan@nginx.com
1261798Sdefan@nginx.com
1271763Sdefan@nginx.com<changes apply="unit-php
1281763Sdefan@nginx.com                unit-python unit-python2.7
1291763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1301763Sdefan@nginx.com                unit-python3.8
1311763Sdefan@nginx.com                unit-go
1321763Sdefan@nginx.com                unit-perl
1331763Sdefan@nginx.com                unit-ruby
1341763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1351763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
1361763Sdefan@nginx.com         ver="1.22.0" rev="1"
1371793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1381763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1391763Sdefan@nginx.com
1401763Sdefan@nginx.com<change>
1411763Sdefan@nginx.com<para>
1421763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
1431763Sdefan@nginx.com</para>
1441763Sdefan@nginx.com</change>
1451763Sdefan@nginx.com
1461763Sdefan@nginx.com</changes>
1471763Sdefan@nginx.com
1481763Sdefan@nginx.com
1491727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
1501793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
1511727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1521727Svbart@nginx.com
1531759Svbart@nginx.com<change type="feature">
1541759Svbart@nginx.com<para>
1551792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
1561792Svbart@nginx.comcompliant with Stream API.
1571759Svbart@nginx.com</para>
1581759Svbart@nginx.com</change>
1591759Svbart@nginx.com
1601766Smax.romanov@nginx.com<change type="feature">
1611766Smax.romanov@nginx.com<para>
1621792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
1631792Svbart@nginx.comapps.
1641732Svbart@nginx.com</para>
1651732Svbart@nginx.com</change>
1661732Svbart@nginx.com
1671733Svbart@nginx.com<change type="bugfix">
1681733Svbart@nginx.com<para>
1691792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
1701792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
1711754Smax.romanov@nginx.com</para>
1721754Smax.romanov@nginx.com</change>
1731754Smax.romanov@nginx.com
1741755Smax.romanov@nginx.com<change type="bugfix">
1751755Smax.romanov@nginx.com<para>
1761790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
1771755Smax.romanov@nginx.comappeared in 1.19.0.
1781755Smax.romanov@nginx.com</para>
1791755Smax.romanov@nginx.com</change>
1801755Smax.romanov@nginx.com
1811756Smax.romanov@nginx.com<change type="bugfix">
1821756Smax.romanov@nginx.com<para>
1831790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
1841790Sartem.konev@nginx.comappeared in 1.19.0.
1851756Smax.romanov@nginx.com</para>
1861756Smax.romanov@nginx.com</change>
1871756Smax.romanov@nginx.com
1881760Smax.romanov@nginx.com<change type="bugfix">
1891760Smax.romanov@nginx.com<para>
1901792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
1911792Svbart@nginx.com</para>
1921792Svbart@nginx.com</change>
1931792Svbart@nginx.com
1941792Svbart@nginx.com<change type="bugfix">
1951792Svbart@nginx.com<para>
1961792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
1971792Svbart@nginx.commissing in the PHP module.
1981792Svbart@nginx.com</para>
1991792Svbart@nginx.com</change>
2001792Svbart@nginx.com
2011792Svbart@nginx.com<change type="bugfix">
2021792Svbart@nginx.com<para>
2031792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
2041792Svbart@nginx.com</para>
2051792Svbart@nginx.com</change>
2061792Svbart@nginx.com
2071792Svbart@nginx.com<change type="bugfix">
2081792Svbart@nginx.com<para>
2091792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
2101792Svbart@nginx.com</para>
2111792Svbart@nginx.com</change>
2121792Svbart@nginx.com
2131792Svbart@nginx.com<change type="bugfix">
2141792Svbart@nginx.com<para>
2151792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
2161792Svbart@nginx.comthe bug had appeared in 1.21.0.
2171760Smax.romanov@nginx.com</para>
2181760Smax.romanov@nginx.com</change>
2191760Smax.romanov@nginx.com
2201780Smax.romanov@nginx.com<change type="bugfix">
2211780Smax.romanov@nginx.com<para>
2221790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
2231790Sartem.konev@nginx.comWebSocket.
2241780Smax.romanov@nginx.com</para>
2251780Smax.romanov@nginx.com</change>
2261780Smax.romanov@nginx.com
2271789Smax.romanov@nginx.com<change type="bugfix">
2281789Smax.romanov@nginx.com<para>
2291789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
2301789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
2311789Smax.romanov@nginx.com</para>
2321789Smax.romanov@nginx.com</change>
2331789Smax.romanov@nginx.com
2341727Svbart@nginx.com</changes>
2351727Svbart@nginx.com
2361727Svbart@nginx.com
2371722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
2381722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2391722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2401722Svbart@nginx.com
2411722Svbart@nginx.com<change>
2421722Svbart@nginx.com<para>
2431722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
2441722Svbart@nginx.com</para>
2451722Svbart@nginx.com</change>
2461722Svbart@nginx.com
2471722Svbart@nginx.com</changes>
2481722Svbart@nginx.com
2491722Svbart@nginx.com
2501722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
2511722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2521722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2531722Svbart@nginx.com
2541722Svbart@nginx.com<change>
2551722Svbart@nginx.com<para>
2561722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
2571722Svbart@nginx.com</para>
2581722Svbart@nginx.com</change>
2591722Svbart@nginx.com
2601722Svbart@nginx.com</changes>
2611722Svbart@nginx.com
2621722Svbart@nginx.com
2631722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
2641722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2651722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2661722Svbart@nginx.com
2671722Svbart@nginx.com<change>
2681722Svbart@nginx.com<para>
2691722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
2701722Svbart@nginx.com</para>
2711722Svbart@nginx.com</change>
2721722Svbart@nginx.com
2731722Svbart@nginx.com</changes>
2741722Svbart@nginx.com
2751722Svbart@nginx.com
2761722Svbart@nginx.com<changes apply="unit-php
2771722Svbart@nginx.com                unit-python unit-python2.7
2781722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2791722Svbart@nginx.com                unit-python3.8
2801722Svbart@nginx.com                unit-go
2811722Svbart@nginx.com                unit-perl
2821722Svbart@nginx.com                unit-ruby
2831722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
2841722Svbart@nginx.com         ver="1.21.0" rev="1"
2851722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2861722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2871722Svbart@nginx.com
2881722Svbart@nginx.com<change>
2891722Svbart@nginx.com<para>
2901722Svbart@nginx.comNGINX Unit updated to 1.21.0.
2911722Svbart@nginx.com</para>
2921722Svbart@nginx.com</change>
2931722Svbart@nginx.com
2941722Svbart@nginx.com</changes>
2951722Svbart@nginx.com
2961722Svbart@nginx.com
2971722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
2981722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2991722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3001722Svbart@nginx.com
3011722Svbart@nginx.com<change type="change">
3021722Svbart@nginx.com<para>
3031722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
3041722Svbart@nginx.com</para>
3051722Svbart@nginx.com</change>
3061722Svbart@nginx.com
3071722Svbart@nginx.com<change type="change">
3081722Svbart@nginx.com<para>
3091722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
3101722Svbart@nginx.comnames.
3111722Svbart@nginx.com</para>
3121722Svbart@nginx.com</change>
3131722Svbart@nginx.com
3141722Svbart@nginx.com<change type="change">
3151722Svbart@nginx.com<para>
3161722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
3171722Svbart@nginx.comdefault.
3181722Svbart@nginx.com</para>
3191722Svbart@nginx.com</change>
3201722Svbart@nginx.com
3211722Svbart@nginx.com<change type="feature">
3221722Svbart@nginx.com<para>
3231722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
3241722Svbart@nginx.com</para>
3251722Svbart@nginx.com</change>
3261722Svbart@nginx.com
3271722Svbart@nginx.com<change type="feature">
3281722Svbart@nginx.com<para>
3291722Svbart@nginx.comregular expressions in route matching patterns.
3301722Svbart@nginx.com</para>
3311722Svbart@nginx.com</change>
3321722Svbart@nginx.com
3331722Svbart@nginx.com<change type="feature">
3341722Svbart@nginx.com<para>
3351722Svbart@nginx.comcompatibility with Python 3.9.
3361722Svbart@nginx.com</para>
3371722Svbart@nginx.com</change>
3381722Svbart@nginx.com
3391722Svbart@nginx.com<change type="feature">
3401722Svbart@nginx.com<para>
3411722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
3421722Svbart@nginx.com</para>
3431722Svbart@nginx.com</change>
3441722Svbart@nginx.com
3451722Svbart@nginx.com<change type="feature">
3461722Svbart@nginx.com<para>
3471722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
3481722Svbart@nginx.com</para>
3491722Svbart@nginx.com</change>
3501722Svbart@nginx.com
3511722Svbart@nginx.com<change type="feature">
3521722Svbart@nginx.com<para>
3531722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
3541722Svbart@nginx.comcontinues code execution without holding onto the client connection.
3551722Svbart@nginx.com</para>
3561722Svbart@nginx.com</change>
3571722Svbart@nginx.com
3581722Svbart@nginx.com<change type="feature">
3591722Svbart@nginx.com<para>
3601722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
3611722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
3621722Svbart@nginx.com</para>
3631722Svbart@nginx.com</change>
3641722Svbart@nginx.com
3651722Svbart@nginx.com<change type="feature">
3661722Svbart@nginx.com<para>
3671722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
3681722Svbart@nginx.commounting of eponymous filesystems.
3691722Svbart@nginx.com</para>
3701722Svbart@nginx.com</change>
3711722Svbart@nginx.com
3721722Svbart@nginx.com<change type="bugfix">
3731722Svbart@nginx.com<para>
3741722Svbart@nginx.comthe router process could crash when running Go applications under high load;
3751722Svbart@nginx.comthe bug had appeared in 1.19.0.
3761722Svbart@nginx.com</para>
3771722Svbart@nginx.com</change>
3781722Svbart@nginx.com
3791722Svbart@nginx.com<change type="bugfix">
3801722Svbart@nginx.com<para>
3811722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
3821722Svbart@nginx.com</para>
3831722Svbart@nginx.com</change>
3841722Svbart@nginx.com
3851722Svbart@nginx.com<change type="bugfix">
3861722Svbart@nginx.com<para>
3871722Svbart@nginx.comvarious compatibility issues in Java applications.
3881722Svbart@nginx.com</para>
3891722Svbart@nginx.com</change>
3901722Svbart@nginx.com
3911722Svbart@nginx.com<change type="bugfix">
3921722Svbart@nginx.com<para>
3931722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
3941722Svbart@nginx.comuse "rootfs" isolation.
3951722Svbart@nginx.com</para>
3961722Svbart@nginx.com</change>
3971722Svbart@nginx.com
3981722Svbart@nginx.com</changes>
3991722Svbart@nginx.com
4001722Svbart@nginx.com
4011330Svbart@nginx.com<changes apply="unit-php
4021330Svbart@nginx.com                unit-python unit-python2.7
4031330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4041330Svbart@nginx.com                unit-python3.8
4051330Svbart@nginx.com                unit-go
4061330Svbart@nginx.com                unit-perl
4071330Svbart@nginx.com                unit-ruby
4081330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4091640Svbart@nginx.com         ver="1.20.0" rev="1"
4101640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
4111640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4121640Svbart@nginx.com
4131640Svbart@nginx.com<change>
4141640Svbart@nginx.com<para>
4151640Svbart@nginx.comNGINX Unit updated to 1.20.0.
4161640Svbart@nginx.com</para>
4171640Svbart@nginx.com</change>
4181640Svbart@nginx.com
4191640Svbart@nginx.com</changes>
4201640Svbart@nginx.com
4211640Svbart@nginx.com
4221640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
4231640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
4241640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4251640Svbart@nginx.com
4261640Svbart@nginx.com<change type="change">
4271640Svbart@nginx.com<para>
4281640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
4291640Svbart@nginx.comextensions from the host system.
4301640Svbart@nginx.com</para>
4311640Svbart@nginx.com</change>
4321640Svbart@nginx.com
4331640Svbart@nginx.com<change type="change">
4341640Svbart@nginx.com<para>
4351640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
4361640Svbart@nginx.com</para>
4371640Svbart@nginx.com</change>
4381640Svbart@nginx.com
4391643Svbart@nginx.com<change type="change">
4401643Svbart@nginx.com<para>
4411643Svbart@nginx.comfunctional tests migrated to the pytest framework.
4421643Svbart@nginx.com</para>
4431643Svbart@nginx.com</change>
4441643Svbart@nginx.com
4451640Svbart@nginx.com<change type="feature">
4461640Svbart@nginx.com<para>
4471640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
4481640Svbart@nginx.cominterface.
4491640Svbart@nginx.com</para>
4501640Svbart@nginx.com</change>
4511640Svbart@nginx.com
4521640Svbart@nginx.com<change type="feature">
4531640Svbart@nginx.com<para>
4541640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
4551640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
4561640Svbart@nginx.comspecification.
4571640Svbart@nginx.com</para>
4581640Svbart@nginx.com</change>
4591640Svbart@nginx.com
4601640Svbart@nginx.com<change type="feature">
4611640Svbart@nginx.com<para>
4621640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
4631640Svbart@nginx.comenvironments.
4641640Svbart@nginx.com</para>
4651640Svbart@nginx.com</change>
4661640Svbart@nginx.com
4671640Svbart@nginx.com<change type="feature">
4681640Svbart@nginx.com<para>
4691640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
4701640Svbart@nginx.com</para>
4711640Svbart@nginx.com</change>
4721640Svbart@nginx.com
4731640Svbart@nginx.com<change type="feature">
4741640Svbart@nginx.com<para>
4751640Svbart@nginx.comthe "callable" option sets Python application callable names.
4761640Svbart@nginx.com</para>
4771640Svbart@nginx.com</change>
4781640Svbart@nginx.com
4791640Svbart@nginx.com<change type="feature">
4801640Svbart@nginx.com<para>
4811640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
4821640Svbart@nginx.com</para>
4831640Svbart@nginx.com</change>
4841640Svbart@nginx.com
4851640Svbart@nginx.com<change type="feature">
4861640Svbart@nginx.com<para>
4871640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
4881640Svbart@nginx.comautomatic mounting of language module dependencies.
4891640Svbart@nginx.com</para>
4901640Svbart@nginx.com</change>
4911640Svbart@nginx.com
4921640Svbart@nginx.com<change type="bugfix">
4931640Svbart@nginx.com<para>
4941640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
4951640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
4961640Svbart@nginx.com</para>
4971640Svbart@nginx.com</change>
4981640Svbart@nginx.com
4991640Svbart@nginx.com<change type="bugfix">
5001640Svbart@nginx.com<para>
5011640Svbart@nginx.comthe router process could crash during reconfiguration.
5021640Svbart@nginx.com</para>
5031640Svbart@nginx.com</change>
5041640Svbart@nginx.com
5051640Svbart@nginx.com<change type="bugfix">
5061640Svbart@nginx.com<para>
5071640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
5081640Svbart@nginx.com</para>
5091640Svbart@nginx.com</change>
5101640Svbart@nginx.com
5111640Svbart@nginx.com<change type="bugfix">
5121640Svbart@nginx.com<para>
5131640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
5141640Svbart@nginx.comthe bug had appeared in 1.19.0.
5151640Svbart@nginx.com</para>
5161640Svbart@nginx.com</change>
5171640Svbart@nginx.com
5181640Svbart@nginx.com<change type="bugfix">
5191640Svbart@nginx.com<para>
5201640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
5211640Svbart@nginx.comthe bug had appeared in 1.16.0.
5221640Svbart@nginx.com</para>
5231640Svbart@nginx.com</change>
5241640Svbart@nginx.com
5251640Svbart@nginx.com</changes>
5261640Svbart@nginx.com
5271640Svbart@nginx.com
5281640Svbart@nginx.com<changes apply="unit-php
5291640Svbart@nginx.com                unit-python unit-python2.7
5301640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5311640Svbart@nginx.com                unit-python3.8
5321640Svbart@nginx.com                unit-go
5331640Svbart@nginx.com                unit-perl
5341640Svbart@nginx.com                unit-ruby
5351640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5361570Svbart@nginx.com         ver="1.19.0" rev="1"
5371570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
5381570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5391570Svbart@nginx.com
5401570Svbart@nginx.com<change>
5411570Svbart@nginx.com<para>
5421570Svbart@nginx.comNGINX Unit updated to 1.19.0.
5431570Svbart@nginx.com</para>
5441570Svbart@nginx.com</change>
5451570Svbart@nginx.com
5461570Svbart@nginx.com</changes>
5471570Svbart@nginx.com
5481570Svbart@nginx.com
5491570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
5501570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
5511570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5521570Svbart@nginx.com
5531570Svbart@nginx.com<change type="feature">
5541570Svbart@nginx.com<para>
5551570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
5561570Svbart@nginx.comincrease performance, and improve scalability.
5571570Svbart@nginx.com</para>
5581570Svbart@nginx.com</change>
5591570Svbart@nginx.com
5601570Svbart@nginx.com<change type="feature">
5611570Svbart@nginx.com<para>
5621570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
5631570Svbart@nginx.com</para>
5641570Svbart@nginx.com</change>
5651570Svbart@nginx.com
5661570Svbart@nginx.com<change type="feature">
5671570Svbart@nginx.com<para>
5681570Svbart@nginx.comchunked transfer encoding in proxy responses.
5691570Svbart@nginx.com</para>
5701570Svbart@nginx.com</change>
5711570Svbart@nginx.com
5721570Svbart@nginx.com<change type="feature">
5731570Svbart@nginx.com<para>
5741570Svbart@nginx.combasic variables support in the "pass" option.
5751570Svbart@nginx.com</para>
5761570Svbart@nginx.com</change>
5771570Svbart@nginx.com
5781570Svbart@nginx.com<change type="feature">
5791570Svbart@nginx.com<para>
5801570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
5811570Svbart@nginx.comThanks to Remi Collet.
5821570Svbart@nginx.com</para>
5831570Svbart@nginx.com</change>
5841570Svbart@nginx.com
5851570Svbart@nginx.com<change type="bugfix">
5861570Svbart@nginx.com<para>
5871570Svbart@nginx.comthe router process could crash while passing requests to an application under
5881570Svbart@nginx.comhigh load.
5891570Svbart@nginx.com</para>
5901570Svbart@nginx.com</change>
5911570Svbart@nginx.com
5921570Svbart@nginx.com<change type="bugfix">
5931570Svbart@nginx.com<para>
5941570Svbart@nginx.coma number of language modules failed to build on some systems;
5951570Svbart@nginx.comthe bug had appeared in 1.18.0.
5961570Svbart@nginx.com</para>
5971570Svbart@nginx.com</change>
5981570Svbart@nginx.com
5991570Svbart@nginx.com<change type="bugfix">
6001570Svbart@nginx.com<para>
6011570Svbart@nginx.comtime in error log messages from PHP applications could lag.
6021570Svbart@nginx.com</para>
6031570Svbart@nginx.com</change>
6041570Svbart@nginx.com
6051570Svbart@nginx.com<change type="bugfix">
6061570Svbart@nginx.com<para>
6071570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
6081570Svbart@nginx.comthe bug had appeared in 1.18.0.
6091570Svbart@nginx.com</para>
6101570Svbart@nginx.com</change>
6111570Svbart@nginx.com
6121570Svbart@nginx.com<change type="bugfix">
6131570Svbart@nginx.com<para>
6141570Svbart@nginx.commemory leak during reconfiguration.
6151570Svbart@nginx.com</para>
6161570Svbart@nginx.com</change>
6171570Svbart@nginx.com
6181570Svbart@nginx.com<change type="bugfix">
6191570Svbart@nginx.com<para>
6201570Svbart@nginx.comthe daemon didn't start without language modules;
6211570Svbart@nginx.comthe bug had appeared in 1.18.0.
6221570Svbart@nginx.com</para>
6231570Svbart@nginx.com</change>
6241570Svbart@nginx.com
6251570Svbart@nginx.com<change type="bugfix">
6261570Svbart@nginx.com<para>
6271570Svbart@nginx.comthe router process could crash at exit.
6281570Svbart@nginx.com</para>
6291570Svbart@nginx.com</change>
6301570Svbart@nginx.com
6311570Svbart@nginx.com<change type="bugfix">
6321570Svbart@nginx.com<para>
6331570Svbart@nginx.comNode.js applications could crash at exit.
6341570Svbart@nginx.com</para>
6351570Svbart@nginx.com</change>
6361570Svbart@nginx.com
6371570Svbart@nginx.com<change type="bugfix">
6381570Svbart@nginx.com<para>
6391570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
6401570Svbart@nginx.com</para>
6411570Svbart@nginx.com</change>
6421570Svbart@nginx.com
6431570Svbart@nginx.com</changes>
6441570Svbart@nginx.com
6451570Svbart@nginx.com
6461570Svbart@nginx.com<changes apply="unit-php
6471570Svbart@nginx.com                unit-python unit-python2.7
6481570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6491570Svbart@nginx.com                unit-python3.8
6501570Svbart@nginx.com                unit-go
6511570Svbart@nginx.com                unit-perl
6521570Svbart@nginx.com                unit-ruby
6531570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6541491Svbart@nginx.com         ver="1.18.0" rev="1"
6551491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
6561491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6571491Svbart@nginx.com
6581491Svbart@nginx.com<change>
6591491Svbart@nginx.com<para>
6601491Svbart@nginx.comNGINX Unit updated to 1.18.0.
6611491Svbart@nginx.com</para>
6621491Svbart@nginx.com</change>
6631491Svbart@nginx.com
6641491Svbart@nginx.com</changes>
6651491Svbart@nginx.com
6661491Svbart@nginx.com
6671491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
6681491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
6691491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6701491Svbart@nginx.com
6711491Svbart@nginx.com<change type="feature">
6721491Svbart@nginx.com<para>
6731491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
6741491Svbart@nginx.com</para>
6751491Svbart@nginx.com</change>
6761491Svbart@nginx.com
6771491Svbart@nginx.com<change type="feature">
6781491Svbart@nginx.com<para>
6791491Svbart@nginx.commultiple "targets" in PHP applications.
6801491Svbart@nginx.com</para>
6811491Svbart@nginx.com</change>
6821491Svbart@nginx.com
6831491Svbart@nginx.com<change type="feature">
6841491Svbart@nginx.com<para>
6851491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
6861491Svbart@nginx.comand in the "pass" option.
6871491Svbart@nginx.com</para>
6881491Svbart@nginx.com</change>
6891491Svbart@nginx.com
6901491Svbart@nginx.com</changes>
6911491Svbart@nginx.com
6921491Svbart@nginx.com
6931491Svbart@nginx.com<changes apply="unit-php
6941491Svbart@nginx.com                unit-python unit-python2.7
6951491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6961491Svbart@nginx.com                unit-python3.8
6971491Svbart@nginx.com                unit-go
6981491Svbart@nginx.com                unit-perl
6991491Svbart@nginx.com                unit-ruby
7001491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7011460Svbart@nginx.com         ver="1.17.0" rev="1"
7021460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
7031460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7041460Svbart@nginx.com
7051460Svbart@nginx.com<change>
7061460Svbart@nginx.com<para>
7071460Svbart@nginx.comNGINX Unit updated to 1.17.0.
7081460Svbart@nginx.com</para>
7091460Svbart@nginx.com</change>
7101460Svbart@nginx.com
7111460Svbart@nginx.com</changes>
7121460Svbart@nginx.com
7131460Svbart@nginx.com
7141460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
7151460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
7161460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7171460Svbart@nginx.com
7181460Svbart@nginx.com<change type="feature">
7191460Svbart@nginx.com<para>
7201460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
7211460Svbart@nginx.comredirection.
7221460Svbart@nginx.com</para>
7231460Svbart@nginx.com</change>
7241460Svbart@nginx.com
7251460Svbart@nginx.com<change type="feature">
7261460Svbart@nginx.com<para>
7271460Svbart@nginx.comfractional weights support for upstream servers.
7281460Svbart@nginx.com</para>
7291460Svbart@nginx.com</change>
7301460Svbart@nginx.com
7311460Svbart@nginx.com<change type="bugfix">
7321460Svbart@nginx.com<para>
7331460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
7341460Svbart@nginx.comhigh load.
7351460Svbart@nginx.com</para>
7361460Svbart@nginx.com</change>
7371460Svbart@nginx.com
7381460Svbart@nginx.com<change type="bugfix">
7391460Svbart@nginx.com<para>
7401460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
7411460Svbart@nginx.com</para>
7421460Svbart@nginx.com</change>
7431460Svbart@nginx.com
7441460Svbart@nginx.com<change type="bugfix">
7451460Svbart@nginx.com<para>
7461460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
7471460Svbart@nginx.comopen connections limit.
7481460Svbart@nginx.com</para>
7491460Svbart@nginx.com</change>
7501460Svbart@nginx.com
7511460Svbart@nginx.com<change type="bugfix">
7521460Svbart@nginx.com<para>
7531460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
7541460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
7551460Svbart@nginx.com</para>
7561460Svbart@nginx.com</change>
7571460Svbart@nginx.com
7581460Svbart@nginx.com<change type="bugfix">
7591460Svbart@nginx.com<para>
7601460Svbart@nginx.comexisting application processes didn't reopen the log file.
7611460Svbart@nginx.com</para>
7621460Svbart@nginx.com</change>
7631460Svbart@nginx.com
7641460Svbart@nginx.com<change type="bugfix">
7651460Svbart@nginx.com<para>
7661460Svbart@nginx.comincompatibility with some Node.js applications.
7671460Svbart@nginx.com</para>
7681460Svbart@nginx.com</change>
7691460Svbart@nginx.com
7701460Svbart@nginx.com<change type="bugfix">
7711460Svbart@nginx.com<para>
7721460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
7731460Svbart@nginx.com</para>
7741460Svbart@nginx.com</change>
7751460Svbart@nginx.com
7761460Svbart@nginx.com</changes>
7771460Svbart@nginx.com
7781460Svbart@nginx.com
7791460Svbart@nginx.com<changes apply="unit-php
7801460Svbart@nginx.com                unit-python unit-python2.7
7811460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7821460Svbart@nginx.com                unit-python3.8
7831460Svbart@nginx.com                unit-go
7841460Svbart@nginx.com                unit-perl
7851460Svbart@nginx.com                unit-ruby
7861460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7871404Svbart@nginx.com         ver="1.16.0" rev="1"
7881404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
7891404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7901404Svbart@nginx.com
7911404Svbart@nginx.com<change>
7921404Svbart@nginx.com<para>
7931404Svbart@nginx.comNGINX Unit updated to 1.16.0.
7941404Svbart@nginx.com</para>
7951404Svbart@nginx.com</change>
7961404Svbart@nginx.com
7971404Svbart@nginx.com</changes>
7981404Svbart@nginx.com
7991404Svbart@nginx.com
8001404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
8011404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
8021404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8031404Svbart@nginx.com
8041404Svbart@nginx.com<change type="feature">
8051404Svbart@nginx.com<para>
8061404Svbart@nginx.combasic load-balancing support with round-robin.
8071404Svbart@nginx.com</para>
8081404Svbart@nginx.com</change>
8091404Svbart@nginx.com
8101404Svbart@nginx.com<change type="feature">
8111404Svbart@nginx.com<para>
8121404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
8131404Svbart@nginx.comserved from the "share" directory.
8141404Svbart@nginx.com</para>
8151404Svbart@nginx.com</change>
8161404Svbart@nginx.com
8171404Svbart@nginx.com<change type="feature">
8181404Svbart@nginx.com<para>
8191404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
8201404Svbart@nginx.com</para>
8211404Svbart@nginx.com</change>
8221404Svbart@nginx.com
8231404Svbart@nginx.com<change type="feature">
8241404Svbart@nginx.com<para>
8251404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
8261404Svbart@nginx.com</para>
8271404Svbart@nginx.com</change>
8281404Svbart@nginx.com
8291404Svbart@nginx.com<change type="bugfix">
8301404Svbart@nginx.com<para>
8311404Svbart@nginx.comnegative address matching in router might work improperly in combination with
8321404Svbart@nginx.comnon-negative patterns.
8331404Svbart@nginx.com</para>
8341404Svbart@nginx.com</change>
8351404Svbart@nginx.com
8361404Svbart@nginx.com<change type="bugfix">
8371404Svbart@nginx.com<para>
8381404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
8391404Svbart@nginx.com</para>
8401404Svbart@nginx.com</change>
8411404Svbart@nginx.com
8421404Svbart@nginx.com<change type="bugfix">
8431404Svbart@nginx.com<para>
8441404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
8451404Svbart@nginx.com</para>
8461404Svbart@nginx.com</change>
8471404Svbart@nginx.com
8481404Svbart@nginx.com<change type="bugfix">
8491404Svbart@nginx.com<para>
8501404Svbart@nginx.comcompatibility issues with some Python applications.
8511404Svbart@nginx.com</para>
8521404Svbart@nginx.com</change>
8531404Svbart@nginx.com
8541404Svbart@nginx.com</changes>
8551404Svbart@nginx.com
8561404Svbart@nginx.com
8571404Svbart@nginx.com<changes apply="unit-php
8581404Svbart@nginx.com                unit-python unit-python2.7
8591404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8601404Svbart@nginx.com                unit-python3.8
8611404Svbart@nginx.com                unit-go
8621404Svbart@nginx.com                unit-perl
8631404Svbart@nginx.com                unit-ruby
8641404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8651357Svbart@nginx.com         ver="1.15.0" rev="1"
8661357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
8671357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8681357Svbart@nginx.com
8691357Svbart@nginx.com<change>
8701357Svbart@nginx.com<para>
8711357Svbart@nginx.comNGINX Unit updated to 1.15.0.
8721357Svbart@nginx.com</para>
8731357Svbart@nginx.com</change>
8741357Svbart@nginx.com
8751357Svbart@nginx.com</changes>
8761357Svbart@nginx.com
8771357Svbart@nginx.com
8781357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
8791357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
8801357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8811357Svbart@nginx.com
8821357Svbart@nginx.com<change type="change">
8831357Svbart@nginx.com<para>
8841357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
8851357Svbart@nginx.com</para>
8861357Svbart@nginx.com</change>
8871357Svbart@nginx.com
8881357Svbart@nginx.com<change type="feature">
8891357Svbart@nginx.com<para>
8901357Svbart@nginx.comcompatibility with Ruby 2.7.
8911357Svbart@nginx.com</para>
8921357Svbart@nginx.com</change>
8931357Svbart@nginx.com
8941357Svbart@nginx.com<change type="bugfix">
8951357Svbart@nginx.com<para>
8961357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
8971357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
8981357Svbart@nginx.com</para>
8991357Svbart@nginx.com</change>
9001357Svbart@nginx.com
9011357Svbart@nginx.com<change type="bugfix">
9021357Svbart@nginx.com<para>
9031357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
9041357Svbart@nginx.com</para>
9051357Svbart@nginx.com</change>
9061357Svbart@nginx.com
9071357Svbart@nginx.com</changes>
9081357Svbart@nginx.com
9091357Svbart@nginx.com
9101357Svbart@nginx.com<changes apply="unit-php
9111357Svbart@nginx.com                unit-python unit-python2.7
9121357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9131357Svbart@nginx.com                unit-python3.8
9141357Svbart@nginx.com                unit-go
9151357Svbart@nginx.com                unit-perl
9161357Svbart@nginx.com                unit-ruby
9171357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9181330Svbart@nginx.com         ver="1.14.0" rev="1"
9191330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
9201330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9211330Svbart@nginx.com
9221330Svbart@nginx.com<change>
9231330Svbart@nginx.com<para>
9241330Svbart@nginx.comNGINX Unit updated to 1.14.0.
9251330Svbart@nginx.com</para>
9261330Svbart@nginx.com</change>
9271330Svbart@nginx.com
9281330Svbart@nginx.com</changes>
9291330Svbart@nginx.com
9301330Svbart@nginx.com
9311330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
9321330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
9331330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9341330Svbart@nginx.com
9351330Svbart@nginx.com<change type="change">
9361330Svbart@nginx.com<para>
9371330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
9381330Svbart@nginx.com</para>
9391330Svbart@nginx.com</change>
9401330Svbart@nginx.com
9411330Svbart@nginx.com<change type="change">
9421330Svbart@nginx.com<para>
9431330Svbart@nginx.comGo package now links to libunit instead of including library sources.
9441330Svbart@nginx.com</para>
9451330Svbart@nginx.com</change>
9461330Svbart@nginx.com
9471330Svbart@nginx.com<change type="feature">
9481330Svbart@nginx.com<para>
9491330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
9501330Svbart@nginx.comruns as an unprivileged user.
9511330Svbart@nginx.com</para>
9521330Svbart@nginx.com</change>
9531330Svbart@nginx.com
9541330Svbart@nginx.com<change type="feature">
9551330Svbart@nginx.com<para>
9561330Svbart@nginx.comrequest routing by source and destination addresses and ports.
9571330Svbart@nginx.com</para>
9581330Svbart@nginx.com</change>
9591330Svbart@nginx.com
9601330Svbart@nginx.com<change type="bugfix">
9611330Svbart@nginx.com<para>
9621330Svbart@nginx.commemory bloat on large responses.
9631330Svbart@nginx.com</para>
9641330Svbart@nginx.com</change>
9651330Svbart@nginx.com
9661330Svbart@nginx.com</changes>
9671330Svbart@nginx.com
9681330Svbart@nginx.com
9691290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
9701290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
9711290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9721290Sdefan@nginx.com
9731290Sdefan@nginx.com<change>
9741290Sdefan@nginx.com<para>
9751290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
9761290Sdefan@nginx.com</para>
9771290Sdefan@nginx.com</change>
9781290Sdefan@nginx.com
9791290Sdefan@nginx.com</changes>
9801290Sdefan@nginx.com
9811290Sdefan@nginx.com
9821290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
9831290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
9841290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9851290Sdefan@nginx.com
9861290Sdefan@nginx.com<change>
9871290Sdefan@nginx.com<para>
9881290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
9891290Sdefan@nginx.com</para>
9901290Sdefan@nginx.com</change>
9911290Sdefan@nginx.com
9921290Sdefan@nginx.com</changes>
9931290Sdefan@nginx.com
9941290Sdefan@nginx.com
9951289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
9961289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
9971289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9981289Sdefan@nginx.com
9991289Sdefan@nginx.com<change>
10001289Sdefan@nginx.com<para>
10011289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
10021289Sdefan@nginx.com</para>
10031289Sdefan@nginx.com</change>
10041289Sdefan@nginx.com
10051289Sdefan@nginx.com</changes>
10061289Sdefan@nginx.com
10071289Sdefan@nginx.com
10081185Svbart@nginx.com<changes apply="unit-php
10091185Svbart@nginx.com                unit-python unit-python2.7
10101185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10111185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
10121185Svbart@nginx.com                unit-perl
10131185Svbart@nginx.com                unit-ruby
10141185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10151284Svbart@nginx.com         ver="1.13.0" rev="1"
10161284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
10171284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10181284Svbart@nginx.com
10191284Svbart@nginx.com<change>
10201284Svbart@nginx.com<para>
10211284Svbart@nginx.comNGINX Unit updated to 1.13.0.
10221284Svbart@nginx.com</para>
10231284Svbart@nginx.com</change>
10241284Svbart@nginx.com
10251284Svbart@nginx.com</changes>
10261284Svbart@nginx.com
10271284Svbart@nginx.com
10281284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
10291284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
10301284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10311284Svbart@nginx.com
10321284Svbart@nginx.com<change type="feature">
10331284Svbart@nginx.com<para>
10341284Svbart@nginx.combasic support for HTTP reverse proxying.
10351284Svbart@nginx.com</para>
10361284Svbart@nginx.com</change>
10371284Svbart@nginx.com
10381284Svbart@nginx.com<change type="feature">
10391284Svbart@nginx.com<para>
10401284Svbart@nginx.comcompatibility with Python 3.8.
10411284Svbart@nginx.com</para>
10421284Svbart@nginx.com</change>
10431284Svbart@nginx.com
10441284Svbart@nginx.com<change type="bugfix">
10451284Svbart@nginx.com<para>
10461284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
10471284Svbart@nginx.com</para>
10481284Svbart@nginx.com</change>
10491284Svbart@nginx.com
10501284Svbart@nginx.com<change type="bugfix">
10511284Svbart@nginx.com<para>
10521284Svbart@nginx.comthreads in Python applications might not work correctly.
10531284Svbart@nginx.com</para>
10541284Svbart@nginx.com</change>
10551284Svbart@nginx.com
10561284Svbart@nginx.com<change type="bugfix">
10571284Svbart@nginx.com<para>
10581284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
10591284Svbart@nginx.com</para>
10601284Svbart@nginx.com</change>
10611284Svbart@nginx.com
10621284Svbart@nginx.com<change type="bugfix">
10631284Svbart@nginx.com<para>
10641284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
10651284Svbart@nginx.comdelays.
10661284Svbart@nginx.com</para>
10671284Svbart@nginx.com</change>
10681284Svbart@nginx.com
10691284Svbart@nginx.com<change type="bugfix">
10701284Svbart@nginx.com<para>
10711284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
10721284Svbart@nginx.com</para>
10731284Svbart@nginx.com</change>
10741284Svbart@nginx.com
10751284Svbart@nginx.com</changes>
10761284Svbart@nginx.com
10771284Svbart@nginx.com
10781284Svbart@nginx.com<changes apply="unit-php
10791284Svbart@nginx.com                unit-python unit-python2.7
10801284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10811284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
10821284Svbart@nginx.com                unit-perl
10831284Svbart@nginx.com                unit-ruby
10841284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10851222Svbart@nginx.com         ver="1.12.0" rev="1"
10861222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
10871222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10881222Svbart@nginx.com
10891222Svbart@nginx.com<change>
10901222Svbart@nginx.com<para>
10911222Svbart@nginx.comNGINX Unit updated to 1.12.0.
10921222Svbart@nginx.com</para>
10931222Svbart@nginx.com</change>
10941222Svbart@nginx.com
10951222Svbart@nginx.com</changes>
10961222Svbart@nginx.com
10971222Svbart@nginx.com
10981222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
10991222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
11001222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11011222Svbart@nginx.com
11021222Svbart@nginx.com<change type="feature">
11031222Svbart@nginx.com<para>
11041222Svbart@nginx.comcompatibility with PHP 7.4.
11051222Svbart@nginx.com</para>
11061222Svbart@nginx.com</change>
11071222Svbart@nginx.com
11081222Svbart@nginx.com<change type="bugfix">
11091222Svbart@nginx.com<para>
11101222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
11111222Svbart@nginx.com</para>
11121222Svbart@nginx.com</change>
11131222Svbart@nginx.com
11141222Svbart@nginx.com<change type="bugfix">
11151222Svbart@nginx.com<para>
11161222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
11171222Svbart@nginx.com</para>
11181222Svbart@nginx.com</change>
11191222Svbart@nginx.com
11201222Svbart@nginx.com<change type="bugfix">
11211222Svbart@nginx.com<para>
11221222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
11231222Svbart@nginx.com</para>
11241222Svbart@nginx.com</change>
11251222Svbart@nginx.com
11261222Svbart@nginx.com</changes>
11271222Svbart@nginx.com
11281222Svbart@nginx.com
11291222Svbart@nginx.com
11301222Svbart@nginx.com<changes apply="unit-php
11311222Svbart@nginx.com                unit-python unit-python2.7
11321222Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11331222Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11341222Svbart@nginx.com                unit-perl
11351222Svbart@nginx.com                unit-ruby
11361222Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11371185Svbart@nginx.com         ver="1.11.0" rev="1"
11381185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
11391185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
11401185Svbart@nginx.com
11411185Svbart@nginx.com<change>
11421185Svbart@nginx.com<para>
11431185Svbart@nginx.comNGINX Unit updated to 1.11.0.
11441185Svbart@nginx.com</para>
11451185Svbart@nginx.com</change>
11461185Svbart@nginx.com
11471185Svbart@nginx.com</changes>
11481185Svbart@nginx.com
11491185Svbart@nginx.com
11501185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1"
11511185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
11521185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
11531185Svbart@nginx.com
11541185Svbart@nginx.com<change type="feature">
11551185Svbart@nginx.com<para>
11561185Svbart@nginx.combasic support for serving static files.
11571185Svbart@nginx.com</para>
11581185Svbart@nginx.com</change>
11591185Svbart@nginx.com
11601185Svbart@nginx.com<change type="feature">
11611185Svbart@nginx.com<para>
11621185Svbart@nginx.comisolation of application processes with Linux namespaces.
11631185Svbart@nginx.com</para>
11641185Svbart@nginx.com</change>
11651185Svbart@nginx.com
11661185Svbart@nginx.com<change type="feature">
11671185Svbart@nginx.com<para>
11681185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers.
11691185Svbart@nginx.com</para>
11701185Svbart@nginx.com</change>
11711185Svbart@nginx.com
11721185Svbart@nginx.com<change type="feature">
11731185Svbart@nginx.com<para>
11741185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/"
11751185Svbart@nginx.comusing URI encoding (%2F).
11761185Svbart@nginx.com</para>
11771185Svbart@nginx.com</change>
11781185Svbart@nginx.com
11791185Svbart@nginx.com<change type="bugfix">
11801185Svbart@nginx.com<para>
11811185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load.
11821185Svbart@nginx.com</para>
11831185Svbart@nginx.com</change>
11841185Svbart@nginx.com
11851185Svbart@nginx.com<change type="bugfix">
11861185Svbart@nginx.com<para>
11871185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than
11881185Svbart@nginx.comGNU ld (e.g. gold or LLD).
11891185Svbart@nginx.com</para>
11901185Svbart@nginx.com</change>
11911185Svbart@nginx.com
11921185Svbart@nginx.com</changes>
11931185Svbart@nginx.com
11941185Svbart@nginx.com
11951142Sdefan@nginx.com<changes apply="unit
11961142Sdefan@nginx.com                unit-php
11971142Sdefan@nginx.com                unit-python unit-python2.7
11981142Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11991142Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12001142Sdefan@nginx.com                unit-perl
12011142Sdefan@nginx.com                unit-ruby
12021142Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12031142Sdefan@nginx.com         ver="1.10.0" rev="2"
12041142Sdefan@nginx.com         date="2019-08-23" time="12:00:00 +0300"
12051142Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12061142Sdefan@nginx.com
12071142Sdefan@nginx.com<change type="bugfix">
12081142Sdefan@nginx.com<para>
12091142Sdefan@nginx.commissed header files added to unit development package.
12101142Sdefan@nginx.com</para>
12111142Sdefan@nginx.com</change>
12121142Sdefan@nginx.com
12131142Sdefan@nginx.com</changes>
12141142Sdefan@nginx.com
12151142Sdefan@nginx.com
12161134Svbart@nginx.com<changes apply="unit-php
12171134Svbart@nginx.com                unit-python unit-python2.7
12181134Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12191134Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12201134Svbart@nginx.com                unit-perl
12211134Svbart@nginx.com                unit-ruby
12221134Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12231134Svbart@nginx.com         ver="1.10.0" rev="1"
12241134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
12251134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12261134Svbart@nginx.com
12271134Svbart@nginx.com<change>
12281134Svbart@nginx.com<para>
12291134Svbart@nginx.comNGINX Unit updated to 1.10.0.
12301134Svbart@nginx.com</para>
12311134Svbart@nginx.com</change>
12321134Svbart@nginx.com
12331134Svbart@nginx.com</changes>
12341134Svbart@nginx.com
12351134Svbart@nginx.com
12361134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1"
12371134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
12381134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12391134Svbart@nginx.com
12401134Svbart@nginx.com<change type="change">
12411134Svbart@nginx.com<para>
12421134Svbart@nginx.commatching of cookies in routes made case sensitive.
12431134Svbart@nginx.com</para>
12441134Svbart@nginx.com</change>
12451134Svbart@nginx.com
12461134Svbart@nginx.com<change type="change">
12471134Svbart@nginx.com<para>
12481134Svbart@nginx.comdecreased log level of common errors when clients close connections.
12491134Svbart@nginx.com</para>
12501134Svbart@nginx.com</change>
12511134Svbart@nginx.com
12521134Svbart@nginx.com<change type="change">
12531134Svbart@nginx.com<para>
12541134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option.
12551134Svbart@nginx.com</para>
12561134Svbart@nginx.com</change>
12571134Svbart@nginx.com
12581134Svbart@nginx.com<change type="feature">
12591134Svbart@nginx.com<para>
12601134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module.
12611134Svbart@nginx.com</para>
12621134Svbart@nginx.com</change>
12631134Svbart@nginx.com
12641134Svbart@nginx.com<change type="feature">
12651134Svbart@nginx.com<para>
12661134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module.
12671134Svbart@nginx.com</para>
12681134Svbart@nginx.com</change>
12691134Svbart@nginx.com
12701134Svbart@nginx.com<change type="feature">
12711134Svbart@nginx.com<para>
12721134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS).
12731134Svbart@nginx.com</para>
12741134Svbart@nginx.com</change>
12751134Svbart@nginx.com
12761134Svbart@nginx.com<change type="feature">
12771134Svbart@nginx.com<para>
12781134Svbart@nginx.comsupport for multipart requests body in Java module.
12791134Svbart@nginx.com</para>
12801134Svbart@nginx.com</change>
12811134Svbart@nginx.com
12821134Svbart@nginx.com<change type="feature">
12831134Svbart@nginx.com<para>
12841134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later.
12851134Svbart@nginx.com</para>
12861134Svbart@nginx.com</change>
12871134Svbart@nginx.com
12881134Svbart@nginx.com<change type="bugfix">
12891134Svbart@nginx.com<para>
12901134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing.
12911134Svbart@nginx.com</para>
12921134Svbart@nginx.com</change>
12931134Svbart@nginx.com
12941134Svbart@nginx.com<change type="bugfix">
12951134Svbart@nginx.com<para>
12961134Svbart@nginx.comapplying a large configuration might have failed.
12971134Svbart@nginx.com</para>
12981134Svbart@nginx.com</change>
12991134Svbart@nginx.com
13001134Svbart@nginx.com</changes>
13011134Svbart@nginx.com
13021134Svbart@nginx.com
13031069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1"
13041069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
13051069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13061069Svbart@nginx.com
13071069Svbart@nginx.com<change>
13081069Svbart@nginx.com<para>
13091069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit.
13101069Svbart@nginx.com</para>
13111069Svbart@nginx.com</change>
13121069Svbart@nginx.com
13131069Svbart@nginx.com</changes>
13141069Svbart@nginx.com
13151069Svbart@nginx.com
13161069Svbart@nginx.com<changes apply="unit-php
13171069Svbart@nginx.com                unit-python unit-python2.7
13181069Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
13191069Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
13201069Svbart@nginx.com                unit-perl
13211069Svbart@nginx.com                unit-ruby
13221069Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
13231069Svbart@nginx.com         ver="1.9.0" rev="1"
13241069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
13251069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13261069Svbart@nginx.com
13271069Svbart@nginx.com<change>
13281069Svbart@nginx.com<para>
13291069Svbart@nginx.comNGINX Unit updated to 1.9.0.
13301069Svbart@nginx.com</para>
13311069Svbart@nginx.com</change>
13321069Svbart@nginx.com
13331069Svbart@nginx.com</changes>
13341069Svbart@nginx.com
13351069Svbart@nginx.com
13361069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1"
13371069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
13381069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13391069Svbart@nginx.com
13401069Svbart@nginx.com<change type="feature">
13411069Svbart@nginx.com<para>
13421069Svbart@nginx.comrequest routing by arguments, headers, and cookies.
13431069Svbart@nginx.com</para>
13441069Svbart@nginx.com</change>
13451069Svbart@nginx.com
13461069Svbart@nginx.com<change type="feature">
13471069Svbart@nginx.com<para>
13481069Svbart@nginx.comroute matching patterns allow a wildcard in the middle.
13491069Svbart@nginx.com</para>
13501069Svbart@nginx.com</change>
13511069Svbart@nginx.com
13521069Svbart@nginx.com<change type="feature">
13531069Svbart@nginx.com<para>
13541069Svbart@nginx.comPOST operation for appending elements to arrays in configuration.
13551069Svbart@nginx.com</para>
1356