forked from alibaba/tengine
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGES.te
1065 lines (616 loc) · 39 KB
/
CHANGES.te
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Changes with Tengine 3.1.0 27 Oct 2023
*) Security: fixed HTTP2 CVE-2023-44487 [lianglli]
*) Feature: dynamically configure different TLS protocols for different server names without tengine reload based on tengine-ingress [lianglli]
*) Feature: dynamically configure HTTP routes based on multiple values of a specific header without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes based on multiple values of a specific cookie without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes based on multiple values of a specific query parameter without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes based on the modulo operation for a specific header without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes based on the modulo operation for a specific cookie without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes based on the modulo operation for a specific query parameter without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes to add custom headers to the HTTP request without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes to append custom headers to the HTTP request without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes to add query parameter to the HTTP request without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: dynamically configure HTTP routes to add custom headers to the HTTP response without tengine reload based on tengine-ingress [lianglli, dreamwind1985]
*) Feature: add new option https_allow_http of listen for receiving HTTP traffic on the TLS listener (drawing)
*) Feature: add new module ngx_http_debug_conn_module for debugging connection info (hongxiaolong)
*) Bugfix: fixed HTTP/3 Lua callback issue (drawing)
*) Bugfix: fixed FD leak issue in HTTP/3 XQUIC module (dreamwind1985)
*) Bugfix: fixed certificate matching issue with static configuration file in HTTP/3 XQUIC module (lurker-Chen)
*) Bugfix: fixed crash for calling ngx_http_find_virtual_server in the HTTP/3 XQUIC module (morf)
*) Bugfix: fixed crash for using thread_pool in SSL asynchronous mode (zhsnew)
*) Bugfix: fixed compilation error of ngx_http_grpc_module with ngx_tongsuo_ntls (dongbeiouba)
*) Bugfix: fixed test case issues of new module ngx_http_debug_conn_module (chobits)
*) Bugfix: fixed log error of ngx_getcpuinfo (fuchencong)
Changes with Tengine 3.0.0 06 Jul 2023
*) Feature: dynamically reconfigure the servers, locations and upstreams without reloading or restarting worker processes [tengine-ingress] (drawing, lianglli)
*) Feature: HTTP/3 support (QUIC v1 and draft-29)[XQUIC] (lurker-Chen, Kulsk, lianglli)
*) Feature: high-speed UDP transmission with kernel-bypass [XUDP] (D-Wythe, fengidri)
*) Feature: dynamically reconfigure canary routing based on standard and custom HTTP headers, header value, and weights [tengine-ingress] (drawing, lianglli)
*) Feature: dynamically reconfigure timeout setting, SSL Redirects, CORS and enabling/disabling robots for the ingress/path [tengine-ingress] (drawing, lianglli)
*) Change: update core to stable version Nginx-1.24.0 (lianglli)
*) Bugfix: fixed coredump caused by ngx_ssl_shutdown() with ssl_async enabled (foxriver1025)
Changes with Tengine 2.4.1 08 Jun 2023
*) Change: updated ngx_http_proxy_connect_module to v0.0.4 (chobits)
*) Bugfix: fixed compilation error in stream_set module (chobits)
*) Bugfix: fixed NTLS cert check, move sign/enc certficate to upstream,
add ngx_tongsuo_ntls module (dongbeiouba)
*) Bugfix: fixed bug that client cannot receive right packages with
ssl_async enabled (oyaya)
Changes with Tengine 2.4.0 08 Feb 2023
*) Feature: Update to nginx 1.22.1 (jiuzhoucui)
Changes with Tengine 2.3.4 18 Oct 2022
*) Feature: added new module ngx_openssl_ntls to support NTLS protocol
(dongbeiouba)
*) Change: updated SSL library from BabaSSL to Tongsuo in the
ngx_openssl_ntls module (wa5i)
*) Bugfix: fixed CVE-2021-23017 (chobits)
*) Bugfix: fixed deadlock in the upstream check module with "zone"
directive configured in upstream block (zjd87)
*) Bugfix:fixed compilation in the upstream check module (RocFang)
*) Bugfix: fixed compilation error in the dubbo module (MengqiWu)
Changes with Tengine 2.3.3 25 Mar 2021
*) Feature: tengine supports dtlsv1 and dtlsv1.2. (mrpre)
*) Feature: prometheus format and additional json properties
was added to ngx_http_upstream_check_module. (dkrutsko)
*) Feature: the "dubbo_pass" directive can use the variables. (spacewander)
*) Change: all features of nginx-1.18.0 are inherited, i.e.,
it is 100% compatible with nginx. (lianglli)
*) Change: dingtalk user group was added to README. (cnmade)
*) Change: format document of the mod_dubbo. (spacewander)
*) Bugfix: int32 values are not decoded properly in the mod_dubbo. (spacewander)
*) Bugfix: a segmentation fault might occur in a worker process
when decoding a dubbo payload with integer value in the mod_dubbo. (spacewander)
*) Bugfix: memory leak in ngx_http_lua_module with debug log. (hawkxiang)
*) Bugfix: fake request was not freed in the ngx_multi_upstream_module. (spacewander)
*) Bugfix: shared memory mutex in the ngx_http_upstream_check_module. (scriptkids)
*) Bugfix: redundant upstream health check was removed
in the ngx_http_upstream_check_module. (scriptkids)
*) Bugfix: duplicate log_ctx was deleted in the ngx_multi_upstream_module. (spacewander)
*) Bugfix: tengine hogged CPU during reading message in the ngx_http_upstream_dyups_module
and when upstream check was used. (zjd87)
*) Bugfix: ngx_http_upstream_vnswrr_module did not support "dynamic_resolve" directive. (wangfakang)
*) Bugfix: "limit_req_zone" directive were used in multiple variables. (wangfakang)
*) Bugfix: a segmentation fault might occur in a master process. (wangfakang)
*) Bugfix: memory leak when rewrite string contains ASCII 0 character. (hongxiaolong)
*) Bugfix: variable hex_str was not used in the mod_dubbo. (Weiliang-Li)
*) Bugfix: keep-alive request did not transferred complete caused the 400 response. (fishgege)
Changes with Tengine 2.3.2 20 Aug 2019
*) Security: fixed CVE-2019-9511, CVE-2019-9513 and CVE-2019-9516. (wangfakang)
*) Feature: added dubbo_pass directive to
support the back-end HTTP to Dubbo protocol. (MenqqiWu)
*) Feature: added VNSWRR algorithm for upstream module. (wangfakang)
*) Feature: support IPv6 for dynamic_resolve module. (wangfakang)
*) Change: support dynamic build and add some debug log
for proxy_connect module. (chobits)
*) Change: updated the code from Nginx-1.17.3 version. (wangfakang)
*) Change: updated the health_check module document. (zhangqx2010)
*) Change: updated README document. (Lin-Buo-Ren)
*) Bugfix: fixed JSON format for health_check module. (IYism)
*) Bugfix: ensured 'init_worker_by_lua*' does not
mutate another Nginx module's main_conf. (wangfakang)
*) Bugfix: fixed compilation error of dyups module compiled
with a higher version of OpenSSL. (wangfakang)
Changes with Tengine 2.3.1 18 Jun 2019
*) Feature: add $ssl_handshakd_time variable for stream ssl module (mrpre)
*) Feature: support websocket check of upstream check module (mrpre)
*) Change: random index logical for round robin (wangfakang)
*) Change: update http lua module to v0.10.14 (mrpre)
*) Change: update dyups to master branch of yzprofile/dyups (chobits)
*) Change: update core to Nginx-1.16.0 (MenqqiWu)
*) Change: support dynamic module for reqstatus (chobits)
*) Change: support dynamic build for upstream dynamic module (wangfakang)
*) Change: support dynamic build for trim module (wangfakang)
*) Change: support dynamic build for footer module (wangfakang)
*) Change: support dynamic build for user_agent module (wangfakang)
*) Change: support dynamic build for concat module (mathieu-aubin)
*) Bugfix: server version strings in http2 and stream response headers (AstroProfundis)
*) Bugfix: "-m" option to show dynamic module (wangfakang)
*) Bugfix: parameter number check for limit_req directive (wangfakang)
*) Bugfix: fixed compilation error on macOS for reqstatus (chobits)
Changes with Tengine 2.3.0 25 Mar 2019
*) Feature: added proxy_connect module support for the CONNECT
HTTP method. (chobits)
*) Feature: added server_name directive for Stream module. (mrpre)
*) Feature: added req_status_lazy directive for reqstat module. (taoyuanyuan)
*) Feature: added http2 directive to enable or disable http2
in the server block. (jinjiu)
*) Feature: added $ssl_handshake_time variable used for monitoring
SSL handshake time. (jinjiu)
*) Feature: added support of variable of limit_req_zone
parameter rate. (Alaaask)
*) Change: updated debug_pool module for Nginx 1.15.9. (chobits)
*) Change: updated documents for reuse_port, dso, limit_req
directive changes. (chobits, wangfakang)
*) Change: merged the official limit_req logic. Now will ignore statistics
when all variable values are empty. (chobits)
*) Change: the reuse_port, dso, slice directive has been removed and
use the official features of Nginx. (wangfakang)
*) Change: updated and modify the official 1.15.9 test cases.
(chobits, wangfakang)
*) Change: put all Tengine's modules into the modules directory
which reduces the intrusion of Nginx's core module. (chobits, wangfakang)
*) Change: updated the code from Nginx-1.15.9 version,
Stream, gRPC etc. (chobits, wangfakang)
*) Change: updated the Lua module to v0.10.14rc4. (wangfakang)
*) Change: updated the dyups document. (lf1029698952)
*) Change: changes of the core code are all guarded by macros.
(chobits, wangfakang, fankeke, hongxiaolong, imkeeper)
*) Change: rollback accpte_filter feature. (wangfakang)
*) Bugfix: fixed compilation error of dyups module compiled
with a higher version of OpenSSL. (wangfakang)
*) Bugfix: fixed init_number initialization for dyups. (FengXingYuXin)
*) Bugfix: fixed the rollback log process that may cause logs
to be written to a rolled-up file when reloaded. (MengqiWu)
*) Bugfix: fixed coredump of referring null pointer
for ssl_verify_client_exception. (chobits)
*) Bugfix: fixed coredump caused by upgrading core code
in dyups and session_sticky modules. (wangfakang)
*) Bugfix: fixed compilation error of limit_req, http2 module. (hongxiaolong)
*) Bugfix: fixed removes the Unix domain socket file
when pipe proc close listen socket. (wangfakang)
*) Bugfix: fixed compatibility for --with-openssl
and --with-openssl-async. (mrpre)
*) Bugfix: fixed bug that function ngx_http_top_intput_body_filter
is removed mistakenly. (chobits)
*) Bugfix: fixed reuse_port and accept_mutex conflict. (innomentats)
*) Bugfix: fixed tengine build failure when compiled with
gcc7 compiler. (wangfakang)
Changes with Tengine 2.2.3 11 Nov 2018
*) Security: fixed CVE-2018-16843, CVE-2018-16844 and
CVE-2018-16845. (chobits)
Changes with Tengine 2.2.2 26 Jan 2018
*) Feature: support asynchronous SSL/TLS mode, Could use QAT to
offload and accelerated SSL. (mrpre)
*) Feature: support TLS1.3 and 0-RTT data. (jlijian3)
*) Feature: enabled "include" inside http upstreams. (wangfakang)
*) Change: update and fixed the test cases. (wangfakang)
*) Change: restore the functionality of the ssl_verify_client_exception
directive. (jinjiu)
*) Change: updated the Debian package version number. (PeterDaveHello)
*) Change: updated README document. (taoyuanyuan)
*) Bugfix: fixed bug that the upstream_check module could trigger a segment
while reload. (yongjianchn)
*) Bugfix: fixed compiler error for pipe module on FreeBSD. (MengqiWu)
Changes with Tengine 2.2.1 27 Sep 2017
*) Security: range filter protect from total size overflows.
(CVE–2017–7529) (hongxiaolong)
*) Feature: added ngx_slab_stat module to show shared memory statistics.
(hongxiaolong)
*) Feature: added rollback parameter for pipe to support roll back log file
by time or file size. (MengqiWu)
*) Feature: added dns cache to avoid tengine reload, start or stop etc
failed when dns server is unavailable. (wangfakang)
*) Feature: added sysguard_cpu to protect the system by monitoring
the CPU usage. (wangfakang)
*) Change: Range filter: avoid negative range start. (jinjiu)
*) Change: updated ngx_slab from nginx-1.13.4 to enable slab slots and
free pages statistics. (hongxiaolong)
*) Change: update test cases: Nginx.pm and HTTP2.pm. (chobits)
*) Change: HTTP/2 updates from nginx v1.9.8~1.11.6. (PeterDaveHello)
*) Change: updated core document. (chobits)
*) Change: remove the warning message when using deprecated system OpenSSL
library on OS X. (chobits)
*) Change: updated travis.yml configure. (PeterDaveHello)
*) Bugfix: fixed "proxy_upstream_tries" number of retry backend
is incorrect for lua subrequest. (wangfakang)
*) Bugfix: fixed bug reuse_port and accept_mutex conflict. (gwtony)
*) Bugfix: fixed bug when the worker_processes is set to auto caused
reuse_port did not work. (wangfakang)
*) Bugfix: fixed bug of used reuse_port caused nginx -t failed. (chobits)
*) Bugfix: fixed bug of check return value of pipe module. (chobits)
*) Bugfix: fixed check configure error. (chobits)
*) Bugfix: fixed check aio configure option in auto/os/freebsd. (chobits)
Changes with Tengine 2.2.0 29 Nov 2016
*) Security: a segmentation fault might occur in a worker process
while writing a specially crafted request body to a temporary file
(CVE-2016-4450) (0x7E)
*) Feature: the "force_exit" directive. (aholic, chobits)
*) Feature: debug pool module which can get memory usage of nginx memory
pool. (chobits)
*) Change: merged HTTP/2 module, SPDY module is removed. (PeterDaveHello)
*) Change: official nginx syslog support, tengine syslog support is removed.
*) Change: merged changes from nginx-1.8.1. (lhanjian, magicbear, chobits)
*) Change: support for EPOLL_EXCLUSIVE. (cfsego)
*) Change: export api: ngx_http_upstream_check_upstream_down. (detailyang)
*) Change: disable "check_keepalive_requests" feature for TCP health check.
(cynron)
*) Change: updated reqstatus module. (cfsego)
*) Bugfix: remove duplicate code in ngx_http_named_location (innomentats)
*) Bugfix: fixed bug of session-sticky module. (detailyang)
*) Bugfix: fixed bug of resolve.conf parser. (zuopucuen)
*) Bugfix: fixed the compile warning of tfs module. (monadbobo)
*) Bugfix: fixed a segmentation fault of dynamic_resolver feature when
variable is used in proxy_pass directive. (chobits)
*) Bugfix: fixed bug of invalid Set-Cookie value in session-sticky module.
(YanagiEiichi)
*) Bugfix: fixed bug of uninitialized 'cf' variable in dyups module.
(wangfakang)
*) Bugfix: fixed bug of duplicate peers in health check module.
(FqqCS, taoyuanyuan)
*) Bugfix: fixed bug of wrong javascript content-type in concat module.
(IYism)
Changes with Tengine 2.1.1 12 Aug 2015
*) Feature: support for dynamic upstream update. (yzprofile)
*) Feature: enchanced ngx_http_reqstat_module. (cfsego)
*) Feature: added ssl_verify_client_exception directive. (InfoHunter)
*) Change: Reduced memory usage while parsing configuration. (ilexshen)
*) Change: added $trim_bytes and $trim_original_bytes. (taoyuanyuan)
*) Change: upgrade debian package to 2.1.0 (PeterDaveHello)
*) Change: support for auto compile for ngx_http_spdy_module. (chobits)
*) Change: updated SPDY/3.1. (chobits)
*) Change: disabled 'proxy_request_buffering' for SPDY. (chobits)
*) Change: added configue options to support set linker. (tanguofu)
*) Bugfix: fixed Backport bug of SPDY (nginx official, ym)
*) Bugfix: fixed compile error with SSL. (ym)
*) Bugfix: fixed bug of reuseport. (monadbobo)
Changes with Tengine 2.1.0 19 Dec 2014
*) Feature: support the SO_REUSEPORT option, to improve performance on
multicore systems. (monadbobo)
*) Feature: support for resolving upstream domain names on the fly.
(InfoHunter)
*) Feature: support for rewriting to named locations. (yzprofile)
*) Feature: added two parameters 'crop_keepx' and 'crop_keepy' to the
directive 'image_filter'. (Lax)
*) Feature: support for saving SSL sessions in consistent_hash module and
session_sticky module. (dinic)
*) Feature: support for compiling Tengine automatically in travis-ci.org.
(Jamyn)
*) Feature: support for FastCGI health check. (yzprofile)
*) Feature: enhanced sysguard module. (InfoHunter)
*) Feature: added a variable '$normalized_request', to get normalized
request URIs. (yunkai)
*) Feature: added wildcard support for 'include' directive in 'dso' block.
(monadbobo)
*) Feature: added the 'gzip_clear_etag' directive. (taoyuanyuan)
*) Feature: added the 'unprintable' parameter to the 'log_escape' directive.
(skoo87)
*) Change: merged changes from nginx-1.6.2. (cfsego, taoyuanyuan, chobits)
*) Change: now the order of servers in an upstream are random when
initialized. (taoyuanyuan)
*) Change: slab allocator free pages defragmentation. (chobits)
*) Bugfix: SPDY/3 dropped the "delayed" flag when finalizing connection.
(chobits)
*) Bugfix: fixed SPDY/3 connection leak. (chobits)
*) Bugfix: now don't truncate value of key to 255 bytes in limit_req module.
(chobits)
*) Bugfix: failed to parse /etc/resolv.conf with IPv6 addresses. (lifeibo)
*) Bugfix: upstream rbtree bugfix. (taoyuanyuan)
Changes with Tengine 2.0.3 30 May 2014
*) Feature: added support for collecting the running status of Tengine
according to specific key (domain, url, etc). (cfsego)
*) Feature: added support for generating package of debian/ubuntu
format(*.deb). (betetrpm, szepeviktmr)
*) Change: merged changes between nginx-1.4.6 and nginx-1.4.7. (chobits)
*) Change: optimized the parsing and searching strategy of upstream by
using rbtree. (SarahWang)
*) Change: updated the copyright.
*) Bugfix: fixed bugs of session-sticky module. (dinic)
*) Bugfix: fixed compiling and installing issues of DSO modules. (cfsego)
*) Bugfix: fixed bugs of SPDY protocol. (chobits)
Changes with Tengine 2.0.2 28 March 2014
*) Bugfix: send output queue after processing of read event in SPDY. (chobits)
*) Bugfix: CVE-2014-0133 and CVE-2014-0088. (chobits)
Changes with Tengine 2.0.1 06 March 2014
*) Feature: now non-buffering request body mechanism supports chunked input.
(yaoweibin)
*) Feature: trim module added more rules, and now can be enabled according
to variables. (taoyuanyuan)
*) Feature: resolver can be configured automatically from /etc/resolv.conf.
(lifeibo, yaoweibin)
*) Feature: added variables starting with "$ascii_", which can represent
arbitrary ASCII characters. (yzprofile)
*) Feature: added a new directive "image_filter_crop_offset". (lax)
*) Change: merged changes between nginx-1.4.4 and nginx-1.4.6. (chobits, cfsego)
*) Bugfix: upstream health check module failed occasionally when using
keep-alive connections. (lilbedwin)
*) Bugfix: nginx crashed when upstream rejected nginx WebSocket connection.
http://trac.nginx.org/nginx/ticket/503 (Hao Chen)
*) Bugfix: reduce nginx memory consumption when processing large files.
(cfsego)
*) Bugfix: disabled redirects to named locations if URI is not set.
Changes with Tengine 2.0.0 08 Jan 2014
*) Feature: now DSO module does not need the original source code or
compiler options when compiling a new module. (monadbobo)
*) Feature: added support for SPDY v3, and SPDY/HTTP servers can listen on
the same port. (lilbedwin, chobits)
*) Feature: added support for setting retries for upstream servers (proxy,
memcached, fastcgi, scgi, uwsgi). (supertcy)
*) Feature: now tfs module can report access status to rcs while keepalive.
(zhcn381)
*) Feature: now the directive "if" supports ">", "<", ">=", "<=" operators
for numeric comparison. (flygoast)
*) Feature: now upstream health check module uses keep-alive connections.
added a new directive "check_keepalive_requests". (lilbedwin)
*) Feature: now trim module can handle SSI and ESI comments properly.
(taoyuanyuan)
*) Feature: now directive "expires_by_types" supports wildcard such as
"text/*". (zhcn381)
*) Feature: added variables starting with "$base64_decode_" to encode
variables in base64. (yzprofile)
*) Feature: added variables starting with "$md5_encode_" to encode variables
in md5. (yzprofile)
*) Feature: added a variable "$time_http" to get the current HTTP time.
(flygoast)
*) Feature: added a variable "$full_request" to get the original request
URL with scheme and host. (yzprofile)
*) Feature: added variables starting with "$escape_uri_" to escape variables
into formal URL syntax. (yzprofile)
*) Feature: added a variable "$raw_uri" to get the original URI without
arguments. (flygoast)
*) Feature: added support for logging subrequests in nanoseconds. (jinglong)
*) Feature: added a new API function to encode URL into base64. (lilbedwin)
*) Change: merged changes between nginx-1.2.9 and nginx-1.4.4. (cfsego)
*) Change: now stub_status module does not log subrequests. (jinglong)
*) Bugfix: fixed a bug in footer module when reading a response with
a "Content-Encoding" header. (yaoweibin)
*) Bugfix: fixed a bug when "client_body_postpone_size" is set to 0.
(yaoweibin)
*) Bugfix: fixed a compilation warning of Lua module. (diwayou)
Changes with Tengine 1.5.2 22 Nov 2013
*) Security: a character following an unescaped space in a request line
was handled incorrectly (CVE-2013-4547); the bug had appeared in
0.8.41.
Thanks to Ivan Fratric of the Google Security Team.
*) Bugfix: fix a bug that 'nodelay' might be ignored in limit_req module.
(cfsego)
*) Bugfix: fix a bug in trim module when processing JavaScript comment.
(taoyuanyuan)
Changes with Tengine 1.5.1 29 Aug 2013
*) Feature: added the directive 'retry_cached_connection' which could
disable unconditional retries with a cached backend connection.
(yaoweibin)
*) Feature: added the argument of 'ncpu' to 'sysguard_load' directive.
(yzprofile)
*) Bugfix: fixed a bug in referer module that regex rules might be
invalid with https requests. (lilbedwin)
*) Bugfix: fixed a bug that the trim module might send a zero-size
buffer. (taoyuanyuan)
*) Bugfix: fixed a compile error when using the configure option
'--without-dso'. (zhuzhaoyuan)
*) Bugfix: fixed two compile warnings. (zzjin, diwayou)
Changes with Tengine 1.5.0 31 Jul 2013
*) Feature: added ABI compatibility verification for DSO modules.
(monadbobo)
*) Feature: added non-buffering request body mechanism. Now the http proxy
and fastcgi module can send requests to backend servers when it receives
part of a request body. (yaoweibin)
*) Feature: added trim module which can remove unnecessary white spaces and
comments to reduce the size of a page. (taoyuanyuan)
*) Feature: added the accept filter mechanism which supports to do some
filter processing after accepting a new connection. (yzprofile)
*) Feature: Now the server banner in a default error page can be replaced
by the string specified in server_tag. (zhuzhaoyuan)
*) Bugfix: fixed the bug of the 'buffer' argument might be ignored in the
'access_log' directive. (cfsego)
*) Bugfix: fixed the session_sticky module didn't issue the session cookie
in the direct mode. (dinic)
Changes with Tengine 1.4.6 14 May 2013
*) Bugfix: merged the changes of Nginx-1.2.9 and fixed the security problem
CVE-2013-2070. This bug had appeared in 1.4.0. (yaoweibin)
Changes with Tengine 1.4.5 1 May 2013
*) Feature: added the consistent_hash module which dispatches requests
to upstream servers based on consistent hashing algorithm of a
variable specified. (dinic)
*) Feature: added the "keepalive_timeout" directive to set timeout for
the upstream keepalive connections. (jinglong)
*) Feature: now the configure script supports compilation of all modules
to be shared or static. (monadbobo)
*) Change: updated the Lua module to 0.7.19. (jinglong)
*) Change: merged the changes of Nginx-1.2.8. (yaoweibin)
*) Bugfix: fixed the compile warnings of syslog and upstream_check
modules in GCC-4.4.5. (magicbear)
Changes with Tengine 1.4.4 21 Mar 2013
*) Feature: added the session_sticky module by using which one client
can be always served by the same upstream server. (dinic)
*) Feature: now the sysguard module can protect the server based on
the amount of free memory. (lifeibo)
*) Feature: added support for geoip regional database in geoip module.
(jasonlfunk)
*) Feature: log_empty_request can also disable the logs for timeout (408)
empty request. (yaoweibin)
*) Change: merged changes between Nginx-1.2.5 and Nginx-1.2.7. (cfsego)
*) Change: CPU affinity is off by default now. (cfsego)
*) Bugfix: fixed a bug that sysguard and upstream_check module didn't
compile on Solaris 11. (lifeibo, yaoweibin)
*) Bugfix: fixed a bug with TFS module that it might return bad values.
(zhcn381)
*) Bugfix: fixed a bug with TFS module that it might corrupt large files.
(zhcn381)
Changes with Tengine 1.4.3 21 Jan 2013
*) Feature: added the TFS module which provides a RESTful API to Taobao
File System. (zhcn381, monadbobo)
*) Feature: added a $sent_cookie_XXX variable which could be used to get
the value of cookie XXX from the Set-Cookie headers. (skoo87)
*) Feature: now the syslog logging supports host name and domain name as
its destination address. (cfsego)
*) Change: added an attribute 'id' for the server directive in the upstream
block. (yaoweibin)
*) Bugfix: fixed a bug of DSO module which might stop Tengine from
reloading. (monadbobo)
*) Bugfix: fixed a segmentation fault bug of upstream_check module when
the check timeout was larger than the check interval. (yaoweibin)
*) Bugfix: fixed a segmentation fault bug of user_agent module when there
was no User-Agent header existed in a request. (dinic)
*) Bugfix: fixed the bug that sysguard module didn't work on Mac OS. (lizi)
Changes with Tengine 1.4.2 22 Nov 2012
*) Feature: added the option '--dso-tool-path' to configure script, which
can specify the installation path for the dso_tool script. (monadbobo)
*) Feature: added a new variable '$unix_time', whose value is the current
number of seconds since unix epoch time. (yaoweibin)
*) Feature: added the 'make test' target to run test cases. (yaoweibin)
*) Feature: now the sysguard module can be used in a location block.
(lifeibo)
*) Change: merged the changes from Nginx-1.2.4 and Nginx-1.2.5.
(zhuzhaoyuan)
*) Change: now checks the error codes of input body filters more carefully
to avoid socket leaks. (cfsego)
*) Bugfix: fixed the problem with directive limit_req can't handle 4
arguments. (monadbobo)
Thanks to LazyZhu.
*) Bugfix: fixed a compilation error with the file of sysinfo in Cygwin.
(lifeibo)
Thanks to Cao Peiran.
*) Bugfix: now the installation script will copy the user_agent module's
configuration. (monadbobo)
Thanks to Jianbin Xiao.
*) Bugfix: fixed the installation directory error with the DSO module
when creating the RPM package. (monadbobo)
Thanks to Jianbin Xiao and Ren Xiaolei.
Changes with Tengine 1.4.1 10 Oct 2012
*) Feature: added jemalloc library support. (fanjizhao)
*) Feature: added a new variable '$dollar', whose value is the dollar
sign ('$'). (zhuzhaoyuan)
*) Feature: added the option 'off' to 'worker_cpu_affinity' directive.
(cfsego)
*) Change: disable CPU affinity when a new worker process is forked as
an old one exits abnormally. (cfsego)
*) Bugfix: fixed compile error with shared Lua module when using LuaJIT
in Mac OS. (monadbobo)
*) Bugfix: fixed the wrong module execution order with the third party
shared filter module. (monadbobo)
Changes with Tengine 1.4.0 05 Sep 2012
*) Feature: added the dynamic module loading support (a.k.a. DSO), so we
don't have to recompile tengine when we want to add a new module.
(monadbobo)
*) Feature: updated the Lua module to the latest stable version.
(chaoslawful, agentzh, jinglong)
*) Feature: added json and csv format output for the upstream_check
module. (yaoweibin)
*) Feature: added the 'log_empty_request' directive which could be used
to turn off logs from a connection without HTTP data. (zhuzhaoyuan)
*) Feature: added the 'concat_delimiter' directive to the concat module
to allow adding delimiter between each file. (dinic)
*) Feature: added the 'concat_ignore_file_error' directive to ignore file
errors and the syntax of concat is less strict now. (dinic)
*) Feature: added the 'default' option to the 'error_page' directive to
set all error pages to default values. (jinglong)
*) Feature: added the 'priority' directive of the procs module.
(yzprofile)
*) Feature: added the 'delay_start' directive of the procs module.
(yzprofile)
*) Change: merged changes from nginx-1.2.3. (zhuzhaoyuan)
*) Bugfix: fixed a segmentation fault bug of the geo module when 'range'
was set without default value. (yzprofile)
*) Bugfix: fixed a segmentation fault bug with the procs module.
(yzprofile)
*) Bugfix: fixed a socket leak bug when upstream_check was enabled.
(yaoweibin)
*) Bugfix: fixed some bugs of the limit_req module. (monadbobo)
*) Bugfix: fixed wrong format types with error logs. (yaoweibin)
*) Bugfix: fixed a compile error if the perl module was used with procs.
(yzprofile)
Changes with Tengine 1.3.0 25 May 2012
*) Feature: added the Lua module which embeds the power of Lua into Tengine.
(chaoslawful, agentzh)
*) Feature: added the procs module which provides a mechanism to support
standalone processes. (yzprofile)
*) Change: renamed the parameter from 'nongreedy' to 'greedy' in the
user_agent module. (dinic)
*) Bugfix: fixed a segmentation fault bug in syslog with uninitialized
pointer problem. (cfsego)
*) Bugfix: fixed a compile error in syslog with '--with-ipv6' configuration
parameter. (cfsego)
Changes with Tengine 1.2.5 09 May 2012
*) Feature: added the upstream_check module which could be used to do
proactive health check of upstream servers. (yaoweibin)
*) Feature: now allow to specify program identifiers with syslogs. (cfsego)
*) Change: merged changes between nginx-1.0.14 and nginx-1.0.15.
(zhuzhaoyuan)
*) Change: the default value of 'accept_mutex_delay' was changed from
500ms to 100ms to gain better performance. (zhuzhaoyuan)
*) Bugfix: fixed a segmentation fault bug in syslog when failed to connect
to an upstream server. (cfsego)
*) Bugfix: fixed the bug of 'access_log' might not be compatible with the
'buffer' parameter. (cfsego)
Changes with Tengine 1.2.4 30 Mar 2012
*) Feature: added the user_agent module. (dinic)
*) Feature: added the 'log_escape' directive. (agentzh, skoo87)
*) Change: merged changes between nginx-1.0.12 and nginx-1.0.14.
(zhuzhaoyuan)
*) Bugfix: fixed a bug in the limit_req module. (liseen.wan)
*) Bugfix: fixed a bug in subrequest. (lifeibo)
Changes with Tengine 1.2.3 27 Feb 2012
*) Feature: added the 'request_time_cache' directive to get more precise
$request_time/$request_time_msec/$request_time_usec. (yzprofile)
*) Feature: added the slice module. (zhuzhaoyuan)
*) Change: merged changes between nginx-1.0.11 and nginx-1.0.12.
(zhuzhaoyuan)
*) Change: deleted unused browsers detection. (zhuzhaoyuan)
*) Bugfix: fixed a bug in upstream when reading header. (lifeibo)
*) Bugfix: fixed a bug in 'expires_by_types'. (lifeibo)
Changes with Tengine 1.2.2 11 Jan 2012
*) Feature: added the input body filter mechanism. (cfsego)
*) Feature: added SSL dialog support to the mail module. (cfsego)
*) Change: merged changes between nginx-1.0.10 and nginx-1.0.11.
(zhuzhaoyuan)
*) Change: turned 'lingering_close' off by default. (zhuzhaoyuan)
*) Bugfix: fixed a bug in pipe logs. (cfsego)
*) Bugfix: fixed a 'forbid_action' bug in the limit_req module.
(monadbobo)
*) Bugfix: fixed a bug in 'backtrace_max_stack_size'. (monadbobo)
*) Bugfix: fixed a bug in the footer module when output body is empty.
(dinic)
*) Bugfix: fixed the last hostname letter omitted bug in syslog.
(cfsego)
Changes with Tengine 1.2.1 06 Dev 2011
*) Bugfix: fixed a segmentation fault bug when using default error log
or access log. (yzprofile)
Changes with Tengine 1.2.0 29 Nov 2011
*) This is the first public release.
*) Feature: added syslog support to error_log and access_log. (cfsego)
*) Feature: added pipe support to error_log and access_log. (cfsego)
*) Feature: added realloc() related APIs. (gongyuan)
*) Feature: added time specific variables. (skoo87)
*) Feature: added the backtrace module. (monadbobo)
*) Feature: added whitelist support to the limit_req module. (monadbobo)
*) Feature: now more limit_req directives are allowed in a single location.
(monadbobo)
*) Feature: added the sysguard module. (lifeibo)
*) Feature: added two APIs, ngx_http_header_in and ngx_http_header_out.
(lifeibo)
*) Feature: added two variables, $request_time_msec and $request_time_usec.
(jinglong)
*) Feature: added the footer module. (yunxing)
*) Feature: added the $conn_requests variable which is similar to Apache's
'%K'. (lieyuan)