forked from alibaba/tengine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.te
532 lines (324 loc) · 18.9 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
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.
(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)
*) Feature: added the $host_comment variable. (yunxing)
*) Feature: added a 'ratio' parameter to access_log so now access log can
be sampled. (cfsego)
*) Feature: added the 'server_info' and 'server_admin' directives to show
more information when 4xx/5xx errors encountered. (lieyuan)
*) Feature: added the '-d' command line option to dump contents of
the configuration files. (piaoling)
*) Feature: added response time statistics to the stub_status module.
(jinglong)
*) Feature: added the 'server_tag' directive. (zhuzhaoyuan)
*) Feature: now the 'worker_processes' supports the 'auto' parameter, which
sets the worker process numbers to the cores automatically. (cfsego)
*) Feature: now the 'worker_cpu_affinity' directive supports the 'auto'
parameter, which binds the worker processes to the cores automatically.
(cfsego)
*) Feature: added the 'ssl_pass_phrase_dialog' directive. (cfsego)
*) Feature: added the '-s start' command line option. (zhuzhaoyuan)
*) Feature: added '-m' command line option to list all compiled-in modules.
(zhuzhaoyuan)
*) Feature: added the 'expires_by_types' directive. (lifeibo)
*) Feature: added the '-l' command line option to list all supported
directives. (dinic)
*) Feature: added the ngx_atoll() API, which can convert a string to a long
long integer (64 bits). (lifeibo)
*) Feature: now status lines (302, 405) are RFC-2616 compatibale. (zhuzhaoyuan)
*) Feature: now ngx_escape_uri/ngx_unescape_uri supports encoding/decoding
style of Java and PHP. (zhuzhaoyuan)
*) Feature: now configuration files included are sorted. (zhuzhaoyuan)
*) Feature: now 'error_page' can be reset to 'default' (zhuzhaoyuan)
*) Change: turned 'msie_padding' off by default. (zhuzhaoyuan)
*) Bugfix: fixed a bug when subrequest_in_memory and upstream keepalive
being used. (lifeibo)
*) Bugfix: fixed a bug in $sent_http_connection and $sent_http_keep_alive.
(zhongsheng)
*) Bugfix: fixed a bug that error_page directive can't detect duplicate
codes and inherited correctly. (zhuzhaoyuan)
*) Bugfix: fixed a segmentation fault bug in the FastCGI module, while
processing duplicated HTTP headers. (monadbobo)
*) Bugfix: fixed a bug that file in open_file_cache can't be updated.
(cfsego)
*) Bugfix: fixed a bug in 'worker_cpu_affinity'. (cfsego)