~ubuntu-branches/ubuntu/raring/nginx/raring-updates

1 by Jose Parrella
Import upstream version 0.4.12
1
Изменения в nginx 1.2.6                                           11.12.2012
1.3.28 by Kartik Mistry
Import upstream version 1.2.6
2
3
    *) Добавление: переменные $request_time и $msec теперь можно
4
       использовать не только в директиве log_format.
5
6
    *) Исправление: cache manager и cache loader могли не запускаться, если
7
       использовалось более 512 listen-сокетов.
8
9
    *) Исправление: в модуле ngx_http_dav_module.
10
11
12
Изменения в nginx 1.2.5                                           13.11.2012
13
14
    *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
15
       Спасибо Михаилу Казанцеву и Eric O'Connor.
16
17
    *) Добавление: переменные $bytes_sent, $connection и
18
       $connection_requests теперь можно использовать не только в директиве
19
       log_format.
20
       Спасибо Benjamin Grössing.
21
22
    *) Добавление: теперь resolver случайным образом меняет порядок
23
       возвращаемых закэшированных адресов.
24
       Спасибо Антону Жулину.
25
26
    *) Добавление: параметр auto директивы worker_processes.
27
28
    *) Исправление: сообщения "cache file ... has md5 collision".
29
30
    *) Исправление: совместимость с OpenSSL 0.9.7.
31
32
33
Изменения в nginx 1.2.4                                           25.09.2012
1.3.27 by Kartik Mistry
Import upstream version 1.2.4
34
35
    *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
36
       Спасибо Charles Chen.
37
38
    *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
39
       использовался параметр --with-ipv6.
40
41
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
42
       если в директиве map в качестве значений использовались переменные.
43
44
    *) Исправление: в рабочем процессе мог произойти segmentation fault при
45
       использовании директивы geo с параметром ranges, но без параметра
46
       default; ошибка появилась в 0.8.43.
47
       Спасибо Zhen Chen и Weibin Yao.
48
49
    *) Исправление: в обработке параметра командной строки -p.
50
51
    *) Исправление: в почтовом прокси-сервере.
52
53
    *) Исправление: незначительных потенциальных ошибок.
54
       Спасибо Coverity.
55
56
    *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
57
       Спасибо HAYASHI Kentaro.
58
59
60
Изменения в nginx 1.2.3                                           07.08.2012
61
62
    *) Добавление: поддержка компилятора Clang.
63
64
    *) Исправление: могли создаваться лишние слушающие сокеты.
65
       Спасибо Роману Одайскому.
66
67
    *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
68
       рабочего процесса происходила ошибка.
69
       Спасибо Ricardo Villalobos Guevara.
70
71
    *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
72
       scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
73
       fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
74
       наследоваться некорректно.
75
76
    *) Исправление: при использовании директивы map с параметром hostnames
77
       не игнорировалась конечная точка в исходном значении.
78
79
    *) Исправление: для обработки запроса мог использоваться неверный
80
       location, если переход в именованный location происходил после
81
       изменения URI с помощью директивы rewrite.
82
83
84
Изменения в nginx 1.2.2                                           03.07.2012
85
86
    *) Изменение: параметр single директивы keepalive теперь игнорируется.
87
88
    *) Изменение: сжатие SSL теперь отключено в том числе при использовании
89
       OpenSSL cтарее 1.0.0.
90
91
    *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
92
       и директива server в блоке upstream теперь поддерживают IPv6-адреса.
93
94
    *) Добавление: в директиве resolver теперь можно указывать порт и
95
       задавать IPv6-адреса DNS-серверов.
96
97
    *) Добавление: директива least_conn в блоке upstream.
98
99
    *) Добавление: при использовании директивы ip_hash теперь можно задавать
100
       веса серверов.
101
102
    *) Добавление: директиву "ip_hash" теперь можно использовать для
103
       балансировки IPv6 клиентов.
104
105
    *) Добавление: переменную $status теперь можно использовать не только в
106
       директиве log_format.
107
108
    *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
109
       появилась в 1.1.12.
110
111
    *) Исправление: доступ к переменным из SSI и встроенного перла мог не
112
       работать после переконфигурации.
113
       Спасибо Yichun Zhang.
114
115
    *) Исправление: в модуле ngx_http_xslt_filter_module.
116
       Спасибо Kuramoto Eiji.
117
118
    *) Исправление: утечки памяти при использовании переменной $geoip_org.
119
       Спасибо Денису Латыпову.
120
121
    *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
122
123
    *) Исправление: при завершении рабочего процесса мог произойти
124
       segmentation fault, если использовалась директива resolver.
125
126
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
127
       если использовался модуль ngx_http_mp4_module.
128
129
    *) Исправление: в модуле ngx_http_mp4_module.
130
131
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
132
       если использовались конфликтующие имена серверов с масками.
133
134
    *) Исправление: на платформе ARM nginx мог аварийно завершаться по
135
       сигналу SIGBUS.
136
137
    *) Исправление: во время переконфигурации на HP-UX в лог записывался
138
       alert "sendmsg() failed (9: Bad file number)".
139
140
141
Изменения в nginx 1.2.1                                           05.06.2012
1.3.26 by Kartik Mistry
Import upstream version 1.2.1
142
143
    *) Безопасность: теперь nginx/Windows игнорирует точку в конце
144
       компонента URI и не разрешает URI, содержащие последовательность
145
       ":$".
146
       Спасибо Владимиру Кочеткову, Positive Research Center.
147
148
    *) Добавление: директива debug_connection теперь поддерживает
149
       IPv6-адреса и параметр "unix:".
150
151
    *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
152
       теперь поддерживают IPv6-адреса.
153
154
    *) Добавление: директивы real_ip_recursive, geoip_proxy и
155
       geoip_proxy_recursive.
156
157
    *) Добавление: параметр proxy_recursive директивы geo.
158
159
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
160
       если использовалась директива resolver.
161
162
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
163
       если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
164
       и бэкенд возвращал некорректный ответ.
165
166
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
167
       если использовалась директива rewrite и в новых аргументах запроса в
168
       строке замены использовались переменные.
169
170
    *) Исправление: nginx мог нагружать процессор, если было достигнуто
171
       ограничение на количество открытых файлов.
172
173
    *) Исправление: при использовании директивы proxy_next_upstream с
174
       параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
175
       блоке upstream был хотя бы один сервер с флагом backup.
176
177
    *) Исправление: при использовании директивы ip_hash установка параметра
178
       down директивы server могла приводить к ненужному перераспределению
179
       клиентов между бэкендами.
180
181
    *) Исправление: утечки сокетов.
182
       Спасибо Yichun Zhang.
183
184
    *) Исправление: в модуле ngx_http_fastcgi_module.
185
186
187
Изменения в nginx 1.2.0                                           23.04.2012
1.3.25 by Kartik Mistry
Import upstream version 1.2.0
188
189
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
190
       если использовалась директива try_files; ошибка появилась в 1.1.19.
191
192
    *) Исправление: ответ мог быть передан не полностью, если использовалось
193
       больше IOV_MAX буферов.
194
195
    *) Исправление: в работе параметра crop директивы image_filter.
196
       Спасибо Maxim Bublis.
197
198
199
Изменения в nginx 1.1.19                                          12.04.2012
1.3.24 by Cyril Lavier
Import upstream version 1.1.19
200
201
    *) Безопасность: при обработке специально созданного mp4 файла модулем
202
       ngx_http_mp4_module могли перезаписываться области памяти рабочего
203
       процесса, что могло приводить к выполнению произвольного кода
204
       (CVE-2012-2089).
205
       Спасибо Matthew Daley.
206
207
    *) Исправление: nginx/Windows мог завершаться аварийно.
208
       Спасибо Vincent Lee.
209
210
    *) Исправление: nginx нагружал процессор, если все серверы в upstream
211
       были помечены флагом backup.
212
213
    *) Исправление: директивы allow и deny могли наследоваться некорректно,
214
       если в них использовались IPv6 адреса.
215
216
    *) Исправление: директивы modern_browser и ancient_browser могли
217
       наследоваться некорректно.
218
219
    *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
220
221
    *) Исправление: в модуле ngx_http_mp4_module.
222
223
224
Изменения в nginx 1.1.18                                          28.03.2012
1.3.23 by Cyril Lavier
Import upstream version 1.1.18
225
226
    *) Изменение: теперь keepalive соединения не запрещены для Safari по
227
       умолчанию.
228
229
    *) Добавление: переменная $connection_requests.
230
231
    *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
232
       $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
233
234
    *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
235
236
    *) Добавление: директивы xslt_param и xslt_string_param.
237
       Спасибо Samuel Behan.
238
239
    *) Исправление: в configure.
240
       Спасибо Piotr Sikora.
241
242
    *) Исправление: в модуле ngx_http_xslt_filter_module.
243
244
    *) Исправление: nginx не собирался на Debian GNU/Hurd.
245
246
247
Изменения в nginx 1.1.17                                          15.03.2012
1.3.22 by Kartik Mistry
Import upstream version 1.1.17
248
249
    *) Безопасность: содержимое ранее освобождённой памяти могло быть
250
       отправлено клиенту, если бэкенд возвращал специально созданный ответ.
251
       Спасибо Matthew Daley.
252
253
    *) Исправление: при использовании встроенного перла из SSI.
254
       Спасибо Matthew Daley.
255
256
    *) Исправление: в модуле ngx_http_uwsgi_module.
257
258
259
Изменения в nginx 1.1.16                                          29.02.2012
1.3.21 by Kartik Mistry
Import upstream version 1.1.16
260
261
    *) Изменение: ограничение на количество одновременных подзапросов
262
       поднято до 200.
263
264
    *) Добавление: параметр from в директиве disable_symlinks.
265
266
    *) Добавление: директивы return и error_page теперь могут использоваться
267
       для возврата перенаправлений с кодом 307.
268
269
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
270
       если использовалась директива resolver и на глобальном уровне не была
271
       задана директива error_log.
272
       Спасибо Роману Арутюняну.
273
274
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
275
       если использовались директивы "proxy_http_version 1.1" или
276
       "fastcgi_keep_conn on".
277
278
    *) Исправление: утечек памяти.
279
       Спасибо Lanshun Zhou.
280
281
    *) Исправление: в директиве disable_symlinks.
282
283
    *) Исправление: при использовании ZFS размер кэша на диске мог считаться
284
       некорректно; ошибка появилась в 1.0.1.
285
286
    *) Исправление: nginx не собирался компилятором icc 12.1.
287
288
    *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
289
       1.1.15.
290
291
292
Изменения в nginx 1.1.15                                          15.02.2012
293
294
    *) Добавление: директива disable_symlinks.
295
296
    *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
297
298
    *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
299
       prematurely closed connection" вместо "upstream sent too big header".
300
       Спасибо Feibo Li.
301
302
    *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
303
       использовался параметр --with-openssl.
304
305
    *) Исправление: количество внутренних перенаправлений в именованные
306
       location'ы не ограничивалось.
307
308
    *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
309
       ошибкам в модуле ngx_http_gzip_filter_module.
310
311
    *) Исправление: при использовании директивы proxy_store с
312
       SSI-подзапросами временные файлы могли не удаляться.
313
314
    *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
315
       $args) возвращали старое пустое закэшированное значение.
316
317
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
318
       если одновременно создавалось слишком много SSI-подзапросов; ошибка
319
       появилась в 0.7.25.
320
321
322
Изменения в nginx 1.1.14                                          30.01.2012
1.3.20 by Kartik Mistry
Import upstream version 1.1.14
323
324
    *) Добавление: теперь можно указать несколько ограничений limit_req
325
       одновременно.
326
327
    *) Исправление: в обработке ошибок при соединении с бэкендом.
328
       Спасибо Piotr Sikora.
329
330
    *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
331
332
    *) Исправление: в инициализации библиотеки OpenSSL.
333
334
    *) Исправление: директивы proxy_redirect могли наследоваться
335
       некорректно.
336
337
    *) Исправление: утечки памяти при переконфигурации, если использовалась
338
       директива pcre_jit.
339
340
341
Изменения в nginx 1.1.13                                          16.01.2012
342
343
    *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
344
345
    *) Исправление: параметры директивы limit_req наследовались некорректно;
346
       ошибка появилась в 1.1.12.
347
348
    *) Исправление: директива proxy_redirect некорректно обрабатывала
349
       заголовок Refresh при использовании регулярных выражений.
350
351
    *) Исправление: директива proxy_cache_use_stale с параметром error не
352
       возвращала ответ из кэша, если все бэкенды были признаны
353
       неработающими.
354
355
    *) Исправление: директива worker_cpu_affinity могла не работать.
356
357
    *) Исправление: nginx не собирался на Solaris; ошибка появилась в
358
       1.1.12.
359
360
    *) Исправление: в модуле ngx_http_mp4_module.
361
362
363
Изменения в nginx 1.1.12                                          26.12.2011
1.3.19 by Kartik Mistry
Import upstream version 1.1.12
364
365
    *) Изменение: после перенаправления запроса с помощью директивы
366
       error_page директива proxy_pass без URI теперь использует изменённый
367
       URI.
1.3.20 by Kartik Mistry
Import upstream version 1.1.14
368
       Спасибо Lanshun Zhou.
1.3.19 by Kartik Mistry
Import upstream version 1.1.12
369
370
    *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
371
       proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
372
373
    *) Добавление: директива pcre_jit.
374
375
    *) Добавление: SSI команда if поддерживает выделения в регулярных
376
       выражениях.
377
378
    *) Исправление: SSI команда if не работала внутри команды block.
379
380
    *) Исправление: директивы limit_conn_log_level и limit_req_log_level
381
       могли не работать.
382
383
    *) Исправление: директива limit_rate не позволяла передавать на полной
384
       скорости, даже если был указан очень большой лимит.
385
386
    *) Исправление: директива sendfile_max_chunk не работала, если
387
       использовалась директива limit_rate.
388
389
    *) Исправление: если в директиве proxy_pass использовались переменные и
390
       не был указан URI, всегда использовался URI исходного запроса.
391
392
    *) Исправление: после перенаправления запроса с помощью директивы
393
       try_files директива proxy_pass без URI могла использовать URI
394
       исходного запроса.
1.3.20 by Kartik Mistry
Import upstream version 1.1.14
395
       Спасибо Lanshun Zhou.
1.3.19 by Kartik Mistry
Import upstream version 1.1.12
396
397
    *) Исправление: в модуле ngx_http_scgi_module.
398
399
    *) Исправление: в модуле ngx_http_mp4_module.
400
401
    *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
402
403
404
Изменения в nginx 1.1.11                                          12.12.2011
1.3.18 by Kartik Mistry
Import upstream version 1.1.11
405
406
    *) Добавление: параметр so_keepalive в директиве listen.
407
       Спасибо Всеволоду Стахову.
408
409
    *) Добавление: параметр if_not_empty в директивах
410
       fastcgi/scgi/uwsgi_param.
411
412
    *) Добавление: переменная $https.
413
414
    *) Добавление: директива proxy_redirect поддерживает переменные в первом
415
       параметре.
416
417
    *) Добавление: директива proxy_redirect поддерживает регулярные
418
       выражения.
419
420
    *) Исправление: переменная $sent_http_cache_control могла содержать
421
       неверное значение при использовании директивы expires.
422
       Спасибо Yichun Zhang.
423
424
    *) Исправление: директива read_ahead могла не работать при использовании
425
       совместно с try_files и open_file_cache.
426
427
    *) Исправление: если в параметре inactive директивы proxy_cache_path
428
       было указано малое время, в рабочем процессе мог произойти
429
       segmentation fault.
430
431
    *) Исправление: ответы из кэша могли зависать.
432
433
434
Изменения в nginx 1.1.10                                          30.11.2011
435
436
    *) Исправление: при использовании AIO на Linux в рабочем процессе
437
       происходил segmentation fault; ошибка появилась в 1.1.9.
438
439
440
Изменения в nginx 1.1.9                                           28.11.2011
441
442
    *) Изменение: теперь двойные кавычки экранируется при выводе
443
       SSI-командой echo.
444
       Спасибо Зауру Абасмирзоеву.
445
446
    *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
447
       используется TTL, возвращённый DNS-сервером.
448
       Спасибо Кириллу Коринскому.
449
450
    *) Исправление: nginx мог перестать отвечать, если рабочий процесс
451
       завершался аварийно.
452
453
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
454
       если использовалось SNI; ошибка появилась в 1.1.2.
455
456
    *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
457
       Спасибо Александру Усову.
458
459
    *) Исправление: сигнал SIGWINCH переставал работать после первого
460
       обновления исполняемого файла; ошибка появилась в 1.1.1.
461
462
    *) Исправление: теперь ответы бэкендов, длина которых не соответствует
463
       заголовку Content-Length, не кэширутся.
464
465
    *) Исправление: в директиве scgi_param при использовании составных
466
       параметров.
467
468
    *) Исправление: в методе epoll.
469
       Спасибо Yichun Zhang.
470
471
    *) Исправление: в модуле ngx_http_flv_module.
472
       Спасибо Piotr Sikora.
473
474
    *) Исправление: в модуле ngx_http_mp4_module.
475
476
    *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
477
       заголовке Host.
478
479
    *) Исправление: директивы add_header и expires не работали для ответов с
480
       кодом 206, если запрос проксировался.
481
482
    *) Исправление: nginx не собирался на FreeBSD 10.
483
484
    *) Исправление: nginx не собирался на AIX.
485
486
487
Изменения в nginx 1.1.8                                           14.11.2011
1.3.17 by Kartik Mistry
Import upstream version 1.1.8
488
489
    *) Изменение: модуль ngx_http_limit_zone_module переименован в
490
       ngx_http_limit_conn_module.
491
492
    *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
493
       новым синтаксисом.
494
495
    *) Добавление: поддержка ограничения по нескольким limit_conn на одном
496
       уровне.
497
498
    *) Добавление: директива image_filter_sharpen.
499
500
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
501
       если resolver получил большой DNS-ответ.
502
       Спасибо Ben Hawkes.
503
504
    *) Исправление: в вычислении ключа для кэширования, если использовалась
505
       внутренняя реализация MD5; ошибка появилась в 1.0.4.
506
507
    *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
508
       заголовке запроса клиента могли передаваться бэкенду при кэшировании;
509
       или не передаваться при выключенном кэшировании, если кэширование
510
       было включено в другой части конфигурации.
511
512
    *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
513
       "Content-Length" в заголовке ответа, использовался аргумент start.
514
       Спасибо Piotr Sikora.
515
516
517
Изменения в nginx 1.1.7                                           31.10.2011
518
519
    *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
520
       Спасибо Кириллу Коринскому.
521
522
    *) Исправление: на старте или во время переконфигурации происходил
523
       segmentation fault, если директива ssl использовалась на уровне http
524
       и не был указан ssl_certificate.
525
526
    *) Исправление: уменьшено потребление памяти при проксировании больших
527
       файлов, если они буферизировались на диск.
528
529
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
530
       если использовалась директива "proxy_http_version 1.1".
531
532
    *) Исправление: в директиве "expires @time".
533
534
535
Изменения в nginx 1.1.6                                           17.10.2011
536
537
    *) Изменение во внутреннем API: теперь при внутреннем редиректе в
538
       именованный location контексты модулей очищаются.
539
       По запросу Yichun Zhang.
540
541
    *) Изменение: теперь если сервер, описанный в блоке upstream, был
542
       признан неработающим, то после истечения fail_timeout на него будет
543
       отправлен только один запрос; сервер будет считаться работающим, если
544
       успешно ответит на этот запрос.
545
546
    *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
547
       \xXX.
548
549
    *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
550
       теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
551
       X-Accel-Charset.
552
553
    *) Добавление: уменьшение потребления памяти при использовании SSL.
554
555
    *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
556
       Спасибо Алексею Куцу.
557
558
    *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
559
       уровне server, применялись повторно, если для запроса не находилось
560
       ни одного location'а.
561
562
    *) Исправление: при использовании "aio sendfile" могла происходить
563
       утечка сокетов.
564
565
    *) Исправление: при использовании файлового AIO соединения с быстрыми
566
       клиентами могли быть закрыты по истечению send_timeout.
567
568
    *) Исправление: в модуле ngx_http_autoindex_module.
569
570
    *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
571
       32-битных платформах.
572
573
574
Изменения в nginx 1.1.5                                           05.10.2011
575
576
    *) Добавление: директивы uwsgi_buffering и scgi_buffering.
577
       Спасибо Peter Smit.
578
579
    *) Исправление: при использовании proxy_cache_bypass могли быть
580
       закэшированы некэшируемые ответы.
581
       Спасибо John Ferlito.
582
583
    *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
584
       HTTP/1.1.
585
586
    *) Исправление: закэшированные ответы с пустым телом возвращались
587
       некорректно; ошибка появилась в 0.8.31.
588
589
    *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
590
       некорректны; ошибка появилась в 0.8.32.
591
592
    *) Исправление: в директиве return.
593
594
    *) Исправление: при использовании директивы "ssl_session_cache builtin"
595
       происходил segmentation fault; ошибка появилась в 1.1.1.
596
597
598
Изменения в nginx 1.1.4                                           20.09.2011
1.3.16 by Kartik Mistry
Import upstream version 1.1.4
599
600
    *) Добавление: модуль ngx_http_upstream_keepalive.
601
602
    *) Добавление: директива proxy_http_version.
603
604
    *) Добавление: директива fastcgi_keep_conn.
605
606
    *) Добавление: директива worker_aio_requests.
607
608
    *) Исправление: если nginx был собран с файловым AIO, он не мог
609
       запускаться на Linux без поддержки AIO.
610
611
    *) Исправление: в обработке ошибок при работе с Linux AIO.
612
       Спасибо Hagai Avrahami.
613
614
    *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
615
616
    *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
617
       MP4-атом co64.
618
619
620
Изменения в nginx 1.1.3                                           14.09.2011
621
622
    *) Добавление: модуль ngx_http_mp4_module.
623
624
    *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
625
626
    *) Исправление: open_file_cache не обновлял информацию о файле, если
627
       файл был изменён не атомарно.
628
629
    *) Исправление: nginx не собирался на MacOSX 10.7.
630
631
632
Изменения в nginx 1.1.2                                           05.09.2011
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
633
634
    *) Изменение: теперь, если суммарный размер всех диапазонов больше
635
       размера исходного ответа, то nginx возвращает только исходный ответ,
636
       не обрабатывая диапазоны.
637
638
    *) Добавление: директива max_ranges.
639
640
    *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
641
       ssl_prefer_server_cipher могли работать некорректно, если
642
       использовался SNI.
643
644
    *) Исправление: в директивах proxy/fastcgi/scgi/
645
       uwsgi_ignore_client_abort.
646
647
648
Изменения в nginx 1.1.1                                           22.08.2011
649
650
    *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
651
       число файлов, указанное в параметре load_files, либо работает не
652
       дольше времени, указанного в параметре loader_threshold.
653
654
    *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
655
656
    *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
657
       на Solaris.
658
       Спасибо Денису Иванову.
659
660
    *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
661
662
    *) Исправление: nginx не собирался на Linux 3.0.
663
664
    *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
665
       появилась в 1.1.0.
666
667
    *) Исправление: обработка тела запроса могла быть неверной, если клиент
668
       использовал pipelining.
669
670
    *) Исправление: в директиве request_body_in_single_buf.
671
672
    *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
673
       при использовании SSL-соединения с бэкендом.
674
675
    *) Исправление: nginx нагружал процессор, если все серверы в upstream
676
       были помечены флагом down.
677
678
    *) Исправление: при переконфигурации мог произойти segmentation fault,
679
       если в предыдущей конфигурации был определён, но не использовался
680
       ssl_session_cache.
681
682
    *) Исправление: при использовании большого количества backup-серверов в
683
       рабочем процессе мог произойти segmentation fault.
684
685
    *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
686
       значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
687
       произойти segmentation fault; ошибка появилась в 0.8.40.
688
689
690
Изменения в nginx 1.1.0                                           01.08.2011
691
692
    *) Добавление: уменьшение времени работы загрузчика кэша.
693
694
    *) Добавление: параметры loader_files, loader_sleep и loader_threshold
695
       директив proxy/fastcgi/scgi/uwsgi_cache_path.
696
697
    *) Добавление: уменьшение времени загрузки конфигураций с большим
698
       количеством HTTPS серверов.
699
700
    *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
701
       Спасибо Adrian Kotelba.
702
703
    *) Добавление: директива lingering_close.
704
       Спасибо Максиму Дунину.
705
706
    *) Исправление: закрытия соединения для pipelined-запросов.
707
       Спасибо Максиму Дунину.
708
709
    *) Исправление: nginx не запрещал сжатие при получении значения
710
       "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
711
712
    *) Исправление: таймаута при небуферизированном проксировании.
713
       Спасибо Максиму Дунину.
714
715
    *) Исправление: утечки памяти при использовании переменных в директиве
716
       proxy_pass при работе с бэкендом по HTTPS.
717
       Спасибо Максиму Дунину.
718
719
    *) Исправление: в проверке параметра директивы proxy_pass, заданного
720
       переменными.
721
       Спасибо Lanshun Zhou.
722
723
    *) Исправление: SSL не работал на QNX.
724
       Спасибо Максиму Дунину.
725
726
    *) Исправление: SSL модули не собирались gcc 4.6 без параметра
727
       --with-debug.
1.3.14 by Kartik Mistry
Import upstream version 1.1.0
728
729
730
Изменения в nginx 1.0.5                                           19.07.2011
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
731
1.3.13 by Kartik Mistry
Import upstream version 1.0.5
732
    *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
733
       "HIGH:!aNULL:!MD5".
1.3.13 by Kartik Mistry
Import upstream version 1.0.5
734
       Спасибо Rob Stradling.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
735
1.3.13 by Kartik Mistry
Import upstream version 1.0.5
736
    *) Добавление: директивы referer_hash_max_size и
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
737
       referer_hash_bucket_size.
1.3.13 by Kartik Mistry
Import upstream version 1.0.5
738
       Спасибо Witold Filipczyk.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
739
740
    *) Добавление: переменная $uid_reset.
741
742
    *) Исправление: при использовании кэширования в рабочем процессе мог
743
       произойти segmentation fault.
744
       Спасибо Lanshun Zhou.
745
746
    *) Исправление: при использовании кэширования рабочие процессы могли
747
       зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
748
       Спасибо Максиму Дунину.
749
750
    *) Исправление: сообщения "stalled cache updating".
751
       Спасибо Максиму Дунину.
752
753
754
Изменения в nginx 1.0.4                                           01.06.2011
755
756
    *) Изменение: теперь в регулярных выражениях в директиве map можно
757
       задать чувствительность к регистру с помощью префиксов "~" и "~*".
758
759
    *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
760
       на Linux.
761
       Спасибо Денису Латыпову.
762
763
    *) Исправление: сообщения "stalled cache updating".
764
765
    *) Исправление: nginx не собирался с параметром
766
       --without-http_auth_basic_module; ошибка появилась в 1.0.3.
767
768
769
Изменения в nginx 1.0.3                                           25.05.2011
770
771
    *) Добавление: директива auth_basic_user_file поддерживает шифрование
772
       пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
773
       Спасибо Максиму Дунину.
774
775
    *) Добавление: директива geoip_org и переменная $geoip_org.
776
       Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
777
778
    *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
