summaryrefslogtreecommitdiff
path: root/CHANGES
blob: 0e74a4e3bece0b46c3168700c974862409172631 (plain)
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

Changes with nginx 0.1.26                                        22 Mar 2005

    *) Change: the invalid client header lines are now ignored and logged 
       at the info level.

    *) Change: the host name is also logged in error log.

    *) Feature: the ngx_http_auth_basic_module module and the auth_basic 
       and auth_basic_user_file directives.


Changes with nginx 0.1.25                                        19 Mar 2005

    *) Bugfix: nginx did run on Linux parisc.

    *) Feature: nginx now does not start under FreeBSD if the sysctl 
       kern.ipc.somaxconn value is too big.

    *) Bugfix: if a request was internally redirected by the 
       ngx_http_index_module module to the ngx_http_proxy_module or 
       ngx_http_fastcgi_module modules, then the index file was not closed 
       after request completion.

    *) Feature: the "proxy_pass" can be used in location with regular 
       expression.

    *) Feature: the ngx_http_rewrite_filter_module module supports the 
       condition like "if ($HTTP_USER_AGENT ~ MSIE)".

    *) Bugfix: nginx started too slow if the large number of addresses and 
       text values were used in the "geo" directive.

    *) Change: a variable name must be declared as "$name" in the "geo" 
       directive. The previous variant without "$" is still supported, but 
       will be removed soon.

    *) Feature: the "%{VARIABLE}v" logging parameter.

    *) Feature: the "set $name value" directive.

    *) Bugfix: gcc 4.0 compatibility.

    *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.


Changes with nginx 0.1.24                                        04 Mar 2005

    *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING 
       and DOCUMENT_URI variables.

    *) Bugfix: the ngx_http_autoindex_module may some times return the 404 
       response for existent directory, if this directory was used in 
       "alias" directive.

    *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large 
       responses.

    *) Bugfix: the lack of the "Referer" header line was always accounted 
       as valid referrer.


Changes with nginx 0.1.23                                        01 Mar 2005

    *) Feature: the ngx_http_ssi_filter_module and the ssi, 
       ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo 
       var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are 
       supported.

    *) Feature: the %request_time log parameter.

    *) Feature: if the request has no the "Host" header line, then the 
       proxy_preserve_host directive set this header line to the first 
       server name of the server_name directive.

    *) Bugfix: nginx could not be built on platforms different from i386, 
       amd64, sparc É ppc; bug appeared in 0.1.22.

    *) Bugfix: the ngx_http_autoindex_module now shows the information not 
       about the symlink, but about file or directory it points to.

    *) Bugfix: the %apache_length parameter logged the negative length of 
       the response header if the no response was transferred to a client.


Changes with nginx 0.1.22                                        22 Feb 2005

    *) Bugfix: the ngx_http_stub_status_module showed incorrect handled 
       connections statistics if the proxing or FastCGI server were used.

    *) Bugfix: the installation paths were incorrectly quoted on Linux and 
       Solaris; bug appeared in 0.1.21.


Changes with nginx 0.1.21                                        22 Feb 2005

    *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics 
       if "rtsig" method was used or if several worker process ran on SMP.

    *) Bugfix: nginx could not be built by the icc compiler on Linux or if 
       the zlib-1.2.x library was building from sources.

    *) Bugfix: nginx could not be built on NetBSD 2.0.


Changes with nginx 0.1.20                                        17 Feb 2005

    *) Feature: the new "script_filename" and "remote_port" parameters of 
       the fastcgi_params directive.

    *) Bugfix: the FastCGI stderr stream was handled incorrectly.


Changes with nginx 0.1.19                                        16 Feb 2005

    *) Bugfix: now, if request contains the zero, then the 404 error is 
       returned for the local requests.

    *) Bugfix: nginx could not be built on NetBSD 2.0.

    *) Bugfix: the timeout may occur while reading of the the client 
       request body via SSL connections.


Changes with nginx 0.1.18                                        09 Feb 2005

    *) Workaround: the default values of the devpoll_events and the 
       devpoll_changes directives changed from 512 to 32 to be compatible 
       with Solaris 10.

    *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not 
       inherited.

    *) Bugfix: in the redirect rewrite directive the arguments were 
       concatenated with URI by the "&" rather than the "?".

    *) Bugfix: the lines without trailing ";" in the file being included by 
       the ngx_http_geo_module were silently ignored.

    *) Feature: the ngx_http_stub_status_module.

    *) Bugfix: the unknown log format in the access_log directive caused 
       the segmentation fault.

    *) Feature: the new "document_root" parameter of the fastcgi_params 
       directive.

    *) Feature: the fastcgi_redirect_errors directive.

    *) Feature: the new "break" modifier of the "rewrite" directive allows 
       to stop the rewrite/location cycle and sets the current 
       configuration to the request.


