xref: /unit/docs/changes.xml (revision 1920)
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
81896Svbart@nginx.com<changes apply="unit-php
91896Svbart@nginx.com                unit-python unit-python2.7
101896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
111896Svbart@nginx.com                unit-python3.8 unit-python3.9
121896Svbart@nginx.com                unit-go
131896Svbart@nginx.com                unit-perl
141896Svbart@nginx.com                unit-ruby
151896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
161896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
171896Svbart@nginx.com         ver="1.25.0" rev="1"
181896Svbart@nginx.com         date="" time=""
191896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
201896Svbart@nginx.com
211896Svbart@nginx.com<change>
221896Svbart@nginx.com<para>
231896Svbart@nginx.comNGINX Unit updated to 1.25.0.
241896Svbart@nginx.com</para>
251896Svbart@nginx.com</change>
261896Svbart@nginx.com
271896Svbart@nginx.com</changes>
281896Svbart@nginx.com
291896Svbart@nginx.com
301896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
311896Svbart@nginx.com         date="" time=""
321896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
331896Svbart@nginx.com
341910So.canty@f5.com<change type="feature">
351910So.canty@f5.com<para>
36*1920Sa.suvorov@f5.comTLS sessions cache.
37*1920Sa.suvorov@f5.com</para>
38*1920Sa.suvorov@f5.com</change>
39*1920Sa.suvorov@f5.com
40*1920Sa.suvorov@f5.com<change type="feature">
41*1920Sa.suvorov@f5.com<para>
421910So.canty@f5.comprocess and thread lifecycle hooks in Ruby.
431910So.canty@f5.com</para>
441910So.canty@f5.com</change>
451910So.canty@f5.com
461907Smax.romanov@nginx.com<change type="bugfix">
471907Smax.romanov@nginx.com<para>
481907Smax.romanov@nginx.comthe router process could crash on TLS connection open when multiple listeners
491907Smax.romanov@nginx.comwith TLS certificate configured; the bug had appeared in 1.23.0.
501907Smax.romanov@nginx.com</para>
511907Smax.romanov@nginx.com</change>
521907Smax.romanov@nginx.com
531907Smax.romanov@nginx.com<change type="bugfix">
541907Smax.romanov@nginx.com<para>
551915Smax.romanov@nginx.comthe router process could crash on rapid mutithreaded application
561915Smax.romanov@nginx.comreconfiguration.
571915Smax.romanov@nginx.com</para>
581915Smax.romanov@nginx.com</change>
591915Smax.romanov@nginx.com
601915Smax.romanov@nginx.com<change type="bugfix">
611915Smax.romanov@nginx.com<para>
621907Smax.romanov@nginx.coma descriptor and memory leak occurred in the router process when an app
631907Smax.romanov@nginx.comprocess stopped or crashed.
641907Smax.romanov@nginx.com</para>
651907Smax.romanov@nginx.com</change>
661907Smax.romanov@nginx.com
671909So.canty@f5.com<change type="bugfix">
681909So.canty@f5.com<para>
691909So.canty@f5.comthe controller or router process could crash if the configuration contained
701909So.canty@f5.coma full-form IPv6 in a listener address.
711909So.canty@f5.com</para>
721909So.canty@f5.com</change>
731909So.canty@f5.com
741916Smax.romanov@nginx.com<change type="bugfix">
751916Smax.romanov@nginx.com<para>
761916Smax.romanov@nginx.comcompatibility issues with some Python ASGI apps, notably based on Starlette
771916Smax.romanov@nginx.comframework.
781916Smax.romanov@nginx.com</para>
791916Smax.romanov@nginx.com</change>
801916Smax.romanov@nginx.com
811896Svbart@nginx.com</changes>
821896Svbart@nginx.com
831896Svbart@nginx.com
841887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
851891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
861887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
871887Sdefan@nginx.com
881887Sdefan@nginx.com<change>
891887Sdefan@nginx.com<para>
901887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
911887Sdefan@nginx.com</para>
921887Sdefan@nginx.com</change>
931887Sdefan@nginx.com
941887Sdefan@nginx.com</changes>
951887Sdefan@nginx.com
961887Sdefan@nginx.com
971887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
981891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
991887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1001887Sdefan@nginx.com
1011887Sdefan@nginx.com<change>
1021887Sdefan@nginx.com<para>
1031887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
1041887Sdefan@nginx.com</para>
1051887Sdefan@nginx.com</change>
1061887Sdefan@nginx.com
1071887Sdefan@nginx.com</changes>
1081887Sdefan@nginx.com
1091887Sdefan@nginx.com
1101834Svbart@nginx.com<changes apply="unit-php
1111834Svbart@nginx.com                unit-python unit-python2.7
1121834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1131834Svbart@nginx.com                unit-python3.8 unit-python3.9
1141834Svbart@nginx.com                unit-go
1151834Svbart@nginx.com                unit-perl
1161834Svbart@nginx.com                unit-ruby
1171834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1181834Svbart@nginx.com                unit-jsc14 unit-jsc15"
1191839Svbart@nginx.com         ver="1.24.0" rev="1"
1201891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
1211839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1221839Svbart@nginx.com
1231839Svbart@nginx.com<change>
1241839Svbart@nginx.com<para>
1251839Svbart@nginx.comNGINX Unit updated to 1.24.0.
1261839Svbart@nginx.com</para>
1271839Svbart@nginx.com</change>
1281839Svbart@nginx.com
1291839Svbart@nginx.com</changes>
1301839Svbart@nginx.com
1311839Svbart@nginx.com
1321839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
1331891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
1341839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1351839Svbart@nginx.com
1361882So.canty@f5.com<change type="change">
1371882So.canty@f5.com<para>
1381882So.canty@f5.comPHP added to the default MIME type list.
1391882So.canty@f5.com</para>
1401882So.canty@f5.com</change>
1411882So.canty@f5.com
1421855Sz.hong@f5.com<change type="feature">
1431855Sz.hong@f5.com<para>
1441885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
1451885Sa.suvorov@f5.com</para>
1461885Sa.suvorov@f5.com</change>
1471885Sa.suvorov@f5.com
1481885Sa.suvorov@f5.com<change type="feature">
1491885Sa.suvorov@f5.com<para>
1501890Svbart@nginx.comthe ability to limit static file serving by MIME types.
1511890Svbart@nginx.com</para>
1521890Svbart@nginx.com</change>
1531890Svbart@nginx.com
1541890Svbart@nginx.com<change type="feature">
1551890Svbart@nginx.com<para>
1561890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
1571890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
1581872So.canty@f5.com</para>
1591872So.canty@f5.com</change>
1601872So.canty@f5.com
1611872So.canty@f5.com<change type="feature">
1621872So.canty@f5.com<para>
1631889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
1641889Sartem.konev@nginx.comNode.js.
1651865So.canty@f5.com</para>
1661865So.canty@f5.com</change>
1671865So.canty@f5.com
1681865So.canty@f5.com<change type="feature">
1691865So.canty@f5.com<para>
1701890Svbart@nginx.commultiple "targets" in Python applications.
1711855Sz.hong@f5.com</para>
1721855Sz.hong@f5.com</change>
1731855Sz.hong@f5.com
1741870So.canty@f5.com<change type="feature">
1751870So.canty@f5.com<para>
1761870So.canty@f5.comcompatibility with Ruby 3.0.
1771870So.canty@f5.com</para>
1781870So.canty@f5.com</change>
1791870So.canty@f5.com
1801861Svbart@nginx.com<change type="bugfix">
1811861Svbart@nginx.com<para>
1821889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
1831884Sa.suvorov@f5.com</para>
1841884Sa.suvorov@f5.com</change>
1851884Sa.suvorov@f5.com
1861884Sa.suvorov@f5.com<change type="bugfix">
1871884Sa.suvorov@f5.com<para>
1881861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
1891861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
1901861Svbart@nginx.com</para>
1911861Svbart@nginx.com</change>
1921861Svbart@nginx.com
1931839Svbart@nginx.com</changes>
1941839Svbart@nginx.com
1951839Svbart@nginx.com
1961839Svbart@nginx.com<changes apply="unit-php
1971839Svbart@nginx.com                unit-python unit-python2.7
1981839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1991839Svbart@nginx.com                unit-python3.8 unit-python3.9
2001839Svbart@nginx.com                unit-go
2011839Svbart@nginx.com                unit-perl
2021839Svbart@nginx.com                unit-ruby
2031839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2041839Svbart@nginx.com                unit-jsc14 unit-jsc15"
2051834Svbart@nginx.com         ver="1.23.0" rev="1"
2061834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
2071834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2081834Svbart@nginx.com
2091834Svbart@nginx.com<change>
2101834Svbart@nginx.com<para>
2111834Svbart@nginx.comNGINX Unit updated to 1.23.0.
2121834Svbart@nginx.com</para>
2131834Svbart@nginx.com</change>
2141834Svbart@nginx.com
2151834Svbart@nginx.com</changes>
2161834Svbart@nginx.com
2171834Svbart@nginx.com
2181806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
2191834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
2201806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2211806Svbart@nginx.com
2221825Sthresh@nginx.com<change type="feature">
2231825Sthresh@nginx.com<para>
2241833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
2251828Sa.suvorov@f5.comIndication (SNI) TLS extension.
2261828Sa.suvorov@f5.com</para>
2271828Sa.suvorov@f5.com</change>
2281828Sa.suvorov@f5.com
2291828Sa.suvorov@f5.com<change type="feature">
2301828Sa.suvorov@f5.com<para>
2311833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
2321833Sartem.konev@nginx.cominstallation.
2331825Sthresh@nginx.com</para>
2341825Sthresh@nginx.com</change>
2351825Sthresh@nginx.com
2361811Smax.romanov@nginx.com<change type="bugfix">
2371811Smax.romanov@nginx.com<para>
2381812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
2391812Svbart@nginx.comappeared in 1.17.0.
2401812Svbart@nginx.com</para>
2411812Svbart@nginx.com</change>
2421812Svbart@nginx.com
2431812Svbart@nginx.com<change type="bugfix">
2441812Svbart@nginx.com<para>
2451833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
2461812Svbart@nginx.comappeared in 1.6.
2471812Svbart@nginx.com</para>
2481812Svbart@nginx.com</change>
2491812Svbart@nginx.com
2501812Svbart@nginx.com<change type="bugfix">
2511812Svbart@nginx.com<para>
2521833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
2531832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
2541832Smax.romanov@nginx.com</para>
2551832Smax.romanov@nginx.com</change>
2561832Smax.romanov@nginx.com
2571832Smax.romanov@nginx.com<change type="bugfix">
2581832Smax.romanov@nginx.com<para>
2591833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
2601811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
2611811Smax.romanov@nginx.com</para>
2621811Smax.romanov@nginx.com</change>
2631806Svbart@nginx.com
2641813Svbart@nginx.com<change type="bugfix">
2651813Svbart@nginx.com<para>
2661813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
2671813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
2681813Svbart@nginx.com</para>
2691813Svbart@nginx.com</change>
2701813Svbart@nginx.com
2711814Svbart@nginx.com<change type="bugfix">
2721814Svbart@nginx.com<para>
2731820Svbart@nginx.comthe controller process could crash while requesting information about a
2741820Svbart@nginx.comcertificate with a non-DNS SAN entry.
2751820Svbart@nginx.com</para>
2761820Svbart@nginx.com</change>
2771820Svbart@nginx.com
2781820Svbart@nginx.com<change type="bugfix">
2791820Svbart@nginx.com<para>
2801822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
2811833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
2821822Svbart@nginx.com</para>
2831822Svbart@nginx.com</change>
2841822Svbart@nginx.com
2851822Svbart@nginx.com<change type="bugfix">
2861822Svbart@nginx.com<para>
2871833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
2881833Sartem.konev@nginx.comclass.
2891814Svbart@nginx.com</para>
2901814Svbart@nginx.com</change>
2911814Svbart@nginx.com
2921815Svbart@nginx.com<change type="bugfix">
2931815Svbart@nginx.com<para>
2941815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
2951815Svbart@nginx.comappeared in 1.22.0.
2961815Svbart@nginx.com</para>
2971815Svbart@nginx.com</change>
2981815Svbart@nginx.com
2991806Svbart@nginx.com</changes>
3001806Svbart@nginx.com
3011806Svbart@nginx.com
3021798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
3031798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
3041798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3051798Sdefan@nginx.com
3061798Sdefan@nginx.com<change>
3071798Sdefan@nginx.com<para>
3081798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
3091798Sdefan@nginx.com</para>
3101798Sdefan@nginx.com</change>
3111798Sdefan@nginx.com
3121798Sdefan@nginx.com</changes>
3131798Sdefan@nginx.com
3141798Sdefan@nginx.com
3151763Sdefan@nginx.com<changes apply="unit-php
3161763Sdefan@nginx.com                unit-python unit-python2.7
3171763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3181763Sdefan@nginx.com                unit-python3.8
3191763Sdefan@nginx.com                unit-go
3201763Sdefan@nginx.com                unit-perl
3211763Sdefan@nginx.com                unit-ruby
3221763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3231763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
3241763Sdefan@nginx.com         ver="1.22.0" rev="1"
3251793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
3261763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3271763Sdefan@nginx.com
3281763Sdefan@nginx.com<change>
3291763Sdefan@nginx.com<para>
3301763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
3311763Sdefan@nginx.com</para>
3321763Sdefan@nginx.com</change>
3331763Sdefan@nginx.com
3341763Sdefan@nginx.com</changes>
3351763Sdefan@nginx.com
3361763Sdefan@nginx.com
3371727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
3381793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
3391727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3401727Svbart@nginx.com
3411759Svbart@nginx.com<change type="feature">
3421759Svbart@nginx.com<para>
3431792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
3441792Svbart@nginx.comcompliant with Stream API.
3451759Svbart@nginx.com</para>
3461759Svbart@nginx.com</change>
3471759Svbart@nginx.com
3481766Smax.romanov@nginx.com<change type="feature">
3491766Smax.romanov@nginx.com<para>
3501792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
3511792Svbart@nginx.comapps.
3521732Svbart@nginx.com</para>
3531732Svbart@nginx.com</change>
3541732Svbart@nginx.com
3551733Svbart@nginx.com<change type="bugfix">
3561733Svbart@nginx.com<para>
3571792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
3581792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
3591754Smax.romanov@nginx.com</para>
3601754Smax.romanov@nginx.com</change>
3611754Smax.romanov@nginx.com
3621755Smax.romanov@nginx.com<change type="bugfix">
3631755Smax.romanov@nginx.com<para>
3641790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
3651755Smax.romanov@nginx.comappeared in 1.19.0.
3661755Smax.romanov@nginx.com</para>
3671755Smax.romanov@nginx.com</change>
3681755Smax.romanov@nginx.com
3691756Smax.romanov@nginx.com<change type="bugfix">
3701756Smax.romanov@nginx.com<para>
3711790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
3721790Sartem.konev@nginx.comappeared in 1.19.0.
3731756Smax.romanov@nginx.com</para>
3741756Smax.romanov@nginx.com</change>
3751756Smax.romanov@nginx.com
3761760Smax.romanov@nginx.com<change type="bugfix">
3771760Smax.romanov@nginx.com<para>
3781792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
3791792Svbart@nginx.com</para>
3801792Svbart@nginx.com</change>
3811792Svbart@nginx.com
3821792Svbart@nginx.com<change type="bugfix">
3831792Svbart@nginx.com<para>
3841792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
3851792Svbart@nginx.commissing in the PHP module.
3861792Svbart@nginx.com</para>
3871792Svbart@nginx.com</change>
3881792Svbart@nginx.com
3891792Svbart@nginx.com<change type="bugfix">
3901792Svbart@nginx.com<para>
3911792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
3921792Svbart@nginx.com</para>
3931792Svbart@nginx.com</change>
3941792Svbart@nginx.com
3951792Svbart@nginx.com<change type="bugfix">
3961792Svbart@nginx.com<para>
3971792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
3981792Svbart@nginx.com</para>
3991792Svbart@nginx.com</change>
4001792Svbart@nginx.com
4011792Svbart@nginx.com<change type="bugfix">
4021792Svbart@nginx.com<para>
4031792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
4041792Svbart@nginx.comthe bug had appeared in 1.21.0.
4051760Smax.romanov@nginx.com</para>
4061760Smax.romanov@nginx.com</change>
4071760Smax.romanov@nginx.com
4081780Smax.romanov@nginx.com<change type="bugfix">
4091780Smax.romanov@nginx.com<para>
4101790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
4111790Sartem.konev@nginx.comWebSocket.
4121780Smax.romanov@nginx.com</para>
4131780Smax.romanov@nginx.com</change>
4141780Smax.romanov@nginx.com
4151789Smax.romanov@nginx.com<change type="bugfix">
4161789Smax.romanov@nginx.com<para>
4171789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
4181789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
4191789Smax.romanov@nginx.com</para>
4201789Smax.romanov@nginx.com</change>
4211789Smax.romanov@nginx.com
4221727Svbart@nginx.com</changes>
4231727Svbart@nginx.com
4241727Svbart@nginx.com
4251722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
4261722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4271722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4281722Svbart@nginx.com
4291722Svbart@nginx.com<change>
4301722Svbart@nginx.com<para>
4311722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
4321722Svbart@nginx.com</para>
4331722Svbart@nginx.com</change>
4341722Svbart@nginx.com
4351722Svbart@nginx.com</changes>
4361722Svbart@nginx.com
4371722Svbart@nginx.com
4381722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
4391722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4401722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4411722Svbart@nginx.com
4421722Svbart@nginx.com<change>
4431722Svbart@nginx.com<para>
4441722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
4451722Svbart@nginx.com</para>
4461722Svbart@nginx.com</change>
4471722Svbart@nginx.com
4481722Svbart@nginx.com</changes>
4491722Svbart@nginx.com
4501722Svbart@nginx.com
4511722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
4521722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4531722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4541722Svbart@nginx.com
4551722Svbart@nginx.com<change>
4561722Svbart@nginx.com<para>
4571722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
4581722Svbart@nginx.com</para>
4591722Svbart@nginx.com</change>
4601722Svbart@nginx.com
4611722Svbart@nginx.com</changes>
4621722Svbart@nginx.com
4631722Svbart@nginx.com
4641722Svbart@nginx.com<changes apply="unit-php
4651722Svbart@nginx.com                unit-python unit-python2.7
4661722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4671722Svbart@nginx.com                unit-python3.8
4681722Svbart@nginx.com                unit-go
4691722Svbart@nginx.com                unit-perl
4701722Svbart@nginx.com                unit-ruby
4711722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
4721722Svbart@nginx.com         ver="1.21.0" rev="1"
4731722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4741722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4751722Svbart@nginx.com
4761722Svbart@nginx.com<change>
4771722Svbart@nginx.com<para>
4781722Svbart@nginx.comNGINX Unit updated to 1.21.0.
4791722Svbart@nginx.com</para>
4801722Svbart@nginx.com</change>
4811722Svbart@nginx.com
4821722Svbart@nginx.com</changes>
4831722Svbart@nginx.com
4841722Svbart@nginx.com
4851722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
4861722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
4871722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4881722Svbart@nginx.com
4891722Svbart@nginx.com<change type="change">
4901722Svbart@nginx.com<para>
4911722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
4921722Svbart@nginx.com</para>
4931722Svbart@nginx.com</change>
4941722Svbart@nginx.com
4951722Svbart@nginx.com<change type="change">
4961722Svbart@nginx.com<para>
4971722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
4981722Svbart@nginx.comnames.
4991722Svbart@nginx.com</para>
5001722Svbart@nginx.com</change>
5011722Svbart@nginx.com
5021722Svbart@nginx.com<change type="change">
5031722Svbart@nginx.com<para>
5041722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
5051722Svbart@nginx.comdefault.
5061722Svbart@nginx.com</para>
5071722Svbart@nginx.com</change>
5081722Svbart@nginx.com
5091722Svbart@nginx.com<change type="feature">
5101722Svbart@nginx.com<para>
5111722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
5121722Svbart@nginx.com</para>
5131722Svbart@nginx.com</change>
5141722Svbart@nginx.com
5151722Svbart@nginx.com<change type="feature">
5161722Svbart@nginx.com<para>
5171722Svbart@nginx.comregular expressions in route matching patterns.
5181722Svbart@nginx.com</para>
5191722Svbart@nginx.com</change>
5201722Svbart@nginx.com
5211722Svbart@nginx.com<change type="feature">
5221722Svbart@nginx.com<para>
5231722Svbart@nginx.comcompatibility with Python 3.9.
5241722Svbart@nginx.com</para>
5251722Svbart@nginx.com</change>
5261722Svbart@nginx.com
5271722Svbart@nginx.com<change type="feature">
5281722Svbart@nginx.com<para>
5291722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
5301722Svbart@nginx.com</para>
5311722Svbart@nginx.com</change>
5321722Svbart@nginx.com
5331722Svbart@nginx.com<change type="feature">
5341722Svbart@nginx.com<para>
5351722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
5361722Svbart@nginx.com</para>
5371722Svbart@nginx.com</change>
5381722Svbart@nginx.com
5391722Svbart@nginx.com<change type="feature">
5401722Svbart@nginx.com<para>
5411722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
5421722Svbart@nginx.comcontinues code execution without holding onto the client connection.
5431722Svbart@nginx.com</para>
5441722Svbart@nginx.com</change>
5451722Svbart@nginx.com
5461722Svbart@nginx.com<change type="feature">
5471722Svbart@nginx.com<para>
5481722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
5491722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
5501722Svbart@nginx.com</para>
5511722Svbart@nginx.com</change>
5521722Svbart@nginx.com
5531722Svbart@nginx.com<change type="feature">
5541722Svbart@nginx.com<para>
5551722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
5561722Svbart@nginx.commounting of eponymous filesystems.
5571722Svbart@nginx.com</para>
5581722Svbart@nginx.com</change>
5591722Svbart@nginx.com
5601722Svbart@nginx.com<change type="bugfix">
5611722Svbart@nginx.com<para>
5621722Svbart@nginx.comthe router process could crash when running Go applications under high load;
5631722Svbart@nginx.comthe bug had appeared in 1.19.0.
5641722Svbart@nginx.com</para>
5651722Svbart@nginx.com</change>
5661722Svbart@nginx.com
5671722Svbart@nginx.com<change type="bugfix">
5681722Svbart@nginx.com<para>
5691722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
5701722Svbart@nginx.com</para>
5711722Svbart@nginx.com</change>
5721722Svbart@nginx.com
5731722Svbart@nginx.com<change type="bugfix">
5741722Svbart@nginx.com<para>
5751722Svbart@nginx.comvarious compatibility issues in Java applications.
5761722Svbart@nginx.com</para>
5771722Svbart@nginx.com</change>
5781722Svbart@nginx.com
5791722Svbart@nginx.com<change type="bugfix">
5801722Svbart@nginx.com<para>
5811722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
5821722Svbart@nginx.comuse "rootfs" isolation.
5831722Svbart@nginx.com</para>
5841722Svbart@nginx.com</change>
5851722Svbart@nginx.com
5861722Svbart@nginx.com</changes>
5871722Svbart@nginx.com
5881722Svbart@nginx.com
5891330Svbart@nginx.com<changes apply="unit-php
5901330Svbart@nginx.com                unit-python unit-python2.7
5911330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5921330Svbart@nginx.com                unit-python3.8
5931330Svbart@nginx.com                unit-go
5941330Svbart@nginx.com                unit-perl
5951330Svbart@nginx.com                unit-ruby
5961330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5971640Svbart@nginx.com         ver="1.20.0" rev="1"
5981640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
5991640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6001640Svbart@nginx.com
6011640Svbart@nginx.com<change>
6021640Svbart@nginx.com<para>
6031640Svbart@nginx.comNGINX Unit updated to 1.20.0.
6041640Svbart@nginx.com</para>
6051640Svbart@nginx.com</change>
6061640Svbart@nginx.com
6071640Svbart@nginx.com</changes>
6081640Svbart@nginx.com
6091640Svbart@nginx.com
6101640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
6111640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
6121640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6131640Svbart@nginx.com
6141640Svbart@nginx.com<change type="change">
6151640Svbart@nginx.com<para>
6161640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
6171640Svbart@nginx.comextensions from the host system.
6181640Svbart@nginx.com</para>
6191640Svbart@nginx.com</change>
6201640Svbart@nginx.com
6211640Svbart@nginx.com<change type="change">
6221640Svbart@nginx.com<para>
6231640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
6241640Svbart@nginx.com</para>
6251640Svbart@nginx.com</change>
6261640Svbart@nginx.com
6271643Svbart@nginx.com<change type="change">
6281643Svbart@nginx.com<para>
6291643Svbart@nginx.comfunctional tests migrated to the pytest framework.
6301643Svbart@nginx.com</para>
6311643Svbart@nginx.com</change>
6321643Svbart@nginx.com
6331640Svbart@nginx.com<change type="feature">
6341640Svbart@nginx.com<para>
6351640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
6361640Svbart@nginx.cominterface.
6371640Svbart@nginx.com</para>
6381640Svbart@nginx.com</change>
6391640Svbart@nginx.com
6401640Svbart@nginx.com<change type="feature">
6411640Svbart@nginx.com<para>
6421640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
6431640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
6441640Svbart@nginx.comspecification.
6451640Svbart@nginx.com</para>
6461640Svbart@nginx.com</change>
6471640Svbart@nginx.com
6481640Svbart@nginx.com<change type="feature">
6491640Svbart@nginx.com<para>
6501640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
6511640Svbart@nginx.comenvironments.
6521640Svbart@nginx.com</para>
6531640Svbart@nginx.com</change>
6541640Svbart@nginx.com
6551640Svbart@nginx.com<change type="feature">
6561640Svbart@nginx.com<para>
6571640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
6581640Svbart@nginx.com</para>
6591640Svbart@nginx.com</change>
6601640Svbart@nginx.com
6611640Svbart@nginx.com<change type="feature">
6621640Svbart@nginx.com<para>
6631640Svbart@nginx.comthe "callable" option sets Python application callable names.
6641640Svbart@nginx.com</para>
6651640Svbart@nginx.com</change>
6661640Svbart@nginx.com
6671640Svbart@nginx.com<change type="feature">
6681640Svbart@nginx.com<para>
6691640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
6701640Svbart@nginx.com</para>
6711640Svbart@nginx.com</change>
6721640Svbart@nginx.com
6731640Svbart@nginx.com<change type="feature">
6741640Svbart@nginx.com<para>
6751640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
6761640Svbart@nginx.comautomatic mounting of language module dependencies.
6771640Svbart@nginx.com</para>
6781640Svbart@nginx.com</change>
6791640Svbart@nginx.com
6801640Svbart@nginx.com<change type="bugfix">
6811640Svbart@nginx.com<para>
6821640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
6831640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
6841640Svbart@nginx.com</para>
6851640Svbart@nginx.com</change>
6861640Svbart@nginx.com
6871640Svbart@nginx.com<change type="bugfix">
6881640Svbart@nginx.com<para>
6891640Svbart@nginx.comthe router process could crash during reconfiguration.
6901640Svbart@nginx.com</para>
6911640Svbart@nginx.com</change>
6921640Svbart@nginx.com
6931640Svbart@nginx.com<change type="bugfix">
6941640Svbart@nginx.com<para>
6951640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
6961640Svbart@nginx.com</para>
6971640Svbart@nginx.com</change>
6981640Svbart@nginx.com
6991640Svbart@nginx.com<change type="bugfix">
7001640Svbart@nginx.com<para>
7011640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
7021640Svbart@nginx.comthe bug had appeared in 1.19.0.
7031640Svbart@nginx.com</para>
7041640Svbart@nginx.com</change>
7051640Svbart@nginx.com
7061640Svbart@nginx.com<change type="bugfix">
7071640Svbart@nginx.com<para>
7081640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
7091640Svbart@nginx.comthe bug had appeared in 1.16.0.
7101640Svbart@nginx.com</para>
7111640Svbart@nginx.com</change>
7121640Svbart@nginx.com
7131640Svbart@nginx.com</changes>
7141640Svbart@nginx.com
7151640Svbart@nginx.com
7161640Svbart@nginx.com<changes apply="unit-php
7171640Svbart@nginx.com                unit-python unit-python2.7
7181640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7191640Svbart@nginx.com                unit-python3.8
7201640Svbart@nginx.com                unit-go
7211640Svbart@nginx.com                unit-perl
7221640Svbart@nginx.com                unit-ruby
7231640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7241570Svbart@nginx.com         ver="1.19.0" rev="1"
7251570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
7261570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7271570Svbart@nginx.com
7281570Svbart@nginx.com<change>
7291570Svbart@nginx.com<para>
7301570Svbart@nginx.comNGINX Unit updated to 1.19.0.
7311570Svbart@nginx.com</para>
7321570Svbart@nginx.com</change>
7331570Svbart@nginx.com
7341570Svbart@nginx.com</changes>
7351570Svbart@nginx.com
7361570Svbart@nginx.com
7371570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
7381570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
7391570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7401570Svbart@nginx.com
7411570Svbart@nginx.com<change type="feature">
7421570Svbart@nginx.com<para>
7431570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
7441570Svbart@nginx.comincrease performance, and improve scalability.
7451570Svbart@nginx.com</para>
7461570Svbart@nginx.com</change>
7471570Svbart@nginx.com
7481570Svbart@nginx.com<change type="feature">
7491570Svbart@nginx.com<para>
7501570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
7511570Svbart@nginx.com</para>
7521570Svbart@nginx.com</change>
7531570Svbart@nginx.com
7541570Svbart@nginx.com<change type="feature">
7551570Svbart@nginx.com<para>
7561570Svbart@nginx.comchunked transfer encoding in proxy responses.
7571570Svbart@nginx.com</para>
7581570Svbart@nginx.com</change>
7591570Svbart@nginx.com
7601570Svbart@nginx.com<change type="feature">
7611570Svbart@nginx.com<para>
7621570Svbart@nginx.combasic variables support in the "pass" option.
7631570Svbart@nginx.com</para>
7641570Svbart@nginx.com</change>
7651570Svbart@nginx.com
7661570Svbart@nginx.com<change type="feature">
7671570Svbart@nginx.com<para>
7681570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
7691570Svbart@nginx.comThanks to Remi Collet.
7701570Svbart@nginx.com</para>
7711570Svbart@nginx.com</change>
7721570Svbart@nginx.com
7731570Svbart@nginx.com<change type="bugfix">
7741570Svbart@nginx.com<para>
7751570Svbart@nginx.comthe router process could crash while passing requests to an application under
7761570Svbart@nginx.comhigh load.
7771570Svbart@nginx.com</para>
7781570Svbart@nginx.com</change>
7791570Svbart@nginx.com
7801570Svbart@nginx.com<change type="bugfix">
7811570Svbart@nginx.com<para>
7821570Svbart@nginx.coma number of language modules failed to build on some systems;
7831570Svbart@nginx.comthe bug had appeared in 1.18.0.
7841570Svbart@nginx.com</para>
7851570Svbart@nginx.com</change>
7861570Svbart@nginx.com
7871570Svbart@nginx.com<change type="bugfix">
7881570Svbart@nginx.com<para>
7891570Svbart@nginx.comtime in error log messages from PHP applications could lag.
7901570Svbart@nginx.com</para>
7911570Svbart@nginx.com</change>
7921570Svbart@nginx.com
7931570Svbart@nginx.com<change type="bugfix">
7941570Svbart@nginx.com<para>
7951570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
7961570Svbart@nginx.comthe bug had appeared in 1.18.0.
7971570Svbart@nginx.com</para>
7981570Svbart@nginx.com</change>
7991570Svbart@nginx.com
8001570Svbart@nginx.com<change type="bugfix">
8011570Svbart@nginx.com<para>
8021570Svbart@nginx.commemory leak during reconfiguration.
8031570Svbart@nginx.com</para>
8041570Svbart@nginx.com</change>
8051570Svbart@nginx.com
8061570Svbart@nginx.com<change type="bugfix">
8071570Svbart@nginx.com<para>
8081570Svbart@nginx.comthe daemon didn't start without language modules;
8091570Svbart@nginx.comthe bug had appeared in 1.18.0.
8101570Svbart@nginx.com</para>
8111570Svbart@nginx.com</change>
8121570Svbart@nginx.com
8131570Svbart@nginx.com<change type="bugfix">
8141570Svbart@nginx.com<para>
8151570Svbart@nginx.comthe router process could crash at exit.
8161570Svbart@nginx.com</para>
8171570Svbart@nginx.com</change>
8181570Svbart@nginx.com
8191570Svbart@nginx.com<change type="bugfix">
8201570Svbart@nginx.com<para>
8211570Svbart@nginx.comNode.js applications could crash at exit.
8221570Svbart@nginx.com</para>
8231570Svbart@nginx.com</change>
8241570Svbart@nginx.com
8251570Svbart@nginx.com<change type="bugfix">
8261570Svbart@nginx.com<para>
8271570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
8281570Svbart@nginx.com</para>
8291570Svbart@nginx.com</change>
8301570Svbart@nginx.com
8311570Svbart@nginx.com</changes>
8321570Svbart@nginx.com
8331570Svbart@nginx.com
8341570Svbart@nginx.com<changes apply="unit-php
8351570Svbart@nginx.com                unit-python unit-python2.7
8361570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8371570Svbart@nginx.com                unit-python3.8
8381570Svbart@nginx.com                unit-go
8391570Svbart@nginx.com                unit-perl
8401570Svbart@nginx.com                unit-ruby
8411570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8421491Svbart@nginx.com         ver="1.18.0" rev="1"
8431491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
8441491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8451491Svbart@nginx.com
8461491Svbart@nginx.com<change>
8471491Svbart@nginx.com<para>
8481491Svbart@nginx.comNGINX Unit updated to 1.18.0.
8491491Svbart@nginx.com</para>
8501491Svbart@nginx.com</change>
8511491Svbart@nginx.com
8521491Svbart@nginx.com</changes>
8531491Svbart@nginx.com
8541491Svbart@nginx.com
8551491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
8561491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
8571491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8581491Svbart@nginx.com
8591491Svbart@nginx.com<change type="feature">
8601491Svbart@nginx.com<para>
8611491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
8621491Svbart@nginx.com</para>
8631491Svbart@nginx.com</change>
8641491Svbart@nginx.com
8651491Svbart@nginx.com<change type="feature">
8661491Svbart@nginx.com<para>
8671491Svbart@nginx.commultiple "targets" in PHP applications.
8681491Svbart@nginx.com</para>
8691491Svbart@nginx.com</change>
8701491Svbart@nginx.com
8711491Svbart@nginx.com<change type="feature">
8721491Svbart@nginx.com<para>
8731491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
8741491Svbart@nginx.comand in the "pass" option.
8751491Svbart@nginx.com</para>
8761491Svbart@nginx.com</change>
8771491Svbart@nginx.com
8781491Svbart@nginx.com</changes>
8791491Svbart@nginx.com
8801491Svbart@nginx.com
8811491Svbart@nginx.com<changes apply="unit-php
8821491Svbart@nginx.com                unit-python unit-python2.7
8831491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8841491Svbart@nginx.com                unit-python3.8
8851491Svbart@nginx.com                unit-go
8861491Svbart@nginx.com                unit-perl
8871491Svbart@nginx.com                unit-ruby
8881491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8891460Svbart@nginx.com         ver="1.17.0" rev="1"
8901460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
8911460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8921460Svbart@nginx.com
8931460Svbart@nginx.com<change>
8941460Svbart@nginx.com<para>
8951460Svbart@nginx.comNGINX Unit updated to 1.17.0.
8961460Svbart@nginx.com</para>
8971460Svbart@nginx.com</change>
8981460Svbart@nginx.com
8991460Svbart@nginx.com</changes>
9001460Svbart@nginx.com
9011460Svbart@nginx.com
9021460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
9031460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
9041460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9051460Svbart@nginx.com
9061460Svbart@nginx.com<change type="feature">
9071460Svbart@nginx.com<para>
9081460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
9091460Svbart@nginx.comredirection.
9101460Svbart@nginx.com</para>
9111460Svbart@nginx.com</change>
9121460Svbart@nginx.com
9131460Svbart@nginx.com<change type="feature">
9141460Svbart@nginx.com<para>
9151460Svbart@nginx.comfractional weights support for upstream servers.
9161460Svbart@nginx.com</para>
9171460Svbart@nginx.com</change>
9181460Svbart@nginx.com
9191460Svbart@nginx.com<change type="bugfix">
9201460Svbart@nginx.com<para>
9211460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
9221460Svbart@nginx.comhigh load.
9231460Svbart@nginx.com</para>
9241460Svbart@nginx.com</change>
9251460Svbart@nginx.com
9261460Svbart@nginx.com<change type="bugfix">
9271460Svbart@nginx.com<para>
9281460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
9291460Svbart@nginx.com</para>
9301460Svbart@nginx.com</change>
9311460Svbart@nginx.com
9321460Svbart@nginx.com<change type="bugfix">
9331460Svbart@nginx.com<para>
9341460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
9351460Svbart@nginx.comopen connections limit.
9361460Svbart@nginx.com</para>
9371460Svbart@nginx.com</change>
9381460Svbart@nginx.com
9391460Svbart@nginx.com<change type="bugfix">
9401460Svbart@nginx.com<para>
9411460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
9421460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
9431460Svbart@nginx.com</para>
9441460Svbart@nginx.com</change>
9451460Svbart@nginx.com
9461460Svbart@nginx.com<change type="bugfix">
9471460Svbart@nginx.com<para>
9481460Svbart@nginx.comexisting application processes didn't reopen the log file.
9491460Svbart@nginx.com</para>
9501460Svbart@nginx.com</change>
9511460Svbart@nginx.com
9521460Svbart@nginx.com<change type="bugfix">
9531460Svbart@nginx.com<para>
9541460Svbart@nginx.comincompatibility with some Node.js applications.
9551460Svbart@nginx.com</para>
9561460Svbart@nginx.com</change>
9571460Svbart@nginx.com
9581460Svbart@nginx.com<change type="bugfix">
9591460Svbart@nginx.com<para>
9601460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
9611460Svbart@nginx.com</para>
9621460Svbart@nginx.com</change>
9631460Svbart@nginx.com
9641460Svbart@nginx.com</changes>
9651460Svbart@nginx.com
9661460Svbart@nginx.com
9671460Svbart@nginx.com<changes apply="unit-php
9681460Svbart@nginx.com                unit-python unit-python2.7
9691460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9701460Svbart@nginx.com                unit-python3.8
9711460Svbart@nginx.com                unit-go
9721460Svbart@nginx.com                unit-perl
9731460Svbart@nginx.com                unit-ruby
9741460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9751404Svbart@nginx.com         ver="1.16.0" rev="1"
9761404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
9771404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9781404Svbart@nginx.com
9791404Svbart@nginx.com<change>
9801404Svbart@nginx.com<para>
9811404Svbart@nginx.comNGINX Unit updated to 1.16.0.
9821404Svbart@nginx.com</para>
9831404Svbart@nginx.com</change>
9841404Svbart@nginx.com
9851404Svbart@nginx.com</changes>
9861404Svbart@nginx.com
9871404Svbart@nginx.com
9881404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
9891404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
9901404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9911404Svbart@nginx.com
9921404Svbart@nginx.com<change type="feature">
9931404Svbart@nginx.com<para>
9941404Svbart@nginx.combasic load-balancing support with round-robin.
9951404Svbart@nginx.com</para>
9961404Svbart@nginx.com</change>
9971404Svbart@nginx.com
9981404Svbart@nginx.com<change type="feature">
9991404Svbart@nginx.com<para>
10001404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
10011404Svbart@nginx.comserved from the "share" directory.
10021404Svbart@nginx.com</para>
10031404Svbart@nginx.com</change>
10041404Svbart@nginx.com
10051404Svbart@nginx.com<change type="feature">
10061404Svbart@nginx.com<para>
10071404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
10081404Svbart@nginx.com</para>
10091404Svbart@nginx.com</change>
10101404Svbart@nginx.com
10111404Svbart@nginx.com<change type="feature">
10121404Svbart@nginx.com<para>
10131404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
10141404Svbart@nginx.com</para>
10151404Svbart@nginx.com</change>
10161404Svbart@nginx.com
10171404Svbart@nginx.com<change type="bugfix">
10181404Svbart@nginx.com<para>
10191404Svbart@nginx.comnegative address matching in router might work improperly in combination with
10201404Svbart@nginx.comnon-negative patterns.
10211404Svbart@nginx.com</para>
10221404Svbart@nginx.com</change>
10231404Svbart@nginx.com
10241404Svbart@nginx.com<change type="bugfix">
10251404Svbart@nginx.com<para>
10261404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
10271404Svbart@nginx.com</para>
10281404Svbart@nginx.com</change>
10291404Svbart@nginx.com
10301404Svbart@nginx.com<change type="bugfix">
10311404Svbart@nginx.com<para>
10321404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
10331404Svbart@nginx.com</para>
10341404Svbart@nginx.com</change>
10351404Svbart@nginx.com
10361404Svbart@nginx.com<change type="bugfix">
10371404Svbart@nginx.com<para>
10381404Svbart@nginx.comcompatibility issues with some Python applications.
10391404Svbart@nginx.com</para>
10401404Svbart@nginx.com</change>
10411404Svbart@nginx.com
10421404Svbart@nginx.com</changes>
10431404Svbart@nginx.com
10441404Svbart@nginx.com
10451404Svbart@nginx.com<changes apply="unit-php
10461404Svbart@nginx.com                unit-python unit-python2.7
10471404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10481404Svbart@nginx.com                unit-python3.8
10491404Svbart@nginx.com                unit-go
10501404Svbart@nginx.com                unit-perl
10511404Svbart@nginx.com                unit-ruby
10521404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10531357Svbart@nginx.com         ver="1.15.0" rev="1"
10541357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
10551357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10561357Svbart@nginx.com
10571357Svbart@nginx.com<change>
10581357Svbart@nginx.com<para>
10591357Svbart@nginx.comNGINX Unit updated to 1.15.0.
10601357Svbart@nginx.com</para>
10611357Svbart@nginx.com</change>
10621357Svbart@nginx.com
10631357Svbart@nginx.com</changes>
10641357Svbart@nginx.com
10651357Svbart@nginx.com
10661357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
10671357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
10681357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10691357Svbart@nginx.com
10701357Svbart@nginx.com<change type="change">
10711357Svbart@nginx.com<para>
10721357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
10731357Svbart@nginx.com</para>
10741357Svbart@nginx.com</change>
10751357Svbart@nginx.com
10761357Svbart@nginx.com<change type="feature">
10771357Svbart@nginx.com<para>
10781357Svbart@nginx.comcompatibility with Ruby 2.7.
10791357Svbart@nginx.com</para>
10801357Svbart@nginx.com</change>
10811357Svbart@nginx.com
10821357Svbart@nginx.com<change type="bugfix">
10831357Svbart@nginx.com<para>
10841357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
10851357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
10861357Svbart@nginx.com</para>
10871357Svbart@nginx.com</change>
10881357Svbart@nginx.com
10891357Svbart@nginx.com<change type="bugfix">
10901357Svbart@nginx.com<para>
10911357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
10921357Svbart@nginx.com</para>
10931357Svbart@nginx.com</change>
10941357Svbart@nginx.com
10951357Svbart@nginx.com</changes>
10961357Svbart@nginx.com
10971357Svbart@nginx.com
10981357Svbart@nginx.com<changes apply="unit-php
10991357Svbart@nginx.com                unit-python unit-python2.7
11001357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11011357Svbart@nginx.com                unit-python3.8
11021357Svbart@nginx.com                unit-go
11031357Svbart@nginx.com                unit-perl
11041357Svbart@nginx.com                unit-ruby
11051357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11061330Svbart@nginx.com         ver="1.14.0" rev="1"
11071330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
11081330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11091330Svbart@nginx.com
11101330Svbart@nginx.com<change>
11111330Svbart@nginx.com<para>
11121330Svbart@nginx.comNGINX Unit updated to 1.14.0.
11131330Svbart@nginx.com</para>
11141330Svbart@nginx.com</change>
11151330Svbart@nginx.com
11161330Svbart@nginx.com</changes>
11171330Svbart@nginx.com
11181330Svbart@nginx.com
11191330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
11201330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
11211330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11221330Svbart@nginx.com
11231330Svbart@nginx.com<change type="change">
11241330Svbart@nginx.com<para>
11251330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
11261330Svbart@nginx.com</para>
11271330Svbart@nginx.com</change>
11281330Svbart@nginx.com
11291330Svbart@nginx.com<change type="change">
11301330Svbart@nginx.com<para>
11311330Svbart@nginx.comGo package now links to libunit instead of including library sources.
11321330Svbart@nginx.com</para>
11331330Svbart@nginx.com</change>
11341330Svbart@nginx.com
11351330Svbart@nginx.com<change type="feature">
11361330Svbart@nginx.com<para>
11371330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
11381330Svbart@nginx.comruns as an unprivileged user.
11391330Svbart@nginx.com</para>
11401330Svbart@nginx.com</change>
11411330Svbart@nginx.com
11421330Svbart@nginx.com<change type="feature">
11431330Svbart@nginx.com<para>
11441330Svbart@nginx.comrequest routing by source and destination addresses and ports.
11451330Svbart@nginx.com</para>
11461330Svbart@nginx.com</change>
11471330Svbart@nginx.com
11481330Svbart@nginx.com<change type="bugfix">
11491330Svbart@nginx.com<para>
11501330Svbart@nginx.commemory bloat on large responses.
11511330Svbart@nginx.com</para>
11521330Svbart@nginx.com</change>
11531330Svbart@nginx.com
11541330Svbart@nginx.com</changes>
11551330Svbart@nginx.com
11561330Svbart@nginx.com
11571290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
11581290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
11591290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11601290Sdefan@nginx.com
11611290Sdefan@nginx.com<change>
11621290Sdefan@nginx.com<para>
11631290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
11641290Sdefan@nginx.com</para>
11651290Sdefan@nginx.com</change>
11661290Sdefan@nginx.com
11671290Sdefan@nginx.com</changes>
11681290Sdefan@nginx.com
11691290Sdefan@nginx.com
11701290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
11711290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
11721290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11731290Sdefan@nginx.com
11741290Sdefan@nginx.com<change>
11751290Sdefan@nginx.com<para>
11761290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
11771290Sdefan@nginx.com</para>
11781290Sdefan@nginx.com</change>
11791290Sdefan@nginx.com
11801290Sdefan@nginx.com</changes>
11811290Sdefan@nginx.com
11821290Sdefan@nginx.com
11831289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
11841289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
11851289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11861289Sdefan@nginx.com
11871289Sdefan@nginx.com<change>
11881289Sdefan@nginx.com<para>
11891289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
11901289Sdefan@nginx.com</para>
11911289Sdefan@nginx.com</change>
11921289Sdefan@nginx.com
11931289Sdefan@nginx.com</changes>
11941289Sdefan@nginx.com
11951289Sdefan@nginx.com
11961185Svbart@nginx.com<changes apply="unit-php
11971185Svbart@nginx.com                unit-python unit-python2.7
11981185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11991185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
12001185Svbart@nginx.com                unit-perl
12011185Svbart@nginx.com                unit-ruby
12021185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12031284Svbart@nginx.com         ver="1.13.0" rev="1"
12041284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
12051284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12061284Svbart@nginx.com
12071284Svbart@nginx.com<change>
12081284Svbart@nginx.com<para>
12091284Svbart@nginx.comNGINX Unit updated to 1.13.0.
12101284Svbart@nginx.com</para>
12111284Svbart@nginx.com</change>
12121284Svbart@nginx.com
12131284Svbart@nginx.com</changes>
12141284Svbart@nginx.com
12151284Svbart@nginx.com
12161284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
12171284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
12181284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12191284Svbart@nginx.com
12201284Svbart@nginx.com<change type="feature">
12211284Svbart@nginx.com<para>
12221284Svbart@nginx.combasic support for HTTP reverse proxying.
12231284Svbart@nginx.com</para>
12241284Svbart@nginx.com</change>
12251284Svbart@nginx.com
12261284Svbart@nginx.com<change type="feature">
12271284Svbart@nginx.com<para>
12281284Svbart@nginx.comcompatibility with Python 3.8.
12291284Svbart@nginx.com</para>
12301284Svbart@nginx.com</change>
12311284Svbart@nginx.com
12321284Svbart@nginx.com<change type="bugfix">
12331284Svbart@nginx.com<para>
12341284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
12351284Svbart@nginx.com</para>
12361284Svbart@nginx.com</change>
12371284Svbart@nginx.com
12381284Svbart@nginx.com<change type="bugfix">
12391284Svbart@nginx.com<para>
12401284Svbart@nginx.comthreads in Python applications might not work correctly.
12411284Svbart@nginx.com</para>
12421284Svbart@nginx.com</change>
12431284Svbart@nginx.com
12441284Svbart@nginx.com<change type="bugfix">
12451284Svbart@nginx.com<para>
12461284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
12471284Svbart@nginx.com</para>
12481284Svbart@nginx.com</change>
12491284Svbart@nginx.com
1250