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