Changes with nginx 0.1.17                                        03 Feb 2005

    *) Feature: the ngx_http_rewrite_module was rewritten from the scratch. 
       Now it is possible to redirect, to return the error codes, to check 
       the variables and referrers. The directives can be used inside 
       locations. The redirect directive was canceled.

    *) Feature: the ngx_http_geo_module.

    *) Feature: the proxy_set_x_var and fastcgi_set_var directives.

    *) Bugfix: the location configuration with "=" modifier may be used in 
       another location.

    *) Bugfix: the correct content type was set only for requests that use 
       small caps letters in extension.

    *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the 
       location, and access was denied, and the error was redirected to a 
       static page, then the segmentation fault occurred.

    *) Bugfix: if in a proxied "Location" header was a relative URL, then a 
       host name and a slash were added to them; bug appeared in 0.1.14.

    *) Bugfix: the system error message was not logged on Linux.


Changes with nginx 0.1.16                                        25 Jan 2005

    *) Bugfix: if the response were transferred by chunks, then on the HEAD 
       request the final chunk was issued.

    *) Bugfix: the "Connection: keep-alive" header were issued, even if the 
       keepalive_timeout directive forbade the keep-alive use.

    *) Bugfix: the errors in the ngx_http_fastcgi_module caused the 
       segmentation faults.

    *) Bugfix: the compressed response encrypted by SSL may not transferred 
       complete.

    *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK 
       options, are not used for the unix domain sockets.

    *) Feature: the rewrite directive supports the arguments rewriting.

    *) Bugfix: the response code 400 was returned for the POST request with 
       the "Content-Length: 0" header; bug appeared in 0.1.14.


Changes with nginx 0.1.15                                        19 Jan 2005

    *) Bugfix: the error while the connecting to the FastCGI server caused 
       segmentation fault.

    *) Bugfix: the correct handling of the regular expression, that has 
       different number of the captures and substitutions.

    *) Feature: the location, that is passed to the FastCGI server, can be 
       regular expression.

    *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the 
       arguments and in the original state.

    *) Bugfix: the ngx_http_rewrite_module module was required to be built 
       to use the regular expressions in locations.

    *) Bugfix: the directive "proxy_preserve_host  on" adds port 80 to the 
       "Host" headers, if upstream listen on port 80; bug appeared in 
       0.1.14.

    *) Bugfix: the same paths in autoconfiguration parameters 
       --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 
       or --http-client-body-temp-path=PATH and 
       --http-fastcgi-temp-path=PATH caused segmentation fault.


Changes with nginx 0.1.14                                        18 Jan 2005

    *) Feature: the autoconfiguration directives: 
       --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and 
       --http-fastcgi-temp-path=PATH

    *) Change: the directory name for the temporary files with the client 
       request body is specified by directive client_body_temp_path, by 
       default it is <prefix>/client_body_temp.

    *) Feature: the ngx_http_fastcgi_module and the directives: 
       fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params, 
       fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, 
       fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, 
       fastcgi_busy_buffers_size, fastcgi_temp_path, 
       fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, 
       fastcgi_next_upstream, and fastcgi_x_powered_by.

    *) Bugfix: the "[alert] zero size buf" error; bug appeared in 0.1.3.

    *) Change: the URI must be specified after the host name in the 
       proxy_pass directive.

    *) Change: the %3F symbol in the URI was considered as the argument 
       string start.

    *) Feature: the unix domain sockets support in the 
       ngx_http_proxy_module.

    *) Feature: the ssl_engine and ssl_ciphers directives.
       Thanks to Sergey Skvortsov for SSL-accelerator.


Changes with nginx 0.1.13                                        21 Dec 2004

    *) Feature: the server_names_hash and server_names_hash_threshold 
       directives.

    *) Bugfix: the *.domain.tld names in the server_name directive did not 
       work.

    *) Bugfix: the %request_length log parameter logged the incorrect 
       length.


Changes with nginx 0.1.12                                        06 Dec 2004

    *) Feature: the %request_length log parameter.

    *) Bugfix: when using the /dev/poll, select and poll on the platforms, 
       where these methods may do the false reports, there may be the long 
       delay when the request was passed via the keep-alive connection. It 
       may be at least on Solaris when using the /dev/poll.

    *) Bugfix: the send_lowat directive is ignored on Linux because Linux 
       does not support the SO_SNDLOWAT option.