779
       поддерживают адреса IPv4, отображённые на IPv6 адреса.
780
781
    *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
782
       рабочем процессе происходил segmentation fault, если директивы access
783
       или deny были определены только для адресов IPv6; ошибка появилась в
784
       0.8.22.
785
786
    *) Исправление: закэшированный ответ мог быть испорчен, если значения
787
       директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
788
       uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
789
790
791
Изменения в nginx 1.0.2                                           10.05.2011
792
793
    *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
794
795
    *) Исправление: в работе параметра rotate директивы image_filter.
796
       Спасибо Adam Bocim.
797
798
    *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
799
800
801
Изменения в nginx 1.0.1                                           03.05.2011
802
803
    *) Изменение: теперь директива split_clients использует алгоритм
804
       MurmurHash2 из-за лучшего распределения.
805
       Спасибо Олегу Мамонтову.
806
807
    *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
808
       ложными значениями.
809
       Спасибо Максиму Дунину.
810
811
    *) Изменение: теперь по умолчанию nginx использует значение 511 для
812
       listen backlog на Linux.
813
814
    *) Добавление: переменные $upstream_... можно использовать в SSI и
815
       перловом модулях.
816
817
    *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
818
       Спасибо Олегу Мамонтову.
819
820
    *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
821
       segmentation fault; ошибка появилась в 0.8.22.
822
       Спасибо Максиму Дунину.
823
824
    *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
825
826
    *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
827
       появилась в 0.9.3.
828
       Спасибо Dagobert Michelsen.
829
830
    *) Исправление: переменная $request_time имела неверные значения, если
831
       использовались подзапросы; ошибка появилась в 0.8.47.
832
       Спасибо Игорю А. Валькову.
833
834
835
Изменения в nginx 1.0.0                                           12.04.2011
836
837
    *) Исправление: cache manager мог нагружать процессор после
838
       переконфигурации.
839
       Спасибо Максиму Дунину.
840
841
    *) Исправление: директива "image_filter crop" неправильно работала в
842
       сочетании с "image_filter rotate 180".
843
844
    *) Исправление: директива "satisfy any" запрещала выдачу
845
       пользовательской страницы для 401 кода.
846
847
848
Изменения в nginx 0.9.7                                           04.04.2011
849
850
    *) Добавление: теперь соединения в состоянии keepalive могут быть
851
       закрыты преждевременно, если у воркера нет свободных соединений.
852
       Спасибо Максиму Дунину.
853
854
    *) Добавление: параметр rotate директивы image_filter.
855
       Спасибо Adam Bocim.
856
857
    *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
858
       scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
859
       upstream.
1.3.10 by Kartik Mistry
Import upstream version 1.0.0
860
861
862
Изменения в nginx 0.9.6                                           21.03.2011
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
863
864
    *) Добавление: директива map поддерживает регулярные выражения в
865
       качестве значения первого параметра.
866
867
    *) Добавление: переменная $time_iso8601 для access_log.
868
       Спасибо Michael Lustfield.
869
870
871
Изменения в nginx 0.9.5                                           21.02.2011
872
873
    *) Изменение: теперь по умолчанию nginx использует значение -1 для
874
       listen backlog на Linux.
875
       Спасибо Андрею Нигматулину.
876
877
    *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
878
       Спасибо Денису Латыпову.
879
880
    *) Исправление: исправление в умолчательной директиве proxy_redirect,
881
       если в директиве proxy_pass не был описан URI.
882
       Спасибо Максиму Дунину.
883
884
    *) Исправление: директива error_page не работала с нестандартными кодами
885
       ошибок; ошибка появилась в 0.8.53.
886
       Спасибо Максиму Дунину.
887
888
889
Изменения в nginx 0.9.4                                           21.01.2011
890
891
    *) Добавление: директива server_name поддерживает переменную $hostname.
892
893
    *) Добавление: 494 код для ошибки "Request Header Too Large".
894
895
896
Изменения в nginx 0.9.3                                           13.12.2010
897
898
    *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
899
       то выделения в регулярных выражениях в директиве server_name не
900
       работали.
901
902
    *) Исправление: nginx не собирался под Solaris; ошибка появилась в
903
       0.9.0.
1.3.10 by Kartik Mistry
Import upstream version 1.0.0
904
905
906
Изменения в nginx 0.9.2                                           06.12.2010
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
907
908
    *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
909
       запросе клиента.
910
911
    *) Изменение: использование accept(), если accept4() не реализован;
912
       ошибка появилась в 0.9.0.
913
914
    *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
915
916
    *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
917
       Спасибо Максиму Дунину.
918
919
920
Изменения в nginx 0.9.1                                           30.11.2010
921
922
    *) Исправление: директивы вида "return CODE message" не работали; ошибка
923
       появилась в 0.9.0.
924
925
926
Изменения в nginx 0.9.0                                           29.11.2010
927
928
    *) Добавление: директива keepalive_disable.
929
930
    *) Добавление: директива map поддерживает переменные в качестве значения
931
       определяемой переменной.
932
933
    *) Добавление: директива map поддерживает пустые строки в качестве
934
       значения первого параметра.
935
936
    *) Добавление: директива map поддерживает выражения в первом параметре.
937
938
    *) Добавление: страница руководства nginx(8).
939
       Спасибо Сергею Осокину.
940
941
    *) Добавление: поддержка accept4() в Linux.
942
       Спасибо Simon Liu.
943
944
    *) Изменение: устранение предупреждения линкера о "sys_errlist" и
945
       "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
946
947
    *) Исправление: при использовании директивы auth_basic в рабочем
948
       процессе мог произойти segmentation fault.
949
       Спасибо Михаилу Лалетину.
950
951
    *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
952
       появилась в 0.8.42.
953
954
955
Изменения в nginx 0.8.53                                          18.10.2010
956
957
    *) Добавление: теперь директива error_page позволяет менять код статуса
958
       у редиректа.
959
960
    *) Добавление: директива gzip_disable поддерживает специальную маску
961
       degradation.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
962
963
    *) Исправление: при использовании файлового AIO могла происходить утечка
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
964
       сокетов.
965
       Спасибо Максиму Дунину.
966
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
967
    *) Исправление: если в первом сервере не была описана директива listen и
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
968
       нигде явно не описан сервер по умолчанию, то сервером по умолчанию
969
       становился следующий сервер с директивой listen; ошибка появилась в
970
       0.8.21.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
971
972
973
Изменения в nginx 0.8.52                                          28.09.2010
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
974
975
    *) Исправление: nginx использовал режим SSL для listen сокета, если для
976
       него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
977
978
979
Изменения в nginx 0.8.51                                          27.09.2010
980
981
    *) Изменение: директива secure_link_expires упразднена.
982
983
    *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
984
       alert на error.
985
986
    *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
987
       несколько раз.
988
989
990
Изменения в nginx 0.8.50                                          02.09.2010
991
992
    *) Добавление: директивы secure_link, secure_link_md5 и
993
       secure_link_expires модуля ngx_http_secure_link_module.
994
995
    *) Добавление: ключ -q.
996
       Спасибо Геннадию Махомеду.
997
998
    *) Исправление: при использовании кэширования рабочие процессы и могли
999
       зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
1000
1001
    *) Исправление: в директиве gzip_disable.
1002
       Спасибо Derrick Petzold.
1003
1004
    *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
1005
       reopen, reload процессу, запущенному в другой сессии.
1006
1007
1008
Изменения в nginx 0.8.49                                          09.08.2010
1009
1010
    *) Добавление: директива image_filter_jpeg_quality поддерживает
1011
       переменные.
1012
1013
    *) Исправление: при использовании переменной $geoip_region_name в
1014
       рабочем процессе мог произойти segmentation fault; ошибка появилась в
1015
       0.8.48.
1016
1017
    *) Исправление: ошибки, перехваченные error_page, кэшировались только до
1018
       следующего запроса; ошибка появилась в 0.8.48.
1019
1020
1021
Изменения в nginx 0.8.48                                          03.08.2010
1022
1023
    *) Изменение: теперь по умолчанию директива server_name имеет значение
1024
       пустое имя "".
1025
       Спасибо Геннадию Махомеду.
1026
1027
    *) Изменение: теперь по умолчанию директива server_name_in_redirect
1028
       имеет значение off.
1029
1030
    *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
1031
       $geoip_region_name.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1032
       Спасибо Christine McGonagle.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1033
1034
    *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
1035
       scgi_pass не наследовались в блоки limit_except.
1036
1037
    *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
1038
       uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
1039
       появилась в 0.8.46.
1040
1041
    *) Исправление: директива fastcgi_split_path_info неверно использовала
1042
       выделения, если в выделения попадала только часть URI.
1043
       Спасибо Юрию Тарадаю и Frank Enderle.
1044
1045
    *) Исправление: директива rewrite не экранировала символ ";" при
1046
       копировании из URI в аргументы.
1047
       Спасибо Daisuke Murase.
1048
1049
    *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
1050
       если изображение было больше размера image_filter_buffer.
1051
1052
1053
Изменения в nginx 0.8.47                                          28.07.2010
1054
1055
    *) Исправление: переменная $request_time имела неверные значения для
1056
       подзапросов.
1057
1058
    *) Исправление: ошибки, перехваченные error_page, не кэшировались.
1059
1060
    *) Исправление: если использовался параметр max_size, то cache manager
1061
       мог зациклиться; ошибка появилась в 0.8.46.
1062
1063
1064
Изменения в nginx 0.8.46                                          19.07.2010
1065
1066
    *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
1067
       и scgi_no_cache теперь влияют только на сохранение закэшированного
1068
       ответа.
1069
1070
    *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
1071
       uwsgi_cache_bypass и scgi_cache_bypass.
1072
1073
    *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
1074
       ошибки работы с бэкендом: память освобождалась только по истечении
1075
       времени неактивности или при недостатке памяти.
1076
1077
1078
Изменения в nginx 0.8.45                                          13.07.2010
1079
1080
    *) Добавление: улучшения в модуле ngx_http_xslt_filter.
1081
       Спасибо Laurence Rowe.
1082
1083
    *) Исправление: ответ SSI модуля мог передаваться не полностью после
1084
       команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
1085
       Спасибо Максиму Дунину.
1086
1087
    *) Исправление: директива listen не поддерживала параметр setfib=0.
1088
1089
1090
Изменения в nginx 0.8.44                                          05.07.2010
1091
1092
    *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
1093
       заголовке которых есть строка "Set-Cookie".
1094
1095
    *) Добавление: директива listen поддерживает параметр setfib.
1096
       Спасибо Андрею Филонову.
1097
1098
    *) Исправление: директива sub_filter могла изменять регистр букв при
1099
       частичном совпадении.
1100
1101
    *) Исправление: совместимость с HP/UX.
1102
1103
    *) Исправление: совместимость с компилятором AIX xlC_r.
1104
1105
    *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
1106
       запросы.
1107
       Спасибо Miroslaw Jaworski.
1108
1109
1110
Изменения в nginx 0.8.43                                          30.06.2010
1111
1112
    *) Добавление: ускорение загрузки больших баз geo-диапазонов.
1113
1114
    *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
1115
       без изменения кода ответа оставляло тело ошибки; ошибка появилась в
1116
       0.8.42.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1117
1118
    *) Исправление: nginx мог закрывать IPv6 listen сокет во время
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1119
       переконфигурации.
1120
       Спасибо Максиму Дунину.
1121
1122
    *) Исправление: переменную $uid_set можно использовать на любой стадии
1123
       обработки запроса.
1124
1125
1126
Изменения в nginx 0.8.42                                          21.06.2010
1127
1128
    *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
1129
       выражениями, если запрос полностью совпал с location'ом, заданным
1130
       строкой префикса. Предыдущее поведение появилось в 0.7.1.
1131
1132
    *) Добавление: модуль ngx_http_scgi_module.
1133
       Спасибо Manlio Perillo.
1134
1135
    *) Добавление: в директиве return можно добавлять текст ответа.
1136
1137
1138
Изменения в nginx 0.8.41                                          15.06.2010
1139
1140
    *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
1141
       при запросе файла с неверной кодировкой UTF-8.
1142
1143
    *) Изменение: теперь nginx разрешает использовать пробелы в строке
1144
       запроса.
1145
1146
    *) Исправление: директива proxy_redirect неправильно изменяла строку
1147
       "Refresh" в заголовке ответа бэкенда.
1148
       Спасибо Андрею Андрееву и Максиму Согину.
1149
1150
    *) Исправление: nginx не поддерживал путь без имени хоста в строке
1151
       "Destination" в заголовке запроса.
1152
1153
1154
Изменения в nginx 0.8.40                                          07.06.2010
1155
1156
    *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
1157
       умолчанию.
1158
       Спасибо Jose Antonio Vazquez Gonzalez.
1159
1160
    *) Добавление: модуль ngx_http_uwsgi_module.
1161
       Спасибо Roberto De Ioris.
1162
1163
    *) Добавление: директива fastcgi_param со значением, начинающимся со
1164
       строки "HTTP_", изменяет строку заголовка в запросе клиента.
1165
1166
    *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1167
       заголовке запроса клиента передавались FastCGI-серверу при
1168
       кэшировании.
1169
1170
    *) Исправление: listen unix domain сокет нельзя было изменить во время
1171
       переконфигурации.
1172
       Спасибо Максиму Дунину.
1173
1174
1175
Изменения в nginx 0.8.39                                          31.05.2010
1176
1177
    *) Исправление: наследуемая директива alias неправильно работала во
1178
       вложенном location'е.
1179
1180
    *) Исправление: в комбинации директив alias с переменными и try_files;
1181
1182
    *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
1183
       время обновления без перерыва.
1184
       Спасибо Максиму Дунину.
1185
1186
1187
Изменения в nginx 0.8.38                                          24.05.2010
1188
1189
    *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
1190
1191
    *) Добавление: теперь при использовании переменной $scheme в директиве
1192
       rewrite автоматически делается редирект.
1193
       Спасибо Piotr Sikora.
1194
1195
    *) Исправление: теперь задержки в директиве limit_req соответствует
1196
       описанному алгоритму.
1197
       Спасибо Максиму Дунину.
1198
1199
    *) Исправление: переменную $uid_got нельзя было использовать в SSI и
1200
       перловом модулях.
1201
1202
1203
Изменения в nginx 0.8.37                                          17.05.2010
1204
1205
    *) Добавление: модуль ngx_http_split_clients_module.
1206
1207
    *) Добавление: директива map поддерживает ключи больше 255 символов.
1208
1209
    *) Исправление: nginx игнорировал значения "private" и "no-store" в
1210
       строке "Cache-Control" в заголовке ответа бэкенда.
1211
1212
    *) Исправление: параметр stub в SSI-директиве include не использовался,
1213
       если пустой ответ имел код 200.
1214
1215
    *) Исправление: если проксированный или FastCGI запрос внутренне
1216
       перенаправлялся в другой проксированный или FastCGI location, то в
1217
       рабочем процессе мог произойти segmentation fault; ошибка появилась в
1218
       0.8.33.
1219
       Спасибо Yichun Zhang.
1220
1221
    *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
1222
       таймаута.
1223
       Спасибо Alan Batie.
1224
1225
1226
Изменения в nginx 0.8.36                                          22.04.2010
1227
1228
    *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
1229
       методы DELETE, COPY и MOVE для симлинков.
1230
1231
    *) Исправление: модуль SSI в подзапросах использовал закэшированные в
1232
       основном запросе значения переменных $query_string, $arg_... и им
1233
       подобных.
1234
1235
    *) Исправление: значение переменной повторно экранировалось после
1236
       каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
1237
1238
    *) Исправление: рабочий процесс зависал при запросе файла FIFO.
1239
       Спасибо Vicente Aguilar и Максиму Дунину.
1240
1241
    *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
1242
       Спасибо Максиму Дунину.
1243
1244
    *) Исправление: nginx не собирался с параметром --without-http-cache;
1245
       ошибка появилась в 0.8.35.
1246
1247
1248
Изменения в nginx 0.8.35                                          01.04.2010
1249
1250
    *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
1251
1252
    *) Добавление: директива chunked_transfer_encoding.
1253
1254
    *) Исправление: символ "&" при копировании в аргументы в правилах
1255
       rewrite не экранировался.
1256
1257
    *) Исправление: nginx мог завершаться аварийно во время обработки
1258
       сигнала или при использовании директивы timer_resolution на
1259
       платформах, не поддерживающих методы kqueue или eventport.
1260
       Спасибо George Xie и Максиму Дунину.
1261
1262
    *) Исправление: если временные файлы и постоянное место хранения
1263
       располагались на разных файловых системах, то у постоянных файлов
1264
       время изменения было неверным.
1265
       Спасибо Максиму Дунину.
1266
1267
    *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
1268
       "memcached sent invalid trailer".
1.1.17 by Daniel Holbach
Prepared upstream tree for merging into target branch.
1269
       Спасибо Максиму Дунину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1270
1271
    *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
1272
       текстов.
1273
       Спасибо Максиму Дунину.
1274
1275
    *) Исправление: в рабочем процессе происходил segmentation fault, если
1276
       перед ответом FastCGI-сервера было много вывода в stderr; ошибка
1277
       появилась в 0.8.34.
1278
       Спасибо Максиму Дунину.
1279
1280
1281
Изменения в nginx 0.8.34                                          03.03.2010
1282
1283
    *) Исправление: nginx не поддерживал все шифры, используемые в
1284
       клиентских сертификатах.
1285
       Спасибо Иннокентию Еникееву.
1286
1287
    *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
1288
       ответом было много вывода в stderr.
1289
1290
    *) Исправление: nginx не поддерживал HTTPS-рефереры.
1291
1292
    *) Исправление: nginx/Windows мог не находить файлы, если путь в
1293
       конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
1294
1295
    *) Исправление: переменная $date_local выдавала неверное время, если
1296
       использовался формат "%s".
1297
       Спасибо Максиму Дунину.
1298
1299
    *) Исправление: если ssl_session_cache не был установлен или установлен
1300
       в none, то при проверке клиентского сертификаты могла происходить
1301
       ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
1302
1303
    *) Исправление: geo-диапазон возвращал значение по умолчанию, если
1304
       диапазон включал в себя одну и более сетей размером /16 и не
1305
       начинался на границе сети размером /16.
1306
1307
    *) Исправление: блок, используемый в параметре stub в SSI-директиве
1308
       include, выводился с MIME-типом "text/plain".
1309
1310
    *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
1311
1312
1313
Изменения в nginx 0.8.33                                          01.02.2010
1314
1315
    *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
1316
       Спасибо Dan Crowley, Core Security Technologies.
1317
1318
    *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
1319
       Спасибо Dan Crowley, Core Security Technologies.
1320
1321
    *) Изменение: теперь keepalive соединения после запросов POST не
1322
       запрещаются для MSIE 7.0+.
1323
       Спасибо Adam Lounds.
1324
1325
    *) Изменение: теперь keepalive соединения запрещены для Safari.
1326
       Спасибо Joshua Sierles.
1327
1328
    *) Исправление: если проксированный или FastCGI запрос внутренне
1329
       перенаправлялся в другой проксированный или FastCGI location, то
1330
       переменная $upstream_response_time могла иметь ненормально большое
1331
       значение; ошибка появилась в 0.8.7.
1332
1333
    *) Исправление: в рабочем процессе мог произойти segmentation fault при
1334
       отбрасывания тела запроса; ошибка появилась в 0.8.11.
1335
1336
1337
Изменения в nginx 0.8.32                                          11.01.2010
1338
1339
    *) Исправление: ошибки при использовании кодировки UTF-8 в
1340
       ngx_http_autoindex_module.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1341
       Спасибо Максиму Дунину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1342
1343
    *) Исправление: именованные выделения в регулярных выражениях работали
1344
       только для двух переменных.
1345
       Спасибо Максиму Дунину.
1346
1347
    *) Исправление: теперь в строке заголовка запроса "Host" используется
1348
       имя "localhost", если в директиве auth_http указан unix domain сокет.
1349
       Спасибо Максиму Дунину.
1350
1351
    *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
1352
       ответов.
1353
       Спасибо Julian Reich.
1354
1355
    *) Исправление: если директива "expires modified" выставляла дату в
1356
       прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
1357
       отрицательное число.
1358
       Спасибо Алексею Капранову.
1359
1360
1361
Изменения в nginx 0.8.31                                          23.12.2009
1362
1363
    *) Добавление: теперь директива error_page может перенаправлять ответы
1364
       со статусом 301 и 302.
1365
1366
    *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
1367
       $geoip_longitude.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1368
       Спасибо Arvind Sundararajan.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1369
1370
    *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
1371
       EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
1372
1373
    *) Исправление: nginx закрывал соединение при запросе закэшированного
1374
       ответа с пустым телом.
1375
       Спасибо Piotr Sikora.
1376
1377
    *) Исправление: nginx мог не собираться gcc 4.x при использовании
1378
       оптимизации -O2 и выше.
1379
       Спасибо Максиму Дунину и Денису Латыпову.
1380
1381
    *) Исправление: регулярные выражения в location всегда тестировались с
1382
       учётом регистра; ошибка появилась в 0.8.25.
1383
1384
    *) Исправление: nginx кэшировал 304 ответ, если в заголовке
1385
       проксируемого запроса была строка "If-None-Match".
1386
       Спасибо Tim Dettrick и David Kostal.
1387
1388
    *) Исправление: nginx/Windows пытался дважды удалить временный файл при
1389
       перезаписи уже существующего файла.
1390
1391
1392
Изменения в nginx 0.8.30                                          15.12.2009
1393
1394
    *) Изменение: теперь по умолчанию размер буфера директивы
1395
       large_client_header_buffers равен 8K.
1396
       Спасибо Andrew Cholakian.
1397
1398
    *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
1399
1400
    *) Исправление: nginx/Windows пытался дважды переименовать временный
1401
       файл при перезаписи уже существующего файла.
1402
1403
    *) Исправление: ошибки double free or corruption, возникающей, если имя
1404
       хоста не было найдено; ошибка появилась в 0.8.22.
1405
       Спасибо Константину Свисту.
1406
1407
    *) Исправление: в использовании libatomic на некоторых платформах.
1408
       Спасибо W-Mark Kubacki.
1409
1410
1411
Изменения в nginx 0.8.29                                          30.11.2009
1412
1413
    *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
1414
       ответа "009".
1415
1416
    *) Добавление: директивы addition_types, charset_types, gzip_types,
1417
       ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
1418
1419
    *) Добавление: использование встроенных атомарных операций GCC 4.1+.
1420
       Спасибо W-Mark Kubacki.
1421
1422
    *) Добавление: параметр --with-libatomic[=DIR] в configure.
1423
       Спасибо W-Mark Kubacki.
1424
1425
    *) Исправление: listen unix domain сокет имели ограниченные права
1426
       доступа.
1427
1428
    *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
1429
       обрабатывались.
1430
1431
    *) Исправление: именованные выделения в регулярных выражениях, заданные
1432
       как "?P<...>", не работали в директиве server_name.
1433
       Спасибо Максиму Дунину.
1434
1435
1436
Изменения в nginx 0.8.28                                          23.11.2009
1437
1438
    *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
1439
       появилась в 0.8.25.
1440
1441
1442
Изменения в nginx 0.8.27                                          17.11.2009
1443
1444
    *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
1445
       появилась в 0.8.25.
1446
1447
1448
Изменения в nginx 0.8.26                                          16.11.2009
1449
1450
    *) Исправление: ошибки при использовании выделений в директиве rewrite;
1451
       ошибка появилась в 0.8.25.
1452
1453
    *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1454
       появилась в 0.8.25.
1455
1456
1457
Изменения в nginx 0.8.25                                          16.11.2009
1458
1459
    *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
1460
       не найдена с помощью метода $r->variable().
1461
1462
    *) Добавление: модуль ngx_http_degradation_module.
1463
1464
    *) Добавление: именованные выделения в регулярных выражениях.
1465
1466
    *) Добавление: теперь при использовании переменных в директиве
1467
       proxy_pass не требуется задавать URI.
1468
1469
    *) Добавление: теперь директива msie_padding работает и для Chrome.
1470
1471
    *) Исправление: в рабочем процессе происходил segmentation fault при
1472
       недостатке памяти; ошибка появилась в 0.8.18.
1473
1474
    *) Исправление: nginx передавал сжатые ответы клиентам, не
1475
       поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
1476
       ошибка появилась в 0.8.16.
1477
1478
1479
Изменения в nginx 0.8.24                                          11.11.2009
1480
1481
    *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
1482
       заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
1483
1484
    *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1485
       появилась в 0.8.23.
1486
1487
    *) Исправление: параметр "unix:" в директиве set_real_ip_from
1488
       неправильно наследовался с предыдущего уровня.
1489
1490
    *) Исправление: в resolver'е при определении пустого имени.
1491
1492
1493
Изменения в nginx 0.8.23                                          11.11.2009
1494
1495
    *) Безопасность: теперь SSL/TLS renegotiation запрещён.
1496
       Спасибо Максиму Дунину.
1497
1498
    *) Исправление: listen unix domain сокет не наследовался во время
1499
       обновления без перерыва.
1500
1501
    *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
1502
       без ещё одной директивы с любым IP-адресом.
1503
1504
    *) Исправление: segmentation fault и зацикливания в resolver'е.
1505
1506
    *) Исправление: в resolver'е.
1507
       Спасибо Артёму Бохану.
1508
1509
1510
Изменения в nginx 0.8.22                                          03.11.2009
1511
1512
    *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
1513
1514
    *) Добавление: директивы access и deny поддерживают IPv6.
1515
1516
    *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
1517
       заголовках запроса.
1518
1519
    *) Добавление: параметр "unix:" в директиве set_real_ip_from.
1520
1521
    *) Исправление: nginx не удалял unix domain сокет после тестирования
1522
       конфигурации.
1523
1524
    *) Исправление: nginx удалял unix domain сокет во время обновления без
1525
       перерыва.
1526
1527
    *) Исправление: оператор "!-x" не работал.
1528
       Спасибо Максиму Дунину.
1529
1530
    *) Исправление: в рабочем процессе мог произойти segmentation fault при
1531
       использовании limit_rate в HTTPS сервере.
1532
       Спасибо Максиму Дунину.
1533
1534
    *) Исправление: при записи в лог переменной $limit_rate в рабочем
1535
       процессе происходил segmentation fault.
1536
       Спасибо Максиму Дунину.
1537
1538
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
1539
       если внутри блока server не было директивы listen; ошибка появилась в
1540
       0.8.21.
1541
1542
1543
Изменения в nginx 0.8.21                                          26.10.2009
1544
1545
    *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
1546
1547
    *) Добавление: директива listen модуля HTTP поддерживает unix domain
1548
       сокеты.
1549
       Спасибо Hongli Lai.
1550
1551
    *) Добавление: параметр "default_server" в директиве listen.
1552
1553
    *) Добавление: теперь параметр "default" не обязателен для установки
1554
       параметров listen-сокета.
1555
1556
    *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
1557
       платформах;
1558
1559
    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1560
1561
1562
Изменения в nginx 0.8.20                                          14.10.2009
1563
1564
    *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1565
       "HIGH:!ADH:!MD5".
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1566
1567
    *) Исправление: модуль ngx_http_autoindex_module не показывал последний
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1568
       слэш для линков на каталоги; ошибка появилась в 0.7.15.
1569
1570
    *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
