xref: /unit/docs/changes.xml (revision 2007)
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
81973Sdefan@nginx.com<changes apply="unit-jsc18" ver="1.26.0" rev="1"
9*2007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
101973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
111973Sdefan@nginx.com
121973Sdefan@nginx.com<change>
131973Sdefan@nginx.com<para>
141973Sdefan@nginx.comInitial release of Java 18 module for NGINX Unit.
151973Sdefan@nginx.com</para>
161973Sdefan@nginx.com</change>
171973Sdefan@nginx.com
181973Sdefan@nginx.com</changes>
191973Sdefan@nginx.com
201973Sdefan@nginx.com
211973Sdefan@nginx.com<changes apply="unit-python3.10" ver="1.26.0" rev="1"
22*2007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
231973Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
241973Sdefan@nginx.com
251973Sdefan@nginx.com<change>
261973Sdefan@nginx.com<para>
271973Sdefan@nginx.comInitial release of Python 3.10 module for NGINX Unit.
281973Sdefan@nginx.com</para>
291973Sdefan@nginx.com</change>
301973Sdefan@nginx.com
311973Sdefan@nginx.com</changes>
321973Sdefan@nginx.com
331973Sdefan@nginx.com
341896Svbart@nginx.com<changes apply="unit-php
351896Svbart@nginx.com                unit-python unit-python2.7
361896Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
371896Svbart@nginx.com                unit-python3.8 unit-python3.9
381896Svbart@nginx.com                unit-go
391896Svbart@nginx.com                unit-perl
401896Svbart@nginx.com                unit-ruby
411896Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
421896Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
431951Svbart@nginx.com         ver="1.26.0" rev="1"
44*2007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
451951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
461951Svbart@nginx.com
471951Svbart@nginx.com<change>
481951Svbart@nginx.com<para>
491951Svbart@nginx.comNGINX Unit updated to 1.26.0.
501951Svbart@nginx.com</para>
511951Svbart@nginx.com</change>
521951Svbart@nginx.com
531951Svbart@nginx.com</changes>
541951Svbart@nginx.com
551951Svbart@nginx.com
561951Svbart@nginx.com<changes apply="unit" ver="1.26.0" rev="1"
57*2007Svbart@nginx.com         date="2021-11-18" time="18:00:00 +0300"
581951Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
591951Svbart@nginx.com
601960Sz.hong@f5.com<change type="change">
611960Sz.hong@f5.com<para>
621960Sz.hong@f5.comthe "share" option now specifies the entire path to the files it serves,
631960Sz.hong@f5.comrather than a document root directory to be prepended to the request URI.
641960Sz.hong@f5.com</para>
651960Sz.hong@f5.com</change>
661960Sz.hong@f5.com
671960Sz.hong@f5.com<change type="feature">
681960Sz.hong@f5.com<para>
692006Svbart@nginx.comautomatic adjustment of existing configurations to the new "share" behavior
702006Svbart@nginx.comwhen updating from previous versions.
712006Svbart@nginx.com</para>
722006Svbart@nginx.com</change>
732006Svbart@nginx.com
742006Svbart@nginx.com<change type="feature">
752006Svbart@nginx.com<para>
761960Sz.hong@f5.comvariables support in the "share" option.
771960Sz.hong@f5.com</para>
781960Sz.hong@f5.com</change>
791960Sz.hong@f5.com
801959Sz.hong@f5.com<change type="feature">
811959Sz.hong@f5.com<para>
821961Sz.hong@f5.commultiple paths in the "share" option.
831961Sz.hong@f5.com</para>
841961Sz.hong@f5.com</change>
851961Sz.hong@f5.com
861961Sz.hong@f5.com<change type="feature">
871961Sz.hong@f5.com<para>
881959Sz.hong@f5.comvariables support in the "chroot" option.
891959Sz.hong@f5.com</para>
901959Sz.hong@f5.com</change>
911959Sz.hong@f5.com
921969Sz.hong@f5.com<change type="feature">
931969Sz.hong@f5.com<para>
942006Svbart@nginx.comPHP opcache is shared between application processes.
951969Sz.hong@f5.com</para>
961969Sz.hong@f5.com</change>
971969Sz.hong@f5.com
981991Sz.hong@f5.com<change type="feature">
991991Sz.hong@f5.com<para>
1001991Sz.hong@f5.comrequest routing by the query string.
1011991Sz.hong@f5.com</para>
1021991Sz.hong@f5.com</change>
1031991Sz.hong@f5.com
1041955Smax.romanov@nginx.com<change type="bugfix">
1051955Smax.romanov@nginx.com<para>
1062006Svbart@nginx.comthe router and app processes could crash when the requests limit was reached
1072006Svbart@nginx.comby asynchronous or multithreaded apps.
1081955Smax.romanov@nginx.com</para>
1091955Smax.romanov@nginx.com</change>
1101955Smax.romanov@nginx.com
1111956Smax.romanov@nginx.com<change type="bugfix">
1121956Smax.romanov@nginx.com<para>
1131956Smax.romanov@nginx.comestablished WebSocket connections could stop reading frames from the client
1141956Smax.romanov@nginx.comafter the corresponding listener had been reconfigured.
1151956Smax.romanov@nginx.com</para>
1161956Smax.romanov@nginx.com</change>
1171956Smax.romanov@nginx.com
1181992Smax.romanov@nginx.com<change type="bugfix">
1191992Smax.romanov@nginx.com<para>
1202006Svbart@nginx.comfixed building with glibc 2.34, notably Fedora 35.
1211992Smax.romanov@nginx.com</para>
1221992Smax.romanov@nginx.com</change>
1231992Smax.romanov@nginx.com
1241951Svbart@nginx.com</changes>
1251951Svbart@nginx.com
1261951Svbart@nginx.com
1271951Svbart@nginx.com<changes apply="unit-php
1281951Svbart@nginx.com                unit-python unit-python2.7
1291951Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1301951Svbart@nginx.com                unit-python3.8 unit-python3.9
1311951Svbart@nginx.com                unit-go
1321951Svbart@nginx.com                unit-perl
1331951Svbart@nginx.com                unit-ruby
1341951Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
1351951Svbart@nginx.com                unit-jsc14 unit-jsc15 unit-jsc16 unit-jsc17"
1361896Svbart@nginx.com         ver="1.25.0" rev="1"
1371945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
1381896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1391896Svbart@nginx.com
1401896Svbart@nginx.com<change>
1411896Svbart@nginx.com<para>
1421896Svbart@nginx.comNGINX Unit updated to 1.25.0.
1431896Svbart@nginx.com</para>
1441896Svbart@nginx.com</change>
1451896Svbart@nginx.com
1461896Svbart@nginx.com</changes>
1471896Svbart@nginx.com
1481896Svbart@nginx.com
1491896Svbart@nginx.com<changes apply="unit" ver="1.25.0" rev="1"
1501945Svbart@nginx.com         date="2021-08-19" time="18:00:00 +0300"
1511896Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1521896Svbart@nginx.com
1531910So.canty@f5.com<change type="feature">
1541910So.canty@f5.com<para>
1551944Svbart@nginx.comclient IP address replacement from a specified HTTP header field.
1561942Sa.suvorov@f5.com</para>
1571942Sa.suvorov@f5.com</change>
1581942Sa.suvorov@f5.com
1591942Sa.suvorov@f5.com<change type="feature">
1601942Sa.suvorov@f5.com<para>
1611920Sa.suvorov@f5.comTLS sessions cache.
1621920Sa.suvorov@f5.com</para>
1631920Sa.suvorov@f5.com</change>
1641920Sa.suvorov@f5.com
1651920Sa.suvorov@f5.com<change type="feature">
1661920Sa.suvorov@f5.com<para>
1671944Svbart@nginx.comTLS session tickets.
1681910So.canty@f5.com</para>
1691910So.canty@f5.com</change>
1701910So.canty@f5.com
1711926Smax.romanov@nginx.com<change type="feature">
1721926Smax.romanov@nginx.com<para>
1731926Smax.romanov@nginx.comapplication restart control.
1741926Smax.romanov@nginx.com</para>
1751926Smax.romanov@nginx.com</change>
1761926Smax.romanov@nginx.com
1771936So.canty@f5.com<change type="feature">
1781936So.canty@f5.com<para>
1791944Svbart@nginx.comprocess and thread lifecycle hooks in Ruby.
1801936So.canty@f5.com</para>
1811936So.canty@f5.com</change>
1821936So.canty@f5.com
1831907Smax.romanov@nginx.com<change type="bugfix">
1841907Smax.romanov@nginx.com<para>
1851944Svbart@nginx.comthe router process could crash on TLS connection open when multiple listeners
1861944Svbart@nginx.comwith TLS certificates were configured; the bug had appeared in 1.23.0.
1871921Sa.suvorov@f5.com</para>
1881921Sa.suvorov@f5.com</change>
1891921Sa.suvorov@f5.com
1901921Sa.suvorov@f5.com<change type="bugfix">
1911921Sa.suvorov@f5.com<para>
1921944Svbart@nginx.comTLS connections were rejected for configurations with multiple certificate
1931944Svbart@nginx.combundles in a listener if the client did not use SNI.
1941907Smax.romanov@nginx.com</para>
1951907Smax.romanov@nginx.com</change>
1961907Smax.romanov@nginx.com
1971907Smax.romanov@nginx.com<change type="bugfix">
1981907Smax.romanov@nginx.com<para>
1991950Sartem.konev@nginx.comthe router process could crash with frequent multithreaded application
2001915Smax.romanov@nginx.comreconfiguration.
2011915Smax.romanov@nginx.com</para>
2021915Smax.romanov@nginx.com</change>
2031915Smax.romanov@nginx.com
2041915Smax.romanov@nginx.com<change type="bugfix">
2051915Smax.romanov@nginx.com<para>
2061944Svbart@nginx.comcompatibility issues with some Python ASGI apps, notably based on the Starlette
2071944Svbart@nginx.comframework.
2081944Svbart@nginx.com</para>
2091944Svbart@nginx.com</change>
2101944Svbart@nginx.com
2111944Svbart@nginx.com<change type="bugfix">
2121944Svbart@nginx.com<para>
2131944Svbart@nginx.coma descriptor and memory leak occurred in the router process when an app process
2141944Svbart@nginx.comstopped or crashed.
2151907Smax.romanov@nginx.com</para>
2161907Smax.romanov@nginx.com</change>
2171907Smax.romanov@nginx.com
2181909So.canty@f5.com<change type="bugfix">
2191909So.canty@f5.com<para>
2201909So.canty@f5.comthe controller or router process could crash if the configuration contained
2211909So.canty@f5.coma full-form IPv6 in a listener address.
2221909So.canty@f5.com</para>
2231909So.canty@f5.com</change>
2241909So.canty@f5.com
2251916Smax.romanov@nginx.com<change type="bugfix">
2261916Smax.romanov@nginx.com<para>
2271929Sz.hong@f5.comthe router process crashed when a request was passed to an empty "routes"
2281929Sz.hong@f5.comor "upstreams" using a variable "pass" option.
2291929Sz.hong@f5.com</para>
2301929Sz.hong@f5.com</change>
2311929Sz.hong@f5.com
2321930So.canty@f5.com<change type="bugfix">
2331930So.canty@f5.com<para>
2341944Svbart@nginx.comthe router process crashed while matching a request to an empty array of source
2351944Svbart@nginx.comor destination address patterns.
2361930So.canty@f5.com</para>
2371930So.canty@f5.com</change>
2381930So.canty@f5.com
2391896Svbart@nginx.com</changes>
2401896Svbart@nginx.com
2411896Svbart@nginx.com
2421887Sdefan@nginx.com<changes apply="unit-jsc17" ver="1.24.0" rev="1"
2431891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2441887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2451887Sdefan@nginx.com
2461887Sdefan@nginx.com<change>
2471887Sdefan@nginx.com<para>
2481887Sdefan@nginx.comInitial release of Java 17 module for NGINX Unit.
2491887Sdefan@nginx.com</para>
2501887Sdefan@nginx.com</change>
2511887Sdefan@nginx.com
2521887Sdefan@nginx.com</changes>
2531887Sdefan@nginx.com
2541887Sdefan@nginx.com
2551887Sdefan@nginx.com<changes apply="unit-jsc16" ver="1.24.0" rev="1"
2561891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2571887Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2581887Sdefan@nginx.com
2591887Sdefan@nginx.com<change>
2601887Sdefan@nginx.com<para>
2611887Sdefan@nginx.comInitial release of Java 16 module for NGINX Unit.
2621887Sdefan@nginx.com</para>
2631887Sdefan@nginx.com</change>
2641887Sdefan@nginx.com
2651887Sdefan@nginx.com</changes>
2661887Sdefan@nginx.com
2671887Sdefan@nginx.com
2681834Svbart@nginx.com<changes apply="unit-php
2691834Svbart@nginx.com                unit-python unit-python2.7
2701834Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
2711834Svbart@nginx.com                unit-python3.8 unit-python3.9
2721834Svbart@nginx.com                unit-go
2731834Svbart@nginx.com                unit-perl
2741834Svbart@nginx.com                unit-ruby
2751834Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
2761834Svbart@nginx.com                unit-jsc14 unit-jsc15"
2771839Svbart@nginx.com         ver="1.24.0" rev="1"
2781891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2791839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2801839Svbart@nginx.com
2811839Svbart@nginx.com<change>
2821839Svbart@nginx.com<para>
2831839Svbart@nginx.comNGINX Unit updated to 1.24.0.
2841839Svbart@nginx.com</para>
2851839Svbart@nginx.com</change>
2861839Svbart@nginx.com
2871839Svbart@nginx.com</changes>
2881839Svbart@nginx.com
2891839Svbart@nginx.com
2901839Svbart@nginx.com<changes apply="unit" ver="1.24.0" rev="1"
2911891Svbart@nginx.com         date="2021-05-27" time="18:00:00 +0300"
2921839Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2931839Svbart@nginx.com
2941882So.canty@f5.com<change type="change">
2951882So.canty@f5.com<para>
2961882So.canty@f5.comPHP added to the default MIME type list.
2971882So.canty@f5.com</para>
2981882So.canty@f5.com</change>
2991882So.canty@f5.com
3001855Sz.hong@f5.com<change type="feature">
3011855Sz.hong@f5.com<para>
3021885Sa.suvorov@f5.comarbitrary configuration of TLS connections via OpenSSL commands.
3031885Sa.suvorov@f5.com</para>
3041885Sa.suvorov@f5.com</change>
3051885Sa.suvorov@f5.com
3061885Sa.suvorov@f5.com<change type="feature">
3071885Sa.suvorov@f5.com<para>
3081890Svbart@nginx.comthe ability to limit static file serving by MIME types.
3091890Svbart@nginx.com</para>
3101890Svbart@nginx.com</change>
3111890Svbart@nginx.com
3121890Svbart@nginx.com<change type="feature">
3131890Svbart@nginx.com<para>
3141890Svbart@nginx.comsupport for chrooting, rejecting symlinks, and rejecting mount
3151890Svbart@nginx.compoint traversal on a per-request basis when serving static files.
3161872So.canty@f5.com</para>
3171872So.canty@f5.com</change>
3181872So.canty@f5.com
3191872So.canty@f5.com<change type="feature">
3201872So.canty@f5.com<para>
3211889Sartem.konev@nginx.coma loader for automatically overriding the "http" and "websocket" modules in
3221889Sartem.konev@nginx.comNode.js.
3231865So.canty@f5.com</para>
3241865So.canty@f5.com</change>
3251865So.canty@f5.com
3261865So.canty@f5.com<change type="feature">
3271865So.canty@f5.com<para>
3281890Svbart@nginx.commultiple "targets" in Python applications.
3291855Sz.hong@f5.com</para>
3301855Sz.hong@f5.com</change>
3311855Sz.hong@f5.com
3321870So.canty@f5.com<change type="feature">
3331870So.canty@f5.com<para>
3341870So.canty@f5.comcompatibility with Ruby 3.0.
3351870So.canty@f5.com</para>
3361870So.canty@f5.com</change>
3371870So.canty@f5.com
3381861Svbart@nginx.com<change type="bugfix">
3391861Svbart@nginx.com<para>
3401889Sartem.konev@nginx.comthe router process could crash while closing a TLS connection.
3411884Sa.suvorov@f5.com</para>
3421884Sa.suvorov@f5.com</change>
3431884Sa.suvorov@f5.com
3441884Sa.suvorov@f5.com<change type="bugfix">
3451884Sa.suvorov@f5.com<para>
3461861Svbart@nginx.coma segmentation fault might have occurred in the PHP module if
3471861Svbart@nginx.comfastcgi_finish_request() was used with the "auto_globals_jit" option enabled.
3481861Svbart@nginx.com</para>
3491861Svbart@nginx.com</change>
3501861Svbart@nginx.com
3511839Svbart@nginx.com</changes>
3521839Svbart@nginx.com
3531839Svbart@nginx.com
3541839Svbart@nginx.com<changes apply="unit-php
3551839Svbart@nginx.com                unit-python unit-python2.7
3561839Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
3571839Svbart@nginx.com                unit-python3.8 unit-python3.9
3581839Svbart@nginx.com                unit-go
3591839Svbart@nginx.com                unit-perl
3601839Svbart@nginx.com                unit-ruby
3611839Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
3621839Svbart@nginx.com                unit-jsc14 unit-jsc15"
3631834Svbart@nginx.com         ver="1.23.0" rev="1"
3641834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
3651834Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3661834Svbart@nginx.com
3671834Svbart@nginx.com<change>
3681834Svbart@nginx.com<para>
3691834Svbart@nginx.comNGINX Unit updated to 1.23.0.
3701834Svbart@nginx.com</para>
3711834Svbart@nginx.com</change>
3721834Svbart@nginx.com
3731834Svbart@nginx.com</changes>
3741834Svbart@nginx.com
3751834Svbart@nginx.com
3761806Svbart@nginx.com<changes apply="unit" ver="1.23.0" rev="1"
3771834Svbart@nginx.com         date="2021-03-25" time="18:00:00 +0300"
3781806Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3791806Svbart@nginx.com
3801825Sthresh@nginx.com<change type="feature">
3811825Sthresh@nginx.com<para>
3821833Sartem.konev@nginx.comsupport for multiple certificate bundles on a listener via the Server Name
3831828Sa.suvorov@f5.comIndication (SNI) TLS extension.
3841828Sa.suvorov@f5.com</para>
3851828Sa.suvorov@f5.com</change>
3861828Sa.suvorov@f5.com
3871828Sa.suvorov@f5.com<change type="feature">
3881828Sa.suvorov@f5.com<para>
3891833Sartem.konev@nginx.com"--mandir" ./configure option to specify the directory for man page
3901833Sartem.konev@nginx.cominstallation.
3911825Sthresh@nginx.com</para>
3921825Sthresh@nginx.com</change>
3931825Sthresh@nginx.com
3941811Smax.romanov@nginx.com<change type="bugfix">
3951811Smax.romanov@nginx.com<para>
3961812Svbart@nginx.comthe router process could crash on premature TLS connection close; the bug had
3971812Svbart@nginx.comappeared in 1.17.0.
3981812Svbart@nginx.com</para>
3991812Svbart@nginx.com</change>
4001812Svbart@nginx.com
4011812Svbart@nginx.com<change type="bugfix">
4021812Svbart@nginx.com<para>
4031833Sartem.konev@nginx.coma connection leak occurred on premature TLS connection close; the bug had
4041812Svbart@nginx.comappeared in 1.6.
4051812Svbart@nginx.com</para>
4061812Svbart@nginx.com</change>
4071812Svbart@nginx.com
4081812Svbart@nginx.com<change type="bugfix">
4091812Svbart@nginx.com<para>
4101833Sartem.konev@nginx.coma descriptor and memory leak occurred in the router process when processing
4111832Smax.romanov@nginx.comsmall WebSocket frames from a client; the bug had appeared in 1.19.0.
4121832Smax.romanov@nginx.com</para>
4131832Smax.romanov@nginx.com</change>
4141832Smax.romanov@nginx.com
4151832Smax.romanov@nginx.com<change type="bugfix">
4161832Smax.romanov@nginx.com<para>
4171833Sartem.konev@nginx.coma descriptor leak occurred in the router process when removing or
4181811Smax.romanov@nginx.comreconfiguring an application; the bug had appeared in 1.19.0.
4191811Smax.romanov@nginx.com</para>
4201811Smax.romanov@nginx.com</change>
4211806Svbart@nginx.com
4221813Svbart@nginx.com<change type="bugfix">
4231813Svbart@nginx.com<para>
4241813Svbart@nginx.compersistent storage of certificates might've not worked with some filesystems in
4251813Svbart@nginx.comLinux, and all uploaded certificate bundles were forgotten after restart.
4261813Svbart@nginx.com</para>
4271813Svbart@nginx.com</change>
4281813Svbart@nginx.com
4291814Svbart@nginx.com<change type="bugfix">
4301814Svbart@nginx.com<para>
4311820Svbart@nginx.comthe controller process could crash while requesting information about a
4321820Svbart@nginx.comcertificate with a non-DNS SAN entry.
4331820Svbart@nginx.com</para>
4341820Svbart@nginx.com</change>
4351820Svbart@nginx.com
4361820Svbart@nginx.com<change type="bugfix">
4371820Svbart@nginx.com<para>
4381822Svbart@nginx.comthe controller process could crash on manipulations with a certificate
4391833Sartem.konev@nginx.comcontaining a SAN and no standard name attributes in subject or issuer.
4401822Svbart@nginx.com</para>
4411822Svbart@nginx.com</change>
4421822Svbart@nginx.com
4431822Svbart@nginx.com<change type="bugfix">
4441822Svbart@nginx.com<para>
4451833Sartem.konev@nginx.comthe Ruby module didn't respect the user locale for defaults in the Encoding
4461833Sartem.konev@nginx.comclass.
4471814Svbart@nginx.com</para>
4481814Svbart@nginx.com</change>
4491814Svbart@nginx.com
4501815Svbart@nginx.com<change type="bugfix">
4511815Svbart@nginx.com<para>
4521815Svbart@nginx.comthe PHP 5 module failed to build with thread safety enabled; the bug had
4531815Svbart@nginx.comappeared in 1.22.0.
4541815Svbart@nginx.com</para>
4551815Svbart@nginx.com</change>
4561815Svbart@nginx.com
4571806Svbart@nginx.com</changes>
4581806Svbart@nginx.com
4591806Svbart@nginx.com
4601798Sdefan@nginx.com<changes apply="unit-python3.9" ver="1.22.0" rev="1"
4611798Sdefan@nginx.com         date="2021-02-04" time="18:00:00 +0300"
4621798Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4631798Sdefan@nginx.com
4641798Sdefan@nginx.com<change>
4651798Sdefan@nginx.com<para>
4661798Sdefan@nginx.comInitial release of Python 3.9 module for NGINX Unit.
4671798Sdefan@nginx.com</para>
4681798Sdefan@nginx.com</change>
4691798Sdefan@nginx.com
4701798Sdefan@nginx.com</changes>
4711798Sdefan@nginx.com
4721798Sdefan@nginx.com
4731763Sdefan@nginx.com<changes apply="unit-php
4741763Sdefan@nginx.com                unit-python unit-python2.7
4751763Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
4761763Sdefan@nginx.com                unit-python3.8
4771763Sdefan@nginx.com                unit-go
4781763Sdefan@nginx.com                unit-perl
4791763Sdefan@nginx.com                unit-ruby
4801763Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11 unit-jsc13
4811763Sdefan@nginx.com                unit-jsc14 unit-jsc15"
4821763Sdefan@nginx.com         ver="1.22.0" rev="1"
4831793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
4841763Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4851763Sdefan@nginx.com
4861763Sdefan@nginx.com<change>
4871763Sdefan@nginx.com<para>
4881763Sdefan@nginx.comNGINX Unit updated to 1.22.0.
4891763Sdefan@nginx.com</para>
4901763Sdefan@nginx.com</change>
4911763Sdefan@nginx.com
4921763Sdefan@nginx.com</changes>
4931763Sdefan@nginx.com
4941763Sdefan@nginx.com
4951727Svbart@nginx.com<changes apply="unit" ver="1.22.0" rev="1"
4961793Svbart@nginx.com         date="2021-02-04" time="18:00:00 +0300"
4971727Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
4981727Svbart@nginx.com
4991759Svbart@nginx.com<change type="feature">
5001759Svbart@nginx.com<para>
5011792Svbart@nginx.comthe ServerRequest and ServerResponse objects of Node.js module are now
5021792Svbart@nginx.comcompliant with Stream API.
5031759Svbart@nginx.com</para>
5041759Svbart@nginx.com</change>
5051759Svbart@nginx.com
5061766Smax.romanov@nginx.com<change type="feature">
5071766Smax.romanov@nginx.com<para>
5081792Svbart@nginx.comsupport for specifying multiple directories in the "path" option of Python
5091792Svbart@nginx.comapps.
5101732Svbart@nginx.com</para>
5111732Svbart@nginx.com</change>
5121732Svbart@nginx.com
5131733Svbart@nginx.com<change type="bugfix">
5141733Svbart@nginx.com<para>
5151792Svbart@nginx.coma memory leak occurred in the router process when serving files larger than
5161792Svbart@nginx.com128K; the bug had appeared in 1.13.0.
5171754Smax.romanov@nginx.com</para>
5181754Smax.romanov@nginx.com</change>
5191754Smax.romanov@nginx.com
5201755Smax.romanov@nginx.com<change type="bugfix">
5211755Smax.romanov@nginx.com<para>
5221790Sartem.konev@nginx.comapps could stop processing new requests under high load; the bug had
5231755Smax.romanov@nginx.comappeared in 1.19.0.
5241755Smax.romanov@nginx.com</para>
5251755Smax.romanov@nginx.com</change>
5261755Smax.romanov@nginx.com
5271756Smax.romanov@nginx.com<change type="bugfix">
5281756Smax.romanov@nginx.com<para>
5291790Sartem.konev@nginx.comapp processes could terminate unexpectedly under high load; the bug had
5301790Sartem.konev@nginx.comappeared in 1.19.0.
5311756Smax.romanov@nginx.com</para>
5321756Smax.romanov@nginx.com</change>
5331756Smax.romanov@nginx.com
5341760Smax.romanov@nginx.com<change type="bugfix">
5351760Smax.romanov@nginx.com<para>
5361792Svbart@nginx.cominvalid HTTP responses were generated for some unusual status codes.
5371792Svbart@nginx.com</para>
5381792Svbart@nginx.com</change>
5391792Svbart@nginx.com
5401792Svbart@nginx.com<change type="bugfix">
5411792Svbart@nginx.com<para>
5421792Svbart@nginx.comthe PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_DIGEST server variables were
5431792Svbart@nginx.commissing in the PHP module.
5441792Svbart@nginx.com</para>
5451792Svbart@nginx.com</change>
5461792Svbart@nginx.com
5471792Svbart@nginx.com<change type="bugfix">
5481792Svbart@nginx.com<para>
5491792Svbart@nginx.comthe router process could crash with multithreaded apps under high load.
5501792Svbart@nginx.com</para>
5511792Svbart@nginx.com</change>
5521792Svbart@nginx.com
5531792Svbart@nginx.com<change type="bugfix">
5541792Svbart@nginx.com<para>
5551792Svbart@nginx.comRuby apps with multithreading configured could crash on start under load.
5561792Svbart@nginx.com</para>
5571792Svbart@nginx.com</change>
5581792Svbart@nginx.com
5591792Svbart@nginx.com<change type="bugfix">
5601792Svbart@nginx.com<para>
5611792Svbart@nginx.commount points weren't unmounted when the "mount" namespace isolation was used;
5621792Svbart@nginx.comthe bug had appeared in 1.21.0.
5631760Smax.romanov@nginx.com</para>
5641760Smax.romanov@nginx.com</change>
5651760Smax.romanov@nginx.com
5661780Smax.romanov@nginx.com<change type="bugfix">
5671780Smax.romanov@nginx.com<para>
5681790Sartem.konev@nginx.comthe router process could crash while removing or reconfiguring an app that used
5691790Sartem.konev@nginx.comWebSocket.
5701780Smax.romanov@nginx.com</para>
5711780Smax.romanov@nginx.com</change>
5721780Smax.romanov@nginx.com
5731789Smax.romanov@nginx.com<change type="bugfix">
5741789Smax.romanov@nginx.com<para>
5751789Smax.romanov@nginx.coma memory leak occurring in the router process when removing or reconfiguring
5761789Smax.romanov@nginx.coman application; the bug had appeared in 1.19.0.
5771789Smax.romanov@nginx.com</para>
5781789Smax.romanov@nginx.com</change>
5791789Smax.romanov@nginx.com
5801727Svbart@nginx.com</changes>
5811727Svbart@nginx.com
5821727Svbart@nginx.com
5831722Svbart@nginx.com<changes apply="unit-jsc15" ver="1.21.0" rev="1"
5841722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
5851722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5861722Svbart@nginx.com
5871722Svbart@nginx.com<change>
5881722Svbart@nginx.com<para>
5891722Svbart@nginx.comInitial release of Java 15 module for NGINX Unit.
5901722Svbart@nginx.com</para>
5911722Svbart@nginx.com</change>
5921722Svbart@nginx.com
5931722Svbart@nginx.com</changes>
5941722Svbart@nginx.com
5951722Svbart@nginx.com
5961722Svbart@nginx.com<changes apply="unit-jsc14" ver="1.21.0" rev="1"
5971722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
5981722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
5991722Svbart@nginx.com
6001722Svbart@nginx.com<change>
6011722Svbart@nginx.com<para>
6021722Svbart@nginx.comInitial release of Java 14 module for NGINX Unit.
6031722Svbart@nginx.com</para>
6041722Svbart@nginx.com</change>
6051722Svbart@nginx.com
6061722Svbart@nginx.com</changes>
6071722Svbart@nginx.com
6081722Svbart@nginx.com
6091722Svbart@nginx.com<changes apply="unit-jsc13" ver="1.21.0" rev="1"
6101722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6111722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6121722Svbart@nginx.com
6131722Svbart@nginx.com<change>
6141722Svbart@nginx.com<para>
6151722Svbart@nginx.comInitial release of Java 13 module for NGINX Unit.
6161722Svbart@nginx.com</para>
6171722Svbart@nginx.com</change>
6181722Svbart@nginx.com
6191722Svbart@nginx.com</changes>
6201722Svbart@nginx.com
6211722Svbart@nginx.com
6221722Svbart@nginx.com<changes apply="unit-php
6231722Svbart@nginx.com                unit-python unit-python2.7
6241722Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
6251722Svbart@nginx.com                unit-python3.8
6261722Svbart@nginx.com                unit-go
6271722Svbart@nginx.com                unit-perl
6281722Svbart@nginx.com                unit-ruby
6291722Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
6301722Svbart@nginx.com         ver="1.21.0" rev="1"
6311722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6321722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6331722Svbart@nginx.com
6341722Svbart@nginx.com<change>
6351722Svbart@nginx.com<para>
6361722Svbart@nginx.comNGINX Unit updated to 1.21.0.
6371722Svbart@nginx.com</para>
6381722Svbart@nginx.com</change>
6391722Svbart@nginx.com
6401722Svbart@nginx.com</changes>
6411722Svbart@nginx.com
6421722Svbart@nginx.com
6431722Svbart@nginx.com<changes apply="unit" ver="1.21.0" rev="1"
6441722Svbart@nginx.com         date="2020-11-19" time="18:00:00 +0300"
6451722Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
6461722Svbart@nginx.com
6471722Svbart@nginx.com<change type="change">
6481722Svbart@nginx.com<para>
6491722Svbart@nginx.comprocfs is mounted by default for all languages when "rootfs" isolation is used.
6501722Svbart@nginx.com</para>
6511722Svbart@nginx.com</change>
6521722Svbart@nginx.com
6531722Svbart@nginx.com<change type="change">
6541722Svbart@nginx.com<para>
6551722Svbart@nginx.comany characters valid according to RFC 7230 are now allowed in HTTP header field
6561722Svbart@nginx.comnames.
6571722Svbart@nginx.com</para>
6581722Svbart@nginx.com</change>
6591722Svbart@nginx.com
6601722Svbart@nginx.com<change type="change">
6611722Svbart@nginx.com<para>
6621722Svbart@nginx.comHTTP header fields with underscores ("_") are now discarded from requests by
6631722Svbart@nginx.comdefault.
6641722Svbart@nginx.com</para>
6651722Svbart@nginx.com</change>
6661722Svbart@nginx.com
6671722Svbart@nginx.com<change type="feature">
6681722Svbart@nginx.com<para>
6691722Svbart@nginx.comoptional multithreaded request processing for Java, Python, Perl, and Ruby apps.
6701722Svbart@nginx.com</para>
6711722Svbart@nginx.com</change>
6721722Svbart@nginx.com
6731722Svbart@nginx.com<change type="feature">
6741722Svbart@nginx.com<para>
6751722Svbart@nginx.comregular expressions in route matching patterns.
6761722Svbart@nginx.com</para>
6771722Svbart@nginx.com</change>
6781722Svbart@nginx.com
6791722Svbart@nginx.com<change type="feature">
6801722Svbart@nginx.com<para>
6811722Svbart@nginx.comcompatibility with Python 3.9.
6821722Svbart@nginx.com</para>
6831722Svbart@nginx.com</change>
6841722Svbart@nginx.com
6851722Svbart@nginx.com<change type="feature">
6861722Svbart@nginx.com<para>
6871722Svbart@nginx.comthe Python module now supports ASGI 2.0 legacy applications.
6881722Svbart@nginx.com</para>
6891722Svbart@nginx.com</change>
6901722Svbart@nginx.com
6911722Svbart@nginx.com<change type="feature">
6921722Svbart@nginx.com<para>
6931722Svbart@nginx.comthe "protocol" option in Python applications aids choice between ASGI and WSGI.
6941722Svbart@nginx.com</para>
6951722Svbart@nginx.com</change>
6961722Svbart@nginx.com
6971722Svbart@nginx.com<change type="feature">
6981722Svbart@nginx.com<para>
6991722Svbart@nginx.comthe fastcgi_finish_request() PHP function that finalizes request processing and
7001722Svbart@nginx.comcontinues code execution without holding onto the client connection.
7011722Svbart@nginx.com</para>
7021722Svbart@nginx.com</change>
7031722Svbart@nginx.com
7041722Svbart@nginx.com<change type="feature">
7051722Svbart@nginx.com<para>
7061722Svbart@nginx.comthe "discard_unsafe_fields" HTTP option that enables discarding request header
7071722Svbart@nginx.comfields with irregular (but still valid) characters in the field name.
7081722Svbart@nginx.com</para>
7091722Svbart@nginx.com</change>
7101722Svbart@nginx.com
7111722Svbart@nginx.com<change type="feature">
7121722Svbart@nginx.com<para>
7131722Svbart@nginx.comthe "procfs" and "tmpfs" automount isolation options to disable automatic
7141722Svbart@nginx.commounting of eponymous filesystems.
7151722Svbart@nginx.com</para>
7161722Svbart@nginx.com</change>
7171722Svbart@nginx.com
7181722Svbart@nginx.com<change type="bugfix">
7191722Svbart@nginx.com<para>
7201722Svbart@nginx.comthe router process could crash when running Go applications under high load;
7211722Svbart@nginx.comthe bug had appeared in 1.19.0.
7221722Svbart@nginx.com</para>
7231722Svbart@nginx.com</change>
7241722Svbart@nginx.com
7251722Svbart@nginx.com<change type="bugfix">
7261722Svbart@nginx.com<para>
7271722Svbart@nginx.comsome language dependencies could remain mounted after using "rootfs" isolation.
7281722Svbart@nginx.com</para>
7291722Svbart@nginx.com</change>
7301722Svbart@nginx.com
7311722Svbart@nginx.com<change type="bugfix">
7321722Svbart@nginx.com<para>
7331722Svbart@nginx.comvarious compatibility issues in Java applications.
7341722Svbart@nginx.com</para>
7351722Svbart@nginx.com</change>
7361722Svbart@nginx.com
7371722Svbart@nginx.com<change type="bugfix">
7381722Svbart@nginx.com<para>
7391722Svbart@nginx.comthe Java module built with the musl C library couldn't run applications that
7401722Svbart@nginx.comuse "rootfs" isolation.
7411722Svbart@nginx.com</para>
7421722Svbart@nginx.com</change>
7431722Svbart@nginx.com
7441722Svbart@nginx.com</changes>
7451722Svbart@nginx.com
7461722Svbart@nginx.com
7471330Svbart@nginx.com<changes apply="unit-php
7481330Svbart@nginx.com                unit-python unit-python2.7
7491330Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
7501330Svbart@nginx.com                unit-python3.8
7511330Svbart@nginx.com                unit-go
7521330Svbart@nginx.com                unit-perl
7531330Svbart@nginx.com                unit-ruby
7541330Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
7551640Svbart@nginx.com         ver="1.20.0" rev="1"
7561640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
7571640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7581640Svbart@nginx.com
7591640Svbart@nginx.com<change>
7601640Svbart@nginx.com<para>
7611640Svbart@nginx.comNGINX Unit updated to 1.20.0.
7621640Svbart@nginx.com</para>
7631640Svbart@nginx.com</change>
7641640Svbart@nginx.com
7651640Svbart@nginx.com</changes>
7661640Svbart@nginx.com
7671640Svbart@nginx.com
7681640Svbart@nginx.com<changes apply="unit" ver="1.20.0" rev="1"
7691640Svbart@nginx.com         date="2020-10-08" time="18:00:00 +0300"
7701640Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
7711640Svbart@nginx.com
7721640Svbart@nginx.com<change type="change">
7731640Svbart@nginx.com<para>
7741640Svbart@nginx.comthe PHP module is now initialized before chrooting; this enables loading all
7751640Svbart@nginx.comextensions from the host system.
7761640Svbart@nginx.com</para>
7771640Svbart@nginx.com</change>
7781640Svbart@nginx.com
7791640Svbart@nginx.com<change type="change">
7801640Svbart@nginx.com<para>
7811640Svbart@nginx.comAVIF and APNG image formats added to the default MIME type list.
7821640Svbart@nginx.com</para>
7831640Svbart@nginx.com</change>
7841640Svbart@nginx.com
7851643Svbart@nginx.com<change type="change">
7861643Svbart@nginx.com<para>
7871643Svbart@nginx.comfunctional tests migrated to the pytest framework.
7881643Svbart@nginx.com</para>
7891643Svbart@nginx.com</change>
7901643Svbart@nginx.com
7911640Svbart@nginx.com<change type="feature">
7921640Svbart@nginx.com<para>
7931640Svbart@nginx.comthe Python module now fully supports applications that use the ASGI 3.0 server
7941640Svbart@nginx.cominterface.
7951640Svbart@nginx.com</para>
7961640Svbart@nginx.com</change>
7971640Svbart@nginx.com
7981640Svbart@nginx.com<change type="feature">
7991640Svbart@nginx.com<para>
8001640Svbart@nginx.comthe Python module now has a built-in WebSocket server implementation for
8011640Svbart@nginx.comapplications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
8021640Svbart@nginx.comspecification.
8031640Svbart@nginx.com</para>
8041640Svbart@nginx.com</change>
8051640Svbart@nginx.com
8061640Svbart@nginx.com<change type="feature">
8071640Svbart@nginx.com<para>
8081640Svbart@nginx.comautomatic mounting of an isolated "/tmp" file system into chrooted application
8091640Svbart@nginx.comenvironments.
8101640Svbart@nginx.com</para>
8111640Svbart@nginx.com</change>
8121640Svbart@nginx.com
8131640Svbart@nginx.com<change type="feature">
8141640Svbart@nginx.com<para>
8151640Svbart@nginx.comthe $host variable contains a normalized "Host" request value.
8161640Svbart@nginx.com</para>
8171640Svbart@nginx.com</change>
8181640Svbart@nginx.com
8191640Svbart@nginx.com<change type="feature">
8201640Svbart@nginx.com<para>
8211640Svbart@nginx.comthe "callable" option sets Python application callable names.
8221640Svbart@nginx.com</para>
8231640Svbart@nginx.com</change>
8241640Svbart@nginx.com
8251640Svbart@nginx.com<change type="feature">
8261640Svbart@nginx.com<para>
8271640Svbart@nginx.comcompatibility with PHP 8 RC 1. Thanks to Remi Collet.
8281640Svbart@nginx.com</para>
8291640Svbart@nginx.com</change>
8301640Svbart@nginx.com
8311640Svbart@nginx.com<change type="feature">
8321640Svbart@nginx.com<para>
8331640Svbart@nginx.comthe "automount" option in the "isolation" object allows to turn off the
8341640Svbart@nginx.comautomatic mounting of language module dependencies.
8351640Svbart@nginx.com</para>
8361640Svbart@nginx.com</change>
8371640Svbart@nginx.com
8381640Svbart@nginx.com<change type="bugfix">
8391640Svbart@nginx.com<para>
8401640Svbart@nginx.com"pass"-ing requests to upstreams from a route was broken; the bug had appeared
8411640Svbart@nginx.comin 1.19.0.  Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
8421640Svbart@nginx.com</para>
8431640Svbart@nginx.com</change>
8441640Svbart@nginx.com
8451640Svbart@nginx.com<change type="bugfix">
8461640Svbart@nginx.com<para>
8471640Svbart@nginx.comthe router process could crash during reconfiguration.
8481640Svbart@nginx.com</para>
8491640Svbart@nginx.com</change>
8501640Svbart@nginx.com
8511640Svbart@nginx.com<change type="bugfix">
8521640Svbart@nginx.com<para>
8531640Svbart@nginx.coma memory leak occurring in the router process; the bug had appeared in 1.18.0.
8541640Svbart@nginx.com</para>
8551640Svbart@nginx.com</change>
8561640Svbart@nginx.com
8571640Svbart@nginx.com<change type="bugfix">
8581640Svbart@nginx.com<para>
8591640Svbart@nginx.comthe "!" (non-empty) pattern was matched incorrectly;
8601640Svbart@nginx.comthe bug had appeared in 1.19.0.
8611640Svbart@nginx.com</para>
8621640Svbart@nginx.com</change>
8631640Svbart@nginx.com
8641640Svbart@nginx.com<change type="bugfix">
8651640Svbart@nginx.com<para>
8661640Svbart@nginx.comfixed building on platforms without sendfile() support, notably NetBSD;
8671640Svbart@nginx.comthe bug had appeared in 1.16.0.
8681640Svbart@nginx.com</para>
8691640Svbart@nginx.com</change>
8701640Svbart@nginx.com
8711640Svbart@nginx.com</changes>
8721640Svbart@nginx.com
8731640Svbart@nginx.com
8741640Svbart@nginx.com<changes apply="unit-php
8751640Svbart@nginx.com                unit-python unit-python2.7
8761640Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
8771640Svbart@nginx.com                unit-python3.8
8781640Svbart@nginx.com                unit-go
8791640Svbart@nginx.com                unit-perl
8801640Svbart@nginx.com                unit-ruby
8811640Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
8821570Svbart@nginx.com         ver="1.19.0" rev="1"
8831570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
8841570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8851570Svbart@nginx.com
8861570Svbart@nginx.com<change>
8871570Svbart@nginx.com<para>
8881570Svbart@nginx.comNGINX Unit updated to 1.19.0.
8891570Svbart@nginx.com</para>
8901570Svbart@nginx.com</change>
8911570Svbart@nginx.com
8921570Svbart@nginx.com</changes>
8931570Svbart@nginx.com
8941570Svbart@nginx.com
8951570Svbart@nginx.com<changes apply="unit" ver="1.19.0" rev="1"
8961570Svbart@nginx.com         date="2020-08-13" time="18:00:00 +0300"
8971570Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
8981570Svbart@nginx.com
8991570Svbart@nginx.com<change type="feature">
9001570Svbart@nginx.com<para>
9011570Svbart@nginx.comreworked IPC between the router process and the applications to lower latencies,
9021570Svbart@nginx.comincrease performance, and improve scalability.
9031570Svbart@nginx.com</para>
9041570Svbart@nginx.com</change>
9051570Svbart@nginx.com
9061570Svbart@nginx.com<change type="feature">
9071570Svbart@nginx.com<para>
9081570Svbart@nginx.comsupport for an arbitrary number of wildcards in route matching patterns.
9091570Svbart@nginx.com</para>
9101570Svbart@nginx.com</change>
9111570Svbart@nginx.com
9121570Svbart@nginx.com<change type="feature">
9131570Svbart@nginx.com<para>
9141570Svbart@nginx.comchunked transfer encoding in proxy responses.
9151570Svbart@nginx.com</para>
9161570Svbart@nginx.com</change>
9171570Svbart@nginx.com
9181570Svbart@nginx.com<change type="feature">
9191570Svbart@nginx.com<para>
9201570Svbart@nginx.combasic variables support in the "pass" option.
9211570Svbart@nginx.com</para>
9221570Svbart@nginx.com</change>
9231570Svbart@nginx.com
9241570Svbart@nginx.com<change type="feature">
9251570Svbart@nginx.com<para>
9261570Svbart@nginx.comcompatibility with PHP 8 Beta 1.
9271570Svbart@nginx.comThanks to Remi Collet.
9281570Svbart@nginx.com</para>
9291570Svbart@nginx.com</change>
9301570Svbart@nginx.com
9311570Svbart@nginx.com<change type="bugfix">
9321570Svbart@nginx.com<para>
9331570Svbart@nginx.comthe router process could crash while passing requests to an application under
9341570Svbart@nginx.comhigh load.
9351570Svbart@nginx.com</para>
9361570Svbart@nginx.com</change>
9371570Svbart@nginx.com
9381570Svbart@nginx.com<change type="bugfix">
9391570Svbart@nginx.com<para>
9401570Svbart@nginx.coma number of language modules failed to build on some systems;
9411570Svbart@nginx.comthe bug had appeared in 1.18.0.
9421570Svbart@nginx.com</para>
9431570Svbart@nginx.com</change>
9441570Svbart@nginx.com
9451570Svbart@nginx.com<change type="bugfix">
9461570Svbart@nginx.com<para>
9471570Svbart@nginx.comtime in error log messages from PHP applications could lag.
9481570Svbart@nginx.com</para>
9491570Svbart@nginx.com</change>
9501570Svbart@nginx.com
9511570Svbart@nginx.com<change type="bugfix">
9521570Svbart@nginx.com<para>
9531570Svbart@nginx.comreconfiguration requests could hang if an application had failed to start;
9541570Svbart@nginx.comthe bug had appeared in 1.18.0.
9551570Svbart@nginx.com</para>
9561570Svbart@nginx.com</change>
9571570Svbart@nginx.com
9581570Svbart@nginx.com<change type="bugfix">
9591570Svbart@nginx.com<para>
9601570Svbart@nginx.commemory leak during reconfiguration.
9611570Svbart@nginx.com</para>
9621570Svbart@nginx.com</change>
9631570Svbart@nginx.com
9641570Svbart@nginx.com<change type="bugfix">
9651570Svbart@nginx.com<para>
9661570Svbart@nginx.comthe daemon didn't start without language modules;
9671570Svbart@nginx.comthe bug had appeared in 1.18.0.
9681570Svbart@nginx.com</para>
9691570Svbart@nginx.com</change>
9701570Svbart@nginx.com
9711570Svbart@nginx.com<change type="bugfix">
9721570Svbart@nginx.com<para>
9731570Svbart@nginx.comthe router process could crash at exit.
9741570Svbart@nginx.com</para>
9751570Svbart@nginx.com</change>
9761570Svbart@nginx.com
9771570Svbart@nginx.com<change type="bugfix">
9781570Svbart@nginx.com<para>
9791570Svbart@nginx.comNode.js applications could crash at exit.
9801570Svbart@nginx.com</para>
9811570Svbart@nginx.com</change>
9821570Svbart@nginx.com
9831570Svbart@nginx.com<change type="bugfix">
9841570Svbart@nginx.com<para>
9851570Svbart@nginx.comthe Ruby module could be linked against a wrong library version.
9861570Svbart@nginx.com</para>
9871570Svbart@nginx.com</change>
9881570Svbart@nginx.com
9891570Svbart@nginx.com</changes>
9901570Svbart@nginx.com
9911570Svbart@nginx.com
9921570Svbart@nginx.com<changes apply="unit-php
9931570Svbart@nginx.com                unit-python unit-python2.7
9941570Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
9951570Svbart@nginx.com                unit-python3.8
9961570Svbart@nginx.com                unit-go
9971570Svbart@nginx.com                unit-perl
9981570Svbart@nginx.com                unit-ruby
9991570Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10001491Svbart@nginx.com         ver="1.18.0" rev="1"
10011491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
10021491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10031491Svbart@nginx.com
10041491Svbart@nginx.com<change>
10051491Svbart@nginx.com<para>
10061491Svbart@nginx.comNGINX Unit updated to 1.18.0.
10071491Svbart@nginx.com</para>
10081491Svbart@nginx.com</change>
10091491Svbart@nginx.com
10101491Svbart@nginx.com</changes>
10111491Svbart@nginx.com
10121491Svbart@nginx.com
10131491Svbart@nginx.com<changes apply="unit" ver="1.18.0" rev="1"
10141491Svbart@nginx.com         date="2020-05-28" time="18:00:00 +0300"
10151491Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10161491Svbart@nginx.com
10171491Svbart@nginx.com<change type="feature">
10181491Svbart@nginx.com<para>
10191491Svbart@nginx.comthe "rootfs" isolation option for changing root filesystem for an application.
10201491Svbart@nginx.com</para>
10211491Svbart@nginx.com</change>
10221491Svbart@nginx.com
10231491Svbart@nginx.com<change type="feature">
10241491Svbart@nginx.com<para>
10251491Svbart@nginx.commultiple "targets" in PHP applications.
10261491Svbart@nginx.com</para>
10271491Svbart@nginx.com</change>
10281491Svbart@nginx.com
10291491Svbart@nginx.com<change type="feature">
10301491Svbart@nginx.com<para>
10311491Svbart@nginx.comsupport for percent-encoding in the "uri" and "arguments" matching options
10321491Svbart@nginx.comand in the "pass" option.
10331491Svbart@nginx.com</para>
10341491Svbart@nginx.com</change>
10351491Svbart@nginx.com
10361491Svbart@nginx.com</changes>
10371491Svbart@nginx.com
10381491Svbart@nginx.com
10391491Svbart@nginx.com<changes apply="unit-php
10401491Svbart@nginx.com                unit-python unit-python2.7
10411491Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
10421491Svbart@nginx.com                unit-python3.8
10431491Svbart@nginx.com                unit-go
10441491Svbart@nginx.com                unit-perl
10451491Svbart@nginx.com                unit-ruby
10461491Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
10471460Svbart@nginx.com         ver="1.17.0" rev="1"
10481460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
10491460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10501460Svbart@nginx.com
10511460Svbart@nginx.com<change>
10521460Svbart@nginx.com<para>
10531460Svbart@nginx.comNGINX Unit updated to 1.17.0.
10541460Svbart@nginx.com</para>
10551460Svbart@nginx.com</change>
10561460Svbart@nginx.com
10571460Svbart@nginx.com</changes>
10581460Svbart@nginx.com
10591460Svbart@nginx.com
10601460Svbart@nginx.com<changes apply="unit" ver="1.17.0" rev="1"
10611460Svbart@nginx.com         date="2020-04-16" time="18:00:00 +0300"
10621460Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
10631460Svbart@nginx.com
10641460Svbart@nginx.com<change type="feature">
10651460Svbart@nginx.com<para>
10661460Svbart@nginx.coma "return" action with optional "location" for immediate responses and external
10671460Svbart@nginx.comredirection.
10681460Svbart@nginx.com</para>
10691460Svbart@nginx.com</change>
10701460Svbart@nginx.com
10711460Svbart@nginx.com<change type="feature">
10721460Svbart@nginx.com<para>
10731460Svbart@nginx.comfractional weights support for upstream servers.
10741460Svbart@nginx.com</para>
10751460Svbart@nginx.com</change>
10761460Svbart@nginx.com
10771460Svbart@nginx.com<change type="bugfix">
10781460Svbart@nginx.com<para>
10791460Svbart@nginx.comaccidental 502 "Bad Gateway" errors might have occurred in applications under
10801460Svbart@nginx.comhigh load.
10811460Svbart@nginx.com</para>
10821460Svbart@nginx.com</change>
10831460Svbart@nginx.com
10841460Svbart@nginx.com<change type="bugfix">
10851460Svbart@nginx.com<para>
10861460Svbart@nginx.commemory leak in the router; the bug had appeared in 1.13.0.
10871460Svbart@nginx.com</para>
10881460Svbart@nginx.com</change>
10891460Svbart@nginx.com
10901460Svbart@nginx.com<change type="bugfix">
10911460Svbart@nginx.com<para>
10921460Svbart@nginx.comsegmentation fault might have occurred in the router process when reaching
10931460Svbart@nginx.comopen connections limit.
10941460Svbart@nginx.com</para>
10951460Svbart@nginx.com</change>
10961460Svbart@nginx.com
10971460Svbart@nginx.com<change type="bugfix">
10981460Svbart@nginx.com<para>
10991460Svbart@nginx.com"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
11001460Svbart@nginx.comwhile processing large request bodies; the bug had appeared in 1.16.0.
11011460Svbart@nginx.com</para>
11021460Svbart@nginx.com</change>
11031460Svbart@nginx.com
11041460Svbart@nginx.com<change type="bugfix">
11051460Svbart@nginx.com<para>
11061460Svbart@nginx.comexisting application processes didn't reopen the log file.
11071460Svbart@nginx.com</para>
11081460Svbart@nginx.com</change>
11091460Svbart@nginx.com
11101460Svbart@nginx.com<change type="bugfix">
11111460Svbart@nginx.com<para>
11121460Svbart@nginx.comincompatibility with some Node.js applications.
11131460Svbart@nginx.com</para>
11141460Svbart@nginx.com</change>
11151460Svbart@nginx.com
11161460Svbart@nginx.com<change type="bugfix">
11171460Svbart@nginx.com<para>
11181460Svbart@nginx.combroken build on DragonFly BSD; the bug had appeared in 1.16.0.
11191460Svbart@nginx.com</para>
11201460Svbart@nginx.com</change>
11211460Svbart@nginx.com
11221460Svbart@nginx.com</changes>
11231460Svbart@nginx.com
11241460Svbart@nginx.com
11251460Svbart@nginx.com<changes apply="unit-php
11261460Svbart@nginx.com                unit-python unit-python2.7
11271460Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
11281460Svbart@nginx.com                unit-python3.8
11291460Svbart@nginx.com                unit-go
11301460Svbart@nginx.com                unit-perl
11311460Svbart@nginx.com                unit-ruby
11321460Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
11331404Svbart@nginx.com         ver="1.16.0" rev="1"
11341404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
11351404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11361404Svbart@nginx.com
11371404Svbart@nginx.com<change>
11381404Svbart@nginx.com<para>
11391404Svbart@nginx.comNGINX Unit updated to 1.16.0.
11401404Svbart@nginx.com</para>
11411404Svbart@nginx.com</change>
11421404Svbart@nginx.com
11431404Svbart@nginx.com</changes>
11441404Svbart@nginx.com
11451404Svbart@nginx.com
11461404Svbart@nginx.com<changes apply="unit" ver="1.16.0" rev="1"
11471404Svbart@nginx.com         date="2020-03-12" time="18:00:00 +0300"
11481404Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
11491404Svbart@nginx.com
11501404Svbart@nginx.com<change type="feature">
11511404Svbart@nginx.com<para>
11521404Svbart@nginx.combasic load-balancing support with round-robin.
11531404Svbart@nginx.com</para>
11541404Svbart@nginx.com</change>
11551404Svbart@nginx.com
11561404Svbart@nginx.com<change type="feature">
11571404Svbart@nginx.com<para>
11581404Svbart@nginx.coma "fallback" option that performs an alternative action if a request can't be
11591404Svbart@nginx.comserved from the "share" directory.
11601404Svbart@nginx.com</para>
11611404Svbart@nginx.com</change>
11621404Svbart@nginx.com
11631404Svbart@nginx.com<change type="feature">
11641404Svbart@nginx.com<para>
11651404Svbart@nginx.comreduced memory consumption by dumping large request bodies to disk.
11661404Svbart@nginx.com</para>
11671404Svbart@nginx.com</change>
11681404Svbart@nginx.com
11691404Svbart@nginx.com<change type="feature">
11701404Svbart@nginx.com<para>
11711404Svbart@nginx.comstripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
11721404Svbart@nginx.com</para>
11731404Svbart@nginx.com</change>
11741404Svbart@nginx.com
11751404Svbart@nginx.com<change type="bugfix">
11761404Svbart@nginx.com<para>
11771404Svbart@nginx.comnegative address matching in router might work improperly in combination with
11781404Svbart@nginx.comnon-negative patterns.
11791404Svbart@nginx.com</para>
11801404Svbart@nginx.com</change>
11811404Svbart@nginx.com
11821404Svbart@nginx.com<change type="bugfix">
11831404Svbart@nginx.com<para>
11841404Svbart@nginx.comJava Spring applications failed to run; the bug had appeared in 1.10.0.
11851404Svbart@nginx.com</para>
11861404Svbart@nginx.com</change>
11871404Svbart@nginx.com
11881404Svbart@nginx.com<change type="bugfix">
11891404Svbart@nginx.com<para>
11901404Svbart@nginx.comPHP 7.4 was broken if it was built with thread safety enabled.
11911404Svbart@nginx.com</para>
11921404Svbart@nginx.com</change>
11931404Svbart@nginx.com
11941404Svbart@nginx.com<change type="bugfix">
11951404Svbart@nginx.com<para>
11961404Svbart@nginx.comcompatibility issues with some Python applications.
11971404Svbart@nginx.com</para>
11981404Svbart@nginx.com</change>
11991404Svbart@nginx.com
12001404Svbart@nginx.com</changes>
12011404Svbart@nginx.com
12021404Svbart@nginx.com
12031404Svbart@nginx.com<changes apply="unit-php
12041404Svbart@nginx.com                unit-python unit-python2.7
12051404Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12061404Svbart@nginx.com                unit-python3.8
12071404Svbart@nginx.com                unit-go
12081404Svbart@nginx.com                unit-perl
12091404Svbart@nginx.com                unit-ruby
12101404Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12111357Svbart@nginx.com         ver="1.15.0" rev="1"
12121357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
12131357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12141357Svbart@nginx.com
12151357Svbart@nginx.com<change>
12161357Svbart@nginx.com<para>
12171357Svbart@nginx.comNGINX Unit updated to 1.15.0.
12181357Svbart@nginx.com</para>
12191357Svbart@nginx.com</change>
12201357Svbart@nginx.com
12211357Svbart@nginx.com</changes>
12221357Svbart@nginx.com
12231357Svbart@nginx.com
12241357Svbart@nginx.com<changes apply="unit" ver="1.15.0" rev="1"
12251357Svbart@nginx.com         date="2020-02-06" time="18:00:00 +0300"
12261357Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12271357Svbart@nginx.com
12281357Svbart@nginx.com<change type="change">
12291357Svbart@nginx.com<para>
12301357Svbart@nginx.comextensions of dynamically requested PHP scripts were restricted to ".php".
12311357Svbart@nginx.com</para>
12321357Svbart@nginx.com</change>
12331357Svbart@nginx.com
12341357Svbart@nginx.com<change type="feature">
12351357Svbart@nginx.com<para>
12361357Svbart@nginx.comcompatibility with Ruby 2.7.
12371357Svbart@nginx.com</para>
12381357Svbart@nginx.com</change>
12391357Svbart@nginx.com
12401357Svbart@nginx.com<change type="bugfix">
12411357Svbart@nginx.com<para>
12421357Svbart@nginx.comsegmentation fault might have occurred in the router process with multiple
12431357Svbart@nginx.comapplication processes under load; the bug had appeared in 1.14.0.
12441357Svbart@nginx.com</para>
12451357Svbart@nginx.com</change>
12461357Svbart@nginx.com
12471357Svbart@nginx.com<change type="bugfix">
12481357Svbart@nginx.com<para>
12491357Svbart@nginx.comreceiving request body over TLS connection might have stalled.
12501357Svbart@nginx.com</para>
12511357Svbart@nginx.com</change>
12521357Svbart@nginx.com
12531357Svbart@nginx.com</changes>
12541357Svbart@nginx.com
12551357Svbart@nginx.com
12561357Svbart@nginx.com<changes apply="unit-php
12571357Svbart@nginx.com                unit-python unit-python2.7
12581357Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
12591357Svbart@nginx.com                unit-python3.8
12601357Svbart@nginx.com                unit-go
12611357Svbart@nginx.com                unit-perl
12621357Svbart@nginx.com                unit-ruby
12631357Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
12641330Svbart@nginx.com         ver="1.14.0" rev="1"
12651330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
12661330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12671330Svbart@nginx.com
12681330Svbart@nginx.com<change>
12691330Svbart@nginx.com<para>
12701330Svbart@nginx.comNGINX Unit updated to 1.14.0.
12711330Svbart@nginx.com</para>
12721330Svbart@nginx.com</change>
12731330Svbart@nginx.com
12741330Svbart@nginx.com</changes>
12751330Svbart@nginx.com
12761330Svbart@nginx.com
12771330Svbart@nginx.com<changes apply="unit" ver="1.14.0" rev="1"
12781330Svbart@nginx.com         date="2019-12-26" time="18:00:00 +0300"
12791330Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
12801330Svbart@nginx.com
12811330Svbart@nginx.com<change type="change">
12821330Svbart@nginx.com<para>
12831330Svbart@nginx.comthe Go package import name changed to "unit.nginx.org/go".
12841330Svbart@nginx.com</para>
12851330Svbart@nginx.com</change>
12861330Svbart@nginx.com
12871330Svbart@nginx.com<change type="change">
12881330Svbart@nginx.com<para>
12891330Svbart@nginx.comGo package now links to libunit instead of including library sources.
12901330Svbart@nginx.com</para>
12911330Svbart@nginx.com</change>
12921330Svbart@nginx.com
12931330Svbart@nginx.com<change type="feature">
12941330Svbart@nginx.com<para>
12951330Svbart@nginx.comability to change user and group for isolated applications when Unit daemon
12961330Svbart@nginx.comruns as an unprivileged user.
12971330Svbart@nginx.com</para>
12981330Svbart@nginx.com</change>
12991330Svbart@nginx.com
13001330Svbart@nginx.com<change type="feature">
13011330Svbart@nginx.com<para>
13021330Svbart@nginx.comrequest routing by source and destination addresses and ports.
13031330Svbart@nginx.com</para>
13041330Svbart@nginx.com</change>
13051330Svbart@nginx.com
13061330Svbart@nginx.com<change type="bugfix">
13071330Svbart@nginx.com<para>
13081330Svbart@nginx.commemory bloat on large responses.
13091330Svbart@nginx.com</para>
13101330Svbart@nginx.com</change>
13111330Svbart@nginx.com
13121330Svbart@nginx.com</changes>
13131330Svbart@nginx.com
13141330Svbart@nginx.com
13151290Sdefan@nginx.com<changes apply="unit-go1.13" ver="1.13.0" rev="1"
13161290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
13171290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13181290Sdefan@nginx.com
13191290Sdefan@nginx.com<change>
13201290Sdefan@nginx.com<para>
13211290Sdefan@nginx.comInitial release of Go 1.13 module for NGINX Unit.
13221290Sdefan@nginx.com</para>
13231290Sdefan@nginx.com</change>
13241290Sdefan@nginx.com
13251290Sdefan@nginx.com</changes>
13261290Sdefan@nginx.com
13271290Sdefan@nginx.com
13281290Sdefan@nginx.com<changes apply="unit-go1.12" ver="1.13.0" rev="1"
13291290Sdefan@nginx.com         date="2019-11-20" time="09:00:00 +0300"
13301290Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13311290Sdefan@nginx.com
13321290Sdefan@nginx.com<change>
13331290Sdefan@nginx.com<para>
13341290Sdefan@nginx.comInitial release of Go 1.12 module for NGINX Unit.
13351290Sdefan@nginx.com</para>
13361290Sdefan@nginx.com</change>
13371290Sdefan@nginx.com
13381290Sdefan@nginx.com</changes>
13391290Sdefan@nginx.com
13401290Sdefan@nginx.com
13411289Sdefan@nginx.com<changes apply="unit-python3.8" ver="1.13.0" rev="1"
13421289Sdefan@nginx.com         date="2019-11-18" time="14:20:00 +0300"
13431289Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13441289Sdefan@nginx.com
13451289Sdefan@nginx.com<change>
13461289Sdefan@nginx.com<para>
13471289Sdefan@nginx.comInitial release of Python 3.8 module for NGINX Unit.
13481289Sdefan@nginx.com</para>
13491289Sdefan@nginx.com</change>
13501289Sdefan@nginx.com
13511289Sdefan@nginx.com</changes>
13521289Sdefan@nginx.com
13531289Sdefan@nginx.com
13541185Svbart@nginx.com<changes apply="unit-php
13551185Svbart@nginx.com                unit-python unit-python2.7
13561185Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
13571185Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
13581185Svbart@nginx.com                unit-perl
13591185Svbart@nginx.com                unit-ruby
13601185Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
13611284Svbart@nginx.com         ver="1.13.0" rev="1"
13621284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
13631284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13641284Svbart@nginx.com
13651284Svbart@nginx.com<change>
13661284Svbart@nginx.com<para>
13671284Svbart@nginx.comNGINX Unit updated to 1.13.0.
13681284Svbart@nginx.com</para>
13691284Svbart@nginx.com</change>
13701284Svbart@nginx.com
13711284Svbart@nginx.com</changes>
13721284Svbart@nginx.com
13731284Svbart@nginx.com
13741284Svbart@nginx.com<changes apply="unit" ver="1.13.0" rev="1"
13751284Svbart@nginx.com         date="2019-11-14" time="18:00:00 +0300"
13761284Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
13771284Svbart@nginx.com
13781284Svbart@nginx.com<change type="feature">
13791284Svbart@nginx.com<para>
13801284Svbart@nginx.combasic support for HTTP reverse proxying.
13811284Svbart@nginx.com</para>
13821284Svbart@nginx.com</change>
13831284Svbart@nginx.com
13841284Svbart@nginx.com<change type="feature">
13851284Svbart@nginx.com<para>
13861284Svbart@nginx.comcompatibility with Python 3.8.
13871284Svbart@nginx.com</para>
13881284Svbart@nginx.com</change>
13891284Svbart@nginx.com
13901284Svbart@nginx.com<change type="bugfix">
13911284Svbart@nginx.com<para>
13921284Svbart@nginx.commemory leak in Python application processes when the close handler was used.
13931284Svbart@nginx.com</para>
13941284Svbart@nginx.com</change>
13951284Svbart@nginx.com
13961284Svbart@nginx.com<change type="bugfix">
13971284Svbart@nginx.com<para>
13981284Svbart@nginx.comthreads in Python applications might not work correctly.
13991284Svbart@nginx.com</para>
14001284Svbart@nginx.com</change>
14011284Svbart@nginx.com
14021284Svbart@nginx.com<change type="bugfix">
14031284Svbart@nginx.com<para>
14041284Svbart@nginx.comRuby on Rails applications might not work on Ruby 2.6.
14051284Svbart@nginx.com</para>
14061284Svbart@nginx.com</change>
14071284Svbart@nginx.com
14081284Svbart@nginx.com<change type="bugfix">
14091284Svbart@nginx.com<para>
14101284Svbart@nginx.combacktraces for uncaught exceptions in Python 3 might be logged with significant
14111284Svbart@nginx.comdelays.
14121284Svbart@nginx.com</para>
14131284Svbart@nginx.com</change>
14141284Svbart@nginx.com
14151284Svbart@nginx.com<change type="bugfix">
14161284Svbart@nginx.com<para>
14171284Svbart@nginx.comexplicit setting a namespaces isolation option to false might have enabled it.
14181284Svbart@nginx.com</para>
14191284Svbart@nginx.com</change>
14201284Svbart@nginx.com
14211284Svbart@nginx.com</changes>
14221284Svbart@nginx.com
14231284Svbart@nginx.com
14241284Svbart@nginx.com<changes apply="unit-php
14251284Svbart@nginx.com                unit-python unit-python2.7
14261284Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
14271284Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
14281284Svbart@nginx.com                unit-perl
14291284Svbart@nginx.com                unit-ruby
14301284Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
14311222Svbart@nginx.com         ver="1.12.0" rev="1"
14321222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
14331222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
14341222Svbart@nginx.com
14351222Svbart@nginx.com<change>
14361222Svbart@nginx.com<para>
14371222Svbart@nginx.comNGINX Unit updated to 1.12.0.
14381222Svbart@nginx.com</para>
14391222Svbart@nginx.com</change>
14401222Svbart@nginx.com
14411222Svbart@nginx.com</changes>
14421222Svbart@nginx.com
14431222Svbart@nginx.com
14441222Svbart@nginx.com<changes apply="unit" ver="1.12.0" rev="1"
14451222Svbart@nginx.com         date="2019-10-03" time="18:00:00 +0300"
14461222Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
14471222Svbart@nginx.com
14481222Svbart@nginx.com<change type="feature">
14491222Svbart@nginx.com<para>
14501222Svbart@nginx.comcompatibility with PHP 7.4.
14511222Svbart@nginx.com</para>
14521222Svbart@nginx.com</change>
14531222Svbart@nginx.com
14541222Svbart@nginx.com<change type="bugfix">
14551222Svbart@nginx.com<para>
14561222Svbart@nginx.comdescriptors leak on process creation; the bug had appeared in 1.11.0.
14571222Svbart@nginx.com</para>
14581222Svbart@nginx.com</change>
14591222Svbart@nginx.com
14601222Svbart@nginx.com<change type="bugfix">
14611222Svbart@nginx.com<para>
14621222Svbart@nginx.comTLS connection might be closed prematurely while sending response.
14631222Svbart@nginx.com</para>
14641222Svbart@nginx.com</change>
14651222Svbart@nginx.com
14661222Svbart@nginx.com<change type="bugfix">
14671222Svbart@nginx.com<para>
14681222Svbart@nginx.comsegmentation fault might have occurred if an irregular file was requested.
14691222Svbart@nginx.com</para>
14701222Svbart@nginx.com</change>
14711222Svbart@nginx.com
14721222Svbart@nginx.com</changes>
14731222Svbart@nginx.com
14741222Svbart@nginx.com
14751222Svbart@nginx.com
14761222Svbart@nginx.com<changes apply="unit-php
14771222Svbart@nginx.com                unit-python unit-python2.7
14781222Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
14791222Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
14801222Svbart@nginx.com                unit-perl
14811222Svbart@nginx.com                unit-ruby
14821222Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
14831185Svbart@nginx.com         ver="1.11.0" rev="1"
14841185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
14851185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
14861185Svbart@nginx.com
14871185Svbart@nginx.com<change>
14881185Svbart@nginx.com<para>
14891185Svbart@nginx.comNGINX Unit updated to 1.11.0.
14901185Svbart@nginx.com</para>
14911185Svbart@nginx.com</change>
14921185Svbart@nginx.com
14931185Svbart@nginx.com</changes>
14941185Svbart@nginx.com
14951185Svbart@nginx.com
14961185Svbart@nginx.com<changes apply="unit" ver="1.11.0" rev="1"
14971185Svbart@nginx.com         date="2019-09-19" time="18:00:00 +0300"
14981185Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
14991185Svbart@nginx.com
15001185Svbart@nginx.com<change type="feature">
15011185Svbart@nginx.com<para>
15021185Svbart@nginx.combasic support for serving static files.
15031185Svbart@nginx.com</para>
15041185Svbart@nginx.com</change>
15051185Svbart@nginx.com
15061185Svbart@nginx.com<change type="feature">
15071185Svbart@nginx.com<para>
15081185Svbart@nginx.comisolation of application processes with Linux namespaces.
15091185Svbart@nginx.com</para>
15101185Svbart@nginx.com</change>
15111185Svbart@nginx.com
15121185Svbart@nginx.com<change type="feature">
15131185Svbart@nginx.com<para>
15141185Svbart@nginx.combuilt-in WebSocket server implementation for Java Servlet Containers.
15151185Svbart@nginx.com</para>
15161185Svbart@nginx.com</change>
15171185Svbart@nginx.com
15181185Svbart@nginx.com<change type="feature">
15191185Svbart@nginx.com<para>
15201185Svbart@nginx.comdirect addressing of API configuration options containing slashes "/"
15211185Svbart@nginx.comusing URI encoding (%2F).
15221185Svbart@nginx.com</para>
15231185Svbart@nginx.com</change>
15241185Svbart@nginx.com
15251185Svbart@nginx.com<change type="bugfix">
15261185Svbart@nginx.com<para>
15271185Svbart@nginx.comsegmentation fault might have occurred in Go applications under high load.
15281185Svbart@nginx.com</para>
15291185Svbart@nginx.com</change>
15301185Svbart@nginx.com
15311185Svbart@nginx.com<change type="bugfix">
15321185Svbart@nginx.com<para>
15331185Svbart@nginx.comWebSocket support was broken if Unit was built with some linkers other than
15341185Svbart@nginx.comGNU ld (e.g. gold or LLD).
15351185Svbart@nginx.com</para>
15361185Svbart@nginx.com</change>
15371185Svbart@nginx.com
15381185Svbart@nginx.com</changes>
15391185Svbart@nginx.com
15401185Svbart@nginx.com
15411142Sdefan@nginx.com<changes apply="unit
15421142Sdefan@nginx.com                unit-php
15431142Sdefan@nginx.com                unit-python unit-python2.7
15441142Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
15451142Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
15461142Sdefan@nginx.com                unit-perl
15471142Sdefan@nginx.com                unit-ruby
15481142Sdefan@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
15491142Sdefan@nginx.com         ver="1.10.0" rev="2"
15501142Sdefan@nginx.com         date="2019-08-23" time="12:00:00 +0300"
15511142Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
15521142Sdefan@nginx.com
15531142Sdefan@nginx.com<change type="bugfix">
15541142Sdefan@nginx.com<para>
15551142Sdefan@nginx.commissed header files added to unit development package.
15561142Sdefan@nginx.com</para>
15571142Sdefan@nginx.com</change>
15581142Sdefan@nginx.com
15591142Sdefan@nginx.com</changes>
15601142Sdefan@nginx.com
15611142Sdefan@nginx.com
15621134Svbart@nginx.com<changes apply="unit-php
15631134Svbart@nginx.com                unit-python unit-python2.7
15641134Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
15651134Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
15661134Svbart@nginx.com                unit-perl
15671134Svbart@nginx.com                unit-ruby
15681134Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
15691134Svbart@nginx.com         ver="1.10.0" rev="1"
15701134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
15711134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
15721134Svbart@nginx.com
15731134Svbart@nginx.com<change>
15741134Svbart@nginx.com<para>
15751134Svbart@nginx.comNGINX Unit updated to 1.10.0.
15761134Svbart@nginx.com</para>
15771134Svbart@nginx.com</change>
15781134Svbart@nginx.com
15791134Svbart@nginx.com</changes>
15801134Svbart@nginx.com
15811134Svbart@nginx.com
15821134Svbart@nginx.com<changes apply="unit" ver="1.10.0" rev="1"
15831134Svbart@nginx.com         date="2019-08-22" time="18:00:00 +0300"
15841134Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
15851134Svbart@nginx.com
15861134Svbart@nginx.com<change type="change">
15871134Svbart@nginx.com<para>
15881134Svbart@nginx.commatching of cookies in routes made case sensitive.
15891134Svbart@nginx.com</para>
15901134Svbart@nginx.com</change>
15911134Svbart@nginx.com
15921134Svbart@nginx.com<change type="change">
15931134Svbart@nginx.com<para>
15941134Svbart@nginx.comdecreased log level of common errors when clients close connections.
15951134Svbart@nginx.com</para>
15961134Svbart@nginx.com</change>
15971134Svbart@nginx.com
15981134Svbart@nginx.com<change type="change">
15991134Svbart@nginx.com<para>
16001134Svbart@nginx.comremoved the Perl module's "--include=" ./configure option.
16011134Svbart@nginx.com</para>
16021134Svbart@nginx.com</change>
16031134Svbart@nginx.com
16041134Svbart@nginx.com<change type="feature">
16051134Svbart@nginx.com<para>
16061134Svbart@nginx.combuilt-in WebSocket server implementation for Node.js module.
16071134Svbart@nginx.com</para>
16081134Svbart@nginx.com</change>
16091134Svbart@nginx.com
16101134Svbart@nginx.com<change type="feature">
16111134Svbart@nginx.com<para>
16121134Svbart@nginx.comsplitting PATH_INFO from request URI in PHP module.
16131134Svbart@nginx.com</para>
16141134Svbart@nginx.com</change>
16151134Svbart@nginx.com
16161134Svbart@nginx.com<change type="feature">
16171134Svbart@nginx.com<para>
16181134Svbart@nginx.comrequest routing by scheme (HTTP or HTTPS).
16191134Svbart@nginx.com</para>
16201134Svbart@nginx.com</change>
16211134Svbart@nginx.com
16221134Svbart@nginx.com<change type="feature">
16231134Svbart@nginx.com<para>
16241134Svbart@nginx.comsupport for multipart requests body in Java module.
16251134Svbart@nginx.com</para>
16261134Svbart@nginx.com</change>
16271134Svbart@nginx.com
16281134Svbart@nginx.com<change type="feature">
16291134Svbart@nginx.com<para>
16301134Svbart@nginx.comimproved API compatibility with Node.js 11.10 or later.
16311134Svbart@nginx.com</para>
16321134Svbart@nginx.com</change>
16331134Svbart@nginx.com
16341134Svbart@nginx.com<change type="bugfix">
16351134Svbart@nginx.com<para>
16361134Svbart@nginx.comreconfiguration failed if "listeners" or "applications" objects were missing.
16371134Svbart@nginx.com</para>
16381134Svbart@nginx.com</change>
16391134Svbart@nginx.com
16401134Svbart@nginx.com<change type="bugfix">
16411134Svbart@nginx.com<para>
16421134Svbart@nginx.comapplying a large configuration might have failed.
16431134Svbart@nginx.com</para>
16441134Svbart@nginx.com</change>
16451134Svbart@nginx.com
16461134Svbart@nginx.com</changes>
16471134Svbart@nginx.com
16481134Svbart@nginx.com
16491069Svbart@nginx.com<changes apply="unit-go1.11" ver="1.9.0" rev="1"
16501069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
16511069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
16521069Svbart@nginx.com
16531069Svbart@nginx.com<change>
16541069Svbart@nginx.com<para>
16551069Svbart@nginx.comInitial release of Go 1.11 module for NGINX Unit.
16561069Svbart@nginx.com</para>
16571069Svbart@nginx.com</change>
16581069Svbart@nginx.com
16591069Svbart@nginx.com</changes>
16601069Svbart@nginx.com
16611069Svbart@nginx.com
16621069Svbart@nginx.com<changes apply="unit-php
16631069Svbart@nginx.com                unit-python unit-python2.7
16641069Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
16651069Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
16661069Svbart@nginx.com                unit-perl
16671069Svbart@nginx.com                unit-ruby
16681069Svbart@nginx.com                unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
16691069Svbart@nginx.com         ver="1.9.0" rev="1"
16701069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
16711069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
16721069Svbart@nginx.com
16731069Svbart@nginx.com<change>
16741069Svbart@nginx.com<para>
16751069Svbart@nginx.comNGINX Unit updated to 1.9.0.
16761069Svbart@nginx.com</para>
16771069Svbart@nginx.com</change>
16781069Svbart@nginx.com
16791069Svbart@nginx.com</changes>
16801069Svbart@nginx.com
16811069Svbart@nginx.com
16821069Svbart@nginx.com<changes apply="unit" ver="1.9.0" rev="1"
16831069Svbart@nginx.com         date="2019-05-30" time="18:00:00 +0300"
16841069Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
16851069Svbart@nginx.com
16861069Svbart@nginx.com<change type="feature">
16871069Svbart@nginx.com<para>
16881069Svbart@nginx.comrequest routing by arguments, headers, and cookies.
16891069Svbart@nginx.com</para>
16901069Svbart@nginx.com</change>
16911069Svbart@nginx.com
16921069Svbart@nginx.com<change type="feature">
16931069Svbart@nginx.com<para>
16941069Svbart@nginx.comroute matching patterns allow a wildcard in the middle.
16951069Svbart@nginx.com</para>
16961069Svbart@nginx.com</change>
16971069Svbart@nginx.com
16981069Svbart@nginx.com<change type="feature">
16991069Svbart@nginx.com<para>
17001069Svbart@nginx.comPOST operation for appending elements to arrays in configuration.
17011069Svbart@nginx.com</para>
17021069Svbart@nginx.com</change>
17031069Svbart@nginx.com
17041069Svbart@nginx.com<change type="feature">
17051069Svbart@nginx.com<para>
17061069Svbart@nginx.comsupport for changing credentials using CAP_SETUID and CAP_SETGID capabilities
17071069Svbart@nginx.comon Linux without running main process as privileged user.
17081069Svbart@nginx.com</para>
17091069Svbart@nginx.com</change>
17101069Svbart@nginx.com
17111069Svbart@nginx.com<change type="bugfix">
17121069Svbart@nginx.com<para>
17131069Svbart@nginx.commemory leak in the router process might have happened when a client
17141069Svbart@nginx.comprematurely closed the connection.
17151069Svbart@nginx.com</para>
17161069Svbart@nginx.com</change>
17171069Svbart@nginx.com
17181069Svbart@nginx.com<change type="bugfix">
17191069Svbart@nginx.com<para>
17201069Svbart@nginx.comapplying a large configuration might have failed.
17211069Svbart@nginx.com</para>
17221069Svbart@nginx.com</change>
17231069Svbart@nginx.com
17241069Svbart@nginx.com<change type="bugfix">
17251069Svbart@nginx.com<para>
17261069Svbart@nginx.comPUT and DELETE operations on array elements in configuration did not work.
17271069Svbart@nginx.com</para>
17281069Svbart@nginx.com</change>
17291069Svbart@nginx.com
17301069Svbart@nginx.com<change type="bugfix">
17311069Svbart@nginx.com<para>
17321069Svbart@nginx.comrequest schema in applications did not reflect TLS connections.
17331069Svbart@nginx.com</para>
17341069Svbart@nginx.com</change>
17351069Svbart@nginx.com
17361069Svbart@nginx.com<change type="bugfix">
17371069Svbart@nginx.com<para>
17381069Svbart@nginx.comrestored compatibility with Node.js applications that use
17391069Svbart@nginx.comServerResponse._implicitHeader() function; the bug had appeared in 1.7.
17401069Svbart@nginx.com</para>
17411069Svbart@nginx.com</change>
17421069Svbart@nginx.com
17431069Svbart@nginx.com<change type="bugfix">
17441069Svbart@nginx.com<para>
17451069Svbart@nginx.comvarious compatibility issues with Node.js applications.
17461069Svbart@nginx.com</para>
17471069Svbart@nginx.com</change>
17481069Svbart@nginx.com
17491069Svbart@nginx.com</changes>
17501069Svbart@nginx.com
17511069Svbart@nginx.com
1752991Svbart@nginx.com<changes apply="unit-jsc-common" ver="1.8.0" rev="1"
1753991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1754991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1755991Svbart@nginx.com
1756991Svbart@nginx.com<change>
1757991Svbart@nginx.com<para>
1758991Svbart@nginx.comInitial release of Java common packages for NGINX Unit.
1759991Svbart@nginx.com</para>
1760991Svbart@nginx.com</change>
1761991Svbart@nginx.com
1762991Svbart@nginx.com</changes>
1763991Svbart@nginx.com
1764991Svbart@nginx.com
1765991Svbart@nginx.com<changes apply="unit-jsc8" ver="1.8.0" rev="1"
1766991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1767991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1768991Svbart@nginx.com
1769991Svbart@nginx.com<change>
1770991Svbart@nginx.com<para>
1771991Svbart@nginx.comInitial release of Java 8 module for NGINX Unit.
1772991Svbart@nginx.com</para>
1773991Svbart@nginx.com</change>
1774991Svbart@nginx.com
1775991Svbart@nginx.com</changes>
1776991Svbart@nginx.com
1777991Svbart@nginx.com
1778991Svbart@nginx.com<changes apply="unit-jsc10" ver="1.8.0" rev="1"
1779991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1780991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1781991Svbart@nginx.com
1782991Svbart@nginx.com<change>
1783991Svbart@nginx.com<para>
1784991Svbart@nginx.comInitial release of Java 10 module for NGINX Unit.
1785991Svbart@nginx.com</para>
1786991Svbart@nginx.com</change>
1787991Svbart@nginx.com
1788991Svbart@nginx.com</changes>
1789991Svbart@nginx.com
1790991Svbart@nginx.com
1791991Svbart@nginx.com<changes apply="unit-jsc11" ver="1.8.0" rev="1"
1792991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1793991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1794991Svbart@nginx.com
1795991Svbart@nginx.com<change>
1796991Svbart@nginx.com<para>
1797991Svbart@nginx.comInitial release of Java 11 module for NGINX Unit.
1798991Svbart@nginx.com</para>
1799991Svbart@nginx.com</change>
1800991Svbart@nginx.com
1801991Svbart@nginx.com</changes>
1802991Svbart@nginx.com
1803991Svbart@nginx.com
1804991Svbart@nginx.com<changes apply="unit-php
1805991Svbart@nginx.com                unit-python unit-python2.7
1806991Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1807991Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
1808991Svbart@nginx.com                unit-perl
1809991Svbart@nginx.com                unit-ruby"
1810991Svbart@nginx.com         ver="1.8.0" rev="1"
1811991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1812991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1813991Svbart@nginx.com
1814991Svbart@nginx.com<change>
1815991Svbart@nginx.com<para>
1816991Svbart@nginx.comNGINX Unit updated to 1.8.0.
1817991Svbart@nginx.com</para>
1818991Svbart@nginx.com</change>
1819991Svbart@nginx.com
1820991Svbart@nginx.com</changes>
1821991Svbart@nginx.com
1822991Svbart@nginx.com
1823991Svbart@nginx.com<changes apply="unit" ver="1.8.0" rev="1"
1824991Svbart@nginx.com         date="2019-03-01" time="18:00:00 +0300"
1825991Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1826991Svbart@nginx.com
1827991Svbart@nginx.com<change type="change">
1828991Svbart@nginx.com<para>
1829991Svbart@nginx.comnow three numbers are always used for versioning: major, minor,
1830991Svbart@nginx.comand patch versions.
1831991Svbart@nginx.com</para>
1832991Svbart@nginx.com</change>
1833991Svbart@nginx.com
1834991Svbart@nginx.com<change type="change">
1835991Svbart@nginx.com<para>
1836991Svbart@nginx.comnow QUERY_STRING is always defined even if the request does not include
1837991Svbart@nginx.comthe query component.
1838991Svbart@nginx.com</para>
1839991Svbart@nginx.com</change>
1840991Svbart@nginx.com
1841991Svbart@nginx.com<change type="feature">
1842991Svbart@nginx.com<para>
1843991Svbart@nginx.combasic internal request routing by Host, URI, and method.
1844991Svbart@nginx.com</para>
1845991Svbart@nginx.com</change>
1846991Svbart@nginx.com
1847991Svbart@nginx.com<change type="feature">
1848991Svbart@nginx.com<para>
1849991Svbart@nginx.comexperimental support for Java Servlet Containers.
1850991Svbart@nginx.com</para>
1851991Svbart@nginx.com</change>
1852991Svbart@nginx.com
1853991Svbart@nginx.com<change type="bugfix">
1854991Svbart@nginx.com<para>
1855991Svbart@nginx.comsegmentation fault might have occurred in the router process.
1856991Svbart@nginx.com</para>
1857991Svbart@nginx.com</change>
1858991Svbart@nginx.com
1859991Svbart@nginx.com<change type="bugfix">
1860991Svbart@nginx.com<para>
1861991Svbart@nginx.comvarious potential memory leaks.
1862991Svbart@nginx.com</para>
1863991Svbart@nginx.com</change>
1864991Svbart@nginx.com
1865991Svbart@nginx.com<change type="bugfix">
1866991Svbart@nginx.com<para>
1867991Svbart@nginx.comTLS connections might have stalled.
1868991Svbart@nginx.com</para>
1869991Svbart@nginx.com</change>
1870991Svbart@nginx.com
1871991Svbart@nginx.com<change type="bugfix">
1872991Svbart@nginx.com<para>
1873991Svbart@nginx.comsome Perl applications might have failed to send the response body.
1874991Svbart@nginx.com</para>
1875991Svbart@nginx.com</change>
1876991Svbart@nginx.com
1877991Svbart@nginx.com<change type="bugfix">
1878991Svbart@nginx.com<para>
1879991Svbart@nginx.comsome compilers with specific flags might have produced non-functioning builds;
1880991Svbart@nginx.comthe bug had appeared in 1.5.
1881991Svbart@nginx.com</para>
1882991Svbart@nginx.com</change>
1883991Svbart@nginx.com
1884991Svbart@nginx.com<change type="bugfix">
1885991Svbart@nginx.com<para>
1886991Svbart@nginx.comNode.js package had wrong version number when installed from sources.
1887991Svbart@nginx.com</para>
1888991Svbart@nginx.com</change>
1889991Svbart@nginx.com
1890991Svbart@nginx.com</changes>
1891991Svbart@nginx.com
1892991Svbart@nginx.com
1893926Svbart@nginx.com<changes apply="unit-php
1894926Svbart@nginx.com                unit-python unit-python2.7
1895926Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
1896926Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
1897926Svbart@nginx.com                unit-perl
1898926Svbart@nginx.com                unit-ruby"
1899926Svbart@nginx.com         ver="1.7.1" rev="1"
1900926Svbart@nginx.com         date="2019-02-07" time="18:00:00 +0300"
1901926Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1902926Svbart@nginx.com
1903926Svbart@nginx.com<change>
1904926Svbart@nginx.com<para>
1905926Svbart@nginx.comNGINX Unit updated to 1.7.1.
1906926Svbart@nginx.com</para>
1907926Svbart@nginx.com</change>
1908926Svbart@nginx.com
1909926Svbart@nginx.com</changes>
1910926Svbart@nginx.com
1911926Svbart@nginx.com
1912926Svbart@nginx.com<changes apply="unit" ver="1.7.1" rev="1"
1913926Svbart@nginx.com         date="2019-02-07" time="18:00:00 +0300"
1914926Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1915926Svbart@nginx.com
1916926Svbart@nginx.com<change type="security">
1917926Svbart@nginx.com<para>
1918926Svbart@nginx.coma heap memory buffer overflow might have been caused in the router process by
1919926Svbart@nginx.coma specially crafted request, potentially resulting in a segmentation fault or
1920926Svbart@nginx.comother unspecified behavior (CVE-2019-7401).
1921926Svbart@nginx.com</para>
1922926Svbart@nginx.com</change>
1923926Svbart@nginx.com
1924926Svbart@nginx.com<change type="bugfix">
1925926Svbart@nginx.com<para>
1926926Svbart@nginx.cominstall of Go module failed without prior building of Unit daemon;
1927926Svbart@nginx.comthe bug had appeared in 1.7.
1928926Svbart@nginx.com</para>
1929926Svbart@nginx.com</change>
1930926Svbart@nginx.com
1931926Svbart@nginx.com</changes>
1932926Svbart@nginx.com
1933926Svbart@nginx.com
1934902Sdefan@nginx.com<changes apply="unit-python3.7" ver="1.7" rev="1"
1935902Sdefan@nginx.com         date="2018-12-25" time="10:30:00 +0300"
1936902Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1937902Sdefan@nginx.com
1938902Sdefan@nginx.com<change>
1939902Sdefan@nginx.com<para>
1940902Sdefan@nginx.comInitial release of Python 3.7 module for NGINX Unit.
1941902Sdefan@nginx.com</para>
1942902Sdefan@nginx.com</change>
1943902Sdefan@nginx.com
1944902Sdefan@nginx.com</changes>
1945902Sdefan@nginx.com
1946902Sdefan@nginx.com
1947821Svbart@nginx.com<changes apply="unit-php
1948821Svbart@nginx.com                unit-python unit-python2.7
1949821Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
1950821Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
1951821Svbart@nginx.com                unit-perl
1952821Svbart@nginx.com                unit-ruby"
1953886Svbart@nginx.com         ver="1.7" rev="1"
1954886Svbart@nginx.com         date="2018-12-20" time="18:00:00 +0300"
1955886Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1956886Svbart@nginx.com
1957886Svbart@nginx.com<change>
1958886Svbart@nginx.com<para>
1959886Svbart@nginx.comNGINX Unit updated to 1.7.
1960886Svbart@nginx.com</para>
1961886Svbart@nginx.com</change>
1962886Svbart@nginx.com
1963886Svbart@nginx.com</changes>
1964886Svbart@nginx.com
1965886Svbart@nginx.com
1966886Svbart@nginx.com<changes apply="unit" ver="1.7" rev="1"
1967886Svbart@nginx.com         date="2018-12-20" time="18:00:00 +0300"
1968886Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
1969886Svbart@nginx.com
1970886Svbart@nginx.com<change type="change">
1971886Svbart@nginx.com<para>
1972886Svbart@nginx.comnow rpath is set in Ruby module only if the library was not found in default
1973886Svbart@nginx.comsearch paths; this allows to meet packaging restrictions on some systems.
1974886Svbart@nginx.com</para>
1975886Svbart@nginx.com</change>
1976886Svbart@nginx.com
1977886Svbart@nginx.com<change type="bugfix">
1978886Svbart@nginx.com<para>
1979886Svbart@nginx.com"disable_functions" and "disable_classes" PHP options set via Control API
1980886Svbart@nginx.comdid not work.
1981886Svbart@nginx.com</para>
1982886Svbart@nginx.com</change>
1983886Svbart@nginx.com
1984886Svbart@nginx.com<change type="bugfix">
1985886Svbart@nginx.com<para>
1986886Svbart@nginx.comPromises on request data in Node.js were not triggered.
1987886Svbart@nginx.com</para>
1988886Svbart@nginx.com</change>
1989886Svbart@nginx.com
1990886Svbart@nginx.com<change type="bugfix">
1991886Svbart@nginx.com<para>
1992886Svbart@nginx.comvarious compatibility issues with Node.js applications.
1993886Svbart@nginx.com</para>
1994886Svbart@nginx.com</change>
1995886Svbart@nginx.com
1996886Svbart@nginx.com<change type="bugfix">
1997886Svbart@nginx.com<para>
1998886Svbart@nginx.coma segmentation fault occurred in Node.js module if application tried to read
1999886Svbart@nginx.comrequest body after request.end() was called.
2000886Svbart@nginx.com</para>
2001886Svbart@nginx.com</change>
2002886Svbart@nginx.com
2003886Svbart@nginx.com<change type="bugfix">
2004886Svbart@nginx.com<para>
2005886Svbart@nginx.coma segmentation fault occurred in Node.js module if application attempted to
2006886Svbart@nginx.comsend header twice.
2007886Svbart@nginx.com</para>
2008886Svbart@nginx.com</change>
2009886Svbart@nginx.com
2010886Svbart@nginx.com<change type="bugfix">
2011886Svbart@nginx.com<para>
2012886Svbart@nginx.comnames of response header fields in Node.js module were erroneously treated as
2013886Svbart@nginx.comcase-sensitive.
2014886Svbart@nginx.com</para>
2015886Svbart@nginx.com</change>
2016886Svbart@nginx.com
2017886Svbart@nginx.com<change type="bugfix">
2018886Svbart@nginx.com<para>
2019886Svbart@nginx.comuncatched exceptions in Node.js were not logged.
2020886Svbart@nginx.com</para>
2021886Svbart@nginx.com</change>
2022886Svbart@nginx.com
2023886Svbart@nginx.com<change type="bugfix">
2024886Svbart@nginx.com<para>
2025886Svbart@nginx.comglobal install of Node.js module from sources was broken on some systems;
2026886Svbart@nginx.comthe bug had appeared in 1.6.
2027886Svbart@nginx.com</para>
2028886Svbart@nginx.com</change>
2029886Svbart@nginx.com
2030886Svbart@nginx.com<change type="bugfix">
2031886Svbart@nginx.com<para>
2032886Svbart@nginx.comtraceback for exceptions during initialization of Python applications might not
2033886Svbart@nginx.combe logged.
2034886Svbart@nginx.com</para>
2035886Svbart@nginx.com</change>
2036886Svbart@nginx.com
2037886Svbart@nginx.com<change type="bugfix">
2038886Svbart@nginx.com<para>
2039886Svbart@nginx.comPHP module build failed if PHP interpreter was built with thread safety
2040886Svbart@nginx.comenabled.
2041886Svbart@nginx.com</para>
2042886Svbart@nginx.com</change>
2043886Svbart@nginx.com
2044886Svbart@nginx.com</changes>
2045886Svbart@nginx.com
2046886Svbart@nginx.com
2047886Svbart@nginx.com<changes apply="unit-php
2048886Svbart@nginx.com                unit-python unit-python2.7
2049886Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2050886Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
2051886Svbart@nginx.com                unit-perl
2052886Svbart@nginx.com                unit-ruby"
2053846Svbart@nginx.com         ver="1.6" rev="1"
2054846Svbart@nginx.com         date="2018-11-15" time="18:00:00 +0300"
2055846Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
2056846Svbart@nginx.com
2057846Svbart@nginx.com<change>
2058846Svbart@nginx.com<para>
2059846Svbart@nginx.comNGINX Unit updated to 1.6.
2060846Svbart@nginx.com</para>
2061846Svbart@nginx.com</change>
2062846Svbart@nginx.com
2063846Svbart@nginx.com</changes>
2064846Svbart@nginx.com
2065846Svbart@nginx.com
2066846Svbart@nginx.com<changes apply="unit" ver="1.6" rev="1"
2067846Svbart@nginx.com         date="2018-11-15" time="18:00:00 +0300"
2068846Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
2069846Svbart@nginx.com
2070846Svbart@nginx.com<change type="change">
2071846Svbart@nginx.com<para>
2072846Svbart@nginx.com"make install" now installs Node.js module as well if it was configured.
2073846Svbart@nginx.com</para>
2074846Svbart@nginx.com</change>
2075846Svbart@nginx.com
2076846Svbart@nginx.com<change type="feature">
2077846Svbart@nginx.com<para>
2078846Svbart@nginx.com"--local" ./configure option to install Node.js module locally.
2079846Svbart@nginx.com</para>
2080846Svbart@nginx.com</change>
2081846Svbart@nginx.com
2082846Svbart@nginx.com<change type="bugfix">
2083846Svbart@nginx.com<para>
2084846Svbart@nginx.comNode.js module might have crashed due to broken reference counting.
2085846Svbart@nginx.com</para>
2086846Svbart@nginx.com</change>
2087846Svbart@nginx.com
2088846Svbart@nginx.com<change type="bugfix">
2089846Svbart@nginx.com<para>
2090846Svbart@nginx.comasynchronous operations in Node.js might not have worked.
2091846Svbart@nginx.com</para>
2092846Svbart@nginx.com</change>
2093846Svbart@nginx.com
2094846Svbart@nginx.com<change type="bugfix">
2095846Svbart@nginx.com<para>
2096846Svbart@nginx.comvarious compatibility issues with Node.js applications.
2097846Svbart@nginx.com</para>
2098846Svbart@nginx.com</change>
2099846Svbart@nginx.com
2100846Svbart@nginx.com<change type="bugfix">
2101846Svbart@nginx.com<para>
2102846Svbart@nginx.com"freed pointer is out of pool" alerts might have appeared in log.
2103846Svbart@nginx.com</para>
2104846Svbart@nginx.com</change>
2105846Svbart@nginx.com
2106846Svbart@nginx.com<change type="bugfix">
2107846Svbart@nginx.com<para>
2108885Svbart@nginx.commodule discovery did not work on 64-bit big-endian systems like IBM/S390x.
2109846Svbart@nginx.com</para>
2110846Svbart@nginx.com</change>
2111846Svbart@nginx.com
2112846Svbart@nginx.com</changes>
2113846Svbart@nginx.com
2114846Svbart@nginx.com
2115846Svbart@nginx.com<changes apply="unit-php
2116846Svbart@nginx.com                unit-python unit-python2.7
2117846Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2118846Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
2119846Svbart@nginx.com                unit-perl
2120846Svbart@nginx.com                unit-ruby"
2121821Svbart@nginx.com         ver="1.5" rev="1"
2122821Svbart@nginx.com         date="2018-10-25" time="18:00:00 +0300"
2123821Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2124821Svbart@nginx.com
2125821Svbart@nginx.com<change>
2126821Svbart@nginx.com<para>
2127821Svbart@nginx.comNGINX Unit updated to 1.5.
2128821Svbart@nginx.com</para>
2129821Svbart@nginx.com</change>
2130821Svbart@nginx.com
2131821Svbart@nginx.com</changes>
2132821Svbart@nginx.com
2133821Svbart@nginx.com
2134820Svbart@nginx.com<changes apply="unit" ver="1.5" rev="1"
2135820Svbart@nginx.com         date="2018-10-25" time="18:00:00 +0300"
2136820Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2137820Svbart@nginx.com
2138820Svbart@nginx.com<change type="change">
2139820Svbart@nginx.com<para>
2140820Svbart@nginx.comthe "type" of application object for Go was changed to "external".
2141820Svbart@nginx.com</para>
2142820Svbart@nginx.com</change>
2143820Svbart@nginx.com
2144820Svbart@nginx.com<change type="feature">
2145820Svbart@nginx.com<para>
2146820Svbart@nginx.cominitial version of Node.js package with basic HTTP request-response support.
2147820Svbart@nginx.com</para>
2148820Svbart@nginx.com</change>
2149820Svbart@nginx.com
2150820Svbart@nginx.com<change type="feature">
2151820Svbart@nginx.com<para>
2152820Svbart@nginx.comcompatibility with LibreSSL.
2153820Svbart@nginx.com</para>
2154820Svbart@nginx.com</change>
2155820Svbart@nginx.com
2156820Svbart@nginx.com<change type="feature">
2157820Svbart@nginx.com<para>
2158820Svbart@nginx.com--libdir and --incdir ./configure options to install libunit headers
2159820Svbart@nginx.comand static library.
2160820Svbart@nginx.com</para>
2161820Svbart@nginx.com</change>
2162820Svbart@nginx.com
2163820Svbart@nginx.com<change type="bugfix">
2164820Svbart@nginx.com<para>
2165820Svbart@nginx.comconnection might be closed prematurely while sending response;
2166820Svbart@nginx.comthe bug had appeared in 1.3.
2167820Svbart@nginx.com</para>
2168820Svbart@nginx.com</change>
2169820Svbart@nginx.com
2170820Svbart@nginx.com<change type="bugfix">
2171820Svbart@nginx.com<para>
2172820Svbart@nginx.comapplication processes might have stopped handling requests, producing
2173820Svbart@nginx.com"last message send failed: Resource temporarily unavailable" alerts in log;
2174820Svbart@nginx.comthe bug had appeared in 1.4.
2175820Svbart@nginx.com</para>
2176820Svbart@nginx.com</change>
2177820Svbart@nginx.com
2178820Svbart@nginx.com<change type="bugfix">
2179820Svbart@nginx.com<para>
2180885Svbart@nginx.comGo applications did not work when Unit was built with musl C library.
2181820Svbart@nginx.com</para>
2182820Svbart@nginx.com</change>
2183820Svbart@nginx.com
2184820Svbart@nginx.com</changes>
2185820Svbart@nginx.com
2186820Svbart@nginx.com
2187689Svbart@nginx.com<changes apply="unit-php
2188689Svbart@nginx.com                unit-python unit-python2.7
2189689Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2190689Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
2191689Svbart@nginx.com                unit-perl
2192689Svbart@nginx.com                unit-ruby"
2193788Sdefan@nginx.com         ver="1.4" rev="2"
2194788Sdefan@nginx.com         date="2018-09-27" time="13:30:00 +0300"
2195788Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2196788Sdefan@nginx.com
2197788Sdefan@nginx.com<change type="bugfix">
2198788Sdefan@nginx.com<para>
2199788Sdefan@nginx.comcorrected instructions for launching sample application.
2200788Sdefan@nginx.com</para>
2201788Sdefan@nginx.com</change>
2202788Sdefan@nginx.com
2203788Sdefan@nginx.com</changes>
2204788Sdefan@nginx.com
2205788Sdefan@nginx.com
2206788Sdefan@nginx.com<changes apply="unit" ver="1.4" rev="2"
2207788Sdefan@nginx.com         date="2018-09-27" time="13:30:00 +0300"
2208788Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2209788Sdefan@nginx.com
2210788Sdefan@nginx.com<change type="change">
2211788Sdefan@nginx.com<para>
2212788Sdefan@nginx.comthe "saveconfig" and "loadconfig" action scripts were removed.
2213788Sdefan@nginx.com</para>
2214788Sdefan@nginx.com</change>
2215788Sdefan@nginx.com
2216788Sdefan@nginx.com</changes>
2217788Sdefan@nginx.com
2218788Sdefan@nginx.com
2219788Sdefan@nginx.com<changes apply="unit-php
2220788Sdefan@nginx.com                unit-python unit-python2.7
2221788Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2222788Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
2223788Sdefan@nginx.com                unit-perl
2224788Sdefan@nginx.com                unit-ruby"
2225783Svbart@nginx.com         ver="1.4" rev="1"
2226783Svbart@nginx.com         date="2018-09-20" time="18:00:00 +0300"
2227783Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2228783Svbart@nginx.com
2229783Svbart@nginx.com<change>
2230783Svbart@nginx.com<para>
2231783Svbart@nginx.comNGINX Unit updated to 1.4.
2232783Svbart@nginx.com</para>
2233783Svbart@nginx.com</change>
2234783Svbart@nginx.com
2235783Svbart@nginx.com</changes>
2236783Svbart@nginx.com
2237783Svbart@nginx.com
2238783Svbart@nginx.com<changes apply="unit" ver="1.4" rev="1"
2239783Svbart@nginx.com         date="2018-09-20" time="18:00:00 +0300"
2240783Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2241783Svbart@nginx.com
2242783Svbart@nginx.com<change type="change">
2243783Svbart@nginx.com<para>
2244783Svbart@nginx.comthe control API maps the configuration object only at "/config/".
2245783Svbart@nginx.com</para>
2246783Svbart@nginx.com</change>
2247783Svbart@nginx.com
2248783Svbart@nginx.com<change type="feature">
2249783Svbart@nginx.com<para>
2250783Svbart@nginx.comTLS support for client connections.
2251783Svbart@nginx.com</para>
2252783Svbart@nginx.com</change>
2253783Svbart@nginx.com
2254783Svbart@nginx.com<change type="feature">
2255783Svbart@nginx.com<para>
2256783Svbart@nginx.comTLS certificates storage control API.
2257783Svbart@nginx.com</para>
2258783Svbart@nginx.com</change>
2259783Svbart@nginx.com
2260783Svbart@nginx.com<change type="feature">
2261783Svbart@nginx.com<para>
2262783Svbart@nginx.comUnit library (libunit) to streamline language module integration.
2263783Svbart@nginx.com</para>
2264783Svbart@nginx.com</change>
2265783Svbart@nginx.com
2266783Svbart@nginx.com<change type="feature">
2267783Svbart@nginx.com<para>
2268783Svbart@nginx.com"408 Request Timeout" responses while closing HTTP keep-alive connections.
2269783Svbart@nginx.com</para>
2270783Svbart@nginx.com</change>
2271783Svbart@nginx.com
2272783Svbart@nginx.com<change type="feature">
2273783Svbart@nginx.com<para>
2274783Svbart@nginx.comimprovements in OpenBSD support.
2275783Svbart@nginx.comThanks to David Carlier.
2276783Svbart@nginx.com</para>
2277783Svbart@nginx.com</change>
2278783Svbart@nginx.com
2279783Svbart@nginx.com<change type="bugfix">
2280783Svbart@nginx.com<para>
2281783Svbart@nginx.coma segmentation fault might have occurred after reconfiguration.
2282783Svbart@nginx.com</para>
2283783Svbart@nginx.com</change>
2284783Svbart@nginx.com
2285783Svbart@nginx.com<change type="bugfix">
2286783Svbart@nginx.com<para>
2287783Svbart@nginx.combuilding on systems with non-default locale might be broken.
2288783Svbart@nginx.com</para>
2289783Svbart@nginx.com</change>
2290783Svbart@nginx.com
2291783Svbart@nginx.com<change type="bugfix">
2292783Svbart@nginx.com<para>
2293783Svbart@nginx.com"header_read_timeout" might not work properly.
2294783Svbart@nginx.com</para>
2295783Svbart@nginx.com</change>
2296783Svbart@nginx.com
2297783Svbart@nginx.com<change type="bugfix">
2298783Svbart@nginx.com<para>
2299783Svbart@nginx.comheader fields values with non-ASCII bytes might be handled incorrectly
2300783Svbart@nginx.comin Python 3 module.
2301783Svbart@nginx.com</para>
2302783Svbart@nginx.com</change>
2303783Svbart@nginx.com
2304783Svbart@nginx.com</changes>
2305783Svbart@nginx.com
2306783Svbart@nginx.com
2307783Svbart@nginx.com<changes apply="unit-php
2308783Svbart@nginx.com                unit-python unit-python2.7
2309783Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2310783Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
2311783Svbart@nginx.com                unit-perl
2312783Svbart@nginx.com                unit-ruby"
2313727Svbart@nginx.com         ver="1.3" rev="1"
2314727Svbart@nginx.com         date="2018-07-13" time="18:00:00 +0300"
2315727Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
2316727Svbart@nginx.com
2317727Svbart@nginx.com<change>
2318727Svbart@nginx.com<para>
2319727Svbart@nginx.comNGINX Unit updated to 1.3.
2320727Svbart@nginx.com</para>
2321727Svbart@nginx.com</change>
2322727Svbart@nginx.com
2323727Svbart@nginx.com</changes>
2324727Svbart@nginx.com
2325727Svbart@nginx.com
2326727Svbart@nginx.com<changes apply="unit" ver="1.3" rev="1"
2327727Svbart@nginx.com         date="2018-07-13" time="18:00:00 +0300"
2328727Svbart@nginx.com         packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
2329727Svbart@nginx.com
2330727Svbart@nginx.com<change type="change">
2331727Svbart@nginx.com<para>
2332727Svbart@nginx.comUTF-8 characters are now allowed in request header field values.
2333727Svbart@nginx.com</para>
2334727Svbart@nginx.com</change>
2335727Svbart@nginx.com
2336727Svbart@nginx.com<change type="feature">
2337727Svbart@nginx.com<para>
2338727Svbart@nginx.comconfiguration of the request body size limit.
2339727Svbart@nginx.com</para>
2340727Svbart@nginx.com</change>
2341727Svbart@nginx.com
2342727Svbart@nginx.com<change type="feature">
2343727Svbart@nginx.com<para>
2344727Svbart@nginx.comconfiguration of various HTTP connection timeouts.
2345727Svbart@nginx.com</para>
2346727Svbart@nginx.com</change>
2347727Svbart@nginx.com
2348727Svbart@nginx.com<change type="feature">
2349727Svbart@nginx.com<para>
2350727Svbart@nginx.comRuby module now automatically uses Bundler where possible.
2351727Svbart@nginx.com</para>
2352727Svbart@nginx.com</change>
2353727Svbart@nginx.com
2354727Svbart@nginx.com<change type="feature">
2355727Svbart@nginx.com<para>
2356727Svbart@nginx.comhttp.Flusher interface in Go module.
2357727Svbart@nginx.com</para>
2358727Svbart@nginx.com</change>
2359727Svbart@nginx.com
2360727Svbart@nginx.com<change type="bugfix">
2361727Svbart@nginx.com<para>
2362727Svbart@nginx.comvarious issues in HTTP connection errors handling.
2363727Svbart@nginx.com</para>
2364727Svbart@nginx.com</change>
2365727Svbart@nginx.com
2366727Svbart@nginx.com<change type="bugfix">
2367727Svbart@nginx.com<para>
2368727Svbart@nginx.comrequests with body data might be handled incorrectly in PHP module.
2369727Svbart@nginx.com</para>
2370727Svbart@nginx.com</change>
2371727Svbart@nginx.com
2372727Svbart@nginx.com<change type="bugfix">
2373727Svbart@nginx.com<para>
2374727Svbart@nginx.comindividual PHP configuration options specified via control API were reset
2375727Svbart@nginx.comto previous values after the first request in application process.
2376727Svbart@nginx.com</para>
2377727Svbart@nginx.com</change>
2378727Svbart@nginx.com
2379727Svbart@nginx.com</changes>
2380727Svbart@nginx.com
2381727Svbart@nginx.com
2382727Svbart@nginx.com<changes apply="unit-php
2383727Svbart@nginx.com                unit-python unit-python2.7
2384727Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2385727Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
2386727Svbart@nginx.com                unit-perl
2387727Svbart@nginx.com                unit-ruby"
2388689Svbart@nginx.com         ver="1.2" rev="1"
2389689Svbart@nginx.com         date="2018-06-07" time="18:00:00 +0300"
2390689Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2391689Svbart@nginx.com
2392689Svbart@nginx.com<change>
2393689Svbart@nginx.com<para>
2394689Svbart@nginx.comNGINX Unit updated to 1.2.
2395689Svbart@nginx.com</para>
2396689Svbart@nginx.com</change>
2397689Svbart@nginx.com
2398689Svbart@nginx.com</changes>
2399689Svbart@nginx.com
2400689Svbart@nginx.com
2401689Svbart@nginx.com<changes apply="unit" ver="1.2" rev="1"
2402689Svbart@nginx.com         date="2018-06-07" time="18:00:00 +0300"
2403689Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2404689Svbart@nginx.com
2405689Svbart@nginx.com<change type="feature">
2406689Svbart@nginx.com<para>
2407689Svbart@nginx.comconfiguration of environment variables for application processes.
2408689Svbart@nginx.com</para>
2409689Svbart@nginx.com</change>
2410689Svbart@nginx.com
2411689Svbart@nginx.com<change type="feature">
2412689Svbart@nginx.com<para>
2413689Svbart@nginx.comcustomization of php.ini path.
2414689Svbart@nginx.com</para>
2415689Svbart@nginx.com</change>
2416689Svbart@nginx.com
2417689Svbart@nginx.com<change type="feature">
2418689Svbart@nginx.com<para>
2419689Svbart@nginx.comsetting of individual PHP configuration options.
2420689Svbart@nginx.com</para>
2421689Svbart@nginx.com</change>
2422689Svbart@nginx.com
2423689Svbart@nginx.com<change type="feature">
2424689Svbart@nginx.com<para>
2425689Svbart@nginx.comconfiguration of execution arguments for Go applications.
2426689Svbart@nginx.com</para>
2427689Svbart@nginx.com</change>
2428689Svbart@nginx.com
2429689Svbart@nginx.com<change type="bugfix">
2430689Svbart@nginx.com<para>
2431689Svbart@nginx.comkeep-alive connections might hang after reconfiguration.
2432689Svbart@nginx.com</para>
2433689Svbart@nginx.com</change>
2434689Svbart@nginx.com
2435689Svbart@nginx.com</changes>
2436689Svbart@nginx.com
2437689Svbart@nginx.com
2438672Sdefan@nginx.com<changes apply="unit-go1.10" ver="1.1" rev="1"
2439672Sdefan@nginx.com         date="2018-05-14" time="18:00:00 +0300"
2440672Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2441672Sdefan@nginx.com
2442672Sdefan@nginx.com<change>
2443672Sdefan@nginx.com<para>
2444672Sdefan@nginx.comInitial release of Go 1.10 module for NGINX Unit.
2445672Sdefan@nginx.com</para>
2446672Sdefan@nginx.com</change>
2447672Sdefan@nginx.com
2448672Sdefan@nginx.com</changes>
2449672Sdefan@nginx.com
2450672Sdefan@nginx.com
2451548Sdefan@nginx.com<changes apply="unit-php
2452548Sdefan@nginx.com                unit-python unit-python2.7
2453548Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2454548Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9
2455639Svbart@nginx.com                unit-perl
2456639Svbart@nginx.com                unit-ruby"
2457666Svbart@nginx.com         ver="1.1" rev="1"
2458666Svbart@nginx.com         date="2018-04-26" time="18:00:00 +0300"
2459666Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2460666Svbart@nginx.com
2461666Svbart@nginx.com<change>
2462666Svbart@nginx.com<para>
2463666Svbart@nginx.comNGINX Unit updated to 1.1.
2464666Svbart@nginx.com</para>
2465666Svbart@nginx.com</change>
2466666Svbart@nginx.com
2467666Svbart@nginx.com</changes>
2468666Svbart@nginx.com
2469666Svbart@nginx.com
2470666Svbart@nginx.com<changes apply="unit" ver="1.1" rev="1"
2471666Svbart@nginx.com         date="2018-04-26" time="18:00:00 +0300"
2472666Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2473666Svbart@nginx.com
2474666Svbart@nginx.com<change type="bugfix">
2475666Svbart@nginx.com<para>
2476666Svbart@nginx.comPython applications that use the write() callable did not work.
2477666Svbart@nginx.com</para>
2478666Svbart@nginx.com</change>
2479666Svbart@nginx.com
2480666Svbart@nginx.com<change type="bugfix">
2481666Svbart@nginx.com<para>
2482666Svbart@nginx.comvirtual environments created with Python 3.3 or above might not have worked.
2483666Svbart@nginx.com</para>
2484666Svbart@nginx.com</change>
2485666Svbart@nginx.com
2486666Svbart@nginx.com<change type="bugfix">
2487666Svbart@nginx.com<para>
2488666Svbart@nginx.comthe request.Read() function in Go applications did not produce EOF
2489666Svbart@nginx.comwhen the whole body was read.
2490666Svbart@nginx.com</para>
2491666Svbart@nginx.com</change>
2492666Svbart@nginx.com
2493666Svbart@nginx.com<change type="bugfix">
2494666Svbart@nginx.com<para>
2495666Svbart@nginx.coma segmentation fault might have occurred while access log reopening.
2496666Svbart@nginx.com</para>
2497666Svbart@nginx.com</change>
2498666Svbart@nginx.com
2499666Svbart@nginx.com<change type="bugfix">
2500666Svbart@nginx.com<para>
2501666Svbart@nginx.comin parsing of IPv6 control socket addresses.
2502666Svbart@nginx.com</para>
2503666Svbart@nginx.com</change>
2504666Svbart@nginx.com
2505666Svbart@nginx.com<change type="bugfix">
2506666Svbart@nginx.com<para>
2507666Svbart@nginx.comloading of application modules was broken on OpenBSD.
2508666Svbart@nginx.com</para>
2509666Svbart@nginx.com</change>
2510666Svbart@nginx.com
2511666Svbart@nginx.com<change type="bugfix">
2512666Svbart@nginx.com<para>
2513666Svbart@nginx.coma segmentation fault might have occurred when there were two modules
2514666Svbart@nginx.comwith the same type and version; the bug had appeared in 1.0.
2515666Svbart@nginx.com</para>
2516666Svbart@nginx.com</change>
2517666Svbart@nginx.com
2518666Svbart@nginx.com<change type="bugfix">
2519666Svbart@nginx.com<para>
2520666Svbart@nginx.comalerts "freed pointer points to non-freeble page" might have appeared in log
2521666Svbart@nginx.comon 32-bit platforms.
2522666Svbart@nginx.com</para>
2523666Svbart@nginx.com</change>
2524666Svbart@nginx.com
2525666Svbart@nginx.com</changes>
2526666Svbart@nginx.com
2527666Svbart@nginx.com
2528666Svbart@nginx.com<changes apply="unit-php
2529666Svbart@nginx.com                unit-python unit-python2.7
2530666Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2531666Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9
2532666Svbart@nginx.com                unit-perl
2533666Svbart@nginx.com                unit-ruby"
2534639Svbart@nginx.com         ver="1.0" rev="1"
2535639Svbart@nginx.com         date="2018-04-12" time="18:00:00 +0300"
2536639Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2537639Svbart@nginx.com
2538639Svbart@nginx.com<change>
2539639Svbart@nginx.com<para>
2540639Svbart@nginx.comNGINX Unit updated to 1.0.
2541639Svbart@nginx.com</para>
2542639Svbart@nginx.com</change>
2543639Svbart@nginx.com
2544639Svbart@nginx.com</changes>
2545639Svbart@nginx.com
2546639Svbart@nginx.com
2547639Svbart@nginx.com<changes apply="unit" ver="1.0" rev="1"
2548639Svbart@nginx.com         date="2018-04-12" time="18:00:00 +0300"
2549639Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2550639Svbart@nginx.com
2551639Svbart@nginx.com<change type="change">
2552639Svbart@nginx.com<para>
2553639Svbart@nginx.comconfiguration object moved into "/config/" path.
2554639Svbart@nginx.com</para>
2555639Svbart@nginx.com</change>
2556639Svbart@nginx.com
2557639Svbart@nginx.com<change type="feature">
2558639Svbart@nginx.com<para>
2559639Svbart@nginx.combasic access logging.
2560639Svbart@nginx.com</para>
2561639Svbart@nginx.com</change>
2562639Svbart@nginx.com
2563639Svbart@nginx.com<change type="bugfix">
2564639Svbart@nginx.com<para>
2565639Svbart@nginx.com503 error occurred if Go application did not write response header or body.
2566639Svbart@nginx.com</para>
2567639Svbart@nginx.com</change>
2568639Svbart@nginx.com
2569639Svbart@nginx.com<change type="bugfix">
2570639Svbart@nginx.com<para>
2571663Svbart@nginx.comRuby applications that use encoding conversions might not have worked.
2572639Svbart@nginx.com</para>
2573639Svbart@nginx.com</change>
2574639Svbart@nginx.com
2575639Svbart@nginx.com<change type="bugfix">
2576639Svbart@nginx.com<para>
2577639Svbart@nginx.comvarious stability issues.
2578639Svbart@nginx.com</para>
2579639Svbart@nginx.com</change>
2580639Svbart@nginx.com
2581639Svbart@nginx.com</changes>
2582639Svbart@nginx.com
2583639Svbart@nginx.com
2584639Svbart@nginx.com<changes apply="unit-php
2585639Svbart@nginx.com                unit-python unit-python2.7
2586639Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2587639Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9
2588548Sdefan@nginx.com                unit-perl"
2589586Svbart@nginx.com         ver="0.7" rev="1"
2590586Svbart@nginx.com         date="2018-03-22" time="18:00:00 +0300"
2591586Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2592586Svbart@nginx.com
2593586Svbart@nginx.com<change>
2594586Svbart@nginx.com<para>
2595586Svbart@nginx.comNGINX Unit updated to 0.7.
2596586Svbart@nginx.com</para>
2597586Svbart@nginx.com</change>
2598586Svbart@nginx.com
2599586Svbart@nginx.com</changes>
2600586Svbart@nginx.com
2601586Svbart@nginx.com
2602600Sdefan@nginx.com<changes apply="unit-ruby" ver="0.7" rev="1"
2603600Sdefan@nginx.com         date="2018-04-02" time="15:40:00 +0300"
2604600Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2605600Sdefan@nginx.com
2606600Sdefan@nginx.com<change>
2607600Sdefan@nginx.com<para>
2608600Sdefan@nginx.comInitial release of Ruby module for NGINX Unit.
2609600Sdefan@nginx.com</para>
2610600Sdefan@nginx.com</change>
2611600Sdefan@nginx.com
2612600Sdefan@nginx.com</changes>
2613600Sdefan@nginx.com
2614600Sdefan@nginx.com
2615586Svbart@nginx.com<changes apply="unit" ver="0.7" rev="1"
2616586Svbart@nginx.com         date="2018-03-22" time="18:00:00 +0300"
2617586Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2618586Svbart@nginx.com
2619586Svbart@nginx.com<change type="feature">
2620586Svbart@nginx.com<para>
2621586Svbart@nginx.comRuby application module.
2622586Svbart@nginx.com</para>
2623586Svbart@nginx.com</change>
2624586Svbart@nginx.com
2625586Svbart@nginx.com<change type="bugfix">
2626586Svbart@nginx.com<para>
2627586Svbart@nginx.comin discovering modules.
2628586Svbart@nginx.com</para>
2629586Svbart@nginx.com</change>
2630586Svbart@nginx.com
2631586Svbart@nginx.com<change type="bugfix">
2632586Svbart@nginx.com<para>
2633586Svbart@nginx.comvarious race conditions on reconfiguration and during shutting down.
2634586Svbart@nginx.com</para>
2635586Svbart@nginx.com</change>
2636586Svbart@nginx.com
2637586Svbart@nginx.com<change type="bugfix">
2638586Svbart@nginx.com<para>
2639586Svbart@nginx.comtabs and trailing spaces were not allowed in header fields values.
2640586Svbart@nginx.com</para>
2641586Svbart@nginx.com</change>
2642586Svbart@nginx.com
2643586Svbart@nginx.com<change type="bugfix">
2644586Svbart@nginx.com<para>
2645586Svbart@nginx.coma segmentation fault occurred in Python module if start_response() was called
2646586Svbart@nginx.comoutside of WSGI callable.
2647586Svbart@nginx.com</para>
2648586Svbart@nginx.com</change>
2649586Svbart@nginx.com
2650586Svbart@nginx.com<change type="bugfix">
2651586Svbart@nginx.com<para>
2652663Svbart@nginx.coma segmentation fault might have occurred in PHP module if there was an error
2653663Svbart@nginx.comwhile initialization.
2654586Svbart@nginx.com</para>
2655586Svbart@nginx.com</change>
2656586Svbart@nginx.com
2657586Svbart@nginx.com</changes>
2658586Svbart@nginx.com
2659586Svbart@nginx.com
2660586Svbart@nginx.com<changes apply="unit-php
2661586Svbart@nginx.com                unit-python unit-python2.7
2662586Svbart@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2663586Svbart@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9
2664586Svbart@nginx.com                unit-perl"
2665548Sdefan@nginx.com         ver="0.6" rev="1"
2666539Svbart@nginx.com         date="2018-02-09" time="18:00:00 +0300"
2667539Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2668539Svbart@nginx.com
2669539Svbart@nginx.com<change>
2670539Svbart@nginx.com<para>
2671539Svbart@nginx.comNGINX Unit updated to 0.6.
2672539Svbart@nginx.com</para>
2673539Svbart@nginx.com</change>
2674539Svbart@nginx.com
2675539Svbart@nginx.com</changes>
2676539Svbart@nginx.com
2677539Svbart@nginx.com
2678539Svbart@nginx.com<changes apply="unit" ver="0.6" rev="1"
2679539Svbart@nginx.com         date="2018-02-09" time="18:00:00 +0300"
2680539Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2681539Svbart@nginx.com
2682539Svbart@nginx.com<change type="bugfix">
2683539Svbart@nginx.com<para>
2684539Svbart@nginx.comthe main process died when the "type" application option contained version;
2685539Svbart@nginx.comthe bug had appeared in 0.5.
2686539Svbart@nginx.com</para>
2687539Svbart@nginx.com</change>
2688539Svbart@nginx.com
2689539Svbart@nginx.com</changes>
2690539Svbart@nginx.com
2691539Svbart@nginx.com
2692548Sdefan@nginx.com<changes apply="unit-php
2693548Sdefan@nginx.com                unit-python unit-python2.7
2694548Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2695548Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9"
2696548Sdefan@nginx.com         ver="0.5" rev="1"
2697531Svbart@nginx.com         date="2018-02-08" time="18:00:00 +0300"
2698531Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2699531Svbart@nginx.com
2700531Svbart@nginx.com<change>
2701531Svbart@nginx.com<para>
2702531Svbart@nginx.comNGINX Unit updated to 0.5.
2703531Svbart@nginx.com</para>
2704531Svbart@nginx.com</change>
2705531Svbart@nginx.com
2706531Svbart@nginx.com</changes>
2707531Svbart@nginx.com
2708531Svbart@nginx.com
2709524Sdefan@nginx.com<changes apply="unit-perl" ver="0.5" rev="1"
2710531Svbart@nginx.com         date="2018-02-08" time="18:00:00 +0300"
2711524Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2712524Sdefan@nginx.com
2713524Sdefan@nginx.com<change>
2714524Sdefan@nginx.com<para>
2715524Sdefan@nginx.comInitial release of Perl module for NGINX Unit.
2716524Sdefan@nginx.com</para>
2717524Sdefan@nginx.com</change>
2718524Sdefan@nginx.com
2719524Sdefan@nginx.com</changes>
2720524Sdefan@nginx.com
2721524Sdefan@nginx.com
2722531Svbart@nginx.com<changes apply="unit" ver="0.5" rev="1"
2723531Svbart@nginx.com         date="2018-02-08" time="18:00:00 +0300"
2724531Svbart@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2725531Svbart@nginx.com
2726531Svbart@nginx.com<change type="change">
2727531Svbart@nginx.com<para>
2728531Svbart@nginx.comthe "workers" application option was removed, the "processes"
2729531Svbart@nginx.comapplication option should be used instead.
2730531Svbart@nginx.com</para>
2731531Svbart@nginx.com</change>
2732531Svbart@nginx.com
2733531Svbart@nginx.com<change type="feature">
2734531Svbart@nginx.com<para>
2735531Svbart@nginx.comthe "processes" application option with prefork and dynamic
2736531Svbart@nginx.comprocess management support.
2737531Svbart@nginx.com</para>
2738531Svbart@nginx.com</change>
2739531Svbart@nginx.com
2740531Svbart@nginx.com<change type="feature">
2741531Svbart@nginx.com<para>
2742531Svbart@nginx.comPerl application module.
2743531Svbart@nginx.com</para>
2744531Svbart@nginx.com</change>
2745531Svbart@nginx.com
2746531Svbart@nginx.com<change type="bugfix">
2747531Svbart@nginx.com<para>
2748531Svbart@nginx.comin reading client request body; the bug had appeared in 0.3.
2749531Svbart@nginx.com</para>
2750531Svbart@nginx.com</change>
2751531Svbart@nginx.com
2752531Svbart@nginx.com<change type="bugfix">
2753531Svbart@nginx.com<para>
2754663Svbart@nginx.comsome Python applications might not have worked due to missing
2755531Svbart@nginx.com"wsgi.errors" environ variable.
2756531Svbart@nginx.com</para>
2757531Svbart@nginx.com</change>
2758531Svbart@nginx.com
2759531Svbart@nginx.com<change type="bugfix">
2760531Svbart@nginx.com<para>
2761531Svbart@nginx.comHTTP chunked responses might be encoded incorrectly on 32-bit
2762531Svbart@nginx.complatforms.
2763531Svbart@nginx.com</para>
2764531Svbart@nginx.com</change>
2765531Svbart@nginx.com
2766531Svbart@nginx.com<change type="bugfix">
2767531Svbart@nginx.com<para>
2768531Svbart@nginx.cominfinite looping in HTTP parser.
2769531Svbart@nginx.com</para>
2770531Svbart@nginx.com</change>
2771531Svbart@nginx.com
2772531Svbart@nginx.com<change type="bugfix">
2773531Svbart@nginx.com<para>
2774531Svbart@nginx.comsegmentation fault in router.
2775531Svbart@nginx.com</para>
2776531Svbart@nginx.com</change>
2777531Svbart@nginx.com
2778531Svbart@nginx.com</changes>
2779531Svbart@nginx.com
2780531Svbart@nginx.com
2781548Sdefan@nginx.com<changes apply="unit-php
2782548Sdefan@nginx.com                unit-python unit-python2.7
2783548Sdefan@nginx.com                unit-python3.4 unit-python3.5 unit-python3.6
2784548Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8 unit-go1.9"
2785548Sdefan@nginx.com         ver="0.4" rev="1"
2786469Sigor@sysoev.ru         date="2018-01-15" time="18:00:00 +0300"
2787469Sigor@sysoev.ru         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2788469Sigor@sysoev.ru
2789469Sigor@sysoev.ru<change>
2790469Sigor@sysoev.ru<para>
2791469Sigor@sysoev.ruNGINX Unit updated to 0.4.
2792469Sigor@sysoev.ru</para>
2793469Sigor@sysoev.ru</change>
2794469Sigor@sysoev.ru
2795469Sigor@sysoev.ru</changes>
2796469Sigor@sysoev.ru
2797469Sigor@sysoev.ru
2798469Sigor@sysoev.ru<changes apply="unit" ver="0.4" rev="1"
2799469Sigor@sysoev.ru         date="2018-01-15" time="18:00:00 +0300"
2800469Sigor@sysoev.ru         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2801469Sigor@sysoev.ru
2802469Sigor@sysoev.ru<change type="feature">
2803469Sigor@sysoev.ru<para>
2804469Sigor@sysoev.rucompatibility with DragonFly BSD.
2805469Sigor@sysoev.ru</para>
2806469Sigor@sysoev.ru</change>
2807469Sigor@sysoev.ru
2808469Sigor@sysoev.ru<change type="feature">
2809469Sigor@sysoev.ru<para>
2810469Sigor@sysoev.ru"configure php --lib-static" option.
2811469Sigor@sysoev.ru</para>
2812469Sigor@sysoev.ru</change>
2813469Sigor@sysoev.ru
2814469Sigor@sysoev.ru<change type="bugfix">
2815469Sigor@sysoev.ru<para>
2816469Sigor@sysoev.ruHTTP request body was not passed to application;
2817469Sigor@sysoev.ruthe bug had appeared in 0.3.
2818469Sigor@sysoev.ru</para>
2819469Sigor@sysoev.ru</change>
2820469Sigor@sysoev.ru
2821469Sigor@sysoev.ru<change type="bugfix">
2822469Sigor@sysoev.ru<para>
2823469Sigor@sysoev.ruHTTP large header buffers allocation and deallocation fixed;
2824469Sigor@sysoev.ruthe bug had appeared in 0.3.
2825469Sigor@sysoev.ru</para>
2826469Sigor@sysoev.ru</change>
2827469Sigor@sysoev.ru
2828469Sigor@sysoev.ru<change type="bugfix">
2829469Sigor@sysoev.ru<para>
2830663Svbart@nginx.comsome PHP applications might not have worked with relative "root" path.
2831469Sigor@sysoev.ru</para>
2832469Sigor@sysoev.ru</change>
2833469Sigor@sysoev.ru
2834469Sigor@sysoev.ru</changes>
2835469Sigor@sysoev.ru
2836469Sigor@sysoev.ru
2837441Sdefan@nginx.com<changes apply="unit-go1.9" ver="0.3" rev="1"
2838441Sdefan@nginx.com         date="2017-12-28" time="18:00:00 +0300"
2839441Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2840441Sdefan@nginx.com
2841441Sdefan@nginx.com<change>
2842441Sdefan@nginx.com<para>
2843441Sdefan@nginx.comInitial release of Go 1.9 module for NGINX Unit.
2844441Sdefan@nginx.com</para>
2845441Sdefan@nginx.com</change>
2846441Sdefan@nginx.com
2847441Sdefan@nginx.com</changes>
2848441Sdefan@nginx.com
2849441Sdefan@nginx.com
2850441Sdefan@nginx.com<changes apply="unit-python3.6" ver="0.3" rev="1"
2851441Sdefan@nginx.com         date="2017-12-28" time="18:00:00 +0300"
2852441Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2853441Sdefan@nginx.com
2854441Sdefan@nginx.com<change>
2855441Sdefan@nginx.com<para>
2856441Sdefan@nginx.comInitial release of Python 3.6 module for NGINX Unit.
2857441Sdefan@nginx.com</para>
2858441Sdefan@nginx.com</change>
2859441Sdefan@nginx.com
2860441Sdefan@nginx.com</changes>
2861441Sdefan@nginx.com
2862441Sdefan@nginx.com
2863548Sdefan@nginx.com<changes apply="unit-php
2864548Sdefan@nginx.com                unit-python unit-python2.7 unit-python3.4 unit-python3.5
2865548Sdefan@nginx.com                unit-go unit-go1.7 unit-go1.8"
2866548Sdefan@nginx.com         ver="0.3" rev="1"
2867432Sigor@sysoev.ru         date="2017-12-28" time="18:00:00 +0300"
2868432Sigor@sysoev.ru         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2869432Sigor@sysoev.ru
2870432Sigor@sysoev.ru<change>
2871432Sigor@sysoev.ru<para>
2872432Sigor@sysoev.ruNGINX Unit updated to 0.3.
2873432Sigor@sysoev.ru</para>
2874432Sigor@sysoev.ru</change>
2875432Sigor@sysoev.ru
2876432Sigor@sysoev.ru</changes>
2877432Sigor@sysoev.ru
2878432Sigor@sysoev.ru
2879432Sigor@sysoev.ru<changes apply="unit" ver="0.3" rev="1"
2880432Sigor@sysoev.ru         date="2017-12-28" time="18:00:00 +0300"
2881432Sigor@sysoev.ru         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2882432Sigor@sysoev.ru
2883432Sigor@sysoev.ru<change type="change">
2884432Sigor@sysoev.ru<para>
2885432Sigor@sysoev.ruthe Go package name changed to "nginx/unit".
2886432Sigor@sysoev.ru</para>
2887432Sigor@sysoev.ru</change>
2888432Sigor@sysoev.ru
2889432Sigor@sysoev.ru<change type="change">
2890432Sigor@sysoev.ru<para>
2891432Sigor@sysoev.ruin the "limits.timeout" application option: application start time and
2892432Sigor@sysoev.rutime in queue now are not accounted.
2893432Sigor@sysoev.ru</para>
2894432Sigor@sysoev.ru</change>
2895432Sigor@sysoev.ru
2896432Sigor@sysoev.ru<change type="feature">
2897432Sigor@sysoev.ru<para>
2898432Sigor@sysoev.ruthe "limits.requests" application option.
2899432Sigor@sysoev.ru</para>
2900432Sigor@sysoev.ru</change>
2901432Sigor@sysoev.ru
2902432Sigor@sysoev.ru<change type="feature">
2903432Sigor@sysoev.ru<para>
2904432Sigor@sysoev.ruapplication request processing latency optimization.
2905432Sigor@sysoev.ru</para>
2906432Sigor@sysoev.ru</change>
2907432Sigor@sysoev.ru
2908432Sigor@sysoev.ru<change type="feature">
2909432Sigor@sysoev.ru<para>
2910432Sigor@sysoev.ruHTTP keep-alive connections support.
2911432Sigor@sysoev.ru</para>
2912432Sigor@sysoev.ru</change>
2913432Sigor@sysoev.ru
2914432Sigor@sysoev.ru<change type="feature">
2915432Sigor@sysoev.ru<para>
2916432Sigor@sysoev.ruthe "home" Python virtual environment configuration option.
2917432Sigor@sysoev.ru</para>
2918432Sigor@sysoev.ru</change>
2919432Sigor@sysoev.ru
2920432Sigor@sysoev.ru<change type="feature">
2921432Sigor@sysoev.ru<para>
2922432Sigor@sysoev.ruPython atexit hook support.
2923432Sigor@sysoev.ru</para>
2924432Sigor@sysoev.ru</change>
2925432Sigor@sysoev.ru
2926432Sigor@sysoev.ru<change type="feature">
2927432Sigor@sysoev.ru<para>
2928432Sigor@sysoev.ruvarious Go package improvements.
2929432Sigor@sysoev.ru</para>
2930432Sigor@sysoev.ru</change>
2931432Sigor@sysoev.ru
2932432Sigor@sysoev.ru<change type="bugfix">
2933432Sigor@sysoev.ru<para>
2934432Sigor@sysoev.ruvarious crashes fixed.
2935432Sigor@sysoev.ru</para>
2936432Sigor@sysoev.ru</change>
2937432Sigor@sysoev.ru
2938432Sigor@sysoev.ru</changes>
2939432Sigor@sysoev.ru
2940432Sigor@sysoev.ru
2941372Sdefan@nginx.com<changes apply="unit-go" ver="0.2" rev="1"
2942372Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
2943372Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2944372Sdefan@nginx.com
2945372Sdefan@nginx.com<change>
2946372Sdefan@nginx.com<para>
2947372Sdefan@nginx.comInitial release of Go module for NGINX Unit.
2948372Sdefan@nginx.com</para>
2949372Sdefan@nginx.com</change>
2950372Sdefan@nginx.com
2951372Sdefan@nginx.com</changes>
2952372Sdefan@nginx.com
2953372Sdefan@nginx.com
2954373Sdefan@nginx.com<changes apply="unit-go1.7" ver="0.2" rev="1"
2955373Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
2956373Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2957373Sdefan@nginx.com
2958373Sdefan@nginx.com<change>
2959373Sdefan@nginx.com<para>
2960373Sdefan@nginx.comInitial release of Go 1.7 module for NGINX Unit.
2961373Sdefan@nginx.com</para>
2962373Sdefan@nginx.com</change>
2963373Sdefan@nginx.com
2964373Sdefan@nginx.com</changes>
2965373Sdefan@nginx.com
2966373Sdefan@nginx.com
2967373Sdefan@nginx.com<changes apply="unit-go1.8" ver="0.2" rev="1"
2968373Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
2969373Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2970373Sdefan@nginx.com
2971373Sdefan@nginx.com<change>
2972373Sdefan@nginx.com<para>
2973373Sdefan@nginx.comInitial release of Go 1.8 module for NGINX Unit.
2974373Sdefan@nginx.com</para>
2975373Sdefan@nginx.com</change>
2976373Sdefan@nginx.com
2977373Sdefan@nginx.com</changes>
2978373Sdefan@nginx.com
2979373Sdefan@nginx.com
2980372Sdefan@nginx.com<changes apply="unit-python" ver="0.2" rev="1"
2981372Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
2982372Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2983372Sdefan@nginx.com
2984372Sdefan@nginx.com<change>
2985372Sdefan@nginx.com<para>
2986372Sdefan@nginx.comInitial release of Python module for NGINX Unit.
2987372Sdefan@nginx.com</para>
2988372Sdefan@nginx.com</change>
2989372Sdefan@nginx.com
2990372Sdefan@nginx.com</changes>
2991372Sdefan@nginx.com
2992372Sdefan@nginx.com
2993373Sdefan@nginx.com<changes apply="unit-python2.7" ver="0.2" rev="1"
2994373Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
2995373Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
2996373Sdefan@nginx.com
2997373Sdefan@nginx.com<change>
2998373Sdefan@nginx.com<para>
2999373Sdefan@nginx.comInitial release of Python 2.7 module for NGINX Unit.
3000373Sdefan@nginx.com</para>
3001373Sdefan@nginx.com</change>
3002373Sdefan@nginx.com
3003373Sdefan@nginx.com</changes>
3004373Sdefan@nginx.com
3005373Sdefan@nginx.com
3006373Sdefan@nginx.com<changes apply="unit-python3.4" ver="0.2" rev="1"
3007373Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
3008373Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3009373Sdefan@nginx.com
3010373Sdefan@nginx.com<change>
3011373Sdefan@nginx.com<para>
3012373Sdefan@nginx.comInitial release of Python 3.4 module for NGINX Unit.
3013373Sdefan@nginx.com</para>
3014373Sdefan@nginx.com</change>
3015373Sdefan@nginx.com
3016373Sdefan@nginx.com</changes>
3017373Sdefan@nginx.com
3018373Sdefan@nginx.com
3019373Sdefan@nginx.com<changes apply="unit-python3.5" ver="0.2" rev="1"
3020373Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
3021373Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3022373Sdefan@nginx.com
3023373Sdefan@nginx.com<change>
3024373Sdefan@nginx.com<para>
3025373Sdefan@nginx.comInitial release of Python 3.5 module for NGINX Unit.
3026373Sdefan@nginx.com</para>
3027373Sdefan@nginx.com</change>
3028373Sdefan@nginx.com
3029373Sdefan@nginx.com</changes>
3030373Sdefan@nginx.com
3031373Sdefan@nginx.com
3032372Sdefan@nginx.com<changes apply="unit-php" ver="0.2" rev="1"
3033372Sdefan@nginx.com         date="2017-10-19" time="18:00:00 +0300"
3034372Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3035372Sdefan@nginx.com
3036372Sdefan@nginx.com<change>
3037372Sdefan@nginx.com<para>
3038372Sdefan@nginx.comInitial release of PHP module for NGINX Unit.
3039372Sdefan@nginx.com</para>
3040372Sdefan@nginx.com</change>
3041372Sdefan@nginx.com
3042372Sdefan@nginx.com</changes>
3043372Sdefan@nginx.com
3044372Sdefan@nginx.com
3045370Sigor@sysoev.ru<changes apply="unit" ver="0.2" rev="1"
3046370Sigor@sysoev.ru         date="2017-10-19" time="18:00:00 +0300"
3047370Sigor@sysoev.ru         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3048370Sigor@sysoev.ru
3049370Sigor@sysoev.ru<change type="feature">
3050370Sigor@sysoev.ru<para>
3051370Sigor@sysoev.ruconfiguration persistence.
3052370Sigor@sysoev.ru</para>
3053370Sigor@sysoev.ru</change>
3054370Sigor@sysoev.ru
3055370Sigor@sysoev.ru<change type="feature">
3056370Sigor@sysoev.ru<para>
3057370Sigor@sysoev.ruimproved handling of configuration errors.
3058370Sigor@sysoev.ru</para>
3059370Sigor@sysoev.ru</change>
3060370Sigor@sysoev.ru
3061370Sigor@sysoev.ru<change type="feature">
3062370Sigor@sysoev.ru<para>
3063370Sigor@sysoev.ruapplication "timeout" property.
3064370Sigor@sysoev.ru</para>
3065370Sigor@sysoev.ru</change>
3066370Sigor@sysoev.ru
3067370Sigor@sysoev.ru<change type="bugfix">
3068370Sigor@sysoev.ru<para>
3069370Sigor@sysoev.ruPOST request for PHP were handled incorrectly.
3070370Sigor@sysoev.ru</para>
3071370Sigor@sysoev.ru</change>
3072370Sigor@sysoev.ru
3073370Sigor@sysoev.ru<change type="bugfix">
3074370Sigor@sysoev.ru<para>
3075370Sigor@sysoev.ruthe router exited abnormally if all listeners had been deleted.
3076370Sigor@sysoev.ru</para>
3077370Sigor@sysoev.ru</change>
3078370Sigor@sysoev.ru
3079370Sigor@sysoev.ru<change type="bugfix">
3080370Sigor@sysoev.ru<para>
3081370Sigor@sysoev.ruthe router crashed under load.
3082370Sigor@sysoev.ru</para>
3083370Sigor@sysoev.ru</change>
3084370Sigor@sysoev.ru
3085370Sigor@sysoev.ru<change type="bugfix">
3086370Sigor@sysoev.ru<para>
3087370Sigor@sysoev.rumemory leak in the router.
3088370Sigor@sysoev.ru</para>
3089370Sigor@sysoev.ru</change>
3090370Sigor@sysoev.ru
3091370Sigor@sysoev.ru</changes>
3092370Sigor@sysoev.ru
3093370Sigor@sysoev.ru
3094369Sdefan@nginx.com<changes apply="unit" ver="0.1" rev="1"
3095369Sdefan@nginx.com         date="2017-09-06" time="19:14:28 +0300"
3096369Sdefan@nginx.com         packager="Andrei Belov &lt;defan@nginx.com&gt;">
3097369Sdefan@nginx.com
3098369Sdefan@nginx.com<change>
3099369Sdefan@nginx.com<para>
3100369Sdefan@nginx.comFirst public release.
3101369Sdefan@nginx.com</para>
3102369Sdefan@nginx.com</change>
3103369Sdefan@nginx.com
3104369Sdefan@nginx.com</changes>
3105369Sdefan@nginx.com
3106369Sdefan@nginx.com
3107369Sdefan@nginx.com</change_log>
3108