xref: /unit/docs/changes.xml (revision 1815)
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
81806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
91806Svbart@nginx.com         date="" time=""
101806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
111806Svbart@nginx.com
121811Smax.romanov@nginx.com<change type="bugfix">
131811Smax.romanov@nginx.com<para>
141812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
151812Svbart@nginx.comappeared in 1.17.0.
161812Svbart@nginx.com</para>
171812Svbart@nginx.com</change>
181812Svbart@nginx.com
191812Svbart@nginx.com<change type="bugfix">
201812Svbart@nginx.com<para>
211812Svbart@nginx.coma connection leak occurring on premature TLS connection close; the bug had
221812Svbart@nginx.comappeared in 1.6.
231812Svbart@nginx.com</para>
241812Svbart@nginx.com</change>
251812Svbart@nginx.com
261812Svbart@nginx.com<change type="bugfix">
271812Svbart@nginx.com<para>
281811Smax.romanov@nginx.coma descriptor leak occurring in the router process when removing or
291811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
301811Smax.romanov@nginx.com</para>
311811Smax.romanov@nginx.com</change>
321806Svbart@nginx.com
331813Svbart@nginx.com<change type="bugfix">
341813Svbart@nginx.com<para>
351813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
361813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
371813Svbart@nginx.com</para>
381813Svbart@nginx.com</change>
391813Svbart@nginx.com
401814Svbart@nginx.com<change type="bugfix">
411814Svbart@nginx.com<para>
421814Svbart@nginx.comthe Ruby module didn't respect user locale for defaults in the Encoding class.
431814Svbart@nginx.com</para>
441814Svbart@nginx.com</change>
451814Svbart@nginx.com
46*1815Svbart@nginx.com<change type="bugfix">
47*1815Svbart@nginx.com<para>
48*1815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
49*1815Svbart@nginx.comappeared in 1.22.0.
50*1815Svbart@nginx.com</para>
51*1815Svbart@nginx.com</change>
52*1815Svbart@nginx.com
531806Svbart@nginx.com</changes>
541806Svbart@nginx.com
551806Svbart@nginx.com
561798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
571798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
581798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
591798Sdefan@nginx.com
601798Sdefan@nginx.com<change>
611798Sdefan@nginx.com<para>
621798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
631798Sdefan@nginx.com</para>
641798Sdefan@nginx.com</change>
651798Sdefan@nginx.com
661798Sdefan@nginx.com</changes>
671798Sdefan@nginx.com
681798Sdefan@nginx.com
691763Sdefan@nginx.com<changes apply="unit-php
701763Sdefan@nginx.com                unit-python unit-python2.7
711763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
721763Sdefan@nginx.com                unit-python3.8
731763Sdefan@nginx.com                unit-go
741763Sdefan@nginx.com                unit-perl
751763Sdefan@nginx.com                unit-ruby
761763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
771763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
781763Sdefan@nginx.com         ver="1.22.0" rev="1"
791793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
801763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
811763Sdefan@nginx.com
821763Sdefan@nginx.com<change>
831763Sdefan@nginx.com<para>
841763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
851763Sdefan@nginx.com</para>
861763Sdefan@nginx.com</change>
871763Sdefan@nginx.com
881763Sdefan@nginx.com</changes>
891763Sdefan@nginx.com
901763Sdefan@nginx.com
911727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
921793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
931727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
941727Svbart@nginx.com
951759Svbart@nginx.com<change type="feature">
961759Svbart@nginx.com<para>
971792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
981792Svbart@nginx.comcompliant with Stream API.
991759Svbart@nginx.com</para>
1001759Svbart@nginx.com</change>
1011759Svbart@nginx.com
1021766Smax.romanov@nginx.com<change type="feature">
1031766Smax.romanov@nginx.com<para>
1041792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
1051792Svbart@nginx.comapps.
1061732Svbart@nginx.com</para>
1071732Svbart@nginx.com</change>
1081732Svbart@nginx.com
1091733Svbart@nginx.com<change type="bugfix">
1101733Svbart@nginx.com<para>
1111792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
1121792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
1131754Smax.romanov@nginx.com</para>
1141754Smax.romanov@nginx.com</change>
1151754Smax.romanov@nginx.com
1161755Smax.romanov@nginx.com<change type="bugfix">
1171755Smax.romanov@nginx.com<para>
1181790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
1191755Smax.romanov@nginx.comappeared in 1.19.0.
1201755Smax.romanov@nginx.com</para>
1211755Smax.romanov@nginx.com</change>
1221755Smax.romanov@nginx.com
1231756Smax.romanov@nginx.com<change type="bugfix">
1241756Smax.romanov@nginx.com<para>
1251790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
1261790Sartem.konev@nginx.comappeared in 1.19.0.
1271756Smax.romanov@nginx.com</para>
1281756Smax.romanov@nginx.com</change>
1291756Smax.romanov@nginx.com
1301760Smax.romanov@nginx.com<change type="bugfix">
1311760Smax.romanov@nginx.com<para>
1321792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
1331792Svbart@nginx.com</para>
1341792Svbart@nginx.com</change>
1351792Svbart@nginx.com
1361792Svbart@nginx.com<change type="bugfix">
1371792Svbart@nginx.com<para>
1381792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
1391792Svbart@nginx.commissing in the PHP module.
1401792Svbart@nginx.com</para>
1411792Svbart@nginx.com</change>
1421792Svbart@nginx.com
1431792Svbart@nginx.com<change type="bugfix">
1441792Svbart@nginx.com<para>
1451792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
1461792Svbart@nginx.com</para>
1471792Svbart@nginx.com</change>
1481792Svbart@nginx.com
1491792Svbart@nginx.com<change type="bugfix">
1501792Svbart@nginx.com<para>
1511792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
1521792Svbart@nginx.com</para>
1531792Svbart@nginx.com</change>
1541792Svbart@nginx.com
1551792Svbart@nginx.com<change type="bugfix">
1561792Svbart@nginx.com<para>
1571792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
1581792Svbart@nginx.comthe bug had appeared in 1.21.0.
1591760Smax.romanov@nginx.com</para>
1601760Smax.romanov@nginx.com</change>
1611760Smax.romanov@nginx.com
1621780Smax.romanov@nginx.com<change type="bugfix">
1631780Smax.romanov@nginx.com<para>
1641790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
1651790Sartem.konev@nginx.comWebSocket.
1661780Smax.romanov@nginx.com</para>
1671780Smax.romanov@nginx.com</change>
1681780Smax.romanov@nginx.com
1691789Smax.romanov@nginx.com<change type="bugfix">
1701789Smax.romanov@nginx.com<para>
1711789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
1721789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
1731789Smax.romanov@nginx.com</para>
1741789Smax.romanov@nginx.com</change>
1751789Smax.romanov@nginx.com
1761727Svbart@nginx.com</changes>
1771727Svbart@nginx.com
1781727Svbart@nginx.com
1791722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
1801722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
1811722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1821722Svbart@nginx.com
1831722Svbart@nginx.com<change>
1841722Svbart@nginx.com<para>
1851722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
1861722Svbart@nginx.com</para>
1871722Svbart@nginx.com</change>
1881722Svbart@nginx.com
1891722Svbart@nginx.com</changes>
1901722Svbart@nginx.com
1911722Svbart@nginx.com
1921722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
1931722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
1941722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1951722Svbart@nginx.com
1961722Svbart@nginx.com<change>
1971722Svbart@nginx.com<para>
1981722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
1991722Svbart@nginx.com</para>
2001722Svbart@nginx.com</change>
2011722Svbart@nginx.com
2021722Svbart@nginx.com</changes>
2031722Svbart@nginx.com
2041722Svbart@nginx.com
2051722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
2061722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2071722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2081722Svbart@nginx.com
2091722Svbart@nginx.com<change>
2101722Svbart@nginx.com<para>
2111722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
2121722Svbart@nginx.com</para>
2131722Svbart@nginx.com</change>
2141722Svbart@nginx.com
2151722Svbart@nginx.com</changes>
2161722Svbart@nginx.com
2171722Svbart@nginx.com
2181722Svbart@nginx.com<changes apply="unit-php
2191722Svbart@nginx.com                unit-python unit-python2.7
2201722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2211722Svbart@nginx.com                unit-python3.8
2221722Svbart@nginx.com                unit-go
2231722Svbart@nginx.com                unit-perl
2241722Svbart@nginx.com                unit-ruby
2251722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
2261722Svbart@nginx.com         ver="1.21.0" rev="1"
2271722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2281722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2291722Svbart@nginx.com
2301722Svbart@nginx.com<change>
2311722Svbart@nginx.com<para>
2321722Svbart@nginx.comNGINX Unit updated to 1.21.0.
2331722Svbart@nginx.com</para>
2341722Svbart@nginx.com</change>
2351722Svbart@nginx.com
2361722Svbart@nginx.com</changes>
2371722Svbart@nginx.com
2381722Svbart@nginx.com
2391722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
2401722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
2411722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2421722Svbart@nginx.com
2431722Svbart@nginx.com<change type="change">
2441722Svbart@nginx.com<para>
2451722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
2461722Svbart@nginx.com</para>
2471722Svbart@nginx.com</change>
2481722Svbart@nginx.com
2491722Svbart@nginx.com<change type="change">
2501722Svbart@nginx.com<para>
2511722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
2521722Svbart@nginx.comnames.
2531722Svbart@nginx.com</para>
2541722Svbart@nginx.com</change>
2551722Svbart@nginx.com
2561722Svbart@nginx.com<change type="change">
2571722Svbart@nginx.com<para>
2581722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
2591722Svbart@nginx.comdefault.
2601722Svbart@nginx.com</para>
2611722Svbart@nginx.com</change>
2621722Svbart@nginx.com
2631722Svbart@nginx.com<change type="feature">
2641722Svbart@nginx.com<para>
2651722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
2661722Svbart@nginx.com</para>
2671722Svbart@nginx.com</change>
2681722Svbart@nginx.com
2691722Svbart@nginx.com<change type="feature">
2701722Svbart@nginx.com<para>
2711722Svbart@nginx.comregular expressions in route matching patterns.
2721722Svbart@nginx.com</para>
2731722Svbart@nginx.com</change>
2741722Svbart@nginx.com
2751722Svbart@nginx.com<change type="feature">
2761722Svbart@nginx.com<para>
2771722Svbart@nginx.comcompatibility with Python 3.9.
2781722Svbart@nginx.com</para>
2791722Svbart@nginx.com</change>
2801722Svbart@nginx.com
2811722Svbart@nginx.com<change type="feature">
2821722Svbart@nginx.com<para>
2831722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
2841722Svbart@nginx.com</para>
2851722Svbart@nginx.com</change>
2861722Svbart@nginx.com
2871722Svbart@nginx.com<change type="feature">
2881722Svbart@nginx.com<para>
2891722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
2901722Svbart@nginx.com</para>
2911722Svbart@nginx.com</change>
2921722Svbart@nginx.com
2931722Svbart@nginx.com<change type="feature">
2941722Svbart@nginx.com<para>
2951722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
2961722Svbart@nginx.comcontinues code execution without holding onto the client connection.
2971722Svbart@nginx.com</para>
2981722Svbart@nginx.com</change>
2991722Svbart@nginx.com
3001722Svbart@nginx.com<change type="feature">
3011722Svbart@nginx.com<para>
3021722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
3031722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
3041722Svbart@nginx.com</para>
3051722Svbart@nginx.com</change>
3061722Svbart@nginx.com
3071722Svbart@nginx.com<change type="feature">
3081722Svbart@nginx.com<para>
3091722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
3101722Svbart@nginx.commounting of eponymous filesystems.
3111722Svbart@nginx.com</para>
3121722Svbart@nginx.com</change>
3131722Svbart@nginx.com
3141722Svbart@nginx.com<change type="bugfix">
3151722Svbart@nginx.com<para>
3161722Svbart@nginx.comthe router process could crash when running Go applications under high load;
3171722Svbart@nginx.comthe bug had appeared in 1.19.0.
3181722Svbart@nginx.com</para>
3191722Svbart@nginx.com</change>
3201722Svbart@nginx.com
3211722Svbart@nginx.com<change type="bugfix">
3221722Svbart@nginx.com<para>
3231722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
3241722Svbart@nginx.com</para>
3251722Svbart@nginx.com</change>
3261722Svbart@nginx.com
3271722Svbart@nginx.com<change type="bugfix">
3281722Svbart@nginx.com<para>
3291722Svbart@nginx.comvarious compatibility issues in Java applications.
3301722Svbart@nginx.com</para>
3311722Svbart@nginx.com</change>
3321722Svbart@nginx.com
3331722Svbart@nginx.com<change type="bugfix">
3341722Svbart@nginx.com<para>
3351722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
3361722Svbart@nginx.comuse "rootfs" isolation.
3371722Svbart@nginx.com</para>
3381722Svbart@nginx.com</change>
3391722Svbart@nginx.com
3401722Svbart@nginx.com</changes>
3411722Svbart@nginx.com
3421722Svbart@nginx.com
3431330Svbart@nginx.com<changes apply="unit-php
3441330Svbart@nginx.com                unit-python unit-python2.7
3451330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3461330Svbart@nginx.com                unit-python3.8
3471330Svbart@nginx.com                unit-go
3481330Svbart@nginx.com                unit-perl
3491330Svbart@nginx.com                unit-ruby
3501330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
3511640Svbart@nginx.com         ver="1.20.0" rev="1"
3521640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
3531640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3541640Svbart@nginx.com
3551640Svbart@nginx.com<change>
3561640Svbart@nginx.com<para>
3571640Svbart@nginx.comNGINX Unit updated to 1.20.0.
3581640Svbart@nginx.com</para>
3591640Svbart@nginx.com</change>
3601640Svbart@nginx.com
3611640Svbart@nginx.com</changes>
3621640Svbart@nginx.com
3631640Svbart@nginx.com
3641640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
3651640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
3661640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3671640Svbart@nginx.com
3681640Svbart@nginx.com<change type="change">
3691640Svbart@nginx.com<para>
3701640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
3711640Svbart@nginx.comextensions from the host system.
3721640Svbart@nginx.com</para>
3731640Svbart@nginx.com</change>
3741640Svbart@nginx.com
3751640Svbart@nginx.com<change type="change">
3761640Svbart@nginx.com<para>
3771640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
3781640Svbart@nginx.com</para>
3791640Svbart@nginx.com</change>
3801640Svbart@nginx.com
3811643Svbart@nginx.com<change type="change">
3821643Svbart@nginx.com<para>
3831643Svbart@nginx.comfunctional tests migrated to the pytest framework.
3841643Svbart@nginx.com</para>
3851643Svbart@nginx.com</change>
3861643Svbart@nginx.com
3871640Svbart@nginx.com<change type="feature">
3881640Svbart@nginx.com<para>
3891640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
3901640Svbart@nginx.cominterface.
3911640Svbart@nginx.com</para>
3921640Svbart@nginx.com</change>
3931640Svbart@nginx.com
3941640Svbart@nginx.com<change type="feature">
3951640Svbart@nginx.com<para>
3961640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
3971640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
3981640Svbart@nginx.comspecification.
3991640Svbart@nginx.com</para>
4001640Svbart@nginx.com</change>
4011640Svbart@nginx.com
4021640Svbart@nginx.com<change type="feature">
4031640Svbart@nginx.com<para>
4041640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
4051640Svbart@nginx.comenvironments.
4061640Svbart@nginx.com</para>
4071640Svbart@nginx.com</change>
4081640Svbart@nginx.com
4091640Svbart@nginx.com<change type="feature">
4101640Svbart@nginx.com<para>
4111640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
4121640Svbart@nginx.com</para>
4131640Svbart@nginx.com</change>
4141640Svbart@nginx.com
4151640Svbart@nginx.com<change type="feature">
4161640Svbart@nginx.com<para>
4171640Svbart@nginx.comthe "callable" option sets Python application callable names.
4181640Svbart@nginx.com</para>
4191640Svbart@nginx.com</change>
4201640Svbart@nginx.com
4211640Svbart@nginx.com<change type="feature">
4221640Svbart@nginx.com<para>
4231640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
4241640Svbart@nginx.com</para>
4251640Svbart@nginx.com</change>
4261640Svbart@nginx.com
4271640Svbart@nginx.com<change type="feature">
4281640Svbart@nginx.com<para>
4291640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
4301640Svbart@nginx.comautomatic mounting of language module dependencies.
4311640Svbart@nginx.com</para>
4321640Svbart@nginx.com</change>
4331640Svbart@nginx.com
4341640Svbart@nginx.com<change type="bugfix">
4351640Svbart@nginx.com<para>
4361640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
4371640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
4381640Svbart@nginx.com</para>
4391640Svbart@nginx.com</change>
4401640Svbart@nginx.com
4411640Svbart@nginx.com<change type="bugfix">
4421640Svbart@nginx.com<para>
4431640Svbart@nginx.comthe router process could crash during reconfiguration.
4441640Svbart@nginx.com</para>
4451640Svbart@nginx.com</change>
4461640Svbart@nginx.com
4471640Svbart@nginx.com<change type="bugfix">
4481640Svbart@nginx.com<para>
4491640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
4501640Svbart@nginx.com</para>
4511640Svbart@nginx.com</change>
4521640Svbart@nginx.com
4531640Svbart@nginx.com<change type="bugfix">
4541640Svbart@nginx.com<para>
4551640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
4561640Svbart@nginx.comthe bug had appeared in 1.19.0.
4571640Svbart@nginx.com</para>
4581640Svbart@nginx.com</change>
4591640Svbart@nginx.com
4601640Svbart@nginx.com<change type="bugfix">
4611640Svbart@nginx.com<para>
4621640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
4631640Svbart@nginx.comthe bug had appeared in 1.16.0.
4641640Svbart@nginx.com</para>
4651640Svbart@nginx.com</change>
4661640Svbart@nginx.com
4671640Svbart@nginx.com</changes>
4681640Svbart@nginx.com
4691640Svbart@nginx.com
4701640Svbart@nginx.com<changes apply="unit-php
4711640Svbart@nginx.com                unit-python unit-python2.7
4721640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4731640Svbart@nginx.com                unit-python3.8
4741640Svbart@nginx.com                unit-go
4751640Svbart@nginx.com                unit-perl
4761640Svbart@nginx.com                unit-ruby
4771640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4781570Svbart@nginx.com         ver="1.19.0" rev="1"
4791570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
4801570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4811570Svbart@nginx.com
4821570Svbart@nginx.com<change>
4831570Svbart@nginx.com<para>
4841570Svbart@nginx.comNGINX Unit updated to 1.19.0.
4851570Svbart@nginx.com</para>
4861570Svbart@nginx.com</change>
4871570Svbart@nginx.com
4881570Svbart@nginx.com</changes>
4891570Svbart@nginx.com
4901570Svbart@nginx.com
4911570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
4921570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
4931570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4941570Svbart@nginx.com
4951570Svbart@nginx.com<change type="feature">
4961570Svbart@nginx.com<para>
4971570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
4981570Svbart@nginx.comincrease performance, and improve scalability.
4991570Svbart@nginx.com</para>
5001570Svbart@nginx.com</change>
5011570Svbart@nginx.com
5021570Svbart@nginx.com<change type="feature">
5031570Svbart@nginx.com<para>
5041570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
5051570Svbart@nginx.com</para>
5061570Svbart@nginx.com</change>
5071570Svbart@nginx.com
5081570Svbart@nginx.com<change type="feature">
5091570Svbart@nginx.com<para>
5101570Svbart@nginx.comchunked transfer encoding in proxy responses.
5111570Svbart@nginx.com</para>
5121570Svbart@nginx.com</change>
5131570Svbart@nginx.com
5141570Svbart@nginx.com<change type="feature">
5151570Svbart@nginx.com<para>
5161570Svbart@nginx.combasic variables support in the "pass" option.
5171570Svbart@nginx.com</para>
5181570Svbart@nginx.com</change>
5191570Svbart@nginx.com
5201570Svbart@nginx.com<change type="feature">
5211570Svbart@nginx.com<para>
5221570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
5231570Svbart@nginx.comThanks to Remi Collet.
5241570Svbart@nginx.com</para>
5251570Svbart@nginx.com</change>
5261570Svbart@nginx.com
5271570Svbart@nginx.com<change type="bugfix">
5281570Svbart@nginx.com<para>
5291570Svbart@nginx.comthe router process could crash while passing requests to an application under
5301570Svbart@nginx.comhigh load.
5311570Svbart@nginx.com</para>
5321570Svbart@nginx.com</change>
5331570Svbart@nginx.com
5341570Svbart@nginx.com<change type="bugfix">
5351570Svbart@nginx.com<para>
5361570Svbart@nginx.coma number of language modules failed to build on some systems;
5371570Svbart@nginx.comthe bug had appeared in 1.18.0.
5381570Svbart@nginx.com</para>
5391570Svbart@nginx.com</change>
5401570Svbart@nginx.com
5411570Svbart@nginx.com<change type="bugfix">
5421570Svbart@nginx.com<para>
5431570Svbart@nginx.comtime in error log messages from PHP applications could lag.
5441570Svbart@nginx.com</para>
5451570Svbart@nginx.com</change>
5461570Svbart@nginx.com
5471570Svbart@nginx.com<change type="bugfix">
5481570Svbart@nginx.com<para>
5491570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
5501570Svbart@nginx.comthe bug had appeared in 1.18.0.
5511570Svbart@nginx.com</para>
5521570Svbart@nginx.com</change>
5531570Svbart@nginx.com
5541570Svbart@nginx.com<change type="bugfix">
5551570Svbart@nginx.com<para>
5561570Svbart@nginx.commemory leak during reconfiguration.
5571570Svbart@nginx.com</para>
5581570Svbart@nginx.com</change>
5591570Svbart@nginx.com
5601570Svbart@nginx.com<change type="bugfix">
5611570Svbart@nginx.com<para>
5621570Svbart@nginx.comthe daemon didn't start without language modules;
5631570Svbart@nginx.comthe bug had appeared in 1.18.0.
5641570Svbart@nginx.com</para>
5651570Svbart@nginx.com</change>
5661570Svbart@nginx.com
5671570Svbart@nginx.com<change type="bugfix">
5681570Svbart@nginx.com<para>
5691570Svbart@nginx.comthe router process could crash at exit.
5701570Svbart@nginx.com</para>
5711570Svbart@nginx.com</change>
5721570Svbart@nginx.com
5731570Svbart@nginx.com<change type="bugfix">
5741570Svbart@nginx.com<para>
5751570Svbart@nginx.comNode.js applications could crash at exit.
5761570Svbart@nginx.com</para>
5771570Svbart@nginx.com</change>
5781570Svbart@nginx.com
5791570Svbart@nginx.com<change type="bugfix">
5801570Svbart@nginx.com<para>
5811570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
5821570Svbart@nginx.com</para>
5831570Svbart@nginx.com</change>
5841570Svbart@nginx.com
5851570Svbart@nginx.com</changes>
5861570Svbart@nginx.com
5871570Svbart@nginx.com
5881570Svbart@nginx.com<changes apply="unit-php
5891570Svbart@nginx.com                unit-python unit-python2.7
5901570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5911570Svbart@nginx.com                unit-python3.8
5921570Svbart@nginx.com                unit-go
5931570Svbart@nginx.com                unit-perl
5941570Svbart@nginx.com                unit-ruby
5951570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5961491Svbart@nginx.com         ver="1.18.0" rev="1"
5971491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
5981491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5991491Svbart@nginx.com
6001491Svbart@nginx.com<change>
6011491Svbart@nginx.com<para>
6021491Svbart@nginx.comNGINX Unit updated to 1.18.0.
6031491Svbart@nginx.com</para>
6041491Svbart@nginx.com</change>
6051491Svbart@nginx.com
6061491Svbart@nginx.com</changes>
6071491Svbart@nginx.com
6081491Svbart@nginx.com
6091491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
6101491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
6111491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6121491Svbart@nginx.com
6131491Svbart@nginx.com<change type="feature">
6141491Svbart@nginx.com<para>
6151491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
6161491Svbart@nginx.com</para>
6171491Svbart@nginx.com</change>
6181491Svbart@nginx.com
6191491Svbart@nginx.com<change type="feature">
6201491Svbart@nginx.com<para>
6211491Svbart@nginx.commultiple "targets" in PHP applications.
6221491Svbart@nginx.com</para>
6231491Svbart@nginx.com</change>
6241491Svbart@nginx.com
6251491Svbart@nginx.com<change type="feature">
6261491Svbart@nginx.com<para>
6271491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
6281491Svbart@nginx.comand in the "pass" option.
6291491Svbart@nginx.com</para>
6301491Svbart@nginx.com</change>
6311491Svbart@nginx.com
6321491Svbart@nginx.com</changes>
6331491Svbart@nginx.com
6341491Svbart@nginx.com
6351491Svbart@nginx.com<changes apply="unit-php
6361491Svbart@nginx.com                unit-python unit-python2.7
6371491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6381491Svbart@nginx.com                unit-python3.8
6391491Svbart@nginx.com                unit-go
6401491Svbart@nginx.com                unit-perl
6411491Svbart@nginx.com                unit-ruby
6421491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6431460Svbart@nginx.com         ver="1.17.0" rev="1"
6441460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
6451460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6461460Svbart@nginx.com
6471460Svbart@nginx.com<change>
6481460Svbart@nginx.com<para>
6491460Svbart@nginx.comNGINX Unit updated to 1.17.0.
6501460Svbart@nginx.com</para>
6511460Svbart@nginx.com</change>
6521460Svbart@nginx.com
6531460Svbart@nginx.com</changes>
6541460Svbart@nginx.com
6551460Svbart@nginx.com
6561460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
6571460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
6581460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6591460Svbart@nginx.com
6601460Svbart@nginx.com<change type="feature">
6611460Svbart@nginx.com<para>
6621460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
6631460Svbart@nginx.comredirection.
6641460Svbart@nginx.com</para>
6651460Svbart@nginx.com</change>
6661460Svbart@nginx.com
6671460Svbart@nginx.com<change type="feature">
6681460Svbart@nginx.com<para>
6691460Svbart@nginx.comfractional weights support for upstream servers.
6701460Svbart@nginx.com</para>
6711460Svbart@nginx.com</change>
6721460Svbart@nginx.com
6731460Svbart@nginx.com<change type="bugfix">
6741460Svbart@nginx.com<para>
6751460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
6761460Svbart@nginx.comhigh load.
6771460Svbart@nginx.com</para>
6781460Svbart@nginx.com</change>
6791460Svbart@nginx.com
6801460Svbart@nginx.com<change type="bugfix">
6811460Svbart@nginx.com<para>
6821460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
6831460Svbart@nginx.com</para>
6841460Svbart@nginx.com</change>
6851460Svbart@nginx.com
6861460Svbart@nginx.com<change type="bugfix">
6871460Svbart@nginx.com<para>
6881460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
6891460Svbart@nginx.comopen connections limit.
6901460Svbart@nginx.com</para>
6911460Svbart@nginx.com</change>
6921460Svbart@nginx.com
6931460Svbart@nginx.com<change type="bugfix">
6941460Svbart@nginx.com<para>
6951460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
6961460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
6971460Svbart@nginx.com</para>
6981460Svbart@nginx.com</change>
6991460Svbart@nginx.com
7001460Svbart@nginx.com<change type="bugfix">
7011460Svbart@nginx.com<para>
7021460Svbart@nginx.comexisting application processes didn't reopen the log file.
7031460Svbart@nginx.com</para>
7041460Svbart@nginx.com</change>
7051460Svbart@nginx.com
7061460Svbart@nginx.com<change type="bugfix">
7071460Svbart@nginx.com<para>
7081460Svbart@nginx.comincompatibility with some Node.js applications.
7091460Svbart@nginx.com</para>
7101460Svbart@nginx.com</change>
7111460Svbart@nginx.com
7121460Svbart@nginx.com<change type="bugfix">
7131460Svbart@nginx.com<para>
7141460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
7151460Svbart@nginx.com</para>
7161460Svbart@nginx.com</change>
7171460Svbart@nginx.com
7181460Svbart@nginx.com</changes>
7191460Svbart@nginx.com
7201460Svbart@nginx.com
7211460Svbart@nginx.com<changes apply="unit-php
7221460Svbart@nginx.com                unit-python unit-python2.7
7231460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7241460Svbart@nginx.com                unit-python3.8
7251460Svbart@nginx.com                unit-go
7261460Svbart@nginx.com                unit-perl
7271460Svbart@nginx.com                unit-ruby
7281460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7291404Svbart@nginx.com         ver="1.16.0" rev="1"
7301404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
7311404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7321404Svbart@nginx.com
7331404Svbart@nginx.com<change>
7341404Svbart@nginx.com<para>
7351404Svbart@nginx.comNGINX Unit updated to 1.16.0.
7361404Svbart@nginx.com</para>
7371404Svbart@nginx.com</change>
7381404Svbart@nginx.com
7391404Svbart@nginx.com</changes>
7401404Svbart@nginx.com
7411404Svbart@nginx.com
7421404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
7431404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
7441404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7451404Svbart@nginx.com
7461404Svbart@nginx.com<change type="feature">
7471404Svbart@nginx.com<para>
7481404Svbart@nginx.combasic load-balancing support with round-robin.
7491404Svbart@nginx.com</para>
7501404Svbart@nginx.com</change>
7511404Svbart@nginx.com
7521404Svbart@nginx.com<change type="feature">
7531404Svbart@nginx.com<para>
7541404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
7551404Svbart@nginx.comserved from the "share" directory.
7561404Svbart@nginx.com</para>
7571404Svbart@nginx.com</change>
7581404Svbart@nginx.com
7591404Svbart@nginx.com<change type="feature">
7601404Svbart@nginx.com<para>
7611404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
7621404Svbart@nginx.com</para>
7631404Svbart@nginx.com</change>
7641404Svbart@nginx.com
7651404Svbart@nginx.com<change type="feature">
7661404Svbart@nginx.com<para>
7671404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
7681404Svbart@nginx.com</para>
7691404Svbart@nginx.com</change>
7701404Svbart@nginx.com
7711404Svbart@nginx.com<change type="bugfix">
7721404Svbart@nginx.com<para>
7731404Svbart@nginx.comnegative address matching in router might work improperly in combination with
7741404Svbart@nginx.comnon-negative patterns.
7751404Svbart@nginx.com</para>
7761404Svbart@nginx.com</change>
7771404Svbart@nginx.com
7781404Svbart@nginx.com<change type="bugfix">
7791404Svbart@nginx.com<para>
7801404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
7811404Svbart@nginx.com</para>
7821404Svbart@nginx.com</change>
7831404Svbart@nginx.com
7841404Svbart@nginx.com<change type="bugfix">
7851404Svbart@nginx.com<para>
7861404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
7871404Svbart@nginx.com</para>
7881404Svbart@nginx.com</change>
7891404Svbart@nginx.com
7901404Svbart@nginx.com<change type="bugfix">
7911404Svbart@nginx.com<para>
7921404Svbart@nginx.comcompatibility issues with some Python applications.
7931404Svbart@nginx.com</para>
7941404Svbart@nginx.com</change>
7951404Svbart@nginx.com
7961404Svbart@nginx.com</changes>
7971404Svbart@nginx.com
7981404Svbart@nginx.com
7991404Svbart@nginx.com<changes apply="unit-php
8001404Svbart@nginx.com                unit-python unit-python2.7
8011404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8021404Svbart@nginx.com                unit-python3.8
8031404Svbart@nginx.com                unit-go
8041404Svbart@nginx.com                unit-perl
8051404Svbart@nginx.com                unit-ruby
8061404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8071357Svbart@nginx.com         ver="1.15.0" rev="1"
8081357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
8091357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8101357Svbart@nginx.com
8111357Svbart@nginx.com<change>
8121357Svbart@nginx.com<para>
8131357Svbart@nginx.comNGINX Unit updated to 1.15.0.
8141357Svbart@nginx.com</para>
8151357Svbart@nginx.com</change>
8161357Svbart@nginx.com
8171357Svbart@nginx.com</changes>
8181357Svbart@nginx.com
8191357Svbart@nginx.com
8201357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
8211357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
8221357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8231357Svbart@nginx.com
8241357Svbart@nginx.com<change type="change">
8251357Svbart@nginx.com<para>
8261357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
8271357Svbart@nginx.com</para>
8281357Svbart@nginx.com</change>
8291357Svbart@nginx.com
8301357Svbart@nginx.com<change type="feature">
8311357Svbart@nginx.com<para>
8321357Svbart@nginx.comcompatibility with Ruby 2.7.
8331357Svbart@nginx.com</para>
8341357Svbart@nginx.com</change>
8351357Svbart@nginx.com
8361357Svbart@nginx.com<change type="bugfix">
8371357Svbart@nginx.com<para>
8381357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
8391357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
8401357Svbart@nginx.com</para>
8411357Svbart@nginx.com</change>
8421357Svbart@nginx.com
8431357Svbart@nginx.com<change type="bugfix">
8441357Svbart@nginx.com<para>
8451357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
8461357Svbart@nginx.com</para>
8471357Svbart@nginx.com</change>
8481357Svbart@nginx.com
8491357Svbart@nginx.com</changes>
8501357Svbart@nginx.com
8511357Svbart@nginx.com
8521357Svbart@nginx.com<changes apply="unit-php
8531357Svbart@nginx.com                unit-python unit-python2.7
8541357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8551357Svbart@nginx.com                unit-python3.8
8561357Svbart@nginx.com                unit-go
8571357Svbart@nginx.com                unit-perl
8581357Svbart@nginx.com                unit-ruby
8591357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8601330Svbart@nginx.com         ver="1.14.0" rev="1"
8611330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
8621330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8631330Svbart@nginx.com
8641330Svbart@nginx.com<change>
8651330Svbart@nginx.com<para>
8661330Svbart@nginx.comNGINX Unit updated to 1.14.0.
8671330Svbart@nginx.com</para>
8681330Svbart@nginx.com</change>
8691330Svbart@nginx.com
8701330Svbart@nginx.com</changes>
8711330Svbart@nginx.com
8721330Svbart@nginx.com
8731330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
8741330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
8751330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8761330Svbart@nginx.com
8771330Svbart@nginx.com<change type="change">
8781330Svbart@nginx.com<para>
8791330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
8801330Svbart@nginx.com</para>
8811330Svbart@nginx.com</change>
8821330Svbart@nginx.com
8831330Svbart@nginx.com<change type="change">
8841330Svbart@nginx.com<para>
8851330Svbart@nginx.comGo package now links to libunit instead of including library sources.
8861330Svbart@nginx.com</para>
8871330Svbart@nginx.com</change>
8881330Svbart@nginx.com
8891330Svbart@nginx.com<change type="feature">
8901330Svbart@nginx.com<para>
8911330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
8921330Svbart@nginx.comruns as an unprivileged user.
8931330Svbart@nginx.com</para>
8941330Svbart@nginx.com</change>
8951330Svbart@nginx.com
8961330Svbart@nginx.com<change type="feature">
8971330Svbart@nginx.com<para>
8981330Svbart@nginx.comrequest routing by source and destination addresses and ports.
8991330Svbart@nginx.com</para>
9001330Svbart@nginx.com</change>
9011330Svbart@nginx.com
9021330Svbart@nginx.com<change type="bugfix">
9031330Svbart@nginx.com<para>
9041330Svbart@nginx.commemory bloat on large responses.
9051330Svbart@nginx.com</para>
9061330Svbart@nginx.com</change>
9071330Svbart@nginx.com
9081330Svbart@nginx.com</changes>
9091330Svbart@nginx.com
9101330Svbart@nginx.com
9111290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
9121290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
9131290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9141290Sdefan@nginx.com
9151290Sdefan@nginx.com<change>
9161290Sdefan@nginx.com<para>
9171290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
9181290Sdefan@nginx.com</para>
9191290Sdefan@nginx.com</change>
9201290Sdefan@nginx.com
9211290Sdefan@nginx.com</changes>
9221290Sdefan@nginx.com
9231290Sdefan@nginx.com
9241290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
9251290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
9261290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9271290Sdefan@nginx.com
9281290Sdefan@nginx.com<change>
9291290Sdefan@nginx.com<para>
9301290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
9311290Sdefan@nginx.com</para>
9321290Sdefan@nginx.com</change>
9331290Sdefan@nginx.com
9341290Sdefan@nginx.com</changes>
9351290Sdefan@nginx.com
9361290Sdefan@nginx.com
9371289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
9381289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
9391289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9401289Sdefan@nginx.com
9411289Sdefan@nginx.com<change>
9421289Sdefan@nginx.com<para>
9431289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
9441289Sdefan@nginx.com</para>
9451289Sdefan@nginx.com</change>
9461289Sdefan@nginx.com
9471289Sdefan@nginx.com</changes>
9481289Sdefan@nginx.com
9491289Sdefan@nginx.com
9501185Svbart@nginx.com<changes apply="unit-php
9511185Svbart@nginx.com                unit-python unit-python2.7
9521185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9531185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
9541185Svbart@nginx.com                unit-perl
9551185Svbart@nginx.com                unit-ruby
9561185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9571284Svbart@nginx.com         ver="1.13.0" rev="1"
9581284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
9591284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9601284Svbart@nginx.com
9611284Svbart@nginx.com<change>
9621284Svbart@nginx.com<para>
9631284Svbart@nginx.comNGINX Unit updated to 1.13.0.
9641284Svbart@nginx.com</para>
9651284Svbart@nginx.com</change>
9661284Svbart@nginx.com
9671284Svbart@nginx.com</changes>
9681284Svbart@nginx.com
9691284Svbart@nginx.com
9701284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
9711284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
9721284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9731284Svbart@nginx.com
9741284Svbart@nginx.com<change type="feature">
9751284Svbart@nginx.com<para>
9761284Svbart@nginx.combasic support for HTTP reverse proxying.
9771284Svbart@nginx.com</para>
9781284Svbart@nginx.com</change>
9791284Svbart@nginx.com
9801284Svbart@nginx.com<change type="feature">
9811284Svbart@nginx.com<para>
9821284Svbart@nginx.comcompatibility with Python 3.8.
9831284Svbart@nginx.com</para>
9841284Svbart@nginx.com</change>
9851284Svbart@nginx.com
9861284Svbart@nginx.com<change type="bugfix">
9871284Svbart@nginx.com<para>
9881284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
9891284Svbart@nginx.com</para>
9901284Svbart@nginx.com</change>
9911284Svbart@nginx.com
9921284Svbart@nginx.com<change type="bugfix">
9931284Svbart@nginx.com<para>
9941284Svbart@nginx.comthreads in Python applications might not work correctly.
9951284Svbart@nginx.com</para>
9961284Svbart@nginx.com</change>
9971284Svbart@nginx.com
9981284Svbart@nginx.com<change type="bugfix">
9991284Svbart@nginx.com<para>
10001284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
10011284Svbart@nginx.com</para>
10021284Svbart@nginx.com</change>
10031284Svbart@nginx.com
10041284Svbart@nginx.com<change type="bugfix">
10051284Svbart@nginx.com<para>
10061284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
10071284Svbart@nginx.comdelays.
10081284Svbart@nginx.com</para>
10091284Svbart@nginx.com</change>
10101284Svbart@nginx.com
10111284Svbart@nginx.com<change type="bugfix">
10121284Svbart@nginx.com<para>
10131284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
10141284Svbart@nginx.com</para>
10151284Svbart@nginx.com</change>
10161284Svbart@nginx.com
10171284Svbart@nginx.com</changes>
10181284Svbart@nginx.com
10191284Svbart@nginx.com
10201284Svbart@nginx.com<changes apply="unit-php
10211284Svbart@nginx.com                unit-python unit-python2.7
10221284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10231284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
10241284Svbart@nginx.com                unit-perl
10251284Svbart@nginx.com                unit-ruby
10261284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10271222Svbart@nginx.com         ver="1.12.0" rev="1"
10281222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
10291222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10301222Svbart@nginx.com
10311222Svbart@nginx.com<change>
10321222Svbart@nginx.com<para>
10331222Svbart@nginx.comNGINX Unit updated to 1.12.0.
10341222Svbart@nginx.com</para>
10351222Svbart@nginx.com</change>
10361222Svbart@nginx.com
10371222Svbart@nginx.com</changes>
10381222Svbart@nginx.com
10391222Svbart@nginx.com
10401222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
10411222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
10421222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10431222Svbart@nginx.com
10441222Svbart@nginx.com<change type="feature">
10451222Svbart@nginx.com<para>
10461222Svbart@nginx.comcompatibility with PHP 7.4.
10471222Svbart@nginx.com</para>
10481222Svbart@nginx.com</change>
10491222Svbart@nginx.com
10501222Svbart@nginx.com<change type="bugfix">
10511222Svbart@nginx.com<para>
10521222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
10531222Svbart@nginx.com</para>
10541222Svbart@nginx.com</change>
10551222Svbart@nginx.com
10561222Svbart@nginx.com<change type="bugfix">
10571222Svbart@nginx.com<para>
10581222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
10591222Svbart@nginx.com</para>
10601222Svbart@nginx.com</change>
10611222Svbart@nginx.com
10621222Svbart@nginx.com<change type="bugfix">
10631222Svbart@nginx.com<para>
10641222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
10651222Svbart@nginx.com</para>
10661222Svbart@nginx.com</change>
10671222Svbart@nginx.com
10681222Svbart@nginx.com</changes>
10691222Svbart@nginx.com
10701222Svbart@nginx.com
10711222Svbart@nginx.com
10721222Svbart@nginx.com<changes apply="unit-php
10731222Svbart@nginx.com                unit-python unit-python2.7
10741222Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10751222Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
10761222Svbart@nginx.com                unit-perl
10771222Svbart@nginx.com                unit-ruby
10781222Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10791185Svbart@nginx.com         ver="1.11.0" rev="1"
10801185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
10811185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
10821185Svbart@nginx.com
10831185Svbart@nginx.com<change>
10841185Svbart@nginx.com<para>
10851185Svbart@nginx.comNGINX Unit updated to 1.11.0.
10861185Svbart@nginx.com</para>
10871185Svbart@nginx.com</change>
10881185Svbart@nginx.com
10891185Svbart@nginx.com</changes>
10901185Svbart@nginx.com
10911185Svbart@nginx.com
10921185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1"
10931185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
10941185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
10951185Svbart@nginx.com
10961185Svbart@nginx.com<change type="feature">
10971185Svbart@nginx.com<para>
10981185Svbart@nginx.combasic support for serving static files.
10991185Svbart@nginx.com</para>
11001185Svbart@nginx.com</change>
11011185Svbart@nginx.com
11021185Svbart@nginx.com<change type="feature">
11031185Svbart@nginx.com<para>
11041185Svbart@nginx.comisolation of application processes with Linux namespaces.
11051185Svbart@nginx.com</para>
11061185Svbart@nginx.com</change>
11071185Svbart@nginx.com
11081185Svbart@nginx.com<change type="feature">
11091185Svbart@nginx.com<para>
11101185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers.
11111185Svbart@nginx.com</para>
11121185Svbart@nginx.com</change>
11131185Svbart@nginx.com
11141185Svbart@nginx.com<change type="feature">
11151185Svbart@nginx.com<para>
11161185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/"
11171185Svbart@nginx.comusing URI encoding (%2F).
11181185Svbart@nginx.com</para>
11191185Svbart@nginx.com</change>
11201185Svbart@nginx.com
11211185Svbart@nginx.com<change type="bugfix">
11221185Svbart@nginx.com<para>
11231185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load.
11241185Svbart@nginx.com</para>
11251185Svbart@nginx.com</change>
11261185Svbart@nginx.com
11271185Svbart@nginx.com<change type="bugfix">
11281185Svbart@nginx.com<para>
11291185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than
11301185Svbart@nginx.comGNU ld (e.g. gold or LLD).
11311185Svbart@nginx.com</para>
11321185Svbart@nginx.com</change>
11331185Svbart@nginx.com
11341185Svbart@nginx.com</changes>
11351185Svbart@nginx.com
11361185Svbart@nginx.com
11371142Sdefan@nginx.com<changes apply="unit
11381142Sdefan@nginx.com                unit-php
11391142Sdefan@nginx.com                unit-python unit-python2.7
11401142Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11411142Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11421142Sdefan@nginx.com                unit-perl
11431142Sdefan@nginx.com                unit-ruby
11441142Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11451142Sdefan@nginx.com         ver="1.10.0" rev="2"
11461142Sdefan@nginx.com         date="2019-08-23" time="12:00:00 +0300"
11471142Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11481142Sdefan@nginx.com
11491142Sdefan@nginx.com<change type="bugfix">
11501142Sdefan@nginx.com<para>
11511142Sdefan@nginx.commissed header files added to unit development package.
11521142Sdefan@nginx.com</para>
11531142Sdefan@nginx.com</change>
11541142Sdefan@nginx.com
11551142Sdefan@nginx.com</changes>
11561142Sdefan@nginx.com
11571142Sdefan@nginx.com
11581134Svbart@nginx.com<changes apply="unit-php
11591134Svbart@nginx.com                unit-python unit-python2.7
11601134Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11611134Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
11621134Svbart@nginx.com                unit-perl
11631134Svbart@nginx.com                unit-ruby
11641134Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11651134Svbart@nginx.com         ver="1.10.0" rev="1"
11661134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
11671134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11681134Svbart@nginx.com
11691134Svbart@nginx.com<change>
11701134Svbart@nginx.com<para>
11711134Svbart@nginx.comNGINX Unit updated to 1.10.0.
11721134Svbart@nginx.com</para>
11731134Svbart@nginx.com</change>
11741134Svbart@nginx.com
11751134Svbart@nginx.com</changes>
11761134Svbart@nginx.com
11771134Svbart@nginx.com
11781134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1"
11791134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
11801134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11811134Svbart@nginx.com
11821134Svbart@nginx.com<change type="change">
11831134Svbart@nginx.com<para>
11841134Svbart@nginx.commatching of cookies in routes made case sensitive.
11851134Svbart@nginx.com</para>
11861134Svbart@nginx.com</change>
11871134Svbart@nginx.com
11881134Svbart@nginx.com<change type="change">
11891134Svbart@nginx.com<para>
11901134Svbart@nginx.comdecreased log level of common errors when clients close connections.
11911134Svbart@nginx.com</para>
11921134Svbart@nginx.com</change>
11931134Svbart@nginx.com
11941134Svbart@nginx.com<change type="change">
11951134Svbart@nginx.com<para>
11961134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option.
11971134Svbart@nginx.com</para>
11981134Svbart@nginx.com</change>
11991134Svbart@nginx.com
12001134Svbart@nginx.com<change type="feature">
12011134Svbart@nginx.com<para>
12021134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module.
12031134Svbart@nginx.com</para>
12041134Svbart@nginx.com</change>
12051134Svbart@nginx.com
12061134Svbart@nginx.com<change type="feature">
12071134Svbart@nginx.com<para>
12081134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module.
12091134Svbart@nginx.com</para>
12101134Svbart@nginx.com</change>
12111134Svbart@nginx.com
12121134Svbart@nginx.com<change type="feature">
12131134Svbart@nginx.com<para>
12141134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS).
12151134Svbart@nginx.com</para>
12161134Svbart@nginx.com</change>
12171134Svbart@nginx.com
12181134Svbart@nginx.com<change type="feature">
12191134Svbart@nginx.com<para>
12201134Svbart@nginx.comsupport for multipart requests body in Java module.
12211134Svbart@nginx.com</para>
12221134Svbart@nginx.com</change>
12231134Svbart@nginx.com
12241134Svbart@nginx.com<change type="feature">
12251134Svbart@nginx.com<para>
12261134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later.
12271134Svbart@nginx.com</para>
12281134Svbart@nginx.com</change>
12291134Svbart@nginx.com
12301134Svbart@nginx.com<change type="bugfix">
12311134Svbart@nginx.com<para>
12321134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing.
12331134Svbart@nginx.com</para>
12341134Svbart@nginx.com</change>
12351134Svbart@nginx.com
12361134Svbart@nginx.com<change type="bugfix">
12371134Svbart@nginx.com<para>
12381134Svbart@nginx.comapplying a large configuration might have failed.
12391134Svbart@nginx.com</para>
12401134Svbart@nginx.com</change>
12411134Svbart@nginx.com
12421134Svbart@nginx.com</changes>
12431134Svbart@nginx.com
12441134Svbart@nginx.com
12451069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1"
12461069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
12471069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12481069Svbart@nginx.com
12491069Svbart@nginx.com<change>
12501069Svbart@nginx.com<para>
12511069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit.
12521069Svbart@nginx.com</para>
12531069Svbart@nginx.com</change>
12541069Svbart@nginx.com
12551069Svbart@nginx.com</changes>
12561069Svbart@nginx.com
12571069Svbart@nginx.com
12581069Svbart@nginx.com<changes apply="unit-php
12591069Svbart@nginx.com                unit-python unit-python2.7
12601069Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12611069Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
12621069Svbart@nginx.com                unit-perl
12631069Svbart@nginx.com                unit-ruby
12641069Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12651069Svbart@nginx.com         ver="1.9.0" rev="1"
12661069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
12671069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12681069Svbart@nginx.com
12691069Svbart@nginx.com<change>
12701069Svbart@nginx.com<para>
12711069Svbart@nginx.comNGINX Unit updated to 1.9.0.
12721069Svbart@nginx.com</para>
12731069Svbart@nginx.com</change>
12741069Svbart@nginx.com
12751069Svbart@nginx.com</changes>
12761069Svbart@nginx.com
12771069Svbart@nginx.com
12781069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1"
12791069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
12801069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12811069Svbart@nginx.com
12821069Svbart@nginx.com<change type="feature">
12831069Svbart@nginx.com<para>
12841069Svbart@nginx.comrequest routing by arguments, headers, and cookies.
12851069Svbart@nginx.com</para>
12861069Svbart@nginx.com</change>
12871069Svbart@nginx.com
12881069Svbart@nginx.com<change type="feature">
12891069Svbart@nginx.com<para>
12901069Svbart@nginx.comroute matching patterns allow a wildcard in the middle.
12911069Svbart@nginx.com</para>
12921069Svbart@nginx.com</change>
12931069Svbart@nginx.com
12941069Svbart@nginx.com<change type="feature">
12951069Svbart@nginx.com<para>
12961069Svbart@nginx.comPOST operation for appending elements to arrays in configuration.
12971069Svbart@nginx.com</para>
12981069Svbart@nginx.com</change>
12991069Svbart@nginx.com
13001069Svbart@nginx.com<change type="feature">
13011069Svbart@nginx.com<para>
13021069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities
13031069Svbart@nginx.comon Linux without running main process as privileged user.
13041069Svbart@nginx.com</para>
13051069Svbart@nginx.com</change>
13061069Svbart@nginx.com
13071069Svbart@nginx.com<change type="bugfix">
13081069Svbart@nginx.com<para>
13091069Svbart@nginx.commemory leak in the router process might have happened when a client
13101069Svbart@nginx.comprematurely closed the connection.
13111069Svbart@nginx.com</para>
13121069Svbart@nginx.com</change>
13131069Svbart@nginx.com
13141069Svbart@nginx.com<change type="bugfix">
13151069Svbart@nginx.com<para>
13161069Svbart@nginx.comapplying a large configuration might have failed.
13171069Svbart@nginx.com</para>
13181069Svbart@nginx.com</change>
13191069Svbart@nginx.com
13201069Svbart@nginx.com<change type="bugfix">
13211069Svbart@nginx.com<para>
13221069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work.
13231069Svbart@nginx.com</para>
13241069Svbart@nginx.com</change>
13251069Svbart@nginx.com
13261069Svbart@nginx.com<change type="bugfix">
13271069Svbart@nginx.com<para>
13281069Svbart@nginx.comrequest schema in applications did not reflect TLS connections.
13291069Svbart@nginx.com</para>
13301069Svbart@nginx.com</change>
13311069Svbart@nginx.com
13321069Svbart@nginx.com<change type="bugfix">
13331069Svbart@nginx.com<para>
13341069Svbart@nginx.comrestored compatibility with Node.js applications that use
13351069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7.
13361069Svbart@nginx.com</para>
13371069Svbart@nginx.com</change>
13381069Svbart@nginx.com
13391069Svbart@nginx.com<change type="bugfix">
13401069Svbart@nginx.com<para>
13411069Svbart@nginx.comvarious compatibility issues with Node.js applications.
13421069Svbart@nginx.com</para>
13431069Svbart@nginx.com</change>
13441069Svbart@nginx.com
13451069Svbart@nginx.com</changes>
13461069Svbart@nginx.com
13471069Svbart@nginx.com
1348991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1"
1349991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1350991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1351991Svbart@nginx.com
1352991Svbart@nginx.com<change>
1353991Svbart@nginx.com<para>
1354991Svbart@nginx.comInitial release of Java common packages for NGINX Unit.
1355991Svbart@nginx.com</para>
1356991Svbart@nginx.com</change>
1357991Svbart@nginx.com
1358991Svbart@nginx.com</changes>
1359991Svbart@nginx.com
1360991Svbart@nginx.com
1361991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1"
1362991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1363991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1364991Svbart@nginx.com
1365991Svbart@nginx.com<change>
1366991Svbart@nginx.com<para>
1367991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit.
1368991Svbart@nginx.com</para>
1369991Svbart@nginx.com</change>
1370