1571
       --error-log-path; ошибка появилась в 0.7.53.
1572
1573
    *) Исправление: nginx не считал запятую разделителем в строке
1574
       "Cache-Control" в заголовке ответа бэкенда.
1575
1576
    *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
1577
       или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
1578
       не имел достаточно прав для работы с каталогами верхнего уровня.
1579
1580
    *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
1581
       FastCGI-сервера не скрывались при кэшировании, если не использовались
1582
       директивы fastcgi_hide_header с любыми параметрами.
1583
1584
    *) Исправление: nginx неверно считал размер кэша на диске.
1585
1586
1587
Изменения в nginx 0.8.19                                          06.10.2009
1588
1589
    *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
1590
1591
    *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1592
       "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1593
1594
    *) Исправление: директива limit_req не работала; ошибка появилась в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1595
       0.8.18.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1596
1597
1598
Изменения в nginx 0.8.18                                          06.10.2009
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1599
1600
    *) Добавление: директива read_ahead.
1601
1602
    *) Добавление: теперь можно использовать несколько директив
1603
       perl_modules.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1604
1605
    *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1606
1607
    *) Исправление: теперь директива limit_req соответствует алгоритму leaky
1608
       bucket.
1609
       Спасибо Максиму Дунину.
1610
1611
    *) Исправление: nginx не работал на Linux/sparc.
1612
       Спасибо Marcus Ramberg.
1613
1614
    *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
1615
       ответе на запрос MKCOL.
1616
       Спасибо Xie Zhenye.
1617
1618
    *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
1619
       появилась в 0.8.11.
1620
1621
    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1622
1623
1624
Изменения в nginx 0.8.17                                          28.09.2009
1625
1626
    *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
1627
       в заголовке запроса.
1628
1629
    *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
1630
1631
    *) Добавление: переменная $ssl_session_id.
1632
1633
    *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1634
1635
1636
Изменения в nginx 0.8.16                                          22.09.2009
1637
1638
    *) Добавление: директива image_filter_transparency.
1639
1640
    *) Исправление: директива "addition_types" была неверно названа
1641
       "addtion_types".
1.3.6 by Kartik Mistry
Import upstream version 0.7.65
1642
1643
    *) Исправление: порчи кэша resolver'а.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1644
       Спасибо Matthew Dempsky.
1645
1646
    *) Исправление: утечки памяти в resolver'е.
1647
       Спасибо Matthew Dempsky.
1648
1649
    *) Исправление: неверная строка запроса в переменной $request
1650
       записывалась в access_log только при использовании error_log на
1651
       уровне info или debug.
1652
1653
    *) Исправление: в поддержке альфа-канала PNG в модуле
1654
       ngx_http_image_filter_module.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1655
1656
    *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1657
       заголовок ответа, если обе директивы gzip_static и gzip_vary были
1658
       включены.
1659
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1660
    *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1661
       nginx/Windows.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1662
1663
    *) Исправление: ошибки при использовании post_action; ошибка появилась в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1664
       0.8.11.
1665
       Спасибо Игорю Артемьеву.
1666
1667
1668
Изменения в nginx 0.8.15                                          14.09.2009
1669
1670
    *) Безопасность: при обработке специально созданного запроса в рабочем
1671
       процессе мог произойти segmentation fault.
1672
       Спасибо Chris Ries.
1673
1674
    *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
1675
       .domain-some.tld, то имя .sub.domain.tld попадало под маску
1676
       .domain.tld.
1.3.5 by Kartik Mistry
Import upstream version 0.7.64
1677
1678
    *) Исправление: в поддержке прозрачности в модуле
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1679
       ngx_http_image_filter_module.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1680
1681
    *) Исправление: в файловом AIO.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1682
1683
    *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
1684
       появилась в 0.8.11.
1685
1686
    *) Исправление: ошибки при использовании встроенного перла; ошибка
1687
       появилась в 0.8.11.
1688
1689
1690
Изменения в nginx 0.8.14                                          07.09.2009
1691
1692
    *) Исправление: устаревший закэшированный запрос мог залипнуть в
1693
       состоянии "UPDATING".
1694
1695
    *) Исправление: при использовании error_log на уровне info или debug в
1696
       рабочем процессе мог произойти segmentation fault.
1697
       Спасибо Сергею Боченкову.
1698
1699
    *) Исправление: ошибки при использовании встроенного перла; ошибка
1700
       появилась в 0.8.11.
1701
1702
    *) Исправление: директива error_page не перенаправляла ошибку 413;
1703
       ошибка появилась в 0.6.10.
1704
1705
1706
Изменения в nginx 0.8.13                                          31.08.2009
1707
1708
    *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
1709
1710
    *) Исправление: nginx не собирался без параметра --with-file-aio на
1711
       FreeBSD; ошибка появилась в 0.8.12.
1712
1713
1714
Изменения в nginx 0.8.12                                          31.08.2009
1715
1716
    *) Добавление: параметр sendfile в директиве aio во FreeBSD.
1717
1718
    *) Исправление: ошибки при использовании try_files; ошибка появилась в
1719
       0.8.11.
1720
1721
    *) Исправление: ошибки при использовании memcached; ошибка появилась в
1722
       0.8.11.
1723
1724
1725
Изменения в nginx 0.8.11                                          28.08.2009
1726
1727
    *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
1728
       для MSIE 6.0 SV1.
1729
1730
    *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
1731
1732
    *) Добавление: директива directio_alignment.
1733
1734
1735
Изменения в nginx 0.8.10                                          24.08.2009
1736
1737
    *) Исправление: утечек памяти при использовании базы GeoIP City.
1738
1739
    *) Исправление: ошибки при копировании временных файлов в постоянное
1740
       место хранения; ошибка появилась в 0.8.9.
1741
1742
1743
Изменения в nginx 0.8.9                                           17.08.2009
1744
1745
    *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
1746
       процесс; это должно улучшить обработку больших кэшей.
1747
1748
    *) Добавление: теперь временные файлы и постоянное место хранения могут
1749
       располагаться на разных файловых системах.
1750
1751
1752
Изменения в nginx 0.8.8                                           10.08.2009
1753
1754
    *) Исправление: в обработке заголовков ответа, разделённых в
1755
       FastCGI-записях.
1756
1757
    *) Исправление: если запрос обрабатывался в двух проксированных или
1758
       FastCGI location'ах и в первом из них использовалось кэширование, то
1759
       в рабочем процессе происходил segmentation fault; ошибка появилась в
1760
       0.8.7.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1761
1762
1763
Изменения в nginx 0.8.7                                           27.07.2009
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1764
1765
    *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
1766
1767
    *) Изменение: параметр ask директивы ssl_verify_client изменён на
1768
       параметр optional и теперь он проверяет клиентский сертификат, если
1769
       он был предложен.
1770
       Спасибо Brice Figureau.
1771
1772
    *) Добавление: переменная $ssl_client_verify.
1773
       Спасибо Brice Figureau.
1774
1775
    *) Добавление: директива ssl_crl.
1776
       Спасибо Brice Figureau.
1777
1778
    *) Добавление: параметр proxy директивы geo.
1779
1780
    *) Добавление: директива image_filter поддерживает переменные для
1781
       задания размеров.
1782
1783
    *) Исправление: использование переменной $ssl_client_cert портило
1784
       память; ошибка появилась в 0.7.7.
1785
       Спасибо Сергею Журавлёву.
1786
1787
    *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
1788
       передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
1789
       "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
1790
       Спасибо Максиму Дунину.
1791
1792
    *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
1793
       заголовке ответа бэкенда; ошибка появилась в 0.7.44.
1794
       Спасибо Максиму Дунину.
1795
1796
    *) Исправление: ошибки "[alert] zero size buf" при получении пустых
1797
       ответы в подзапросах; ошибка появилась в 0.8.5.
1798
1799
1800
Изменения в nginx 0.8.6                                           20.07.2009
1801
1802
    *) Добавление: модуль ngx_http_geoip_module.
1803
1804
    *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
1805
       document" для правильного документа.
1806
       Спасибо Kuramoto Eiji.
1807
1808
    *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
1809
       location'ов, заданных регулярным выражением, теперь всегда делается
1810
       сравнение без учёта регистра символов.
1811
1812
    *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
1813
       Спасибо Hugo Leisink.
1814
1815
    *) Исправление: имя файла указанного в --conf-path игнорировалось при
1816
       установке; ошибка появилась в 0.6.6.
1817
       Спасибо Максиму Дунину.
1818
1819
1820
Изменения в nginx 0.8.5                                           13.07.2009
1821
1822
    *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
1823
1824
    *) Исправление: при использовании HTTP Basic-аутентификации на Windows
1825
       для неверных имени/пароля возвращалась 500-ая ошибка.
1826
1827
    *) Исправление: ответы модуля ngx_http_perl_module не работали в
1828
       подзапросах.
1829
1830
    *) Исправление: в модуле ngx_http_limit_req_module.
1831
       Спасибо Максиму Дунину.
1832
1833
1834
Изменения в nginx 0.8.4                                           22.06.2009
1835
1836
    *) Исправление: nginx не собирался с параметром --without-http-cache;
1837
       ошибка появилась в 0.8.3.
1838
1839
1840
Изменения в nginx 0.8.3                                           19.06.2009
1841
1842
    *) Добавление: переменная $upstream_cache_status.
1843
1844
    *) Исправление: nginx не собирался на MacOSX 10.6.
1845
1846
    *) Исправление: nginx не собирался с параметром --without-http-cache;
1847
       ошибка появилась в 0.8.2.
1848
1849
    *) Исправление: если использовался перехват 401 ошибки от бэкенда и
1850
       бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
1851
       в рабочем процессе происходил segmentation fault.
1852
       Спасибо Евгению Мычло.
1853
1854
1855
Изменения в nginx 0.8.2                                           15.06.2009
1856
1857
    *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
1858
       на старте.
1859
1860
    *) Исправление: open_file_cache мог кэшировать открытые файлы очень
1861
       долго; ошибка появилась в 0.7.4.
1862
1863
1864
Изменения в nginx 0.8.1                                           08.06.2009
1865
1866
    *) Добавление: параметр updating в директивах proxy_cache_use_stale и
1867
       fastcgi_cache_use_stale.
1.3.8 by Kartik Mistry
Import upstream version 0.8.53
1868
1869
    *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1870
       заголовке запроса клиента передавались бэкенду при кэшировании, если
1871
       не использовалась директива proxy_set_header с любыми параметрами.
1872
1873
    *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
1874
       не скрывались при кэшировании, если не использовались директивы
1875
       proxy_hide_header/fastcgi_hide_header с любыми параметрами.
1876
1877
    *) Исправление: модуль ngx_http_image_filter_module не понимал формат
1878
       GIF87a.
1.3.2 by Jose Parrella
Import upstream version 0.7.61
1879
       Спасибо Денису Ильиных.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1880
1881
    *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
1882
       появилась в 0.7.56.
1883
1884
1885
Изменения в nginx 0.8.0                                           02.06.2009
1886
1887
    *) Добавление: директива keepalive_requests.
1888
1889
    *) Добавление: директива limit_rate_after.
1890
       Спасибо Ivan Debnar.
1891
1892
    *) Исправление: XSLT-фильтр не работал в подзапросах.
1893
1894
    *) Исправление: обработке относительных путей в nginx/Windows.
1895
1896
    *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
1897
       fastcgi_cache в nginx/Windows.
1898
1899
    *) Исправление: в обработке ошибок выделения памяти.
1900
       Спасибо Максиму Дунину и Кириллу Коринскому.
1901
1902
1903
Изменения в nginx 0.7.59                                          25.05.2009
1904
1905
    *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
1906
1907
    *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
1908
       Спасибо Максиму Дунину.
1909
1910
    *) Исправление: при использовании переменной $request_body в рабочем
1911
       процессе происходил segmentation fault, если в запросе не было тела;
1912
       ошибка появилась в 0.7.58.
1913
1914
    *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
1915
       ошибка появилась в 0.7.56.
1916
1917
    *) Исправление: ответы модуля ngx_http_xslt_filter_module не
1918
       обрабатывались SSI-, charset- и gzip-фильтрами.
1919
1920
    *) Исправление: директива charset не ставила кодировку для ответов
1921
       модуля ngx_http_gzip_static_module.
1922
1923
1924
Изменения в nginx 0.7.58                                          18.05.2009
1925
1926
    *) Добавление: директива listen почтового прокси-сервера поддерживает
1927
       IPv6.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
1928
1929
    *) Добавление: директива image_filter_jpeg_quality.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1930
1931
    *) Добавление: директива client_body_in_single_buffer.
1932
1933
    *) Добавление: переменная $request_body.
1934
1935
    *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
1936
       файлов, содержащих символ ":".
1937
1938
    *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
1939
       0.7.53.
1940
       Спасибо Денису Латыпову.
1941
1942
1943
Изменения в nginx 0.7.57                                          12.05.2009
1944
1945
    *) Исправление: при перенаправлении ошибок модуля
1946
       ngx_http_image_filter_module в именованный location в рабочем
1947
       процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1948
1949
1950
Изменения в nginx 0.7.56                                          11.05.2009
1951
1952
    *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
1953
       HTTP.
1954
1955
    *) Исправление: в модуле ngx_http_image_filter_module.
1956
1957
1958
Изменения в nginx 0.7.55                                          06.05.2009
1959
1960
    *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1961
       fastcgi_cache_use_stale не работали.
1962
1963
    *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1964
       заголовка.
1965
1966
    *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1967
       nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1968
1969
    *) Исправление: при использовании директивы debug_connection в рабочем
1970
       процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1971
1972
    *) Исправление: в сборке модуля ngx_http_image_filter_module.
1973
1974
    *) Исправление: файлы больше 2G не передавались с использованием
1975
       $r->sendfile.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
1976
       Спасибо Максиму Дунину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
1977
1978
1979
Изменения в nginx 0.7.54                                          01.05.2009
1980
1981
    *) Добавление: модуль ngx_http_image_filter_module.
1982
1983
    *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1984
1985
    *) Исправление: при использовании переменных "open_file_cache_errors on"
1986
       в рабочем процессе мог произойти segmentation fault; ошибка появилась
1987
       в 0.7.53.
1988
1989
    *) Исправление: директива "port_in_redirect off" не работала; ошибка
1990
       появилась в 0.7.39.
1991
1992
    *) Исправление: улучшение обработки ошибок метода select.
1993
1994
    *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
1995
1996
    *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
1997
       ошибка появилась в 0.7.53.
1998
1999
2000
Изменения в nginx 0.7.53                                          27.04.2009
2001
2002
    *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
2003
       самого начала работы.
2004
2005
    *) Добавление: теперь ошибки и предупреждения при старте записываются в
2006
       error_log и выводятся на stderr.
2007
2008
    *) Добавление: при сборке с пустым параметром --prefix= nginx использует
2009
       как префикс каталог, в котором он был запущен.
2010
2011
    *) Добавление: ключ -p.
2012
2013
    *) Добавление: ключ -s на Unix-платформах.
2014
2015
    *) Добавление: ключи -? и -h.
2016
       Спасибо Jerome Loyet.
2017
2018
    *) Добавление: теперь ключи можно задавать в сжатой форме.
2019
2020
    *) Исправление: nginx/Windows не работал, если файл конфигурации был
2021
       задан ключом -c.
2022
2023
    *) Исправление: при использовании директив proxy_store, fastcgi_store,
2024
       proxy_cache или fastcgi_cache временные файлы могли не удаляться.
2025
       Спасибо Максиму Дунину.
2026
2027
    *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
2028
       почтового прокси-сервера передавалось неверное значение; ошибка
2029
       появилась в 0.7.34.
2030
       Спасибо Simon Lecaille.
2031
2032
    *) Исправление: при логгировании на Linux не писались текстовые описания
2033
       системных ошибок; ошибка появилась в 0.7.45.
2034
2035
    *) Исправление: директива fastcgi_cache_min_uses не работала.
2036
       Спасибо Андрею Воробьёву.
2037
2038
2039
Изменения в nginx 0.7.52                                          20.04.2009
2040
2041
    *) Добавление: первая бинарная версия под Windows.
2042
2043
    *) Исправление: корректная обработка метода HEAD при кэшировании.
2044
2045
    *) Исправление: корректная обработка строк "If-Modified-Since",
2046
       "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
2047
2048
    *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
2049
       заголовке ответа для закэшированных ответов.
2050
2051
    *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2052
       perl поддерживал потоки, то при выходе основного процесса могла
2053
       выдаваться ошибка "panic: MUTEX_LOCK".
2054
2055
    *) Исправление: nginx не собирался с параметром --without-http-cache;
2056
       ошибка появилась в 0.7.48.
2057
2058
    *) Исправление: nginx не собирался на платформах, отличных от i386,
2059
       amd64, sparc и ppc; ошибка появилась в 0.7.42.
2060
2061
2062
Изменения в nginx 0.7.51                                          12.04.2009
2063
2064
    *) Добавление: директива try_files поддерживает код ответа в последнем
2065
       параметре.
2066
2067
    *) Добавление: теперь в директиве return можно использовать любой код
2068
       ответа.
2069
2070
    *) Исправление: директива error_page делала внешний редирект без строки
2071
       запроса; ошибка появилась в 0.7.44.
2072
2073
    *) Исправление: если сервера слушали на нескольких явно описанных
2074
       адресах, то виртуальные сервера могли не работать; ошибка появилась в
2075
       0.7.39.
2076
2077
2078
Изменения в nginx 0.7.50                                          06.04.2009
2079
2080
    *) Исправление: переменные $arg_... не работали; ошибка появилась в
2081
       0.7.49.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2082
2083
2084
Изменения в nginx 0.7.49                                          06.04.2009
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2085
2086
    *) Исправление: при использовании переменных $arg_... в рабочем процессе
2087
       мог произойти segmentation fault; ошибка появилась в 0.7.48.
2088
2089
2090
Изменения в nginx 0.7.48                                          06.04.2009
2091
2092
    *) Добавление: директива proxy_cache_key.
2093
2094
    *) Исправление: теперь nginx учитывает при кэшировании строки
2095
       "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
2096
       бэкенда.
2097
2098
    *) Исправление: теперь nginx кэширует только ответы на запросы GET.
2099
2100
    *) Исправление: директива fastcgi_cache_key не наследовалась.
2101
2102
    *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
2103
       Спасибо Максиму Дунину.
2104
2105
    *) Исправление: nginx не собирался с библиотекой uclibc.
2106
       Спасибо Timothy Redaelli.
2107
2108
    *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
2109
       в 0.7.46.
2110
2111
2112
Изменения в nginx 0.7.47                                          01.04.2009
2113
2114
    *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
2115
       ошибка появилась в 0.7.46.
2116
2117
    *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
2118
2119
    *) Исправление: если использовался параметр max_size, то cache manager
2120
       мог удалить весь кэш; ошибка появилась в 0.7.46.
2121
2122
    *) Изменение: в рабочем процессе мог произойти segmentation fault, если
2123
       директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
2124
       fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
2125
       в 0.7.46.
2126
2127
    *) Исправление: в рабочем процессе мог произойти segmentation fault при
2128
       перенаправлении запроса проксированному или FastCGI-серверу с помощью
2129
       error_page или try_files; ошибка появилась в 0.7.44.
2130
2131
2132
Изменения в nginx 0.7.46                                          30.03.2009
2133
2134
    *) Исправление: архив предыдущего релиза был неверным.
2135
2136
2137
Изменения в nginx 0.7.45                                          30.03.2009
2138
2139
    *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
2140
       задавать на разных уровнях.
2141
2142
    *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
2143
2144
    *) Добавление: параметр max_size в директиве proxy_cache_path.
2145
2146
    *) Добавление: предварительная поддержка кэширования в модуле
2147
       ngx_http_fastcgi_module.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2148
2149
    *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2150
       указываются названия директивы и зоны.
2151
2152
    *) Исправление: директива "add_header last-modified ''" не удаляла в
2153
       заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
2154
2155
    *) Исправление: в директиве auth_basic_user_file не работал
2156
       относительный путь, заданный строкой без переменных; ошибка появилась
2157
       в 0.7.44.
2158
       Спасибо Jerome Loyet.
2159
2160
    *) Исправление: в директиве alias, заданной переменными без ссылок на
2161
       выделения в регулярных выражениях; ошибка появилась в 0.7.42.
2162
2163
2164
Изменения в nginx 0.7.44                                          23.03.2009
2165
2166
    *) Добавление: предварительная поддержка кэширования в модуле
2167
       ngx_http_proxy_module.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2168
2169
    *) Добавление: параметр --with-pcre в configure.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2170
2171
    *) Добавление: теперь директива try_files может быть использована на
2172
       уровне server.
2173
2174
    *) Исправление: директива try_files неправильно обрабатывала строку
2175
       запроса в последнем параметре.
2176
2177
    *) Исправление: директива try_files могла неверно тестировать каталоги.
2178
2179
    *) Исправление: если для пары адрес:порт описан только один сервер, то
2180
       выделения в регулярных выражениях в директиве server_name не
2181
       работали.
2182
2183
2184
Изменения в nginx 0.7.43                                          18.03.2009
2185
2186
    *) Исправление: запрос обрабатывался неверно, если директива root
2187
       использовала переменные; ошибка появилась в 0.7.42.
2188
2189
    *) Исправление: если сервер слушал на адресах типа "*", то значение
2190
       переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
2191
2192
2193
Изменения в nginx 0.7.42                                          16.03.2009
2194
2195
    *) Изменение: ошибка "Invalid argument", возвращаемая
2196
       setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
2197
2198
    *) Изменение: при отсутствии файла, указанного в директиве
2199
       auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
2200
2201
    *) Добавление: директива auth_basic_user_file поддерживает переменные.
2202
       Спасибо Кириллу Коринскому.
2203
2204
    *) Добавление: директива listen поддерживает параметр ipv6only.
2205
       Спасибо Zhang Hua.
2206
2207
    *) Исправление: в директиве alias со ссылками на выделения в регулярных
2208
       выражениях; ошибка появилась в 0.7.40.
2209
2210
    *) Исправление: совместимость с Tru64 UNIX.
2211
       Спасибо Dustin Marquess.
2212
2213
    *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2214
       в 0.7.41.
2215
2216
2217
Изменения в nginx 0.7.41                                          11.03.2009
2218
2219
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
2220
       если в server_name или location были выделения в регулярных
2221
       выражениях; ошибка появилась в 0.7.40.
2222
       Спасибо Владимиру Сопоту.
2223
2224
2225
Изменения в nginx 0.7.40                                          09.03.2009
2226
2227
    *) Добавление: директива location поддерживает выделения в регулярных
2228
       выражениях.
2229
2230
    *) Добавление: директиву alias с ссылками на выделения в регулярных
2231
       выражениях можно использовать внутри location'а, заданного регулярным
2232
       выражением с выделениями.
2233
2234
    *) Добавление: директива server_name поддерживает выделения в регулярных
2235
       выражениях.
2236
2237
    *) Изменение: модуль ngx_http_autoindex_module не показывал последний
2238
       слэш для каталогов на файловой системе XFS; ошибка появилась в
2239
       0.7.15.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2240
       Спасибо Дмитрию Кузьменко.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2241
2242
2243
Изменения в nginx 0.7.39                                          02.03.2009
2244
2245
    *) Исправление: при включённом сжатии большие ответы с использованием
2246
       SSI могли зависать; ошибка появилась в 0.7.28.
2247
       Спасибо Артёму Бохану.
2248
2249
    *) Исправление: при использовании коротких статических вариантов в
2250
       директиве try_files в рабочем процессе мог произойти segmentation
2251
       fault.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2252
2253
2254
Изменения в nginx 0.7.38                                          23.02.2009
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2255
2256
    *) Добавление: логгирование ошибок аутентификации.
2257
2258
    *) Исправление: имя/пароль, заданные в auth_basic_user_file,
2259
       игнорировались после нечётного числа пустых строк.
2260
       Спасибо Александру Загребину.
2261
2262
    *) Исправление: при использовании длинного пути в unix domain сокете в
2263
       главном процессе происходил segmentation fault; ошибка появилась в
2264
       0.7.36.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2265
2266
2267
Изменения в nginx 0.7.37                                          21.02.2009
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2268
2269
    *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
2270
       появилась в 0.7.36.
2271
2272
2273
Изменения в nginx 0.7.36                                          21.02.2009
2274
2275
    *) Добавление: предварительная поддержка IPv6; директива listen модуля
2276
       HTTP поддерживает IPv6.
2277
2278
    *) Исправление: переменная $ancient_browser не работала для браузеров,
2279
       заданных директивами modern_browser.
2280
2281
2282
Изменения в nginx 0.7.35                                          16.02.2009
2283
2284
    *) Исправление: директива ssl_engine не использовала SSL-акселератор для
2285
       асимметричных шифров.
2286
       Спасибо Marcin Gozdalik.
2287
2288
    *) Исправление: директива try_files выставляла MIME-type, исходя из
2289
       расширения первоначального запроса.
2290
2291
    *) Исправление: в директивах server_name, valid_referers и map
2292
       неправильно обрабатывались имена вида "*domain.tld", если
2293
       использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
2294
       ошибка появилась в 0.7.9.
2295
2296
2297
Изменения в nginx 0.7.34                                          10.02.2009
2298
2299
    *) Добавление: параметр off в директиве if_modified_since.
2300
2301
    *) Добавление: теперь после команды XCLIENT nginx посылает команду
2302
       HELO/EHLO.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2303
       Спасибо Максиму Дунину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2304
2305
    *) Добавление: поддержка Microsoft-специфичного режима
2306
       "AUTH LOGIN with User Name" в почтовом прокси-сервере.
2307
       Спасибо Максиму Дунину.
2308
2309
    *) Исправление: в директиве rewrite, возвращающей редирект, старые
2310
       аргументы присоединялись к новым через символ "?" вместо "&";
2311
       ошибка появилась в 0.1.18.
2312
       Спасибо Максиму Дунину.
2313
2314
    *) Исправление: nginx не собирался на AIX.
2315
2316
2317
Изменения в nginx 0.7.33                                          02.02.2009
2318
2319
    *) Исправление: если на запрос с телом возвращался редирект, то ответ
2320
       мог быть двойным при использовании методов epoll или rtsig.
2321
       Спасибо Eden Li.
2322
2323
    *) Исправление: для некоторых типов редиректов в переменной
2324
       $sent_http_location было пустое значение.
2325
2326
    *) Исправление: при использовании директивы resolver в SMTP
2327
       прокси-сервере в рабочем процессе мог произойти segmentation fault.
2328
2329
2330
Изменения в nginx 0.7.32                                          26.01.2009
2331
2332
    *) Добавление: теперь в директиве try_files можно явно указать проверку
2333
       каталога.
2334
2335
    *) Исправление: fastcgi_store не всегда сохранял файлы.
2336
2337
    *) Исправление: в гео-диапазонах.
2338
2339
    *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
2340
       если nginx был собран без отладки.
2341
       Спасибо Андрею Квасову.
2342
2343
2344
Изменения в nginx 0.7.31                                          19.01.2009
2345
2346
    *) Изменение: теперь директива try_files проверяет только файлы,
2347
       игнорируя каталоги.
2348
2349
    *) Добавление: директива fastcgi_split_path_info.
2350
2351
    *) Исправления в поддержке строки "Expect" в заголовке запроса.