Changes with nginx 0.1.11                                        02 Dec 2004

    *) Feature: the worker_priority directive.

    *) Change: both tcp_nopush and tcp_nodelay directives affect the 
       transferred response.

    *) Bugfix: nginx did not call initgroups().
       Thanks to Andrew Sitnikov and Andrei Nigmatulin.

    *) Change: now the ngx_http_autoindex_module shows the file size in the 
       bytes.

    *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the 
       broken symlink was in a directory.

    *) Bugfix: the files bigger than 4G could not be transferred using 
       sendfile.

    *) Bugfix: if the backend was resolved to several backends and there 
       was an error while the response waiting then process may got caught 
       in an endless loop.

    *) Bugfix: the worker process may exit with the "unknown cycle" message 
       when the /dev/poll method was used.

    *) Bugfix: "close() channel failed" errors.

    *) Bugfix: the autodetection of the "nobody" and "nogroup" groups.

    *) Bugfix: the send_lowat directive did not work on Linux.

    *) Bugfix: the segmentation fault occurred if there was no events 
       section in configuration.

    *) Bugfix: nginx could not be built on OpenBSD.

    *) Bugfix: the double slashes in "://" in the URI were converted to 
       ":/".


Changes with nginx 0.1.10                                        26 Nov 2004

    *) Bugfix: if the request without arguments contains "//", "/./", 
       "/../" or "%XX" then the lost character in the request line was 
       lost; bug appeared in 0.1.9.

    *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did 
       not work.


Changes with nginx 0.1.9                                         25 Nov 2004

    *) Bugfix: the proxied request was sent without arguments if the 
       request contains "//", "/./", "/../" or "%XX".

    *) Bugfix: the large compressed responses may be transferred not 
       completely.

    *) Bugfix: the files bigger than 2G was not transferred on Linux that 
       does not support sendfile64().

    *) Bugfix: while the build configuration on Linux the 
       --with-poll_module parameter was required; bug appeared in 0.1.8.


Changes with nginx 0.1.8                                         20 Nov 2004

    *) Bugfix: in the ngx_http_autoindex_module if the long file names were 
       in the listing.

    *) Feature: the "^~" modifier in the location directive.

    *) Feature: the proxy_max_temp_file_size directive.


Changes with nginx 0.1.7                                         12 Nov 2004

    *) Bugfix: on FreeBSD the segmentation fault may occur if the size of 
       the transferred file was changed; bug appeared in 0.1.5.


Changes with nginx 0.1.6                                         11 Nov 2004

    *) Bugfix: some location directive combinations with the regular 
       expressions caused the wrong configuration choose.


Changes with nginx 0.1.5                                         11 Nov 2004

    *) Bugfix: on Solaris and Linux there may be too many "recvmsg() 
       returned not enough data" alerts.

    *) Bugfix: there were the "writev() failed (22: Invalid argument)" 
       errors on Solaris in proxy mode without sendfile. On other platforms 
       that do not support sendfile at all the process got caught in an 
       endless loop.

    *) Bugfix: segmentation fault on Solaris in proxy mode and using 
       sendfile.

    *) Bugfix: segmentation fault on Solaris.

    *) Bugfix: on-line upgrade did not work on Linux.

    *) Bugfix: the ngx_http_autoindex_module module did not escape the 
       spaces, the quotes, and the percent signs in the directory listing.

    *) Change: the decrease of the copy operations.

    *) Feature: the userid_p3p directive.


Changes with nginx 0.1.4                                         26 Oct 2004

    *) Bugfix: in the ngx_http_autoindex_module.


Changes with nginx 0.1.3                                         25 Oct 2004

    *) Feature: the ngx_http_autoindex_module and the autoindex directive.

    *) Feature: the proxy_set_x_url directive.

    *) Bugfix: proxy module may get caught in an endless loop when sendfile 
       is not used.


Changes with nginx 0.1.2                                         21 Oct 2004

    *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS 
       options in configure.

    *) Feature: the server_name directive supports *.domain.tld.

    *) Bugfix: the portability improvements.

    *) Bugfix: if configuration file was set in command line, the 
       reconfiguration was impossible; bug appeared in 0.1.1.

    *) Bugfix: proxy module may get caught in an endless loop when sendfile 
       is not used.

    *) Bugfix: with sendfile the response was not recoded according to the 
       charset module directives; bug appeared in 0.1.1.

    *) Bugfix: very seldom bug in the kqueue processing.

    *) Bugfix: the gzip module compressed the proxied responses that was 
       already compressed.


Changes with nginx 0.1.1                                         11 Oct 2004

    *) Feature: the gzip_types directive.

    *) Feature: the tcp_nodelay directive.

    *) Feature: the send_lowat directive is working not only on OSes that 
       support kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.

    *) Feature: the setproctitle() emulation for Linux and Solaris.

    *) Bugfix: the "Location" header rewrite bug fixed while the proxing.

    *) Bugfix: the ngx_http_chunked_module module may get caught in an 
       endless loop.

    *) Bugfix: the /dev/poll module bugs fixed.

    *) Bugfix: the responses were corrupted when the temporary files were 
       used while the proxing.

    *) Bugfix: the unescaped requests were passed to the backend.

    *) Bugfix: while the build configuration on Linux 2.4 the 
       --with-poll_module parameter was required.


Changes with nginx 0.1.0                                         04 Oct 2004

    *) The first public version.