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