2352
2353
    *) Исправления в гео-диапазонах.
2354
2355
    *) Исправление: при отсутствии ответа ngx_http_memcached_module
2356
       возвращал в теле ответа строку "END" вместо 404-ой страницы по
2357
       умолчанию; ошибка появилась в 0.7.18.
2358
       Спасибо Максиму Дунину.
2359
2360
    *) Исправление: при проксировании SMPT nginx выдавал сообщение
2361
       "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
2362
       Спасибо Максиму Дунину.
2363
2364
2365
Изменения в nginx 0.7.30                                          24.12.2008
2366
2367
    *) Исправление: в рабочем процессе происходил segmentation fault, если в
2368
       директивах fastcgi_pass или proxy_pass использовались переменные и
2369
       имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
2370
2371
2372
Изменения в nginx 0.7.29                                          24.12.2008
2373
2374
    *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
2375
       переменные при использовании unix domain сокетов.
2376
2377
    *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
2378
2379
    *) Исправление: ответ "100 Continue" выдавался для запросов версии
2380
       HTTP/1.0;
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2381
       Спасибо Максиму Дунину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2382
2383
    *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
2384
       под Cygwin.
2385
2386
2387
Изменения в nginx 0.7.28                                          22.12.2008
2388
2389
    *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
2390
2391
    *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
2392
       с 4 4k/8k на 32 4k или 16 8k.
2393
2394
2395
Изменения в nginx 0.7.27                                          15.12.2008
2396
2397
    *) Добавление: директива try_files.
2398
2399
    *) Добавление: директива fastcgi_pass поддерживает переменные.
2400
2401
    *) Добавление: теперь директива geo может брать адрес из переменной.
2402
       Спасибо Андрею Нигматулину.
2403
2404
    *) Добавление: теперь модификатор location'а можно указывать без пробела
2405
       перед названием.
2406
2407
    *) Добавление: переменная $upstream_response_length.
2408
2409
    *) Исправление: теперь директива add_header не добавляет пустое
2410
       значение.
2411
2412
    *) Исправление: при запросе файла нулевой длины nginx закрывал
2413
       соединение, ничего не передав; ошибка появилась в 0.7.25.
2414
2415
    *) Исправление: метод MOVE не мог перемещать файл в несуществующий
2416
       каталог.
2417
2418
    *) Исправление: если в сервере не был описан ни один именованный
2419
       location, но такой location использовался в директиве error_page, то
2420
       в рабочем процессе происходил segmentation fault.
2421
       Спасибо Сергею Боченкову.
2422
2423
2424
Изменения в nginx 0.7.26                                          08.12.2008
2425
2426
    *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
2427
2428
2429
Изменения в nginx 0.7.25                                          08.12.2008
2430
2431
    *) Изменение: в обработке подзапросов.
2432
2433
    *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
2434
       заголовке запроса.
2435
2436
    *) Исправление: теперь директивы limit_req и limit_conn указывают
2437
       причину запрета запроса.
2438
2439
    *) Исправление: в параметре delete директивы geo.
2440
2441
2442
Изменения в nginx 0.7.24                                          01.12.2008
2443
2444
    *) Добавление: директива if_modified_since.
2445
2446
    *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
2447
       ответом сервер передавал много сообщений в stderr.
2448
2449
    *) Исправление: переменные "$cookie_..." не работали в SSI and в
2450
       перловом модуле.
2451
2452
2453
Изменения в nginx 0.7.23                                          27.11.2008
2454
2455
    *) Добавление: параметры delete и ranges в директиве geo.
2456
2457
    *) Добавление: ускорение загрузки geo-базы с большим числом значений.
2458
2459
    *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
2460
2461
2462
Изменения в nginx 0.7.22                                          20.11.2008
2463
2464
    *) Добавление: параметр none в директиве smtp_auth.
2465
       Спасибо Максиму Дунину.
2466
2467
    *) Добавление: переменные "$cookie_...".
2468
2469
    *) Исправление: директива directio не работала с файловой системой XFS.
2470
2471
    *) Исправление: resolver не понимал большие DNS-ответы.
2472
       Спасибо Zyb.
2473
2474
2475
Изменения в nginx 0.7.21                                          11.11.2008
2476
2477
    *) Изменения в модуле ngx_http_limit_req_module.
2478
2479
    *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
2480
       Спасибо Денису Латыпову.
2481
2482
    *) Изменение: совместимость с glibc 2.3.
2483
       Спасибо Eric Benson и Максиму Дунину.
2484
2485
    *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
2486
       ошибка появилась в 0.7.6.
2487
2488
2489
Изменения в nginx 0.7.20                                          10.11.2008
2490
2491
    *) Изменения в модуле ngx_http_gzip_filter_module.
2492
2493
    *) Добавление: модуль ngx_http_limit_req_module.
2494
2495
    *) Исправление: на платформах sparc и ppc рабочие процессы могли
2496
       выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
2497
       Спасибо Максиму Дунину.
2498
2499
    *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
2500
       работали; ошибка появилась в 0.7.12.
2501
2502
    *) Исправление: при использовании HTTPS запросы могли завершаться с
2503
       ошибкой "bad write retry".
2504
2505
    *) Исправление: модуль ngx_http_secure_link_module не работал внутри
2506
       location'ов с именами меньше 3 символов.
2507
2508
    *) Исправление: переменная $server_addr могла не иметь значения.
2509
2510
2511
Изменения в nginx 0.7.19                                          13.10.2008
2512
2513
    *) Исправление: обновление номера версии.
2514
2515
2516
Изменения в nginx 0.7.18                                          13.10.2008
2517
2518
    *) Изменение: директива underscores_in_headers; теперь nginx по
2519
       умолчанию не разрешает подчёркивания в именах строк в заголовке
2520
       запроса клиента.
2521
2522
    *) Добавление: модуль ngx_http_secure_link_module.
2523
2524
    *) Добавление: директива real_ip_header поддерживает любой заголовок.
2525
2526
    *) Добавление: директива log_subrequest.
2527
2528
    *) Добавление: переменная $realpath_root.
2529
2530
    *) Добавление: параметры http_502 и http_504 в директиве
2531
       proxy_next_upstream.
1.3.1 by Fabio Tranchitella
Import upstream version 0.7.59
2532
2533
    *) Исправление: параметр http_503 в директивах proxy_next_upstream или
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2534
       fastcgi_next_upstream не работал.
2535
2536
    *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
2537
       для запросов HEAD.
2538
2539
    *) Исправление: теперь accept-лимит зависит от числа worker_connections.
2540
2541
2542
Изменения в nginx 0.7.17                                          15.09.2008
2543
2544
    *) Добавление: директива directio теперь работает на Linux.
2545
2546
    *) Добавление: переменная $pid.
2547
2548
    *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
2549
       при использовании open_file_cache.
2550
2551
    *) Исправление: access_log с переменными не работал на Linux; ошибка
2552
       появилась в 0.7.7.
2553
2554
    *) Исправление: модуль ngx_http_charset_module не понимал название
2555
       кодировки в кавычках, полученное от бэкенда.
2556
2557
2558
Изменения в nginx 0.7.16                                          08.09.2008
2559
2560
    *) Исправление: nginx не собирался на 64-битных платформах; ошибка
2561
       появилась в 0.7.15.
2562
2563
2564
Изменения в nginx 0.7.15                                          08.09.2008
2565
2566
    *) Добавление: модуль ngx_http_random_index_module.
2567
2568
    *) Добавление: директива directio оптимизирована для запросов файлов,
2569
       начинающихся с произвольной позиции.
2570
2571
    *) Добавление: директива directio при необходимости запрещает
2572
       использование sendfile.
2573
2574
    *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
2575
       заголовке запроса клиента.
2576
2577
2578
Изменения в nginx 0.7.14                                          01.09.2008
2579
2580
    *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
2581
       имеют значений по умолчанию.
2582
2583
    *) Добавление: директива listen поддерживает параметр ssl.
2584
2585
    *) Добавление: теперь при переконфигурации nginx учитывает изменение
2586
       временной зоны на FreeBSD и Linux.
2587
2588
    *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
2589
       прочие, не устанавливались, если сервером по умолчанию был не первый
2590
       сервер.
2591
2592
    *) Исправление: при использовании в качестве аргументов части URI,
2593
       выделенного с помощью директивы rewrite, эти аргументы не
2594
       экранировались.
2595
2596
    *) Исправление: улучшения тестирования правильности конфигурационного
2597
       файла.
2598
2599
2600
Изменения в nginx 0.7.13                                          26.08.2008
2601
2602
    *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
2603
       в 0.7.12.
2604
2605
2606
Изменения в nginx 0.7.12                                          26.08.2008
2607
2608
    *) Добавление: директива server_name поддерживает пустое имя "".
2609
2610
    *) Добавление: директива gzip_disable поддерживает специальную маску
2611
       msie6.
1.2.1 by Jose Parrella
Import upstream version 0.7.14
2612
2613
    *) Исправление: при использовании параметра max_fails=0 в upstream'е с
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2614
       несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
2615
       Спасибо Максиму Дунину.
2616
2617
    *) Исправление: при перенаправлении запроса с помощью директивы
2618
       error_page терялось тело запроса.
2619
2620
    *) Исправление: при перенаправлении запроса с методом HEAD с помощью
2621
       директивы error_page возвращался полный ответ.
2622
2623
    *) Исправление: метод $r->header_in() не возвращал значения строк
2624
       "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
2625
       появилась в 0.7.0.
2626
2627
2628
Изменения в nginx 0.7.11                                          18.08.2008
2629
2630
    *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
2631
       MIME-типом text/css.
2632
2633
    *) Добавление: теперь nginx возвращает код 405 для метода POST при
2634
       запросе статического файла, только если файл существует.
2635
2636
    *) Добавление: директива proxy_ssl_session_reuse.
2637
2638
    *) Исправление: после перенаправления запроса с помощью
2639
       "X-Accel-Redirect" директива proxy_pass без URI могла использовать
2640
       оригинальный запрос.
2641
2642
    *) Исправление: если у каталога были права доступа только на поиск
2643
       файлов и первый индексный файл отсутствовал, то nginx возвращал
2644
       ошибку 500.
2645
2646
    *) Исправление: ошибок во вложенных location'ах; ошибки появились в
2647
       0.7.1.
1.2.1 by Jose Parrella
Import upstream version 0.7.14
2648
2649
2650
Изменения в nginx 0.7.10                                          13.08.2008
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2651
2652
    *) Исправление: ошибок в директивах addition_types, charset_types,
2653
       gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
2654
       появились в 0.7.9.
2655
2656
    *) Исправление: рекурсивной error_page для 500 ошибки.
2657
2658
    *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
2659
       не для всего keepalive соединения, а для каждого запроса по этому
2660
       соединению.
2661
2662
2663
Изменения в nginx 0.7.9                                           12.08.2008
2664
2665
    *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
2666
       следующими MIME-типами: text/html, text/css, text/xml, text/plain,
2667
       text/vnd.wap.wml, application/x-javascript и application/rss+xml.
2668
2669
    *) Добавление: директивы charset_types и addition_types.
2670
2671
    *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
2672
       используют хэш.
2673
2674
    *) Добавление: модуль ngx_cpp_test_module.
2675
2676
    *) Добавление: директива expires поддерживает суточное время.
2677
2678
    *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
2679
       Спасибо Денису Латыпову и Максиму Дунину.
2680
2681
    *) Исправление: директива log_not_found не работала при поиске индексных
2682
       файлов.
2683
2684
    *) Исправление: HTTPS-соединения могли зависнуть, если использовались
2685
       методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
2686
2687
    *) Исправление: если в директивах server_name, valid_referers и map
2688
       использовалась маска вида "*.domain.tld" и при этом полное имя вида
2689
       "domain.tld" не было описано, то это имя попадало под маску; ошибка
2690
       появилась в 0.3.18.
2691
2692
2693
Изменения в nginx 0.7.8                                           04.08.2008
2694
2695
    *) Добавление: модуль ngx_http_xslt_module.
2696
2697
    *) Добавление: переменные "$arg_...".
2698
2699
    *) Добавление: поддержка directio в Solaris.
2700
       Спасибо Ivan Debnar.
2701
2702
    *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
2703
       в заголовке ответа без строки статуса, то nginx использует код
2704
       статуса 302.
2705
       Спасибо Максиму Дунину.
2706
2707
2708
Изменения в nginx 0.7.7                                           30.07.2008
2709
2710
    *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
2711
       временной.
2712
2713
    *) Изменение: значением переменной $ssl_client_cert теперь является
2714
       сертификат, перед каждой строкой которого, кроме первой, вставляется
2715
       символ табуляции; неизменённый сертификат доступен через переменную
2716
       $ssl_client_raw_cert.
1.2.1 by Jose Parrella
Import upstream version 0.7.14
2717
2718
    *) Добавление: параметр ask директивы ssl_verify_client.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2719
2720
    *) Добавление: улучшения в обработке byte-range.
2721
       Спасибо Максиму Дунину.
2722
2723
    *) Добавление: директива directio.
2724
       Спасибо Jiang Hong.
2725
2726
    *) Добавление: поддержка sendfile() в MacOSX 10.5.
2727
2728
    *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
2729
       делается сравнение без учёта регистра символов; однако, сравнение
2730
       ограничено только однобайтными locale'ями.
2731
2732
    *) Исправление: соединения почтового прокси-сервера зависали в режиме
2733
       SSL, если использовались методы select, poll или /dev/poll.
2734
2735
    *) Исправление: ошибки при использовании кодировки UTF-8 в
2736
       ngx_http_autoindex_module.
1.2.1 by Jose Parrella
Import upstream version 0.7.14
2737
2738
2739
Изменения в nginx 0.7.6                                           07.07.2008
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2740
2741
    *) Исправление: теперь при использовании переменных в директиве
2742
       access_log всегда проверяется существовании root'а для запроса.
2743
2744
    *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
2745
       значений в аргументах запроса.
2746
2747
2748
Изменения в nginx 0.7.5                                           01.07.2008
2749
2750
    *) Исправления в поддержке переменных в директиве access_log; ошибки
2751
       появились в 0.7.4.
2752
2753
    *) Исправление: nginx не собирался с параметром
2754
       --without-http_gzip_module; ошибка появилась в 0.7.3.
2755
       Спасибо Кириллу Коринскому.
2756
2757
    *) Исправление: при совместном использовании sub_filter и SSI ответы
2758
       могли передаваться неверно.
2759
2760
2761
Изменения в nginx 0.7.4                                           30.06.2008
2762
2763
    *) Добавление: директива access_log поддерживает переменные.
2764
2765
    *) Добавление: директива open_log_file_cache.
2766
2767
    *) Добавление: ключ -g.
2768
2769
    *) Добавление: поддержка строки "Expect" в заголовке запроса.
2770
2771
    *) Исправление: большие включения в SSI могли передавались не полностью.
2772
2773
2774
Изменения в nginx 0.7.3                                           23.06.2008
2775
2776
    *) Изменение: MIME-тип для расширения rss изменён на
2777
       "application/rss+xml".
1.2.1 by Jose Parrella
Import upstream version 0.7.14
2778
2779
    *) Изменение: теперь директива "gzip_vary on" выдаёт строку
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2780
       "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
2781
2782
    *) Добавление: теперь при использовании протокола "https://" в директиве
2783
       rewrite автоматически делается редирект.
2784
2785
    *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
2786
       ошибка появилась в 0.6.9.
2787
2788
2789
Изменения в nginx 0.7.2                                           16.06.2008
2790
2791
    *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
2792
2793
    *) Добавление: директива ssl_dhparam.
2794
2795
    *) Добавление: переменная $ssl_client_cert.
2796
       Спасибо Manlio Perillo.
2797
2798
    *) Исправление: после изменения URI с помощью директивы rewrite nginx не
2799
       искал новый location; ошибка появилась в 0.7.1.
2800
       Спасибо Максиму Дунину.
2801
2802
    *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2803
       в 0.7.1.
2804
2805
    *) Исправление: при редиректе запроса к каталогу с добавлением слэша
2806
       nginx не добавлял аргументы из оригинального запроса.
2807
2808
2809
Изменения в nginx 0.7.1                                           26.05.2008
2810
2811
    *) Изменение: теперь поиск location'а делается с помощью дерева.
2812
2813
    *) Изменение: директива optimize_server_names упразднена в связи с
2814
       появлением директивы server_name_in_redirect.
2815
2816
    *) Изменение: некоторые давно устаревшие директивы больше не
2817
       поддерживаются.
2818
2819
    *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
2820
       параметр используется по умолчанию.
2821
       Спасибо Rob Mueller.
2822
2823
    *) Исправление: рабочие процессы могли не реагировать на сигналы
2824
       переконфигурации и ротации логов.
2825
2826
    *) Исправление: nginx не собирался на последних Fedora 9 Linux.
2827
       Спасибо Roxis.
2828
2829
2830
Изменения в nginx 0.7.0                                           19.05.2008
2831
2832
    *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
2833
       записываются в виде \xXX.
2834
       Спасибо Максиму Дунину.
2835
2836
    *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
2837
       запроса.
2838
2839
    *) Добавление: директива expires поддерживает флаг modified.
2840
2841
    *) Добавление: переменные $uid_got и $uid_set можно использовать на
2842
       любой стадии обработки запроса.
2843
2844
    *) Добавление: переменная $hostname.
2845
       Спасибо Андрею Нигматулину.
2846
2847
    *) Добавление: поддержка DESTDIR.
2848
       Спасибо Todd A. Fisher и Andras Voroskoi.
2849
2850
    *) Исправление: при использовании keepalive на Linux в рабочем процессе
2851
       мог произойти segmentation fault.
2852
2853
2854
Изменения в nginx 0.6.31                                          12.05.2008
2855
2856
    *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
2857
       заголовка ответ была в конце записи FastCGI; ошибка появилась в
2858
       0.6.2.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
2859
       Спасибо Сергею Серову.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2860
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
2861
    *) Исправление: при удалении файла и использовании директивы
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2862
       open_file_cache_errors off в рабочем процессе мог произойти
2863
       segmentation fault.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
2864
2865
2866
Изменения в nginx 0.6.30                                          29.04.2008
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2867
2868
    *) Изменение: теперь, если маске, заданной в директиве include, не
2869
       соответствует ни один файл, то nginx не выдаёт ошибку.
2870
2871
    *) Добавление: теперь время в директивах можно задавать без пробела,
2872
       например, "1h50m".
2873
2874
    *) Исправление: утечек памяти, если директива ssl_verify_client имела
2875
       значение on.
2876
       Спасибо Chavelle Vincent.
2877
2878
    *) Исправление: директива sub_filter могла вставлять заменяемый текст в
2879
       вывод.
2880
2881
    *) Исправление: директива error_page не воспринимала параметры в
2882
       перенаправляемом URI.
2883
2884
    *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
2885
       в бинарном режиме.
2886
2887
    *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
2888
       0.6.15.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
2889
2890
2891
Изменения в nginx 0.6.29                                          18.03.2008
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2892
2893
    *) Добавление: модуль ngx_google_perftools_module.
2894
2895
    *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
2896
       платформах; ошибка появилась в 0.6.27.
2897
2898
2899
Изменения в nginx 0.6.28                                          13.03.2008
2900
2901
    *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
2902
2903
2904
Изменения в nginx 0.6.27                                          12.03.2008
2905
2906
    *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
2907
       rtsig.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
2908
2909
    *) Изменение: теперь при перенаправлении запроса в именованный location
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2910
       с помощью директивы error_page метод запроса не изменяется.
2911
2912
    *) Добавление: директивы resolver и resolver_timeout в SMTP
2913
       прокси-сервере.
2914
2915
    *) Добавление: директива post_action поддерживает именованные
2916
       location'ы.
2917
2918
    *) Исправление: при перенаправлении запроса из location'а c обработчиком
2919
       proxy, FastCGI или memcached в именованный location со статическим
2920
       обработчиком в рабочем процессе происходил segmentation fault.
2921
2922
    *) Исправление: браузеры не повторяли SSL handshake, если при первом
2923
       handshake не оказалось правильного клиентского сертификата.
2924
       Спасибо Александру Инюхину.
2925
2926
    *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
2927
       error_page без изменения кода ошибки nginx пытался выделить очень
2928
       много памяти.
2929
2930
    *) Исправление: утечки памяти в долгоживущих небуфферизированных
2931
       соединениях.
2932
2933
    *) Исправление: утечки памяти в resolver'е.
2934
2935
    *) Исправление: при перенаправлении запроса из location'а c обработчиком
2936
       proxy в другой location с обработчиком proxy в рабочем процессе
2937
       происходил segmentation fault.
2938
2939
    *) Исправление: ошибки в кэшировании переменных $proxy_host и
2940
       $proxy_port.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
2941
       Спасибо Сергею Боченкову.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2942
2943
    *) Исправление: директива proxy_pass с переменными использовала порт,
2944
       описанной в другой директиве proxy_pass без переменных, но с таким же
2945
       именем хоста.
2946
       Спасибо Сергею Боченкову.
2947
2948
    *) Исправление: во время переконфигурации на некоторых 64-битном
2949
       платформах в лог записывался alert "sendmsg() failed (9: Bad file
2950
       descriptor)".
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
2951
2952
    *) Исправление: при повторном использовании в SSI пустого block'а в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
2953
       качестве заглушки в рабочем процессе происходил segmentation fault.
2954
2955
    *) Исправление: ошибки при копировании части URI, содержащего
2956
       экранированные символы, в аргументы.
2957
2958
2959
Изменения в nginx 0.6.26                                          11.02.2008
2960
2961
    *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
2962
       ответа.
2963
2964
    *) Исправление: при использовании большого значения в директиве expires
2965
       в рабочем процессе происходил segmentation fault.
2966
       Спасибо Joaquin Cuenca Abela.
2967
2968
    *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
2969
       Спасибо Геннадию Махомеду.
2970
2971
    *) Исправление: в проксированных подзапросах и подзапросах к
2972
       FastCGI-серверу вместо метода GET использовался оригинальный метод
2973
       клиента.
2974
2975
    *) Исправление: утечки сокетов в режиме HTTPS при использовании
2976
       отложенного accept'а.
2977
       Спасибо Ben Maurer.
2978
2979
    *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
2980
       (SSL: )"; ошибка появилась в 0.6.23.
2981
2982
    *) Исправление: при использовании HTTPS запросы могли завершаться с
2983
       ошибкой "bad write retry"; ошибка появилась в 0.6.23.
2984
2985
2986
Изменения в nginx 0.6.25                                          08.01.2008
2987
2988
    *) Изменение: вместо специального параметра "*" в директиве server_name
2989
       теперь используется директива server_name_in_redirect.
2990
2991
    *) Изменение: в качестве основного имени в директиве server_name теперь
2992
       можно использовать имена с масками и регулярными выражениями.
2993
2994
    *) Изменение: директива satisfy_any заменена директивой satisfy.
2995
2996
    *) Изменение: после переконфигурации старые рабочие процесс могли сильно
2997
       нагружать процессор при запуске под Linux OpenVZ.
2998
2999
    *) Добавление: директива min_delete_depth.
3000
3001
    *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
3002
3003
    *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
3004
       модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
3005
3006
    *) Исправление: утечки сокетов в режиме HTTPS при использовании
3007
       отложенного accept'а.
3008
       Спасибо Ben Maurer.
3009
3010
    *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3011
       в 0.6.23.
3012
3013
3014
Изменения в nginx 0.6.24                                          27.12.2007
3015
3016
    *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
3017
       segmentation fault; ошибка появилась в 0.6.23.
3018
3019
3020
Изменения в nginx 0.6.23                                          27.12.2007
3021
3022
    *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
3023
       параметр используется по умолчанию.
3024
3025
    *) Изменение: директива open_file_cache_retest переименована в
3026
       open_file_cache_valid.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3027
3028
    *) Добавление: директива open_file_cache_min_uses.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3029
3030
    *) Добавление: модуль ngx_http_gzip_static_module.
3031
3032
    *) Добавление: директива gzip_disable.
3033
3034
    *) Добавление: директиву memcached_pass можно использовать внутри блока
3035
       if.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3036
3037
    *) Исправление: если внутри одного location'а использовались директивы
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3038
       "memcached_pass" и "if", то в рабочем процессе происходил
3039
       segmentation fault.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3040
3041
    *) Исправление: если при использовании директивы satisfy_any on" были
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3042
       заданы директивы не всех модулей доступа, то заданные директивы не
3043
       проверялись.
3044
3045
    *) Исправление: параметры, заданные регулярным выражением в директиве
3046
       valid_referers, не наследовалась с предыдущего уровня.
3047
3048
    *) Исправление: директива post_action не работала, если запрос
3049
       завершался с кодом 499.
3050
3051
    *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
3052
       Спасибо Ben Maurer.
3053
3054
    *) Исправление: STARTTLS в режиме SMTP не работал.
3055
       Спасибо Олегу Мотиенко.
3056
3057
    *) Исправление: при использовании HTTPS запросы могли завершаться с
3058
       ошибкой "bad write retry"; ошибка появилась в 0.5.13.
3059
3060
3061
Изменения в nginx 0.6.22                                          19.12.2007
3062
3063
    *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
3064
       значения, скопированные в память, выделенную perl'ом.
3065
3066
    *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
3067
       использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
3068
       время переконфигурации основной процесс аварийно выходил; ошибка
3069
       появилась в 0.5.9.
3070
       Спасибо Борису Жмурову.
3071
3072
    *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
3073
       неверные результаты выделения в регулярных выражениях.
3074
3075
    *) Исправление: если метод $r->has_request_body() вызывался для запроса,
3076
       у которого небольшое тело запроса было уже полностью получено, то в
3077
       рабочем процессе происходил segmentation fault.
3078
3079
    *) Исправление: large_client_header_buffers не освобождались перед
3080
       переходом в состояние keep-alive.
3081
       Спасибо Олександру Штепе.
3082
3083
    *) Исправление: в переменной $upstream_addr не записывался последний
3084
       адрес; ошибка появилась в 0.6.18.
3085
3086
    *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
3087
       теперь она возвращает ошибку 502, которую можно направить на
3088
       следующий сервер с помощью "fastcgi_next_upstream invalid_header".
3089
3090
    *) Исправление: при использовании директивы fastcgi_catch_stderr в
3091
       основном процессе происходил segmentation fault; ошибка появилась в
3092
       0.6.10.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3093
       Спасибо Manlio Perillo.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3094
3095
3096
Изменения в nginx 0.6.21                                          03.12.2007
3097
3098
    *) Изменение: если в значениях переменных директивы proxy_pass
3099
       используются только IP-адреса, то указывать resolver не нужно.
3100
3101
    *) Исправление: при использовании директивы proxy_pass c URI-частью в
3102
       рабочем процессе мог произойти segmentation fault; ошибка появилась в
3103
       0.6.19.
3104
3105
    *) Исправление: если resolver использовался на платформах, не
3106
       поддерживающих метод kqueue, то nginx выдавал alert "name is out of
3107
       response".
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3108
       Спасибо Андрею Нигматулину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3109
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3110
    *) Исправление: При использовании переменной $server_protocol в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3111
       FastCGI-параметрах и запросе, длина которого была близка к значению
3112
       директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
3113
       the request record is too big".
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3114
3115
    *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3116
       nginx возвращал обычный ответ.
