unit/docs/changes.xml
2020-11-19 19:59:18 +03:00

2532 lines
52 KiB
XML

<?xml version="1.0" ?>
<!DOCTYPE change_log SYSTEM "changes.dtd" >
<change_log title="unit">
<changes apply="unit-jsc15" ver="1.21.0" rev="1"
date="2020-11-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Java 15 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-jsc14" ver="1.21.0" rev="1"
date="2020-11-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Java 14 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-jsc13" ver="1.21.0" rev="1"
date="2020-11-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Java 13 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.21.0" rev="1"
date="2020-11-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.21.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.21.0" rev="1"
date="2020-11-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
procfs is mounted by default for all languages when "rootfs" isolation is used.
</para>
</change>
<change type="change">
<para>
any characters valid according to RFC 7230 are now allowed in HTTP header field
names.
</para>
</change>
<change type="change">
<para>
HTTP header fields with underscores ("_") are now discarded from requests by
default.
</para>
</change>
<change type="feature">
<para>
optional multithreaded request processing for Java, Python, Perl, and Ruby apps.
</para>
</change>
<change type="feature">
<para>
regular expressions in route matching patterns.
</para>
</change>
<change type="feature">
<para>
compatibility with Python 3.9.
</para>
</change>
<change type="feature">
<para>
the Python module now supports ASGI 2.0 legacy applications.
</para>
</change>
<change type="feature">
<para>
the "protocol" option in Python applications aids choice between ASGI and WSGI.
</para>
</change>
<change type="feature">
<para>
the fastcgi_finish_request() PHP function that finalizes request processing and
continues code execution without holding onto the client connection.
</para>
</change>
<change type="feature">
<para>
the "discard_unsafe_fields" HTTP option that enables discarding request header
fields with irregular (but still valid) characters in the field name.
</para>
</change>
<change type="feature">
<para>
the "procfs" and "tmpfs" automount isolation options to disable automatic
mounting of eponymous filesystems.
</para>
</change>
<change type="bugfix">
<para>
the router process could crash when running Go applications under high load;
the bug had appeared in 1.19.0.
</para>
</change>
<change type="bugfix">
<para>
some language dependencies could remain mounted after using "rootfs" isolation.
</para>
</change>
<change type="bugfix">
<para>
various compatibility issues in Java applications.
</para>
</change>
<change type="bugfix">
<para>
the Java module built with the musl C library couldn't run applications that
use "rootfs" isolation.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.20.0" rev="1"
date="2020-10-08" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.20.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.20.0" rev="1"
date="2020-10-08" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
the PHP module is now initialized before chrooting; this enables loading all
extensions from the host system.
</para>
</change>
<change type="change">
<para>
AVIF and APNG image formats added to the default MIME type list.
</para>
</change>
<change type="change">
<para>
functional tests migrated to the pytest framework.
</para>
</change>
<change type="feature">
<para>
the Python module now fully supports applications that use the ASGI 3.0 server
interface.
</para>
</change>
<change type="feature">
<para>
the Python module now has a built-in WebSocket server implementation for
applications, compatible with the HTTP &amp; WebSocket ASGI Message Format 2.1
specification.
</para>
</change>
<change type="feature">
<para>
automatic mounting of an isolated "/tmp" file system into chrooted application
environments.
</para>
</change>
<change type="feature">
<para>
the $host variable contains a normalized "Host" request value.
</para>
</change>
<change type="feature">
<para>
the "callable" option sets Python application callable names.
</para>
</change>
<change type="feature">
<para>
compatibility with PHP 8 RC 1. Thanks to Remi Collet.
</para>
</change>
<change type="feature">
<para>
the "automount" option in the "isolation" object allows to turn off the
automatic mounting of language module dependencies.
</para>
</change>
<change type="bugfix">
<para>
"pass"-ing requests to upstreams from a route was broken; the bug had appeared
in 1.19.0. Thanks to 洪志道 (Hong Zhi Dao) for discovering and fixing it.
</para>
</change>
<change type="bugfix">
<para>
the router process could crash during reconfiguration.
</para>
</change>
<change type="bugfix">
<para>
a memory leak occurring in the router process; the bug had appeared in 1.18.0.
</para>
</change>
<change type="bugfix">
<para>
the "!" (non-empty) pattern was matched incorrectly;
the bug had appeared in 1.19.0.
</para>
</change>
<change type="bugfix">
<para>
fixed building on platforms without sendfile() support, notably NetBSD;
the bug had appeared in 1.16.0.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.19.0" rev="1"
date="2020-08-13" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.19.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.19.0" rev="1"
date="2020-08-13" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
reworked IPC between the router process and the applications to lower latencies,
increase performance, and improve scalability.
</para>
</change>
<change type="feature">
<para>
support for an arbitrary number of wildcards in route matching patterns.
</para>
</change>
<change type="feature">
<para>
chunked transfer encoding in proxy responses.
</para>
</change>
<change type="feature">
<para>
basic variables support in the "pass" option.
</para>
</change>
<change type="feature">
<para>
compatibility with PHP 8 Beta 1.
Thanks to Remi Collet.
</para>
</change>
<change type="bugfix">
<para>
the router process could crash while passing requests to an application under
high load.
</para>
</change>
<change type="bugfix">
<para>
a number of language modules failed to build on some systems;
the bug had appeared in 1.18.0.
</para>
</change>
<change type="bugfix">
<para>
time in error log messages from PHP applications could lag.
</para>
</change>
<change type="bugfix">
<para>
reconfiguration requests could hang if an application had failed to start;
the bug had appeared in 1.18.0.
</para>
</change>
<change type="bugfix">
<para>
memory leak during reconfiguration.
</para>
</change>
<change type="bugfix">
<para>
the daemon didn't start without language modules;
the bug had appeared in 1.18.0.
</para>
</change>
<change type="bugfix">
<para>
the router process could crash at exit.
</para>
</change>
<change type="bugfix">
<para>
Node.js applications could crash at exit.
</para>
</change>
<change type="bugfix">
<para>
the Ruby module could be linked against a wrong library version.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.18.0" rev="1"
date="2020-05-28" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.18.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.18.0" rev="1"
date="2020-05-28" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
the "rootfs" isolation option for changing root filesystem for an application.
</para>
</change>
<change type="feature">
<para>
multiple "targets" in PHP applications.
</para>
</change>
<change type="feature">
<para>
support for percent-encoding in the "uri" and "arguments" matching options
and in the "pass" option.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.17.0" rev="1"
date="2020-04-16" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.17.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.17.0" rev="1"
date="2020-04-16" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
a "return" action with optional "location" for immediate responses and external
redirection.
</para>
</change>
<change type="feature">
<para>
fractional weights support for upstream servers.
</para>
</change>
<change type="bugfix">
<para>
accidental 502 "Bad Gateway" errors might have occurred in applications under
high load.
</para>
</change>
<change type="bugfix">
<para>
memory leak in the router; the bug had appeared in 1.13.0.
</para>
</change>
<change type="bugfix">
<para>
segmentation fault might have occurred in the router process when reaching
open connections limit.
</para>
</change>
<change type="bugfix">
<para>
"close() failed (9: Bad file descriptor)" alerts might have appeared in the log
while processing large request bodies; the bug had appeared in 1.16.0.
</para>
</change>
<change type="bugfix">
<para>
existing application processes didn't reopen the log file.
</para>
</change>
<change type="bugfix">
<para>
incompatibility with some Node.js applications.
</para>
</change>
<change type="bugfix">
<para>
broken build on DragonFly BSD; the bug had appeared in 1.16.0.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.16.0" rev="1"
date="2020-03-12" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.16.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.16.0" rev="1"
date="2020-03-12" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
basic load-balancing support with round-robin.
</para>
</change>
<change type="feature">
<para>
a "fallback" option that performs an alternative action if a request can't be
served from the "share" directory.
</para>
</change>
<change type="feature">
<para>
reduced memory consumption by dumping large request bodies to disk.
</para>
</change>
<change type="feature">
<para>
stripping UTF-8 BOM and JavaScript-style comments from uploaded JSON.
</para>
</change>
<change type="bugfix">
<para>
negative address matching in router might work improperly in combination with
non-negative patterns.
</para>
</change>
<change type="bugfix">
<para>
Java Spring applications failed to run; the bug had appeared in 1.10.0.
</para>
</change>
<change type="bugfix">
<para>
PHP 7.4 was broken if it was built with thread safety enabled.
</para>
</change>
<change type="bugfix">
<para>
compatibility issues with some Python applications.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.15.0" rev="1"
date="2020-02-06" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.15.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.15.0" rev="1"
date="2020-02-06" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
extensions of dynamically requested PHP scripts were restricted to ".php".
</para>
</change>
<change type="feature">
<para>
compatibility with Ruby 2.7.
</para>
</change>
<change type="bugfix">
<para>
segmentation fault might have occurred in the router process with multiple
application processes under load; the bug had appeared in 1.14.0.
</para>
</change>
<change type="bugfix">
<para>
receiving request body over TLS connection might have stalled.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-python3.8
unit-go
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.14.0" rev="1"
date="2019-12-26" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.14.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.14.0" rev="1"
date="2019-12-26" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
the Go package import name changed to "unit.nginx.org/go".
</para>
</change>
<change type="change">
<para>
Go package now links to libunit instead of including library sources.
</para>
</change>
<change type="feature">
<para>
ability to change user and group for isolated applications when Unit daemon
runs as an unprivileged user.
</para>
</change>
<change type="feature">
<para>
request routing by source and destination addresses and ports.
</para>
</change>
<change type="bugfix">
<para>
memory bloat on large responses.
</para>
</change>
</changes>
<changes apply="unit-go1.13" ver="1.13.0" rev="1"
date="2019-11-20" time="09:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go 1.13 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-go1.12" ver="1.13.0" rev="1"
date="2019-11-20" time="09:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go 1.12 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-python3.8" ver="1.13.0" rev="1"
date="2019-11-18" time="14:20:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Python 3.8 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.13.0" rev="1"
date="2019-11-14" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.13.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.13.0" rev="1"
date="2019-11-14" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
basic support for HTTP reverse proxying.
</para>
</change>
<change type="feature">
<para>
compatibility with Python 3.8.
</para>
</change>
<change type="bugfix">
<para>
memory leak in Python application processes when the close handler was used.
</para>
</change>
<change type="bugfix">
<para>
threads in Python applications might not work correctly.
</para>
</change>
<change type="bugfix">
<para>
Ruby on Rails applications might not work on Ruby 2.6.
</para>
</change>
<change type="bugfix">
<para>
backtraces for uncaught exceptions in Python 3 might be logged with significant
delays.
</para>
</change>
<change type="bugfix">
<para>
explicit setting a namespaces isolation option to false might have enabled it.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.12.0" rev="1"
date="2019-10-03" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.12.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.12.0" rev="1"
date="2019-10-03" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
compatibility with PHP 7.4.
</para>
</change>
<change type="bugfix">
<para>
descriptors leak on process creation; the bug had appeared in 1.11.0.
</para>
</change>
<change type="bugfix">
<para>
TLS connection might be closed prematurely while sending response.
</para>
</change>
<change type="bugfix">
<para>
segmentation fault might have occurred if an irregular file was requested.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.11.0" rev="1"
date="2019-09-19" time="18:00:00 +0300"
packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.11.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.11.0" rev="1"
date="2019-09-19" time="18:00:00 +0300"
packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
<change type="feature">
<para>
basic support for serving static files.
</para>
</change>
<change type="feature">
<para>
isolation of application processes with Linux namespaces.
</para>
</change>
<change type="feature">
<para>
built-in WebSocket server implementation for Java Servlet Containers.
</para>
</change>
<change type="feature">
<para>
direct addressing of API configuration options containing slashes "/"
using URI encoding (%2F).
</para>
</change>
<change type="bugfix">
<para>
segmentation fault might have occurred in Go applications under high load.
</para>
</change>
<change type="bugfix">
<para>
WebSocket support was broken if Unit was built with some linkers other than
GNU ld (e.g. gold or LLD).
</para>
</change>
</changes>
<changes apply="unit
unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.10.0" rev="2"
date="2019-08-23" time="12:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="bugfix">
<para>
missed header files added to unit development package.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.10.0" rev="1"
date="2019-08-22" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.10.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.10.0" rev="1"
date="2019-08-22" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
matching of cookies in routes made case sensitive.
</para>
</change>
<change type="change">
<para>
decreased log level of common errors when clients close connections.
</para>
</change>
<change type="change">
<para>
removed the Perl module's "--include=" ./configure option.
</para>
</change>
<change type="feature">
<para>
built-in WebSocket server implementation for Node.js module.
</para>
</change>
<change type="feature">
<para>
splitting PATH_INFO from request URI in PHP module.
</para>
</change>
<change type="feature">
<para>
request routing by scheme (HTTP or HTTPS).
</para>
</change>
<change type="feature">
<para>
support for multipart requests body in Java module.
</para>
</change>
<change type="feature">
<para>
improved API compatibility with Node.js 11.10 or later.
</para>
</change>
<change type="bugfix">
<para>
reconfiguration failed if "listeners" or "applications" objects were missing.
</para>
</change>
<change type="bugfix">
<para>
applying a large configuration might have failed.
</para>
</change>
</changes>
<changes apply="unit-go1.11" ver="1.9.0" rev="1"
date="2019-05-30" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go 1.11 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby
unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11"
ver="1.9.0" rev="1"
date="2019-05-30" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.9.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.9.0" rev="1"
date="2019-05-30" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
request routing by arguments, headers, and cookies.
</para>
</change>
<change type="feature">
<para>
route matching patterns allow a wildcard in the middle.
</para>
</change>
<change type="feature">
<para>
POST operation for appending elements to arrays in configuration.
</para>
</change>
<change type="feature">
<para>
support for changing credentials using CAP_SETUID and CAP_SETGID capabilities
on Linux without running main process as privileged user.
</para>
</change>
<change type="bugfix">
<para>
memory leak in the router process might have happened when a client
prematurely closed the connection.
</para>
</change>
<change type="bugfix">
<para>
applying a large configuration might have failed.
</para>
</change>
<change type="bugfix">
<para>
PUT and DELETE operations on array elements in configuration did not work.
</para>
</change>
<change type="bugfix">
<para>
request schema in applications did not reflect TLS connections.
</para>
</change>
<change type="bugfix">
<para>
restored compatibility with Node.js applications that use
ServerResponse._implicitHeader() function; the bug had appeared in 1.7.
</para>
</change>
<change type="bugfix">
<para>
various compatibility issues with Node.js applications.
</para>
</change>
</changes>
<changes apply="unit-jsc-common" ver="1.8.0" rev="1"
date="2019-03-01" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Java common packages for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-jsc8" ver="1.8.0" rev="1"
date="2019-03-01" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Java 8 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-jsc10" ver="1.8.0" rev="1"
date="2019-03-01" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Java 10 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-jsc11" ver="1.8.0" rev="1"
date="2019-03-01" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Java 11 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.8.0" rev="1"
date="2019-03-01" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.8.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.8.0" rev="1"
date="2019-03-01" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
now three numbers are always used for versioning: major, minor,
and patch versions.
</para>
</change>
<change type="change">
<para>
now QUERY_STRING is always defined even if the request does not include
the query component.
</para>
</change>
<change type="feature">
<para>
basic internal request routing by Host, URI, and method.
</para>
</change>
<change type="feature">
<para>
experimental support for Java Servlet Containers.
</para>
</change>
<change type="bugfix">
<para>
segmentation fault might have occurred in the router process.
</para>
</change>
<change type="bugfix">
<para>
various potential memory leaks.
</para>
</change>
<change type="bugfix">
<para>
TLS connections might have stalled.
</para>
</change>
<change type="bugfix">
<para>
some Perl applications might have failed to send the response body.
</para>
</change>
<change type="bugfix">
<para>
some compilers with specific flags might have produced non-functioning builds;
the bug had appeared in 1.5.
</para>
</change>
<change type="bugfix">
<para>
Node.js package had wrong version number when installed from sources.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.7.1" rev="1"
date="2019-02-07" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.7.1.
</para>
</change>
</changes>
<changes apply="unit" ver="1.7.1" rev="1"
date="2019-02-07" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="security">
<para>
a heap memory buffer overflow might have been caused in the router process by
a specially crafted request, potentially resulting in a segmentation fault or
other unspecified behavior (CVE-2019-7401).
</para>
</change>
<change type="bugfix">
<para>
install of Go module failed without prior building of Unit daemon;
the bug had appeared in 1.7.
</para>
</change>
</changes>
<changes apply="unit-python3.7" ver="1.7" rev="1"
date="2018-12-25" time="10:30:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Python 3.7 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.7" rev="1"
date="2018-12-20" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.7.
</para>
</change>
</changes>
<changes apply="unit" ver="1.7" rev="1"
date="2018-12-20" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
now rpath is set in Ruby module only if the library was not found in default
search paths; this allows to meet packaging restrictions on some systems.
</para>
</change>
<change type="bugfix">
<para>
"disable_functions" and "disable_classes" PHP options set via Control API
did not work.
</para>
</change>
<change type="bugfix">
<para>
Promises on request data in Node.js were not triggered.
</para>
</change>
<change type="bugfix">
<para>
various compatibility issues with Node.js applications.
</para>
</change>
<change type="bugfix">
<para>
a segmentation fault occurred in Node.js module if application tried to read
request body after request.end() was called.
</para>
</change>
<change type="bugfix">
<para>
a segmentation fault occurred in Node.js module if application attempted to
send header twice.
</para>
</change>
<change type="bugfix">
<para>
names of response header fields in Node.js module were erroneously treated as
case-sensitive.
</para>
</change>
<change type="bugfix">
<para>
uncatched exceptions in Node.js were not logged.
</para>
</change>
<change type="bugfix">
<para>
global install of Node.js module from sources was broken on some systems;
the bug had appeared in 1.6.
</para>
</change>
<change type="bugfix">
<para>
traceback for exceptions during initialization of Python applications might not
be logged.
</para>
</change>
<change type="bugfix">
<para>
PHP module build failed if PHP interpreter was built with thread safety
enabled.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.6" rev="1"
date="2018-11-15" time="18:00:00 +0300"
packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.6.
</para>
</change>
</changes>
<changes apply="unit" ver="1.6" rev="1"
date="2018-11-15" time="18:00:00 +0300"
packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
<change type="change">
<para>
"make install" now installs Node.js module as well if it was configured.
</para>
</change>
<change type="feature">
<para>
"--local" ./configure option to install Node.js module locally.
</para>
</change>
<change type="bugfix">
<para>
Node.js module might have crashed due to broken reference counting.
</para>
</change>
<change type="bugfix">
<para>
asynchronous operations in Node.js might not have worked.
</para>
</change>
<change type="bugfix">
<para>
various compatibility issues with Node.js applications.
</para>
</change>
<change type="bugfix">
<para>
"freed pointer is out of pool" alerts might have appeared in log.
</para>
</change>
<change type="bugfix">
<para>
module discovery did not work on 64-bit big-endian systems like IBM/S390x.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.5" rev="1"
date="2018-10-25" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.5.
</para>
</change>
</changes>
<changes apply="unit" ver="1.5" rev="1"
date="2018-10-25" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
the "type" of application object for Go was changed to "external".
</para>
</change>
<change type="feature">
<para>
initial version of Node.js package with basic HTTP request-response support.
</para>
</change>
<change type="feature">
<para>
compatibility with LibreSSL.
</para>
</change>
<change type="feature">
<para>
--libdir and --incdir ./configure options to install libunit headers
and static library.
</para>
</change>
<change type="bugfix">
<para>
connection might be closed prematurely while sending response;
the bug had appeared in 1.3.
</para>
</change>
<change type="bugfix">
<para>
application processes might have stopped handling requests, producing
"last message send failed: Resource temporarily unavailable" alerts in log;
the bug had appeared in 1.4.
</para>
</change>
<change type="bugfix">
<para>
Go applications did not work when Unit was built with musl C library.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.4" rev="2"
date="2018-09-27" time="13:30:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="bugfix">
<para>
corrected instructions for launching sample application.
</para>
</change>
</changes>
<changes apply="unit" ver="1.4" rev="2"
date="2018-09-27" time="13:30:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
the "saveconfig" and "loadconfig" action scripts were removed.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.4" rev="1"
date="2018-09-20" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.4.
</para>
</change>
</changes>
<changes apply="unit" ver="1.4" rev="1"
date="2018-09-20" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
the control API maps the configuration object only at "/config/".
</para>
</change>
<change type="feature">
<para>
TLS support for client connections.
</para>
</change>
<change type="feature">
<para>
TLS certificates storage control API.
</para>
</change>
<change type="feature">
<para>
Unit library (libunit) to streamline language module integration.
</para>
</change>
<change type="feature">
<para>
"408 Request Timeout" responses while closing HTTP keep-alive connections.
</para>
</change>
<change type="feature">
<para>
improvements in OpenBSD support.
Thanks to David Carlier.
</para>
</change>
<change type="bugfix">
<para>
a segmentation fault might have occurred after reconfiguration.
</para>
</change>
<change type="bugfix">
<para>
building on systems with non-default locale might be broken.
</para>
</change>
<change type="bugfix">
<para>
"header_read_timeout" might not work properly.
</para>
</change>
<change type="bugfix">
<para>
header fields values with non-ASCII bytes might be handled incorrectly
in Python 3 module.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.3" rev="1"
date="2018-07-13" time="18:00:00 +0300"
packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.3.
</para>
</change>
</changes>
<changes apply="unit" ver="1.3" rev="1"
date="2018-07-13" time="18:00:00 +0300"
packager="Konstantin Pavlov &lt;thresh@nginx.com&gt;">
<change type="change">
<para>
UTF-8 characters are now allowed in request header field values.
</para>
</change>
<change type="feature">
<para>
configuration of the request body size limit.
</para>
</change>
<change type="feature">
<para>
configuration of various HTTP connection timeouts.
</para>
</change>
<change type="feature">
<para>
Ruby module now automatically uses Bundler where possible.
</para>
</change>
<change type="feature">
<para>
http.Flusher interface in Go module.
</para>
</change>
<change type="bugfix">
<para>
various issues in HTTP connection errors handling.
</para>
</change>
<change type="bugfix">
<para>
requests with body data might be handled incorrectly in PHP module.
</para>
</change>
<change type="bugfix">
<para>
individual PHP configuration options specified via control API were reset
to previous values after the first request in application process.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10
unit-perl
unit-ruby"
ver="1.2" rev="1"
date="2018-06-07" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.2.
</para>
</change>
</changes>
<changes apply="unit" ver="1.2" rev="1"
date="2018-06-07" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
configuration of environment variables for application processes.
</para>
</change>
<change type="feature">
<para>
customization of php.ini path.
</para>
</change>
<change type="feature">
<para>
setting of individual PHP configuration options.
</para>
</change>
<change type="feature">
<para>
configuration of execution arguments for Go applications.
</para>
</change>
<change type="bugfix">
<para>
keep-alive connections might hang after reconfiguration.
</para>
</change>
</changes>
<changes apply="unit-go1.10" ver="1.1" rev="1"
date="2018-05-14" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go 1.10 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9
unit-perl
unit-ruby"
ver="1.1" rev="1"
date="2018-04-26" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.1.
</para>
</change>
</changes>
<changes apply="unit" ver="1.1" rev="1"
date="2018-04-26" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="bugfix">
<para>
Python applications that use the write() callable did not work.
</para>
</change>
<change type="bugfix">
<para>
virtual environments created with Python 3.3 or above might not have worked.
</para>
</change>
<change type="bugfix">
<para>
the request.Read() function in Go applications did not produce EOF
when the whole body was read.
</para>
</change>
<change type="bugfix">
<para>
a segmentation fault might have occurred while access log reopening.
</para>
</change>
<change type="bugfix">
<para>
in parsing of IPv6 control socket addresses.
</para>
</change>
<change type="bugfix">
<para>
loading of application modules was broken on OpenBSD.
</para>
</change>
<change type="bugfix">
<para>
a segmentation fault might have occurred when there were two modules
with the same type and version; the bug had appeared in 1.0.
</para>
</change>
<change type="bugfix">
<para>
alerts "freed pointer points to non-freeble page" might have appeared in log
on 32-bit platforms.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9
unit-perl
unit-ruby"
ver="1.0" rev="1"
date="2018-04-12" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 1.0.
</para>
</change>
</changes>
<changes apply="unit" ver="1.0" rev="1"
date="2018-04-12" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
configuration object moved into "/config/" path.
</para>
</change>
<change type="feature">
<para>
basic access logging.
</para>
</change>
<change type="bugfix">
<para>
503 error occurred if Go application did not write response header or body.
</para>
</change>
<change type="bugfix">
<para>
Ruby applications that use encoding conversions might not have worked.
</para>
</change>
<change type="bugfix">
<para>
various stability issues.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9
unit-perl"
ver="0.7" rev="1"
date="2018-03-22" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 0.7.
</para>
</change>
</changes>
<changes apply="unit-ruby" ver="0.7" rev="1"
date="2018-04-02" time="15:40:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Ruby module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit" ver="0.7" rev="1"
date="2018-03-22" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
Ruby application module.
</para>
</change>
<change type="bugfix">
<para>
in discovering modules.
</para>
</change>
<change type="bugfix">
<para>
various race conditions on reconfiguration and during shutting down.
</para>
</change>
<change type="bugfix">
<para>
tabs and trailing spaces were not allowed in header fields values.
</para>
</change>
<change type="bugfix">
<para>
a segmentation fault occurred in Python module if start_response() was called
outside of WSGI callable.
</para>
</change>
<change type="bugfix">
<para>
a segmentation fault might have occurred in PHP module if there was an error
while initialization.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9
unit-perl"
ver="0.6" rev="1"
date="2018-02-09" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 0.6.
</para>
</change>
</changes>
<changes apply="unit" ver="0.6" rev="1"
date="2018-02-09" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="bugfix">
<para>
the main process died when the "type" application option contained version;
the bug had appeared in 0.5.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9"
ver="0.5" rev="1"
date="2018-02-08" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 0.5.
</para>
</change>
</changes>
<changes apply="unit-perl" ver="0.5" rev="1"
date="2018-02-08" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Perl module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit" ver="0.5" rev="1"
date="2018-02-08" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
the "workers" application option was removed, the "processes"
application option should be used instead.
</para>
</change>
<change type="feature">
<para>
the "processes" application option with prefork and dynamic
process management support.
</para>
</change>
<change type="feature">
<para>
Perl application module.
</para>
</change>
<change type="bugfix">
<para>
in reading client request body; the bug had appeared in 0.3.
</para>
</change>
<change type="bugfix">
<para>
some Python applications might not have worked due to missing
"wsgi.errors" environ variable.
</para>
</change>
<change type="bugfix">
<para>
HTTP chunked responses might be encoded incorrectly on 32-bit
platforms.
</para>
</change>
<change type="bugfix">
<para>
infinite looping in HTTP parser.
</para>
</change>
<change type="bugfix">
<para>
segmentation fault in router.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7
unit-python3.4 unit-python3.5 unit-python3.6
unit-go unit-go1.7 unit-go1.8 unit-go1.9"
ver="0.4" rev="1"
date="2018-01-15" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 0.4.
</para>
</change>
</changes>
<changes apply="unit" ver="0.4" rev="1"
date="2018-01-15" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
compatibility with DragonFly BSD.
</para>
</change>
<change type="feature">
<para>
"configure php --lib-static" option.
</para>
</change>
<change type="bugfix">
<para>
HTTP request body was not passed to application;
the bug had appeared in 0.3.
</para>
</change>
<change type="bugfix">
<para>
HTTP large header buffers allocation and deallocation fixed;
the bug had appeared in 0.3.
</para>
</change>
<change type="bugfix">
<para>
some PHP applications might not have worked with relative "root" path.
</para>
</change>
</changes>
<changes apply="unit-go1.9" ver="0.3" rev="1"
date="2017-12-28" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go 1.9 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-python3.6" ver="0.3" rev="1"
date="2017-12-28" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Python 3.6 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php
unit-python unit-python2.7 unit-python3.4 unit-python3.5
unit-go unit-go1.7 unit-go1.8"
ver="0.3" rev="1"
date="2017-12-28" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
NGINX Unit updated to 0.3.
</para>
</change>
</changes>
<changes apply="unit" ver="0.3" rev="1"
date="2017-12-28" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="change">
<para>
the Go package name changed to "nginx/unit".
</para>
</change>
<change type="change">
<para>
in the "limits.timeout" application option: application start time and
time in queue now are not accounted.
</para>
</change>
<change type="feature">
<para>
the "limits.requests" application option.
</para>
</change>
<change type="feature">
<para>
application request processing latency optimization.
</para>
</change>
<change type="feature">
<para>
HTTP keep-alive connections support.
</para>
</change>
<change type="feature">
<para>
the "home" Python virtual environment configuration option.
</para>
</change>
<change type="feature">
<para>
Python atexit hook support.
</para>
</change>
<change type="feature">
<para>
various Go package improvements.
</para>
</change>
<change type="bugfix">
<para>
various crashes fixed.
</para>
</change>
</changes>
<changes apply="unit-go" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-go1.7" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go 1.7 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-go1.8" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Go 1.8 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-python" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Python module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-python2.7" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Python 2.7 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-python3.4" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Python 3.4 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-python3.5" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of Python 3.5 module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit-php" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
Initial release of PHP module for NGINX Unit.
</para>
</change>
</changes>
<changes apply="unit" ver="0.2" rev="1"
date="2017-10-19" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change type="feature">
<para>
configuration persistence.
</para>
</change>
<change type="feature">
<para>
improved handling of configuration errors.
</para>
</change>
<change type="feature">
<para>
application "timeout" property.
</para>
</change>
<change type="bugfix">
<para>
POST request for PHP were handled incorrectly.
</para>
</change>
<change type="bugfix">
<para>
the router exited abnormally if all listeners had been deleted.
</para>
</change>
<change type="bugfix">
<para>
the router crashed under load.
</para>
</change>
<change type="bugfix">
<para>
memory leak in the router.
</para>
</change>
</changes>
<changes apply="unit" ver="0.1" rev="1"
date="2017-09-06" time="19:14:28 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
<change>
<para>
First public release.
</para>
</change>
</changes>
</change_log>