xref: /unit/docs/changes.xml (revision 1955)
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"
171951Svbart@nginx.com         ver="1.26.0" rev="1"
181951Svbart@nginx.com         date="" time=""
191951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
201951Svbart@nginx.com
211951Svbart@nginx.com<change>
221951Svbart@nginx.com<para>
231951Svbart@nginx.comNGINX Unit updated to 1.26.0.
241951Svbart@nginx.com</para>
251951Svbart@nginx.com</change>
261951Svbart@nginx.com
271951Svbart@nginx.com</changes>
281951Svbart@nginx.com
291951Svbart@nginx.com
301951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
311951Svbart@nginx.com         date="" time=""
321951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
331951Svbart@nginx.com
34*1955Smax.romanov@nginx.com<change type="bugfix">
35*1955Smax.romanov@nginx.com<para>
36*1955Smax.romanov@nginx.comfixed building with glibc 2.34, notably Fedora 35.
37*1955Smax.romanov@nginx.com</para>
38*1955Smax.romanov@nginx.com</change>
39*1955Smax.romanov@nginx.com
401951Svbart@nginx.com</changes>
411951Svbart@nginx.com
421951Svbart@nginx.com
431951Svbart@nginx.com<changes apply="unit-php
441951Svbart@nginx.com                unit-python unit-python2.7
451951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
461951Svbart@nginx.com                unit-python3.8 unit-python3.9
471951Svbart@nginx.com                unit-go
481951Svbart@nginx.com                unit-perl
491951Svbart@nginx.com                unit-ruby
501951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
511951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
521896Svbart@nginx.com         ver="1.25.0" rev="1"
531945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
541896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
551896Svbart@nginx.com
561896Svbart@nginx.com<change>
571896Svbart@nginx.com<para>
581896Svbart@nginx.comNGINX Unit updated to 1.25.0.
591896Svbart@nginx.com</para>
601896Svbart@nginx.com</change>
611896Svbart@nginx.com
621896Svbart@nginx.com</changes>
631896Svbart@nginx.com
641896Svbart@nginx.com
651896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
661945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
671896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
681896Svbart@nginx.com
691910So.canty@f5.com<change type="feature">
701910So.canty@f5.com<para>
711944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
721942Sa.suvorov@f5.com</para>
731942Sa.suvorov@f5.com</change>
741942Sa.suvorov@f5.com
751942Sa.suvorov@f5.com<change type="feature">
761942Sa.suvorov@f5.com<para>
771920Sa.suvorov@f5.comTLS sessions cache.
781920Sa.suvorov@f5.com</para>
791920Sa.suvorov@f5.com</change>
801920Sa.suvorov@f5.com
811920Sa.suvorov@f5.com<change type="feature">
821920Sa.suvorov@f5.com<para>
831944Svbart@nginx.comTLS session tickets.
841910So.canty@f5.com</para>
851910So.canty@f5.com</change>
861910So.canty@f5.com
871926Smax.romanov@nginx.com<change type="feature">
881926Smax.romanov@nginx.com<para>
891926Smax.romanov@nginx.comapplication restart control.
901926Smax.romanov@nginx.com</para>
911926Smax.romanov@nginx.com</change>
921926Smax.romanov@nginx.com
931936So.canty@f5.com<change type="feature">
941936So.canty@f5.com<para>
951944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
961936So.canty@f5.com</para>
971936So.canty@f5.com</change>
981936So.canty@f5.com
991907Smax.romanov@nginx.com<change type="bugfix">
1001907Smax.romanov@nginx.com<para>
1011944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
1021944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
1031921Sa.suvorov@f5.com</para>
1041921Sa.suvorov@f5.com</change>
1051921Sa.suvorov@f5.com
1061921Sa.suvorov@f5.com<change type="bugfix">
1071921Sa.suvorov@f5.com<para>
1081944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
1091944Svbart@nginx.combundles in a listener if the client did not use SNI.
1101907Smax.romanov@nginx.com</para>
1111907Smax.romanov@nginx.com</change>
1121907Smax.romanov@nginx.com
1131907Smax.romanov@nginx.com<change type="bugfix">
1141907Smax.romanov@nginx.com<para>
1151950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
1161915Smax.romanov@nginx.comreconfiguration.
1171915Smax.romanov@nginx.com</para>
1181915Smax.romanov@nginx.com</change>
1191915Smax.romanov@nginx.com
1201915Smax.romanov@nginx.com<change type="bugfix">
1211915Smax.romanov@nginx.com<para>
1221944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
1231944Svbart@nginx.comframework.
1241944Svbart@nginx.com</para>
1251944Svbart@nginx.com</change>
1261944Svbart@nginx.com
1271944Svbart@nginx.com<change type="bugfix">
1281944Svbart@nginx.com<para>
1291944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
1301944Svbart@nginx.comstopped or crashed.
1311907Smax.romanov@nginx.com</para>
1321907Smax.romanov@nginx.com</change>
1331907Smax.romanov@nginx.com
1341909So.canty@f5.com<change type="bugfix">
1351909So.canty@f5.com<para>
1361909So.canty@f5.comthe controller or router process could crash if the configuration contained
1371909So.canty@f5.coma full-form IPv6 in a listener address.
1381909So.canty@f5.com</para>
1391909So.canty@f5.com</change>
1401909So.canty@f5.com
1411916Smax.romanov@nginx.com<change type="bugfix">
1421916Smax.romanov@nginx.com<para>
1431929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
1441929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
1451929Sz.hong@f5.com</para>
1461929Sz.hong@f5.com</change>
1471929Sz.hong@f5.com
1481930So.canty@f5.com<change type="bugfix">
1491930So.canty@f5.com<para>
1501944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
1511944Svbart@nginx.comor destination address patterns.
1521930So.canty@f5.com</para>
1531930So.canty@f5.com</change>
1541930So.canty@f5.com
1551896Svbart@nginx.com</changes>
1561896Svbart@nginx.com
1571896Svbart@nginx.com
1581887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
1591891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
1601887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1611887Sdefan@nginx.com
1621887Sdefan@nginx.com<change>
1631887Sdefan@nginx.com<para>
1641887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
1651887Sdefan@nginx.com</para>
1661887Sdefan@nginx.com</change>
1671887Sdefan@nginx.com
1681887Sdefan@nginx.com</changes>
1691887Sdefan@nginx.com
1701887Sdefan@nginx.com
1711887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
1721891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
1731887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1741887Sdefan@nginx.com
1751887Sdefan@nginx.com<change>
1761887Sdefan@nginx.com<para>
1771887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
1781887Sdefan@nginx.com</para>
1791887Sdefan@nginx.com</change>
1801887Sdefan@nginx.com
1811887Sdefan@nginx.com</changes>
1821887Sdefan@nginx.com
1831887Sdefan@nginx.com
1841834Svbart@nginx.com<changes apply="unit-php
1851834Svbart@nginx.com                unit-python unit-python2.7
1861834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1871834Svbart@nginx.com                unit-python3.8 unit-python3.9
1881834Svbart@nginx.com                unit-go
1891834Svbart@nginx.com                unit-perl
1901834Svbart@nginx.com                unit-ruby
1911834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1921834Svbart@nginx.com                unit-jsc14 unit-jsc15"
1931839Svbart@nginx.com         ver="1.24.0" rev="1"
1941891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
1951839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1961839Svbart@nginx.com
1971839Svbart@nginx.com<change>
1981839Svbart@nginx.com<para>
1991839Svbart@nginx.comNGINX Unit updated to 1.24.0.
2001839Svbart@nginx.com</para>
2011839Svbart@nginx.com</change>
2021839Svbart@nginx.com
2031839Svbart@nginx.com</changes>
2041839Svbart@nginx.com
2051839Svbart@nginx.com
2061839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
2071891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2081839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2091839Svbart@nginx.com
2101882So.canty@f5.com<change type="change">
2111882So.canty@f5.com<para>
2121882So.canty@f5.comPHP added to the default MIME type list.
2131882So.canty@f5.com</para>
2141882So.canty@f5.com</change>
2151882So.canty@f5.com
2161855Sz.hong@f5.com<change type="feature">
2171855Sz.hong@f5.com<para>
2181885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
2191885Sa.suvorov@f5.com</para>
2201885Sa.suvorov@f5.com</change>
2211885Sa.suvorov@f5.com
2221885Sa.suvorov@f5.com<change type="feature">
2231885Sa.suvorov@f5.com<para>
2241890Svbart@nginx.comthe ability to limit static file serving by MIME types.
2251890Svbart@nginx.com</para>
2261890Svbart@nginx.com</change>
2271890Svbart@nginx.com
2281890Svbart@nginx.com<change type="feature">
2291890Svbart@nginx.com<para>
2301890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
2311890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
2321872So.canty@f5.com</para>
2331872So.canty@f5.com</change>
2341872So.canty@f5.com
2351872So.canty@f5.com<change type="feature">
2361872So.canty@f5.com<para>
2371889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
2381889Sartem.konev@nginx.comNode.js.
2391865So.canty@f5.com</para>
2401865So.canty@f5.com</change>
2411865So.canty@f5.com
2421865So.canty@f5.com<change type="feature">
2431865So.canty@f5.com<para>
2441890Svbart@nginx.commultiple "targets" in Python applications.
2451855Sz.hong@f5.com</para>
2461855Sz.hong@f5.com</change>
2471855Sz.hong@f5.com
2481870So.canty@f5.com<change type="feature">
2491870So.canty@f5.com<para>
2501870So.canty@f5.comcompatibility with Ruby 3.0.
2511870So.canty@f5.com</para>
2521870So.canty@f5.com</change>
2531870So.canty@f5.com
2541861Svbart@nginx.com<change type="bugfix">
2551861Svbart@nginx.com<para>
2561889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
2571884Sa.suvorov@f5.com</para>
2581884Sa.suvorov@f5.com</change>
2591884Sa.suvorov@f5.com
2601884Sa.suvorov@f5.com<change type="bugfix">
2611884Sa.suvorov@f5.com<para>
2621861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
2631861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
2641861Svbart@nginx.com</para>
2651861Svbart@nginx.com</change>
2661861Svbart@nginx.com
2671839Svbart@nginx.com</changes>
2681839Svbart@nginx.com
2691839Svbart@nginx.com
2701839Svbart@nginx.com<changes apply="unit-php
2711839Svbart@nginx.com                unit-python unit-python2.7
2721839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2731839Svbart@nginx.com                unit-python3.8 unit-python3.9
2741839Svbart@nginx.com                unit-go
2751839Svbart@nginx.com                unit-perl
2761839Svbart@nginx.com                unit-ruby
2771839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2781839Svbart@nginx.com                unit-jsc14 unit-jsc15"
2791834Svbart@nginx.com         ver="1.23.0" rev="1"
2801834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
2811834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2821834Svbart@nginx.com
2831834Svbart@nginx.com<change>
2841834Svbart@nginx.com<para>
2851834Svbart@nginx.comNGINX Unit updated to 1.23.0.
2861834Svbart@nginx.com</para>
2871834Svbart@nginx.com</change>
2881834Svbart@nginx.com
2891834Svbart@nginx.com</changes>
2901834Svbart@nginx.com
2911834Svbart@nginx.com
2921806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
2931834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
2941806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2951806Svbart@nginx.com
2961825Sthresh@nginx.com<change type="feature">
2971825Sthresh@nginx.com<para>
2981833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
2991828Sa.suvorov@f5.comIndication (SNI) TLS extension.
3001828Sa.suvorov@f5.com</para>
3011828Sa.suvorov@f5.com</change>
3021828Sa.suvorov@f5.com
3031828Sa.suvorov@f5.com<change type="feature">
3041828Sa.suvorov@f5.com<para>
3051833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
3061833Sartem.konev@nginx.cominstallation.
3071825Sthresh@nginx.com</para>
3081825Sthresh@nginx.com</change>
3091825Sthresh@nginx.com
3101811Smax.romanov@nginx.com<change type="bugfix">
3111811Smax.romanov@nginx.com<para>
3121812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
3131812Svbart@nginx.comappeared in 1.17.0.
3141812Svbart@nginx.com</para>
3151812Svbart@nginx.com</change>
3161812Svbart@nginx.com
3171812Svbart@nginx.com<change type="bugfix">
3181812Svbart@nginx.com<para>
3191833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
3201812Svbart@nginx.comappeared in 1.6.
3211812Svbart@nginx.com</para>
3221812Svbart@nginx.com</change>
3231812Svbart@nginx.com
3241812Svbart@nginx.com<change type="bugfix">
3251812Svbart@nginx.com<para>
3261833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
3271832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
3281832Smax.romanov@nginx.com</para>
3291832Smax.romanov@nginx.com</change>
3301832Smax.romanov@nginx.com
3311832Smax.romanov@nginx.com<change type="bugfix">
3321832Smax.romanov@nginx.com<para>
3331833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
3341811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
3351811Smax.romanov@nginx.com</para>
3361811Smax.romanov@nginx.com</change>
3371806Svbart@nginx.com
3381813Svbart@nginx.com<change type="bugfix">
3391813Svbart@nginx.com<para>
3401813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
3411813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
3421813Svbart@nginx.com</para>
3431813Svbart@nginx.com</change>
3441813Svbart@nginx.com
3451814Svbart@nginx.com<change type="bugfix">
3461814Svbart@nginx.com<para>
3471820Svbart@nginx.comthe controller process could crash while requesting information about a
3481820Svbart@nginx.comcertificate with a non-DNS SAN entry.
3491820Svbart@nginx.com</para>
3501820Svbart@nginx.com</change>
3511820Svbart@nginx.com
3521820Svbart@nginx.com<change type="bugfix">
3531820Svbart@nginx.com<para>
3541822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
3551833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
3561822Svbart@nginx.com</para>
3571822Svbart@nginx.com</change>
3581822Svbart@nginx.com
3591822Svbart@nginx.com<change type="bugfix">
3601822Svbart@nginx.com<para>
3611833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
3621833Sartem.konev@nginx.comclass.
3631814Svbart@nginx.com</para>
3641814Svbart@nginx.com</change>
3651814Svbart@nginx.com
3661815Svbart@nginx.com<change type="bugfix">
3671815Svbart@nginx.com<para>
3681815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
3691815Svbart@nginx.comappeared in 1.22.0.
3701815Svbart@nginx.com</para>
3711815Svbart@nginx.com</change>
3721815Svbart@nginx.com
3731806Svbart@nginx.com</changes>
3741806Svbart@nginx.com
3751806Svbart@nginx.com
3761798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
3771798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
3781798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3791798Sdefan@nginx.com
3801798Sdefan@nginx.com<change>
3811798Sdefan@nginx.com<para>
3821798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
3831798Sdefan@nginx.com</para>
3841798Sdefan@nginx.com</change>
3851798Sdefan@nginx.com
3861798Sdefan@nginx.com</changes>
3871798Sdefan@nginx.com
3881798Sdefan@nginx.com
3891763Sdefan@nginx.com<changes apply="unit-php
3901763Sdefan@nginx.com                unit-python unit-python2.7
3911763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3921763Sdefan@nginx.com                unit-python3.8
3931763Sdefan@nginx.com                unit-go
3941763Sdefan@nginx.com                unit-perl
3951763Sdefan@nginx.com                unit-ruby
3961763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3971763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
3981763Sdefan@nginx.com         ver="1.22.0" rev="1"
3991793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
4001763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4011763Sdefan@nginx.com
4021763Sdefan@nginx.com<change>
4031763Sdefan@nginx.com<para>
4041763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
4051763Sdefan@nginx.com</para>
4061763Sdefan@nginx.com</change>
4071763Sdefan@nginx.com
4081763Sdefan@nginx.com</changes>
4091763Sdefan@nginx.com
4101763Sdefan@nginx.com
4111727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
4121793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
4131727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4141727Svbart@nginx.com
4151759Svbart@nginx.com<change type="feature">
4161759Svbart@nginx.com<para>
4171792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
4181792Svbart@nginx.comcompliant with Stream API.
4191759Svbart@nginx.com</para>
4201759Svbart@nginx.com</change>
4211759Svbart@nginx.com
4221766Smax.romanov@nginx.com<change type="feature">
4231766Smax.romanov@nginx.com<para>
4241792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
4251792Svbart@nginx.comapps.
4261732Svbart@nginx.com</para>
4271732Svbart@nginx.com</change>
4281732Svbart@nginx.com
4291733Svbart@nginx.com<change type="bugfix">
4301733Svbart@nginx.com<para>
4311792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
4321792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
4331754Smax.romanov@nginx.com</para>
4341754Smax.romanov@nginx.com</change>
4351754Smax.romanov@nginx.com
4361755Smax.romanov@nginx.com<change type="bugfix">
4371755Smax.romanov@nginx.com<para>
4381790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
4391755Smax.romanov@nginx.comappeared in 1.19.0.
4401755Smax.romanov@nginx.com</para>
4411755Smax.romanov@nginx.com</change>
4421755Smax.romanov@nginx.com
4431756Smax.romanov@nginx.com<change type="bugfix">
4441756Smax.romanov@nginx.com<para>
4451790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
4461790Sartem.konev@nginx.comappeared in 1.19.0.
4471756Smax.romanov@nginx.com</para>
4481756Smax.romanov@nginx.com</change>
4491756Smax.romanov@nginx.com
4501760Smax.romanov@nginx.com<change type="bugfix">
4511760Smax.romanov@nginx.com<para>
4521792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
4531792Svbart@nginx.com</para>
4541792Svbart@nginx.com</change>
4551792Svbart@nginx.com
4561792Svbart@nginx.com<change type="bugfix">
4571792Svbart@nginx.com<para>
4581792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
4591792Svbart@nginx.commissing in the PHP module.
4601792Svbart@nginx.com</para>
4611792Svbart@nginx.com</change>
4621792Svbart@nginx.com
4631792Svbart@nginx.com<change type="bugfix">
4641792Svbart@nginx.com<para>
4651792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
4661792Svbart@nginx.com</para>
4671792Svbart@nginx.com</change>
4681792Svbart@nginx.com
4691792Svbart@nginx.com<change type="bugfix">
4701792Svbart@nginx.com<para>
4711792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
4721792Svbart@nginx.com</para>
4731792Svbart@nginx.com</change>
4741792Svbart@nginx.com
4751792Svbart@nginx.com<change type="bugfix">
4761792Svbart@nginx.com<para>
4771792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
4781792Svbart@nginx.comthe bug had appeared in 1.21.0.
4791760Smax.romanov@nginx.com</para>
4801760Smax.romanov@nginx.com</change>
4811760Smax.romanov@nginx.com
4821780Smax.romanov@nginx.com<change type="bugfix">
4831780Smax.romanov@nginx.com<para>
4841790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
4851790Sartem.konev@nginx.comWebSocket.
4861780Smax.romanov@nginx.com</para>
4871780Smax.romanov@nginx.com</change>
4881780Smax.romanov@nginx.com
4891789Smax.romanov@nginx.com<change type="bugfix">
4901789Smax.romanov@nginx.com<para>
4911789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
4921789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
4931789Smax.romanov@nginx.com</para>
4941789Smax.romanov@nginx.com</change>
4951789Smax.romanov@nginx.com
4961727Svbart@nginx.com</changes>
4971727Svbart@nginx.com
4981727Svbart@nginx.com
4991722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
5001722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
5011722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5021722Svbart@nginx.com
5031722Svbart@nginx.com<change>
5041722Svbart@nginx.com<para>
5051722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
5061722Svbart@nginx.com</para>
5071722Svbart@nginx.com</change>
5081722Svbart@nginx.com
5091722Svbart@nginx.com</changes>
5101722Svbart@nginx.com
5111722Svbart@nginx.com
5121722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
5131722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
5141722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5151722Svbart@nginx.com
5161722Svbart@nginx.com<change>
5171722Svbart@nginx.com<para>
5181722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
5191722Svbart@nginx.com</para>
5201722Svbart@nginx.com</change>
5211722Svbart@nginx.com
5221722Svbart@nginx.com</changes>
5231722Svbart@nginx.com
5241722Svbart@nginx.com
5251722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
5261722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
5271722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5281722Svbart@nginx.com
5291722Svbart@nginx.com<change>
5301722Svbart@nginx.com<para>
5311722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
5321722Svbart@nginx.com</para>
5331722Svbart@nginx.com</change>
5341722Svbart@nginx.com
5351722Svbart@nginx.com</changes>
5361722Svbart@nginx.com
5371722Svbart@nginx.com
5381722Svbart@nginx.com<changes apply="unit-php
5391722Svbart@nginx.com                unit-python unit-python2.7
5401722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
5411722Svbart@nginx.com                unit-python3.8
5421722Svbart@nginx.com                unit-go
5431722Svbart@nginx.com                unit-perl
5441722Svbart@nginx.com                unit-ruby
5451722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
5461722Svbart@nginx.com         ver="1.21.0" rev="1"
5471722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
5481722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5491722Svbart@nginx.com
5501722Svbart@nginx.com<change>
5511722Svbart@nginx.com<para>
5521722Svbart@nginx.comNGINX Unit updated to 1.21.0.
5531722Svbart@nginx.com</para>
5541722Svbart@nginx.com</change>
5551722Svbart@nginx.com
5561722Svbart@nginx.com</changes>
5571722Svbart@nginx.com
5581722Svbart@nginx.com
5591722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
5601722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
5611722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5621722Svbart@nginx.com
5631722Svbart@nginx.com<change type="change">
5641722Svbart@nginx.com<para>
5651722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
5661722Svbart@nginx.com</para>
5671722Svbart@nginx.com</change>
5681722Svbart@nginx.com
5691722Svbart@nginx.com<change type="change">
5701722Svbart@nginx.com<para>
5711722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
5721722Svbart@nginx.comnames.
5731722Svbart@nginx.com</para>
5741722Svbart@nginx.com</change>
5751722Svbart@nginx.com
5761722Svbart@nginx.com<change type="change">
5771722Svbart@nginx.com<para>
5781722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
5791722Svbart@nginx.comdefault.
5801722Svbart@nginx.com</para>
5811722Svbart@nginx.com</change>
5821722Svbart@nginx.com
5831722Svbart@nginx.com<change type="feature">
5841722Svbart@nginx.com<para>
5851722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
5861722Svbart@nginx.com</para>
5871722Svbart@nginx.com</change>
5881722Svbart@nginx.com
5891722Svbart@nginx.com<change type="feature">
5901722Svbart@nginx.com<para>
5911722Svbart@nginx.comregular expressions in route matching patterns.
5921722Svbart@nginx.com</para>
5931722Svbart@nginx.com</change>
5941722Svbart@nginx.com
5951722Svbart@nginx.com<change type="feature">
5961722Svbart@nginx.com<para>
5971722Svbart@nginx.comcompatibility with Python 3.9.
5981722Svbart@nginx.com</para>
5991722Svbart@nginx.com</change>
6001722Svbart@nginx.com
6011722Svbart@nginx.com<change type="feature">
6021722Svbart@nginx.com<para>
6031722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
6041722Svbart@nginx.com</para>
6051722Svbart@nginx.com</change>
6061722Svbart@nginx.com
6071722Svbart@nginx.com<change type="feature">
6081722Svbart@nginx.com<para>
6091722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
6101722Svbart@nginx.com</para>
6111722Svbart@nginx.com</change>
6121722Svbart@nginx.com
6131722Svbart@nginx.com<change type="feature">
6141722Svbart@nginx.com<para>
6151722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
6161722Svbart@nginx.comcontinues code execution without holding onto the client connection.
6171722Svbart@nginx.com</para>
6181722Svbart@nginx.com</change>
6191722Svbart@nginx.com
6201722Svbart@nginx.com<change type="feature">
6211722Svbart@nginx.com<para>
6221722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
6231722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
6241722Svbart@nginx.com</para>
6251722Svbart@nginx.com</change>
6261722Svbart@nginx.com
6271722Svbart@nginx.com<change type="feature">
6281722Svbart@nginx.com<para>
6291722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
6301722Svbart@nginx.commounting of eponymous filesystems.
6311722Svbart@nginx.com</para>
6321722Svbart@nginx.com</change>
6331722Svbart@nginx.com
6341722Svbart@nginx.com<change type="bugfix">
6351722Svbart@nginx.com<para>
6361722Svbart@nginx.comthe router process could crash when running Go applications under high load;
6371722Svbart@nginx.comthe bug had appeared in 1.19.0.
6381722Svbart@nginx.com</para>
6391722Svbart@nginx.com</change>
6401722Svbart@nginx.com
6411722Svbart@nginx.com<change type="bugfix">
6421722Svbart@nginx.com<para>
6431722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
6441722Svbart@nginx.com</para>
6451722Svbart@nginx.com</change>
6461722Svbart@nginx.com
6471722Svbart@nginx.com<change type="bugfix">
6481722Svbart@nginx.com<para>
6491722Svbart@nginx.comvarious compatibility issues in Java applications.
6501722Svbart@nginx.com</para>
6511722Svbart@nginx.com</change>
6521722Svbart@nginx.com
6531722Svbart@nginx.com<change type="bugfix">
6541722Svbart@nginx.com<para>
6551722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
6561722Svbart@nginx.comuse "rootfs" isolation.
6571722Svbart@nginx.com</para>
6581722Svbart@nginx.com</change>
6591722Svbart@nginx.com
6601722Svbart@nginx.com</changes>
6611722Svbart@nginx.com
6621722Svbart@nginx.com
6631330Svbart@nginx.com<changes apply="unit-php
6641330Svbart@nginx.com                unit-python unit-python2.7
6651330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6661330Svbart@nginx.com                unit-python3.8
6671330Svbart@nginx.com                unit-go
6681330Svbart@nginx.com                unit-perl
6691330Svbart@nginx.com                unit-ruby
6701330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6711640Svbart@nginx.com         ver="1.20.0" rev="1"
6721640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
6731640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6741640Svbart@nginx.com
6751640Svbart@nginx.com<change>
6761640Svbart@nginx.com<para>
6771640Svbart@nginx.comNGINX Unit updated to 1.20.0.
6781640Svbart@nginx.com</para>
6791640Svbart@nginx.com</change>
6801640Svbart@nginx.com
6811640Svbart@nginx.com</changes>
6821640Svbart@nginx.com
6831640Svbart@nginx.com
6841640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
6851640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
6861640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6871640Svbart@nginx.com
6881640Svbart@nginx.com<change type="change">
6891640Svbart@nginx.com<para>
6901640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
6911640Svbart@nginx.comextensions from the host system.
6921640Svbart@nginx.com</para>
6931640Svbart@nginx.com</change>
6941640Svbart@nginx.com
6951640Svbart@nginx.com<change type="change">
6961640Svbart@nginx.com<para>
6971640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
6981640Svbart@nginx.com</para>
6991640Svbart@nginx.com</change>
7001640Svbart@nginx.com
7011643Svbart@nginx.com<change type="change">
7021643Svbart@nginx.com<para>
7031643Svbart@nginx.comfunctional tests migrated to the pytest framework.
7041643Svbart@nginx.com</para>
7051643Svbart@nginx.com</change>
7061643Svbart@nginx.com
7071640Svbart@nginx.com<change type="feature">
7081640Svbart@nginx.com<para>
7091640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
7101640Svbart@nginx.cominterface.
7111640Svbart@nginx.com</para>
7121640Svbart@nginx.com</change>
7131640Svbart@nginx.com
7141640Svbart@nginx.com<change type="feature">
7151640Svbart@nginx.com<para>
7161640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
7171640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
7181640Svbart@nginx.comspecification.
7191640Svbart@nginx.com</para>
7201640Svbart@nginx.com</change>
7211640Svbart@nginx.com
7221640Svbart@nginx.com<change type="feature">
7231640Svbart@nginx.com<para>
7241640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
7251640Svbart@nginx.comenvironments.
7261640Svbart@nginx.com</para>
7271640Svbart@nginx.com</change>
7281640Svbart@nginx.com
7291640Svbart@nginx.com<change type="feature">
7301640Svbart@nginx.com<para>
7311640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
7321640Svbart@nginx.com</para>
7331640Svbart@nginx.com</change>
7341640Svbart@nginx.com
7351640Svbart@nginx.com<change type="feature">
7361640Svbart@nginx.com<para>
7371640Svbart@nginx.comthe "callable" option sets Python application callable names.
7381640Svbart@nginx.com</para>
7391640Svbart@nginx.com</change>
7401640Svbart@nginx.com
7411640Svbart@nginx.com<change type="feature">
7421640Svbart@nginx.com<para>
7431640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
7441640Svbart@nginx.com</para>
7451640Svbart@nginx.com</change>
7461640Svbart@nginx.com
7471640Svbart@nginx.com<change type="feature">
7481640Svbart@nginx.com<para>
7491640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
7501640Svbart@nginx.comautomatic mounting of language module dependencies.
7511640Svbart@nginx.com</para>
7521640Svbart@nginx.com</change>
7531640Svbart@nginx.com
7541640Svbart@nginx.com<change type="bugfix">
7551640Svbart@nginx.com<para>
7561640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
7571640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
7581640Svbart@nginx.com</para>
7591640Svbart@nginx.com</change>
7601640Svbart@nginx.com
7611640Svbart@nginx.com<change type="bugfix">
7621640Svbart@nginx.com<para>
7631640Svbart@nginx.comthe router process could crash during reconfiguration.
7641640Svbart@nginx.com</para>
7651640Svbart@nginx.com</change>
7661640Svbart@nginx.com
7671640Svbart@nginx.com<change type="bugfix">
7681640Svbart@nginx.com<para>
7691640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
7701640Svbart@nginx.com</para>
7711640Svbart@nginx.com</change>
7721640Svbart@nginx.com
7731640Svbart@nginx.com<change type="bugfix">
7741640Svbart@nginx.com<para>
7751640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
7761640Svbart@nginx.comthe bug had appeared in 1.19.0.
7771640Svbart@nginx.com</para>
7781640Svbart@nginx.com</change>
7791640Svbart@nginx.com
7801640Svbart@nginx.com<change type="bugfix">
7811640Svbart@nginx.com<para>
7821640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
7831640Svbart@nginx.comthe bug had appeared in 1.16.0.
7841640Svbart@nginx.com</para>
7851640Svbart@nginx.com</change>
7861640Svbart@nginx.com
7871640Svbart@nginx.com</changes>
7881640Svbart@nginx.com
7891640Svbart@nginx.com
7901640Svbart@nginx.com<changes apply="unit-php
7911640Svbart@nginx.com                unit-python unit-python2.7
7921640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7931640Svbart@nginx.com                unit-python3.8
7941640Svbart@nginx.com                unit-go
7951640Svbart@nginx.com                unit-perl
7961640Svbart@nginx.com                unit-ruby
7971640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7981570Svbart@nginx.com         ver="1.19.0" rev="1"
7991570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
8001570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8011570Svbart@nginx.com
8021570Svbart@nginx.com<change>
8031570Svbart@nginx.com<para>
8041570Svbart@nginx.comNGINX Unit updated to 1.19.0.
8051570Svbart@nginx.com</para>
8061570Svbart@nginx.com</change>
8071570Svbart@nginx.com
8081570Svbart@nginx.com</changes>
8091570Svbart@nginx.com
8101570Svbart@nginx.com
8111570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
8121570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
8131570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8141570Svbart@nginx.com
8151570Svbart@nginx.com<change type="feature">
8161570Svbart@nginx.com<para>
8171570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
8181570Svbart@nginx.comincrease performance, and improve scalability.
8191570Svbart@nginx.com</para>
8201570Svbart@nginx.com</change>
8211570Svbart@nginx.com
8221570Svbart@nginx.com<change type="feature">
8231570Svbart@nginx.com<para>
8241570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
8251570Svbart@nginx.com</para>
8261570Svbart@nginx.com</change>
8271570Svbart@nginx.com
8281570Svbart@nginx.com<change type="feature">
8291570Svbart@nginx.com<para>
8301570Svbart@nginx.comchunked transfer encoding in proxy responses.
8311570Svbart@nginx.com</para>
8321570Svbart@nginx.com</change>
8331570Svbart@nginx.com
8341570Svbart@nginx.com<change type="feature">
8351570Svbart@nginx.com<para>
8361570Svbart@nginx.combasic variables support in the "pass" option.
8371570Svbart@nginx.com</para>
8381570Svbart@nginx.com</change>
8391570Svbart@nginx.com
8401570Svbart@nginx.com<change type="feature">
8411570Svbart@nginx.com<para>
8421570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
8431570Svbart@nginx.comThanks to Remi Collet.
8441570Svbart@nginx.com</para>
8451570Svbart@nginx.com</change>
8461570Svbart@nginx.com
8471570Svbart@nginx.com<change type="bugfix">
8481570Svbart@nginx.com<para>
8491570Svbart@nginx.comthe router process could crash while passing requests to an application under
8501570Svbart@nginx.comhigh load.
8511570Svbart@nginx.com</para>
8521570Svbart@nginx.com</change>
8531570Svbart@nginx.com
8541570Svbart@nginx.com<change type="bugfix">
8551570Svbart@nginx.com<para>
8561570Svbart@nginx.coma number of language modules failed to build on some systems;
8571570Svbart@nginx.comthe bug had appeared in 1.18.0.
8581570Svbart@nginx.com</para>
8591570Svbart@nginx.com</change>
8601570Svbart@nginx.com
8611570Svbart@nginx.com<change type="bugfix">
8621570Svbart@nginx.com<para>
8631570Svbart@nginx.comtime in error log messages from PHP applications could lag.
8641570Svbart@nginx.com</para>
8651570Svbart@nginx.com</change>
8661570Svbart@nginx.com
8671570Svbart@nginx.com<change type="bugfix">
8681570Svbart@nginx.com<para>
8691570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
8701570Svbart@nginx.comthe bug had appeared in 1.18.0.
8711570Svbart@nginx.com</para>
8721570Svbart@nginx.com</change>
8731570Svbart@nginx.com
8741570Svbart@nginx.com<change type="bugfix">
8751570Svbart@nginx.com<para>
8761570Svbart@nginx.commemory leak during reconfiguration.
8771570Svbart@nginx.com</para>
8781570Svbart@nginx.com</change>
8791570Svbart@nginx.com
8801570Svbart@nginx.com<change type="bugfix">
8811570Svbart@nginx.com<para>
8821570Svbart@nginx.comthe daemon didn't start without language modules;
8831570Svbart@nginx.comthe bug had appeared in 1.18.0.
8841570Svbart@nginx.com</para>
8851570Svbart@nginx.com</change>
8861570Svbart@nginx.com
8871570Svbart@nginx.com<change type="bugfix">
8881570Svbart@nginx.com<para>
8891570Svbart@nginx.comthe router process could crash at exit.
8901570Svbart@nginx.com</para>
8911570Svbart@nginx.com</change>
8921570Svbart@nginx.com
8931570Svbart@nginx.com<change type="bugfix">
8941570Svbart@nginx.com<para>
8951570Svbart@nginx.comNode.js applications could crash at exit.
8961570Svbart@nginx.com</para>
8971570Svbart@nginx.com</change>
8981570Svbart@nginx.com
8991570Svbart@nginx.com<change type="bugfix">
9001570Svbart@nginx.com<para>
9011570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
9021570Svbart@nginx.com</para>
9031570Svbart@nginx.com</change>
9041570Svbart@nginx.com
9051570Svbart@nginx.com</changes>
9061570Svbart@nginx.com
9071570Svbart@nginx.com
9081570Svbart@nginx.com<changes apply="unit-php
9091570Svbart@nginx.com                unit-python unit-python2.7
9101570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9111570Svbart@nginx.com                unit-python3.8
9121570Svbart@nginx.com                unit-go
9131570Svbart@nginx.com                unit-perl
9141570Svbart@nginx.com                unit-ruby
9151570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9161491Svbart@nginx.com         ver="1.18.0" rev="1"
9171491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
9181491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9191491Svbart@nginx.com
9201491Svbart@nginx.com<change>
9211491Svbart@nginx.com<para>
9221491Svbart@nginx.comNGINX Unit updated to 1.18.0.
9231491Svbart@nginx.com</para>
9241491Svbart@nginx.com</change>
9251491Svbart@nginx.com
9261491Svbart@nginx.com</changes>
9271491Svbart@nginx.com
9281491Svbart@nginx.com
9291491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
9301491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
9311491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9321491Svbart@nginx.com
9331491Svbart@nginx.com<change type="feature">
9341491Svbart@nginx.com<para>
9351491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
9361491Svbart@nginx.com</para>
9371491Svbart@nginx.com</change>
9381491Svbart@nginx.com
9391491Svbart@nginx.com<change type="feature">
9401491Svbart@nginx.com<para>
9411491Svbart@nginx.commultiple "targets" in PHP applications.
9421491Svbart@nginx.com</para>
9431491Svbart@nginx.com</change>
9441491Svbart@nginx.com
9451491Svbart@nginx.com<change type="feature">
9461491Svbart@nginx.com<para>
9471491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
9481491Svbart@nginx.comand in the "pass" option.
9491491Svbart@nginx.com</para>
9501491Svbart@nginx.com</change>
9511491Svbart@nginx.com
9521491Svbart@nginx.com</changes>
9531491Svbart@nginx.com
9541491Svbart@nginx.com
9551491Svbart@nginx.com<changes apply="unit-php
9561491Svbart@nginx.com                unit-python unit-python2.7
9571491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9581491Svbart@nginx.com                unit-python3.8
9591491Svbart@nginx.com                unit-go
9601491Svbart@nginx.com                unit-perl
9611491Svbart@nginx.com                unit-ruby
9621491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
9631460Svbart@nginx.com         ver="1.17.0" rev="1"
9641460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
9651460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9661460Svbart@nginx.com
9671460Svbart@nginx.com<change>
9681460Svbart@nginx.com<para>
9691460Svbart@nginx.comNGINX Unit updated to 1.17.0.
9701460Svbart@nginx.com</para>
9711460Svbart@nginx.com</change>
9721460Svbart@nginx.com
9731460Svbart@nginx.com</changes>
9741460Svbart@nginx.com
9751460Svbart@nginx.com
9761460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
9771460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
9781460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
9791460Svbart@nginx.com
9801460Svbart@nginx.com<change type="feature">
9811460Svbart@nginx.com<para>
9821460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
9831460Svbart@nginx.comredirection.
9841460Svbart@nginx.com</para>
9851460Svbart@nginx.com</change>
9861460Svbart@nginx.com
9871460Svbart@nginx.com<change type="feature">
9881460Svbart@nginx.com<para>
9891460Svbart@nginx.comfractional weights support for upstream servers.
9901460Svbart@nginx.com</para>
9911460Svbart@nginx.com</change>
9921460Svbart@nginx.com
9931460Svbart@nginx.com<change type="bugfix">
9941460Svbart@nginx.com<para>
9951460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
9961460Svbart@nginx.comhigh load.
9971460Svbart@nginx.com</para>
9981460Svbart@nginx.com</change>
9991460Svbart@nginx.com
10001460Svbart@nginx.com<change type="bugfix">
10011460Svbart@nginx.com<para>
10021460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
10031460Svbart@nginx.com</para>
10041460Svbart@nginx.com</change>
10051460Svbart@nginx.com
10061460Svbart@nginx.com<change type="bugfix">
10071460Svbart@nginx.com<para>
10081460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
10091460Svbart@nginx.comopen connections limit.
10101460Svbart@nginx.com</para>
10111460Svbart@nginx.com</change>
10121460Svbart@nginx.com
10131460Svbart@nginx.com<change type="bugfix">
10141460Svbart@nginx.com<para>
10151460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
10161460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
10171460Svbart@nginx.com</para>
10181460Svbart@nginx.com</change>
10191460Svbart@nginx.com
10201460Svbart@nginx.com<change type="bugfix">
10211460Svbart@nginx.com<para>
10221460Svbart@nginx.comexisting application processes didn't reopen the log file.
10231460Svbart@nginx.com</para>
10241460Svbart@nginx.com</change>
10251460Svbart@nginx.com
10261460Svbart@nginx.com<change type="bugfix">
10271460Svbart@nginx.com<para>
10281460Svbart@nginx.comincompatibility with some Node.js applications.
10291460Svbart@nginx.com</para>
10301460Svbart@nginx.com</change>
10311460Svbart@nginx.com
10321460Svbart@nginx.com<change type="bugfix">
10331460Svbart@nginx.com<para>
10341460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
10351460Svbart@nginx.com</para>
10361460Svbart@nginx.com</change>
10371460Svbart@nginx.com
10381460Svbart@nginx.com</changes>
10391460Svbart@nginx.com
10401460Svbart@nginx.com
10411460Svbart@nginx.com<changes apply="unit-php
10421460Svbart@nginx.com                unit-python unit-python2.7
10431460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10441460Svbart@nginx.com                unit-python3.8
10451460Svbart@nginx.com                unit-go
10461460Svbart@nginx.com                unit-perl
10471460Svbart@nginx.com                unit-ruby
10481460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10491404Svbart@nginx.com         ver="1.16.0" rev="1"
10501404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
10511404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10521404Svbart@nginx.com
10531404Svbart@nginx.com<change>
10541404Svbart@nginx.com<para>
10551404Svbart@nginx.comNGINX Unit updated to 1.16.0.
10561404Svbart@nginx.com</para>
10571404Svbart@nginx.com</change>
10581404Svbart@nginx.com
10591404Svbart@nginx.com</changes>
10601404Svbart@nginx.com
10611404Svbart@nginx.com
10621404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
10631404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
10641404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10651404Svbart@nginx.com
10661404Svbart@nginx.com<change type="feature">
10671404Svbart@nginx.com<para>
10681404Svbart@nginx.combasic load-balancing support with round-robin.
10691404Svbart@nginx.com</para>
10701404Svbart@nginx.com</change>
10711404Svbart@nginx.com
10721404Svbart@nginx.com<change type="feature">
10731404Svbart@nginx.com<para>
10741404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
10751404Svbart@nginx.comserved from the "share" directory.
10761404Svbart@nginx.com</para>
10771404Svbart@nginx.com</change>
10781404Svbart@nginx.com
10791404Svbart@nginx.com<change type="feature">
10801404Svbart@nginx.com<para>
10811404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
10821404Svbart@nginx.com</para>
10831404Svbart@nginx.com</change>
10841404Svbart@nginx.com
10851404Svbart@nginx.com<change type="feature">
10861404Svbart@nginx.com<para>
10871404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
10881404Svbart@nginx.com</para>
10891404Svbart@nginx.com</change>
10901404Svbart@nginx.com
10911404Svbart@nginx.com<change type="bugfix">
10921404Svbart@nginx.com<para>
10931404Svbart@nginx.comnegative address matching in router might work improperly in combination with
10941404Svbart@nginx.comnon-negative patterns.
10951404Svbart@nginx.com</para>
10961404Svbart@nginx.com</change>
10971404Svbart@nginx.com
10981404Svbart@nginx.com<change type="bugfix">
10991404Svbart@nginx.com<para>
11001404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
11011404Svbart@nginx.com</para>
11021404Svbart@nginx.com</change>
11031404Svbart@nginx.com
11041404Svbart@nginx.com<change type="bugfix">
11051404Svbart@nginx.com<para>
11061404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
11071404Svbart@nginx.com</para>
11081404Svbart@nginx.com</change>
11091404Svbart@nginx.com
11101404Svbart@nginx.com<change type="bugfix">
11111404Svbart@nginx.com<para>
11121404Svbart@nginx.comcompatibility issues with some Python applications.
11131404Svbart@nginx.com</para>
11141404Svbart@nginx.com</change>
11151404Svbart@nginx.com
11161404Svbart@nginx.com</changes>
11171404Svbart@nginx.com
11181404Svbart@nginx.com
11191404Svbart@nginx.com<changes apply="unit-php
11201404Svbart@nginx.com                unit-python unit-python2.7
11211404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11221404Svbart@nginx.com                unit-python3.8
11231404Svbart@nginx.com                unit-go
11241404Svbart@nginx.com                unit-perl
11251404Svbart@nginx.com                unit-ruby
11261404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11271357Svbart@nginx.com         ver="1.15.0" rev="1"
11281357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
11291357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11301357Svbart@nginx.com
11311357Svbart@nginx.com<change>
11321357Svbart@nginx.com<para>
11331357Svbart@nginx.comNGINX Unit updated to 1.15.0.
11341357Svbart@nginx.com</para>
11351357Svbart@nginx.com</change>
11361357Svbart@nginx.com
11371357Svbart@nginx.com</changes>
11381357Svbart@nginx.com
11391357Svbart@nginx.com
11401357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
11411357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
11421357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11431357Svbart@nginx.com
11441357Svbart@nginx.com<change type="change">
11451357Svbart@nginx.com<para>
11461357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
11471357Svbart@nginx.com</para>
11481357Svbart@nginx.com</change>
11491357Svbart@nginx.com
11501357Svbart@nginx.com<change type="feature">
11511357Svbart@nginx.com<para>
11521357Svbart@nginx.comcompatibility with Ruby 2.7.
11531357Svbart@nginx.com</para>
11541357Svbart@nginx.com</change>
11551357Svbart@nginx.com
11561357Svbart@nginx.com<change type="bugfix">
11571357Svbart@nginx.com<para>
11581357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
11591357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
11601357Svbart@nginx.com</para>
11611357Svbart@nginx.com</change>
11621357Svbart@nginx.com
11631357Svbart@nginx.com<change type="bugfix">
11641357Svbart@nginx.com<para>
11651357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
11661357Svbart@nginx.com</para>
11671357Svbart@nginx.com</change>
11681357Svbart@nginx.com
11691357Svbart@nginx.com</changes>
11701357Svbart@nginx.com
11711357Svbart@nginx.com
11721357Svbart@nginx.com<changes apply="unit-php
11731357Svbart@nginx.com                unit-python unit-python2.7
11741357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11751357Svbart@nginx.com                unit-python3.8
11761357Svbart@nginx.com                unit-go
11771357Svbart@nginx.com                unit-perl
11781357Svbart@nginx.com                unit-ruby
11791357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11801330Svbart@nginx.com         ver="1.14.0" rev="1"
11811330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
11821330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11831330Svbart@nginx.com
11841330Svbart@nginx.com<change>
11851330Svbart@nginx.com<para>
11861330Svbart@nginx.comNGINX Unit updated to 1.14.0.
11871330Svbart@nginx.com</para>
11881330Svbart@nginx.com</change>
11891330Svbart@nginx.com
11901330Svbart@nginx.com</changes>
11911330Svbart@nginx.com
11921330Svbart@nginx.com
11931330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
11941330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
11951330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11961330Svbart@nginx.com
11971330Svbart@nginx.com<change type="change">
11981330Svbart@nginx.com<para>
11991330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
12001330Svbart@nginx.com</para>
12011330