3117
3118
3119
Изменения в nginx 0.6.20                                          28.11.2007
3120
3121
    *) Исправление: при использовании директивы proxy_pass c URI-частью в
3122
       рабочем процессе мог произойти segmentation fault; ошибка появилась в
3123
       0.6.19.
3124
3125
3126
Изменения в nginx 0.6.19                                          27.11.2007
3127
3128
    *) Исправление: версия 0.6.18 не собиралась.
3129
3130
3131
Изменения в nginx 0.6.18                                          27.11.2007
3132
3133
    *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
3134
       процесса добавляет микросекунды на время старта.
3135
3136
    *) Изменение: в error_log теперь записывается полная строка запроса
3137
       вместо только URI.
3138
3139
    *) Добавление: директива proxy_pass поддерживает переменные.
3140
3141
    *) Добавление: директивы resolver и resolver_timeout.
3142
3143
    *) Добавление: теперь директива "add_header last-modified ''" удаляет в
3144
       заголовке ответа строку "Last-Modified".
3145
3146
    *) Исправление: директива limit_rate не позволяла передавать на полной
3147
       скорости, даже если был указан очень большой лимит.
3148
3149
3150
Изменения в nginx 0.6.17                                          15.11.2007
3151
3152
    *) Добавление: поддержка строки "If-Range" в заголовке запроса.
3153
       Спасибо Александру Инюхину.
3154
3155
    *) Исправление: при использовании директивы msie_refresh повторно
3156
       экранировались уже экранированные символы; ошибка появилась в 0.6.4.
3157
3158
    *) Исправление: директива autoindex не работала при использовании "alias
3159
       /".
3160
3161
    *) Исправление: при использовании подзапросов в рабочем процессе мог
3162
       произойти segmentation fault.
3163
3164
    *) Исправление: при использовании SSL и gzip большие ответы могли
3165
       передаваться не полностью.
3166
3167
    *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
3168
       то переменная $status была равна 0.
3169
3170
3171
Изменения в nginx 0.6.16                                          29.10.2007
3172
3173
    *) Изменение: теперь на Linux используется uname(2) вместо procfs.
3174
       Спасибо Илье Новикову.
3175
3176
    *) Исправление: если в директиве error_page использовался символ "?", то
3177
       он экранировался при проксировании запроса; ошибка появилась в
3178
       0.6.11.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3179
3180
    *) Исправление: совместимость с mget.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3181
3182
3183
Изменения в nginx 0.6.15                                          22.10.2007
3184
3185
    *) Добавление: совместимость с Cygwin.
3186
       Спасибо Владимиру Кутакову.
3187
3188
    *) Добавление: директива merge_slashes.
3189
3190
    *) Добавление: директива gzip_vary.
3191
3192
    *) Добавление: директива server_tokens.
3193
3194
    *) Исправление: nginx не раскодировал URI в команде SSI include.
3195
3196
    *) Исправление: при использовании переменной в директивах charset или
3197
       source_charset на старте или во время переконфигурации происходил
3198
       segmentation fault,
1.1.6 by Fabio Tranchitella
Import upstream version 0.5.35
3199
3200
    *) Исправление: nginx возвращал ошибку 400 на запросы вида
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3201
       "GET http://www.domain.com HTTP/1.0".
1.1.6 by Fabio Tranchitella
Import upstream version 0.5.35
3202
       Спасибо James Oakley.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3203
3204
    *) Исправление: после перенаправления запроса с телом запроса с помощью
3205
       директивы error_page nginx пытался снова прочитать тело запроса;
3206
       ошибка появилась в 0.6.7.
3207
3208
    *) Исправление: в рабочем процессе происходил segmentation fault, если у
3209
       сервера, обрабатывающему запрос, не был явно определён server_name;
3210
       ошибка появилась в 0.6.7.
3211
3212
3213
Изменения в nginx 0.6.14                                          15.10.2007
3214
3215
    *) Изменение: теперь по умолчанию команда SSI echo использует
3216
       кодирование entity.
3217
3218
    *) Добавление: параметр encoding в команде SSI echo.
3219
3220
    *) Добавление: директиву access_log можно использовать внутри блока
3221
       limit_except.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3222
3223
    *) Исправление: если все сервера апстрима оказывались недоступными, то
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3224
       до восстановления работоспособности у всех серверов вес становился
3225
       равным одному; ошибка появилась в 0.6.6.
3226
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3227
    *) Исправление: при использовании переменных $date_local и $date_gmt вне
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3228
       модуля ngx_http_ssi_filter_module в рабочем процессе происходил
3229
       segmentation fault.
1.1.6 by Fabio Tranchitella
Import upstream version 0.5.35
3230
3231
    *) Исправление: при использовании включённом отладочном логе в рабочем
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3232
       процессе мог произойти segmentation fault.
3233
       Спасибо Андрею Нигматулину.
3234
1.1.6 by Fabio Tranchitella
Import upstream version 0.5.35
3235
    *) Исправление: ngx_http_memcached_module не устанавливал
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3236
       $upstream_response_time.
1.1.17 by Daniel Holbach
Prepared upstream tree for merging into target branch.
3237
       Спасибо Максиму Дунину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3238
1.1.6 by Fabio Tranchitella
Import upstream version 0.5.35
3239
    *) Исправление: рабочий процесс мог зациклиться при использовании
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3240
       memcached.
1.1.6 by Fabio Tranchitella
Import upstream version 0.5.35
3241
3242
    *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3243
       строке "Connection" в заголовке запроса только, если они были в
3244
       нижнем регистре; ошибка появилась в 0.6.11.
3245
3246
    *) Исправление: sub_filter не работал с пустой строкой замены.
3247
3248
    *) Исправление: в парсинге sub_filter.
3249
3250
3251
Изменения в nginx 0.6.13                                          24.09.2007
3252
3253
    *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
3254
       использовался autoindex
3255
       Спасибо Arkadiusz Patyk.
3256
3257
3258
Изменения в nginx 0.6.12                                          21.09.2007
3259
3260
    *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
3261
       и smtp.
3262
3263
    *) Добавление: параметры конфигурации --without-mail_pop3_module,
3264
       --without-mail_imap_module и --without-mail_smtp_module.
3265
3266
    *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
3267
       ngx_mail_smtp_module.
3268
3269
    *) Исправление: wildcard в конце имени сервера не работали; ошибка
3270
       появилась в 0.6.9.
3271
3272
    *) Исправление: при использовании разделяемой библиотеки PCRE,
3273
       расположенной в нестандартном месте, nginx не запускался на Solaris.
3274
3275
    *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
3276
       скрывали строки заголовка ответа с именем больше 32 символов.
3277
       Спасибо Manlio Perillo.
3278
3279
3280
Изменения в nginx 0.6.11                                          11.09.2007
3281
3282
    *) Исправление: счётчик активных соединений всегда рос при использовании
3283
       почтового прокси-сервера.
3284
3285
    *) Исправление: если бэкенд возвращал только заголовок ответа при
3286
       небуферизированном проксировании, то nginx закрывал соединение с
3287
       бэкендом по таймауту.
3288
3289
    *) Исправление: nginx не поддерживал несколько строк "Connection" в
3290
       заголовке запроса.
3291
3292
    *) Исправление: если в сервере апстрима был задан max_fails, то после
3293
       первой же неудачной попытки вес сервера навсегда становился равным
3294
       одному; ошибка появилась в 0.6.6.
3295
3296
3297
Изменения в nginx 0.6.10                                          03.09.2007
3298
3299
    *) Добавление: директивы open_file_cache, open_file_cache_retest и
3300
       open_file_cache_errors.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3301
3302
    *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3303
3304
    *) Исправление: В строку заголовка ответа "Content-Type", указанную в
3305
       методе $r->send_http_header(), не добавлялась кодировка, указанная в
3306
       директиве charset.
3307
3308
    *) Исправление: при использовании метода /dev/poll в рабочем процессе
3309
       мог произойти segmentation fault.
3310
3311
3312
Изменения в nginx 0.6.9                                           28.08.2007
3313
3314
    *) Исправление: рабочий процесс мог зациклиться при использовании
3315
       протокола HTTPS; ошибка появилась в 0.6.7.
3316
3317
    *) Исправление: если сервер слушал на двух адресах или портах, то nginx
3318
       не запускался при использовании wildcard в конце имени сервера.
3319
3320
    *) Исправление: директива ip_hash могла неверно помечать сервера как
3321
       нерабочие.
3322
3323
    *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
3324
3325
3326
Изменения в nginx 0.6.8                                           20.08.2007
3327
3328
    *) Изменение: теперь nginx пытается установить директивы
3329
       worker_priority, worker_rlimit_nofile, worker_rlimit_core,
3330
       worker_rlimit_sigpending без привилегий root'а.
3331
3332
    *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
3333
       запроса серверу аутентификации почтового прокси-сервера.
3334
3335
    *) Изменение: теперь nginx экранирует символ "%" в переменной
3336
       $memcached_key.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3337
3338
    *) Исправление: при указании относительного пути к конфигурационному
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3339
       файлу в качестве параметра ключа -c nginx определял путь относительно
3340
       конфигурационного префикса; ошибка появилась в 0.6.6.
3341
3342
    *) Исправление: nginx не работал на FreeBSD/sparc64.
3343
3344
3345
Изменения в nginx 0.6.7                                           15.08.2007
3346
3347
    *) Изменение: теперь пути, указанные в директивах include,
3348
       auth_basic_user_file, perl_modules, ssl_certificate,
3349
       ssl_certificate_key и ssl_client_certificate, определяются
3350
       относительно каталога конфигурационного файла nginx.conf, а не
3351
       относительно префикса.
3352
3353
    *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
3354
3355
    *) Изменение: для обновления на лету версий 0.1.x создан специальный
3356
       сценарий make upgrade1.
3357
3358
    *) Добавление: директивы server_name и valid_referers поддерживают
3359
       регулярные выражения.
3360
3361
    *) Добавление: директива server в блоке upstream поддерживает параметр
3362
       backup.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3363
3364
    *) Добавление: модуль ngx_http_perl_module поддерживает метод
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3365
       $r->discard_request_body.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3366
3367
    *) Добавление: директива "add_header Last-Modified ..." меняет строку
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3368
       "Last-Modified" в заголовке ответа.
3369
3370
    *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
3371
       отличным от 200, и после этого запроса соединение переходило в
3372
       состояние keep-alive, то на следующий запрос nginx возвращал 400.
3373
3374
    *) Исправление: если в директиве auth_http был задан неправильный адрес,
3375
       то в рабочем процессе происходил segmentation fault.
3376
3377
    *) Исправление: теперь по умолчанию nginx использует значение 511 для
3378
       listen backlog на всех платформах, кроме FreeBSD.
3379
       Спасибо Jiang Hong.
3380
3381
    *) Исправление: рабочий процесс мог зациклиться, если server в блоке
3382
       upstream был помечен как down; ошибка появилась в 0.6.6.
3383
3384
    *) Исправление: sendfilev() в Solaris теперь не используется при
3385
       передаче тела запроса FastCGI-серверу через unix domain сокет.
3386
3387
3388
Изменения в nginx 0.6.6                                           30.07.2007
3389
3390
    *) Добавление: параметр --sysconfdir=PATH в configure.
3391
3392
    *) Добавление: именованные location'ы.
3393
3394
    *) Добавление: переменную $args можно устанавливать с помощью set.
3395
3396
    *) Добавление: переменная $is_args.
3397
3398
    *) Исправление: равномерное распределение запросов к апстримам с
3399
       большими весами.
3400
3401
    *) Исправление: если клиент в почтовом прокси-сервере закрывал
3402
       соединение, то nginx мог не закрывать соединение с бэкендом.
3403
3404
    *) Исправление: при использовании одного хоста в качестве бэкендов для
3405
       протоколов HTTP и HTTPS без явного указания портов, nginx использовал
3406
       только один порт - 80 или 443.
3407
3408
    *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
3409
       более ранними версиями; ошибка появилась в 0.6.4.
3410
3411
3412
Изменения в nginx 0.6.5                                           23.07.2007
3413
3414
    *) Добавление: переменная $nginx_version.
3415
       Спасибо Николаю Гречуху.
3416
3417
    *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
3418
       IMAP.
3419
       Спасибо Максиму Дунину.
3420
3421
    *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
3422
       SMTP.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3423
       Спасибо Максиму Дунину.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3424
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3425
    *) Исправление: теперь nginx экранирует пробел в переменной
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3426
       $memcached_key.
1.1.7 by Fabio Tranchitella
Import upstream version 0.6.31
3427
3428
    *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3429
       Спасибо Jiang Hong.
3430
3431
    *) Исправление: незначительных потенциальных ошибок.
3432
       Спасибо Coverity's Scan.
3433
3434
3435
Изменения в nginx 0.6.4                                           17.07.2007
3436
3437
    *) Безопасность: при использовании директивы msie_refresh был возможен
3438
       XSS.
1.1.5 by Jose Parrella
Import upstream version 0.5.33
3439
       Спасибо Максиму Богуку.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3440
3441
    *) Изменение: директивы proxy_store и fastcgi_store изменены.
3442
3443
    *) Добавление: директивы proxy_store_access и fastcgi_store_access.
3444
3445
    *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3446
       Studio.
3447
       Спасибо Андрею Нигматулину.
3448
3449
    *) Изменение: обход ошибки в Sun Studio 12.
3450
       Спасибо Jiang Hong.
3451
3452
3453
Изменения в nginx 0.6.3                                           12.07.2007
3454
3455
    *) Добавление: директивы proxy_store и fastcgi_store.
3456
3457
    *) Исправление: при использовании директивы auth_http_header в рабочем
3458
       процессе мог произойти segmentation fault.
3459
       Спасибо Максиму Дунину.
3460
3461
    *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
3462
       не был разрешён, то в рабочем процессе происходил segmentation fault.
3463
3464
    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
3465
       в рабочем процессе мог произойти segmentation fault.
3466
3467
    *) Исправление: в рабочем процессе мог произойти segmentation fault,
3468
       если использовался метод eventport.
3469
3470
    *) Исправление: директивы proxy_ignore_client_abort и
3471
       fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
3472
3473
3474
Изменения в nginx 0.6.2                                           09.07.2007
3475
3476
    *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
3477
       nginx передавал клиенту мусор в таких заголовках.
3478
3479
3480
Изменения в nginx 0.6.1                                           17.06.2007
3481
3482
    *) Исправление: в парсинге SSI.
3483
3484
    *) Исправление: при использовании удалённого подзапроса в SSI
3485
       последующий подзапрос локального файла мог отдаваться клиенту в
3486
       неверном порядке.
3487
3488
    *) Исправление: большие включения в SSI, сохранённые во временные файлы,
3489
       передавались не полностью.
3490
3491
    *) Исправление: значение perl'овой переменной $$ модуля
3492
       ngx_http_perl_module было равно номеру главного процесса.
3493
3494
3495
Изменения в nginx 0.6.0                                           14.06.2007
3496
3497
    *) Добавление: директивы "server_name", "map", and "valid_referers"
3498
       поддерживают маски вида "www.example.*".
3499
3500
3501
Изменения в nginx 0.5.25                                          11.06.2007
3502
3503
    *) Исправление: nginx не собирался с параметром
3504
       --without-http_rewrite_module; ошибка появилась в 0.5.24.
3505
3506
3507
Изменения в nginx 0.5.24                                          06.06.2007
3508
3509
    *) Безопасность: директива ssl_verify_client не работала, если запрос
3510
       выполнялся по протоколу HTTP/0.9.
3511
3512
    *) Исправление: при использовании сжатия часть ответа могла передаваться
3513
       несжатой; ошибка появилась в 0.5.23.
3514
3515
3516
Изменения в nginx 0.5.23                                          04.06.2007
3517
3518
    *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
3519
       Server Name Indication.
1.1.4 by Miguel Ruiz
Import upstream version 0.5.26
3520
3521
    *) Добавление: директива fastcgi_catch_stderr.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3522
       Спасибо Николаю Гречуху, проект OWOX.
3523
3524
    *) Исправление: на Линуксе в основном процессе происходил segmentation
3525
       fault, если два виртуальных сервера должны bind()ится к
3526
       пересекающимся портам.
3527
3528
    *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3529
       perl поддерживал потоки, то во время второй переконфигурации
3530
       выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
3531
3532
    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3533
3534
3535
Изменения в nginx 0.5.22                                          29.05.2007
3536
3537
    *) Исправление: большое тело запроса могло не передаваться бэкенду;
3538
       ошибка появилась в 0.5.21.
3539
3540
3541
Изменения в nginx 0.5.21                                          28.05.2007
3542
3543
    *) Исправление: если внутри сервера описано больше примерно десяти
3544
       location'ов, то location'ы, заданные с помощью регулярного выражения,
3545
       могли выполняться не в том, порядке, в каком они описаны.
3546
3547
    *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
3548
       если 33-тий по счёту или последующий бэкенд упал.
3549
       Спасибо Антону Поварову.
3550
3551
    *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
3552
       произойти bus error.
3553
       Спасибо Андрею Нигматулину.
3554
3555
    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3556
3557
3558
Изменения в nginx 0.5.20                                          07.05.2007
3559
3560
    *) Добавление: директива sendfile_max_chunk.
3561
3562
    *) Добавление: переменные "$http_...", "$sent_http_..." и
3563
       "$upstream_http_..." можно менять директивой set.
3564
3565
    *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
3566
       рабочем процессе мог произойти segmentation fault.
3567
3568
    *) Исправление: завершающая строка multipart range ответа передавалась
3569
       неверно.
3570
       Спасибо Evan Miller.
3571
3572
    *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3573
       Studio.
3574
       Спасибо Андрею Нигматулину.
3575
3576
    *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
3577
       Спасибо Андрею Нигматулину.
3578
3579
3580
Изменения в nginx 0.5.19                                          24.04.2007
3581
3582
    *) Изменение: значение переменной $request_time теперь записывается с
3583
       точностью до миллисекунд.
3584
3585
    *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
3586
       переименован в $r->flush.
3587
3588
    *) Добавление: переменная $upstream_addr.
3589
3590
    *) Добавление: директивы proxy_headers_hash_max_size и
3591
       proxy_headers_hash_bucket_size.
1.1.4 by Miguel Ruiz
Import upstream version 0.5.26
3592
       Спасибо Володымыру Костырко.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3593
3594
    *) Исправление: при использовании sendfile и limit_rate на 64-битных
3595
       платформах нельзя было передавать файлы больше 2G.
3596
3597
    *) Исправление: при использовании sendfile на 64-битном Linux нельзя
3598
       было передавать файлы больше 2G.
3599
3600
3601
Изменения в nginx 0.5.18                                          19.04.2007
3602
3603
    *) Добавление: модуль ngx_http_sub_filter_module.
3604
3605
    *) Добавление: переменные "$upstream_http_...".
3606
3607
    *) Добавление: теперь переменные $upstream_status и
3608
       $upstream_response_time содержат данные о всех обращениях к
3609
       апстримам, сделанным до X-Accel-Redirect.
3610
3611
    *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3612
       perl не поддерживал multiplicity, то после первой переконфигурации и
3613
       после получения любого сигнала в основном процессе происходил
3614
       segmentation fault; ошибка появилась в 0.5.9.
3615
3616
    *) Исправление: если perl не поддерживал multiplicity, то после
3617
       переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
3618
3619
3620
Изменения в nginx 0.5.17                                          02.04.2007
3621
3622
    *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
3623
3624
    *) Добавление: теперь nginx поддерживает директиву include внутри блока
3625
       types.
1.1.3 by Jose Parrella
Import upstream version 0.5.18
3626
3627
    *) Исправление: использование переменной $document_root в директиве root
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3628
       и alias запрещено: оно вызывало рекурсивное переполнение стека.
3629
3630
    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3631
3632
    *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
3633
       $uri) возвращали старое закэшированное значение.
3634
3635
3636
Изменения в nginx 0.5.16                                          26.03.2007
3637
3638
    *) Исправление: в качестве ключа для хэша в директиве ip_hash не
3639
       использовалась сеть класса С.
3640
       Спасибо Павлу Ярковому.
3641
3642
    *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
3643
       был указан charset и строка завершалась символом ";", то в рабочем
3644
       процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
3645
3646
    *) Исправление: ошибки "[alert] zero size buf" при работе с
3647
       FastCGI-сервером, если тело запроса, записанное во временный файл,
3648
       было кратно 32K.
3649
3650
    *) Исправление: nginx не собирался на Solaris без параметра
3651
       --with-debug; ошибка появилась в 0.5.15.
3652
3653
3654
Изменения в nginx 0.5.15                                          19.03.2007
3655
3656
    *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
3657
       SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
3658
       Спасибо Антону Южанинову и Максиму Дунину.
3659
3660
    *) Добавление: теперь keep-alive соединения закрываются сразу же по
3661
       получении сигнала переконфигурации.
3662
3663
    *) Изменение: директивы imap и auth переименованы соответственно в mail
3664
       и pop3_auth.
3665
3666
    *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
3667
       был разрешён метод APOP, то в рабочем процессе происходил
3668
       segmentation fault.
1.1.3 by Jose Parrella
Import upstream version 0.5.18
3669
3670
    *) Исправление: при использовании директивы starttls only в протоколе
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3671
       POP3 nginx разрешал аутентификацию без перехода в режим SSL.
3672
3673
    *) Исправление: рабочие процессы не выходили после переконфигурации и не
3674
       переоткрывали логи, если использовался метод eventport.
3675
3676
    *) Исправление: при использовании директивы ip_hash рабочий процесс мог
3677
       зациклиться.
3678
3679
    *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
3680
       используются методы eventport или /dev/poll.
3681
3682
3683
Изменения в nginx 0.5.14                                          23.02.2007
3684
3685
    *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
3686
       конфигурационного файла.
3687
3688
3689
Изменения в nginx 0.5.13                                          19.02.2007
3690
3691
    *) Добавление: методы COPY и MOVE.
3692
3693
    *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
3694
       запросов, переданных по keep-alive соединению.
3695
3696
    *) Исправление: nginx не работал на 64-битном big-endian Linux.
3697
       Спасибо Андрею Нигматулину.
3698
3699
    *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
3700
       теперь сразу закрывает соединение, а не по таймауту.
3701
3702
    *) Исправление: если при использовании метода epoll клиент закрывал
3703
       преждевременно соединение со своей стороны, то nginx закрывал это
3704
       соединение только по истечении таймаута на передачу.
3705
3706
    *) Исправление: nginx не собирался на платформах, отличных от i386,
3707
       amd64, sparc и ppc; ошибка появилась в 0.5.8.
3708
3709
3710
Изменения в nginx 0.5.12                                          12.02.2007
3711
3712
    *) Исправление: nginx не собирался на платформах, отличных от i386,
3713
       amd64, sparc и ppc; ошибка появилась в 0.5.8.
3714
3715
    *) Исправление: при использовании временных файлов в время работы с
3716
       FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
3717
       ошибка появилась в 0.5.8.
3718
3719
    *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
3720
       то в рабочем процессе мог произойти segmentation fault.
3721
3722
    *) Исправление: ngx_http_perl_module не собирался на Solaris.
3723
3724
3725
Изменения в nginx 0.5.11                                          05.02.2007
3726
3727
    *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
3728
       Спасибо Chris McGrath.
3729
3730
    *) Исправление: ответ был неверным, если запрашивалось несколько
3731
       диапазонов; ошибка появилась в 0.5.6.
3732
3733
    *) Исправление: директива create_full_put_path не могла создавать
3734
       промежуточные каталоги, если не была установлена директива
3735
       dav_access.
1.1.2 by Jose Parrella
Import upstream version 0.5.13
3736
       Спасибо Evan Miller.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3737
3738
    *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
3739
       записываться код "0".
3740
3741
    *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3742
       произойти segmentation fault.
3743
3744
3745
Изменения в nginx 0.5.10                                          26.01.2007
3746
3747
    *) Исправление: во время обновления исполняемого файла новый процесс не
3748
       наследовал слушающие сокеты; ошибка появилась в 0.5.9.
3749
3750
    *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3751
       произойти segmentation fault; ошибка появилась в 0.5.1.
3752
3753
3754
Изменения в nginx 0.5.9                                           25.01.2007
3755
3756
    *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
3757
       использует значение переменной $memcached_key.
3758
3759
    *) Добавление: переменная $memcached_key.
3760
3761
    *) Добавление: параметр clean в директиве client_body_in_file_only.
3762
3763
    *) Добавление: директива env.
3764
3765
    *) Добавление: директива sendfile работает внутри блока if.
3766
3767
    *) Добавление: теперь при ошибке записи в access_log nginx записывает
3768
       сообщение в error_log, но не чаще одного раза в минуту.
3769
3770
    *) Исправление: директива "access_log off" не всегда запрещала запись в
3771
       лог.
3772
3773
3774
Изменения в nginx 0.5.8                                           19.01.2007
3775
3776
    *) Исправление: если использовалась директива
3777
       "client_body_in_file_only on" и тело запроса было небольшое, то мог
3778
       произойти segmentation fault.
3779
3780
    *) Исправление: происходил segmentation fault, если использовались
3781
       директивы "client_body_in_file_only on" и
3782
       "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
3783
       делался переход к следующему бэкенду.
3784
3785
    *) Исправление: если при использовании директивы "proxy_buffering off"
3786
       соединение с клиентом было неактивно, то оно закрывалось по таймауту,
3787
       заданному директивой send_timeout; ошибка появилась в 0.4.7.
3788
3789
    *) Исправление: если при использовании метода epoll клиент закрывал
3790
       преждевременно соединение со своей стороны, то nginx закрывал это
3791
       соединение только по истечении таймаута на передачу.
3792
3793
    *) Исправление: ошибки "[alert] zero size buf" при работе с
3794
       FastCGI-сервером.
3795
3796
    *) Исправление ошибок в директиве limit_zone.
3797
3798
3799
Изменения в nginx 0.5.7                                           15.01.2007
3800
3801
    *) Добавление: оптимизация использования памяти в ssl_session_cache.
3802
3803
    *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
3804
3805
    *) Исправление: на старте или во время переконфигурации происходил
3806
       segmentation fault, если директивы ssl_session_cache или limit_zone
3807
       использовались на 64-битных платформах.
3808
3809
    *) Исправление: при использовании директив add_before_body или
3810
       add_after_body происходил segmentation fault, если в заголовке ответа
3811
       нет строки "Content-Type".
3812
3813
    *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
3814
       потоков.
3815
       Спасибо Дену Иванову.
3816
3817
    *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
3818
3819
3820
Изменения в nginx 0.5.6                                           09.01.2007
3821
3822
    *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
3823
       кроме GET, HEAD и POST.
3824
3825
    *) Добавление: модуль ngx_http_limit_zone_module.
3826
3827
    *) Добавление: переменная $binary_remote_addr.
3828
3829
    *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
3830
       ngx_imap_ssl_module.
3831
3832
    *) Добавление: метод DELETE поддерживает рекурсивное удаление.
3833
3834
    *) Исправление: при использовании $r->sendfile() byte-ranges
3835
       передавались неверно.
3836
3837
3838
Изменения в nginx 0.5.5                                           24.12.2006
3839
3840
    *) Изменение: ключ -v больше не выводит информацию о компиляторе.
3841
3842
    *) Добавление: ключ -V.
