Changes with Unit 1.4 20 Sep 2018 *) Change: the control API maps the configuration object only at "/config/". *) Feature: TLS support for client connections. *) Feature: TLS certificates storage control API. *) Feature: Unit library (libunit) to streamline language module integration. *) Feature: "408 Request Timeout" responses while closing HTTP keep-alive connections. *) Feature: improvements in OpenBSD support. Thanks to David Carlier. *) Bugfix: a segmentation fault might have occurred after reconfiguration. *) Bugfix: building on systems with non-default locale might be broken. *) Bugfix: "header_read_timeout" might not work properly. *) Bugfix: header fields values with non-ASCII bytes might be handled incorrectly in Python 3 module. Changes with Unit 1.3 13 Jul 2018 *) Change: UTF-8 characters are now allowed in request header field values. *) Feature: configuration of the request body size limit. *) Feature: configuration of various HTTP connection timeouts. *) Feature: Ruby module now automatically uses Bundler where possible. *) Feature: http.Flusher interface in Go module. *) Bugfix: various issues in HTTP connection errors handling. *) Bugfix: requests with body data might be handled incorrectly in PHP module. *) Bugfix: individual PHP configuration options specified via control API were reset to previous values after the first request in application process. Changes with Unit 1.2 07 Jun 2018 *) Feature: configuration of environment variables for application processes. *) Feature: customization of php.ini path. *) Feature: setting of individual PHP configuration options. *) Feature: configuration of execution arguments for Go applications. *) Bugfix: keep-alive connections might hang after reconfiguration. Changes with Unit 1.1 26 Apr 2018 *) Bugfix: Python applications that use the write() callable did not work. *) Bugfix: virtual environments created with Python 3.3 or above might not have worked. *) Bugfix: the request.Read() function in Go applications did not produce EOF when the whole body was read. *) Bugfix: a segmentation fault might have occurred while access log reopening. *) Bugfix: in parsing of IPv6 control socket addresses. *) Bugfix: loading of application modules was broken on OpenBSD. *) Bugfix: a segmentation fault might have occurred when there were two modules with the same type and version; the bug had appeared in 1.0. *) Bugfix: alerts "freed pointer points to non-freeble page" might have appeared in log on 32-bit platforms. Changes with Unit 1.0 12 Apr 2018 *) Change: configuration object moved into "/config/" path. *) Feature: basic access logging. *) Bugfix: 503 error occurred if Go application did not write response header or body. *) Bugfix: Ruby applications that use encoding conversions might not have worked. *) Bugfix: various stability issues. Changes with Unit 0.7 22 Mar 2018 *) Feature: Ruby application module. *) Bugfix: in discovering modules. *) Bugfix: various race conditions on reconfiguration and during shutting down. *) Bugfix: tabs and trailing spaces were not allowed in header fields values. *) Bugfix: a segmentation fault occurred in Python module if start_response() was called outside of WSGI callable. *) Bugfix: a segmentation fault might have occurred in PHP module if there was an error while initialization. Changes with Unit 0.6 09 Feb 2018 *) Bugfix: the main process died when the "type" application option contained version; the bug had appeared in 0.5. Changes with Unit 0.5 08 Feb 2018 *) Change: the "workers" application option was removed, the "processes" application option should be used instead. *) Feature: the "processes" application option with prefork and dynamic process management support. *) Feature: Perl application module. *) Bugfix: in reading client request body; the bug had appeared in 0.3. *) Bugfix: some Python applications might not have worked due to missing "wsgi.errors" environ variable. *) Bugfix: HTTP chunked responses might be encoded incorrectly on 32-bit platforms. *) Bugfix: infinite looping in HTTP parser. *) Bugfix: segmentation fault in router. Changes with Unit 0.4 15 Jan 2018 *) Feature: compatibility with DragonFly BSD. *) Feature: "configure php --lib-static" option. *) Bugfix: HTTP request body was not passed to application; the bug had appeared in 0.3. *) Bugfix: HTTP large header buffers allocation and deallocation fixed; the bug had appeared in 0.3. *) Bugfix: some PHP applications might not have worked with relative "root" path. Changes with Unit 0.3 28 Dec 2017 *) Change: the Go package name changed to "nginx/unit". *) Change: in the "limits.timeout" application option: application start time and time in queue now are not accounted. *) Feature: the "limits.requests" application option. *) Feature: application request processing latency optimization. *) Feature: HTTP keep-alive connections support. *) Feature: the "home" Python virtual environment configuration option. *) Feature: Python atexit hook support. *) Feature: various Go package improvements. *) Bugfix: various crashes fixed. Changes with Unit 0.2 19 Oct 2017 *) Feature: configuration persistence. *) Feature: improved handling of configuration errors. *) Feature: application "timeout" property. *) Bugfix: POST request for PHP were handled incorrectly. *) Bugfix: the router exited abnormally if all listeners had been deleted. *) Bugfix: the router crashed under load. *) Bugfix: memory leak in the router. Changes with Unit 0.1 06 Sep 2017 *) First public release.