1<?xml version="1.0" ?> 2<!DOCTYPE change_log SYSTEM "changes.dtd" > 3 4 5<change_log title="unit"> 6 7 8<changes apply="unit-php 9 unit-python unit-python2.7 10 unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 11 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 unit-go1.11 12 unit-perl 13 unit-ruby 14 unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 15 ver="1.10.0" rev="1" 16 date="2019-08-22" time="18:00:00 +0300" 17 packager="Andrei Belov <defan@nginx.com>"> 18 19<change> 20<para> 21NGINX Unit updated to 1.10.0. 22</para> 23</change> 24 25</changes> 26 27 28<changes apply="unit" ver="1.10.0" rev="1" 29 date="2019-08-22" time="18:00:00 +0300" 30 packager="Andrei Belov <defan@nginx.com>"> 31 32<change type="change"> 33<para> 34matching of cookies in routes made case sensitive. 35</para> 36</change> 37 38<change type="change"> 39<para> 40decreased log level of common errors when clients close connections. 41</para> 42</change> 43 44<change type="change"> 45<para> 46removed the Perl module's "--include=" ./configure option. 47</para> 48</change> 49 50<change type="feature"> 51<para> 52built-in WebSocket server implementation for Node.js module. 53</para> 54</change> 55 56<change type="feature"> 57<para> 58splitting PATH_INFO from request URI in PHP module. 59</para> 60</change> 61 62<change type="feature"> 63<para> 64request routing by scheme (HTTP or HTTPS). 65</para> 66</change> 67 68<change type="feature"> 69<para> 70support for multipart requests body in Java module. 71</para> 72</change> 73 74<change type="feature"> 75<para> 76improved API compatibility with Node.js 11.10 or later. 77</para> 78</change> 79 80<change type="bugfix"> 81<para> 82reconfiguration failed if "listeners" or "applications" objects were missing. 83</para> 84</change> 85 86<change type="bugfix"> 87<para> 88applying a large configuration might have failed. 89</para> 90</change> 91 92</changes> 93 94 95<changes apply="unit-go1.11" ver="1.9.0" rev="1" 96 date="2019-05-30" time="18:00:00 +0300" 97 packager="Andrei Belov <defan@nginx.com>"> 98 99<change> 100<para> 101Initial release of Go 1.11 module for NGINX Unit. 102</para> 103</change> 104 105</changes> 106 107 108<changes apply="unit-php 109 unit-python unit-python2.7 110 unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 111 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 112 unit-perl 113 unit-ruby 114 unit-jsc-common unit-jsc8 unit-jsc10 unit-jsc11" 115 ver="1.9.0" rev="1" 116 date="2019-05-30" time="18:00:00 +0300" 117 packager="Andrei Belov <defan@nginx.com>"> 118 119<change> 120<para> 121NGINX Unit updated to 1.9.0. 122</para> 123</change> 124 125</changes> 126 127 128<changes apply="unit" ver="1.9.0" rev="1" 129 date="2019-05-30" time="18:00:00 +0300" 130 packager="Andrei Belov <defan@nginx.com>"> 131 132<change type="feature"> 133<para> 134request routing by arguments, headers, and cookies. 135</para> 136</change> 137 138<change type="feature"> 139<para> 140route matching patterns allow a wildcard in the middle. 141</para> 142</change> 143 144<change type="feature"> 145<para> 146POST operation for appending elements to arrays in configuration. 147</para> 148</change> 149 150<change type="feature"> 151<para> 152support for changing credentials using CAP_SETUID and CAP_SETGID capabilities 153on Linux without running main process as privileged user. 154</para> 155</change> 156 157<change type="bugfix"> 158<para> 159memory leak in the router process might have happened when a client 160prematurely closed the connection. 161</para> 162</change> 163 164<change type="bugfix"> 165<para> 166applying a large configuration might have failed. 167</para> 168</change> 169 170<change type="bugfix"> 171<para> 172PUT and DELETE operations on array elements in configuration did not work. 173</para> 174</change> 175 176<change type="bugfix"> 177<para> 178request schema in applications did not reflect TLS connections. 179</para> 180</change> 181 182<change type="bugfix"> 183<para> 184restored compatibility with Node.js applications that use 185ServerResponse._implicitHeader() function; the bug had appeared in 1.7. 186</para> 187</change> 188 189<change type="bugfix"> 190<para> 191various compatibility issues with Node.js applications. 192</para> 193</change> 194 195</changes> 196 197 198<changes apply="unit-jsc-common" ver="1.8.0" rev="1" 199 date="2019-03-01" time="18:00:00 +0300" 200 packager="Andrei Belov <defan@nginx.com>"> 201 202<change> 203<para> 204Initial release of Java common packages for NGINX Unit. 205</para> 206</change> 207 208</changes> 209 210 211<changes apply="unit-jsc8" ver="1.8.0" rev="1" 212 date="2019-03-01" time="18:00:00 +0300" 213 packager="Andrei Belov <defan@nginx.com>"> 214 215<change> 216<para> 217Initial release of Java 8 module for NGINX Unit. 218</para> 219</change> 220 221</changes> 222 223 224<changes apply="unit-jsc10" ver="1.8.0" rev="1" 225 date="2019-03-01" time="18:00:00 +0300" 226 packager="Andrei Belov <defan@nginx.com>"> 227 228<change> 229<para> 230Initial release of Java 10 module for NGINX Unit. 231</para> 232</change> 233 234</changes> 235 236 237<changes apply="unit-jsc11" ver="1.8.0" rev="1" 238 date="2019-03-01" time="18:00:00 +0300" 239 packager="Andrei Belov <defan@nginx.com>"> 240 241<change> 242<para> 243Initial release of Java 11 module for NGINX Unit. 244</para> 245</change> 246 247</changes> 248 249 250<changes apply="unit-php 251 unit-python unit-python2.7 252 unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 253 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 254 unit-perl 255 unit-ruby" 256 ver="1.8.0" rev="1" 257 date="2019-03-01" time="18:00:00 +0300" 258 packager="Andrei Belov <defan@nginx.com>"> 259 260<change> 261<para> 262NGINX Unit updated to 1.8.0. 263</para> 264</change> 265 266</changes> 267 268 269<changes apply="unit" ver="1.8.0" rev="1" 270 date="2019-03-01" time="18:00:00 +0300" 271 packager="Andrei Belov <defan@nginx.com>"> 272 273<change type="change"> 274<para> 275now three numbers are always used for versioning: major, minor, 276and patch versions. 277</para> 278</change> 279 280<change type="change"> 281<para> 282now QUERY_STRING is always defined even if the request does not include 283the query component. 284</para> 285</change> 286 287<change type="feature"> 288<para> 289basic internal request routing by Host, URI, and method. 290</para> 291</change> 292 293<change type="feature"> 294<para> 295experimental support for Java Servlet Containers. 296</para> 297</change> 298 299<change type="bugfix"> 300<para> 301segmentation fault might have occurred in the router process. 302</para> 303</change> 304 305<change type="bugfix"> 306<para> 307various potential memory leaks. 308</para> 309</change> 310 311<change type="bugfix"> 312<para> 313TLS connections might have stalled. 314</para> 315</change> 316 317<change type="bugfix"> 318<para> 319some Perl applications might have failed to send the response body. 320</para> 321</change> 322 323<change type="bugfix"> 324<para> 325some compilers with specific flags might have produced non-functioning builds; 326the bug had appeared in 1.5. 327</para> 328</change> 329 330<change type="bugfix"> 331<para> 332Node.js package had wrong version number when installed from sources. 333</para> 334</change> 335 336</changes> 337 338 339<changes apply="unit-php 340 unit-python unit-python2.7 341 unit-python3.4 unit-python3.5 unit-python3.6 unit-python3.7 342 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 343 unit-perl 344 unit-ruby" 345 ver="1.7.1" rev="1" 346 date="2019-02-07" time="18:00:00 +0300" 347 packager="Andrei Belov <defan@nginx.com>"> 348 349<change> 350<para> 351NGINX Unit updated to 1.7.1. 352</para> 353</change> 354 355</changes> 356 357 358<changes apply="unit" ver="1.7.1" rev="1" 359 date="2019-02-07" time="18:00:00 +0300" 360 packager="Andrei Belov <defan@nginx.com>"> 361 362<change type="security"> 363<para> 364a heap memory buffer overflow might have been caused in the router process by 365a specially crafted request, potentially resulting in a segmentation fault or 366other unspecified behavior (CVE-2019-7401). 367</para> 368</change> 369 370<change type="bugfix"> 371<para> 372install of Go module failed without prior building of Unit daemon; 373the bug had appeared in 1.7. 374</para> 375</change> 376 377</changes> 378 379 380<changes apply="unit-python3.7" ver="1.7" rev="1" 381 date="2018-12-25" time="10:30:00 +0300" 382 packager="Andrei Belov <defan@nginx.com>"> 383 384<change> 385<para> 386Initial release of Python 3.7 module for NGINX Unit. 387</para> 388</change> 389 390</changes> 391 392 393<changes apply="unit-php 394 unit-python unit-python2.7 395 unit-python3.4 unit-python3.5 unit-python3.6 396 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 397 unit-perl 398 unit-ruby" 399 ver="1.7" rev="1" 400 date="2018-12-20" time="18:00:00 +0300" 401 packager="Andrei Belov <defan@nginx.com>"> 402 403<change> 404<para> 405NGINX Unit updated to 1.7. 406</para> 407</change> 408 409</changes> 410 411 412<changes apply="unit" ver="1.7" rev="1" 413 date="2018-12-20" time="18:00:00 +0300" 414 packager="Andrei Belov <defan@nginx.com>"> 415 416<change type="change"> 417<para> 418now rpath is set in Ruby module only if the library was not found in default 419search paths; this allows to meet packaging restrictions on some systems. 420</para> 421</change> 422 423<change type="bugfix"> 424<para> 425"disable_functions" and "disable_classes" PHP options set via Control API 426did not work. 427</para> 428</change> 429 430<change type="bugfix"> 431<para> 432Promises on request data in Node.js were not triggered. 433</para> 434</change> 435 436<change type="bugfix"> 437<para> 438various compatibility issues with Node.js applications. 439</para> 440</change> 441 442<change type="bugfix"> 443<para> 444a segmentation fault occurred in Node.js module if application tried to read 445request body after request.end() was called. 446</para> 447</change> 448 449<change type="bugfix"> 450<para> 451a segmentation fault occurred in Node.js module if application attempted to 452send header twice. 453</para> 454</change> 455 456<change type="bugfix"> 457<para> 458names of response header fields in Node.js module were erroneously treated as 459case-sensitive. 460</para> 461</change> 462 463<change type="bugfix"> 464<para> 465uncatched exceptions in Node.js were not logged. 466</para> 467</change> 468 469<change type="bugfix"> 470<para> 471global install of Node.js module from sources was broken on some systems; 472the bug had appeared in 1.6. 473</para> 474</change> 475 476<change type="bugfix"> 477<para> 478traceback for exceptions during initialization of Python applications might not 479be logged. 480</para> 481</change> 482 483<change type="bugfix"> 484<para> 485PHP module build failed if PHP interpreter was built with thread safety 486enabled. 487</para> 488</change> 489 490</changes> 491 492 493<changes apply="unit-php 494 unit-python unit-python2.7 495 unit-python3.4 unit-python3.5 unit-python3.6 496 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 497 unit-perl 498 unit-ruby" 499 ver="1.6" rev="1" 500 date="2018-11-15" time="18:00:00 +0300" 501 packager="Konstantin Pavlov <thresh@nginx.com>"> 502 503<change> 504<para> 505NGINX Unit updated to 1.6. 506</para> 507</change> 508 509</changes> 510 511 512<changes apply="unit" ver="1.6" rev="1" 513 date="2018-11-15" time="18:00:00 +0300" 514 packager="Konstantin Pavlov <thresh@nginx.com>"> 515 516<change type="change"> 517<para> 518"make install" now installs Node.js module as well if it was configured. 519</para> 520</change> 521 522<change type="feature"> 523<para> 524"--local" ./configure option to install Node.js module locally. 525</para> 526</change> 527 528<change type="bugfix"> 529<para> 530Node.js module might have crashed due to broken reference counting. 531</para> 532</change> 533 534<change type="bugfix"> 535<para> 536asynchronous operations in Node.js might not have worked. 537</para> 538</change> 539 540<change type="bugfix"> 541<para> 542various compatibility issues with Node.js applications. 543</para> 544</change> 545 546<change type="bugfix"> 547<para> 548"freed pointer is out of pool" alerts might have appeared in log. 549</para> 550</change> 551 552<change type="bugfix"> 553<para> 554module discovery did not work on 64-bit big-endian systems like IBM/S390x. 555</para> 556</change> 557 558</changes> 559 560 561<changes apply="unit-php 562 unit-python unit-python2.7 563 unit-python3.4 unit-python3.5 unit-python3.6 564 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 565 unit-perl 566 unit-ruby" 567 ver="1.5" rev="1" 568 date="2018-10-25" time="18:00:00 +0300" 569 packager="Andrei Belov <defan@nginx.com>"> 570 571<change> 572<para> 573NGINX Unit updated to 1.5. 574</para> 575</change> 576 577</changes> 578 579 580<changes apply="unit" ver="1.5" rev="1" 581 date="2018-10-25" time="18:00:00 +0300" 582 packager="Andrei Belov <defan@nginx.com>"> 583 584<change type="change"> 585<para> 586the "type" of application object for Go was changed to "external". 587</para> 588</change> 589 590<change type="feature"> 591<para> 592initial version of Node.js package with basic HTTP request-response support. 593</para> 594</change> 595 596<change type="feature"> 597<para> 598compatibility with LibreSSL. 599</para> 600</change> 601 602<change type="feature"> 603<para> 604--libdir and --incdir ./configure options to install libunit headers 605and static library. 606</para> 607</change> 608 609<change type="bugfix"> 610<para> 611connection might be closed prematurely while sending response; 612the bug had appeared in 1.3. 613</para> 614</change> 615 616<change type="bugfix"> 617<para> 618application processes might have stopped handling requests, producing 619"last message send failed: Resource temporarily unavailable" alerts in log; 620the bug had appeared in 1.4. 621</para> 622</change> 623 624<change type="bugfix"> 625<para> 626Go applications did not work when Unit was built with musl C library. 627</para> 628</change> 629 630</changes> 631 632 633<changes apply="unit-php 634 unit-python unit-python2.7 635 unit-python3.4 unit-python3.5 unit-python3.6 636 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 637 unit-perl 638 unit-ruby" 639 ver="1.4" rev="2" 640 date="2018-09-27" time="13:30:00 +0300" 641 packager="Andrei Belov <defan@nginx.com>"> 642 643<change type="bugfix"> 644<para> 645corrected instructions for launching sample application. 646</para> 647</change> 648 649</changes> 650 651 652<changes apply="unit" ver="1.4" rev="2" 653 date="2018-09-27" time="13:30:00 +0300" 654 packager="Andrei Belov <defan@nginx.com>"> 655 656<change type="change"> 657<para> 658the "saveconfig" and "loadconfig" action scripts were removed. 659</para> 660</change> 661 662</changes> 663 664 665<changes apply="unit-php 666 unit-python unit-python2.7 667 unit-python3.4 unit-python3.5 unit-python3.6 668 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 669 unit-perl 670 unit-ruby" 671 ver="1.4" rev="1" 672 date="2018-09-20" time="18:00:00 +0300" 673 packager="Andrei Belov <defan@nginx.com>"> 674 675<change> 676<para> 677NGINX Unit updated to 1.4. 678</para> 679</change> 680 681</changes> 682 683 684<changes apply="unit" ver="1.4" rev="1" 685 date="2018-09-20" time="18:00:00 +0300" 686 packager="Andrei Belov <defan@nginx.com>"> 687 688<change type="change"> 689<para> 690the control API maps the configuration object only at "/config/". 691</para> 692</change> 693 694<change type="feature"> 695<para> 696TLS support for client connections. 697</para> 698</change> 699 700<change type="feature"> 701<para> 702TLS certificates storage control API. 703</para> 704</change> 705 706<change type="feature"> 707<para> 708Unit library (libunit) to streamline language module integration. 709</para> 710</change> 711 712<change type="feature"> 713<para> 714"408 Request Timeout" responses while closing HTTP keep-alive connections. 715</para> 716</change> 717 718<change type="feature"> 719<para> 720improvements in OpenBSD support. 721Thanks to David Carlier. 722</para> 723</change> 724 725<change type="bugfix"> 726<para> 727a segmentation fault might have occurred after reconfiguration. 728</para> 729</change> 730 731<change type="bugfix"> 732<para> 733building on systems with non-default locale might be broken. 734</para> 735</change> 736 737<change type="bugfix"> 738<para> 739"header_read_timeout" might not work properly. 740</para> 741</change> 742 743<change type="bugfix"> 744<para> 745header fields values with non-ASCII bytes might be handled incorrectly 746in Python 3 module. 747</para> 748</change> 749 750</changes> 751 752 753<changes apply="unit-php 754 unit-python unit-python2.7 755 unit-python3.4 unit-python3.5 unit-python3.6 756 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 757 unit-perl 758 unit-ruby" 759 ver="1.3" rev="1" 760 date="2018-07-13" time="18:00:00 +0300" 761 packager="Konstantin Pavlov <thresh@nginx.com>"> 762 763<change> 764<para> 765NGINX Unit updated to 1.3. 766</para> 767</change> 768 769</changes> 770 771 772<changes apply="unit" ver="1.3" rev="1" 773 date="2018-07-13" time="18:00:00 +0300" 774 packager="Konstantin Pavlov <thresh@nginx.com>"> 775 776<change type="change"> 777<para> 778UTF-8 characters are now allowed in request header field values. 779</para> 780</change> 781 782<change type="feature"> 783<para> 784configuration of the request body size limit. 785</para> 786</change> 787 788<change type="feature"> 789<para> 790configuration of various HTTP connection timeouts. 791</para> 792</change> 793 794<change type="feature"> 795<para> 796Ruby module now automatically uses Bundler where possible. 797</para> 798</change> 799 800<change type="feature"> 801<para> 802http.Flusher interface in Go module. 803</para> 804</change> 805 806<change type="bugfix"> 807<para> 808various issues in HTTP connection errors handling. 809</para> 810</change> 811 812<change type="bugfix"> 813<para> 814requests with body data might be handled incorrectly in PHP module. 815</para> 816</change> 817 818<change type="bugfix"> 819<para> 820individual PHP configuration options specified via control API were reset 821to previous values after the first request in application process. 822</para> 823</change> 824 825</changes> 826 827 828<changes apply="unit-php 829 unit-python unit-python2.7 830 unit-python3.4 unit-python3.5 unit-python3.6 831 unit-go unit-go1.7 unit-go1.8 unit-go1.9 unit-go1.10 832 unit-perl 833 unit-ruby" 834 ver="1.2" rev="1" 835 date="2018-06-07" time="18:00:00 +0300" 836 packager="Andrei Belov <defan@nginx.com>"> 837 838<change> 839<para> 840NGINX Unit updated to 1.2. 841</para> 842</change> 843 844</changes> 845 846 847<changes apply="unit" ver="1.2" rev="1" 848 date="2018-06-07" time="18:00:00 +0300" 849 packager="Andrei Belov <defan@nginx.com>"> 850 851<change type="feature"> 852<para> 853configuration of environment variables for application processes. 854</para> 855</change> 856 857<change type="feature"> 858<para> 859customization of php.ini path. 860</para> 861</change> 862 863<change type="feature"> 864<para> 865setting of individual PHP configuration options. 866</para> 867</change> 868 869<change type="feature"> 870<para> 871configuration of execution arguments for Go applications. 872</para> 873</change> 874 875<change type="bugfix"> 876<para> 877keep-alive connections might hang after reconfiguration. 878</para> 879</change> 880 881</changes> 882 883 884<changes apply="unit-go1.10" ver="1.1" rev="1" 885 date="2018-05-14" time="18:00:00 +0300" 886 packager="Andrei Belov <defan@nginx.com>"> 887 888<change> 889<para> 890Initial release of Go 1.10 module for NGINX Unit. 891</para> 892</change> 893 894</changes> 895 896 897<changes apply="unit-php 898 unit-python unit-python2.7 899 unit-python3.4 unit-python3.5 unit-python3.6 900 unit-go unit-go1.7 unit-go1.8 unit-go1.9 901 unit-perl 902 unit-ruby" 903 ver="1.1" rev="1" 904 date="2018-04-26" time="18:00:00 +0300" 905 packager="Andrei Belov <defan@nginx.com>"> 906 907<change> 908<para> 909NGINX Unit updated to 1.1. 910</para> 911</change> 912 913</changes> 914 915 916<changes apply="unit" ver="1.1" rev="1" 917 date="2018-04-26" time="18:00:00 +0300" 918 packager="Andrei Belov <defan@nginx.com>"> 919 920<change type="bugfix"> 921<para> 922Python applications that use the write() callable did not work. 923</para> 924</change> 925 926<change type="bugfix"> 927<para> 928virtual environments created with Python 3.3 or above might not have worked. 929</para> 930</change> 931 932<change type="bugfix"> 933<para> 934the request.Read() function in Go applications did not produce EOF 935when the whole body was read. 936</para> 937</change> 938 939<change type="bugfix"> 940<para> 941a segmentation fault might have occurred while access log reopening. 942</para> 943</change> 944 945<change type="bugfix"> 946<para> 947in parsing of IPv6 control socket addresses. 948</para> 949</change> 950 951<change type="bugfix"> 952<para> 953loading of application modules was broken on OpenBSD. 954</para> 955</change> 956 957<change type="bugfix"> 958<para> 959a segmentation fault might have occurred when there were two modules 960with the same type and version; the bug had appeared in 1.0. 961</para> 962</change> 963 964<change type="bugfix"> 965<para> 966alerts "freed pointer points to non-freeble page" might have appeared in log 967on 32-bit platforms. 968</para> 969</change> 970 971</changes> 972 973 974<changes apply="unit-php 975 unit-python unit-python2.7 976 unit-python3.4 unit-python3.5 unit-python3.6 977 unit-go unit-go1.7 unit-go1.8 unit-go1.9 978 unit-perl 979 unit-ruby" 980 ver="1.0" rev="1" 981 date="2018-04-12" time="18:00:00 +0300" 982 packager="Andrei Belov <defan@nginx.com>"> 983 984<change> 985<para> 986NGINX Unit updated to 1.0. 987</para> 988</change> 989 990</changes> 991 992 993<changes apply="unit" ver="1.0" rev="1" 994 date="2018-04-12" time="18:00:00 +0300" 995 packager="Andrei Belov <defan@nginx.com>"> 996 997<change type="change"> 998<para> 999configuration object moved into "/config/" path. 1000</para> 1001</change> 1002 1003<change type="feature"> 1004<para> 1005basic access logging. 1006</para> 1007</change> 1008 1009<change type="bugfix"> 1010<para> 1011503 error occurred if Go application did not write response header or body. 1012</para> 1013</change> 1014 1015<change type="bugfix"> 1016<para> 1017Ruby applications that use encoding conversions might not have worked. 1018</para> 1019</change> 1020 1021<change type="bugfix"> 1022<para> 1023various stability issues. 1024</para> 1025</change> 1026 1027</changes> 1028 1029 1030<changes apply="unit-php 1031 unit-python unit-python2.7 1032 unit-python3.4 unit-python3.5 unit-python3.6 1033 unit-go unit-go1.7 unit-go1.8 unit-go1.9 1034 unit-perl" 1035 ver="0.7" rev="1" 1036 date="2018-03-22" time="18:00:00 +0300" 1037 packager="Andrei Belov <defan@nginx.com>"> 1038 1039<change> 1040<para> 1041NGINX Unit updated to 0.7. 1042</para> 1043</change> 1044 1045</changes> 1046 1047 1048<changes apply="unit-ruby" ver="0.7" rev="1" 1049 date="2018-04-02" time="15:40:00 +0300" 1050 packager="Andrei Belov <defan@nginx.com>"> 1051 1052<change> 1053<para> 1054Initial release of Ruby module for NGINX Unit. 1055</para> 1056</change> 1057 1058</changes> 1059 1060 1061<changes apply="unit" ver="0.7" rev="1" 1062 date="2018-03-22" time="18:00:00 +0300" 1063 packager="Andrei Belov <defan@nginx.com>"> 1064 1065<change type="feature"> 1066<para> 1067Ruby application module. 1068</para> 1069</change> 1070 1071<change type="bugfix"> 1072<para> 1073in discovering modules. 1074</para> 1075</change> 1076 1077<change type="bugfix"> 1078<para> 1079various race conditions on reconfiguration and during shutting down. 1080</para> 1081</change> 1082 1083<change type="bugfix"> 1084<para> 1085tabs and trailing spaces were not allowed in header fields values. 1086</para> 1087</change> 1088 1089<change type="bugfix"> 1090<para> 1091a segmentation fault occurred in Python module if start_response() was called 1092outside of WSGI callable. 1093</para> 1094</change> 1095 1096<change type="bugfix"> 1097<para> 1098a segmentation fault might have occurred in PHP module if there was an error 1099while initialization. 1100</para> 1101</change> 1102 1103</changes> 1104 1105 1106<changes apply="unit-php 1107 unit-python unit-python2.7 1108 unit-python3.4 unit-python3.5 unit-python3.6 1109 unit-go unit-go1.7 unit-go1.8 unit-go1.9 1110 unit-perl" 1111 ver="0.6" rev="1" 1112 date="2018-02-09" time="18:00:00 +0300" 1113 packager="Andrei Belov <defan@nginx.com>"> 1114 1115<change> 1116<para> 1117NGINX Unit updated to 0.6. 1118</para> 1119</change> 1120 1121</changes> 1122 1123 1124<changes apply="unit" ver="0.6" rev="1" 1125 date="2018-02-09" time="18:00:00 +0300" 1126 packager="Andrei Belov <defan@nginx.com>"> 1127 1128<change type="bugfix"> 1129<para> 1130the main process died when the "type" application option contained version; 1131the bug had appeared in 0.5. 1132</para> 1133</change> 1134 1135</changes> 1136 1137 1138<changes apply="unit-php 1139 unit-python unit-python2.7 1140 unit-python3.4 unit-python3.5 unit-python3.6 1141 unit-go unit-go1.7 unit-go1.8 unit-go1.9" 1142 ver="0.5" rev="1" 1143 date="2018-02-08" time="18:00:00 +0300" 1144 packager="Andrei Belov <defan@nginx.com>"> 1145 1146<change> 1147<para> 1148NGINX Unit updated to 0.5. 1149</para> 1150</change> 1151 1152</changes> 1153 1154 1155<changes apply="unit-perl" ver="0.5" rev="1" 1156 date="2018-02-08" time="18:00:00 +0300" 1157 packager="Andrei Belov <defan@nginx.com>"> 1158 1159<change> 1160<para> 1161Initial release of Perl module for NGINX Unit. 1162</para> 1163</change> 1164 1165</changes> 1166 1167 1168<changes apply="unit" ver="0.5" rev="1" 1169 date="2018-02-08" time="18:00:00 +0300" 1170 packager="Andrei Belov <defan@nginx.com>"> 1171 1172<change type="change"> 1173<para> 1174the "workers" application option was removed, the "processes" 1175application option should be used instead. 1176</para> 1177</change> 1178 1179<change type="feature"> 1180<para> 1181the "processes" application option with prefork and dynamic 1182process management support. 1183</para> 1184</change> 1185 1186<change type="feature"> 1187<para> 1188Perl application module. 1189</para> 1190</change> 1191 1192<change type="bugfix"> 1193<para> 1194in reading client request body; the bug had appeared in 0.3. 1195</para> 1196</change> 1197 1198<change type="bugfix"> 1199<para> 1200some Python applications might not have worked due to missing 1201"wsgi.errors" environ variable. 1202</para> 1203</change> 1204 1205<change type="bugfix"> 1206<para> 1207HTTP chunked responses might be encoded incorrectly on 32-bit 1208platforms. 1209</para> 1210</change> 1211 1212<change type="bugfix"> 1213<para> 1214infinite looping in HTTP parser. 1215</para> 1216</change> 1217 1218<change type="bugfix"> 1219<para> 1220segmentation fault in router. 1221</para> 1222</change> 1223 1224</changes> 1225 1226 1227<changes apply="unit-php 1228 unit-python unit-python2.7 1229 unit-python3.4 unit-python3.5 unit-python3.6 1230 unit-go unit-go1.7 unit-go1.8 unit-go1.9" 1231 ver="0.4" rev="1" 1232 date="2018-01-15" time="18:00:00 +0300" 1233 packager="Andrei Belov <defan@nginx.com>"> 1234 1235<change> 1236<para> 1237NGINX Unit updated to 0.4. 1238</para> 1239</change> 1240 1241</changes> 1242 1243 1244<changes apply="unit" ver="0.4" rev="1" 1245 date="2018-01-15" time="18:00:00 +0300" 1246 packager="Andrei Belov <defan@nginx.com>"> 1247 1248<change type="feature"> 1249<para> 1250compatibility with DragonFly BSD. 1251</para> 1252</change> 1253 1254<change type="feature"> 1255<para> 1256"configure php --lib-static" option. 1257</para> 1258</change> 1259 1260<change type="bugfix"> 1261<para> 1262HTTP request body was not passed to application; 1263the bug had appeared in 0.3. 1264</para> 1265</change> 1266 1267<change type="bugfix"> 1268<para> 1269HTTP large header buffers allocation and deallocation fixed; 1270the bug had appeared in 0.3. 1271</para> 1272</change> 1273 1274<change type="bugfix"> 1275<para> 1276some PHP applications might not have worked with relative "root" path. 1277</para> 1278</change> 1279 1280</changes> 1281 1282 1283<changes apply="unit-go1.9" ver="0.3" rev="1" 1284 date="2017-12-28" time="18:00:00 +0300" 1285 packager="Andrei Belov <defan@nginx.com>"> 1286 1287<change> 1288<para> 1289Initial release of Go 1.9 module for NGINX Unit. 1290</para> 1291</change> 1292 1293</changes> 1294 1295 1296<changes apply="unit-python3.6" ver="0.3" rev="1" 1297 date="2017-12-28" time="18:00:00 +0300" 1298 packager="Andrei Belov <defan@nginx.com>"> 1299 1300<change> 1301<para> 1302Initial release of Python 3.6 module for NGINX Unit. 1303</para> 1304</change> 1305 1306</changes> 1307 1308 1309<changes apply="unit-php 1310 unit-python unit-python2.7 unit-python3.4 unit-python3.5 1311 unit-go unit-go1.7 unit-go1.8" 1312 ver="0.3" rev="1" 1313 date="2017-12-28" time="18:00:00 +0300" 1314 packager="Andrei Belov <defan@nginx.com>"> 1315 1316<change> 1317<para> 1318NGINX Unit updated to 0.3. 1319</para> 1320</change> 1321 1322</changes> 1323 1324 1325<changes apply="unit" ver="0.3" rev="1" 1326 date="2017-12-28" time="18:00:00 +0300" 1327 packager="Andrei Belov <defan@nginx.com>"> 1328 1329<change type="change"> 1330<para> 1331the Go package name changed to "nginx/unit". 1332</para> 1333</change> 1334 1335<change type="change"> 1336<para> 1337in the "limits.timeout" application option: application start time and 1338time in queue now are not accounted. 1339</para> 1340</change> 1341 1342<change type="feature"> 1343<para> 1344the "limits.requests" application option. 1345</para> 1346</change> 1347 1348<change type="feature"> 1349<para> 1350application request processing latency optimization. 1351</para> 1352</change> 1353 1354<change type="feature"> 1355<para> 1356HTTP keep-alive connections support. 1357</para> 1358</change> 1359 1360<change type="feature"> 1361<para> 1362the "home" Python virtual environment configuration option. 1363</para> 1364</change> 1365 1366<change type="feature"> 1367<para> 1368Python atexit hook support. 1369</para> 1370</change> 1371 1372<change type="feature"> 1373<para> 1374various Go package improvements. 1375</para> 1376</change> 1377 1378<change type="bugfix"> 1379<para> 1380various crashes fixed. 1381</para> 1382</change> 1383 1384</changes> 1385 1386 1387<changes apply="unit-go" ver="0.2" rev="1" 1388 date="2017-10-19" time="18:00:00 +0300" 1389 packager="Andrei Belov <defan@nginx.com>"> 1390 1391<change> 1392<para> 1393Initial release of Go module for NGINX Unit. 1394</para> 1395</change> 1396 1397</changes> 1398 1399 1400<changes apply="unit-go1.7" ver="0.2" rev="1" 1401 date="2017-10-19" time="18:00:00 +0300" 1402 packager="Andrei Belov <defan@nginx.com>"> 1403 1404<change> 1405<para> 1406Initial release of Go 1.7 module for NGINX Unit. 1407</para> 1408</change> 1409 1410</changes> 1411 1412 1413<changes apply="unit-go1.8" ver="0.2" rev="1" 1414 date="2017-10-19" time="18:00:00 +0300" 1415 packager="Andrei Belov <defan@nginx.com>"> 1416 1417<change> 1418<para> 1419Initial release of Go 1.8 module for NGINX Unit. 1420</para> 1421</change> 1422 1423</changes> 1424 1425 1426<changes apply="unit-python" ver="0.2" rev="1" 1427 date="2017-10-19" time="18:00:00 +0300" 1428 packager="Andrei Belov <defan@nginx.com>"> 1429 1430<change> 1431<para> 1432Initial release of Python module for NGINX Unit. 1433</para> 1434</change> 1435 1436</changes> 1437 1438 1439<changes apply="unit-python2.7" ver="0.2" rev="1" 1440 date="2017-10-19" time="18:00:00 +0300" 1441 packager="Andrei Belov <defan@nginx.com>"> 1442 1443<change> 1444<para> 1445Initial release of Python 2.7 module for NGINX Unit. 1446</para> 1447</change> 1448 1449</changes> 1450 1451 1452<changes apply="unit-python3.4" ver="0.2" rev="1" 1453 date="2017-10-19" time="18:00:00 +0300" 1454 packager="Andrei Belov <defan@nginx.com>"> 1455 1456<change> 1457<para> 1458Initial release of Python 3.4 module for NGINX Unit. 1459</para> 1460</change> 1461 1462</changes> 1463 1464 1465<changes apply="unit-python3.5" ver="0.2" rev="1" 1466 date="2017-10-19" time="18:00:00 +0300" 1467 packager="Andrei Belov <defan@nginx.com>"> 1468 1469<change> 1470<para> 1471Initial release of Python 3.5 module for NGINX Unit. 1472</para> 1473</change> 1474 1475</changes> 1476 1477 1478<changes apply="unit-php" ver="0.2" rev="1" 1479 date="2017-10-19" time="18:00:00 +0300" 1480 packager="Andrei Belov <defan@nginx.com>"> 1481 1482<change> 1483<para> 1484Initial release of PHP module for NGINX Unit. 1485</para> 1486</change> 1487 1488</changes> 1489 1490 1491<changes apply="unit" ver="0.2" rev="1" 1492 date="2017-10-19" time="18:00:00 +0300" 1493 packager="Andrei Belov <defan@nginx.com>"> 1494 1495<change type="feature"> 1496<para> 1497configuration persistence. 1498</para> 1499</change> 1500 1501<change type="feature"> 1502<para> 1503improved handling of configuration errors. 1504</para> 1505</change> 1506 1507<change type="feature"> 1508<para> 1509application "timeout" property. 1510</para> 1511</change> 1512 1513<change type="bugfix"> 1514<para> 1515POST request for PHP were handled incorrectly. 1516</para> 1517</change> 1518 1519<change type="bugfix"> 1520<para> 1521the router exited abnormally if all listeners had been deleted. 1522</para> 1523</change> 1524 1525<change type="bugfix"> 1526<para> 1527the router crashed under load. 1528</para> 1529</change> 1530 1531<change type="bugfix"> 1532<para> 1533memory leak in the router. 1534</para> 1535</change> 1536 1537</changes> 1538 1539 1540<changes apply="unit" ver="0.1" rev="1" 1541 date="2017-09-06" time="19:14:28 +0300" 1542 packager="Andrei Belov <defan@nginx.com>"> 1543 1544<change> 1545<para> 1546First public release. 1547</para> 1548</change> 1549 1550</changes> 1551 1552 1553</change_log> 1554