1*1570Svbart@nginx.com 2*1570Svbart@nginx.comChanges with Unit 1.19.0 13 Aug 2020 3*1570Svbart@nginx.com 4*1570Svbart@nginx.com *) Feature: reworked IPC between the router process and the applications 5*1570Svbart@nginx.com to lower latencies, increase performance, and improve scalability. 6*1570Svbart@nginx.com 7*1570Svbart@nginx.com *) Feature: support for an arbitrary number of wildcards in route 8*1570Svbart@nginx.com matching patterns. 9*1570Svbart@nginx.com 10*1570Svbart@nginx.com *) Feature: chunked transfer encoding in proxy responses. 11*1570Svbart@nginx.com 12*1570Svbart@nginx.com *) Feature: basic variables support in the "pass" option. 13*1570Svbart@nginx.com 14*1570Svbart@nginx.com *) Feature: compatibility with PHP 8 Beta 1. Thanks to Remi Collet. 15*1570Svbart@nginx.com 16*1570Svbart@nginx.com *) Bugfix: the router process could crash while passing requests to an 17*1570Svbart@nginx.com application under high load. 18*1570Svbart@nginx.com 19*1570Svbart@nginx.com *) Bugfix: a number of language modules failed to build on some systems; 20*1570Svbart@nginx.com the bug had appeared in 1.18.0. 21*1570Svbart@nginx.com 22*1570Svbart@nginx.com *) Bugfix: time in error log messages from PHP applications could lag. 23*1570Svbart@nginx.com 24*1570Svbart@nginx.com *) Bugfix: reconfiguration requests could hang if an application had 25*1570Svbart@nginx.com failed to start; the bug had appeared in 1.18.0. 26*1570Svbart@nginx.com 27*1570Svbart@nginx.com *) Bugfix: memory leak during reconfiguration. 28*1570Svbart@nginx.com 29*1570Svbart@nginx.com *) Bugfix: the daemon didn't start without language modules; the bug had 30*1570Svbart@nginx.com appeared in 1.18.0. 31*1570Svbart@nginx.com 32*1570Svbart@nginx.com *) Bugfix: the router process could crash at exit. 33*1570Svbart@nginx.com 34*1570Svbart@nginx.com *) Bugfix: Node.js applications could crash at exit. 35*1570Svbart@nginx.com 36*1570Svbart@nginx.com *) Bugfix: the Ruby module could be linked against a wrong library 37*1570Svbart@nginx.com version. 38*1570Svbart@nginx.com 391491Svbart@nginx.com 401491Svbart@nginx.comChanges with Unit 1.18.0 28 May 2020 411491Svbart@nginx.com 421491Svbart@nginx.com *) Feature: the "rootfs" isolation option for changing root filesystem 431491Svbart@nginx.com for an application. 441491Svbart@nginx.com 451491Svbart@nginx.com *) Feature: multiple "targets" in PHP applications. 461491Svbart@nginx.com 471491Svbart@nginx.com *) Feature: support for percent-encoding in the "uri" and "arguments" 481491Svbart@nginx.com matching options and in the "pass" option. 491491Svbart@nginx.com 501460Svbart@nginx.com 511460Svbart@nginx.comChanges with Unit 1.17.0 16 Apr 2020 521460Svbart@nginx.com 531460Svbart@nginx.com *) Feature: a "return" action with optional "location" for immediate 541460Svbart@nginx.com responses and external redirection. 551460Svbart@nginx.com 561460Svbart@nginx.com *) Feature: fractional weights support for upstream servers. 571460Svbart@nginx.com 581460Svbart@nginx.com *) Bugfix: accidental 502 "Bad Gateway" errors might have occurred in 591460Svbart@nginx.com applications under high load. 601460Svbart@nginx.com 611460Svbart@nginx.com *) Bugfix: memory leak in the router; the bug had appeared in 1.13.0. 621460Svbart@nginx.com 631460Svbart@nginx.com *) Bugfix: segmentation fault might have occurred in the router process 641460Svbart@nginx.com when reaching open connections limit. 651460Svbart@nginx.com 661460Svbart@nginx.com *) Bugfix: "close() failed (9: Bad file descriptor)" alerts might have 671460Svbart@nginx.com appeared in the log while processing large request bodies; the bug 681460Svbart@nginx.com had appeared in 1.16.0. 691460Svbart@nginx.com 701460Svbart@nginx.com *) Bugfix: existing application processes didn't reopen the log file. 711460Svbart@nginx.com 721460Svbart@nginx.com *) Bugfix: incompatibility with some Node.js applications. 731460Svbart@nginx.com 741460Svbart@nginx.com *) Bugfix: broken build on DragonFly BSD; the bug had appeared in 751460Svbart@nginx.com 1.16.0. 761460Svbart@nginx.com 771404Svbart@nginx.com 781404Svbart@nginx.comChanges with Unit 1.16.0 12 Mar 2020 791404Svbart@nginx.com 801404Svbart@nginx.com *) Feature: basic load-balancing support with round-robin. 811404Svbart@nginx.com 821404Svbart@nginx.com *) Feature: a "fallback" option that performs an alternative action if a 831404Svbart@nginx.com request can't be served from the "share" directory. 841404Svbart@nginx.com 851404Svbart@nginx.com *) Feature: reduced memory consumption by dumping large request bodies 861404Svbart@nginx.com to disk. 871404Svbart@nginx.com 881404Svbart@nginx.com *) Feature: stripping UTF-8 BOM and JavaScript-style comments from 891404Svbart@nginx.com uploaded JSON. 901404Svbart@nginx.com 911404Svbart@nginx.com *) Bugfix: negative address matching in router might work improperly in 921404Svbart@nginx.com combination with non-negative patterns. 931404Svbart@nginx.com 941404Svbart@nginx.com *) Bugfix: Java Spring applications failed to run; the bug had appeared 951404Svbart@nginx.com in 1.10.0. 961404Svbart@nginx.com 971404Svbart@nginx.com *) Bugfix: PHP 7.4 was broken if it was built with thread safety 981404Svbart@nginx.com enabled. 991404Svbart@nginx.com 1001404Svbart@nginx.com *) Bugfix: compatibility issues with some Python applications. 1011404Svbart@nginx.com 1021357Svbart@nginx.com 1031357Svbart@nginx.comChanges with Unit 1.15.0 06 Feb 2020 1041357Svbart@nginx.com 1051357Svbart@nginx.com *) Change: extensions of dynamically requested PHP scripts were 1061357Svbart@nginx.com restricted to ".php". 1071357Svbart@nginx.com 1081357Svbart@nginx.com *) Feature: compatibility with Ruby 2.7. 1091357Svbart@nginx.com 1101357Svbart@nginx.com *) Bugfix: segmentation fault might have occurred in the router process 1111357Svbart@nginx.com with multiple application processes under load; the bug had appeared 1121357Svbart@nginx.com in 1.14.0. 1131357Svbart@nginx.com 1141357Svbart@nginx.com *) Bugfix: receiving request body over TLS connection might have 1151357Svbart@nginx.com stalled. 1161357Svbart@nginx.com 1171330Svbart@nginx.com 1181330Svbart@nginx.comChanges with Unit 1.14.0 26 Dec 2019 1191330Svbart@nginx.com 1201330Svbart@nginx.com *) Change: the Go package import name changed to "unit.nginx.org/go". 1211330Svbart@nginx.com 1221330Svbart@nginx.com *) Change: Go package now links to libunit instead of including library 1231330Svbart@nginx.com sources. 1241330Svbart@nginx.com 1251330Svbart@nginx.com *) Feature: ability to change user and group for isolated applications 1261330Svbart@nginx.com when Unit daemon runs as an unprivileged user. 1271330Svbart@nginx.com 1281330Svbart@nginx.com *) Feature: request routing by source and destination addresses and 1291330Svbart@nginx.com ports. 1301330Svbart@nginx.com 1311330Svbart@nginx.com *) Bugfix: memory bloat on large responses. 1321330Svbart@nginx.com 1331284Svbart@nginx.com 1341284Svbart@nginx.comChanges with Unit 1.13.0 14 Nov 2019 1351284Svbart@nginx.com 1361284Svbart@nginx.com *) Feature: basic support for HTTP reverse proxying. 1371284Svbart@nginx.com 1381284Svbart@nginx.com *) Feature: compatibility with Python 3.8. 1391284Svbart@nginx.com 1401284Svbart@nginx.com *) Bugfix: memory leak in Python application processes when the close 1411284Svbart@nginx.com handler was used. 1421284Svbart@nginx.com 1431284Svbart@nginx.com *) Bugfix: threads in Python applications might not work correctly. 1441284Svbart@nginx.com 1451284Svbart@nginx.com *) Bugfix: Ruby on Rails applications might not work on Ruby 2.6. 1461284Svbart@nginx.com 1471284Svbart@nginx.com *) Bugfix: backtraces for uncaught exceptions in Python 3 might be 1481284Svbart@nginx.com logged with significant delays. 1491284Svbart@nginx.com 1501284Svbart@nginx.com *) Bugfix: explicit setting a namespaces isolation option to false might 1511284Svbart@nginx.com have enabled it. 1521284Svbart@nginx.com 1531222Svbart@nginx.com 1541222Svbart@nginx.comChanges with Unit 1.12.0 03 Oct 2019 1551222Svbart@nginx.com 1561222Svbart@nginx.com *) Feature: compatibility with PHP 7.4. 1571222Svbart@nginx.com 1581222Svbart@nginx.com *) Bugfix: descriptors leak on process creation; the bug had appeared in 1591222Svbart@nginx.com 1.11.0. 1601222Svbart@nginx.com 1611222Svbart@nginx.com *) Bugfix: TLS connection might be closed prematurely while sending 1621222Svbart@nginx.com response. 1631222Svbart@nginx.com 1641222Svbart@nginx.com *) Bugfix: segmentation fault might have occurred if an irregular file 1651222Svbart@nginx.com was requested. 1661222Svbart@nginx.com 1671185Svbart@nginx.com 1681185Svbart@nginx.comChanges with Unit 1.11.0 19 Sep 2019 1691185Svbart@nginx.com 1701185Svbart@nginx.com *) Feature: basic support for serving static files. 1711185Svbart@nginx.com 1721185Svbart@nginx.com *) Feature: isolation of application processes with Linux namespaces. 1731185Svbart@nginx.com 1741185Svbart@nginx.com *) Feature: built-in WebSocket server implementation for Java Servlet 1751185Svbart@nginx.com Containers. 1761185Svbart@nginx.com 1771185Svbart@nginx.com *) Feature: direct addressing of API configuration options containing 1781185Svbart@nginx.com slashes "/" using URI encoding (%2F). 1791185Svbart@nginx.com 1801185Svbart@nginx.com *) Bugfix: segmentation fault might have occurred in Go applications 1811185Svbart@nginx.com under high load. 1821185Svbart@nginx.com 1831185Svbart@nginx.com *) Bugfix: WebSocket support was broken if Unit was built with some 1841185Svbart@nginx.com linkers other than GNU ld (e.g. gold or LLD). 1851185Svbart@nginx.com 1861134Svbart@nginx.com 1871134Svbart@nginx.comChanges with Unit 1.10.0 22 Aug 2019 1881134Svbart@nginx.com 1891134Svbart@nginx.com *) Change: matching of cookies in routes made case sensitive. 1901134Svbart@nginx.com 1911134Svbart@nginx.com *) Change: decreased log level of common errors when clients close 1921134Svbart@nginx.com connections. 1931134Svbart@nginx.com 1941134Svbart@nginx.com *) Change: removed the Perl module's "--include=" ./configure option. 1951134Svbart@nginx.com 1961134Svbart@nginx.com *) Feature: built-in WebSocket server implementation for Node.js module. 1971134Svbart@nginx.com 1981134Svbart@nginx.com *) Feature: splitting PATH_INFO from request URI in PHP module. 1991134Svbart@nginx.com 2001134Svbart@nginx.com *) Feature: request routing by scheme (HTTP or HTTPS). 2011134Svbart@nginx.com 2021134Svbart@nginx.com *) Feature: support for multipart requests body in Java module. 2031134Svbart@nginx.com 2041134Svbart@nginx.com *) Feature: improved API compatibility with Node.js 11.10 or later. 2051134Svbart@nginx.com 2061134Svbart@nginx.com *) Bugfix: reconfiguration failed if "listeners" or "applications" 2071134Svbart@nginx.com objects were missing. 2081134Svbart@nginx.com 2091134Svbart@nginx.com *) Bugfix: applying a large configuration might have failed. 2101134Svbart@nginx.com 2111069Svbart@nginx.com 2121069Svbart@nginx.comChanges with Unit 1.9.0 30 May 2019 2131069Svbart@nginx.com 2141069Svbart@nginx.com *) Feature: request routing by arguments, headers, and cookies. 2151069Svbart@nginx.com 2161069Svbart@nginx.com *) Feature: route matching patterns allow a wildcard in the middle. 2171069Svbart@nginx.com 2181069Svbart@nginx.com *) Feature: POST operation for appending elements to arrays in 2191069Svbart@nginx.com configuration. 2201069Svbart@nginx.com 2211069Svbart@nginx.com *) Feature: support for changing credentials using CAP_SETUID and 2221069Svbart@nginx.com CAP_SETGID capabilities on Linux without running main process as 2231069Svbart@nginx.com privileged user. 2241069Svbart@nginx.com 2251069Svbart@nginx.com *) Bugfix: memory leak in the router process might have happened when a 2261069Svbart@nginx.com client prematurely closed the connection. 2271069Svbart@nginx.com 2281069Svbart@nginx.com *) Bugfix: applying a large configuration might have failed. 2291069Svbart@nginx.com 2301069Svbart@nginx.com *) Bugfix: PUT and DELETE operations on array elements in configuration 2311069Svbart@nginx.com did not work. 2321069Svbart@nginx.com 2331069Svbart@nginx.com *) Bugfix: request schema in applications did not reflect TLS 2341069Svbart@nginx.com connections. 2351069Svbart@nginx.com 2361069Svbart@nginx.com *) Bugfix: restored compatibility with Node.js applications that use 2371069Svbart@nginx.com ServerResponse._implicitHeader() function; the bug had appeared in 2381069Svbart@nginx.com 1.7. 2391069Svbart@nginx.com 2401069Svbart@nginx.com *) Bugfix: various compatibility issues with Node.js applications. 2411069Svbart@nginx.com 242991Svbart@nginx.com 243991Svbart@nginx.comChanges with Unit 1.8.0 01 Mar 2019 244991Svbart@nginx.com 245991Svbart@nginx.com *) Change: now three numbers are always used for versioning: major, 246991Svbart@nginx.com minor, and patch versions. 247991Svbart@nginx.com 248991Svbart@nginx.com *) Change: now QUERY_STRING is always defined even if the request does 249991Svbart@nginx.com not include the query component. 250991Svbart@nginx.com 251991Svbart@nginx.com *) Feature: basic internal request routing by Host, URI, and method. 252991Svbart@nginx.com 253991Svbart@nginx.com *) Feature: experimental support for Java Servlet Containers. 254991Svbart@nginx.com 255991Svbart@nginx.com *) Bugfix: segmentation fault might have occurred in the router process. 256991Svbart@nginx.com 257991Svbart@nginx.com *) Bugfix: various potential memory leaks. 258991Svbart@nginx.com 259991Svbart@nginx.com *) Bugfix: TLS connections might have stalled. 260991Svbart@nginx.com 261991Svbart@nginx.com *) Bugfix: some Perl applications might have failed to send the response 262991Svbart@nginx.com body. 263991Svbart@nginx.com 264991Svbart@nginx.com *) Bugfix: some compilers with specific flags might have produced 265991Svbart@nginx.com non-functioning builds; the bug had appeared in 1.5. 266991Svbart@nginx.com 267991Svbart@nginx.com *) Bugfix: Node.js package had wrong version number when installed from 268991Svbart@nginx.com sources. 269991Svbart@nginx.com 270926Svbart@nginx.com 271926Svbart@nginx.comChanges with Unit 1.7.1 07 Feb 2019 272926Svbart@nginx.com 273926Svbart@nginx.com *) Security: a heap memory buffer overflow might have been caused in the 274926Svbart@nginx.com router process by a specially crafted request, potentially resulting 275926Svbart@nginx.com in a segmentation fault or other unspecified behavior 276926Svbart@nginx.com (CVE-2019-7401). 277926Svbart@nginx.com 278926Svbart@nginx.com *) Bugfix: install of Go module failed without prior building of Unit 279926Svbart@nginx.com daemon; the bug had appeared in 1.7. 280926Svbart@nginx.com 281886Svbart@nginx.com 282886Svbart@nginx.comChanges with Unit 1.7 20 Dec 2018 283886Svbart@nginx.com 284886Svbart@nginx.com *) Change: now rpath is set in Ruby module only if the library was not 285886Svbart@nginx.com found in default search paths; this allows to meet packaging 286886Svbart@nginx.com restrictions on some systems. 287886Svbart@nginx.com 288886Svbart@nginx.com *) Bugfix: "disable_functions" and "disable_classes" PHP options set via 289886Svbart@nginx.com Control API did not work. 290886Svbart@nginx.com 291886Svbart@nginx.com *) Bugfix: Promises on request data in Node.js were not triggered. 292886Svbart@nginx.com 293886Svbart@nginx.com *) Bugfix: various compatibility issues with Node.js applications. 294886Svbart@nginx.com 295886Svbart@nginx.com *) Bugfix: a segmentation fault occurred in Node.js module if 296886Svbart@nginx.com application tried to read request body after request.end() was 297886Svbart@nginx.com called. 298886Svbart@nginx.com 299886Svbart@nginx.com *) Bugfix: a segmentation fault occurred in Node.js module if 300886Svbart@nginx.com application attempted to send header twice. 301886Svbart@nginx.com 302886Svbart@nginx.com *) Bugfix: names of response header fields in Node.js module were 303886Svbart@nginx.com erroneously treated as case-sensitive. 304886Svbart@nginx.com 305886Svbart@nginx.com *) Bugfix: uncatched exceptions in Node.js were not logged. 306886Svbart@nginx.com 307886Svbart@nginx.com *) Bugfix: global install of Node.js module from sources was broken on 308886Svbart@nginx.com some systems; the bug had appeared in 1.6. 309886Svbart@nginx.com 310886Svbart@nginx.com *) Bugfix: traceback for exceptions during initialization of Python 311886Svbart@nginx.com applications might not be logged. 312886Svbart@nginx.com 313886Svbart@nginx.com *) Bugfix: PHP module build failed if PHP interpreter was built with 314886Svbart@nginx.com thread safety enabled. 315886Svbart@nginx.com 316846Svbart@nginx.com 317846Svbart@nginx.comChanges with Unit 1.6 15 Nov 2018 318846Svbart@nginx.com 319846Svbart@nginx.com *) Change: "make install" now installs Node.js module as well if it was 320846Svbart@nginx.com configured. 321846Svbart@nginx.com 322846Svbart@nginx.com *) Feature: "--local" ./configure option to install Node.js module 323846Svbart@nginx.com locally. 324846Svbart@nginx.com 325846Svbart@nginx.com *) Bugfix: Node.js module might have crashed due to broken reference 326846Svbart@nginx.com counting. 327846Svbart@nginx.com 328846Svbart@nginx.com *) Bugfix: asynchronous operations in Node.js might not have worked. 329846Svbart@nginx.com 330846Svbart@nginx.com *) Bugfix: various compatibility issues with Node.js applications. 331846Svbart@nginx.com 332846Svbart@nginx.com *) Bugfix: "freed pointer is out of pool" alerts might have appeared in 333846Svbart@nginx.com log. 334846Svbart@nginx.com 335885Svbart@nginx.com *) Bugfix: module discovery did not work on 64-bit big-endian systems 336846Svbart@nginx.com like IBM/S390x. 337846Svbart@nginx.com 338820Svbart@nginx.com 339820Svbart@nginx.comChanges with Unit 1.5 25 Oct 2018 340820Svbart@nginx.com 341820Svbart@nginx.com *) Change: the "type" of application object for Go was changed to 342820Svbart@nginx.com "external". 343820Svbart@nginx.com 344820Svbart@nginx.com *) Feature: initial version of Node.js package with basic HTTP 345820Svbart@nginx.com request-response support. 346820Svbart@nginx.com 347820Svbart@nginx.com *) Feature: compatibility with LibreSSL. 348820Svbart@nginx.com 349820Svbart@nginx.com *) Feature: --libdir and --incdir ./configure options to install libunit 350820Svbart@nginx.com headers and static library. 351820Svbart@nginx.com 352820Svbart@nginx.com *) Bugfix: connection might be closed prematurely while sending 353820Svbart@nginx.com response; the bug had appeared in 1.3. 354820Svbart@nginx.com 355820Svbart@nginx.com *) Bugfix: application processes might have stopped handling requests, 356820Svbart@nginx.com producing "last message send failed: Resource temporarily 357820Svbart@nginx.com unavailable" alerts in log; the bug had appeared in 1.4. 358820Svbart@nginx.com 359885Svbart@nginx.com *) Bugfix: Go applications did not work when Unit was built with musl C 360820Svbart@nginx.com library. 361820Svbart@nginx.com 362783Svbart@nginx.com 363783Svbart@nginx.comChanges with Unit 1.4 20 Sep 2018 364783Svbart@nginx.com 365783Svbart@nginx.com *) Change: the control API maps the configuration object only at 366783Svbart@nginx.com "/config/". 367783Svbart@nginx.com 368783Svbart@nginx.com *) Feature: TLS support for client connections. 369783Svbart@nginx.com 370783Svbart@nginx.com *) Feature: TLS certificates storage control API. 371783Svbart@nginx.com 372783Svbart@nginx.com *) Feature: Unit library (libunit) to streamline language module 373783Svbart@nginx.com integration. 374783Svbart@nginx.com 375783Svbart@nginx.com *) Feature: "408 Request Timeout" responses while closing HTTP 376783Svbart@nginx.com keep-alive connections. 377783Svbart@nginx.com 378783Svbart@nginx.com *) Feature: improvements in OpenBSD support. Thanks to David Carlier. 379783Svbart@nginx.com 380783Svbart@nginx.com *) Bugfix: a segmentation fault might have occurred after 381783Svbart@nginx.com reconfiguration. 382783Svbart@nginx.com 383783Svbart@nginx.com *) Bugfix: building on systems with non-default locale might be broken. 384783Svbart@nginx.com 385783Svbart@nginx.com *) Bugfix: "header_read_timeout" might not work properly. 386783Svbart@nginx.com 387783Svbart@nginx.com *) Bugfix: header fields values with non-ASCII bytes might be handled 388783Svbart@nginx.com incorrectly in Python 3 module. 389783Svbart@nginx.com 390727Svbart@nginx.com 391727Svbart@nginx.comChanges with Unit 1.3 13 Jul 2018 392727Svbart@nginx.com 393727Svbart@nginx.com *) Change: UTF-8 characters are now allowed in request header field 394727Svbart@nginx.com values. 395727Svbart@nginx.com 396727Svbart@nginx.com *) Feature: configuration of the request body size limit. 397727Svbart@nginx.com 398727Svbart@nginx.com *) Feature: configuration of various HTTP connection timeouts. 399727Svbart@nginx.com 400727Svbart@nginx.com *) Feature: Ruby module now automatically uses Bundler where possible. 401727Svbart@nginx.com 402727Svbart@nginx.com *) Feature: http.Flusher interface in Go module. 403727Svbart@nginx.com 404727Svbart@nginx.com *) Bugfix: various issues in HTTP connection errors handling. 405727Svbart@nginx.com 406727Svbart@nginx.com *) Bugfix: requests with body data might be handled incorrectly in PHP 407727Svbart@nginx.com module. 408727Svbart@nginx.com 409727Svbart@nginx.com *) Bugfix: individual PHP configuration options specified via control 410727Svbart@nginx.com API were reset to previous values after the first request in 411727Svbart@nginx.com application process. 412727Svbart@nginx.com 413689Svbart@nginx.com 414689Svbart@nginx.comChanges with Unit 1.2 07 Jun 2018 415689Svbart@nginx.com 416689Svbart@nginx.com *) Feature: configuration of environment variables for application 417689Svbart@nginx.com processes. 418689Svbart@nginx.com 419689Svbart@nginx.com *) Feature: customization of php.ini path. 420689Svbart@nginx.com 421689Svbart@nginx.com *) Feature: setting of individual PHP configuration options. 422689Svbart@nginx.com 423689Svbart@nginx.com *) Feature: configuration of execution arguments for Go applications. 424689Svbart@nginx.com 425689Svbart@nginx.com *) Bugfix: keep-alive connections might hang after reconfiguration. 426689Svbart@nginx.com 427666Svbart@nginx.com 428666Svbart@nginx.comChanges with Unit 1.1 26 Apr 2018 429666Svbart@nginx.com 430666Svbart@nginx.com *) Bugfix: Python applications that use the write() callable did not 431666Svbart@nginx.com work. 432666Svbart@nginx.com 433666Svbart@nginx.com *) Bugfix: virtual environments created with Python 3.3 or above might 434666Svbart@nginx.com not have worked. 435666Svbart@nginx.com 436666Svbart@nginx.com *) Bugfix: the request.Read() function in Go applications did not 437666Svbart@nginx.com produce EOF when the whole body was read. 438666Svbart@nginx.com 439666Svbart@nginx.com *) Bugfix: a segmentation fault might have occurred while access log 440666Svbart@nginx.com reopening. 441666Svbart@nginx.com 442666Svbart@nginx.com *) Bugfix: in parsing of IPv6 control socket addresses. 443666Svbart@nginx.com 444666Svbart@nginx.com *) Bugfix: loading of application modules was broken on OpenBSD. 445666Svbart@nginx.com 446666Svbart@nginx.com *) Bugfix: a segmentation fault might have occurred when there were two 447666Svbart@nginx.com modules with the same type and version; the bug had appeared in 1.0. 448666Svbart@nginx.com 449666Svbart@nginx.com *) Bugfix: alerts "freed pointer points to non-freeble page" might have 450666Svbart@nginx.com appeared in log on 32-bit platforms. 451666Svbart@nginx.com 452639Svbart@nginx.com 453639Svbart@nginx.comChanges with Unit 1.0 12 Apr 2018 454639Svbart@nginx.com 455639Svbart@nginx.com *) Change: configuration object moved into "/config/" path. 456639Svbart@nginx.com 457639Svbart@nginx.com *) Feature: basic access logging. 458639Svbart@nginx.com 459639Svbart@nginx.com *) Bugfix: 503 error occurred if Go application did not write response 460639Svbart@nginx.com header or body. 461639Svbart@nginx.com 462639Svbart@nginx.com *) Bugfix: Ruby applications that use encoding conversions might not 463663Svbart@nginx.com have worked. 464639Svbart@nginx.com 465639Svbart@nginx.com *) Bugfix: various stability issues. 466639Svbart@nginx.com 467586Svbart@nginx.com 468586Svbart@nginx.comChanges with Unit 0.7 22 Mar 2018 469586Svbart@nginx.com 470586Svbart@nginx.com *) Feature: Ruby application module. 471586Svbart@nginx.com 472586Svbart@nginx.com *) Bugfix: in discovering modules. 473586Svbart@nginx.com 474586Svbart@nginx.com *) Bugfix: various race conditions on reconfiguration and during 475586Svbart@nginx.com shutting down. 476586Svbart@nginx.com 477586Svbart@nginx.com *) Bugfix: tabs and trailing spaces were not allowed in header fields 478586Svbart@nginx.com values. 479586Svbart@nginx.com 480586Svbart@nginx.com *) Bugfix: a segmentation fault occurred in Python module if 481586Svbart@nginx.com start_response() was called outside of WSGI callable. 482586Svbart@nginx.com 483663Svbart@nginx.com *) Bugfix: a segmentation fault might have occurred in PHP module if 484663Svbart@nginx.com there was an error while initialization. 485586Svbart@nginx.com 486539Svbart@nginx.com 487539Svbart@nginx.comChanges with Unit 0.6 09 Feb 2018 488539Svbart@nginx.com 489539Svbart@nginx.com *) Bugfix: the main process died when the "type" application option 490539Svbart@nginx.com contained version; the bug had appeared in 0.5. 491539Svbart@nginx.com 492531Svbart@nginx.com 493531Svbart@nginx.comChanges with Unit 0.5 08 Feb 2018 494531Svbart@nginx.com 495531Svbart@nginx.com *) Change: the "workers" application option was removed, the "processes" 496531Svbart@nginx.com application option should be used instead. 497531Svbart@nginx.com 498531Svbart@nginx.com *) Feature: the "processes" application option with prefork and dynamic 499531Svbart@nginx.com process management support. 500531Svbart@nginx.com 501531Svbart@nginx.com *) Feature: Perl application module. 502531Svbart@nginx.com 503531Svbart@nginx.com *) Bugfix: in reading client request body; the bug had appeared in 0.3. 504531Svbart@nginx.com 505663Svbart@nginx.com *) Bugfix: some Python applications might not have worked due to missing 506531Svbart@nginx.com "wsgi.errors" environ variable. 507531Svbart@nginx.com 508531Svbart@nginx.com *) Bugfix: HTTP chunked responses might be encoded incorrectly on 32-bit 509531Svbart@nginx.com platforms. 510531Svbart@nginx.com 511531Svbart@nginx.com *) Bugfix: infinite looping in HTTP parser. 512531Svbart@nginx.com 513531Svbart@nginx.com *) Bugfix: segmentation fault in router. 514531Svbart@nginx.com 515469Sigor@sysoev.ru 516469Sigor@sysoev.ruChanges with Unit 0.4 15 Jan 2018 517469Sigor@sysoev.ru 518469Sigor@sysoev.ru *) Feature: compatibility with DragonFly BSD. 519469Sigor@sysoev.ru 520469Sigor@sysoev.ru *) Feature: "configure php --lib-static" option. 521469Sigor@sysoev.ru 522469Sigor@sysoev.ru *) Bugfix: HTTP request body was not passed to application; the bug had 523469Sigor@sysoev.ru appeared in 0.3. 524469Sigor@sysoev.ru 525469Sigor@sysoev.ru *) Bugfix: HTTP large header buffers allocation and deallocation fixed; 526469Sigor@sysoev.ru the bug had appeared in 0.3. 527469Sigor@sysoev.ru 528663Svbart@nginx.com *) Bugfix: some PHP applications might not have worked with relative 529663Svbart@nginx.com "root" path. 530469Sigor@sysoev.ru 531432Sigor@sysoev.ru 532432Sigor@sysoev.ruChanges with Unit 0.3 28 Dec 2017 533432Sigor@sysoev.ru 534432Sigor@sysoev.ru *) Change: the Go package name changed to "nginx/unit". 535432Sigor@sysoev.ru 536432Sigor@sysoev.ru *) Change: in the "limits.timeout" application option: application start 537432Sigor@sysoev.ru time and time in queue now are not accounted. 538432Sigor@sysoev.ru 539432Sigor@sysoev.ru *) Feature: the "limits.requests" application option. 540432Sigor@sysoev.ru 541432Sigor@sysoev.ru *) Feature: application request processing latency optimization. 542432Sigor@sysoev.ru 543432Sigor@sysoev.ru *) Feature: HTTP keep-alive connections support. 544432Sigor@sysoev.ru 545432Sigor@sysoev.ru *) Feature: the "home" Python virtual environment configuration option. 546432Sigor@sysoev.ru 547432Sigor@sysoev.ru *) Feature: Python atexit hook support. 548432Sigor@sysoev.ru 549432Sigor@sysoev.ru *) Feature: various Go package improvements. 550432Sigor@sysoev.ru 551432Sigor@sysoev.ru *) Bugfix: various crashes fixed. 552432Sigor@sysoev.ru 553286Sigor@sysoev.ru 554370Sigor@sysoev.ruChanges with Unit 0.2 19 Oct 2017 555370Sigor@sysoev.ru 556370Sigor@sysoev.ru *) Feature: configuration persistence. 557370Sigor@sysoev.ru 558370Sigor@sysoev.ru *) Feature: improved handling of configuration errors. 559370Sigor@sysoev.ru 560370Sigor@sysoev.ru *) Feature: application "timeout" property. 561370Sigor@sysoev.ru 562370Sigor@sysoev.ru *) Bugfix: POST request for PHP were handled incorrectly. 563370Sigor@sysoev.ru 564370Sigor@sysoev.ru *) Bugfix: the router exited abnormally if all listeners had been 565370Sigor@sysoev.ru deleted. 566370Sigor@sysoev.ru 567370Sigor@sysoev.ru *) Bugfix: the router crashed under load. 568370Sigor@sysoev.ru 569370Sigor@sysoev.ru *) Bugfix: memory leak in the router. 570370Sigor@sysoev.ru 571370Sigor@sysoev.ru 572370Sigor@sysoev.ruChanges with Unit 0.1 06 Sep 2017 573286Sigor@sysoev.ru 574286Sigor@sysoev.ru *) First public release. 575286Sigor@sysoev.ru 576