3843
3844
    *) Добавление: директива worker_rlimit_core поддерживает указание
3845
       размера в K, M и G.
3846
3847
    *) Исправление: модуль nginx.pm теперь может устанавливаться
3848
       непривилегированным пользователем.
3849
3850
    *) Исправление: при использовании методов $r->request_body или
3851
       $r->request_body_file мог произойти segmentation fault.
3852
3853
    *) Исправление: ошибок, специфичных для платформы ppc.
3854
3855
3856
Изменения в nginx 0.5.4                                           15.12.2006
3857
3858
    *) Добавление: директиву perl можно использовать внутри блока
3859
       limit_except.
1.1.2 by Jose Parrella
Import upstream version 0.5.13
3860
3861
    *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3862
       заголовке запроса для метода DELETE.
3863
3864
    *) Исправление: при использовании одного параметра в директиве
3865
       dav_access nginx мог сообщить об ошибке в конфигурации.
3866
3867
    *) Исправление: при использовании переменной $host мог произойти
3868
       segmentation fault; ошибка появилась в 0.4.14.
3869
3870
3871
Изменения в nginx 0.5.3                                           13.12.2006
3872
3873
    *) Добавление: модуль ngx_http_perl_module поддерживает методы
3874
       $r->status, $r->log_error и $r->sleep.
3875
3876
    *) Добавление: метод $r->variable поддерживает переменные, неописанные в
3877
       конфигурации nginx'а.
3878
3879
    *) Исправление: метод $r->has_request_body не работал.
3880
3881
3882
Изменения в nginx 0.5.2                                           11.12.2006
3883
3884
    *) Исправление: если в директивах proxy_pass использовалось имя,
3885
       указанное в upstream, то nginx пытался найти IP-адрес этого имени;
3886
       ошибка появилась в 0.5.1.
3887
3888
3889
Изменения в nginx 0.5.1                                           11.12.2006
3890
3891
    *) Исправление: директива post_action могла не работать после неудачного
3892
       завершения запроса.
3893
3894
    *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
3895
       Спасибо Bron Gondwana.
3896
3897
    *) Исправление: при указании в директиве fastcgi_pass имени описанного
3898
       upstream'а выдавалось сообщение "no port in upstream"; ошибка
3899
       появилась в 0.5.0.
3900
3901
    *) Исправление: если в директивах proxy_pass и fastcgi_pass
3902
       использовались одинаковых имена серверов, но с разными портами, то
3903
       эти директивы использовали первый описанный порт; ошибка появилась в
3904
       0.5.0.
1.1.2 by Jose Parrella
Import upstream version 0.5.13
3905
3906
    *) Исправление: если в директивах proxy_pass и fastcgi_pass
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3907
       использовались unix domain сокеты, то эти директивы использовали
3908
       первый описанный сокет; ошибка появилась в 0.5.0.
3909
3910
    *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
3911
       если он был указан в последней строке файла паролей и после пароля не
3912
       было перевода строки, возврата каретки или символа ":".
3913
3914
    *) Исправление: переменная $upstream_response_time могла быть равна
3915
       "0.000", хотя время обработки было больше 1 миллисекунды.
3916
3917
3918
Изменения в nginx 0.5.0                                           04.12.2006
3919
3920
    *) Изменение: параметры в виде "%name" в директиве log_format больше не
3921
       поддерживаются.
3922
3923
    *) Изменение: директивы proxy_upstream_max_fails,
3924
       proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
3925
       fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
3926
       memcached_upstream_fail_timeout больше не поддерживаются.
3927
3928
    *) Добавление: директива server в блоке upstream поддерживает параметры
3929
       max_fails, fail_timeout и down.
3930
3931
    *) Добавление: директива ip_hash в блоке upstream.
3932
3933
    *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
3934
       сервера аутентификации IMAP/POP3 прокси.
3935
3936
    *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3937
       появилась в 0.4.14.
3938
3939
3940
Изменения в nginx 0.4.14                                          27.11.2006
3941
3942
    *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
3943
3944
    *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
3945
       Linux и NetBSD.
3946
3947
    *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
3948
       поддержкой потоков; ошибка появилась в 0.3.38.
3949
3950
    *) Исправление: ngx_http_perl_module не работал корректно, если перл
3951
       вызывался рекурсивно.
3952
3953
    *) Исправление: nginx игнорировал имя сервера в строке запроса.
3954
3955
    *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
3956
       процесс мог зациклиться.
3957
3958
    *) Исправление: при изменении системного времени переменная
3959
       $upstream_response_time могла быть отрицательной.
3960
3961
    *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
3962
       прокси не передавался параметр Auth-Login-Attempt.
3963
3964
    *) Исправление: при ошибке соединения с сервером аутентификации
3965
       IMAP/POP3 прокси мог произойти segmentation fault.
3966
3967
3968
Изменения в nginx 0.4.13                                          15.11.2006
3969
3970
    *) Добавление: директиву proxy_pass можно использовать внутри блока
3971
       limit_except.
1.1.2 by Jose Parrella
Import upstream version 0.5.13
3972
1.1.1 by Jose Parrella
Import upstream version 0.4.13
3973
    *) Добавление: директива limit_except поддерживает все WebDAV методы.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
3974
3975
    *) Исправление: при использовании директивы add_before_body без
3976
       директивы add_after_body ответ передавался не полностью.
3977
3978
    *) Исправление: большое тело запроса не принималось, если использовались
3979
       метод epoll и deferred accept().
3980
3981
    *) Исправление: для ответов модуля ngx_http_autoindex_module не
3982
       выставлялась кодировка; ошибка появилась в 0.3.50.
3983
3984
    *) Исправление: ошибки "[alert] zero size buf" при работе с
3985
       FastCGI-сервером;
3986
3987
    *) Исправление: параметр конфигурации --group= игнорировался.
3988
       Спасибо Thomas Moschny.
3989
3990
    *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
3991
       в 0.3.50.
3992
3993
3994
Изменения в nginx 0.4.12                                          31.10.2006
3995
3996
    *) Добавление: модуль ngx_http_perl_module поддерживает метод
3997
       $r->variable.
1 by Jose Parrella
Import upstream version 0.4.12
3998
3999
    *) Исправление: при включении в ответ большого статического файла с
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4000
       помощью SSI ответ мог передаваться не полностью.
4001
4002
    *) Исправление: nginx не убирал "#fragment" в URI.
4003
4004
4005
Изменения в nginx 0.4.11                                          25.10.2006
4006
4007
    *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
4008
4009
    *) Добавление: модуль ngx_http_perl_module поддерживает метод
4010
       $r->allow_ranges.
1 by Jose Parrella
Import upstream version 0.4.12
4011
4012
    *) Исправление: при включённой поддержке команды APOP в POP3 прокси
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4013
       могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
4014
4015
4016
Изменения в nginx 0.4.10                                          23.10.2006
4017
4018
    *) Добавление: POP3 прокси поддерживает APOP.
4019
4020
    *) Исправление: при использовании методов select, poll и /dev/poll во
4021
       время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
4022
       нагружал процессор.
4023
4024
    *) Исправление: при использовании переменной $server_addr в директиве
4025
       map мог произойти segmentation fault.
4026
4027
    *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
4028
       для полных ответов; ошибка появилась в 0.4.7.
4029
4030
    *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
4031
       0.4.9.
1 by Jose Parrella
Import upstream version 0.4.12
4032
4033
4034
Изменения в nginx 0.4.9                                           13.10.2006
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4035
4036
    *) Добавление: параметр set в команде SSI include.
4037
4038
    *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
4039
       модуля nginx.pm.
4040
4041
4042
Изменения в nginx 0.4.8                                           11.10.2006
4043
4044
    *) Исправление: если до команды SSI include с параметром wait
4045
       выполнялась ещё одна команда SSI include, то параметр wait мог не
4046
       работать.
4047
4048
    *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
4049
       полных ответов.
4050
       Спасибо Алексею Ковырину.
4051
4052
4053
Изменения в nginx 0.4.7                                           10.10.2006
4054
4055
    *) Добавление: модуль ngx_http_flv_module.
4056
4057
    *) Добавление: переменная $request_body_file.
4058
4059
    *) Добавление: директивы charset и source_charset поддерживают
4060
       переменные.
4061
4062
    *) Исправление: если до команды SSI include с параметром wait
4063
       выполнялась ещё одна команда SSI include, то параметр wait мог не
4064
       работать.
4065
4066
    *) Исправление: при использовании директивы "proxy_buffering off" или
4067
       при работе с memcached соединения могли не закрываться по таймауту.
4068
4069
    *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4070
       amd64, sparc64 и ppc64.
4071
4072
4073
Изменения в nginx 0.4.6                                           06.10.2006
4074
4075
    *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4076
       amd64, sparc64 и ppc64.
4077
4078
    *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
4079
       chunk'ами, если длина ответа в методе
4080
       $r->headers_out("Content-Length", ...) была задана текстовой строкой.
4081
4082
    *) Исправление: после перенаправления ошибки с помощью директивы
4083
       error_page любая директива модуля ngx_http_rewrite_module возвращала
4084
       эту ошибку; ошибка появилась в 0.4.4.
4085
4086
4087
Изменения в nginx 0.4.5                                           02.10.2006
4088
4089
    *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4090
       в 0.4.4.
4091
4092
4093
Изменения в nginx 0.4.4                                           02.10.2006
4094
4095
    *) Добавление: переменная $scheme.
4096
4097
    *) Добавление: директива expires поддерживает параметр max.
4098
4099
    *) Добавление: директива include поддерживает маску "*".
4100
       Спасибо Jonathan Dance.
4101
4102
    *) Исправление: директива return всегда изменяла код ответа,
4103
       перенаправленного директивой error_page.
4104
4105
    *) Исправление: происходил segmentation fault, если в методе PUT
4106
       передавалось тело нулевой длины.
4107
4108
    *) Исправление: при использовании переменных в директиве proxy_redirect
4109
       редирект изменялся неверно.
4110
4111
4112
Изменения в nginx 0.4.3                                           26.09.2006
4113
4114
    *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
4115
       error_page.
4116
4117
    *) Добавление: поддержка Solaris 10 event ports.
4118
4119
    *) Добавление: модуль ngx_http_browser_module.
4120
4121
    *) Исправление: при перенаправлении ошибки 400 проксированному серверу
4122
       помощью директивы error_page мог произойти segmentation fault.
4123
4124
    *) Исправление: происходил segmentation fault, если в директиве
4125
       proxy_pass использовался unix domain сокет; ошибка появилась в
4126
       0.3.47.
1 by Jose Parrella
Import upstream version 0.4.12
4127
4128
    *) Исправление: SSI не работал с ответами memcached и
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4129
       небуферизированными проксированными ответами.
4130
4131
    *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
4132
4133
4134
Изменения в nginx 0.4.2                                           14.09.2006
4135
4136
    *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
4137
       появилась в 0.4.1.
4138
4139
4140
Изменения в nginx 0.4.1                                           14.09.2006
4141
4142
    *) Исправление: совместимость с DragonFlyBSD.
4143
       Спасибо Павлу Назарову.
4144
4145
    *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
4146
       файлов больше 2G.
4147
4148
    *) Добавление: теперь на Linux nginx для статических запросов использует
4149
       флаг O_NOATIME.
4150
       Спасибо Yusuf Goolamabbas.
4151
4152
4153
Изменения в nginx 0.4.0                                           30.08.2006
4154
4155
    *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
4156
       фазы init module в фазу HTTP postconfiguration.
4157
4158
    *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
4159
       считывается заранее: нужно явно инициировать чтение с помощью метода
4160
       $r->has_request_body.
1 by Jose Parrella
Import upstream version 0.4.12
4161
4162
    *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4163
       DECLINED.
1 by Jose Parrella
Import upstream version 0.4.12
4164
4165
    *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4166
       заголовка "Date" для метода PUT.
4167
4168
    *) Добавление: директива ssi работает внутри блока if.
4169
4170
    *) Исправление: происходил segmentation fault, если в директиве index
4171
       использовалась переменные и при этом первое имя индексного файла было
4172
       без переменных; ошибка появилась в 0.1.29.
4173
4174
4175
Изменения в nginx 0.3.61                                          28.08.2006
4176
4177
    *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
4178
4179
    *) Добавление: директива msie_refresh.
4180
4181
    *) Добавление: директива recursive_error_pages.
4182
4183
    *) Исправление: директива rewrite возвращала неправильный редирект, если
4184
       редирект включал в себя выделенные закодированные символы из
4185
       оригинального URI.
4186
4187
4188
Изменения в nginx 0.3.60                                          18.08.2006
4189
4190
    *) Исправление: во время перенаправления ошибки рабочий процесс мог
4191
       зациклиться; ошибка появилась в 0.3.59.
4192
4193
4194
Изменения в nginx 0.3.59                                          16.08.2006
4195
4196
    *) Добавление: теперь можно делать несколько перенаправлений через
4197
       директиву error_page.
4198
4199
    *) Исправление: директива dav_access не поддерживала три параметра.
4200
4201
    *) Исправление: директива error_page не изменяла строку "Content-Type"
4202
       после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
4203
       в 0.3.58.
4204
4205
4206
Изменения в nginx 0.3.58                                          14.08.2006
4207
4208
    *) Добавление: директива error_page поддерживает переменные.
4209
4210
    *) Изменение: теперь на Linux используется интерфейс procfs вместо
4211
       sysctl.
1 by Jose Parrella
Import upstream version 0.4.12
4212
4213
    *) Изменение: теперь при использовании "X-Accel-Redirect" строка
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4214
       "Content-Type" наследуется из первоначального ответа.
4215
4216
    *) Исправление: директива error_page не перенаправляла ошибку 413.
4217
4218
    *) Исправление: завершающий "?" не удалял старые аргументы, если в
4219
       переписанном URI не было новых аргументов.
4220
4221
    *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
4222
4223
4224
Изменения в nginx 0.3.57                                          09.08.2006
4225
4226
    *) Добавление: переменная $ssl_client_serial.
4227
4228
    *) Исправление: в операторе "!-e" в директиве if.
4229
       Спасибо Андриану Буданцову.
4230
4231
    *) Исправление: при проверке клиентского сертификата nginx не передавал
4232
       клиенту информацию о требуемых сертификатах.
4233
4234
    *) Исправление: переменная $document_root не поддерживала переменные в
4235
       директиве root.
4236
4237
4238
Изменения в nginx 0.3.56                                          04.08.2006
4239
4240
    *) Добавление: директива dav_access.
4241
4242
    *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
4243
       "!-e", "-x" и "!-x".
4244
4245
    *) Исправление: при записи в access_log некоторых передаваемых клиенту
4246
       строк заголовков происходил segmentation fault, если запрос возвращал
4247
       редирект.
4248
4249
4250
Изменения в nginx 0.3.55                                          28.07.2006
4251
4252
    *) Добавление: параметр stub в команде SSI include.
4253
4254
    *) Добавление: команда SSI block.
4255
4256
    *) Добавление: скрипт unicode2nginx добавлен в contrib.
4257
4258
    *) Исправление: если root был задан только переменной, то корень
4259
       задавался относительно префикса сервера.
4260
4261
    *) Исправление: если в запросе был "//" или "/.", и после этого
4262
       закодированные символы в виде "%XX", то проксируемый запрос
4263
       передавался незакодированным.
4264
4265
    *) Исправление: метод $r->header_in("Cookie") модуля
4266
       ngx_http_perl_module теперь возвращает все строки "Cookie" в
4267
       заголовке запроса.
4268
4269
    *) Исправление: происходил segmentation fault, если использовался
4270
       "client_body_in_file_only on" и делался переход к следующему бэкенду.
4271
4272
    *) Исправление: при некоторых условиях во время переконфигурации коды
4273
       символов внутри директивы charset_map могли считаться неверными;
4274
       ошибка появилась в 0.3.50.
4275
4276
4277
Изменения в nginx 0.3.54                                          11.07.2006
4278
4279
    *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
4280
4281
    *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
4282
       memcached_next_upstream поддерживают параметр off.
4283
4284
    *) Добавление: директива debug_connection поддерживает запись адресов в
4285
       формате CIDR.
4286
4287
    *) Исправление: при перекодировании ответа проксированного сервера или
4288
       сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
4289
       полностью.
4290
4291
    *) Исправление: переменная $upstream_response_time содержала время
4292
       только первого обращения к бэкенду.
4293
4294
    *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
4295
       в 0.3.53.
4296
4297
4298
Изменения в nginx 0.3.53                                          07.07.2006
4299
4300
    *) Изменение: директива add_header добавляет строки в ответы с кодом
4301
       204, 301 и 302.
4302
4303
    *) Добавление: директива server в блоке upstream поддерживает параметр
4304
       weight.
1 by Jose Parrella
Import upstream version 0.4.12
4305
4306
    *) Добавление: директива server_name поддерживает маску "*".
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4307
4308
    *) Добавление: nginx поддерживает тело запроса больше 2G.
4309
4310
    *) Исправление: если при использовании "satisfy_any on" клиент успешно
4311
       проходил аутентификацию, в лог всё равно записало сообщение "access
4312
       forbidden by rule".
4313
4314
    *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
4315
       409.
1 by Jose Parrella
Import upstream version 0.4.12
4316
4317
    *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4318
       ошибку, nginx продолжал проксирование.
4319
4320
4321
Изменения в nginx 0.3.52                                          03.07.2006
4322
4323
    *) Изменение: восстановлено поведение модуля ngx_http_index_module для
4324
       запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
4325
       ошибку 405.
4326
4327
    *) Исправление: при использовании ограничения скорости рабочий процесс
4328
       мог зациклиться; ошибка появилась в 0.3.37.
4329
4330
    *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
4331
       "unknown charset", даже если перекодировка не требовалась; ошибка
4332
       появилась в 0.3.50.
4333
4334
    *) Исправление: если в результате запроса PUT возвращался код 409, то
4335
       временный файл не удалялся.
4336
4337
4338
Изменения в nginx 0.3.51                                          30.06.2006
4339
4340
    *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
4341
       ошибка появилась в 0.3.50.
4342
4343
4344
Изменения в nginx 0.3.50                                          28.06.2006
4345
4346
    *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
4347
       переименованы соответственно в proxy_intercept_errors и
4348
       fastcgi_intercept_errors.
1 by Jose Parrella
Import upstream version 0.4.12
4349
4350
    *) Добавление: модуль ngx_http_charset_module поддерживает
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4351
       перекодирование из однобайтных кодировок в UTF-8 и обратно.
4352
4353
    *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4354
       "X-Accel-Charset" в ответе бэкенда.
4355
4356
    *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
4357
       только если также использовался символ "$".
4358
4359
    *) Исправление: при некоторых условиях в SSI после вставки могла быть
4360
       добавлена строка "<!--".
4361
4362
    *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
4363
       то при использовании небуферизированного проксировании не закрывалось
4364
       соединение с клиентом.
4365
4366
4367
Изменения в nginx 0.3.49                                          31.05.2006
4368
4369
    *) Исправление: в директиве set.
4370
4371
    *) Исправление: при включении в ssi двух и более подзапросов,
4372
       обрабатываемых через FastCGI, вместо вывода второго и остальных
4373
       подзапросов в ответ включался вывод первого подзапроса.
4374
4375
4376
Изменения в nginx 0.3.48                                          29.05.2006
4377
4378
    *) Изменение: теперь модуль ngx_http_charset_module работает для
4379
       подзапросов, в ответах которых нет строки заголовка "Content-Type".
4380
4381
    *) Исправление: если в директиве proxy_pass не было URI, то директива
4382
       "proxy_redirect default" добавляла в переписанный редирект в начало
4383
       лишний слэш.
4384
4385
    *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
4386
       GET, теперь это делается только для редиректов, выполняемых с помощью
4387
       X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
4388
       0.3.42.
4389
4390
    *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
4391
       с поддержкой потоков; ошибка появилась в 0.3.46.
4392
4393
4394
Изменения в nginx 0.3.47                                          23.05.2006
4395
4396
    *) Добавление: директива upstream.
4397
4398
    *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
4399
       всегда убирается.
4400
4401
4402
Изменения в nginx 0.3.46                                          11.05.2006
4403
4404
    *) Добавление: директивы proxy_hide_header, proxy_pass_header,
4405
       fastcgi_hide_header и fastcgi_pass_header.
4406
4407
    *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
4408
       proxy_pass_server упразднены.
4409
4410
    *) Добавление: в режиме прокси поддерживается строка заголовка
4411
       "X-Accel-Buffering" в ответе бэкенда.
4412
4413
    *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
4414
       ngx_http_perl_module.
1 by Jose Parrella
Import upstream version 0.4.12
4415
4416
4417
Изменения в nginx 0.3.45                                          06.05.2006
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4418
1 by Jose Parrella
Import upstream version 0.4.12
4419
    *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4420
       ssl_client_certificate.
1 by Jose Parrella
Import upstream version 0.4.12
4421
4422
    *) Изменение: теперь переменная $request_method возвращает метод только
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4423
       основного запроса.
4424
1 by Jose Parrella
Import upstream version 0.4.12
4425
    *) Изменение: в таблице перекодировки koi-win изменены коды символа
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4426
       &deg;.
1 by Jose Parrella
Import upstream version 0.4.12
4427
4428
    *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4429
       номера.
4430
4431
    *) Исправление: если nginx распределял запросы на несколько машин, то
4432
       при падении одной из них запросы, предназначенные для этой машины,
4433
       перенаправлялись только на одну машину вместо того, чтобы равномерно
4434
       распределяться между остальными.
4435
4436
4437
Изменения в nginx 0.3.44                                          04.05.2006
4438
4439
    *) Добавление: параметр wait в команде SSI include.
4440
4441
    *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
4442
       белорусские символы.
4443
4444
    *) Исправление: в SSI.
4445
4446
4447
Изменения в nginx 0.3.43                                          26.04.2006
4448
4449
    *) Исправление: в SSI.
4450
4451
4452
Изменения в nginx 0.3.42                                          26.04.2006
4453
4454
    *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
4455
4456
    *) Исправление: ошибки при использовании в директиве rewrite одного и
4457
       того же выделения более одного раза.
4458
4459
    *) Исправление: в лог не записывались переменные
4460
       $sent_http_content_type, $sent_http_content_length,
4461
       $sent_http_last_modified, $sent_http_connection,
4462
       $sent_http_keep_alive и $sent_http_transfer_encoding.
4463
4464
    *) Исправление: переменная $sent_http_cache_control возвращала
4465
       содержимое только одной строки "Cache-Control" в заголовке ответа.
4466
4467
4468
Изменения в nginx 0.3.41                                          21.04.2006
4469
4470
    *) Добавление: ключ -v.
4471
4472
    *) Исправление: при включении в SSI удалённых подзапросов мог произойти
4473
       segmentation fault.
1 by Jose Parrella
Import upstream version 0.4.12
4474
4475
    *) Исправление: в обработке FastCGI.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4476
4477
    *) Исправление: если путь к перловым модулям не был указан с помощью
4478
       --with-perl_modules_path=PATH или директивы perl_modules, то на
4479
       старте происходил segmentation fault.
4480
4481
4482
Изменения в nginx 0.3.40                                          19.04.2006
4483
4484
    *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
4485
4486
    *) Добавление: директива create_full_put_path.
4487
4488
    *) Добавление: переменная $limit_rate.
4489
4490
4491
Изменения в nginx 0.3.39                                          17.04.2006
4492
4493
    *) Добавление: директива uninitialized_variable_warn; уровень
4494
       логгирования сообщения о неинициализированной переменной понижен с
4495
       уровня alert на warn.
4496
4497
    *) Добавление: директива override_charset.
4498
4499
    *) Изменение: при использовании неизвестной переменной в SSI-командах
4500
       echo и if expr='$name' теперь не записывается в лог сообщение о
4501
       неизвестной переменной.
4502
4503
    *) Исправление: счётчик активных соединений рос при превышении лимита
4504
       соединений, заданного директивой worker_connections; ошибка появилась
4505
       в 0.2.0.
4506
4507
    *) Исправление: при некоторых условия ограничение скорости соединения
4508
       могло не работать; ошибка появилась в 0.3.38.
4509
4510
4511
Изменения в nginx 0.3.38                                          14.04.2006
4512
4513
    *) Добавление: модуль ngx_http_dav_module.
4514
4515
    *) Изменение: оптимизация модуля ngx_http_perl_module.
4516
       Спасибо Сергею Скворцову.
4517
4518
    *) Добавление: модуль ngx_http_perl_module поддерживает метод
4519
       $r->request_body_file.
1 by Jose Parrella
Import upstream version 0.4.12
4520
4521
    *) Добавление: директива client_body_in_file_only.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4522
4523
    *) Изменение: теперь при переполнении диска nginx пытается писать
4524
       access_log'и только раз в секунду.
4525
       Спасибо Антону Южанинову и Максиму Дунину.
4526
4527
    *) Исправление: теперь директива limit_rate точнее ограничивает скорость
4528
       при значениях больше 100 Kbyte/s.
4529
       Спасибо ForJest.
4530
4531
    *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
4532
       символы "\r" и "\n" в логине и пароле в закодированном виде.
4533
       Спасибо Максиму Дунину.
4534
4535
4536
Изменения в nginx 0.3.37                                          07.04.2006
4537
4538
    *) Добавление: директива limit_except.
4539
4540
    *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
4541
       "!-f".
1 by Jose Parrella
Import upstream version 0.4.12
4542
4543
    *) Добавление: модуль ngx_http_perl_module поддерживает метод
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4544
       $r->request_body.
1 by Jose Parrella
Import upstream version 0.4.12
4545
4546
    *) Исправление: в модуле ngx_http_addition_filter_module.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4547
4548
4549
Изменения в nginx 0.3.36                                          05.04.2006
4550
4551
    *) Добавление: модуль ngx_http_addition_filter_module.
4552
4553
    *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
4554
       внутри блока if.
4555
4556
    *) Добавление: директивы proxy_ignore_client_abort и
4557
       fastcgi_ignore_client_abort.
1 by Jose Parrella
Import upstream version 0.4.12
4558
4559
    *) Добавление: переменная $request_completion.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4560
4561
    *) Добавление: модуль ngx_http_perl_module поддерживает методы
4562
       $r->request_method и $r->remote_addr.
4563
4564
    *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
4565
4566
    *) Исправление: строка "\/" в начале выражения команды if модуля
4567
       ngx_http_ssi_module воспринималась неверно.
4568
4569
    *) Исправление: в использовании регулярных выражениях в команде if
4570
       модуля ngx_http_ssi_module.
4571
4572
    *) Исправление: при задании относительного пути в директивах
4573
       client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
4574
       perl_modules использовался каталог относительно текущего каталога, а
4575
       не относительно префикса сервера.
4576
4577
4578
Изменения в nginx 0.3.35                                          22.03.2006
4579
4580
    *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
4581
       для первой директивы listen; ошибка появилась в 0.3.31.
4582
4583
    *) Исправление: в директиве proxy_pass без URI при использовании в
4584
       подзапросе.
4585
4586
4587
Изменения в nginx 0.3.34                                          21.03.2006
4588
4589
    *) Добавление: директива add_header поддерживает переменные.
4590
4591
4592
Изменения в nginx 0.3.33                                          15.03.2006
4593
4594
    *) Добавление: параметр http_503 в директивах proxy_next_upstream или
4595
       fastcgi_next_upstream.
1 by Jose Parrella
Import upstream version 0.4.12
4596
4597
    *) Исправление: ngx_http_perl_module не работал со встроенным в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4598
       конфигурационный файл кодом, если он не начинался сразу же с "sub".
4599
4600
    *) Исправление: в директиве post_action.
4601
4602
4603
Изменения в nginx 0.3.32                                          11.03.2006
4604
4605
    *) Исправление: удаление отладочного логгирования на старте и при
4606
       переконфигурации; ошибка появилась в 0.3.31.
4607
4608
4609
Изменения в nginx 0.3.31                                          10.03.2006
4610
4611
    *) Изменение: теперь nginx передаёт неверные ответы проксированного
4612
       бэкенда.
4613
4614
    *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
4615
4616
    *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
4617
4618
    *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
4619
       64-битном ядре MacOSX.
4620
       Спасибо Андрею Нигматулину.
4621
4622
    *) Исправление: если внутри одного сервера описаны несколько директив
4623
       listen, слушающих на разных адресах, то имена серверов вида
4624
       "*.domain.tld" работали только для первого адреса; ошибка появилась в
4625
       0.3.18.
4626
4627
    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4628
       не передавались запросы с телом, записанным во временный файл.
4629
4630
    *) Исправление: совместимость с perl 5.8.8.
4631
4632
4633
Изменения в nginx 0.3.30                                          22.02.2006
4634
4635
    *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
4636
       с уровня crit.
4637
4638
    *) Исправление: модуль ngx_http_perl_module не собирался без модуля
4639
       ngx_http_ssi_filter_module.
1 by Jose Parrella
Import upstream version 0.4.12
4640
4641
    *) Исправление: nginx не собирался на i386 платформе, если использовался
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4642
       PIC; ошибка появилась в 0.3.27.
4643
4644
4645
Изменения в nginx 0.3.29                                          20.02.2006
4646
4647
    *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
4648
       FastCGI передаёт большое количество предупреждений перед ответом.
4649
4650
    *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
4651
       строка заголовка "Transfer-Encoding: chunked".
4652
4653
    *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
4654
       передавал полные строки заголовка ответа в отдельных FastCGI записях.
4655
4656
    *) Исправление: если в директиве post_action был указан проксируемый
4657
       URI, то он выполнялся только после успешного завершения запроса.
4658
4659
4660
Изменения в nginx 0.3.28                                          16.02.2006
4661
4662
    *) Добавление: директива restrict_host_names упразднена.
4663
4664
    *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
4665
4666
    *) Исправление: при некоторых условиях проксированное соединение с
4667
       клиентом завершалось преждевременно.
4668
       Спасибо Владимиру Шутову.
4669
4670
    *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
4671
       запросов, перенаправленных с помощью строки "X-Accel-Redirect".
4672
4673
    *) Исправление: директива post_action работала только после успешного
4674
       завершения запроса.
4675
4676
    *) Исправление: тело проксированного ответа, создаваемого директивой
4677
       post_action, передавалось клиенту.
4678
4679
4680
Изменения в nginx 0.3.27                                          08.02.2006
4681
4682
    *) Изменение: директивы variables_hash_max_size и
4683
       variables_hash_bucket_size.
1 by Jose Parrella
Import upstream version 0.4.12
4684
4685
    *) Добавление: переменная $body_bytes_sent доступна не только в
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4686
       директиве log_format.
4687
4688
    *) Добавление: переменные $ssl_protocol и $ssl_cipher.
4689
4690
    *) Добавление: определение размера строки кэша распространённых
4691
       процессоров при старте.
4692
4693
    *) Добавление: директива accept_mutex теперь поддерживается посредством
4694
       fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
4695
4696
    *) Добавление: директива lock_file и параметр автоконфигурации
4697
       --with-lock-path=PATH.
1 by Jose Parrella
Import upstream version 0.4.12
4698
4699
    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4700
       не передавались запросы с телом.
4701
4702
4703
Изменения в nginx 0.3.26                                          03.02.2006
4704
4705
    *) Изменение: директива optimize_host_names переименована в
4706
       optimize_server_names.
1 by Jose Parrella
Import upstream version 0.4.12
4707
4708
    *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4709
       URI основного запроса, если в директиве proxy_pass отсутствовал URI.
4710
4711
4712
Изменения в nginx 0.3.25                                          01.02.2006
4713
4714
    *) Исправление: при неверной конфигурации на старте или во время
4715
       переконфигурации происходил segmentation fault; ошибка появилась в
4716
       0.3.24.
1 by Jose Parrella
Import upstream version 0.4.12
4717
4718
4719
Изменения в nginx 0.3.24                                          01.02.2006
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4720
4721
    *) Изменение: обход ошибки в kqueue во FreeBSD.
4722
4723
    *) Исправление: ответ, создаваемый директивой post_action, теперь не
4724
       передаётся клиенту.
4725
4726
    *) Исправление: при использовании большого количества лог-файлов
4727
       происходила утечка памяти.
4728
4729
    *) Исправление: внутри одного location работала только первая директива
4730
       proxy_redirect.
1 by Jose Parrella
Import upstream version 0.4.12
4731
4732
    *) Исправление: на 64-битных платформах при старте мог произойти
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4733
       segmentation fault, если использовалось большое количество имён в
4734
       директивах server_name; ошибка появилась в 0.3.18.
4735
4736
4737
Изменения в nginx 0.3.23                                          24.01.2006
4738
4739
    *) Добавление: директива optimize_host_names.
4740
4741
    *) Исправление: ошибки при использовании переменных в директивах path и
4742
       alias.
1 by Jose Parrella
Import upstream version 0.4.12
4743
4744
    *) Исправление: модуль ngx_http_perl_module неправильно собирался на
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4745
       Linux и Solaris.
4746
4747
4748
Изменения в nginx 0.3.22                                          17.01.2006
4749
4750
    *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
4751
       и $r->unescape.
4752
4753
    *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
4754
       упразднён.
4755
4756
    *) Исправление: если в директиве valid_referers указаны только none или
4757
       blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
4758
4759
4760
Изменения в nginx 0.3.21                                          16.01.2006
4761
4762
    *) Добавление: модуль ngx_http_perl_module.
4763
4764
    *) Изменение: директива valid_referers разрешает использовать рефереры
4765
       совсем без URI.
4766
4767
4768
Изменения в nginx 0.3.20                                          11.01.2006
4769
4770
    *) Исправление: ошибки в обработке SSI.
4771
4772
    *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
4773
       виде /uri?args.
4774
4775
4776
Изменения в nginx 0.3.19                                          28.12.2005
4777
4778
    *) Добавление: директивы path и alias поддерживают переменные.
4779
4780
    *) Изменение: теперь директива valid_referers опять учитывает URI.
4781
4782
    *) Исправление: ошибки в обработке SSI.
4783
4784
4785
Изменения в nginx 0.3.18                                          26.12.2005
4786
4787
    *) Добавление: директива server_names поддерживает имена вида
4788
       ".domain.tld".
1 by Jose Parrella
Import upstream version 0.4.12
4789
4790
    *) Добавление: директива server_names использует хэш для имён вида
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4791
       "*.domain.tld" и более эффективный хэш для обычных имён.
4792
1 by Jose Parrella
Import upstream version 0.4.12
4793
    *) Изменение: директивы server_names_hash_max_size и
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4794
       server_names_hash_bucket_size.
1 by Jose Parrella
Import upstream version 0.4.12
4795
4796
    *) Изменение: директивы server_names_hash и server_names_hash_threshold
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4797
       упразднены.
4798
4799
    *) Добавление: директива valid_referers использует хэш для имён сайтов.
4800
4801
    *) Изменение: теперь директива valid_referers проверяет только имена
4802
       сайтов без учёта URI.
4803
4804
    *) Исправление: некоторые имена вида ".domain.tld" неверно
4805
       обрабатывались модулем ngx_http_map_module.
4806
4807
    *) Исправление: если конфигурационного файла не было, то происходил
4808
       segmentation fault; ошибка появилась в 0.3.12.
4809
4810
    *) Исправление: на 64-битных платформах при старте мог произойти
4811
       segmentation fault; ошибка появилась в 0.3.16.
4812
4813
4814
Изменения в nginx 0.3.17                                          18.12.2005
4815
4816
    *) Изменение: на Linux configure теперь проверяет наличие epoll и
4817
       sendfile64() в ядре.
4818
4819
    *) Добавление: директива map поддерживает доменные имена в формате
4820
       ".domain.tld".
1 by Jose Parrella
Import upstream version 0.4.12
4821
4822
    *) Исправление: во время SSL handshake не иcпользовались таймауты;
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4823
       ошибка появилась в 0.2.4.
4824
4825
    *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4826
4827
    *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4828
       по умолчанию использовался порт 80.
4829
4830
4831
Изменения в nginx 0.3.16                                          16.12.2005
4832
4833
    *) Добавление: модуль ngx_http_map_module.
4834
4835
    *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
4836
4837
    *) Добавление: директива ssi_value_length.
4838
4839
    *) Добавление: директива worker_rlimit_core.
4840
4841
    *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
4842
       Pentium 4 номер соединения в логах всегда был равен 1.
4843
4844
    *) Исправление: команда config timefmt в SSI задавала неверный формат
4845
       времени.
4846
4847
    *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
4848
       использовании SSL соединений; ошибка появилась в 0.3.13.
4849
       Спасибо Rob Mueller.
4850
4851
    *) Исправление: segmentation fault мог произойти во время SSL shutdown;
4852
       ошибка появилась в 0.3.13.
4853
4854
4855
Изменения в nginx 0.3.15                                          07.12.2005
4856
4857
    *) Добавление: новой код 444 в директиве return для закрытия соединения.
4858
4859
    *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
4860
4861
    *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
4862
       соединений только при планом выходе и включённой директиве
4863
       debug_points.
4864
4865
4866
Изменения в nginx 0.3.14                                          05.12.2005
4867
4868
    *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
4869
       в 0.3.13.
4870
4871
4872
Изменения в nginx 0.3.13                                          05.12.2005
4873
4874
    *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
4875
4876
    *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
4877
       /dev/poll.
1 by Jose Parrella
Import upstream version 0.4.12
4878
4879
    *) Исправление: ошибки в обработке SSI.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4880
4881
    *) Исправление: sendfilev() в Solaris теперь не используется при
4882
       передаче тела запроса FastCGI-серверу через unix domain сокет.
4883
4884
    *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
4885
       появилась в 0.3.11.
4886
4887
4888
Изменения в nginx 0.3.12                                          26.11.2005
4889
4890
    *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
4891
       то при использовании директивы "satisfy_any on" директивы доступа и
4892
       аутентификации не работали. Модуль ngx_http_realip_module не
4893
       собирался и не собирается по умолчанию.
4894
4895
    *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
4896
4897
    *) Изменение: директивы proxy_header_buffer_size и
4898
       fastcgi_header_buffer_size переименованы соответственно в
4899
       proxy_buffer_size и fastcgi_buffer_size.
4900
4901
    *) Добавление: модуль ngx_http_memcached_module.
4902
4903
    *) Добавление: директива proxy_buffering.
4904
4905
    *) Исправление: изменение в работе с accept mutex при использовании
4906
       метода rtsig; ошибка появилась в 0.3.0.
4907
4908
    *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
4909
       в заголовке запроса, то nginx теперь выдаёт ошибку 411.
4910
4911
    *) Исправление: при наследовании директивы auth_basic с уровня http в
4912
       строке "WWW-Authenticate" заголовка ответа выводился realm без текста
4913
       "Basic realm".
4914
4915
    *) Исправление: если в директиве access_log был явно указан формат
4916
       combined, то в лог записывались пустые строки; ошибка появилась в
4917
       0.3.8.
1 by Jose Parrella
Import upstream version 0.4.12
4918
4919
    *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4920
       Solaris.
4921
4922
    *) Исправление: в директиве if теперь не нужно разделять пробелом строку
4923
       в кавычках и закрывающую скобку.
4924
4925
4926
Изменения в nginx 0.3.11                                          15.11.2005
4927
4928
    *) Исправление: nginx не передавал при проксировании тело запроса и
4929
       строки заголовка клиента; ошибка появилась в 0.3.10.
4930
4931
4932
Изменения в nginx 0.3.10                                          15.11.2005
4933
4934
    *) Изменение: директива valid_referers и переменная $invalid_referer
4935
       перенесены из модуля ngx_http_rewrite_module в новый модуль
4936
       ngx_http_referer_module.
1 by Jose Parrella
Import upstream version 0.4.12
4937
4938
    *) Изменение: имя переменной "$apache_bytes_sent" изменено на
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4939
       "$body_bytes_sent".
1 by Jose Parrella
Import upstream version 0.4.12
4940
4941
    *) Добавление: переменные "$sent_http_...".
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4942
4943
    *) Добавление: директива if поддерживает операции "=" и "!=".
4944
4945
    *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
4946
4947
    *) Добавление: директива proxy_set_body.
4948
4949
    *) Добавление: директива post_action.
4950
4951
    *) Добавление: модуль ngx_http_empty_gif_module.
4952
4953
    *) Добавление: директива worker_cpu_affinity для Linux.
4954
4955
    *) Исправление: директива rewrite не раскодировала символы в редиректах
4956
       в URI, теперь символы раскодируются, кроме символов %00-%25 и
4957
       %7F-%FF.
1 by Jose Parrella
Import upstream version 0.4.12
4958
4959
    *) Исправление: nginx не собирался компилятором icc 9.0.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4960
4961
    *) Исправление: если для статического файла нулевого размера был
4962
       разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
4963
4964
4965
Изменения в nginx 0.3.9                                           10.11.2005
4966
4967
    *) Исправление: nginx считал небезопасными URI, в которых между двумя
4968
       слэшами находилось два любых символа; ошибка появилась в 0.3.8.
4969
4970
4971
Изменения в nginx 0.3.8                                           09.11.2005
4972
4973
    *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
4974
       строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
4975
       наличие путей "/../" и нулей.
4976
4977
    *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
4978
       строке "Authorization" в заголовке запроса.
4979
4980
    *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
4981
       и ngx_imap_ssl_module.
4982
4983
    *) Добавление: директива auth_http_header модуля
4984
       ngx_imap_auth_http_module.
1 by Jose Parrella
Import upstream version 0.4.12
4985
4986
    *) Добавление: директива add_header.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
4987
4988
    *) Добавление: модуль ngx_http_realip_module.
4989
4990
    *) Добавление: новые переменные для использования в директиве
4991
       log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
4992
       $uri, $request_time, $request_length, $upstream_status,
4993
       $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
4994
       $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
4995
       упразднены.
4996
4997
    *) Изменение: в директиве "if" ложными значениями переменных теперь
4998
       являются пустая строка "" и строки, начинающиеся на "0".
4999
5000
    *) Исправление: при работает с проксированными или FastCGI-серверами
5001
       nginx мог оставлять открытыми соединения и временные файлы с
5002
       запросами клиентов.
5003
5004
    *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
5005
       плавном выходе.
5006
5007
    *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
5008
       запрос проксировался в location, заданном регулярным выражением, то
5009
       бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
5010
5011
    *) Исправление: директива expires не удаляла уже установленную строку
5012
       заголовка "Expires".
5013
5014
    *) Исправление: при использовании метода rtsig и нескольких рабочих
5015
       процессах nginx мог перестать принимать запросы.
5016
5017
    *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
5018
       "\'".
1 by Jose Parrella
Import upstream version 0.4.12
5019
5020
    *) Исправление: если ответ заканчивался сразу же после SSI команды, то
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5021
       при использовании сжатия ответ передавался не до конца или не
5022
       передавался вообще.
5023
5024
5025
Изменения в nginx 0.3.7                                           27.10.2005
5026
5027
    *) Добавление: директива access_log поддерживает параметр buffer=.
5028
5029
    *) Исправление: nginx не собирался на платформах, отличных от i386,
5030
       amd64, sparc и ppc; ошибка появилась в 0.3.2.
5031
5032
5033
Изменения в nginx 0.3.6                                           24.10.2005
5034
5035
    *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
5036
       пустой логин.
5037
5038
    *) Добавление: директива log_format поддерживает переменные в виде
5039
       $name.
1 by Jose Parrella
Import upstream version 0.4.12
5040
5041
    *) Исправление: если хотя бы в одном сервере не было описано ни одной
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5042
       директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
5043
       0.3.3.
1 by Jose Parrella
Import upstream version 0.4.12
5044
5045
    *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5046
       использовался порт 80.
5047
5048
5049
Изменения в nginx 0.3.5                                           21.10.2005
5050
5051
    *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
5052
       мог произойти segmentation fault; ошибка появилась в 0.2.2.
5053
5054
    *) Исправление: accept mutex не работал, все соединения обрабатывались
5055
       одним рабочим процессом; ошибка появилась в 0.3.3.
5056
5057
    *) Исправление: при использовании метода rtsig и директивы
5058
       timer_resolution не работали таймауты.
5059
5060
5061
Изменения в nginx 0.3.4                                           19.10.2005
5062
5063
    *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
5064
       появилась в 0.3.3.
5065
5066
5067
Изменения в nginx 0.3.3                                           19.10.2005
5068
5069
    *) Изменение: параметры "bl" и "af" директивы listen переименованы в
5070
       "backlog" и "accept_filter".
5071
5072
    *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
5073
5074
    *) Изменение: параметр лога $msec теперь не требует дополнительного
5075
       системного вызова gettimeofday().
5076
5077
    *) Добавление: ключ -t теперь проверяет директивы listen.
5078
5079
    *) Исправление: если в директиве listen был указан неверный адрес, то
5080
       nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
5081
5082
    *) Исправление: для индексных файлов, содержащих в имени переменную, мог
5083
       неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
5084
5085
    *) Добавление: директива timer_resolution.
5086
5087
    *) Добавление: параметр лога $upstream_response_time в миллисекундах.
5088
5089
    *) Исправление: временный файл с телом запроса клиента теперь удаляется
5090
       сразу после того, как клиенту передан заголовок ответа.
5091
5092
    *) Исправление: совместимость с OpenSSL 0.9.6.
5093
5094
    *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
5095
       относительными.
5096
5097
    *) Исправление: директива ssl_prefer_server_ciphers не работала для
5098
       модуля ngx_imap_ssl_module.
5099
5100
    *) Исправление: директива ssl_protocols позволяла задать только один
5101
       протокол.
5102
5103
5104
Изменения в nginx 0.3.2                                           12.10.2005
5105
5106
    *) Добавление: поддержка Sun Studio 10 C compiler.
5107
5108
    *) Добавление: директивы proxy_upstream_max_fails,
5109
       proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
5110
       fastcgi_upstream_fail_timeout.
1 by Jose Parrella
Import upstream version 0.4.12
5111
5112
5113
Изменения в nginx 0.3.1                                           10.10.2005
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5114
5115
    *) Исправление: во время переполнения очереди сигналов при использовании
5116
       метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
5117
5118
    *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
5119
5120
5121
Изменения в nginx 0.3.0                                           07.10.2005
5122
5123
    *) Изменение: убрано десятидневное ограничение времени работы рабочего
5124
       процесса. Ограничение было введено из-за переполнения миллисекундных
5125
       таймеров.
5126
5127
5128
Изменения в nginx 0.2.6                                           05.10.2005
5129
5130
    *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
5131
       бэкенду при использовании распределения нагрузки.
5132
5133
    *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
5134
       запрос теперь передаётся, если в директиве proxy_pass отсутствует
5135
       URI.
5136
5137
    *) Добавление: директива error_page поддерживает редиректы и позволяет
5138
       более гибко менять код ошибки.
5139
5140
    *) Изменение: в проксированных подзапросах теперь игнорируется
5141
       переданный charset.
5142
5143
    *) Исправление: если после изменения URI в блоке if для запроса не
5144
       находилась новая конфигурация, то правила модуля
5145
       ngx_http_rewrite_module выполнялись снова.
5146
5147
    *) Исправление: если директива set устанавливала переменную модуля
5148
       ngx_http_geo_module в какой-либо части конфигурации, то эта
5149
       переменная не была доступна в других частях конфигурации и выдавалась
5150
       ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
5151
5152
5153
Изменения в nginx 0.2.5                                           04.10.2005
5154
5155
    *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
5156
       теперь выдаёт предупреждение и изменяет старое значение.
5157
5158
    *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
5159
5160
    *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
5161
       команде include.
5162
5163
    *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
5164
       значений переменных в выражениях команды if.
5165
5166
5167
Изменения в nginx 0.2.4                                           03.10.2005
5168
5169
    *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
5170
       "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
5171
       if.
1 by Jose Parrella
Import upstream version 0.4.12
5172
5173
    *) Исправление: ошибки при проксировании location без слэша в конце;
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5174
       ошибка появилась в 0.1.44.
5175
5176
    *) Исправление: при использовании метода rtsig мог произойти
5177
       segmentation fault; ошибка появилась в 0.2.0.
5178
5179
5180
Изменения в nginx 0.2.3                                           30.09.2005
5181
5182
    *) Исправление: nginx не собирался без параметра --with-debug; ошибка
5183
       появилась в 0.2.2.
5184
5185
5186
Изменения в nginx 0.2.2                                           30.09.2005
5187
5188
    *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
5189
5190
    *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
5191
       директивой set.
5192
5193
    *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
5194
       модулей ngx_http_ssl_module и ngx_imap_ssl_module.
5195
5196
    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5197
       длинных имён файлов;
5198
5199
    *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
5200
       файлы, начинающиеся на точку.
5201
5202
    *) Исправление: если SSL handshake завершался с ошибкой, то это могло
5203
       привести также к закрытию другого соединения.
5204
       Спасибо Rob Mueller.
5205
5206
    *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
5207
       HTTPS.
1 by Jose Parrella
Import upstream version 0.4.12
5208
5209
5210
Изменения в nginx 0.2.1                                           23.09.2005
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5211
5212
    *) Исправление: если все бэкенды, используемые для балансировки
5213
       нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5214
       nginx мог зациклится; ошибка появилась в 0.2.0.
5215
5216
5217
Изменения в nginx 0.2.0                                           23.09.2005
5218
5219
    *) Изменились имена pid-файлов, используемые во время обновления
5220
       исполняемого файла. Ручное переименование теперь не нужно. Старый
5221
       основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
5222
       запускает новый исполняемый файл. Новый основной процесс создаёт
5223
       обычный pid-файл без суффикса ".newbin". Если новый основной процесс
5224
       выходит, то старый процесс переименовывает свой pid-файл c суффиксом
5225
       ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
5226
       0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
5227
       0.2.0 - используют pid-файл без суффиксов.
5228
5229
    *) Изменение: директива worker_connections, новое название директивы
5230
       connections; директива теперь задаёт максимальное число соединений, а
5231
       не максимально возможный номер дескриптора для сокета.
5232
5233
    *) Добавление: SSL поддерживает кэширование сессий в пределах одного
5234
       рабочего процесса.
5235
5236
    *) Добавление: директива satisfy_any.
5237
5238
    *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
5239
       не работают для подзапросов.
5240
5241
    *) Добавление: директивы worker_rlimit_nofile и
5242
       worker_rlimit_sigpending.
1 by Jose Parrella
Import upstream version 0.4.12
5243
5244
    *) Исправление: если все бэкенды, используемые для балансировки
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5245
       нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5246
       nginx не обращался к ним в течение 60 секунд.
5247
5248
    *) Исправление: в парсинге аргументов IMAP/POP3 команд.
5249
       Спасибо Rob Mueller.
5250
5251
    *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
5252
5253
    *) Исправление: ошибки при использовании SSI и сжатия.
5254
5255
    *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
5256
       "Expires" и "Cache-Control".
5257
       Спасибо Александру Кукушкину.
5258
5259
5260
Изменения в nginx 0.1.45                                          08.09.2005
5261
5262
    *) Изменение: директива ssl_engine упразднена в модуле
5263
       ngx_http_ssl_module и перенесена на глобальный уровень.
5264
5265
    *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
5266
       передавались через SSL соединение.
5267
5268
    *) Разные исправления в IMAP/POP3 прокси.
5269
5270
5271
Изменения в nginx 0.1.44                                          06.09.2005
5272
5273
    *) Добавление: IMAP/POP3 прокси поддерживает SSL.
5274
5275
    *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
5276
5277
    *) Добавление: директива userid_mark.
5278
5279
    *) Добавление: значение переменной $remote_user определяется независимо
5280
       от того, используется ли авторизация или нет.
5281
5282
5283
Изменения в nginx 0.1.43                                          30.08.2005
5284
5285
    *) Добавление: listen(2) backlog в директиве listen можно менять по
5286
       сигналу -HUP.
5287
5288
    *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
5289
5290
    *) Изменение: параметры FastCGI с пустым значениями теперь передаются
5291
       серверу.
5292
5293
    *) Исправление: если в ответе проксированного сервера или FastCGI
5294
       сервера была строка "Cache-Control", то при использовании директивы
5295
       expires происходил segmentation fault или рабочий процесс мог
5296
       зациклится; в режиме прокси ошибка появилась в 0.1.29.
5297
5298
5299
Изменения в nginx 0.1.42                                          23.08.2005
5300
5301
    *) Исправление: если URI запроса получался нулевой длины после обработки
5302
       модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
5303
       происходил segmentation fault или bus error.
5304
5305
    *) Исправление: директива limit_rate не работала внутри блока if; ошибка
5306
       появилась в 0.1.38.
5307
5308
5309
Изменения в nginx 0.1.41                                          25.07.2005
5310
5311
    *) Исправление: если переменная использовалась в файле конфигурации, то
5312
       она не могла использоваться в SSI.
5313
5314
5315
Изменения в nginx 0.1.40                                          22.07.2005
5316
5317
    *) Исправление: если клиент слал очень длинную строку заголовка, то в
5318
       логе не помещалась информация, связанная с этим запросом.
5319
5320
    *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5321
       строка "Set-Cookie"; ошибка появилась в 0.1.39.
5322
5323
    *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5324
       строка "Content-Disposition".
5325
5326
    *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
5327
       на которых он слушал.
5328
5329
    *) Исправление: после обновления исполняемого файла на лету на Linux и
5330
       Solaris название процесса в команде ps становилось короче.
5331
5332
5333
Изменения в nginx 0.1.39                                          14.07.2005
5334
5335
    *) Изменения в модуле ngx_http_charset_module: директива default_charset
5336
       упразднена; директива charset задаёт кодировку ответа; директива
5337
       source_charset задаёт только исходную кодировку.
5338
5339
    *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
5340
       не передавалась строка заголовка "WWW-Authenticate".
5341
5342
    *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
5343
       могли закрыть соединение до того, как что-нибудь было передано
5344
       клиенту; ошибка появилась в 0.1.38.
5345
5346
    *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
5347
5348
    *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
5349
       URI в команде include virtual.
5350
5351
    *) Исправление: если в строке заголовка ответа бэкенда была строка
5352
       "Location", которую nginx не должен был изменять, то в ответе
5353
       передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
5354
5355
    *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
5356
       ngx_http_fastcgi_module не наследовались с уровня server на уровень
5357
       location; ошибка появилась в 0.1.29.
5358
5359
    *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
5360
       сертификатов.
5361
5362
    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5363
       длинных имён файлов; ошибка появилась в 0.1.38.
5364
5365
    *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
5366
       стадии login.
5367
5368
5369
Изменения в nginx 0.1.38                                          08.07.2005
5370
5371
    *) Добавление: директива limit_rate поддерживается в режиме прокси и
5372
       FastCGI.
1 by Jose Parrella
Import upstream version 0.4.12
5373
5374
    *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5375
       "X-Accel-Limit-Rate" в ответе бэкенда.
5376
5377
    *) Добавление: директива break.
5378
5379
    *) Добавление: директива log_not_found.
5380
5381
    *) Исправление: при перенаправлении запроса с помощью строки заголовка
5382
       "X-Accel-Redirect" не изменялся код ответа.
5383
5384
    *) Исправление: переменные, установленные директивой set не могли
5385
       использоваться в SSI.
5386
5387
    *) Исправление: при включении в SSI более одного удалённого подзапроса
5388
       мог произойти segmentation fault.
5389
5390
    *) Исправление: если статусная строка в ответе бэкенда передавалась в
5391
       двух пакетах, то nginx считал ответ неверным; ошибка появилась в
5392
       0.1.29.
1 by Jose Parrella
Import upstream version 0.4.12
5393
5394
    *) Добавление: директива ssi_types.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5395
5396
    *) Добавление: директива autoindex_exact_size.
5397
5398
    *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
5399
       имена файлов в UTF-8.
5400
5401
    *) Добавление: IMAP/POP3 прокси.
5402
5403
5404
Изменения в nginx 0.1.37                                          23.06.2005
5405
5406
    *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
5407
5408
    *) Исправление: при включении большого количества вставок или нескольких
5409
       больших вставок с помощью SSI ответ мог передаваться не полностью.
5410
5411
    *) Исправление: если все бэкенды возвращали ответ 404, то при
5412
       использовании параметра http_404 в директивах proxy_next_upstream или
5413
       fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
5414
5415
5416
Изменения в nginx 0.1.36                                          15.06.2005
5417
5418
    *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
5419
       "Connection", "Content-Length" и "Authorization", то nginx теперь
5420
       выдаёт ошибку 400.
5421
5422
    *) Изменение: директива post_accept_timeout упразднена.
5423
5424
    *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
5425
       listen.
1 by Jose Parrella
Import upstream version 0.4.12
5426
5427
    *) Добавление: поддержка accept фильтров во FreeBSD.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5428
5429
    *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
5430
5431
    *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
5432
       файлов в UTF-8.
5433
5434
    *) Исправление: после добавления новый лог-файл ротация этого лога по
5435
       сигналу -USR1 выполнялась, только если переконфигурировать nginx два
5436
       раза по сигналу -HUP.
5437
5438
5439
Изменения в nginx 0.1.35                                          07.06.2005
5440
5441
    *) Добавление: директива working_directory.
5442
5443
    *) Добавление: директива port_in_redirect.
5444
5445
    *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
5446
       то происходил segmentation fault; ошибка появилась в 0.1.29.
5447
5448
    *) Исправление: если было сконфигурировано более 10 серверов или в
5449
       сервере не описана директива "listen", то при запуске мог произойти
5450
       segmentation fault.
1 by Jose Parrella
Import upstream version 0.4.12
5451
5452
    *) Исправление: если ответ не помещался во временный файл, то мог
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5453
       произойти segmentation fault.
5454
5455
    *) Исправление: nginx возвращал ошибку 400 на запросы вида
5456
       "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
5457
5458
5459
Изменения в nginx 0.1.34                                          26.05.2005
5460
5461
    *) Исправление: при включении больших ответов с помощью SSI рабочий
5462
       процесс мог зациклиться.
5463
5464
    *) Исправление: переменные, устанавливаемые директивой "set", не были
5465
       доступны в SSI.
5466
5467
    *) Добавление: директива autoindex_localtime.
5468
5469
    *) Исправление: пустое значение в директиве proxy_set_header запрещает
5470
       передачу заголовка.
5471
5472
5473
Изменения в nginx 0.1.33                                          23.05.2005
5474
5475
    *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
5476
       появилась в 0.1.29.
5477
5478
    *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
5479
       вызывали bus fault при запуске.
5480
5481
    *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
5482
       HTTP.
1 by Jose Parrella
Import upstream version 0.4.12
5483
5484
    *) Исправление: если директива rewrite использовала выделения внутри
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5485
       директивы if, то возвращалась ошибка 500.
5486
5487
5488
Изменения в nginx 0.1.32                                          19.05.2005
5489
5490
    *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
5491
       передавались аргументы; ошибка появилась в 0.1.29.
5492
5493
    *) Добавление: директива if поддерживает выделения в регулярных
5494
       выражениях.
5495
5496
    *) Добавление: директива set поддерживает переменные и выделения из
5497
       регулярных выражений.
5498
5499
    *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5500
       "X-Accel-Redirect" в ответе бэкенда.
5501
5502
5503
Изменения в nginx 0.1.31                                          16.05.2005
5504
5505
    *) Исправление: при использовании SSL ответ мог передаваться не до
5506
       конца.
5507
5508
    *) Исправление: ошибки при обработке SSI в ответе, полученного от
5509
       FastCGI-сервера.
5510
5511
    *) Исправление: ошибки при использовании SSI и сжатия.
5512
5513
    *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
5514
       появилась в 0.1.30.
5515
5516
5517
Изменения в nginx 0.1.30                                          14.05.2005
5518
5519
    *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
5520
5521
    *) Исправление: при использовании SSL ответ мог передаваться не до
5522
       конца.
5523
5524
    *) Исправление: если длина части ответа, полученного за один раз от
5525
       проксируемого или FastCGI сервера была равна 500 байт, то nginx
5526
       возвращал код ответа 500; в режиме прокси ошибка появилась только в
5527
       0.1.29.
1 by Jose Parrella
Import upstream version 0.4.12
5528
5529
    *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5530
       параметрами.
5531
5532
    *) Добавление: директива return может возвращать код ответа 204.
5533
5534
    *) Добавление: директива ignore_invalid_headers.
5535
5536
5537
Изменения в nginx 0.1.29                                          12.05.2005
5538
5539
    *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
5540
       virtual.
1 by Jose Parrella
Import upstream version 0.4.12
5541
5542
    *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5543
       вида 'if expr="$NAME"' и команды else и endif. Допускается только
5544
       один уровень вложенности.
5545
5546
    *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
5547
       DATE_LOCAL и DATE_GMT и команду config timefmt.
5548
5549
    *) Добавление: директива ssi_ignore_recycled_buffers.
5550
5551
    *) Исправление: если переменная QUERY_STRING не была определена, то в
5552
       команде echo не ставилось значение по умолчанию.
5553
5554
    *) Изменение: модуль ngx_http_proxy_module полностью переписан.
5555
5556
    *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
5557
       proxy_pass_request_body и proxy_method.
5558
5559
    *) Добавление: директива proxy_set_header. Директива proxy_x_var
5560
       упразднена и должна быть заменена директивой proxy_set_header.
5561
5562
    *) Изменение: директива proxy_preserve_host упразднена и должна быть
5563
       заменена директивами "proxy_set_header Host $host" и "proxy_redirect
5564
       off" или директивой "proxy_set_header Host $host:$proxy_port" и
5565
       соответствующими ей директивами proxy_redirect.
5566
5567
    *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
5568
       заменена директивой "proxy_set_header X-Real-IP $remote_addr".
5569
5570
    *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
5571
       быть заменена директивой
5572
       "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
1 by Jose Parrella
Import upstream version 0.4.12
5573
5574
    *) Изменение: директива proxy_set_x_url упразднена и должна быть
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5575
       заменена директивой
5576
       "proxy_set_header X-URL http://$host:$server_port$request_uri".
1 by Jose Parrella
Import upstream version 0.4.12
5577
5578
    *) Добавление: директива fastcgi_param.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5579
5580
    *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
5581
       упразднены и должны быть замены директивами fastcgi_param.
5582
5583
    *) Добавление: директива index может использовать переменные.
5584
5585
    *) Добавление: директива index может быть указана на уровне http и
5586
       server.
1 by Jose Parrella
Import upstream version 0.4.12
5587
5588
    *) Изменение: только последний параметр в директиве index может быть
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5589
       абсолютным.
5590
5591
    *) Добавление: в директиве rewrite могут использоваться переменные.
5592
5593
    *) Добавление: директива internal.
5594
5595
    *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
5596
       SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
5597
       SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
5598
5599
    *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
5600
       клиента и ответа бэкенда.
5601
5602
    *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
5603
       меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
5604
5605
    *) Исправление: если бэкенд передавал неверную строку в заголовке
5606
       ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
5607
5608
    *) Исправление: при использовании отказоустойчивой конфигурации в
5609
       FastCGI мог происходить segmentation fault.
5610
5611
    *) Исправление: директива expires не удаляла уже установленные строки
5612
       заголовка "Expires" и "Cache-Control".
5613
5614
    *) Исправление: nginx не учитывал завершающую точку в строке заголовка
5615
       запроса "Host".
5616
5617
    *) Исправление: модуль ngx_http_auth_module не работал на Linux.
5618
5619
    *) Исправление: директива rewrite неверно работала, если в запросе
5620
       присутствовали аргументы.
5621
5622
    *) Исправление: nginx не собирался на MacOS X.
5623
5624
5625
Изменения в nginx 0.1.28                                          08.04.2005
5626
5627
    *) Исправление: при проксировании больших файлов nginx сильно нагружал
5628
       процессор.
5629
5630
    *) Исправление: nginx не собирался gcc 4.0 на Linux.
5631
5632
5633
Изменения в nginx 0.1.27                                          28.03.2005
5634
5635
    *) Добавление: параметр blocked в директиве valid_referers.
5636
5637
    *) Изменение: ошибки обработки заголовка запроса теперь записываются на
5638
       уровне info, в лог также записывается имя сервера и строки заголовка
5639
       запроса "Host" и "Referer".
5640
5641
    *) Изменение: при записи ошибок в лог записывается также строка
5642
       заголовка запроса "Host".
5643
5644
    *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
5645
       символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
5646
5647
    *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
5648
       параметр конфигурации --without-ngx_http_auth_basic_module.
5649
5650
5651
Изменения в nginx 0.1.26                                          22.03.2005
5652
5653
    *) Изменение: неверные строки заголовка, переданные клиентом, теперь
5654
       игнорируется и записываются в error_log на уровне info.
5655
5656
    *) Изменение: при записи ошибок в лог записывается также имя сервера,
5657
       при обращении к которому произошла ошибка.
5658
5659
    *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
5660
       и auth_basic_user_file.
5661
5662
5663
Изменения в nginx 0.1.25                                          19.03.2005
5664
5665
    *) Исправление: nginx не работал на Linux parisc.
5666
5667
    *) Добавление: nginx теперь не запускается под FreeBSD, если значение
5668
       sysctl kern.ipc.somaxconn слишком большое.
5669
5670
    *) Исправление: если модуль ngx_http_index_module делал внутреннее
5671
       перенаправление запроса в модули ngx_http_proxy_module или
5672
       ngx_http_fastcgi_module, то файл индекса не закрывался после
5673
       обслуживания запроса.
5674
5675
    *) Добавление: директива proxy_pass может использоваться в location,
5676
       заданных регулярным выражением.
5677
5678
    *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
5679
       условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
5680
5681
    *) Исправление: nginx очень медленно запускался при большом количестве
5682
       адресов и использовании текстовых значений в директиве geo.
5683
5684
    *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
5685
       Прежний вариант без "$" пока работает, но вскоре будет убран.
5686
5687
    *) Добавление: параметр лога "%{VARIABLE}v".
5688
5689
    *) Добавление: директива "set $name value".
5690
5691
    *) Исправление: совместимость с gcc 4.0.
5692
5693
    *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
5694
5695
5696
Изменения в nginx 0.1.24                                          04.03.2005
5697
5698
    *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
5699
       QUERY_STRING и DOCUMENT_URI.
5700
5701
    *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
5702
       на существующий каталог, если этот каталог был указан как alias.
5703
5704
    *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
5705
       при больших ответах.
5706
5707
    *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
5708
       правильным referrer'ом.
5709
5710
5711
Изменения в nginx 0.1.23                                          01.03.2005
5712
5713
    *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
5714
       ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
5715
       var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
5716
5717
    *) Добавление: параметр лога %request_time.
5718
5719
    *) Добавление: если запрос пришёл без строки заголовка "Host", то
5720
       директива proxy_preserve_host устанавливает в качестве этого
5721
       заголовка первое имя сервера из директивы server_name.
5722
5723
    *) Исправление: nginx не собирался на платформах, отличных от i386,
5724
       amd64, sparc и ppc; ошибка появилась в 0.1.22.
5725
5726
    *) Исправление: модуль ngx_http_autoindex_module теперь показывает
5727
       информацию не о символическом линке, а о файле или каталоге, на
5728
       который он указывает.
5729
5730
    *) Исправление: если клиенту ничего не передавалось, то параметр
5731
       %apache_length записывал в лог отрицательную длину заголовка ответа.
5732
5733
5734
Изменения в nginx 0.1.22                                          22.02.2005
5735
5736
    *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5737
       статистику для обработанных соединений, если использовалось
5738
       проксирование или FastCGI-сервер.
5739
5740
    *) Исправление: на Linux и Solaris установочные пути были неверно
5741
       заключены в кавычки; ошибка появилась в 0.1.21.
5742
5743
5744
Изменения в nginx 0.1.21                                          22.02.2005
5745
5746
    *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5747
       статистику при использовании метода rtsig или при использовании
5748
       нескольких рабочих процессов на SMP машине.
5749
5750
    *) Исправление: nginx не собирался компилятором icc под Линуксом или
5751
       если библиотека zlib-1.2.x собиралась из исходных текстов.
5752
5753
    *) Исправление: nginx не собирался под NetBSD 2.0.
5754
5755
5756
Изменения в nginx 0.1.20                                          17.02.2005
5757
5758
    *) Добавление: новые параметры script_filename и remote_port в директиве
5759
       fastcgi_params.
5760
5761
    *) Исправление: неправильно обрабатывался поток stderr от
5762
       FastCGI-сервера.
5763
5764
5765
Изменения в nginx 0.1.19                                          16.02.2005
5766
5767
    *) Исправление: если в запросе есть нуль, то для локальных запросов
5768
       теперь возвращается ошибка 404.
5769
5770
    *) Исправление: nginx не собирался под NetBSD 2.0.
5771
5772
    *) Исправление: во время чтения тела запроса клиента в SSL соединении
5773
       мог произойти таймаут.
5774
5775
5776
Изменения в nginx 0.1.18                                          09.02.2005
5777
5778
    *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
5779
       и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
5780
5781
    *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
5782
       наследовались.
5783
5784
    *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
5785
       присоединялись к URI через символ "&" вместо "?".
5786
5787
    *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
5788
       включённом файле игнорировались.
5789
5790
    *) Добавление: модуль ngx_http_stub_status_module.
5791
5792
    *) Исправление: неизвестный формат лог-файла в директиве access_log
5793
       вызывал segmentation fault.
5794
5795
    *) Добавление: новый параметр document_root в директиве fastcgi_params.
5796
5797
    *) Добавление: директива fastcgi_redirect_errors.
5798
5799
    *) Добавление: новый модификатор break в директиве rewrite позволяет
5800
       прекратить цикл rewrite/location и устанавливает текущую конфигурацию
5801
       для запроса.
5802
5803
5804
Изменения в nginx 0.1.17                                          03.02.2005
5805
5806
    *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
5807
       можно делать редиректы, возвращать коды ошибок и проверять переменные
5808
       и рефереры. Эти директивы можно использовать внутри location.
5809
       Директива redirect упразднена.
5810
5811
    *) Добавление: модуль ngx_http_geo_module.
5812
5813
    *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
5814
5815
    *) Исправление: конфигурация location с модификатором "=" могла
5816
       использоваться в другом location.
5817
5818
    *) Исправление: правильный тип ответа выставлялся только для запросов, у
5819
       которых в расширении были только маленькие буквы.
5820
5821
    *) Исправление: если для location установлен proxy_pass или
5822
       fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
5823
       на статическую страницу, то происходил segmentation fault.
5824
5825
    *) Исправление: если в проксированном ответе в заголовке "Location"
5826
       передавался относительный URL, то к нему добавлялось имя хоста и
5827
       слэш; ошибка появилась в 0.1.14.
5828
5829
    *) Исправление: на Linux в лог не записывался текст системной ошибки.
5830
5831
5832
Изменения в nginx 0.1.16                                          25.01.2005
5833
5834
    *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
5835
       выдавался завершающий chunk.
5836
5837
    *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
5838
       директива keepalive_timeout запрещала использование keep-alive.
5839
5840
    *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
5841
       segmentation fault.
5842
5843
    *) Исправление: при использовании SSL сжатый ответ мог передаваться не
5844
       до конца.
5845
5846
    *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
5847
       для TCP сокетов, не используются для unix domain сокетов.
5848
5849
    *) Добавление: директива rewrite поддерживает перезаписывание
5850
       аргументов.
5851
5852
    *) Исправление: на запрос POST с заголовком "Content-Length: 0"
5853
       возвращался ответ 400; ошибка появилась в 0.1.14.
5854
5855
5856
Изменения в nginx 0.1.15                                          19.01.2005
5857
5858
    *) Исправление: ошибка соединения с FastCGI-сервером вызывала
5859
       segmentation fault.
5860
5861
    *) Исправление: корректная обработка регулярного выражения, в котором
5862
       число выделенных частей не совпадает с числом подстановок.
5863
5864
    *) Добавление: location, который передаётся FastCGI-серверу, может быть
5865
       задан с помощью регулярного выражения.
5866
5867
    *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
5868
       аргументами и в том виде, в котором был получен от клиента.
5869
5870
    *) Исправление: для использования регулярных выражений в location нужно
5871
       было собирать nginx вместе с ngx_http_rewrite_module.
5872
5873
    *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
5874
       директивы "proxy_preserve_host on" в заголовке "Host" указывался
5875
       также порт 80; ошибка появилась в 0.1.14.
5876
5877
    *) Исправление: если задать одинаковые пути в параметрах
5878
       автоконфигурации --http-client-body-temp-path=PATH и
5879
       --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
5880
       --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
5881
5882
5883
Изменения в nginx 0.1.14                                          18.01.2005
5884
5885
    *) Добавление: параметры автоконфигурации
5886
       --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
5887
       --http-fastcgi-temp-path=PATH
1 by Jose Parrella
Import upstream version 0.4.12
5888
5889
    *) Изменение: имя каталога с временными файлами, содержащие тело запроса
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5890
       клиента, задаётся директивой client_body_temp_path, по умолчанию
5891
       <prefix>/client_body_temp.
5892
5893
    *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
5894
       fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
5895
       fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
5896
       fastcgi_header_buffer_size, fastcgi_buffers,
5897
       fastcgi_busy_buffers_size, fastcgi_temp_path,
5898
       fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
5899
       fastcgi_next_upstream и fastcgi_x_powered_by.
5900
5901
    *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
5902
       0.1.3.
1 by Jose Parrella
Import upstream version 0.4.12
5903
5904
    *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5905
       после имени хоста.
5906
5907
    *) Изменение: если в URI встречался символ %3F, то он считался началом
5908
       строки аргументов.
5909
5910
    *) Добавление: поддержка unix domain сoкетов в модуле
5911
       ngx_http_proxy_module.
1 by Jose Parrella
Import upstream version 0.4.12
5912
5913
    *) Добавление: директивы ssl_engine и ssl_ciphers.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5914
       Спасибо Сергею Скворцову за SSL-акселератор.
5915
5916
5917
Изменения в nginx 0.1.13                                          21.12.2004
5918
5919
    *) Добавление: директивы server_names_hash и
5920
       server_names_hash_threshold.
1 by Jose Parrella
Import upstream version 0.4.12
5921
5922
    *) Исправление: имена *.domain.tld в директиве server_name не работали.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5923
5924
    *) Исправление: параметр лога %request_length записывал неверную длину.
5925
5926
5927
Изменения в nginx 0.1.12                                          06.12.2004
5928
5929
    *) Добавление: параметр лога %request_length.
5930
5931
    *) Исправление: при использовании /dev/poll, select и poll на
5932
       платформах, где возможны ложные срабатывания указанных методов, могли
5933
       быть длительные задержки при обработке запроса по keep-alive
5934
       соединению. Наблюдалось по крайней мере на Solaris с использованием
5935
       /dev/poll.
1 by Jose Parrella
Import upstream version 0.4.12
5936
5937
    *) Исправление: директива send_lowat игнорируется на Linux, так как
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5938
       Linux не поддерживает опцию SO_SNDLOWAT.
5939
5940
5941
Изменения в nginx 0.1.11                                          02.12.2004
5942
5943
    *) Добавление: директива worker_priority.
5944
5945
    *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
5946
       влияют на передачу ответа.
5947
5948
    *) Исправление: nginx не вызывал initgroups().
5949
       Спасибо Андрею Ситникову и Андрею Нигматулину.
5950
5951
    *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
5952
       байтах.
5953
5954
    *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
5955
       каталоге есть битый symlink.
5956
5957
    *) Исправление: файлы больше 4G не передавались с использованием
5958
       sendfile.
1 by Jose Parrella
Import upstream version 0.4.12
5959
5960
    *) Исправление: если бэкенд резолвился в несколько адресов и при
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
5961
       ожидании от него ответа происходила ошибка, то процесс зацикливался.
5962
5963
    *) Исправление: при использовании метода /dev/poll рабочий процесс мог
5964
       завершиться с сообщением "unknown cycle".
5965
5966
    *) Исправление: ошибки "close() channel failed".
5967
5968
    *) Исправление: автоматическое определение групп nobody и nogroup.
5969
5970
    *) Исправление: директива send_lowat не работала на Linux.
5971
5972
    *) Исправление: если в конфигурации не было раздела events, то
5973
       происходил segmentation fault.
5974
5975
    *) Исправление: nginx не собирался под OpenBSD.
5976
5977
    *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
5978
5979
5980
Изменения в nginx 0.1.10                                          26.11.2004
5981
5982
    *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
5983
       или "%XX", то терялся последний символ в строке запроса; ошибка
5984
       появилась в 0.1.9.
5985
5986
    *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
5987
       не работало.
5988
5989
5990
Изменения в nginx 0.1.9                                           25.11.2004
5991
5992
    *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
5993
       проксируемый запрос передавался без аргументов.
5994
5995
    *) Исправление: при сжатии больших ответов иногда они передавались не
5996
       полностью.
5997
5998
    *) Исправление: не передавались файлы больше 2G на Linux,
5999
       неподдерживающем sendfile64().
6000
6001
    *) Исправление: на Linux при конфигурации сборки нужно было обязательно
6002
       использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
6003
6004
6005
Изменения в nginx 0.1.8                                           20.11.2004
6006
6007
    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6008
       длинных имён файлов.
6009
6010
    *) Добавление: модификатор "^~" в директиве location.
6011
6012
    *) Добавление: директива proxy_max_temp_file_size.
6013
6014
6015
Изменения в nginx 0.1.7                                           12.11.2004
6016
6017
    *) Исправление: при использовании sendfile, если передаваемый файл
6018
       менялся, то мог произойти segmentation fault на FreeBSD; ошибка
6019
       появилась в 0.1.5.
6020
6021
6022
Изменения в nginx 0.1.6                                           11.11.2004
6023
6024
    *) Исправление: при некоторых комбинациях директив location c
6025
       регулярными выражениями использовалась конфигурация не из того
6026
       location.
1 by Jose Parrella
Import upstream version 0.4.12
6027
6028
6029
Изменения в nginx 0.1.5                                           11.11.2004
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
6030
1 by Jose Parrella
Import upstream version 0.4.12
6031
    *) Исправление: на Solaris и Linux могло быть очень много сообщений
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
6032
       "recvmsg() returned not enough data".
1 by Jose Parrella
Import upstream version 0.4.12
6033
6034
    *) Исправление: в режиме прокси без использования sendfile на Solaris
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
6035
       возникала ошибка "writev() failed (22: Invalid argument)". На других
6036
       платформах, не поддерживающих sendfile, процесс зацикливался.
6037
6038
    *) Исправление: при использовании sendfile в режиме прокси на Solaris
6039
       возникал segmentation fault.
6040
6041
    *) Исправление: segmentation fault на Solaris.
6042
6043
    *) Исправление: обновление исполняемого файла на лету не работало на
6044
       Linux.
1 by Jose Parrella
Import upstream version 0.4.12
6045
6046
    *) Исправление: в списке файлов, выдаваемом модулем
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
6047
       ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
6048
       знаки процента.
6049
6050
    *) Изменение: уменьшение операций копирования.
6051
6052
    *) Добавление: директива userid_p3p.
6053
6054
6055
Изменения в nginx 0.1.4                                           26.10.2004
6056
6057
    *) Исправление: ошибка в модуле ngx_http_autoindex_module.
6058
6059
6060
Изменения в nginx 0.1.3                                           25.10.2004
6061
6062
    *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
6063
6064
    *) Добавление: директива proxy_set_x_url.
6065
6066
    *) Исправление: модуль проксировании мог привести к зацикливанию, если
6067
       не использовался sendfile.
6068
6069
6070
Изменения в nginx 0.1.2                                           21.10.2004
6071
6072
    *) Добавление: параметры --user=USER, --group=GROUP и
6073
       --with-ld-opt=OPTIONS в configure.
6074
6075
    *) Добавление: директива server_name поддерживает *.domain.tld.
6076
6077
    *) Исправление: улучшена переносимость на неизвестные платформы.
6078
6079
    *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
6080
       файл указан в командной строке; ошибка появилась в 0.1.1.
6081
6082
    *) Исправление: модуль проксировании мог привести к зацикливанию, если
6083
       не использовался sendfile.
6084
6085
    *) Исправление: при использовании sendfile текст ответа не
6086
       перекодировался согласно директивам модуля charset; ошибка появилась
6087
       в 0.1.1.
6088
6089
    *) Исправление: очень редкая ошибка при обработке kqueue.
6090
6091
    *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
6092
       проксировании.
6093
6094
6095
Изменения в nginx 0.1.1                                           11.10.2004
6096
6097
    *) Добавление: директива gzip_types.
6098
6099
    *) Добавление: директива tcp_nodelay.
6100
6101
    *) Добавление: директива send_lowat работает не только на платформах,
6102
       поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
6103
       SO_SNDLOWAT.
1 by Jose Parrella
Import upstream version 0.4.12
6104
6105
    *) Добавление: эмуляция setproctitle() для Linux и Solaris.
1.3.15 by Kartik Mistry
Import upstream version 1.1.2
6106
6107
    *) Исправление: ошибка при переписывании заголовка "Location" при
6108
       проксировании.
6109
6110
    *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
6111
       зацикливанию.
6112
6113
    *) Исправление: ошибки в модуле /dev/poll.
6114
6115
    *) Исправление: при проксировании и использовании временных файлов
6116
       ответы портились.
6117
6118
    *) Исправление: бэкенду передавались запросы с неперекодированными
6119
       символами.
6120
6121
    *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
6122
       обязательно использовать параметр --with-poll_module.
6123
6124
6125
Изменения в nginx 0.1.0                                           04.10.2004
6126
6127
    *) Первая публично доступная версия.
6128
1 by Jose Parrella
Import upstream version 0.4.12
6129