comparison text/ru/CHANGES.ru-1.4 @ 888:22f93c9f4b55

nginx-1.4.0
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 24 Apr 2013 18:09:51 +0400
parents text/ru/CHANGES.ru@6a4ef822a85c
children 012feca3d85f
comparison
equal deleted inserted replaced
887:6a4ef822a85c 888:22f93c9f4b55
1
2 Изменения в nginx 1.4.0 24.04.2013
3
4 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
5 использовался параметр --with-openssl; ошибка появилась в 1.3.16.
6
7 *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
8 ошибка появилась в 1.3.9.
9
10
11 Изменения в nginx 1.3.16 16.04.2013
12
13 *) Исправление: в рабочем процессе мог произойти segmentation fault,
14 если использовались подзапросы; ошибка появилась в 1.3.9.
15
16 *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
17 WebSocket-соединений в unix domain сокет.
18
19 *) Исправление: переменная $upstream_response_length возвращала значение
20 "0", если не использовалась буферизация.
21 Спасибо Piotr Sikora.
22
23 *) Исправление: в методах обработки соединений eventport и /dev/poll.
24
25
26 Изменения в nginx 1.3.15 26.03.2013
27
28 *) Изменение: открытие и закрытие соединения без отправки в нём
29 каких-либо данных больше не записывается в access_log с кодом ошибки
30 400.
31
32 *) Добавление: модуль ngx_http_spdy_module.
33 Спасибо Automattic за спонсирование разработки.
34
35 *) Добавление: директивы limit_req_status и limit_conn_status.
36 Спасибо Nick Marden.
37
38 *) Добавление: директива image_filter_interlace.
39 Спасибо Ивану Боброву.
40
41 *) Добавление: переменная $connections_waiting в модуле
42 ngx_http_stub_status_module.
43
44 *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
45
46 *) Исправление: при повторной отправке запроса на бэкенд тело запроса
47 могло передаваться неправильно; ошибка появилась в 1.3.9.
48 Спасибо Piotr Sikora.
49
50 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
51 1.3.9.
52
53 *) Исправление: ответы могли зависать, если использовались подзапросы и
54 при обработке подзапроса происходила DNS-ошибка.
55 Спасибо Lanshun Zhou.
56
57 *) Исправление: в процедуре учёта использования бэкендов.
58
59
60 Изменения в nginx 1.3.14 05.03.2013
61
62 *) Добавление: переменные $connections_active, $connections_reading и
63 $connections_writing в модуле ngx_http_stub_status_module.
64
65 *) Добавление: поддержка WebSocket-соединений в модулях
66 ngx_http_uwsgi_module и ngx_http_scgi_module.
67
68 *) Исправление: в обработке виртуальных серверов при использовании SNI.
69
70 *) Исправление: при использовании директивы "ssl_session_cache shared"
71 новые сессии могли не сохраняться, если заканчивалось место в
72 разделяемой памяти.
73 Спасибо Piotr Sikora.
74
75 *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
76 неправильно.
77 Спасибо Neal Poole за спонсирование разработки.
78
79 *) Исправление: в модуле ngx_http_mp4_module.
80 Спасибо Gernot Vormayr.
81
82
83 Изменения в nginx 1.3.13 19.02.2013
84
85 *) Изменение: теперь для сборки по умолчанию используется компилятор с
86 именем "cc".
87
88 *) Добавление: поддержка проксирования WebSocket-соединений.
89 Спасибо Apcera и CloudBees за спонсирование разработки.
90
91 *) Добавление: директива auth_basic_user_file поддерживает шифрование
92 паролей методом "{SHA}".
93 Спасибо Louis Opter.
94
95
96 Изменения в nginx 1.3.12 05.02.2013
97
98 *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
99 scgi_bind и uwsgi_bind поддерживают переменные.
100
101 *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
102 $time_local теперь можно использовать не только в директиве
103 log_format.
104 Спасибо Kiril Kalchev.
105
106 *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
107 Спасибо Gregor Kališnik.
108
109 *) Исправление: директива proxy_method работала неверно, если была
110 указана на уровне http.
111
112 *) Исправление: в рабочем процессе мог произойти segmentation fault,
113 если использовался resolver и метод poll.
114
115 *) Исправление: nginx мог нагружать процессор во время SSL handshake с
116 бэкендом при использовании методов обработки соединений select, poll
117 и /dev/poll.
118
119 *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
120
121 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
122 1.3.9.
123
124 *) Исправление: в директиве fastcgi_keep_conn.
125
126
127 Изменения в nginx 1.3.11 10.01.2013
128
129 *) Исправление: при записи в лог мог происходить segmentation fault;
130 ошибка появилась в 1.3.10.
131
132 *) Исправление: директива proxy_pass не работала с IP-адресами без
133 явного указания порта; ошибка появилась в 1.3.10.
134
135 *) Исправление: на старте или во время переконфигурации происходил
136 segmentation fault, если директива keepalive была указана несколько
137 раз в одном блоке upstream.
138
139 *) Исправление: параметр default директивы geo не определял значение по
140 умолчанию для IPv6-адресов.
141
142
143 Изменения в nginx 1.3.10 25.12.2012
144
145 *) Изменение: для указанных в конфигурационном файле доменных имён
146 теперь используются не только IPv4, но и IPv6 адреса.
147
148 *) Изменение: теперь при использовании директивы include с маской на
149 Unix-системах включаемые файлы сортируются в алфавитном порядке.
150
151 *) Изменение: директива add_header добавляет строки в ответы с кодом
152 201.
153
154 *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
155 CIDR.
156
157 *) Добавление: параметры flush и gzip в директиве access_log.
158
159 *) Добавление: директива auth_basic поддерживает переменные.
160
161 *) Исправление: nginx в некоторых случаях не собирался с модулем
162 ngx_http_perl_module.
163
164 *) Исправление: в рабочем процессе мог произойти segmentation fault,
165 если использовался модуль ngx_http_xslt_module.
166
167 *) Исправление: nginx мог не собираться на MacOSX.
168 Спасибо Piotr Sikora.
169
170 *) Исправление: при использовании директивы limit_rate с большими
171 значениями скорости на 32-битных системах ответ мог возвращаться не
172 целиком.
173 Спасибо Алексею Антропову.
174
175 *) Исправление: в рабочем процессе мог произойти segmentation fault,
176 если использовалась директива if.
177 Спасибо Piotr Sikora.
178
179 *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
180 Request Entity Too Large".
181
182 *) Исправление: директивы image_filter, image_filter_jpeg_quality и
183 image_filter_sharpen могли наследоваться некорректно.
184 Спасибо Ивану Боброву.
185
186 *) Исправление: при использовании директивы auth_basic под Linux могли
187 возникать ошибки "crypt_r() failed".
188
189 *) Исправление: в обработке backup-серверов.
190 Спасибо Thomas Chen.
191
192 *) Исправление: при проксировании HEAD-запросов мог возвращаться
193 некорректный ответ, если использовалась директива gzip.
194
195
196 Изменения в nginx 1.3.9 27.11.2012
197
198 *) Добавление: поддержка chunked transfer encoding при получении тела
199 запроса.
200
201 *) Добавление: переменные $request_time и $msec теперь можно
202 использовать не только в директиве log_format.
203
204 *) Исправление: cache manager и cache loader могли не запускаться, если
205 использовалось более 512 listen-сокетов.
206
207 *) Исправление: в модуле ngx_http_dav_module.
208
209
210 Изменения в nginx 1.3.8 30.10.2012
211
212 *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
213 Спасибо Михаилу Казанцеву и Eric O'Connor.
214
215 *) Добавление: переменные $bytes_sent, $connection и
216 $connection_requests теперь можно использовать не только в директиве
217 log_format.
218 Спасибо Benjamin Grössing.
219
220 *) Добавление: параметр auto директивы worker_processes.
221
222 *) Исправление: сообщения "cache file ... has md5 collision".
223
224 *) Исправление: в модуле ngx_http_gunzip_filter_module.
225
226 *) Исправление: в директиве ssl_stapling.
227
228
229 Изменения в nginx 1.3.7 02.10.2012
230
231 *) Добавление: поддержка OCSP stapling.
232 Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
233
234 *) Добавление: директива ssl_trusted_certificate.
235
236 *) Добавление: теперь resolver случайным образом меняет порядок
237 возвращаемых закэшированных адресов.
238 Спасибо Антону Жулину.
239
240 *) Исправление: совместимость с OpenSSL 0.9.7.
241
242
243 Изменения в nginx 1.3.6 12.09.2012
244
245 *) Добавление: модуль ngx_http_gunzip_filter_module.
246
247 *) Добавление: директива memcached_gzip_flag.
248
249 *) Добавление: параметр always директивы gzip_static.
250
251 *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
252 Спасибо Charles Chen.
253
254 *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
255 использовался параметр --with-ipv6.
256
257
258 Изменения в nginx 1.3.5 21.08.2012
259
260 *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
261 дорожки в форматах, отличных от H.264 и AAC.
262
263 *) Исправление: в рабочем процессе мог произойти segmentation fault,
264 если в директиве map в качестве значений использовались переменные.
265
266 *) Исправление: в рабочем процессе мог произойти segmentation fault при
267 использовании директивы geo с параметром ranges, но без параметра
268 default; ошибка появилась в 0.8.43.
269 Спасибо Zhen Chen и Weibin Yao.
270
271 *) Исправление: в обработке параметра командной строки -p.
272
273 *) Исправление: в почтовом прокси-сервере.
274
275 *) Исправление: незначительных потенциальных ошибок.
276 Спасибо Coverity.
277
278 *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
279 Спасибо HAYASHI Kentaro.
280
281
282 Изменения в nginx 1.3.4 31.07.2012
283
284 *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
285 по умолчанию.
286
287 *) Добавление: поддержка компилятора Clang.
288
289 *) Исправление: могли создаваться лишние слушающие сокеты.
290 Спасибо Роману Одайскому.
291
292 *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
293 рабочего процесса происходила ошибка.
294 Спасибо Ricardo Villalobos Guevara.
295
296 *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
297 scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
298 fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
299 наследоваться некорректно.
300
301
302 Изменения в nginx 1.3.3 10.07.2012
303
304 *) Добавление: поддержка entity tags и директива etag.
305
306 *) Исправление: при использовании директивы map с параметром hostnames
307 не игнорировалась конечная точка в исходном значении.
308
309 *) Исправление: для обработки запроса мог использоваться неверный
310 location, если переход в именованный location происходил после
311 изменения URI с помощью директивы rewrite.
312
313
314 Изменения в nginx 1.3.2 26.06.2012
315
316 *) Изменение: параметр single директивы keepalive теперь игнорируется.
317
318 *) Изменение: сжатие SSL теперь отключено в том числе при использовании
319 OpenSSL cтарее 1.0.0.
320
321 *) Добавление: директиву "ip_hash" теперь можно использовать для
322 балансировки IPv6 клиентов.
323
324 *) Добавление: переменную $status теперь можно использовать не только в
325 директиве log_format.
326
327 *) Исправление: при завершении рабочего процесса мог произойти
328 segmentation fault, если использовалась директива resolver.
329
330 *) Исправление: в рабочем процессе мог произойти segmentation fault,
331 если использовался модуль ngx_http_mp4_module.
332
333 *) Исправление: в модуле ngx_http_mp4_module.
334
335 *) Исправление: в рабочем процессе мог произойти segmentation fault,
336 если использовались конфликтующие имена серверов с масками.
337
338 *) Исправление: на платформе ARM nginx мог аварийно завершаться по
339 сигналу SIGBUS.
340
341 *) Исправление: во время переконфигурации на HP-UX в лог записывался
342 alert "sendmsg() failed (9: Bad file number)".
343
344
345 Изменения в nginx 1.3.1 05.06.2012
346
347 *) Безопасность: теперь nginx/Windows игнорирует точку в конце
348 компонента URI и не разрешает URI, содержащие последовательность
349 ":$".
350 Спасибо Владимиру Кочеткову, Positive Research Center.
351
352 *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
353 и директива server в блоке upstream теперь поддерживают IPv6-адреса.
354
355 *) Добавление: в директиве resolver теперь можно указывать порт и
356 задавать IPv6-адреса DNS-серверов.
357
358 *) Добавление: директива least_conn в блоке upstream.
359
360 *) Добавление: при использовании директивы ip_hash теперь можно задавать
361 веса серверов.
362
363 *) Исправление: в рабочем процессе мог произойти segmentation fault,
364 если использовалась директива image_filter; ошибка появилась в 1.3.0.
365
366 *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
367 появилась в 1.1.12.
368
369 *) Исправление: доступ к переменным из SSI и встроенного перла мог не
370 работать после переконфигурации.
371 Спасибо Yichun Zhang.
372
373 *) Исправление: в модуле ngx_http_xslt_filter_module.
374 Спасибо Kuramoto Eiji.
375
376 *) Исправление: утечки памяти при использовании переменной $geoip_org.
377 Спасибо Денису Латыпову.
378
379 *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
380
381
382 Изменения в nginx 1.3.0 15.05.2012
383
384 *) Добавление: директива debug_connection теперь поддерживает
385 IPv6-адреса и параметр "unix:".
386
387 *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
388 теперь поддерживают IPv6-адреса.
389
390 *) Добавление: директивы real_ip_recursive, geoip_proxy и
391 geoip_proxy_recursive.
392
393 *) Добавление: параметр proxy_recursive директивы geo.
394
395 *) Исправление: в рабочем процессе мог произойти segmentation fault,
396 если использовалась директива resolver.
397
398 *) Исправление: в рабочем процессе мог произойти segmentation fault,
399 если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
400 и бэкенд возвращал некорректный ответ.
401
402 *) Исправление: в рабочем процессе мог произойти segmentation fault,
403 если использовалась директива rewrite и в новых аргументах запроса в
404 строке замены использовались переменные.
405
406 *) Исправление: nginx мог нагружать процессор, если было достигнуто
407 ограничение на количество открытых файлов.
408
409 *) Исправление: при использовании директивы proxy_next_upstream с
410 параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
411 блоке upstream был хотя бы один сервер с флагом backup.
412
413 *) Исправление: при использовании директивы ip_hash установка параметра
414 down директивы server могла приводить к ненужному перераспределению
415 клиентов между бэкендами.
416
417 *) Исправление: утечки сокетов.
418 Спасибо Yichun Zhang.
419
420 *) Исправление: в модуле ngx_http_fastcgi_module.
421
422
423 Изменения в nginx 1.2.0 23.04.2012
424
425 *) Исправление: в рабочем процессе мог произойти segmentation fault,
426 если использовалась директива try_files; ошибка появилась в 1.1.19.
427
428 *) Исправление: ответ мог быть передан не полностью, если использовалось
429 больше IOV_MAX буферов.
430
431 *) Исправление: в работе параметра crop директивы image_filter.
432 Спасибо Maxim Bublis.
433
434
435 Изменения в nginx 1.1.19 12.04.2012
436
437 *) Безопасность: при обработке специально созданного mp4 файла модулем
438 ngx_http_mp4_module могли перезаписываться области памяти рабочего
439 процесса, что могло приводить к выполнению произвольного кода
440 (CVE-2012-2089).
441 Спасибо Matthew Daley.
442
443 *) Исправление: nginx/Windows мог завершаться аварийно.
444 Спасибо Vincent Lee.
445
446 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
447 были помечены флагом backup.
448
449 *) Исправление: директивы allow и deny могли наследоваться некорректно,
450 если в них использовались IPv6 адреса.
451
452 *) Исправление: директивы modern_browser и ancient_browser могли
453 наследоваться некорректно.
454
455 *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
456
457 *) Исправление: в модуле ngx_http_mp4_module.
458
459
460 Изменения в nginx 1.1.18 28.03.2012
461
462 *) Изменение: теперь keepalive соединения не запрещены для Safari по
463 умолчанию.
464
465 *) Добавление: переменная $connection_requests.
466
467 *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
468 $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
469
470 *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
471
472 *) Добавление: директивы xslt_param и xslt_string_param.
473 Спасибо Samuel Behan.
474
475 *) Исправление: в configure.
476 Спасибо Piotr Sikora.
477
478 *) Исправление: в модуле ngx_http_xslt_filter_module.
479
480 *) Исправление: nginx не собирался на Debian GNU/Hurd.
481
482
483 Изменения в nginx 1.1.17 15.03.2012
484
485 *) Безопасность: содержимое ранее освобождённой памяти могло быть
486 отправлено клиенту, если бэкенд возвращал специально созданный ответ.
487 Спасибо Matthew Daley.
488
489 *) Исправление: при использовании встроенного перла из SSI.
490 Спасибо Matthew Daley.
491
492 *) Исправление: в модуле ngx_http_uwsgi_module.
493
494
495 Изменения в nginx 1.1.16 29.02.2012
496
497 *) Изменение: ограничение на количество одновременных подзапросов
498 поднято до 200.
499
500 *) Добавление: параметр from в директиве disable_symlinks.
501
502 *) Добавление: директивы return и error_page теперь могут использоваться
503 для возврата перенаправлений с кодом 307.
504
505 *) Исправление: в рабочем процессе мог произойти segmentation fault,
506 если использовалась директива resolver и на глобальном уровне не была
507 задана директива error_log.
508 Спасибо Роману Арутюняну.
509
510 *) Исправление: в рабочем процессе мог произойти segmentation fault,
511 если использовались директивы "proxy_http_version 1.1" или
512 "fastcgi_keep_conn on".
513
514 *) Исправление: утечек памяти.
515 Спасибо Lanshun Zhou.
516
517 *) Исправление: в директиве disable_symlinks.
518
519 *) Исправление: при использовании ZFS размер кэша на диске мог считаться
520 некорректно; ошибка появилась в 1.0.1.
521
522 *) Исправление: nginx не собирался компилятором icc 12.1.
523
524 *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
525 1.1.15.
526
527
528 Изменения в nginx 1.1.15 15.02.2012
529
530 *) Добавление: директива disable_symlinks.
531
532 *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
533
534 *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
535 prematurely closed connection" вместо "upstream sent too big header".
536 Спасибо Feibo Li.
537
538 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
539 использовался параметр --with-openssl.
540
541 *) Исправление: количество внутренних перенаправлений в именованные
542 location'ы не ограничивалось.
543
544 *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
545 ошибкам в модуле ngx_http_gzip_filter_module.
546
547 *) Исправление: при использовании директивы proxy_store с
548 SSI-подзапросами временные файлы могли не удаляться.
549
550 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
551 $args) возвращали старое пустое закэшированное значение.
552
553 *) Исправление: в рабочем процессе мог произойти segmentation fault,
554 если одновременно создавалось слишком много SSI-подзапросов; ошибка
555 появилась в 0.7.25.
556
557
558 Изменения в nginx 1.1.14 30.01.2012
559
560 *) Добавление: теперь можно указать несколько ограничений limit_req
561 одновременно.
562
563 *) Исправление: в обработке ошибок при соединении с бэкендом.
564 Спасибо Piotr Sikora.
565
566 *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
567
568 *) Исправление: в инициализации библиотеки OpenSSL.
569
570 *) Исправление: директивы proxy_redirect могли наследоваться
571 некорректно.
572
573 *) Исправление: утечки памяти при переконфигурации, если использовалась
574 директива pcre_jit.
575
576
577 Изменения в nginx 1.1.13 16.01.2012
578
579 *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
580
581 *) Исправление: параметры директивы limit_req наследовались некорректно;
582 ошибка появилась в 1.1.12.
583
584 *) Исправление: директива proxy_redirect некорректно обрабатывала
585 заголовок Refresh при использовании регулярных выражений.
586
587 *) Исправление: директива proxy_cache_use_stale с параметром error не
588 возвращала ответ из кэша, если все бэкенды были признаны
589 неработающими.
590
591 *) Исправление: директива worker_cpu_affinity могла не работать.
592
593 *) Исправление: nginx не собирался на Solaris; ошибка появилась в
594 1.1.12.
595
596 *) Исправление: в модуле ngx_http_mp4_module.
597
598
599 Изменения в nginx 1.1.12 26.12.2011
600
601 *) Изменение: после перенаправления запроса с помощью директивы
602 error_page директива proxy_pass без URI теперь использует изменённый
603 URI.
604 Спасибо Lanshun Zhou.
605
606 *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
607 proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
608
609 *) Добавление: директива pcre_jit.
610
611 *) Добавление: SSI команда if поддерживает выделения в регулярных
612 выражениях.
613
614 *) Исправление: SSI команда if не работала внутри команды block.
615
616 *) Исправление: директивы limit_conn_log_level и limit_req_log_level
617 могли не работать.
618
619 *) Исправление: директива limit_rate не позволяла передавать на полной
620 скорости, даже если был указан очень большой лимит.
621
622 *) Исправление: директива sendfile_max_chunk не работала, если
623 использовалась директива limit_rate.
624
625 *) Исправление: если в директиве proxy_pass использовались переменные и
626 не был указан URI, всегда использовался URI исходного запроса.
627
628 *) Исправление: после перенаправления запроса с помощью директивы
629 try_files директива proxy_pass без URI могла использовать URI
630 исходного запроса.
631 Спасибо Lanshun Zhou.
632
633 *) Исправление: в модуле ngx_http_scgi_module.
634
635 *) Исправление: в модуле ngx_http_mp4_module.
636
637 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
638
639
640 Изменения в nginx 1.1.11 12.12.2011
641
642 *) Добавление: параметр so_keepalive в директиве listen.
643 Спасибо Всеволоду Стахову.
644
645 *) Добавление: параметр if_not_empty в директивах
646 fastcgi/scgi/uwsgi_param.
647
648 *) Добавление: переменная $https.
649
650 *) Добавление: директива proxy_redirect поддерживает переменные в первом
651 параметре.
652
653 *) Добавление: директива proxy_redirect поддерживает регулярные
654 выражения.
655
656 *) Исправление: переменная $sent_http_cache_control могла содержать
657 неверное значение при использовании директивы expires.
658 Спасибо Yichun Zhang.
659
660 *) Исправление: директива read_ahead могла не работать при использовании
661 совместно с try_files и open_file_cache.
662
663 *) Исправление: если в параметре inactive директивы proxy_cache_path
664 было указано малое время, в рабочем процессе мог произойти
665 segmentation fault.
666
667 *) Исправление: ответы из кэша могли зависать.
668
669
670 Изменения в nginx 1.1.10 30.11.2011
671
672 *) Исправление: при использовании AIO на Linux в рабочем процессе
673 происходил segmentation fault; ошибка появилась в 1.1.9.
674
675
676 Изменения в nginx 1.1.9 28.11.2011
677
678 *) Изменение: теперь двойные кавычки экранируется при выводе
679 SSI-командой echo.
680 Спасибо Зауру Абасмирзоеву.
681
682 *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
683 используется TTL, возвращённый DNS-сервером.
684 Спасибо Кириллу Коринскому.
685
686 *) Исправление: nginx мог перестать отвечать, если рабочий процесс
687 завершался аварийно.
688
689 *) Исправление: в рабочем процессе мог произойти segmentation fault,
690 если использовалось SNI; ошибка появилась в 1.1.2.
691
692 *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
693 Спасибо Александру Усову.
694
695 *) Исправление: сигнал SIGWINCH переставал работать после первого
696 обновления исполняемого файла; ошибка появилась в 1.1.1.
697
698 *) Исправление: теперь ответы бэкендов, длина которых не соответствует
699 заголовку Content-Length, не кэширутся.
700
701 *) Исправление: в директиве scgi_param при использовании составных
702 параметров.
703
704 *) Исправление: в методе epoll.
705 Спасибо Yichun Zhang.
706
707 *) Исправление: в модуле ngx_http_flv_module.
708 Спасибо Piotr Sikora.
709
710 *) Исправление: в модуле ngx_http_mp4_module.
711
712 *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
713 заголовке Host.
714
715 *) Исправление: директивы add_header и expires не работали для ответов с
716 кодом 206, если запрос проксировался.
717
718 *) Исправление: nginx не собирался на FreeBSD 10.
719
720 *) Исправление: nginx не собирался на AIX.
721
722
723 Изменения в nginx 1.1.8 14.11.2011
724
725 *) Изменение: модуль ngx_http_limit_zone_module переименован в
726 ngx_http_limit_conn_module.
727
728 *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
729 новым синтаксисом.
730
731 *) Добавление: поддержка ограничения по нескольким limit_conn на одном
732 уровне.
733
734 *) Добавление: директива image_filter_sharpen.
735
736 *) Исправление: в рабочем процессе мог произойти segmentation fault,
737 если resolver получил большой DNS-ответ.
738 Спасибо Ben Hawkes.
739
740 *) Исправление: в вычислении ключа для кэширования, если использовалась
741 внутренняя реализация MD5; ошибка появилась в 1.0.4.
742
743 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
744 заголовке запроса клиента могли передаваться бэкенду при кэшировании;
745 или не передаваться при выключенном кэшировании, если кэширование
746 было включено в другой части конфигурации.
747
748 *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
749 "Content-Length" в заголовке ответа, использовался аргумент start.
750 Спасибо Piotr Sikora.
751
752
753 Изменения в nginx 1.1.7 31.10.2011
754
755 *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
756 Спасибо Кириллу Коринскому.
757
758 *) Исправление: на старте или во время переконфигурации происходил
759 segmentation fault, если директива ssl использовалась на уровне http
760 и не был указан ssl_certificate.
761
762 *) Исправление: уменьшено потребление памяти при проксировании больших
763 файлов, если они буферизировались на диск.
764
765 *) Исправление: в рабочем процессе мог произойти segmentation fault,
766 если использовалась директива "proxy_http_version 1.1".
767
768 *) Исправление: в директиве "expires @time".
769
770
771 Изменения в nginx 1.1.6 17.10.2011
772
773 *) Изменение во внутреннем API: теперь при внутреннем редиректе в
774 именованный location контексты модулей очищаются.
775 По запросу Yichun Zhang.
776
777 *) Изменение: теперь если сервер, описанный в блоке upstream, был
778 признан неработающим, то после истечения fail_timeout на него будет
779 отправлен только один запрос; сервер будет считаться работающим, если
780 успешно ответит на этот запрос.
781
782 *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
783 \xXX.
784
785 *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
786 теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
787 X-Accel-Charset.
788
789 *) Добавление: уменьшение потребления памяти при использовании SSL.
790
791 *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
792 Спасибо Алексею Куцу.
793
794 *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
795 уровне server, применялись повторно, если для запроса не находилось
796 ни одного location'а.
797
798 *) Исправление: при использовании "aio sendfile" могла происходить
799 утечка сокетов.
800
801 *) Исправление: при использовании файлового AIO соединения с быстрыми
802 клиентами могли быть закрыты по истечению send_timeout.
803
804 *) Исправление: в модуле ngx_http_autoindex_module.
805
806 *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
807 32-битных платформах.
808
809
810 Изменения в nginx 1.1.5 05.10.2011
811
812 *) Добавление: директивы uwsgi_buffering и scgi_buffering.
813 Спасибо Peter Smit.
814
815 *) Исправление: при использовании proxy_cache_bypass могли быть
816 закэшированы некэшируемые ответы.
817 Спасибо John Ferlito.
818
819 *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
820 HTTP/1.1.
821
822 *) Исправление: закэшированные ответы с пустым телом возвращались
823 некорректно; ошибка появилась в 0.8.31.
824
825 *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
826 некорректны; ошибка появилась в 0.8.32.
827
828 *) Исправление: в директиве return.
829
830 *) Исправление: при использовании директивы "ssl_session_cache builtin"
831 происходил segmentation fault; ошибка появилась в 1.1.1.
832
833
834 Изменения в nginx 1.1.4 20.09.2011
835
836 *) Добавление: модуль ngx_http_upstream_keepalive.
837
838 *) Добавление: директива proxy_http_version.
839
840 *) Добавление: директива fastcgi_keep_conn.
841
842 *) Добавление: директива worker_aio_requests.
843
844 *) Исправление: если nginx был собран с файловым AIO, он не мог
845 запускаться на Linux без поддержки AIO.
846
847 *) Исправление: в обработке ошибок при работе с Linux AIO.
848 Спасибо Hagai Avrahami.
849
850 *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
851
852 *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
853 MP4-атом co64.
854
855
856 Изменения в nginx 1.1.3 14.09.2011
857
858 *) Добавление: модуль ngx_http_mp4_module.
859
860 *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
861
862 *) Исправление: open_file_cache не обновлял информацию о файле, если
863 файл был изменён не атомарно.
864
865 *) Исправление: nginx не собирался на MacOSX 10.7.
866
867
868 Изменения в nginx 1.1.2 05.09.2011
869
870 *) Изменение: теперь, если суммарный размер всех диапазонов больше
871 размера исходного ответа, то nginx возвращает только исходный ответ,
872 не обрабатывая диапазоны.
873
874 *) Добавление: директива max_ranges.
875
876 *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
877 ssl_prefer_server_cipher могли работать некорректно, если
878 использовался SNI.
879
880 *) Исправление: в директивах proxy/fastcgi/scgi/
881 uwsgi_ignore_client_abort.
882
883
884 Изменения в nginx 1.1.1 22.08.2011
885
886 *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
887 число файлов, указанное в параметре load_files, либо работает не
888 дольше времени, указанного в параметре loader_threshold.
889
890 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
891
892 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
893 на Solaris.
894 Спасибо Денису Иванову.
895
896 *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
897
898 *) Исправление: nginx не собирался на Linux 3.0.
899
900 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
901 появилась в 1.1.0.
902
903 *) Исправление: обработка тела запроса могла быть неверной, если клиент
904 использовал pipelining.
905
906 *) Исправление: в директиве request_body_in_single_buf.
907
908 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
909 при использовании SSL-соединения с бэкендом.
910
911 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
912 были помечены флагом down.
913
914 *) Исправление: при переконфигурации мог произойти segmentation fault,
915 если в предыдущей конфигурации был определён, но не использовался
916 ssl_session_cache.
917
918 *) Исправление: при использовании большого количества backup-серверов в
919 рабочем процессе мог произойти segmentation fault.
920
921 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
922 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
923 произойти segmentation fault; ошибка появилась в 0.8.40.
924
925
926 Изменения в nginx 1.1.0 01.08.2011
927
928 *) Добавление: уменьшение времени работы загрузчика кэша.
929
930 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
931 директив proxy/fastcgi/scgi/uwsgi_cache_path.
932
933 *) Добавление: уменьшение времени загрузки конфигураций с большим
934 количеством HTTPS серверов.
935
936 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
937 Спасибо Adrian Kotelba.
938
939 *) Добавление: директива lingering_close.
940 Спасибо Максиму Дунину.
941
942 *) Исправление: закрытия соединения для pipelined-запросов.
943 Спасибо Максиму Дунину.
944
945 *) Исправление: nginx не запрещал сжатие при получении значения
946 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
947
948 *) Исправление: таймаута при небуферизированном проксировании.
949 Спасибо Максиму Дунину.
950
951 *) Исправление: утечки памяти при использовании переменных в директиве
952 proxy_pass при работе с бэкендом по HTTPS.
953 Спасибо Максиму Дунину.
954
955 *) Исправление: в проверке параметра директивы proxy_pass, заданного
956 переменными.
957 Спасибо Lanshun Zhou.
958
959 *) Исправление: SSL не работал на QNX.
960 Спасибо Максиму Дунину.
961
962 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
963 --with-debug.
964
965
966 Изменения в nginx 1.0.5 19.07.2011
967
968 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
969 "HIGH:!aNULL:!MD5".
970 Спасибо Rob Stradling.
971
972 *) Добавление: директивы referer_hash_max_size и
973 referer_hash_bucket_size.
974 Спасибо Witold Filipczyk.
975
976 *) Добавление: переменная $uid_reset.
977
978 *) Исправление: при использовании кэширования в рабочем процессе мог
979 произойти segmentation fault.
980 Спасибо Lanshun Zhou.
981
982 *) Исправление: при использовании кэширования рабочие процессы могли
983 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
984 Спасибо Максиму Дунину.
985
986 *) Исправление: сообщения "stalled cache updating".
987 Спасибо Максиму Дунину.
988
989
990 Изменения в nginx 1.0.4 01.06.2011
991
992 *) Изменение: теперь в регулярных выражениях в директиве map можно
993 задать чувствительность к регистру с помощью префиксов "~" и "~*".
994
995 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
996 на Linux.
997 Спасибо Денису Латыпову.
998
999 *) Исправление: сообщения "stalled cache updating".
1000
1001 *) Исправление: nginx не собирался с параметром
1002 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
1003
1004
1005 Изменения в nginx 1.0.3 25.05.2011
1006
1007 *) Добавление: директива auth_basic_user_file поддерживает шифрование
1008 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
1009 Спасибо Максиму Дунину.
1010
1011 *) Добавление: директива geoip_org и переменная $geoip_org.
1012 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
1013
1014 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
1015 поддерживают адреса IPv4, отображённые на IPv6 адреса.
1016
1017 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
1018 рабочем процессе происходил segmentation fault, если директивы access
1019 или deny были определены только для адресов IPv6; ошибка появилась в
1020 0.8.22.
1021
1022 *) Исправление: закэшированный ответ мог быть испорчен, если значения
1023 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
1024 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
1025
1026
1027 Изменения в nginx 1.0.2 10.05.2011
1028
1029 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
1030
1031 *) Исправление: в работе параметра rotate директивы image_filter.
1032 Спасибо Adam Bocim.
1033
1034 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
1035
1036
1037 Изменения в nginx 1.0.1 03.05.2011
1038
1039 *) Изменение: теперь директива split_clients использует алгоритм
1040 MurmurHash2 из-за лучшего распределения.
1041 Спасибо Олегу Мамонтову.
1042
1043 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
1044 ложными значениями.
1045 Спасибо Максиму Дунину.
1046
1047 *) Изменение: теперь по умолчанию nginx использует значение 511 для
1048 listen backlog на Linux.
1049
1050 *) Добавление: переменные $upstream_... можно использовать в SSI и
1051 перловом модулях.
1052
1053 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
1054 Спасибо Олегу Мамонтову.
1055
1056 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
1057 segmentation fault; ошибка появилась в 0.8.22.
1058 Спасибо Максиму Дунину.
1059
1060 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
1061
1062 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
1063 появилась в 0.9.3.
1064 Спасибо Dagobert Michelsen.
1065
1066 *) Исправление: переменная $request_time имела неверные значения, если
1067 использовались подзапросы; ошибка появилась в 0.8.47.
1068 Спасибо Игорю А. Валькову.
1069
1070
1071 Изменения в nginx 1.0.0 12.04.2011
1072
1073 *) Исправление: cache manager мог нагружать процессор после
1074 переконфигурации.
1075 Спасибо Максиму Дунину.
1076
1077 *) Исправление: директива "image_filter crop" неправильно работала в
1078 сочетании с "image_filter rotate 180".
1079
1080 *) Исправление: директива "satisfy any" запрещала выдачу
1081 пользовательской страницы для 401 кода.
1082
1083
1084 Изменения в nginx 0.9.7 04.04.2011
1085
1086 *) Добавление: теперь соединения в состоянии keepalive могут быть
1087 закрыты преждевременно, если у воркера нет свободных соединений.
1088 Спасибо Максиму Дунину.
1089
1090 *) Добавление: параметр rotate директивы image_filter.
1091 Спасибо Adam Bocim.
1092
1093 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
1094 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
1095 upstream.
1096
1097
1098 Изменения в nginx 0.9.6 21.03.2011
1099
1100 *) Добавление: директива map поддерживает регулярные выражения в
1101 качестве значения первого параметра.
1102
1103 *) Добавление: переменная $time_iso8601 для access_log.
1104 Спасибо Michael Lustfield.
1105
1106
1107 Изменения в nginx 0.9.5 21.02.2011
1108
1109 *) Изменение: теперь по умолчанию nginx использует значение -1 для
1110 listen backlog на Linux.
1111 Спасибо Андрею Нигматулину.
1112
1113 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
1114 Спасибо Денису Латыпову.
1115
1116 *) Исправление: исправление в умолчательной директиве proxy_redirect,
1117 если в директиве proxy_pass не был описан URI.
1118 Спасибо Максиму Дунину.
1119
1120 *) Исправление: директива error_page не работала с нестандартными кодами
1121 ошибок; ошибка появилась в 0.8.53.
1122 Спасибо Максиму Дунину.
1123
1124
1125 Изменения в nginx 0.9.4 21.01.2011
1126
1127 *) Добавление: директива server_name поддерживает переменную $hostname.
1128
1129 *) Добавление: 494 код для ошибки "Request Header Too Large".
1130
1131
1132 Изменения в nginx 0.9.3 13.12.2010
1133
1134 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
1135 то выделения в регулярных выражениях в директиве server_name не
1136 работали.
1137
1138 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
1139 0.9.0.
1140
1141
1142 Изменения в nginx 0.9.2 06.12.2010
1143
1144 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
1145 запросе клиента.
1146
1147 *) Изменение: использование accept(), если accept4() не реализован;
1148 ошибка появилась в 0.9.0.
1149
1150 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
1151
1152 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
1153 Спасибо Максиму Дунину.
1154
1155
1156 Изменения в nginx 0.9.1 30.11.2010
1157
1158 *) Исправление: директивы вида "return CODE message" не работали; ошибка
1159 появилась в 0.9.0.
1160
1161
1162 Изменения в nginx 0.9.0 29.11.2010
1163
1164 *) Добавление: директива keepalive_disable.
1165
1166 *) Добавление: директива map поддерживает переменные в качестве значения
1167 определяемой переменной.
1168
1169 *) Добавление: директива map поддерживает пустые строки в качестве
1170 значения первого параметра.
1171
1172 *) Добавление: директива map поддерживает выражения в первом параметре.
1173
1174 *) Добавление: страница руководства nginx(8).
1175 Спасибо Сергею Осокину.
1176
1177 *) Добавление: поддержка accept4() в Linux.
1178 Спасибо Simon Liu.
1179
1180 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
1181 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
1182
1183 *) Исправление: при использовании директивы auth_basic в рабочем
1184 процессе мог произойти segmentation fault.
1185 Спасибо Михаилу Лалетину.
1186
1187 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
1188 появилась в 0.8.42.
1189
1190
1191 Изменения в nginx 0.8.53 18.10.2010
1192
1193 *) Добавление: теперь директива error_page позволяет менять код статуса
1194 у редиректа.
1195
1196 *) Добавление: директива gzip_disable поддерживает специальную маску
1197 degradation.
1198
1199 *) Исправление: при использовании файлового AIO могла происходить утечка
1200 сокетов.
1201 Спасибо Максиму Дунину.
1202
1203 *) Исправление: если в первом сервере не была описана директива listen и
1204 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
1205 становился следующий сервер с директивой listen; ошибка появилась в
1206 0.8.21.
1207
1208
1209 Изменения в nginx 0.8.52 28.09.2010
1210
1211 *) Исправление: nginx использовал режим SSL для listen сокета, если для
1212 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
1213
1214
1215 Изменения в nginx 0.8.51 27.09.2010
1216
1217 *) Изменение: директива secure_link_expires упразднена.
1218
1219 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
1220 alert на error.
1221
1222 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
1223 несколько раз.
1224
1225
1226 Изменения в nginx 0.8.50 02.09.2010
1227
1228 *) Добавление: директивы secure_link, secure_link_md5 и
1229 secure_link_expires модуля ngx_http_secure_link_module.
1230
1231 *) Добавление: ключ -q.
1232 Спасибо Геннадию Махомеду.
1233
1234 *) Исправление: при использовании кэширования рабочие процессы и могли
1235 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
1236
1237 *) Исправление: в директиве gzip_disable.
1238 Спасибо Derrick Petzold.
1239
1240 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
1241 reopen, reload процессу, запущенному в другой сессии.
1242
1243
1244 Изменения в nginx 0.8.49 09.08.2010
1245
1246 *) Добавление: директива image_filter_jpeg_quality поддерживает
1247 переменные.
1248
1249 *) Исправление: при использовании переменной $geoip_region_name в
1250 рабочем процессе мог произойти segmentation fault; ошибка появилась в
1251 0.8.48.
1252
1253 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
1254 следующего запроса; ошибка появилась в 0.8.48.
1255
1256
1257 Изменения в nginx 0.8.48 03.08.2010
1258
1259 *) Изменение: теперь по умолчанию директива server_name имеет значение
1260 пустое имя "".
1261 Спасибо Геннадию Махомеду.
1262
1263 *) Изменение: теперь по умолчанию директива server_name_in_redirect
1264 имеет значение off.
1265
1266 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
1267 $geoip_region_name.
1268 Спасибо Christine McGonagle.
1269
1270 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
1271 scgi_pass не наследовались в блоки limit_except.
1272
1273 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
1274 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
1275 появилась в 0.8.46.
1276
1277 *) Исправление: директива fastcgi_split_path_info неверно использовала
1278 выделения, если в выделения попадала только часть URI.
1279 Спасибо Юрию Тарадаю и Frank Enderle.
1280
1281 *) Исправление: директива rewrite не экранировала символ ";" при
1282 копировании из URI в аргументы.
1283 Спасибо Daisuke Murase.
1284
1285 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
1286 если изображение было больше размера image_filter_buffer.
1287
1288
1289 Изменения в nginx 0.8.47 28.07.2010
1290
1291 *) Исправление: переменная $request_time имела неверные значения для
1292 подзапросов.
1293
1294 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
1295
1296 *) Исправление: если использовался параметр max_size, то cache manager
1297 мог зациклиться; ошибка появилась в 0.8.46.
1298
1299
1300 Изменения в nginx 0.8.46 19.07.2010
1301
1302 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
1303 и scgi_no_cache теперь влияют только на сохранение закэшированного
1304 ответа.
1305
1306 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
1307 uwsgi_cache_bypass и scgi_cache_bypass.
1308
1309 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
1310 ошибки работы с бэкендом: память освобождалась только по истечении
1311 времени неактивности или при недостатке памяти.
1312
1313
1314 Изменения в nginx 0.8.45 13.07.2010
1315
1316 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
1317 Спасибо Laurence Rowe.
1318
1319 *) Исправление: ответ SSI модуля мог передаваться не полностью после
1320 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
1321 Спасибо Максиму Дунину.
1322
1323 *) Исправление: директива listen не поддерживала параметр setfib=0.
1324
1325
1326 Изменения в nginx 0.8.44 05.07.2010
1327
1328 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
1329 заголовке которых есть строка "Set-Cookie".
1330
1331 *) Добавление: директива listen поддерживает параметр setfib.
1332 Спасибо Андрею Филонову.
1333
1334 *) Исправление: директива sub_filter могла изменять регистр букв при
1335 частичном совпадении.
1336
1337 *) Исправление: совместимость с HP/UX.
1338
1339 *) Исправление: совместимость с компилятором AIX xlC_r.
1340
1341 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
1342 запросы.
1343 Спасибо Miroslaw Jaworski.
1344
1345
1346 Изменения в nginx 0.8.43 30.06.2010
1347
1348 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
1349
1350 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
1351 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
1352 0.8.42.
1353
1354 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
1355 переконфигурации.
1356 Спасибо Максиму Дунину.
1357
1358 *) Исправление: переменную $uid_set можно использовать на любой стадии
1359 обработки запроса.
1360
1361
1362 Изменения в nginx 0.8.42 21.06.2010
1363
1364 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
1365 выражениями, если запрос полностью совпал с location'ом, заданным
1366 строкой префикса. Предыдущее поведение появилось в 0.7.1.
1367
1368 *) Добавление: модуль ngx_http_scgi_module.
1369 Спасибо Manlio Perillo.
1370
1371 *) Добавление: в директиве return можно добавлять текст ответа.
1372
1373
1374 Изменения в nginx 0.8.41 15.06.2010
1375
1376 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
1377 при запросе файла с неверной кодировкой UTF-8.
1378
1379 *) Изменение: теперь nginx разрешает использовать пробелы в строке
1380 запроса.
1381
1382 *) Исправление: директива proxy_redirect неправильно изменяла строку
1383 "Refresh" в заголовке ответа бэкенда.
1384 Спасибо Андрею Андрееву и Максиму Согину.
1385
1386 *) Исправление: nginx не поддерживал путь без имени хоста в строке
1387 "Destination" в заголовке запроса.
1388
1389
1390 Изменения в nginx 0.8.40 07.06.2010
1391
1392 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
1393 умолчанию.
1394 Спасибо Jose Antonio Vazquez Gonzalez.
1395
1396 *) Добавление: модуль ngx_http_uwsgi_module.
1397 Спасибо Roberto De Ioris.
1398
1399 *) Добавление: директива fastcgi_param со значением, начинающимся со
1400 строки "HTTP_", изменяет строку заголовка в запросе клиента.
1401
1402 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1403 заголовке запроса клиента передавались FastCGI-серверу при
1404 кэшировании.
1405
1406 *) Исправление: listen unix domain сокет нельзя было изменить во время
1407 переконфигурации.
1408 Спасибо Максиму Дунину.
1409
1410
1411 Изменения в nginx 0.8.39 31.05.2010
1412
1413 *) Исправление: наследуемая директива alias неправильно работала во
1414 вложенном location'е.
1415
1416 *) Исправление: в комбинации директив alias с переменными и try_files;
1417
1418 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
1419 время обновления без перерыва.
1420 Спасибо Максиму Дунину.
1421
1422
1423 Изменения в nginx 0.8.38 24.05.2010
1424
1425 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
1426
1427 *) Добавление: теперь при использовании переменной $scheme в директиве
1428 rewrite автоматически делается редирект.
1429 Спасибо Piotr Sikora.
1430
1431 *) Исправление: теперь задержки в директиве limit_req соответствует
1432 описанному алгоритму.
1433 Спасибо Максиму Дунину.
1434
1435 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
1436 перловом модулях.
1437
1438
1439 Изменения в nginx 0.8.37 17.05.2010
1440
1441 *) Добавление: модуль ngx_http_split_clients_module.
1442
1443 *) Добавление: директива map поддерживает ключи больше 255 символов.
1444
1445 *) Исправление: nginx игнорировал значения "private" и "no-store" в
1446 строке "Cache-Control" в заголовке ответа бэкенда.
1447
1448 *) Исправление: параметр stub в SSI-директиве include не использовался,
1449 если пустой ответ имел код 200.
1450
1451 *) Исправление: если проксированный или FastCGI запрос внутренне
1452 перенаправлялся в другой проксированный или FastCGI location, то в
1453 рабочем процессе мог произойти segmentation fault; ошибка появилась в
1454 0.8.33.
1455 Спасибо Yichun Zhang.
1456
1457 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
1458 таймаута.
1459 Спасибо Alan Batie.
1460
1461
1462 Изменения в nginx 0.8.36 22.04.2010
1463
1464 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
1465 методы DELETE, COPY и MOVE для симлинков.
1466
1467 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
1468 основном запросе значения переменных $query_string, $arg_... и им
1469 подобных.
1470
1471 *) Исправление: значение переменной повторно экранировалось после
1472 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
1473
1474 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
1475 Спасибо Vicente Aguilar и Максиму Дунину.
1476
1477 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
1478 Спасибо Максиму Дунину.
1479
1480 *) Исправление: nginx не собирался с параметром --without-http-cache;
1481 ошибка появилась в 0.8.35.
1482
1483
1484 Изменения в nginx 0.8.35 01.04.2010
1485
1486 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
1487
1488 *) Добавление: директива chunked_transfer_encoding.
1489
1490 *) Исправление: символ "&" при копировании в аргументы в правилах
1491 rewrite не экранировался.
1492
1493 *) Исправление: nginx мог завершаться аварийно во время обработки
1494 сигнала или при использовании директивы timer_resolution на
1495 платформах, не поддерживающих методы kqueue или eventport.
1496 Спасибо George Xie и Максиму Дунину.
1497
1498 *) Исправление: если временные файлы и постоянное место хранения
1499 располагались на разных файловых системах, то у постоянных файлов
1500 время изменения было неверным.
1501 Спасибо Максиму Дунину.
1502
1503 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
1504 "memcached sent invalid trailer".
1505 Спасибо Максиму Дунину.
1506
1507 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
1508 текстов.
1509 Спасибо Максиму Дунину.
1510
1511 *) Исправление: в рабочем процессе происходил segmentation fault, если
1512 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
1513 появилась в 0.8.34.
1514 Спасибо Максиму Дунину.
1515
1516
1517 Изменения в nginx 0.8.34 03.03.2010
1518
1519 *) Исправление: nginx не поддерживал все шифры, используемые в
1520 клиентских сертификатах.
1521 Спасибо Иннокентию Еникееву.
1522
1523 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
1524 ответом было много вывода в stderr.
1525
1526 *) Исправление: nginx не поддерживал HTTPS-рефереры.
1527
1528 *) Исправление: nginx/Windows мог не находить файлы, если путь в
1529 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
1530
1531 *) Исправление: переменная $date_local выдавала неверное время, если
1532 использовался формат "%s".
1533 Спасибо Максиму Дунину.
1534
1535 *) Исправление: если ssl_session_cache не был установлен или установлен
1536 в none, то при проверке клиентского сертификаты могла происходить
1537 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
1538
1539 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
1540 диапазон включал в себя одну и более сетей размером /16 и не
1541 начинался на границе сети размером /16.
1542
1543 *) Исправление: блок, используемый в параметре stub в SSI-директиве
1544 include, выводился с MIME-типом "text/plain".
1545
1546 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
1547
1548
1549 Изменения в nginx 0.8.33 01.02.2010
1550
1551 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
1552 Спасибо Dan Crowley, Core Security Technologies.
1553
1554 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
1555 Спасибо Dan Crowley, Core Security Technologies.
1556
1557 *) Изменение: теперь keepalive соединения после запросов POST не
1558 запрещаются для MSIE 7.0+.
1559 Спасибо Adam Lounds.
1560
1561 *) Изменение: теперь keepalive соединения запрещены для Safari.
1562 Спасибо Joshua Sierles.
1563
1564 *) Исправление: если проксированный или FastCGI запрос внутренне
1565 перенаправлялся в другой проксированный или FastCGI location, то
1566 переменная $upstream_response_time могла иметь ненормально большое
1567 значение; ошибка появилась в 0.8.7.
1568
1569 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1570 отбрасывания тела запроса; ошибка появилась в 0.8.11.
1571
1572
1573 Изменения в nginx 0.8.32 11.01.2010
1574
1575 *) Исправление: ошибки при использовании кодировки UTF-8 в
1576 ngx_http_autoindex_module.
1577 Спасибо Максиму Дунину.
1578
1579 *) Исправление: именованные выделения в регулярных выражениях работали
1580 только для двух переменных.
1581 Спасибо Максиму Дунину.
1582
1583 *) Исправление: теперь в строке заголовка запроса "Host" используется
1584 имя "localhost", если в директиве auth_http указан unix domain сокет.
1585 Спасибо Максиму Дунину.
1586
1587 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
1588 ответов.
1589 Спасибо Julian Reich.
1590
1591 *) Исправление: если директива "expires modified" выставляла дату в
1592 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
1593 отрицательное число.
1594 Спасибо Алексею Капранову.
1595
1596
1597 Изменения в nginx 0.8.31 23.12.2009
1598
1599 *) Добавление: теперь директива error_page может перенаправлять ответы
1600 со статусом 301 и 302.
1601
1602 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
1603 $geoip_longitude.
1604 Спасибо Arvind Sundararajan.
1605
1606 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
1607 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
1608
1609 *) Исправление: nginx закрывал соединение при запросе закэшированного
1610 ответа с пустым телом.
1611 Спасибо Piotr Sikora.
1612
1613 *) Исправление: nginx мог не собираться gcc 4.x при использовании
1614 оптимизации -O2 и выше.
1615 Спасибо Максиму Дунину и Денису Латыпову.
1616
1617 *) Исправление: регулярные выражения в location всегда тестировались с
1618 учётом регистра; ошибка появилась в 0.8.25.
1619
1620 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
1621 проксируемого запроса была строка "If-None-Match".
1622 Спасибо Tim Dettrick и David Kostal.
1623
1624 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
1625 перезаписи уже существующего файла.
1626
1627
1628 Изменения в nginx 0.8.30 15.12.2009
1629
1630 *) Изменение: теперь по умолчанию размер буфера директивы
1631 large_client_header_buffers равен 8K.
1632 Спасибо Andrew Cholakian.
1633
1634 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
1635
1636 *) Исправление: nginx/Windows пытался дважды переименовать временный
1637 файл при перезаписи уже существующего файла.
1638
1639 *) Исправление: ошибки double free or corruption, возникающей, если имя
1640 хоста не было найдено; ошибка появилась в 0.8.22.
1641 Спасибо Константину Свисту.
1642
1643 *) Исправление: в использовании libatomic на некоторых платформах.
1644 Спасибо W-Mark Kubacki.
1645
1646
1647 Изменения в nginx 0.8.29 30.11.2009
1648
1649 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
1650 ответа "009".
1651
1652 *) Добавление: директивы addition_types, charset_types, gzip_types,
1653 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
1654
1655 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
1656 Спасибо W-Mark Kubacki.
1657
1658 *) Добавление: параметр --with-libatomic[=DIR] в configure.
1659 Спасибо W-Mark Kubacki.
1660
1661 *) Исправление: listen unix domain сокет имели ограниченные права
1662 доступа.
1663
1664 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
1665 обрабатывались.
1666
1667 *) Исправление: именованные выделения в регулярных выражениях, заданные
1668 как "?P<...>", не работали в директиве server_name.
1669 Спасибо Максиму Дунину.
1670
1671
1672 Изменения в nginx 0.8.28 23.11.2009
1673
1674 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
1675 появилась в 0.8.25.
1676
1677
1678 Изменения в nginx 0.8.27 17.11.2009
1679
1680 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
1681 появилась в 0.8.25.
1682
1683
1684 Изменения в nginx 0.8.26 16.11.2009
1685
1686 *) Исправление: ошибки при использовании выделений в директиве rewrite;
1687 ошибка появилась в 0.8.25.
1688
1689 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1690 появилась в 0.8.25.
1691
1692
1693 Изменения в nginx 0.8.25 16.11.2009
1694
1695 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
1696 не найдена с помощью метода $r->variable().
1697
1698 *) Добавление: модуль ngx_http_degradation_module.
1699
1700 *) Добавление: именованные выделения в регулярных выражениях.
1701
1702 *) Добавление: теперь при использовании переменных в директиве
1703 proxy_pass не требуется задавать URI.
1704
1705 *) Добавление: теперь директива msie_padding работает и для Chrome.
1706
1707 *) Исправление: в рабочем процессе происходил segmentation fault при
1708 недостатке памяти; ошибка появилась в 0.8.18.
1709
1710 *) Исправление: nginx передавал сжатые ответы клиентам, не
1711 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
1712 ошибка появилась в 0.8.16.
1713
1714
1715 Изменения в nginx 0.8.24 11.11.2009
1716
1717 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
1718 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
1719
1720 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1721 появилась в 0.8.23.
1722
1723 *) Исправление: параметр "unix:" в директиве set_real_ip_from
1724 неправильно наследовался с предыдущего уровня.
1725
1726 *) Исправление: в resolver'е при определении пустого имени.
1727
1728
1729 Изменения в nginx 0.8.23 11.11.2009
1730
1731 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
1732 Спасибо Максиму Дунину.
1733
1734 *) Исправление: listen unix domain сокет не наследовался во время
1735 обновления без перерыва.
1736
1737 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
1738 без ещё одной директивы с любым IP-адресом.
1739
1740 *) Исправление: segmentation fault и зацикливания в resolver'е.
1741
1742 *) Исправление: в resolver'е.
1743 Спасибо Артёму Бохану.
1744
1745
1746 Изменения в nginx 0.8.22 03.11.2009
1747
1748 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
1749
1750 *) Добавление: директивы access и deny поддерживают IPv6.
1751
1752 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
1753 заголовках запроса.
1754
1755 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
1756
1757 *) Исправление: nginx не удалял unix domain сокет после тестирования
1758 конфигурации.
1759
1760 *) Исправление: nginx удалял unix domain сокет во время обновления без
1761 перерыва.
1762
1763 *) Исправление: оператор "!-x" не работал.
1764 Спасибо Максиму Дунину.
1765
1766 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1767 использовании limit_rate в HTTPS сервере.
1768 Спасибо Максиму Дунину.
1769
1770 *) Исправление: при записи в лог переменной $limit_rate в рабочем
1771 процессе происходил segmentation fault.
1772 Спасибо Максиму Дунину.
1773
1774 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1775 если внутри блока server не было директивы listen; ошибка появилась в
1776 0.8.21.
1777
1778
1779 Изменения в nginx 0.8.21 26.10.2009
1780
1781 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
1782
1783 *) Добавление: директива listen модуля HTTP поддерживает unix domain
1784 сокеты.
1785 Спасибо Hongli Lai.
1786
1787 *) Добавление: параметр "default_server" в директиве listen.
1788
1789 *) Добавление: теперь параметр "default" не обязателен для установки
1790 параметров listen-сокета.
1791
1792 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
1793 платформах;
1794
1795 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1796
1797
1798 Изменения в nginx 0.8.20 14.10.2009
1799
1800 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1801 "HIGH:!ADH:!MD5".
1802
1803 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
1804 слэш для линков на каталоги; ошибка появилась в 0.7.15.
1805
1806 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
1807 --error-log-path; ошибка появилась в 0.7.53.
1808
1809 *) Исправление: nginx не считал запятую разделителем в строке
1810 "Cache-Control" в заголовке ответа бэкенда.
1811
1812 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
1813 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
1814 не имел достаточно прав для работы с каталогами верхнего уровня.
1815
1816 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
1817 FastCGI-сервера не скрывались при кэшировании, если не использовались
1818 директивы fastcgi_hide_header с любыми параметрами.
1819
1820 *) Исправление: nginx неверно считал размер кэша на диске.
1821
1822
1823 Изменения в nginx 0.8.19 06.10.2009
1824
1825 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
1826
1827 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1828 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
1829
1830 *) Исправление: директива limit_req не работала; ошибка появилась в
1831 0.8.18.
1832
1833
1834 Изменения в nginx 0.8.18 06.10.2009
1835
1836 *) Добавление: директива read_ahead.
1837
1838 *) Добавление: теперь можно использовать несколько директив
1839 perl_modules.
1840
1841 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
1842
1843 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
1844 bucket.
1845 Спасибо Максиму Дунину.
1846
1847 *) Исправление: nginx не работал на Linux/sparc.
1848 Спасибо Marcus Ramberg.
1849
1850 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
1851 ответе на запрос MKCOL.
1852 Спасибо Xie Zhenye.
1853
1854 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
1855 появилась в 0.8.11.
1856
1857 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1858
1859
1860 Изменения в nginx 0.8.17 28.09.2009
1861
1862 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
1863 в заголовке запроса.
1864
1865 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
1866
1867 *) Добавление: переменная $ssl_session_id.
1868
1869 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1870
1871
1872 Изменения в nginx 0.8.16 22.09.2009
1873
1874 *) Добавление: директива image_filter_transparency.
1875
1876 *) Исправление: директива "addition_types" была неверно названа
1877 "addtion_types".
1878
1879 *) Исправление: порчи кэша resolver'а.
1880 Спасибо Matthew Dempsky.
1881
1882 *) Исправление: утечки памяти в resolver'е.
1883 Спасибо Matthew Dempsky.
1884
1885 *) Исправление: неверная строка запроса в переменной $request
1886 записывалась в access_log только при использовании error_log на
1887 уровне info или debug.
1888
1889 *) Исправление: в поддержке альфа-канала PNG в модуле
1890 ngx_http_image_filter_module.
1891
1892 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
1893 заголовок ответа, если обе директивы gzip_static и gzip_vary были
1894 включены.
1895
1896 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
1897 nginx/Windows.
1898
1899 *) Исправление: ошибки при использовании post_action; ошибка появилась в
1900 0.8.11.
1901 Спасибо Игорю Артемьеву.
1902
1903
1904 Изменения в nginx 0.8.15 14.09.2009
1905
1906 *) Безопасность: при обработке специально созданного запроса в рабочем
1907 процессе мог произойти segmentation fault.
1908 Спасибо Chris Ries.
1909
1910 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
1911 .domain-some.tld, то имя .sub.domain.tld попадало под маску
1912 .domain.tld.
1913
1914 *) Исправление: в поддержке прозрачности в модуле
1915 ngx_http_image_filter_module.
1916
1917 *) Исправление: в файловом AIO.
1918
1919 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
1920 появилась в 0.8.11.
1921
1922 *) Исправление: ошибки при использовании встроенного перла; ошибка
1923 появилась в 0.8.11.
1924
1925
1926 Изменения в nginx 0.8.14 07.09.2009
1927
1928 *) Исправление: устаревший закэшированный запрос мог залипнуть в
1929 состоянии "UPDATING".
1930
1931 *) Исправление: при использовании error_log на уровне info или debug в
1932 рабочем процессе мог произойти segmentation fault.
1933 Спасибо Сергею Боченкову.
1934
1935 *) Исправление: ошибки при использовании встроенного перла; ошибка
1936 появилась в 0.8.11.
1937
1938 *) Исправление: директива error_page не перенаправляла ошибку 413;
1939 ошибка появилась в 0.6.10.
1940
1941
1942 Изменения в nginx 0.8.13 31.08.2009
1943
1944 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
1945
1946 *) Исправление: nginx не собирался без параметра --with-file-aio на
1947 FreeBSD; ошибка появилась в 0.8.12.
1948
1949
1950 Изменения в nginx 0.8.12 31.08.2009
1951
1952 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
1953
1954 *) Исправление: ошибки при использовании try_files; ошибка появилась в
1955 0.8.11.
1956
1957 *) Исправление: ошибки при использовании memcached; ошибка появилась в
1958 0.8.11.
1959
1960
1961 Изменения в nginx 0.8.11 28.08.2009
1962
1963 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
1964 для MSIE 6.0 SV1.
1965
1966 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
1967
1968 *) Добавление: директива directio_alignment.
1969
1970
1971 Изменения в nginx 0.8.10 24.08.2009
1972
1973 *) Исправление: утечек памяти при использовании базы GeoIP City.
1974
1975 *) Исправление: ошибки при копировании временных файлов в постоянное
1976 место хранения; ошибка появилась в 0.8.9.
1977
1978
1979 Изменения в nginx 0.8.9 17.08.2009
1980
1981 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
1982 процесс; это должно улучшить обработку больших кэшей.
1983
1984 *) Добавление: теперь временные файлы и постоянное место хранения могут
1985 располагаться на разных файловых системах.
1986
1987
1988 Изменения в nginx 0.8.8 10.08.2009
1989
1990 *) Исправление: в обработке заголовков ответа, разделённых в
1991 FastCGI-записях.
1992
1993 *) Исправление: если запрос обрабатывался в двух проксированных или
1994 FastCGI location'ах и в первом из них использовалось кэширование, то
1995 в рабочем процессе происходил segmentation fault; ошибка появилась в
1996 0.8.7.
1997
1998
1999 Изменения в nginx 0.8.7 27.07.2009
2000
2001 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
2002
2003 *) Изменение: параметр ask директивы ssl_verify_client изменён на
2004 параметр optional и теперь он проверяет клиентский сертификат, если
2005 он был предложен.
2006 Спасибо Brice Figureau.
2007
2008 *) Добавление: переменная $ssl_client_verify.
2009 Спасибо Brice Figureau.
2010
2011 *) Добавление: директива ssl_crl.
2012 Спасибо Brice Figureau.
2013
2014 *) Добавление: параметр proxy директивы geo.
2015
2016 *) Добавление: директива image_filter поддерживает переменные для
2017 задания размеров.
2018
2019 *) Исправление: использование переменной $ssl_client_cert портило
2020 память; ошибка появилась в 0.7.7.
2021 Спасибо Сергею Журавлёву.
2022
2023 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
2024 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
2025 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
2026 Спасибо Максиму Дунину.
2027
2028 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
2029 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
2030 Спасибо Максиму Дунину.
2031
2032 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
2033 ответы в подзапросах; ошибка появилась в 0.8.5.
2034
2035
2036 Изменения в nginx 0.8.6 20.07.2009
2037
2038 *) Добавление: модуль ngx_http_geoip_module.
2039
2040 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
2041 document" для правильного документа.
2042 Спасибо Kuramoto Eiji.
2043
2044 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
2045 location'ов, заданных регулярным выражением, теперь всегда делается
2046 сравнение без учёта регистра символов.
2047
2048 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
2049 Спасибо Hugo Leisink.
2050
2051 *) Исправление: имя файла указанного в --conf-path игнорировалось при
2052 установке; ошибка появилась в 0.6.6.
2053 Спасибо Максиму Дунину.
2054
2055
2056 Изменения в nginx 0.8.5 13.07.2009
2057
2058 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
2059
2060 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
2061 для неверных имени/пароля возвращалась 500-ая ошибка.
2062
2063 *) Исправление: ответы модуля ngx_http_perl_module не работали в
2064 подзапросах.
2065
2066 *) Исправление: в модуле ngx_http_limit_req_module.
2067 Спасибо Максиму Дунину.
2068
2069
2070 Изменения в nginx 0.8.4 22.06.2009
2071
2072 *) Исправление: nginx не собирался с параметром --without-http-cache;
2073 ошибка появилась в 0.8.3.
2074
2075
2076 Изменения в nginx 0.8.3 19.06.2009
2077
2078 *) Добавление: переменная $upstream_cache_status.
2079
2080 *) Исправление: nginx не собирался на MacOSX 10.6.
2081
2082 *) Исправление: nginx не собирался с параметром --without-http-cache;
2083 ошибка появилась в 0.8.2.
2084
2085 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
2086 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
2087 в рабочем процессе происходил segmentation fault.
2088 Спасибо Евгению Мычло.
2089
2090
2091 Изменения в nginx 0.8.2 15.06.2009
2092
2093 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
2094 на старте.
2095
2096 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
2097 долго; ошибка появилась в 0.7.4.
2098
2099
2100 Изменения в nginx 0.8.1 08.06.2009
2101
2102 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
2103 fastcgi_cache_use_stale.
2104
2105 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2106 заголовке запроса клиента передавались бэкенду при кэшировании, если
2107 не использовалась директива proxy_set_header с любыми параметрами.
2108
2109 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
2110 не скрывались при кэшировании, если не использовались директивы
2111 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
2112
2113 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
2114 GIF87a.
2115 Спасибо Денису Ильиных.
2116
2117 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
2118 появилась в 0.7.56.
2119
2120
2121 Изменения в nginx 0.8.0 02.06.2009
2122
2123 *) Добавление: директива keepalive_requests.
2124
2125 *) Добавление: директива limit_rate_after.
2126 Спасибо Ivan Debnar.
2127
2128 *) Исправление: XSLT-фильтр не работал в подзапросах.
2129
2130 *) Исправление: обработке относительных путей в nginx/Windows.
2131
2132 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
2133 fastcgi_cache в nginx/Windows.
2134
2135 *) Исправление: в обработке ошибок выделения памяти.
2136 Спасибо Максиму Дунину и Кириллу Коринскому.
2137
2138
2139 Изменения в nginx 0.7.59 25.05.2009
2140
2141 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
2142
2143 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
2144 Спасибо Максиму Дунину.
2145
2146 *) Исправление: при использовании переменной $request_body в рабочем
2147 процессе происходил segmentation fault, если в запросе не было тела;
2148 ошибка появилась в 0.7.58.
2149
2150 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
2151 ошибка появилась в 0.7.56.
2152
2153 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
2154 обрабатывались SSI-, charset- и gzip-фильтрами.
2155
2156 *) Исправление: директива charset не ставила кодировку для ответов
2157 модуля ngx_http_gzip_static_module.
2158
2159
2160 Изменения в nginx 0.7.58 18.05.2009
2161
2162 *) Добавление: директива listen почтового прокси-сервера поддерживает
2163 IPv6.
2164
2165 *) Добавление: директива image_filter_jpeg_quality.
2166
2167 *) Добавление: директива client_body_in_single_buffer.
2168
2169 *) Добавление: переменная $request_body.
2170
2171 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
2172 файлов, содержащих символ ":".
2173
2174 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
2175 0.7.53.
2176 Спасибо Денису Латыпову.
2177
2178
2179 Изменения в nginx 0.7.57 12.05.2009
2180
2181 *) Исправление: при перенаправлении ошибок модуля
2182 ngx_http_image_filter_module в именованный location в рабочем
2183 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
2184
2185
2186 Изменения в nginx 0.7.56 11.05.2009
2187
2188 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
2189 HTTP.
2190
2191 *) Исправление: в модуле ngx_http_image_filter_module.
2192
2193
2194 Изменения в nginx 0.7.55 06.05.2009
2195
2196 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
2197 fastcgi_cache_use_stale не работали.
2198
2199 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
2200 заголовка.
2201
2202 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
2203 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
2204
2205 *) Исправление: при использовании директивы debug_connection в рабочем
2206 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
2207
2208 *) Исправление: в сборке модуля ngx_http_image_filter_module.
2209
2210 *) Исправление: файлы больше 2G не передавались с использованием
2211 $r->sendfile.
2212 Спасибо Максиму Дунину.
2213
2214
2215 Изменения в nginx 0.7.54 01.05.2009
2216
2217 *) Добавление: модуль ngx_http_image_filter_module.
2218
2219 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
2220
2221 *) Исправление: при использовании переменных "open_file_cache_errors on"
2222 в рабочем процессе мог произойти segmentation fault; ошибка появилась
2223 в 0.7.53.
2224
2225 *) Исправление: директива "port_in_redirect off" не работала; ошибка
2226 появилась в 0.7.39.
2227
2228 *) Исправление: улучшение обработки ошибок метода select.
2229
2230 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
2231
2232 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
2233 ошибка появилась в 0.7.53.
2234
2235
2236 Изменения в nginx 0.7.53 27.04.2009
2237
2238 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
2239 самого начала работы.
2240
2241 *) Добавление: теперь ошибки и предупреждения при старте записываются в
2242 error_log и выводятся на stderr.
2243
2244 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
2245 как префикс каталог, в котором он был запущен.
2246
2247 *) Добавление: ключ -p.
2248
2249 *) Добавление: ключ -s на Unix-платформах.
2250
2251 *) Добавление: ключи -? и -h.
2252 Спасибо Jerome Loyet.
2253
2254 *) Добавление: теперь ключи можно задавать в сжатой форме.
2255
2256 *) Исправление: nginx/Windows не работал, если файл конфигурации был
2257 задан ключом -c.
2258
2259 *) Исправление: при использовании директив proxy_store, fastcgi_store,
2260 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
2261 Спасибо Максиму Дунину.
2262
2263 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
2264 почтового прокси-сервера передавалось неверное значение; ошибка
2265 появилась в 0.7.34.
2266 Спасибо Simon Lecaille.
2267
2268 *) Исправление: при логгировании на Linux не писались текстовые описания
2269 системных ошибок; ошибка появилась в 0.7.45.
2270
2271 *) Исправление: директива fastcgi_cache_min_uses не работала.
2272 Спасибо Андрею Воробьёву.
2273
2274
2275 Изменения в nginx 0.7.52 20.04.2009
2276
2277 *) Добавление: первая бинарная версия под Windows.
2278
2279 *) Исправление: корректная обработка метода HEAD при кэшировании.
2280
2281 *) Исправление: корректная обработка строк "If-Modified-Since",
2282 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
2283
2284 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
2285 заголовке ответа для закэшированных ответов.
2286
2287 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2288 perl поддерживал потоки, то при выходе основного процесса могла
2289 выдаваться ошибка "panic: MUTEX_LOCK".
2290
2291 *) Исправление: nginx не собирался с параметром --without-http-cache;
2292 ошибка появилась в 0.7.48.
2293
2294 *) Исправление: nginx не собирался на платформах, отличных от i386,
2295 amd64, sparc и ppc; ошибка появилась в 0.7.42.
2296
2297
2298 Изменения в nginx 0.7.51 12.04.2009
2299
2300 *) Добавление: директива try_files поддерживает код ответа в последнем
2301 параметре.
2302
2303 *) Добавление: теперь в директиве return можно использовать любой код
2304 ответа.
2305
2306 *) Исправление: директива error_page делала внешний редирект без строки
2307 запроса; ошибка появилась в 0.7.44.
2308
2309 *) Исправление: если сервера слушали на нескольких явно описанных
2310 адресах, то виртуальные сервера могли не работать; ошибка появилась в
2311 0.7.39.
2312
2313
2314 Изменения в nginx 0.7.50 06.04.2009
2315
2316 *) Исправление: переменные $arg_... не работали; ошибка появилась в
2317 0.7.49.
2318
2319
2320 Изменения в nginx 0.7.49 06.04.2009
2321
2322 *) Исправление: при использовании переменных $arg_... в рабочем процессе
2323 мог произойти segmentation fault; ошибка появилась в 0.7.48.
2324
2325
2326 Изменения в nginx 0.7.48 06.04.2009
2327
2328 *) Добавление: директива proxy_cache_key.
2329
2330 *) Исправление: теперь nginx учитывает при кэшировании строки
2331 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
2332 бэкенда.
2333
2334 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
2335
2336 *) Исправление: директива fastcgi_cache_key не наследовалась.
2337
2338 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
2339 Спасибо Максиму Дунину.
2340
2341 *) Исправление: nginx не собирался с библиотекой uclibc.
2342 Спасибо Timothy Redaelli.
2343
2344 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
2345 в 0.7.46.
2346
2347
2348 Изменения в nginx 0.7.47 01.04.2009
2349
2350 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
2351 ошибка появилась в 0.7.46.
2352
2353 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
2354
2355 *) Исправление: если использовался параметр max_size, то cache manager
2356 мог удалить весь кэш; ошибка появилась в 0.7.46.
2357
2358 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
2359 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
2360 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
2361 в 0.7.46.
2362
2363 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2364 перенаправлении запроса проксированному или FastCGI-серверу с помощью
2365 error_page или try_files; ошибка появилась в 0.7.44.
2366
2367
2368 Изменения в nginx 0.7.46 30.03.2009
2369
2370 *) Исправление: архив предыдущего релиза был неверным.
2371
2372
2373 Изменения в nginx 0.7.45 30.03.2009
2374
2375 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
2376 задавать на разных уровнях.
2377
2378 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
2379
2380 *) Добавление: параметр max_size в директиве proxy_cache_path.
2381
2382 *) Добавление: предварительная поддержка кэширования в модуле
2383 ngx_http_fastcgi_module.
2384
2385 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
2386 указываются названия директивы и зоны.
2387
2388 *) Исправление: директива "add_header last-modified ''" не удаляла в
2389 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
2390
2391 *) Исправление: в директиве auth_basic_user_file не работал
2392 относительный путь, заданный строкой без переменных; ошибка появилась
2393 в 0.7.44.
2394 Спасибо Jerome Loyet.
2395
2396 *) Исправление: в директиве alias, заданной переменными без ссылок на
2397 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
2398
2399
2400 Изменения в nginx 0.7.44 23.03.2009
2401
2402 *) Добавление: предварительная поддержка кэширования в модуле
2403 ngx_http_proxy_module.
2404
2405 *) Добавление: параметр --with-pcre в configure.
2406
2407 *) Добавление: теперь директива try_files может быть использована на
2408 уровне server.
2409
2410 *) Исправление: директива try_files неправильно обрабатывала строку
2411 запроса в последнем параметре.
2412
2413 *) Исправление: директива try_files могла неверно тестировать каталоги.
2414
2415 *) Исправление: если для пары адрес:порт описан только один сервер, то
2416 выделения в регулярных выражениях в директиве server_name не
2417 работали.
2418
2419
2420 Изменения в nginx 0.7.43 18.03.2009
2421
2422 *) Исправление: запрос обрабатывался неверно, если директива root
2423 использовала переменные; ошибка появилась в 0.7.42.
2424
2425 *) Исправление: если сервер слушал на адресах типа "*", то значение
2426 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
2427
2428
2429 Изменения в nginx 0.7.42 16.03.2009
2430
2431 *) Изменение: ошибка "Invalid argument", возвращаемая
2432 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
2433
2434 *) Изменение: при отсутствии файла, указанного в директиве
2435 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
2436
2437 *) Добавление: директива auth_basic_user_file поддерживает переменные.
2438 Спасибо Кириллу Коринскому.
2439
2440 *) Добавление: директива listen поддерживает параметр ipv6only.
2441 Спасибо Zhang Hua.
2442
2443 *) Исправление: в директиве alias со ссылками на выделения в регулярных
2444 выражениях; ошибка появилась в 0.7.40.
2445
2446 *) Исправление: совместимость с Tru64 UNIX.
2447 Спасибо Dustin Marquess.
2448
2449 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2450 в 0.7.41.
2451
2452
2453 Изменения в nginx 0.7.41 11.03.2009
2454
2455 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2456 если в server_name или location были выделения в регулярных
2457 выражениях; ошибка появилась в 0.7.40.
2458 Спасибо Владимиру Сопоту.
2459
2460
2461 Изменения в nginx 0.7.40 09.03.2009
2462
2463 *) Добавление: директива location поддерживает выделения в регулярных
2464 выражениях.
2465
2466 *) Добавление: директиву alias с ссылками на выделения в регулярных
2467 выражениях можно использовать внутри location'а, заданного регулярным
2468 выражением с выделениями.
2469
2470 *) Добавление: директива server_name поддерживает выделения в регулярных
2471 выражениях.
2472
2473 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
2474 слэш для каталогов на файловой системе XFS; ошибка появилась в
2475 0.7.15.
2476 Спасибо Дмитрию Кузьменко.
2477
2478
2479 Изменения в nginx 0.7.39 02.03.2009
2480
2481 *) Исправление: при включённом сжатии большие ответы с использованием
2482 SSI могли зависать; ошибка появилась в 0.7.28.
2483 Спасибо Артёму Бохану.
2484
2485 *) Исправление: при использовании коротких статических вариантов в
2486 директиве try_files в рабочем процессе мог произойти segmentation
2487 fault.
2488
2489
2490 Изменения в nginx 0.7.38 23.02.2009
2491
2492 *) Добавление: логгирование ошибок аутентификации.
2493
2494 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
2495 игнорировались после нечётного числа пустых строк.
2496 Спасибо Александру Загребину.
2497
2498 *) Исправление: при использовании длинного пути в unix domain сокете в
2499 главном процессе происходил segmentation fault; ошибка появилась в
2500 0.7.36.
2501
2502
2503 Изменения в nginx 0.7.37 21.02.2009
2504
2505 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
2506 появилась в 0.7.36.
2507
2508
2509 Изменения в nginx 0.7.36 21.02.2009
2510
2511 *) Добавление: предварительная поддержка IPv6; директива listen модуля
2512 HTTP поддерживает IPv6.
2513
2514 *) Исправление: переменная $ancient_browser не работала для браузеров,
2515 заданных директивами modern_browser.
2516
2517
2518 Изменения в nginx 0.7.35 16.02.2009
2519
2520 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
2521 асимметричных шифров.
2522 Спасибо Marcin Gozdalik.
2523
2524 *) Исправление: директива try_files выставляла MIME-type, исходя из
2525 расширения первоначального запроса.
2526
2527 *) Исправление: в директивах server_name, valid_referers и map
2528 неправильно обрабатывались имена вида "*domain.tld", если
2529 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
2530 ошибка появилась в 0.7.9.
2531
2532
2533 Изменения в nginx 0.7.34 10.02.2009
2534
2535 *) Добавление: параметр off в директиве if_modified_since.
2536
2537 *) Добавление: теперь после команды XCLIENT nginx посылает команду
2538 HELO/EHLO.
2539 Спасибо Максиму Дунину.
2540
2541 *) Добавление: поддержка Microsoft-специфичного режима
2542 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
2543 Спасибо Максиму Дунину.
2544
2545 *) Исправление: в директиве rewrite, возвращающей редирект, старые
2546 аргументы присоединялись к новым через символ "?" вместо "&";
2547 ошибка появилась в 0.1.18.
2548 Спасибо Максиму Дунину.
2549
2550 *) Исправление: nginx не собирался на AIX.
2551
2552
2553 Изменения в nginx 0.7.33 02.02.2009
2554
2555 *) Исправление: если на запрос с телом возвращался редирект, то ответ
2556 мог быть двойным при использовании методов epoll или rtsig.
2557 Спасибо Eden Li.
2558
2559 *) Исправление: для некоторых типов редиректов в переменной
2560 $sent_http_location было пустое значение.
2561
2562 *) Исправление: при использовании директивы resolver в SMTP
2563 прокси-сервере в рабочем процессе мог произойти segmentation fault.
2564
2565
2566 Изменения в nginx 0.7.32 26.01.2009
2567
2568 *) Добавление: теперь в директиве try_files можно явно указать проверку
2569 каталога.
2570
2571 *) Исправление: fastcgi_store не всегда сохранял файлы.
2572
2573 *) Исправление: в гео-диапазонах.
2574
2575 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
2576 если nginx был собран без отладки.
2577 Спасибо Андрею Квасову.
2578
2579
2580 Изменения в nginx 0.7.31 19.01.2009
2581
2582 *) Изменение: теперь директива try_files проверяет только файлы,
2583 игнорируя каталоги.
2584
2585 *) Добавление: директива fastcgi_split_path_info.
2586
2587 *) Исправления в поддержке строки "Expect" в заголовке запроса.
2588
2589 *) Исправления в гео-диапазонах.
2590
2591 *) Исправление: при отсутствии ответа ngx_http_memcached_module
2592 возвращал в теле ответа строку "END" вместо 404-ой страницы по
2593 умолчанию; ошибка появилась в 0.7.18.
2594 Спасибо Максиму Дунину.
2595
2596 *) Исправление: при проксировании SMPT nginx выдавал сообщение
2597 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
2598 Спасибо Максиму Дунину.
2599
2600
2601 Изменения в nginx 0.7.30 24.12.2008
2602
2603 *) Исправление: в рабочем процессе происходил segmentation fault, если в
2604 директивах fastcgi_pass или proxy_pass использовались переменные и
2605 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
2606
2607
2608 Изменения в nginx 0.7.29 24.12.2008
2609
2610 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
2611 переменные при использовании unix domain сокетов.
2612
2613 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
2614
2615 *) Исправление: ответ "100 Continue" выдавался для запросов версии
2616 HTTP/1.0;
2617 Спасибо Максиму Дунину.
2618
2619 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
2620 под Cygwin.
2621
2622
2623 Изменения в nginx 0.7.28 22.12.2008
2624
2625 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
2626
2627 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
2628 с 4 4k/8k на 32 4k или 16 8k.
2629
2630
2631 Изменения в nginx 0.7.27 15.12.2008
2632
2633 *) Добавление: директива try_files.
2634
2635 *) Добавление: директива fastcgi_pass поддерживает переменные.
2636
2637 *) Добавление: теперь директива geo может брать адрес из переменной.
2638 Спасибо Андрею Нигматулину.
2639
2640 *) Добавление: теперь модификатор location'а можно указывать без пробела
2641 перед названием.
2642
2643 *) Добавление: переменная $upstream_response_length.
2644
2645 *) Исправление: теперь директива add_header не добавляет пустое
2646 значение.
2647
2648 *) Исправление: при запросе файла нулевой длины nginx закрывал
2649 соединение, ничего не передав; ошибка появилась в 0.7.25.
2650
2651 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
2652 каталог.
2653
2654 *) Исправление: если в сервере не был описан ни один именованный
2655 location, но такой location использовался в директиве error_page, то
2656 в рабочем процессе происходил segmentation fault.
2657 Спасибо Сергею Боченкову.
2658
2659
2660 Изменения в nginx 0.7.26 08.12.2008
2661
2662 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
2663
2664
2665 Изменения в nginx 0.7.25 08.12.2008
2666
2667 *) Изменение: в обработке подзапросов.
2668
2669 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
2670 заголовке запроса.
2671
2672 *) Исправление: теперь директивы limit_req и limit_conn указывают
2673 причину запрета запроса.
2674
2675 *) Исправление: в параметре delete директивы geo.
2676
2677
2678 Изменения в nginx 0.7.24 01.12.2008
2679
2680 *) Добавление: директива if_modified_since.
2681
2682 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
2683 ответом сервер передавал много сообщений в stderr.
2684
2685 *) Исправление: переменные "$cookie_..." не работали в SSI and в
2686 перловом модуле.
2687
2688
2689 Изменения в nginx 0.7.23 27.11.2008
2690
2691 *) Добавление: параметры delete и ranges в директиве geo.
2692
2693 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
2694
2695 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
2696
2697
2698 Изменения в nginx 0.7.22 20.11.2008
2699
2700 *) Добавление: параметр none в директиве smtp_auth.
2701 Спасибо Максиму Дунину.
2702
2703 *) Добавление: переменные "$cookie_...".
2704
2705 *) Исправление: директива directio не работала с файловой системой XFS.
2706
2707 *) Исправление: resolver не понимал большие DNS-ответы.
2708 Спасибо Zyb.
2709
2710
2711 Изменения в nginx 0.7.21 11.11.2008
2712
2713 *) Изменения в модуле ngx_http_limit_req_module.
2714
2715 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
2716 Спасибо Денису Латыпову.
2717
2718 *) Изменение: совместимость с glibc 2.3.
2719 Спасибо Eric Benson и Максиму Дунину.
2720
2721 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
2722 ошибка появилась в 0.7.6.
2723
2724
2725 Изменения в nginx 0.7.20 10.11.2008
2726
2727 *) Изменения в модуле ngx_http_gzip_filter_module.
2728
2729 *) Добавление: модуль ngx_http_limit_req_module.
2730
2731 *) Исправление: на платформах sparc и ppc рабочие процессы могли
2732 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
2733 Спасибо Максиму Дунину.
2734
2735 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
2736 работали; ошибка появилась в 0.7.12.
2737
2738 *) Исправление: при использовании HTTPS запросы могли завершаться с
2739 ошибкой "bad write retry".
2740
2741 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
2742 location'ов с именами меньше 3 символов.
2743
2744 *) Исправление: переменная $server_addr могла не иметь значения.
2745
2746
2747 Изменения в nginx 0.7.19 13.10.2008
2748
2749 *) Исправление: обновление номера версии.
2750
2751
2752 Изменения в nginx 0.7.18 13.10.2008
2753
2754 *) Изменение: директива underscores_in_headers; теперь nginx по
2755 умолчанию не разрешает подчёркивания в именах строк в заголовке
2756 запроса клиента.
2757
2758 *) Добавление: модуль ngx_http_secure_link_module.
2759
2760 *) Добавление: директива real_ip_header поддерживает любой заголовок.
2761
2762 *) Добавление: директива log_subrequest.
2763
2764 *) Добавление: переменная $realpath_root.
2765
2766 *) Добавление: параметры http_502 и http_504 в директиве
2767 proxy_next_upstream.
2768
2769 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
2770 fastcgi_next_upstream не работал.
2771
2772 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
2773 для запросов HEAD.
2774
2775 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
2776
2777
2778 Изменения в nginx 0.7.17 15.09.2008
2779
2780 *) Добавление: директива directio теперь работает на Linux.
2781
2782 *) Добавление: переменная $pid.
2783
2784 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
2785 при использовании open_file_cache.
2786
2787 *) Исправление: access_log с переменными не работал на Linux; ошибка
2788 появилась в 0.7.7.
2789
2790 *) Исправление: модуль ngx_http_charset_module не понимал название
2791 кодировки в кавычках, полученное от бэкенда.
2792
2793
2794 Изменения в nginx 0.7.16 08.09.2008
2795
2796 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
2797 появилась в 0.7.15.
2798
2799
2800 Изменения в nginx 0.7.15 08.09.2008
2801
2802 *) Добавление: модуль ngx_http_random_index_module.
2803
2804 *) Добавление: директива directio оптимизирована для запросов файлов,
2805 начинающихся с произвольной позиции.
2806
2807 *) Добавление: директива directio при необходимости запрещает
2808 использование sendfile.
2809
2810 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
2811 заголовке запроса клиента.
2812
2813
2814 Изменения в nginx 0.7.14 01.09.2008
2815
2816 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
2817 имеют значений по умолчанию.
2818
2819 *) Добавление: директива listen поддерживает параметр ssl.
2820
2821 *) Добавление: теперь при переконфигурации nginx учитывает изменение
2822 временной зоны на FreeBSD и Linux.
2823
2824 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
2825 прочие, не устанавливались, если сервером по умолчанию был не первый
2826 сервер.
2827
2828 *) Исправление: при использовании в качестве аргументов части URI,
2829 выделенного с помощью директивы rewrite, эти аргументы не
2830 экранировались.
2831
2832 *) Исправление: улучшения тестирования правильности конфигурационного
2833 файла.
2834
2835
2836 Изменения в nginx 0.7.13 26.08.2008
2837
2838 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
2839 в 0.7.12.
2840
2841
2842 Изменения в nginx 0.7.12 26.08.2008
2843
2844 *) Добавление: директива server_name поддерживает пустое имя "".
2845
2846 *) Добавление: директива gzip_disable поддерживает специальную маску
2847 msie6.
2848
2849 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
2850 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
2851 Спасибо Максиму Дунину.
2852
2853 *) Исправление: при перенаправлении запроса с помощью директивы
2854 error_page терялось тело запроса.
2855
2856 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
2857 директивы error_page возвращался полный ответ.
2858
2859 *) Исправление: метод $r->header_in() не возвращал значения строк
2860 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
2861 появилась в 0.7.0.
2862
2863
2864 Изменения в nginx 0.7.11 18.08.2008
2865
2866 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
2867 MIME-типом text/css.
2868
2869 *) Добавление: теперь nginx возвращает код 405 для метода POST при
2870 запросе статического файла, только если файл существует.
2871
2872 *) Добавление: директива proxy_ssl_session_reuse.
2873
2874 *) Исправление: после перенаправления запроса с помощью
2875 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
2876 оригинальный запрос.
2877
2878 *) Исправление: если у каталога были права доступа только на поиск
2879 файлов и первый индексный файл отсутствовал, то nginx возвращал
2880 ошибку 500.
2881
2882 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
2883 0.7.1.
2884
2885
2886 Изменения в nginx 0.7.10 13.08.2008
2887
2888 *) Исправление: ошибок в директивах addition_types, charset_types,
2889 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
2890 появились в 0.7.9.
2891
2892 *) Исправление: рекурсивной error_page для 500 ошибки.
2893
2894 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
2895 не для всего keepalive соединения, а для каждого запроса по этому
2896 соединению.
2897
2898
2899 Изменения в nginx 0.7.9 12.08.2008
2900
2901 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
2902 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
2903 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
2904
2905 *) Добавление: директивы charset_types и addition_types.
2906
2907 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
2908 используют хэш.
2909
2910 *) Добавление: модуль ngx_cpp_test_module.
2911
2912 *) Добавление: директива expires поддерживает суточное время.
2913
2914 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
2915 Спасибо Денису Латыпову и Максиму Дунину.
2916
2917 *) Исправление: директива log_not_found не работала при поиске индексных
2918 файлов.
2919
2920 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
2921 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
2922
2923 *) Исправление: если в директивах server_name, valid_referers и map
2924 использовалась маска вида "*.domain.tld" и при этом полное имя вида
2925 "domain.tld" не было описано, то это имя попадало под маску; ошибка
2926 появилась в 0.3.18.
2927
2928
2929 Изменения в nginx 0.7.8 04.08.2008
2930
2931 *) Добавление: модуль ngx_http_xslt_module.
2932
2933 *) Добавление: переменные "$arg_...".
2934
2935 *) Добавление: поддержка directio в Solaris.
2936 Спасибо Ivan Debnar.
2937
2938 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
2939 в заголовке ответа без строки статуса, то nginx использует код
2940 статуса 302.
2941 Спасибо Максиму Дунину.
2942
2943
2944 Изменения в nginx 0.7.7 30.07.2008
2945
2946 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
2947 временной.
2948
2949 *) Изменение: значением переменной $ssl_client_cert теперь является
2950 сертификат, перед каждой строкой которого, кроме первой, вставляется
2951 символ табуляции; неизменённый сертификат доступен через переменную
2952 $ssl_client_raw_cert.
2953
2954 *) Добавление: параметр ask директивы ssl_verify_client.
2955
2956 *) Добавление: улучшения в обработке byte-range.
2957 Спасибо Максиму Дунину.
2958
2959 *) Добавление: директива directio.
2960 Спасибо Jiang Hong.
2961
2962 *) Добавление: поддержка sendfile() в MacOSX 10.5.
2963
2964 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
2965 делается сравнение без учёта регистра символов; однако, сравнение
2966 ограничено только однобайтными locale'ями.
2967
2968 *) Исправление: соединения почтового прокси-сервера зависали в режиме
2969 SSL, если использовались методы select, poll или /dev/poll.
2970
2971 *) Исправление: ошибки при использовании кодировки UTF-8 в
2972 ngx_http_autoindex_module.
2973
2974
2975 Изменения в nginx 0.7.6 07.07.2008
2976
2977 *) Исправление: теперь при использовании переменных в директиве
2978 access_log всегда проверяется существовании root'а для запроса.
2979
2980 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
2981 значений в аргументах запроса.
2982
2983
2984 Изменения в nginx 0.7.5 01.07.2008
2985
2986 *) Исправления в поддержке переменных в директиве access_log; ошибки
2987 появились в 0.7.4.
2988
2989 *) Исправление: nginx не собирался с параметром
2990 --without-http_gzip_module; ошибка появилась в 0.7.3.
2991 Спасибо Кириллу Коринскому.
2992
2993 *) Исправление: при совместном использовании sub_filter и SSI ответы
2994 могли передаваться неверно.
2995
2996
2997 Изменения в nginx 0.7.4 30.06.2008
2998
2999 *) Добавление: директива access_log поддерживает переменные.
3000
3001 *) Добавление: директива open_log_file_cache.
3002
3003 *) Добавление: ключ -g.
3004
3005 *) Добавление: поддержка строки "Expect" в заголовке запроса.
3006
3007 *) Исправление: большие включения в SSI могли передавались не полностью.
3008
3009
3010 Изменения в nginx 0.7.3 23.06.2008
3011
3012 *) Изменение: MIME-тип для расширения rss изменён на
3013 "application/rss+xml".
3014
3015 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
3016 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
3017
3018 *) Добавление: теперь при использовании протокола "https://" в директиве
3019 rewrite автоматически делается редирект.
3020
3021 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
3022 ошибка появилась в 0.6.9.
3023
3024
3025 Изменения в nginx 0.7.2 16.06.2008
3026
3027 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
3028
3029 *) Добавление: директива ssl_dhparam.
3030
3031 *) Добавление: переменная $ssl_client_cert.
3032 Спасибо Manlio Perillo.
3033
3034 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
3035 искал новый location; ошибка появилась в 0.7.1.
3036 Спасибо Максиму Дунину.
3037
3038 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3039 в 0.7.1.
3040
3041 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
3042 nginx не добавлял аргументы из оригинального запроса.
3043
3044
3045 Изменения в nginx 0.7.1 26.05.2008
3046
3047 *) Изменение: теперь поиск location'а делается с помощью дерева.
3048
3049 *) Изменение: директива optimize_server_names упразднена в связи с
3050 появлением директивы server_name_in_redirect.
3051
3052 *) Изменение: некоторые давно устаревшие директивы больше не
3053 поддерживаются.
3054
3055 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
3056 параметр используется по умолчанию.
3057 Спасибо Rob Mueller.
3058
3059 *) Исправление: рабочие процессы могли не реагировать на сигналы
3060 переконфигурации и ротации логов.
3061
3062 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
3063 Спасибо Roxis.
3064
3065
3066 Изменения в nginx 0.7.0 19.05.2008
3067
3068 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
3069 записываются в виде \xXX.
3070 Спасибо Максиму Дунину.
3071
3072 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
3073 запроса.
3074
3075 *) Добавление: директива expires поддерживает флаг modified.
3076
3077 *) Добавление: переменные $uid_got и $uid_set можно использовать на
3078 любой стадии обработки запроса.
3079
3080 *) Добавление: переменная $hostname.
3081 Спасибо Андрею Нигматулину.
3082
3083 *) Добавление: поддержка DESTDIR.
3084 Спасибо Todd A. Fisher и Andras Voroskoi.
3085
3086 *) Исправление: при использовании keepalive на Linux в рабочем процессе
3087 мог произойти segmentation fault.
3088
3089
3090 Изменения в nginx 0.6.31 12.05.2008
3091
3092 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
3093 заголовка ответ была в конце записи FastCGI; ошибка появилась в
3094 0.6.2.
3095 Спасибо Сергею Серову.
3096
3097 *) Исправление: при удалении файла и использовании директивы
3098 open_file_cache_errors off в рабочем процессе мог произойти
3099 segmentation fault.
3100
3101
3102 Изменения в nginx 0.6.30 29.04.2008
3103
3104 *) Изменение: теперь, если маске, заданной в директиве include, не
3105 соответствует ни один файл, то nginx не выдаёт ошибку.
3106
3107 *) Добавление: теперь время в директивах можно задавать без пробела,
3108 например, "1h50m".
3109
3110 *) Исправление: утечек памяти, если директива ssl_verify_client имела
3111 значение on.
3112 Спасибо Chavelle Vincent.
3113
3114 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
3115 вывод.
3116
3117 *) Исправление: директива error_page не воспринимала параметры в
3118 перенаправляемом URI.
3119
3120 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
3121 в бинарном режиме.
3122
3123 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
3124 0.6.15.
3125
3126
3127 Изменения в nginx 0.6.29 18.03.2008
3128
3129 *) Добавление: модуль ngx_google_perftools_module.
3130
3131 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
3132 платформах; ошибка появилась в 0.6.27.
3133
3134
3135 Изменения в nginx 0.6.28 13.03.2008
3136
3137 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
3138
3139
3140 Изменения в nginx 0.6.27 12.03.2008
3141
3142 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
3143 rtsig.
3144
3145 *) Изменение: теперь при перенаправлении запроса в именованный location
3146 с помощью директивы error_page метод запроса не изменяется.
3147
3148 *) Добавление: директивы resolver и resolver_timeout в SMTP
3149 прокси-сервере.
3150
3151 *) Добавление: директива post_action поддерживает именованные
3152 location'ы.
3153
3154 *) Исправление: при перенаправлении запроса из location'а c обработчиком
3155 proxy, FastCGI или memcached в именованный location со статическим
3156 обработчиком в рабочем процессе происходил segmentation fault.
3157
3158 *) Исправление: браузеры не повторяли SSL handshake, если при первом
3159 handshake не оказалось правильного клиентского сертификата.
3160 Спасибо Александру Инюхину.
3161
3162 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
3163 error_page без изменения кода ошибки nginx пытался выделить очень
3164 много памяти.
3165
3166 *) Исправление: утечки памяти в долгоживущих небуфферизированных
3167 соединениях.
3168
3169 *) Исправление: утечки памяти в resolver'е.
3170
3171 *) Исправление: при перенаправлении запроса из location'а c обработчиком
3172 proxy в другой location с обработчиком proxy в рабочем процессе
3173 происходил segmentation fault.
3174
3175 *) Исправление: ошибки в кэшировании переменных $proxy_host и
3176 $proxy_port.
3177 Спасибо Сергею Боченкову.
3178
3179 *) Исправление: директива proxy_pass с переменными использовала порт,
3180 описанной в другой директиве proxy_pass без переменных, но с таким же
3181 именем хоста.
3182 Спасибо Сергею Боченкову.
3183
3184 *) Исправление: во время переконфигурации на некоторых 64-битном
3185 платформах в лог записывался alert "sendmsg() failed (9: Bad file
3186 descriptor)".
3187
3188 *) Исправление: при повторном использовании в SSI пустого block'а в
3189 качестве заглушки в рабочем процессе происходил segmentation fault.
3190
3191 *) Исправление: ошибки при копировании части URI, содержащего
3192 экранированные символы, в аргументы.
3193
3194
3195 Изменения в nginx 0.6.26 11.02.2008
3196
3197 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
3198 ответа.
3199
3200 *) Исправление: при использовании большого значения в директиве expires
3201 в рабочем процессе происходил segmentation fault.
3202 Спасибо Joaquin Cuenca Abela.
3203
3204 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
3205 Спасибо Геннадию Махомеду.
3206
3207 *) Исправление: в проксированных подзапросах и подзапросах к
3208 FastCGI-серверу вместо метода GET использовался оригинальный метод
3209 клиента.
3210
3211 *) Исправление: утечки сокетов в режиме HTTPS при использовании
3212 отложенного accept'а.
3213 Спасибо Ben Maurer.
3214
3215 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
3216 (SSL: )"; ошибка появилась в 0.6.23.
3217
3218 *) Исправление: при использовании HTTPS запросы могли завершаться с
3219 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
3220
3221
3222 Изменения в nginx 0.6.25 08.01.2008
3223
3224 *) Изменение: вместо специального параметра "*" в директиве server_name
3225 теперь используется директива server_name_in_redirect.
3226
3227 *) Изменение: в качестве основного имени в директиве server_name теперь
3228 можно использовать имена с масками и регулярными выражениями.
3229
3230 *) Изменение: директива satisfy_any заменена директивой satisfy.
3231
3232 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
3233 нагружать процессор при запуске под Linux OpenVZ.
3234
3235 *) Добавление: директива min_delete_depth.
3236
3237 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
3238
3239 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
3240 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
3241
3242 *) Исправление: утечки сокетов в режиме HTTPS при использовании
3243 отложенного accept'а.
3244 Спасибо Ben Maurer.
3245
3246 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3247 в 0.6.23.
3248
3249
3250 Изменения в nginx 0.6.24 27.12.2007
3251
3252 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
3253 segmentation fault; ошибка появилась в 0.6.23.
3254
3255
3256 Изменения в nginx 0.6.23 27.12.2007
3257
3258 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
3259 параметр используется по умолчанию.
3260
3261 *) Изменение: директива open_file_cache_retest переименована в
3262 open_file_cache_valid.
3263
3264 *) Добавление: директива open_file_cache_min_uses.
3265
3266 *) Добавление: модуль ngx_http_gzip_static_module.
3267
3268 *) Добавление: директива gzip_disable.
3269
3270 *) Добавление: директиву memcached_pass можно использовать внутри блока
3271 if.
3272
3273 *) Исправление: если внутри одного location'а использовались директивы
3274 "memcached_pass" и "if", то в рабочем процессе происходил
3275 segmentation fault.
3276
3277 *) Исправление: если при использовании директивы satisfy_any on" были
3278 заданы директивы не всех модулей доступа, то заданные директивы не
3279 проверялись.
3280
3281 *) Исправление: параметры, заданные регулярным выражением в директиве
3282 valid_referers, не наследовалась с предыдущего уровня.
3283
3284 *) Исправление: директива post_action не работала, если запрос
3285 завершался с кодом 499.
3286
3287 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
3288 Спасибо Ben Maurer.
3289
3290 *) Исправление: STARTTLS в режиме SMTP не работал.
3291 Спасибо Олегу Мотиенко.
3292
3293 *) Исправление: при использовании HTTPS запросы могли завершаться с
3294 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
3295
3296
3297 Изменения в nginx 0.6.22 19.12.2007
3298
3299 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
3300 значения, скопированные в память, выделенную perl'ом.
3301
3302 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
3303 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
3304 время переконфигурации основной процесс аварийно выходил; ошибка
3305 появилась в 0.5.9.
3306 Спасибо Борису Жмурову.
3307
3308 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
3309 неверные результаты выделения в регулярных выражениях.
3310
3311 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
3312 у которого небольшое тело запроса было уже полностью получено, то в
3313 рабочем процессе происходил segmentation fault.
3314
3315 *) Исправление: large_client_header_buffers не освобождались перед
3316 переходом в состояние keep-alive.
3317 Спасибо Олександру Штепе.
3318
3319 *) Исправление: в переменной $upstream_addr не записывался последний
3320 адрес; ошибка появилась в 0.6.18.
3321
3322 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
3323 теперь она возвращает ошибку 502, которую можно направить на
3324 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
3325
3326 *) Исправление: при использовании директивы fastcgi_catch_stderr в
3327 основном процессе происходил segmentation fault; ошибка появилась в
3328 0.6.10.
3329 Спасибо Manlio Perillo.
3330
3331
3332 Изменения в nginx 0.6.21 03.12.2007
3333
3334 *) Изменение: если в значениях переменных директивы proxy_pass
3335 используются только IP-адреса, то указывать resolver не нужно.
3336
3337 *) Исправление: при использовании директивы proxy_pass c URI-частью в
3338 рабочем процессе мог произойти segmentation fault; ошибка появилась в
3339 0.6.19.
3340
3341 *) Исправление: если resolver использовался на платформах, не
3342 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
3343 response".
3344 Спасибо Андрею Нигматулину.
3345
3346 *) Исправление: При использовании переменной $server_protocol в
3347 FastCGI-параметрах и запросе, длина которого была близка к значению
3348 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
3349 the request record is too big".
3350
3351 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
3352 nginx возвращал обычный ответ.
3353
3354
3355 Изменения в nginx 0.6.20 28.11.2007
3356
3357 *) Исправление: при использовании директивы proxy_pass c URI-частью в
3358 рабочем процессе мог произойти segmentation fault; ошибка появилась в
3359 0.6.19.
3360
3361
3362 Изменения в nginx 0.6.19 27.11.2007
3363
3364 *) Исправление: версия 0.6.18 не собиралась.
3365
3366
3367 Изменения в nginx 0.6.18 27.11.2007
3368
3369 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
3370 процесса добавляет микросекунды на время старта.
3371
3372 *) Изменение: в error_log теперь записывается полная строка запроса
3373 вместо только URI.
3374
3375 *) Добавление: директива proxy_pass поддерживает переменные.
3376
3377 *) Добавление: директивы resolver и resolver_timeout.
3378
3379 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
3380 заголовке ответа строку "Last-Modified".
3381
3382 *) Исправление: директива limit_rate не позволяла передавать на полной
3383 скорости, даже если был указан очень большой лимит.
3384
3385
3386 Изменения в nginx 0.6.17 15.11.2007
3387
3388 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
3389 Спасибо Александру Инюхину.
3390
3391 *) Исправление: при использовании директивы msie_refresh повторно
3392 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
3393
3394 *) Исправление: директива autoindex не работала при использовании "alias
3395 /".
3396
3397 *) Исправление: при использовании подзапросов в рабочем процессе мог
3398 произойти segmentation fault.
3399
3400 *) Исправление: при использовании SSL и gzip большие ответы могли
3401 передаваться не полностью.
3402
3403 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
3404 то переменная $status была равна 0.
3405
3406
3407 Изменения в nginx 0.6.16 29.10.2007
3408
3409 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
3410 Спасибо Илье Новикову.
3411
3412 *) Исправление: если в директиве error_page использовался символ "?", то
3413 он экранировался при проксировании запроса; ошибка появилась в
3414 0.6.11.
3415
3416 *) Исправление: совместимость с mget.
3417
3418
3419 Изменения в nginx 0.6.15 22.10.2007
3420
3421 *) Добавление: совместимость с Cygwin.
3422 Спасибо Владимиру Кутакову.
3423
3424 *) Добавление: директива merge_slashes.
3425
3426 *) Добавление: директива gzip_vary.
3427
3428 *) Добавление: директива server_tokens.
3429
3430 *) Исправление: nginx не раскодировал URI в команде SSI include.
3431
3432 *) Исправление: при использовании переменной в директивах charset или
3433 source_charset на старте или во время переконфигурации происходил
3434 segmentation fault,
3435
3436 *) Исправление: nginx возвращал ошибку 400 на запросы вида
3437 "GET http://www.domain.com HTTP/1.0".
3438 Спасибо James Oakley.
3439
3440 *) Исправление: после перенаправления запроса с телом запроса с помощью
3441 директивы error_page nginx пытался снова прочитать тело запроса;
3442 ошибка появилась в 0.6.7.
3443
3444 *) Исправление: в рабочем процессе происходил segmentation fault, если у
3445 сервера, обрабатывающему запрос, не был явно определён server_name;
3446 ошибка появилась в 0.6.7.
3447
3448
3449 Изменения в nginx 0.6.14 15.10.2007
3450
3451 *) Изменение: теперь по умолчанию команда SSI echo использует
3452 кодирование entity.
3453
3454 *) Добавление: параметр encoding в команде SSI echo.
3455
3456 *) Добавление: директиву access_log можно использовать внутри блока
3457 limit_except.
3458
3459 *) Исправление: если все сервера апстрима оказывались недоступными, то
3460 до восстановления работоспособности у всех серверов вес становился
3461 равным одному; ошибка появилась в 0.6.6.
3462
3463 *) Исправление: при использовании переменных $date_local и $date_gmt вне
3464 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
3465 segmentation fault.
3466
3467 *) Исправление: при использовании включённом отладочном логе в рабочем
3468 процессе мог произойти segmentation fault.
3469 Спасибо Андрею Нигматулину.
3470
3471 *) Исправление: ngx_http_memcached_module не устанавливал
3472 $upstream_response_time.
3473 Спасибо Максиму Дунину.
3474
3475 *) Исправление: рабочий процесс мог зациклиться при использовании
3476 memcached.
3477
3478 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
3479 строке "Connection" в заголовке запроса только, если они были в
3480 нижнем регистре; ошибка появилась в 0.6.11.
3481
3482 *) Исправление: sub_filter не работал с пустой строкой замены.
3483
3484 *) Исправление: в парсинге sub_filter.
3485
3486
3487 Изменения в nginx 0.6.13 24.09.2007
3488
3489 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
3490 использовался autoindex
3491 Спасибо Arkadiusz Patyk.
3492
3493
3494 Изменения в nginx 0.6.12 21.09.2007
3495
3496 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
3497 и smtp.
3498
3499 *) Добавление: параметры конфигурации --without-mail_pop3_module,
3500 --without-mail_imap_module и --without-mail_smtp_module.
3501
3502 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
3503 ngx_mail_smtp_module.
3504
3505 *) Исправление: wildcard в конце имени сервера не работали; ошибка
3506 появилась в 0.6.9.
3507
3508 *) Исправление: при использовании разделяемой библиотеки PCRE,
3509 расположенной в нестандартном месте, nginx не запускался на Solaris.
3510
3511 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
3512 скрывали строки заголовка ответа с именем больше 32 символов.
3513 Спасибо Manlio Perillo.
3514
3515
3516 Изменения в nginx 0.6.11 11.09.2007
3517
3518 *) Исправление: счётчик активных соединений всегда рос при использовании
3519 почтового прокси-сервера.
3520
3521 *) Исправление: если бэкенд возвращал только заголовок ответа при
3522 небуферизированном проксировании, то nginx закрывал соединение с
3523 бэкендом по таймауту.
3524
3525 *) Исправление: nginx не поддерживал несколько строк "Connection" в
3526 заголовке запроса.
3527
3528 *) Исправление: если в сервере апстрима был задан max_fails, то после
3529 первой же неудачной попытки вес сервера навсегда становился равным
3530 одному; ошибка появилась в 0.6.6.
3531
3532
3533 Изменения в nginx 0.6.10 03.09.2007
3534
3535 *) Добавление: директивы open_file_cache, open_file_cache_retest и
3536 open_file_cache_errors.
3537
3538 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
3539
3540 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
3541 методе $r->send_http_header(), не добавлялась кодировка, указанная в
3542 директиве charset.
3543
3544 *) Исправление: при использовании метода /dev/poll в рабочем процессе
3545 мог произойти segmentation fault.
3546
3547
3548 Изменения в nginx 0.6.9 28.08.2007
3549
3550 *) Исправление: рабочий процесс мог зациклиться при использовании
3551 протокола HTTPS; ошибка появилась в 0.6.7.
3552
3553 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
3554 не запускался при использовании wildcard в конце имени сервера.
3555
3556 *) Исправление: директива ip_hash могла неверно помечать сервера как
3557 нерабочие.
3558
3559 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
3560
3561
3562 Изменения в nginx 0.6.8 20.08.2007
3563
3564 *) Изменение: теперь nginx пытается установить директивы
3565 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
3566 worker_rlimit_sigpending без привилегий root'а.
3567
3568 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
3569 запроса серверу аутентификации почтового прокси-сервера.
3570
3571 *) Изменение: теперь nginx экранирует символ "%" в переменной
3572 $memcached_key.
3573
3574 *) Исправление: при указании относительного пути к конфигурационному
3575 файлу в качестве параметра ключа -c nginx определял путь относительно
3576 конфигурационного префикса; ошибка появилась в 0.6.6.
3577
3578 *) Исправление: nginx не работал на FreeBSD/sparc64.
3579
3580
3581 Изменения в nginx 0.6.7 15.08.2007
3582
3583 *) Изменение: теперь пути, указанные в директивах include,
3584 auth_basic_user_file, perl_modules, ssl_certificate,
3585 ssl_certificate_key и ssl_client_certificate, определяются
3586 относительно каталога конфигурационного файла nginx.conf, а не
3587 относительно префикса.
3588
3589 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
3590
3591 *) Изменение: для обновления на лету версий 0.1.x создан специальный
3592 сценарий make upgrade1.
3593
3594 *) Добавление: директивы server_name и valid_referers поддерживают
3595 регулярные выражения.
3596
3597 *) Добавление: директива server в блоке upstream поддерживает параметр
3598 backup.
3599
3600 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3601 $r->discard_request_body.
3602
3603 *) Добавление: директива "add_header Last-Modified ..." меняет строку
3604 "Last-Modified" в заголовке ответа.
3605
3606 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
3607 отличным от 200, и после этого запроса соединение переходило в
3608 состояние keep-alive, то на следующий запрос nginx возвращал 400.
3609
3610 *) Исправление: если в директиве auth_http был задан неправильный адрес,
3611 то в рабочем процессе происходил segmentation fault.
3612
3613 *) Исправление: теперь по умолчанию nginx использует значение 511 для
3614 listen backlog на всех платформах, кроме FreeBSD.
3615 Спасибо Jiang Hong.
3616
3617 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
3618 upstream был помечен как down; ошибка появилась в 0.6.6.
3619
3620 *) Исправление: sendfilev() в Solaris теперь не используется при
3621 передаче тела запроса FastCGI-серверу через unix domain сокет.
3622
3623
3624 Изменения в nginx 0.6.6 30.07.2007
3625
3626 *) Добавление: параметр --sysconfdir=PATH в configure.
3627
3628 *) Добавление: именованные location'ы.
3629
3630 *) Добавление: переменную $args можно устанавливать с помощью set.
3631
3632 *) Добавление: переменная $is_args.
3633
3634 *) Исправление: равномерное распределение запросов к апстримам с
3635 большими весами.
3636
3637 *) Исправление: если клиент в почтовом прокси-сервере закрывал
3638 соединение, то nginx мог не закрывать соединение с бэкендом.
3639
3640 *) Исправление: при использовании одного хоста в качестве бэкендов для
3641 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
3642 только один порт - 80 или 443.
3643
3644 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
3645 более ранними версиями; ошибка появилась в 0.6.4.
3646
3647
3648 Изменения в nginx 0.6.5 23.07.2007
3649
3650 *) Добавление: переменная $nginx_version.
3651 Спасибо Николаю Гречуху.
3652
3653 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
3654 IMAP.
3655 Спасибо Максиму Дунину.
3656
3657 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
3658 SMTP.
3659 Спасибо Максиму Дунину.
3660
3661 *) Исправление: теперь nginx экранирует пробел в переменной
3662 $memcached_key.
3663
3664 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
3665 Спасибо Jiang Hong.
3666
3667 *) Исправление: незначительных потенциальных ошибок.
3668 Спасибо Coverity's Scan.
3669
3670
3671 Изменения в nginx 0.6.4 17.07.2007
3672
3673 *) Безопасность: при использовании директивы msie_refresh был возможен
3674 XSS.
3675 Спасибо Максиму Богуку.
3676
3677 *) Изменение: директивы proxy_store и fastcgi_store изменены.
3678
3679 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
3680
3681 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3682 Studio.
3683 Спасибо Андрею Нигматулину.
3684
3685 *) Изменение: обход ошибки в Sun Studio 12.
3686 Спасибо Jiang Hong.
3687
3688
3689 Изменения в nginx 0.6.3 12.07.2007
3690
3691 *) Добавление: директивы proxy_store и fastcgi_store.
3692
3693 *) Исправление: при использовании директивы auth_http_header в рабочем
3694 процессе мог произойти segmentation fault.
3695 Спасибо Максиму Дунину.
3696
3697 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
3698 не был разрешён, то в рабочем процессе происходил segmentation fault.
3699
3700 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
3701 в рабочем процессе мог произойти segmentation fault.
3702
3703 *) Исправление: в рабочем процессе мог произойти segmentation fault,
3704 если использовался метод eventport.
3705
3706 *) Исправление: директивы proxy_ignore_client_abort и
3707 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
3708
3709
3710 Изменения в nginx 0.6.2 09.07.2007
3711
3712 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
3713 nginx передавал клиенту мусор в таких заголовках.
3714
3715
3716 Изменения в nginx 0.6.1 17.06.2007
3717
3718 *) Исправление: в парсинге SSI.
3719
3720 *) Исправление: при использовании удалённого подзапроса в SSI
3721 последующий подзапрос локального файла мог отдаваться клиенту в
3722 неверном порядке.
3723
3724 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
3725 передавались не полностью.
3726
3727 *) Исправление: значение perl'овой переменной $$ модуля
3728 ngx_http_perl_module было равно номеру главного процесса.
3729
3730
3731 Изменения в nginx 0.6.0 14.06.2007
3732
3733 *) Добавление: директивы "server_name", "map", and "valid_referers"
3734 поддерживают маски вида "www.example.*".
3735
3736
3737 Изменения в nginx 0.5.25 11.06.2007
3738
3739 *) Исправление: nginx не собирался с параметром
3740 --without-http_rewrite_module; ошибка появилась в 0.5.24.
3741
3742
3743 Изменения в nginx 0.5.24 06.06.2007
3744
3745 *) Безопасность: директива ssl_verify_client не работала, если запрос
3746 выполнялся по протоколу HTTP/0.9.
3747
3748 *) Исправление: при использовании сжатия часть ответа могла передаваться
3749 несжатой; ошибка появилась в 0.5.23.
3750
3751
3752 Изменения в nginx 0.5.23 04.06.2007
3753
3754 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
3755 Server Name Indication.
3756
3757 *) Добавление: директива fastcgi_catch_stderr.
3758 Спасибо Николаю Гречуху, проект OWOX.
3759
3760 *) Исправление: на Линуксе в основном процессе происходил segmentation
3761 fault, если два виртуальных сервера должны bind()ится к
3762 пересекающимся портам.
3763
3764 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3765 perl поддерживал потоки, то во время второй переконфигурации
3766 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
3767
3768 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3769
3770
3771 Изменения в nginx 0.5.22 29.05.2007
3772
3773 *) Исправление: большое тело запроса могло не передаваться бэкенду;
3774 ошибка появилась в 0.5.21.
3775
3776
3777 Изменения в nginx 0.5.21 28.05.2007
3778
3779 *) Исправление: если внутри сервера описано больше примерно десяти
3780 location'ов, то location'ы, заданные с помощью регулярного выражения,
3781 могли выполняться не в том, порядке, в каком они описаны.
3782
3783 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
3784 если 33-тий по счёту или последующий бэкенд упал.
3785 Спасибо Антону Поварову.
3786
3787 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
3788 произойти bus error.
3789 Спасибо Андрею Нигматулину.
3790
3791 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3792
3793
3794 Изменения в nginx 0.5.20 07.05.2007
3795
3796 *) Добавление: директива sendfile_max_chunk.
3797
3798 *) Добавление: переменные "$http_...", "$sent_http_..." и
3799 "$upstream_http_..." можно менять директивой set.
3800
3801 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
3802 рабочем процессе мог произойти segmentation fault.
3803
3804 *) Исправление: завершающая строка multipart range ответа передавалась
3805 неверно.
3806 Спасибо Evan Miller.
3807
3808 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3809 Studio.
3810 Спасибо Андрею Нигматулину.
3811
3812 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
3813 Спасибо Андрею Нигматулину.
3814
3815
3816 Изменения в nginx 0.5.19 24.04.2007
3817
3818 *) Изменение: значение переменной $request_time теперь записывается с
3819 точностью до миллисекунд.
3820
3821 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
3822 переименован в $r->flush.
3823
3824 *) Добавление: переменная $upstream_addr.
3825
3826 *) Добавление: директивы proxy_headers_hash_max_size и
3827 proxy_headers_hash_bucket_size.
3828 Спасибо Володымыру Костырко.
3829
3830 *) Исправление: при использовании sendfile и limit_rate на 64-битных
3831 платформах нельзя было передавать файлы больше 2G.
3832
3833 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
3834 было передавать файлы больше 2G.
3835
3836
3837 Изменения в nginx 0.5.18 19.04.2007
3838
3839 *) Добавление: модуль ngx_http_sub_filter_module.
3840
3841 *) Добавление: переменные "$upstream_http_...".
3842
3843 *) Добавление: теперь переменные $upstream_status и
3844 $upstream_response_time содержат данные о всех обращениях к
3845 апстримам, сделанным до X-Accel-Redirect.
3846
3847 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3848 perl не поддерживал multiplicity, то после первой переконфигурации и
3849 после получения любого сигнала в основном процессе происходил
3850 segmentation fault; ошибка появилась в 0.5.9.
3851
3852 *) Исправление: если perl не поддерживал multiplicity, то после
3853 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
3854
3855
3856 Изменения в nginx 0.5.17 02.04.2007
3857
3858 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
3859
3860 *) Добавление: теперь nginx поддерживает директиву include внутри блока
3861 types.
3862
3863 *) Исправление: использование переменной $document_root в директиве root
3864 и alias запрещено: оно вызывало рекурсивное переполнение стека.
3865
3866 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3867
3868 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
3869 $uri) возвращали старое закэшированное значение.
3870
3871
3872 Изменения в nginx 0.5.16 26.03.2007
3873
3874 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
3875 использовалась сеть класса С.
3876 Спасибо Павлу Ярковому.
3877
3878 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
3879 был указан charset и строка завершалась символом ";", то в рабочем
3880 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
3881
3882 *) Исправление: ошибки "[alert] zero size buf" при работе с
3883 FastCGI-сервером, если тело запроса, записанное во временный файл,
3884 было кратно 32K.
3885
3886 *) Исправление: nginx не собирался на Solaris без параметра
3887 --with-debug; ошибка появилась в 0.5.15.
3888
3889
3890 Изменения в nginx 0.5.15 19.03.2007
3891
3892 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
3893 SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
3894 Спасибо Антону Южанинову и Максиму Дунину.
3895
3896 *) Добавление: теперь keep-alive соединения закрываются сразу же по
3897 получении сигнала переконфигурации.
3898
3899 *) Изменение: директивы imap и auth переименованы соответственно в mail
3900 и pop3_auth.
3901
3902 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
3903 был разрешён метод APOP, то в рабочем процессе происходил
3904 segmentation fault.
3905
3906 *) Исправление: при использовании директивы starttls only в протоколе
3907 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
3908
3909 *) Исправление: рабочие процессы не выходили после переконфигурации и не
3910 переоткрывали логи, если использовался метод eventport.
3911
3912 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
3913 зациклиться.
3914
3915 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
3916 используются методы eventport или /dev/poll.
3917
3918
3919 Изменения в nginx 0.5.14 23.02.2007
3920
3921 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
3922 конфигурационного файла.
3923
3924
3925 Изменения в nginx 0.5.13 19.02.2007
3926
3927 *) Добавление: методы COPY и MOVE.
3928
3929 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
3930 запросов, переданных по keep-alive соединению.
3931
3932 *) Исправление: nginx не работал на 64-битном big-endian Linux.
3933 Спасибо Андрею Нигматулину.
3934
3935 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
3936 теперь сразу закрывает соединение, а не по таймауту.
3937
3938 *) Исправление: если при использовании метода epoll клиент закрывал
3939 преждевременно соединение со своей стороны, то nginx закрывал это
3940 соединение только по истечении таймаута на передачу.
3941
3942 *) Исправление: nginx не собирался на платформах, отличных от i386,
3943 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3944
3945
3946 Изменения в nginx 0.5.12 12.02.2007
3947
3948 *) Исправление: nginx не собирался на платформах, отличных от i386,
3949 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3950
3951 *) Исправление: при использовании временных файлов в время работы с
3952 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
3953 ошибка появилась в 0.5.8.
3954
3955 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
3956 то в рабочем процессе мог произойти segmentation fault.
3957
3958 *) Исправление: ngx_http_perl_module не собирался на Solaris.
3959
3960
3961 Изменения в nginx 0.5.11 05.02.2007
3962
3963 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
3964 Спасибо Chris McGrath.
3965
3966 *) Исправление: ответ был неверным, если запрашивалось несколько
3967 диапазонов; ошибка появилась в 0.5.6.
3968
3969 *) Исправление: директива create_full_put_path не могла создавать
3970 промежуточные каталоги, если не была установлена директива
3971 dav_access.
3972 Спасибо Evan Miller.
3973
3974 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
3975 записываться код "0".
3976
3977 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3978 произойти segmentation fault.
3979
3980
3981 Изменения в nginx 0.5.10 26.01.2007
3982
3983 *) Исправление: во время обновления исполняемого файла новый процесс не
3984 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
3985
3986 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3987 произойти segmentation fault; ошибка появилась в 0.5.1.
3988
3989
3990 Изменения в nginx 0.5.9 25.01.2007
3991
3992 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
3993 использует значение переменной $memcached_key.
3994
3995 *) Добавление: переменная $memcached_key.
3996
3997 *) Добавление: параметр clean в директиве client_body_in_file_only.
3998
3999 *) Добавление: директива env.
4000
4001 *) Добавление: директива sendfile работает внутри блока if.
4002
4003 *) Добавление: теперь при ошибке записи в access_log nginx записывает
4004 сообщение в error_log, но не чаще одного раза в минуту.
4005
4006 *) Исправление: директива "access_log off" не всегда запрещала запись в
4007 лог.
4008
4009
4010 Изменения в nginx 0.5.8 19.01.2007
4011
4012 *) Исправление: если использовалась директива
4013 "client_body_in_file_only on" и тело запроса было небольшое, то мог
4014 произойти segmentation fault.
4015
4016 *) Исправление: происходил segmentation fault, если использовались
4017 директивы "client_body_in_file_only on" и
4018 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
4019 делался переход к следующему бэкенду.
4020
4021 *) Исправление: если при использовании директивы "proxy_buffering off"
4022 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
4023 заданному директивой send_timeout; ошибка появилась в 0.4.7.
4024
4025 *) Исправление: если при использовании метода epoll клиент закрывал
4026 преждевременно соединение со своей стороны, то nginx закрывал это
4027 соединение только по истечении таймаута на передачу.
4028
4029 *) Исправление: ошибки "[alert] zero size buf" при работе с
4030 FastCGI-сервером.
4031
4032 *) Исправление ошибок в директиве limit_zone.
4033
4034
4035 Изменения в nginx 0.5.7 15.01.2007
4036
4037 *) Добавление: оптимизация использования памяти в ssl_session_cache.
4038
4039 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
4040
4041 *) Исправление: на старте или во время переконфигурации происходил
4042 segmentation fault, если директивы ssl_session_cache или limit_zone
4043 использовались на 64-битных платформах.
4044
4045 *) Исправление: при использовании директив add_before_body или
4046 add_after_body происходил segmentation fault, если в заголовке ответа
4047 нет строки "Content-Type".
4048
4049 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
4050 потоков.
4051 Спасибо Дену Иванову.
4052
4053 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
4054
4055
4056 Изменения в nginx 0.5.6 09.01.2007
4057
4058 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
4059 кроме GET, HEAD и POST.
4060
4061 *) Добавление: модуль ngx_http_limit_zone_module.
4062
4063 *) Добавление: переменная $binary_remote_addr.
4064
4065 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
4066 ngx_imap_ssl_module.
4067
4068 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
4069
4070 *) Исправление: при использовании $r->sendfile() byte-ranges
4071 передавались неверно.
4072
4073
4074 Изменения в nginx 0.5.5 24.12.2006
4075
4076 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
4077
4078 *) Добавление: ключ -V.
4079
4080 *) Добавление: директива worker_rlimit_core поддерживает указание
4081 размера в K, M и G.
4082
4083 *) Исправление: модуль nginx.pm теперь может устанавливаться
4084 непривилегированным пользователем.
4085
4086 *) Исправление: при использовании методов $r->request_body или
4087 $r->request_body_file мог произойти segmentation fault.
4088
4089 *) Исправление: ошибок, специфичных для платформы ppc.
4090
4091
4092 Изменения в nginx 0.5.4 15.12.2006
4093
4094 *) Добавление: директиву perl можно использовать внутри блока
4095 limit_except.
4096
4097 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
4098 заголовке запроса для метода DELETE.
4099
4100 *) Исправление: при использовании одного параметра в директиве
4101 dav_access nginx мог сообщить об ошибке в конфигурации.
4102
4103 *) Исправление: при использовании переменной $host мог произойти
4104 segmentation fault; ошибка появилась в 0.4.14.
4105
4106
4107 Изменения в nginx 0.5.3 13.12.2006
4108
4109 *) Добавление: модуль ngx_http_perl_module поддерживает методы
4110 $r->status, $r->log_error и $r->sleep.
4111
4112 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
4113 конфигурации nginx'а.
4114
4115 *) Исправление: метод $r->has_request_body не работал.
4116
4117
4118 Изменения в nginx 0.5.2 11.12.2006
4119
4120 *) Исправление: если в директивах proxy_pass использовалось имя,
4121 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
4122 ошибка появилась в 0.5.1.
4123
4124
4125 Изменения в nginx 0.5.1 11.12.2006
4126
4127 *) Исправление: директива post_action могла не работать после неудачного
4128 завершения запроса.
4129
4130 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
4131 Спасибо Bron Gondwana.
4132
4133 *) Исправление: при указании в директиве fastcgi_pass имени описанного
4134 upstream'а выдавалось сообщение "no port in upstream"; ошибка
4135 появилась в 0.5.0.
4136
4137 *) Исправление: если в директивах proxy_pass и fastcgi_pass
4138 использовались одинаковых имена серверов, но с разными портами, то
4139 эти директивы использовали первый описанный порт; ошибка появилась в
4140 0.5.0.
4141
4142 *) Исправление: если в директивах proxy_pass и fastcgi_pass
4143 использовались unix domain сокеты, то эти директивы использовали
4144 первый описанный сокет; ошибка появилась в 0.5.0.
4145
4146 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
4147 если он был указан в последней строке файла паролей и после пароля не
4148 было перевода строки, возврата каретки или символа ":".
4149
4150 *) Исправление: переменная $upstream_response_time могла быть равна
4151 "0.000", хотя время обработки было больше 1 миллисекунды.
4152
4153
4154 Изменения в nginx 0.5.0 04.12.2006
4155
4156 *) Изменение: параметры в виде "%name" в директиве log_format больше не
4157 поддерживаются.
4158
4159 *) Изменение: директивы proxy_upstream_max_fails,
4160 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
4161 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
4162 memcached_upstream_fail_timeout больше не поддерживаются.
4163
4164 *) Добавление: директива server в блоке upstream поддерживает параметры
4165 max_fails, fail_timeout и down.
4166
4167 *) Добавление: директива ip_hash в блоке upstream.
4168
4169 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
4170 сервера аутентификации IMAP/POP3 прокси.
4171
4172 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
4173 появилась в 0.4.14.
4174
4175
4176 Изменения в nginx 0.4.14 27.11.2006
4177
4178 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
4179
4180 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
4181 Linux и NetBSD.
4182
4183 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
4184 поддержкой потоков; ошибка появилась в 0.3.38.
4185
4186 *) Исправление: ngx_http_perl_module не работал корректно, если перл
4187 вызывался рекурсивно.
4188
4189 *) Исправление: nginx игнорировал имя сервера в строке запроса.
4190
4191 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
4192 процесс мог зациклиться.
4193
4194 *) Исправление: при изменении системного времени переменная
4195 $upstream_response_time могла быть отрицательной.
4196
4197 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
4198 прокси не передавался параметр Auth-Login-Attempt.
4199
4200 *) Исправление: при ошибке соединения с сервером аутентификации
4201 IMAP/POP3 прокси мог произойти segmentation fault.
4202
4203
4204 Изменения в nginx 0.4.13 15.11.2006
4205
4206 *) Добавление: директиву proxy_pass можно использовать внутри блока
4207 limit_except.
4208
4209 *) Добавление: директива limit_except поддерживает все WebDAV методы.
4210
4211 *) Исправление: при использовании директивы add_before_body без
4212 директивы add_after_body ответ передавался не полностью.
4213
4214 *) Исправление: большое тело запроса не принималось, если использовались
4215 метод epoll и deferred accept().
4216
4217 *) Исправление: для ответов модуля ngx_http_autoindex_module не
4218 выставлялась кодировка; ошибка появилась в 0.3.50.
4219
4220 *) Исправление: ошибки "[alert] zero size buf" при работе с
4221 FastCGI-сервером;
4222
4223 *) Исправление: параметр конфигурации --group= игнорировался.
4224 Спасибо Thomas Moschny.
4225
4226 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
4227 в 0.3.50.
4228
4229
4230 Изменения в nginx 0.4.12 31.10.2006
4231
4232 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4233 $r->variable.
4234
4235 *) Исправление: при включении в ответ большого статического файла с
4236 помощью SSI ответ мог передаваться не полностью.
4237
4238 *) Исправление: nginx не убирал "#fragment" в URI.
4239
4240
4241 Изменения в nginx 0.4.11 25.10.2006
4242
4243 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
4244
4245 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4246 $r->allow_ranges.
4247
4248 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
4249 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
4250
4251
4252 Изменения в nginx 0.4.10 23.10.2006
4253
4254 *) Добавление: POP3 прокси поддерживает APOP.
4255
4256 *) Исправление: при использовании методов select, poll и /dev/poll во
4257 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
4258 нагружал процессор.
4259
4260 *) Исправление: при использовании переменной $server_addr в директиве
4261 map мог произойти segmentation fault.
4262
4263 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
4264 для полных ответов; ошибка появилась в 0.4.7.
4265
4266 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
4267 0.4.9.
4268
4269
4270 Изменения в nginx 0.4.9 13.10.2006
4271
4272 *) Добавление: параметр set в команде SSI include.
4273
4274 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
4275 модуля nginx.pm.
4276
4277
4278 Изменения в nginx 0.4.8 11.10.2006
4279
4280 *) Исправление: если до команды SSI include с параметром wait
4281 выполнялась ещё одна команда SSI include, то параметр wait мог не
4282 работать.
4283
4284 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
4285 полных ответов.
4286 Спасибо Алексею Ковырину.
4287
4288
4289 Изменения в nginx 0.4.7 10.10.2006
4290
4291 *) Добавление: модуль ngx_http_flv_module.
4292
4293 *) Добавление: переменная $request_body_file.
4294
4295 *) Добавление: директивы charset и source_charset поддерживают
4296 переменные.
4297
4298 *) Исправление: если до команды SSI include с параметром wait
4299 выполнялась ещё одна команда SSI include, то параметр wait мог не
4300 работать.
4301
4302 *) Исправление: при использовании директивы "proxy_buffering off" или
4303 при работе с memcached соединения могли не закрываться по таймауту.
4304
4305 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4306 amd64, sparc64 и ppc64.
4307
4308
4309 Изменения в nginx 0.4.6 06.10.2006
4310
4311 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4312 amd64, sparc64 и ppc64.
4313
4314 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
4315 chunk'ами, если длина ответа в методе
4316 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
4317
4318 *) Исправление: после перенаправления ошибки с помощью директивы
4319 error_page любая директива модуля ngx_http_rewrite_module возвращала
4320 эту ошибку; ошибка появилась в 0.4.4.
4321
4322
4323 Изменения в nginx 0.4.5 02.10.2006
4324
4325 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4326 в 0.4.4.
4327
4328
4329 Изменения в nginx 0.4.4 02.10.2006
4330
4331 *) Добавление: переменная $scheme.
4332
4333 *) Добавление: директива expires поддерживает параметр max.
4334
4335 *) Добавление: директива include поддерживает маску "*".
4336 Спасибо Jonathan Dance.
4337
4338 *) Исправление: директива return всегда изменяла код ответа,
4339 перенаправленного директивой error_page.
4340
4341 *) Исправление: происходил segmentation fault, если в методе PUT
4342 передавалось тело нулевой длины.
4343
4344 *) Исправление: при использовании переменных в директиве proxy_redirect
4345 редирект изменялся неверно.
4346
4347
4348 Изменения в nginx 0.4.3 26.09.2006
4349
4350 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
4351 error_page.
4352
4353 *) Добавление: поддержка Solaris 10 event ports.
4354
4355 *) Добавление: модуль ngx_http_browser_module.
4356
4357 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
4358 помощью директивы error_page мог произойти segmentation fault.
4359
4360 *) Исправление: происходил segmentation fault, если в директиве
4361 proxy_pass использовался unix domain сокет; ошибка появилась в
4362 0.3.47.
4363
4364 *) Исправление: SSI не работал с ответами memcached и
4365 небуферизированными проксированными ответами.
4366
4367 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
4368
4369
4370 Изменения в nginx 0.4.2 14.09.2006
4371
4372 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
4373 появилась в 0.4.1.
4374
4375
4376 Изменения в nginx 0.4.1 14.09.2006
4377
4378 *) Исправление: совместимость с DragonFlyBSD.
4379 Спасибо Павлу Назарову.
4380
4381 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
4382 файлов больше 2G.
4383
4384 *) Добавление: теперь на Linux nginx для статических запросов использует
4385 флаг O_NOATIME.
4386 Спасибо Yusuf Goolamabbas.
4387
4388
4389 Изменения в nginx 0.4.0 30.08.2006
4390
4391 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
4392 фазы init module в фазу HTTP postconfiguration.
4393
4394 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
4395 считывается заранее: нужно явно инициировать чтение с помощью метода
4396 $r->has_request_body.
4397
4398 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
4399 DECLINED.
4400
4401 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
4402 заголовка "Date" для метода PUT.
4403
4404 *) Добавление: директива ssi работает внутри блока if.
4405
4406 *) Исправление: происходил segmentation fault, если в директиве index
4407 использовалась переменные и при этом первое имя индексного файла было
4408 без переменных; ошибка появилась в 0.1.29.
4409
4410
4411 Изменения в nginx 0.3.61 28.08.2006
4412
4413 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
4414
4415 *) Добавление: директива msie_refresh.
4416
4417 *) Добавление: директива recursive_error_pages.
4418
4419 *) Исправление: директива rewrite возвращала неправильный редирект, если
4420 редирект включал в себя выделенные закодированные символы из
4421 оригинального URI.
4422
4423
4424 Изменения в nginx 0.3.60 18.08.2006
4425
4426 *) Исправление: во время перенаправления ошибки рабочий процесс мог
4427 зациклиться; ошибка появилась в 0.3.59.
4428
4429
4430 Изменения в nginx 0.3.59 16.08.2006
4431
4432 *) Добавление: теперь можно делать несколько перенаправлений через
4433 директиву error_page.
4434
4435 *) Исправление: директива dav_access не поддерживала три параметра.
4436
4437 *) Исправление: директива error_page не изменяла строку "Content-Type"
4438 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
4439 в 0.3.58.
4440
4441
4442 Изменения в nginx 0.3.58 14.08.2006
4443
4444 *) Добавление: директива error_page поддерживает переменные.
4445
4446 *) Изменение: теперь на Linux используется интерфейс procfs вместо
4447 sysctl.
4448
4449 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
4450 "Content-Type" наследуется из первоначального ответа.
4451
4452 *) Исправление: директива error_page не перенаправляла ошибку 413.
4453
4454 *) Исправление: завершающий "?" не удалял старые аргументы, если в
4455 переписанном URI не было новых аргументов.
4456
4457 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
4458
4459
4460 Изменения в nginx 0.3.57 09.08.2006
4461
4462 *) Добавление: переменная $ssl_client_serial.
4463
4464 *) Исправление: в операторе "!-e" в директиве if.
4465 Спасибо Андриану Буданцову.
4466
4467 *) Исправление: при проверке клиентского сертификата nginx не передавал
4468 клиенту информацию о требуемых сертификатах.
4469
4470 *) Исправление: переменная $document_root не поддерживала переменные в
4471 директиве root.
4472
4473
4474 Изменения в nginx 0.3.56 04.08.2006
4475
4476 *) Добавление: директива dav_access.
4477
4478 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
4479 "!-e", "-x" и "!-x".
4480
4481 *) Исправление: при записи в access_log некоторых передаваемых клиенту
4482 строк заголовков происходил segmentation fault, если запрос возвращал
4483 редирект.
4484
4485
4486 Изменения в nginx 0.3.55 28.07.2006
4487
4488 *) Добавление: параметр stub в команде SSI include.
4489
4490 *) Добавление: команда SSI block.
4491
4492 *) Добавление: скрипт unicode2nginx добавлен в contrib.
4493
4494 *) Исправление: если root был задан только переменной, то корень
4495 задавался относительно префикса сервера.
4496
4497 *) Исправление: если в запросе был "//" или "/.", и после этого
4498 закодированные символы в виде "%XX", то проксируемый запрос
4499 передавался незакодированным.
4500
4501 *) Исправление: метод $r->header_in("Cookie") модуля
4502 ngx_http_perl_module теперь возвращает все строки "Cookie" в
4503 заголовке запроса.
4504
4505 *) Исправление: происходил segmentation fault, если использовался
4506 "client_body_in_file_only on" и делался переход к следующему бэкенду.
4507
4508 *) Исправление: при некоторых условиях во время переконфигурации коды
4509 символов внутри директивы charset_map могли считаться неверными;
4510 ошибка появилась в 0.3.50.
4511
4512
4513 Изменения в nginx 0.3.54 11.07.2006
4514
4515 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
4516
4517 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
4518 memcached_next_upstream поддерживают параметр off.
4519
4520 *) Добавление: директива debug_connection поддерживает запись адресов в
4521 формате CIDR.
4522
4523 *) Исправление: при перекодировании ответа проксированного сервера или
4524 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
4525 полностью.
4526
4527 *) Исправление: переменная $upstream_response_time содержала время
4528 только первого обращения к бэкенду.
4529
4530 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
4531 в 0.3.53.
4532
4533
4534 Изменения в nginx 0.3.53 07.07.2006
4535
4536 *) Изменение: директива add_header добавляет строки в ответы с кодом
4537 204, 301 и 302.
4538
4539 *) Добавление: директива server в блоке upstream поддерживает параметр
4540 weight.
4541
4542 *) Добавление: директива server_name поддерживает маску "*".
4543
4544 *) Добавление: nginx поддерживает тело запроса больше 2G.
4545
4546 *) Исправление: если при использовании "satisfy_any on" клиент успешно
4547 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
4548 forbidden by rule".
4549
4550 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
4551 409.
4552
4553 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
4554 ошибку, nginx продолжал проксирование.
4555
4556
4557 Изменения в nginx 0.3.52 03.07.2006
4558
4559 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
4560 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
4561 ошибку 405.
4562
4563 *) Исправление: при использовании ограничения скорости рабочий процесс
4564 мог зациклиться; ошибка появилась в 0.3.37.
4565
4566 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
4567 "unknown charset", даже если перекодировка не требовалась; ошибка
4568 появилась в 0.3.50.
4569
4570 *) Исправление: если в результате запроса PUT возвращался код 409, то
4571 временный файл не удалялся.
4572
4573
4574 Изменения в nginx 0.3.51 30.06.2006
4575
4576 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
4577 ошибка появилась в 0.3.50.
4578
4579
4580 Изменения в nginx 0.3.50 28.06.2006
4581
4582 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
4583 переименованы соответственно в proxy_intercept_errors и
4584 fastcgi_intercept_errors.
4585
4586 *) Добавление: модуль ngx_http_charset_module поддерживает
4587 перекодирование из однобайтных кодировок в UTF-8 и обратно.
4588
4589 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4590 "X-Accel-Charset" в ответе бэкенда.
4591
4592 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
4593 только если также использовался символ "$".
4594
4595 *) Исправление: при некоторых условиях в SSI после вставки могла быть
4596 добавлена строка "<!--".
4597
4598 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
4599 то при использовании небуферизированного проксировании не закрывалось
4600 соединение с клиентом.
4601
4602
4603 Изменения в nginx 0.3.49 31.05.2006
4604
4605 *) Исправление: в директиве set.
4606
4607 *) Исправление: при включении в ssi двух и более подзапросов,
4608 обрабатываемых через FastCGI, вместо вывода второго и остальных
4609 подзапросов в ответ включался вывод первого подзапроса.
4610
4611
4612 Изменения в nginx 0.3.48 29.05.2006
4613
4614 *) Изменение: теперь модуль ngx_http_charset_module работает для
4615 подзапросов, в ответах которых нет строки заголовка "Content-Type".
4616
4617 *) Исправление: если в директиве proxy_pass не было URI, то директива
4618 "proxy_redirect default" добавляла в переписанный редирект в начало
4619 лишний слэш.
4620
4621 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
4622 GET, теперь это делается только для редиректов, выполняемых с помощью
4623 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
4624 0.3.42.
4625
4626 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
4627 с поддержкой потоков; ошибка появилась в 0.3.46.
4628
4629
4630 Изменения в nginx 0.3.47 23.05.2006
4631
4632 *) Добавление: директива upstream.
4633
4634 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
4635 всегда убирается.
4636
4637
4638 Изменения в nginx 0.3.46 11.05.2006
4639
4640 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
4641 fastcgi_hide_header и fastcgi_pass_header.
4642
4643 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
4644 proxy_pass_server упразднены.
4645
4646 *) Добавление: в режиме прокси поддерживается строка заголовка
4647 "X-Accel-Buffering" в ответе бэкенда.
4648
4649 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
4650 ngx_http_perl_module.
4651
4652
4653 Изменения в nginx 0.3.45 06.05.2006
4654
4655 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
4656 ssl_client_certificate.
4657
4658 *) Изменение: теперь переменная $request_method возвращает метод только
4659 основного запроса.
4660
4661 *) Изменение: в таблице перекодировки koi-win изменены коды символа
4662 &deg;.
4663
4664 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
4665 номера.
4666
4667 *) Исправление: если nginx распределял запросы на несколько машин, то
4668 при падении одной из них запросы, предназначенные для этой машины,
4669 перенаправлялись только на одну машину вместо того, чтобы равномерно
4670 распределяться между остальными.
4671
4672
4673 Изменения в nginx 0.3.44 04.05.2006
4674
4675 *) Добавление: параметр wait в команде SSI include.
4676
4677 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
4678 белорусские символы.
4679
4680 *) Исправление: в SSI.
4681
4682
4683 Изменения в nginx 0.3.43 26.04.2006
4684
4685 *) Исправление: в SSI.
4686
4687
4688 Изменения в nginx 0.3.42 26.04.2006
4689
4690 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
4691
4692 *) Исправление: ошибки при использовании в директиве rewrite одного и
4693 того же выделения более одного раза.
4694
4695 *) Исправление: в лог не записывались переменные
4696 $sent_http_content_type, $sent_http_content_length,
4697 $sent_http_last_modified, $sent_http_connection,
4698 $sent_http_keep_alive и $sent_http_transfer_encoding.
4699
4700 *) Исправление: переменная $sent_http_cache_control возвращала
4701 содержимое только одной строки "Cache-Control" в заголовке ответа.
4702
4703
4704 Изменения в nginx 0.3.41 21.04.2006
4705
4706 *) Добавление: ключ -v.
4707
4708 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
4709 segmentation fault.
4710
4711 *) Исправление: в обработке FastCGI.
4712
4713 *) Исправление: если путь к перловым модулям не был указан с помощью
4714 --with-perl_modules_path=PATH или директивы perl_modules, то на
4715 старте происходил segmentation fault.
4716
4717
4718 Изменения в nginx 0.3.40 19.04.2006
4719
4720 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
4721
4722 *) Добавление: директива create_full_put_path.
4723
4724 *) Добавление: переменная $limit_rate.
4725
4726
4727 Изменения в nginx 0.3.39 17.04.2006
4728
4729 *) Добавление: директива uninitialized_variable_warn; уровень
4730 логгирования сообщения о неинициализированной переменной понижен с
4731 уровня alert на warn.
4732
4733 *) Добавление: директива override_charset.
4734
4735 *) Изменение: при использовании неизвестной переменной в SSI-командах
4736 echo и if expr='$name' теперь не записывается в лог сообщение о
4737 неизвестной переменной.
4738
4739 *) Исправление: счётчик активных соединений рос при превышении лимита
4740 соединений, заданного директивой worker_connections; ошибка появилась
4741 в 0.2.0.
4742
4743 *) Исправление: при некоторых условия ограничение скорости соединения
4744 могло не работать; ошибка появилась в 0.3.38.
4745
4746
4747 Изменения в nginx 0.3.38 14.04.2006
4748
4749 *) Добавление: модуль ngx_http_dav_module.
4750
4751 *) Изменение: оптимизация модуля ngx_http_perl_module.
4752 Спасибо Сергею Скворцову.
4753
4754 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4755 $r->request_body_file.
4756
4757 *) Добавление: директива client_body_in_file_only.
4758
4759 *) Изменение: теперь при переполнении диска nginx пытается писать
4760 access_log'и только раз в секунду.
4761 Спасибо Антону Южанинову и Максиму Дунину.
4762
4763 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
4764 при значениях больше 100 Kbyte/s.
4765 Спасибо ForJest.
4766
4767 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
4768 символы "\r" и "\n" в логине и пароле в закодированном виде.
4769 Спасибо Максиму Дунину.
4770
4771
4772 Изменения в nginx 0.3.37 07.04.2006
4773
4774 *) Добавление: директива limit_except.
4775
4776 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
4777 "!-f".
4778
4779 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4780 $r->request_body.
4781
4782 *) Исправление: в модуле ngx_http_addition_filter_module.
4783
4784
4785 Изменения в nginx 0.3.36 05.04.2006
4786
4787 *) Добавление: модуль ngx_http_addition_filter_module.
4788
4789 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
4790 внутри блока if.
4791
4792 *) Добавление: директивы proxy_ignore_client_abort и
4793 fastcgi_ignore_client_abort.
4794
4795 *) Добавление: переменная $request_completion.
4796
4797 *) Добавление: модуль ngx_http_perl_module поддерживает методы
4798 $r->request_method и $r->remote_addr.
4799
4800 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
4801
4802 *) Исправление: строка "\/" в начале выражения команды if модуля
4803 ngx_http_ssi_module воспринималась неверно.
4804
4805 *) Исправление: в использовании регулярных выражениях в команде if
4806 модуля ngx_http_ssi_module.
4807
4808 *) Исправление: при задании относительного пути в директивах
4809 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
4810 perl_modules использовался каталог относительно текущего каталога, а
4811 не относительно префикса сервера.
4812
4813
4814 Изменения в nginx 0.3.35 22.03.2006
4815
4816 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
4817 для первой директивы listen; ошибка появилась в 0.3.31.
4818
4819 *) Исправление: в директиве proxy_pass без URI при использовании в
4820 подзапросе.
4821
4822
4823 Изменения в nginx 0.3.34 21.03.2006
4824
4825 *) Добавление: директива add_header поддерживает переменные.
4826
4827
4828 Изменения в nginx 0.3.33 15.03.2006
4829
4830 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
4831 fastcgi_next_upstream.
4832
4833 *) Исправление: ngx_http_perl_module не работал со встроенным в
4834 конфигурационный файл кодом, если он не начинался сразу же с "sub".
4835
4836 *) Исправление: в директиве post_action.
4837
4838
4839 Изменения в nginx 0.3.32 11.03.2006
4840
4841 *) Исправление: удаление отладочного логгирования на старте и при
4842 переконфигурации; ошибка появилась в 0.3.31.
4843
4844
4845 Изменения в nginx 0.3.31 10.03.2006
4846
4847 *) Изменение: теперь nginx передаёт неверные ответы проксированного
4848 бэкенда.
4849
4850 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
4851
4852 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
4853
4854 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
4855 64-битном ядре MacOSX.
4856 Спасибо Андрею Нигматулину.
4857
4858 *) Исправление: если внутри одного сервера описаны несколько директив
4859 listen, слушающих на разных адресах, то имена серверов вида
4860 "*.domain.tld" работали только для первого адреса; ошибка появилась в
4861 0.3.18.
4862
4863 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4864 не передавались запросы с телом, записанным во временный файл.
4865
4866 *) Исправление: совместимость с perl 5.8.8.
4867
4868
4869 Изменения в nginx 0.3.30 22.02.2006
4870
4871 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
4872 с уровня crit.
4873
4874 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
4875 ngx_http_ssi_filter_module.
4876
4877 *) Исправление: nginx не собирался на i386 платформе, если использовался
4878 PIC; ошибка появилась в 0.3.27.
4879
4880
4881 Изменения в nginx 0.3.29 20.02.2006
4882
4883 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
4884 FastCGI передаёт большое количество предупреждений перед ответом.
4885
4886 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
4887 строка заголовка "Transfer-Encoding: chunked".
4888
4889 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
4890 передавал полные строки заголовка ответа в отдельных FastCGI записях.
4891
4892 *) Исправление: если в директиве post_action был указан проксируемый
4893 URI, то он выполнялся только после успешного завершения запроса.
4894
4895
4896 Изменения в nginx 0.3.28 16.02.2006
4897
4898 *) Добавление: директива restrict_host_names упразднена.
4899
4900 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
4901
4902 *) Исправление: при некоторых условиях проксированное соединение с
4903 клиентом завершалось преждевременно.
4904 Спасибо Владимиру Шутову.
4905
4906 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
4907 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
4908
4909 *) Исправление: директива post_action работала только после успешного
4910 завершения запроса.
4911
4912 *) Исправление: тело проксированного ответа, создаваемого директивой
4913 post_action, передавалось клиенту.
4914
4915
4916 Изменения в nginx 0.3.27 08.02.2006
4917
4918 *) Изменение: директивы variables_hash_max_size и
4919 variables_hash_bucket_size.
4920
4921 *) Добавление: переменная $body_bytes_sent доступна не только в
4922 директиве log_format.
4923
4924 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
4925
4926 *) Добавление: определение размера строки кэша распространённых
4927 процессоров при старте.
4928
4929 *) Добавление: директива accept_mutex теперь поддерживается посредством
4930 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
4931
4932 *) Добавление: директива lock_file и параметр автоконфигурации
4933 --with-lock-path=PATH.
4934
4935 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4936 не передавались запросы с телом.
4937
4938
4939 Изменения в nginx 0.3.26 03.02.2006
4940
4941 *) Изменение: директива optimize_host_names переименована в
4942 optimize_server_names.
4943
4944 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
4945 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
4946
4947
4948 Изменения в nginx 0.3.25 01.02.2006
4949
4950 *) Исправление: при неверной конфигурации на старте или во время
4951 переконфигурации происходил segmentation fault; ошибка появилась в
4952 0.3.24.
4953
4954
4955 Изменения в nginx 0.3.24 01.02.2006
4956
4957 *) Изменение: обход ошибки в kqueue во FreeBSD.
4958
4959 *) Исправление: ответ, создаваемый директивой post_action, теперь не
4960 передаётся клиенту.
4961
4962 *) Исправление: при использовании большого количества лог-файлов
4963 происходила утечка памяти.
4964
4965 *) Исправление: внутри одного location работала только первая директива
4966 proxy_redirect.
4967
4968 *) Исправление: на 64-битных платформах при старте мог произойти
4969 segmentation fault, если использовалось большое количество имён в
4970 директивах server_name; ошибка появилась в 0.3.18.
4971
4972
4973 Изменения в nginx 0.3.23 24.01.2006
4974
4975 *) Добавление: директива optimize_host_names.
4976
4977 *) Исправление: ошибки при использовании переменных в директивах path и
4978 alias.
4979
4980 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
4981 Linux и Solaris.
4982
4983
4984 Изменения в nginx 0.3.22 17.01.2006
4985
4986 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
4987 и $r->unescape.
4988
4989 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
4990 упразднён.
4991
4992 *) Исправление: если в директиве valid_referers указаны только none или
4993 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
4994
4995
4996 Изменения в nginx 0.3.21 16.01.2006
4997
4998 *) Добавление: модуль ngx_http_perl_module.
4999
5000 *) Изменение: директива valid_referers разрешает использовать рефереры
5001 совсем без URI.
5002
5003
5004 Изменения в nginx 0.3.20 11.01.2006
5005
5006 *) Исправление: ошибки в обработке SSI.
5007
5008 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
5009 виде /uri?args.
5010
5011
5012 Изменения в nginx 0.3.19 28.12.2005
5013
5014 *) Добавление: директивы path и alias поддерживают переменные.
5015
5016 *) Изменение: теперь директива valid_referers опять учитывает URI.
5017
5018 *) Исправление: ошибки в обработке SSI.
5019
5020
5021 Изменения в nginx 0.3.18 26.12.2005
5022
5023 *) Добавление: директива server_names поддерживает имена вида
5024 ".domain.tld".
5025
5026 *) Добавление: директива server_names использует хэш для имён вида
5027 "*.domain.tld" и более эффективный хэш для обычных имён.
5028
5029 *) Изменение: директивы server_names_hash_max_size и
5030 server_names_hash_bucket_size.
5031
5032 *) Изменение: директивы server_names_hash и server_names_hash_threshold
5033 упразднены.
5034
5035 *) Добавление: директива valid_referers использует хэш для имён сайтов.
5036
5037 *) Изменение: теперь директива valid_referers проверяет только имена
5038 сайтов без учёта URI.
5039
5040 *) Исправление: некоторые имена вида ".domain.tld" неверно
5041 обрабатывались модулем ngx_http_map_module.
5042
5043 *) Исправление: если конфигурационного файла не было, то происходил
5044 segmentation fault; ошибка появилась в 0.3.12.
5045
5046 *) Исправление: на 64-битных платформах при старте мог произойти
5047 segmentation fault; ошибка появилась в 0.3.16.
5048
5049
5050 Изменения в nginx 0.3.17 18.12.2005
5051
5052 *) Изменение: на Linux configure теперь проверяет наличие epoll и
5053 sendfile64() в ядре.
5054
5055 *) Добавление: директива map поддерживает доменные имена в формате
5056 ".domain.tld".
5057
5058 *) Исправление: во время SSL handshake не иcпользовались таймауты;
5059 ошибка появилась в 0.2.4.
5060
5061 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5062
5063 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5064 по умолчанию использовался порт 80.
5065
5066
5067 Изменения в nginx 0.3.16 16.12.2005
5068
5069 *) Добавление: модуль ngx_http_map_module.
5070
5071 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
5072
5073 *) Добавление: директива ssi_value_length.
5074
5075 *) Добавление: директива worker_rlimit_core.
5076
5077 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
5078 Pentium 4 номер соединения в логах всегда был равен 1.
5079
5080 *) Исправление: команда config timefmt в SSI задавала неверный формат
5081 времени.
5082
5083 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
5084 использовании SSL соединений; ошибка появилась в 0.3.13.
5085 Спасибо Rob Mueller.
5086
5087 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
5088 ошибка появилась в 0.3.13.
5089
5090
5091 Изменения в nginx 0.3.15 07.12.2005
5092
5093 *) Добавление: новой код 444 в директиве return для закрытия соединения.
5094
5095 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
5096
5097 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
5098 соединений только при планом выходе и включённой директиве
5099 debug_points.
5100
5101
5102 Изменения в nginx 0.3.14 05.12.2005
5103
5104 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
5105 в 0.3.13.
5106
5107
5108 Изменения в nginx 0.3.13 05.12.2005
5109
5110 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
5111
5112 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
5113 /dev/poll.
5114
5115 *) Исправление: ошибки в обработке SSI.
5116
5117 *) Исправление: sendfilev() в Solaris теперь не используется при
5118 передаче тела запроса FastCGI-серверу через unix domain сокет.
5119
5120 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
5121 появилась в 0.3.11.
5122
5123
5124 Изменения в nginx 0.3.12 26.11.2005
5125
5126 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
5127 то при использовании директивы "satisfy_any on" директивы доступа и
5128 аутентификации не работали. Модуль ngx_http_realip_module не
5129 собирался и не собирается по умолчанию.
5130
5131 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
5132
5133 *) Изменение: директивы proxy_header_buffer_size и
5134 fastcgi_header_buffer_size переименованы соответственно в
5135 proxy_buffer_size и fastcgi_buffer_size.
5136
5137 *) Добавление: модуль ngx_http_memcached_module.
5138
5139 *) Добавление: директива proxy_buffering.
5140
5141 *) Исправление: изменение в работе с accept mutex при использовании
5142 метода rtsig; ошибка появилась в 0.3.0.
5143
5144 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
5145 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
5146
5147 *) Исправление: при наследовании директивы auth_basic с уровня http в
5148 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
5149 "Basic realm".
5150
5151 *) Исправление: если в директиве access_log был явно указан формат
5152 combined, то в лог записывались пустые строки; ошибка появилась в
5153 0.3.8.
5154
5155 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
5156 Solaris.
5157
5158 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
5159 в кавычках и закрывающую скобку.
5160
5161
5162 Изменения в nginx 0.3.11 15.11.2005
5163
5164 *) Исправление: nginx не передавал при проксировании тело запроса и
5165 строки заголовка клиента; ошибка появилась в 0.3.10.
5166
5167
5168 Изменения в nginx 0.3.10 15.11.2005
5169
5170 *) Изменение: директива valid_referers и переменная $invalid_referer
5171 перенесены из модуля ngx_http_rewrite_module в новый модуль
5172 ngx_http_referer_module.
5173
5174 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
5175 "$body_bytes_sent".
5176
5177 *) Добавление: переменные "$sent_http_...".
5178
5179 *) Добавление: директива if поддерживает операции "=" и "!=".
5180
5181 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
5182
5183 *) Добавление: директива proxy_set_body.
5184
5185 *) Добавление: директива post_action.
5186
5187 *) Добавление: модуль ngx_http_empty_gif_module.
5188
5189 *) Добавление: директива worker_cpu_affinity для Linux.
5190
5191 *) Исправление: директива rewrite не раскодировала символы в редиректах
5192 в URI, теперь символы раскодируются, кроме символов %00-%25 и
5193 %7F-%FF.
5194
5195 *) Исправление: nginx не собирался компилятором icc 9.0.
5196
5197 *) Исправление: если для статического файла нулевого размера был
5198 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
5199
5200
5201 Изменения в nginx 0.3.9 10.11.2005
5202
5203 *) Исправление: nginx считал небезопасными URI, в которых между двумя
5204 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
5205
5206
5207 Изменения в nginx 0.3.8 09.11.2005
5208
5209 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
5210 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
5211 наличие путей "/../" и нулей.
5212
5213 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
5214 строке "Authorization" в заголовке запроса.
5215
5216 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
5217 и ngx_imap_ssl_module.
5218
5219 *) Добавление: директива auth_http_header модуля
5220 ngx_imap_auth_http_module.
5221
5222 *) Добавление: директива add_header.
5223
5224 *) Добавление: модуль ngx_http_realip_module.
5225
5226 *) Добавление: новые переменные для использования в директиве
5227 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
5228 $uri, $request_time, $request_length, $upstream_status,
5229 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
5230 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
5231 упразднены.
5232
5233 *) Изменение: в директиве "if" ложными значениями переменных теперь
5234 являются пустая строка "" и строки, начинающиеся на "0".
5235
5236 *) Исправление: при работает с проксированными или FastCGI-серверами
5237 nginx мог оставлять открытыми соединения и временные файлы с
5238 запросами клиентов.
5239
5240 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
5241 плавном выходе.
5242
5243 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
5244 запрос проксировался в location, заданном регулярным выражением, то
5245 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
5246
5247 *) Исправление: директива expires не удаляла уже установленную строку
5248 заголовка "Expires".
5249
5250 *) Исправление: при использовании метода rtsig и нескольких рабочих
5251 процессах nginx мог перестать принимать запросы.
5252
5253 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
5254 "\'".
5255
5256 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
5257 при использовании сжатия ответ передавался не до конца или не
5258 передавался вообще.
5259
5260
5261 Изменения в nginx 0.3.7 27.10.2005
5262
5263 *) Добавление: директива access_log поддерживает параметр buffer=.
5264
5265 *) Исправление: nginx не собирался на платформах, отличных от i386,
5266 amd64, sparc и ppc; ошибка появилась в 0.3.2.
5267
5268
5269 Изменения в nginx 0.3.6 24.10.2005
5270
5271 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
5272 пустой логин.
5273
5274 *) Добавление: директива log_format поддерживает переменные в виде
5275 $name.
5276
5277 *) Исправление: если хотя бы в одном сервере не было описано ни одной
5278 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
5279 0.3.3.
5280
5281 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
5282 использовался порт 80.
5283
5284
5285 Изменения в nginx 0.3.5 21.10.2005
5286
5287 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
5288 мог произойти segmentation fault; ошибка появилась в 0.2.2.
5289
5290 *) Исправление: accept mutex не работал, все соединения обрабатывались
5291 одним рабочим процессом; ошибка появилась в 0.3.3.
5292
5293 *) Исправление: при использовании метода rtsig и директивы
5294 timer_resolution не работали таймауты.
5295
5296
5297 Изменения в nginx 0.3.4 19.10.2005
5298
5299 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
5300 появилась в 0.3.3.
5301
5302
5303 Изменения в nginx 0.3.3 19.10.2005
5304
5305 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
5306 "backlog" и "accept_filter".
5307
5308 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
5309
5310 *) Изменение: параметр лога $msec теперь не требует дополнительного
5311 системного вызова gettimeofday().
5312
5313 *) Добавление: ключ -t теперь проверяет директивы listen.
5314
5315 *) Исправление: если в директиве listen был указан неверный адрес, то
5316 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
5317
5318 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
5319 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
5320
5321 *) Добавление: директива timer_resolution.
5322
5323 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
5324
5325 *) Исправление: временный файл с телом запроса клиента теперь удаляется
5326 сразу после того, как клиенту передан заголовок ответа.
5327
5328 *) Исправление: совместимость с OpenSSL 0.9.6.
5329
5330 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
5331 относительными.
5332
5333 *) Исправление: директива ssl_prefer_server_ciphers не работала для
5334 модуля ngx_imap_ssl_module.
5335
5336 *) Исправление: директива ssl_protocols позволяла задать только один
5337 протокол.
5338
5339
5340 Изменения в nginx 0.3.2 12.10.2005
5341
5342 *) Добавление: поддержка Sun Studio 10 C compiler.
5343
5344 *) Добавление: директивы proxy_upstream_max_fails,
5345 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
5346 fastcgi_upstream_fail_timeout.
5347
5348
5349 Изменения в nginx 0.3.1 10.10.2005
5350
5351 *) Исправление: во время переполнения очереди сигналов при использовании
5352 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
5353
5354 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
5355
5356
5357 Изменения в nginx 0.3.0 07.10.2005
5358
5359 *) Изменение: убрано десятидневное ограничение времени работы рабочего
5360 процесса. Ограничение было введено из-за переполнения миллисекундных
5361 таймеров.
5362
5363
5364 Изменения в nginx 0.2.6 05.10.2005
5365
5366 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
5367 бэкенду при использовании распределения нагрузки.
5368
5369 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
5370 запрос теперь передаётся, если в директиве proxy_pass отсутствует
5371 URI.
5372
5373 *) Добавление: директива error_page поддерживает редиректы и позволяет
5374 более гибко менять код ошибки.
5375
5376 *) Изменение: в проксированных подзапросах теперь игнорируется
5377 переданный charset.
5378
5379 *) Исправление: если после изменения URI в блоке if для запроса не
5380 находилась новая конфигурация, то правила модуля
5381 ngx_http_rewrite_module выполнялись снова.
5382
5383 *) Исправление: если директива set устанавливала переменную модуля
5384 ngx_http_geo_module в какой-либо части конфигурации, то эта
5385 переменная не была доступна в других частях конфигурации и выдавалась
5386 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
5387
5388
5389 Изменения в nginx 0.2.5 04.10.2005
5390
5391 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
5392 теперь выдаёт предупреждение и изменяет старое значение.
5393
5394 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
5395
5396 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
5397 команде include.
5398
5399 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
5400 значений переменных в выражениях команды if.
5401
5402
5403 Изменения в nginx 0.2.4 03.10.2005
5404
5405 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
5406 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
5407 if.
5408
5409 *) Исправление: ошибки при проксировании location без слэша в конце;
5410 ошибка появилась в 0.1.44.
5411
5412 *) Исправление: при использовании метода rtsig мог произойти
5413 segmentation fault; ошибка появилась в 0.2.0.
5414
5415
5416 Изменения в nginx 0.2.3 30.09.2005
5417
5418 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
5419 появилась в 0.2.2.
5420
5421
5422 Изменения в nginx 0.2.2 30.09.2005
5423
5424 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
5425
5426 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
5427 директивой set.
5428
5429 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
5430 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
5431
5432 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5433 длинных имён файлов;
5434
5435 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
5436 файлы, начинающиеся на точку.
5437
5438 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
5439 привести также к закрытию другого соединения.
5440 Спасибо Rob Mueller.
5441
5442 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
5443 HTTPS.
5444
5445
5446 Изменения в nginx 0.2.1 23.09.2005
5447
5448 *) Исправление: если все бэкенды, используемые для балансировки
5449 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5450 nginx мог зациклится; ошибка появилась в 0.2.0.
5451
5452
5453 Изменения в nginx 0.2.0 23.09.2005
5454
5455 *) Изменились имена pid-файлов, используемые во время обновления
5456 исполняемого файла. Ручное переименование теперь не нужно. Старый
5457 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
5458 запускает новый исполняемый файл. Новый основной процесс создаёт
5459 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
5460 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
5461 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
5462 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
5463 0.2.0 - используют pid-файл без суффиксов.
5464
5465 *) Изменение: директива worker_connections, новое название директивы
5466 connections; директива теперь задаёт максимальное число соединений, а
5467 не максимально возможный номер дескриптора для сокета.
5468
5469 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
5470 рабочего процесса.
5471
5472 *) Добавление: директива satisfy_any.
5473
5474 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
5475 не работают для подзапросов.
5476
5477 *) Добавление: директивы worker_rlimit_nofile и
5478 worker_rlimit_sigpending.
5479
5480 *) Исправление: если все бэкенды, используемые для балансировки
5481 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5482 nginx не обращался к ним в течение 60 секунд.
5483
5484 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
5485 Спасибо Rob Mueller.
5486
5487 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
5488
5489 *) Исправление: ошибки при использовании SSI и сжатия.
5490
5491 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
5492 "Expires" и "Cache-Control".
5493 Спасибо Александру Кукушкину.
5494
5495
5496 Изменения в nginx 0.1.45 08.09.2005
5497
5498 *) Изменение: директива ssl_engine упразднена в модуле
5499 ngx_http_ssl_module и перенесена на глобальный уровень.
5500
5501 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
5502 передавались через SSL соединение.
5503
5504 *) Разные исправления в IMAP/POP3 прокси.
5505
5506
5507 Изменения в nginx 0.1.44 06.09.2005
5508
5509 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
5510
5511 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
5512
5513 *) Добавление: директива userid_mark.
5514
5515 *) Добавление: значение переменной $remote_user определяется независимо
5516 от того, используется ли авторизация или нет.
5517
5518
5519 Изменения в nginx 0.1.43 30.08.2005
5520
5521 *) Добавление: listen(2) backlog в директиве listen можно менять по
5522 сигналу -HUP.
5523
5524 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
5525
5526 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
5527 серверу.
5528
5529 *) Исправление: если в ответе проксированного сервера или FastCGI
5530 сервера была строка "Cache-Control", то при использовании директивы
5531 expires происходил segmentation fault или рабочий процесс мог
5532 зациклится; в режиме прокси ошибка появилась в 0.1.29.
5533
5534
5535 Изменения в nginx 0.1.42 23.08.2005
5536
5537 *) Исправление: если URI запроса получался нулевой длины после обработки
5538 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
5539 происходил segmentation fault или bus error.
5540
5541 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
5542 появилась в 0.1.38.
5543
5544
5545 Изменения в nginx 0.1.41 25.07.2005
5546
5547 *) Исправление: если переменная использовалась в файле конфигурации, то
5548 она не могла использоваться в SSI.
5549
5550
5551 Изменения в nginx 0.1.40 22.07.2005
5552
5553 *) Исправление: если клиент слал очень длинную строку заголовка, то в
5554 логе не помещалась информация, связанная с этим запросом.
5555
5556 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5557 строка "Set-Cookie"; ошибка появилась в 0.1.39.
5558
5559 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5560 строка "Content-Disposition".
5561
5562 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
5563 на которых он слушал.
5564
5565 *) Исправление: после обновления исполняемого файла на лету на Linux и
5566 Solaris название процесса в команде ps становилось короче.
5567
5568
5569 Изменения в nginx 0.1.39 14.07.2005
5570
5571 *) Изменения в модуле ngx_http_charset_module: директива default_charset
5572 упразднена; директива charset задаёт кодировку ответа; директива
5573 source_charset задаёт только исходную кодировку.
5574
5575 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
5576 не передавалась строка заголовка "WWW-Authenticate".
5577
5578 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
5579 могли закрыть соединение до того, как что-нибудь было передано
5580 клиенту; ошибка появилась в 0.1.38.
5581
5582 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
5583
5584 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
5585 URI в команде include virtual.
5586
5587 *) Исправление: если в строке заголовка ответа бэкенда была строка
5588 "Location", которую nginx не должен был изменять, то в ответе
5589 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
5590
5591 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
5592 ngx_http_fastcgi_module не наследовались с уровня server на уровень
5593 location; ошибка появилась в 0.1.29.
5594
5595 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
5596 сертификатов.
5597
5598 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5599 длинных имён файлов; ошибка появилась в 0.1.38.
5600
5601 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
5602 стадии login.
5603
5604
5605 Изменения в nginx 0.1.38 08.07.2005
5606
5607 *) Добавление: директива limit_rate поддерживается в режиме прокси и
5608 FastCGI.
5609
5610 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5611 "X-Accel-Limit-Rate" в ответе бэкенда.
5612
5613 *) Добавление: директива break.
5614
5615 *) Добавление: директива log_not_found.
5616
5617 *) Исправление: при перенаправлении запроса с помощью строки заголовка
5618 "X-Accel-Redirect" не изменялся код ответа.
5619
5620 *) Исправление: переменные, установленные директивой set не могли
5621 использоваться в SSI.
5622
5623 *) Исправление: при включении в SSI более одного удалённого подзапроса
5624 мог произойти segmentation fault.
5625
5626 *) Исправление: если статусная строка в ответе бэкенда передавалась в
5627 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
5628 0.1.29.
5629
5630 *) Добавление: директива ssi_types.
5631
5632 *) Добавление: директива autoindex_exact_size.
5633
5634 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
5635 имена файлов в UTF-8.
5636
5637 *) Добавление: IMAP/POP3 прокси.
5638
5639
5640 Изменения в nginx 0.1.37 23.06.2005
5641
5642 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
5643
5644 *) Исправление: при включении большого количества вставок или нескольких
5645 больших вставок с помощью SSI ответ мог передаваться не полностью.
5646
5647 *) Исправление: если все бэкенды возвращали ответ 404, то при
5648 использовании параметра http_404 в директивах proxy_next_upstream или
5649 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
5650
5651
5652 Изменения в nginx 0.1.36 15.06.2005
5653
5654 *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
5655 "Connection", "Content-Length" и "Authorization", то nginx теперь
5656 выдаёт ошибку 400.
5657
5658 *) Изменение: директива post_accept_timeout упразднена.
5659
5660 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
5661 listen.
5662
5663 *) Добавление: поддержка accept фильтров во FreeBSD.
5664
5665 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
5666
5667 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
5668 файлов в UTF-8.
5669
5670 *) Исправление: после добавления новый лог-файл ротация этого лога по
5671 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
5672 раза по сигналу -HUP.
5673
5674
5675 Изменения в nginx 0.1.35 07.06.2005
5676
5677 *) Добавление: директива working_directory.
5678
5679 *) Добавление: директива port_in_redirect.
5680
5681 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
5682 то происходил segmentation fault; ошибка появилась в 0.1.29.
5683
5684 *) Исправление: если было сконфигурировано более 10 серверов или в
5685 сервере не описана директива "listen", то при запуске мог произойти
5686 segmentation fault.
5687
5688 *) Исправление: если ответ не помещался во временный файл, то мог
5689 произойти segmentation fault.
5690
5691 *) Исправление: nginx возвращал ошибку 400 на запросы вида
5692 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
5693
5694
5695 Изменения в nginx 0.1.34 26.05.2005
5696
5697 *) Исправление: при включении больших ответов с помощью SSI рабочий
5698 процесс мог зациклиться.
5699
5700 *) Исправление: переменные, устанавливаемые директивой "set", не были
5701 доступны в SSI.
5702
5703 *) Добавление: директива autoindex_localtime.
5704
5705 *) Исправление: пустое значение в директиве proxy_set_header запрещает
5706 передачу заголовка.
5707
5708
5709 Изменения в nginx 0.1.33 23.05.2005
5710
5711 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
5712 появилась в 0.1.29.
5713
5714 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
5715 вызывали bus fault при запуске.
5716
5717 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
5718 HTTP.
5719
5720 *) Исправление: если директива rewrite использовала выделения внутри
5721 директивы if, то возвращалась ошибка 500.
5722
5723
5724 Изменения в nginx 0.1.32 19.05.2005
5725
5726 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
5727 передавались аргументы; ошибка появилась в 0.1.29.
5728
5729 *) Добавление: директива if поддерживает выделения в регулярных
5730 выражениях.
5731
5732 *) Добавление: директива set поддерживает переменные и выделения из
5733 регулярных выражений.
5734
5735 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5736 "X-Accel-Redirect" в ответе бэкенда.
5737
5738
5739 Изменения в nginx 0.1.31 16.05.2005
5740
5741 *) Исправление: при использовании SSL ответ мог передаваться не до
5742 конца.
5743
5744 *) Исправление: ошибки при обработке SSI в ответе, полученного от
5745 FastCGI-сервера.
5746
5747 *) Исправление: ошибки при использовании SSI и сжатия.
5748
5749 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
5750 появилась в 0.1.30.
5751
5752
5753 Изменения в nginx 0.1.30 14.05.2005
5754
5755 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
5756
5757 *) Исправление: при использовании SSL ответ мог передаваться не до
5758 конца.
5759
5760 *) Исправление: если длина части ответа, полученного за один раз от
5761 проксируемого или FastCGI сервера была равна 500 байт, то nginx
5762 возвращал код ответа 500; в режиме прокси ошибка появилась только в
5763 0.1.29.
5764
5765 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
5766 параметрами.
5767
5768 *) Добавление: директива return может возвращать код ответа 204.
5769
5770 *) Добавление: директива ignore_invalid_headers.
5771
5772
5773 Изменения в nginx 0.1.29 12.05.2005
5774
5775 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
5776 virtual.
5777
5778 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
5779 вида 'if expr="$NAME"' и команды else и endif. Допускается только
5780 один уровень вложенности.
5781
5782 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
5783 DATE_LOCAL и DATE_GMT и команду config timefmt.
5784
5785 *) Добавление: директива ssi_ignore_recycled_buffers.
5786
5787 *) Исправление: если переменная QUERY_STRING не была определена, то в
5788 команде echo не ставилось значение по умолчанию.
5789
5790 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
5791
5792 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
5793 proxy_pass_request_body и proxy_method.
5794
5795 *) Добавление: директива proxy_set_header. Директива proxy_x_var
5796 упразднена и должна быть заменена директивой proxy_set_header.
5797
5798 *) Изменение: директива proxy_preserve_host упразднена и должна быть
5799 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
5800 off" или директивой "proxy_set_header Host $host:$proxy_port" и
5801 соответствующими ей директивами proxy_redirect.
5802
5803 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
5804 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
5805
5806 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
5807 быть заменена директивой
5808 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
5809
5810 *) Изменение: директива proxy_set_x_url упразднена и должна быть
5811 заменена директивой
5812 "proxy_set_header X-URL http://$host:$server_port$request_uri".
5813
5814 *) Добавление: директива fastcgi_param.
5815
5816 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
5817 упразднены и должны быть замены директивами fastcgi_param.
5818
5819 *) Добавление: директива index может использовать переменные.
5820
5821 *) Добавление: директива index может быть указана на уровне http и
5822 server.
5823
5824 *) Изменение: только последний параметр в директиве index может быть
5825 абсолютным.
5826
5827 *) Добавление: в директиве rewrite могут использоваться переменные.
5828
5829 *) Добавление: директива internal.
5830
5831 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
5832 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
5833 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
5834
5835 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
5836 клиента и ответа бэкенда.
5837
5838 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
5839 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
5840
5841 *) Исправление: если бэкенд передавал неверную строку в заголовке
5842 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
5843
5844 *) Исправление: при использовании отказоустойчивой конфигурации в
5845 FastCGI мог происходить segmentation fault.
5846
5847 *) Исправление: директива expires не удаляла уже установленные строки
5848 заголовка "Expires" и "Cache-Control".
5849
5850 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
5851 запроса "Host".
5852
5853 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
5854
5855 *) Исправление: директива rewrite неверно работала, если в запросе
5856 присутствовали аргументы.
5857
5858 *) Исправление: nginx не собирался на MacOS X.
5859
5860
5861 Изменения в nginx 0.1.28 08.04.2005
5862
5863 *) Исправление: при проксировании больших файлов nginx сильно нагружал
5864 процессор.
5865
5866 *) Исправление: nginx не собирался gcc 4.0 на Linux.
5867
5868
5869 Изменения в nginx 0.1.27 28.03.2005
5870
5871 *) Добавление: параметр blocked в директиве valid_referers.
5872
5873 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
5874 уровне info, в лог также записывается имя сервера и строки заголовка
5875 запроса "Host" и "Referer".
5876
5877 *) Изменение: при записи ошибок в лог записывается также строка
5878 заголовка запроса "Host".
5879
5880 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
5881 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
5882
5883 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
5884 параметр конфигурации --without-ngx_http_auth_basic_module.
5885
5886
5887 Изменения в nginx 0.1.26 22.03.2005
5888
5889 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
5890 игнорируется и записываются в error_log на уровне info.
5891
5892 *) Изменение: при записи ошибок в лог записывается также имя сервера,
5893 при обращении к которому произошла ошибка.
5894
5895 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
5896 и auth_basic_user_file.
5897
5898
5899 Изменения в nginx 0.1.25 19.03.2005
5900
5901 *) Исправление: nginx не работал на Linux parisc.
5902
5903 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
5904 sysctl kern.ipc.somaxconn слишком большое.
5905
5906 *) Исправление: если модуль ngx_http_index_module делал внутреннее
5907 перенаправление запроса в модули ngx_http_proxy_module или
5908 ngx_http_fastcgi_module, то файл индекса не закрывался после
5909 обслуживания запроса.
5910
5911 *) Добавление: директива proxy_pass может использоваться в location,
5912 заданных регулярным выражением.
5913
5914 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
5915 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
5916
5917 *) Исправление: nginx очень медленно запускался при большом количестве
5918 адресов и использовании текстовых значений в директиве geo.
5919
5920 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
5921 Прежний вариант без "$" пока работает, но вскоре будет убран.
5922
5923 *) Добавление: параметр лога "%{VARIABLE}v".
5924
5925 *) Добавление: директива "set $name value".
5926
5927 *) Исправление: совместимость с gcc 4.0.
5928
5929 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
5930
5931
5932 Изменения в nginx 0.1.24 04.03.2005
5933
5934 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
5935 QUERY_STRING и DOCUMENT_URI.
5936
5937 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
5938 на существующий каталог, если этот каталог был указан как alias.
5939
5940 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
5941 при больших ответах.
5942
5943 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
5944 правильным referrer'ом.
5945
5946
5947 Изменения в nginx 0.1.23 01.03.2005
5948
5949 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
5950 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
5951 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
5952
5953 *) Добавление: параметр лога %request_time.
5954
5955 *) Добавление: если запрос пришёл без строки заголовка "Host", то
5956 директива proxy_preserve_host устанавливает в качестве этого
5957 заголовка первое имя сервера из директивы server_name.
5958
5959 *) Исправление: nginx не собирался на платформах, отличных от i386,
5960 amd64, sparc и ppc; ошибка появилась в 0.1.22.
5961
5962 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
5963 информацию не о символическом линке, а о файле или каталоге, на
5964 который он указывает.
5965
5966 *) Исправление: если клиенту ничего не передавалось, то параметр
5967 %apache_length записывал в лог отрицательную длину заголовка ответа.
5968
5969
5970 Изменения в nginx 0.1.22 22.02.2005
5971
5972 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5973 статистику для обработанных соединений, если использовалось
5974 проксирование или FastCGI-сервер.
5975
5976 *) Исправление: на Linux и Solaris установочные пути были неверно
5977 заключены в кавычки; ошибка появилась в 0.1.21.
5978
5979
5980 Изменения в nginx 0.1.21 22.02.2005
5981
5982 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5983 статистику при использовании метода rtsig или при использовании
5984 нескольких рабочих процессов на SMP машине.
5985
5986 *) Исправление: nginx не собирался компилятором icc под Линуксом или
5987 если библиотека zlib-1.2.x собиралась из исходных текстов.
5988
5989 *) Исправление: nginx не собирался под NetBSD 2.0.
5990
5991
5992 Изменения в nginx 0.1.20 17.02.2005
5993
5994 *) Добавление: новые параметры script_filename и remote_port в директиве
5995 fastcgi_params.
5996
5997 *) Исправление: неправильно обрабатывался поток stderr от
5998 FastCGI-сервера.
5999
6000
6001 Изменения в nginx 0.1.19 16.02.2005
6002
6003 *) Исправление: если в запросе есть нуль, то для локальных запросов
6004 теперь возвращается ошибка 404.
6005
6006 *) Исправление: nginx не собирался под NetBSD 2.0.
6007
6008 *) Исправление: во время чтения тела запроса клиента в SSL соединении
6009 мог произойти таймаут.
6010
6011
6012 Изменения в nginx 0.1.18 09.02.2005
6013
6014 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
6015 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
6016
6017 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
6018 наследовались.
6019
6020 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
6021 присоединялись к URI через символ "&" вместо "?".
6022
6023 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
6024 включённом файле игнорировались.
6025
6026 *) Добавление: модуль ngx_http_stub_status_module.
6027
6028 *) Исправление: неизвестный формат лог-файла в директиве access_log
6029 вызывал segmentation fault.
6030
6031 *) Добавление: новый параметр document_root в директиве fastcgi_params.
6032
6033 *) Добавление: директива fastcgi_redirect_errors.
6034
6035 *) Добавление: новый модификатор break в директиве rewrite позволяет
6036 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
6037 для запроса.
6038
6039
6040 Изменения в nginx 0.1.17 03.02.2005
6041
6042 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
6043 можно делать редиректы, возвращать коды ошибок и проверять переменные
6044 и рефереры. Эти директивы можно использовать внутри location.
6045 Директива redirect упразднена.
6046
6047 *) Добавление: модуль ngx_http_geo_module.
6048
6049 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
6050
6051 *) Исправление: конфигурация location с модификатором "=" могла
6052 использоваться в другом location.
6053
6054 *) Исправление: правильный тип ответа выставлялся только для запросов, у
6055 которых в расширении были только маленькие буквы.
6056
6057 *) Исправление: если для location установлен proxy_pass или
6058 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
6059 на статическую страницу, то происходил segmentation fault.
6060
6061 *) Исправление: если в проксированном ответе в заголовке "Location"
6062 передавался относительный URL, то к нему добавлялось имя хоста и
6063 слэш; ошибка появилась в 0.1.14.
6064
6065 *) Исправление: на Linux в лог не записывался текст системной ошибки.
6066
6067
6068 Изменения в nginx 0.1.16 25.01.2005
6069
6070 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
6071 выдавался завершающий chunk.
6072
6073 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
6074 директива keepalive_timeout запрещала использование keep-alive.
6075
6076 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
6077 segmentation fault.
6078
6079 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
6080 до конца.
6081
6082 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
6083 для TCP сокетов, не используются для unix domain сокетов.
6084
6085 *) Добавление: директива rewrite поддерживает перезаписывание
6086 аргументов.
6087
6088 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
6089 возвращался ответ 400; ошибка появилась в 0.1.14.
6090
6091
6092 Изменения в nginx 0.1.15 19.01.2005
6093
6094 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
6095 segmentation fault.
6096
6097 *) Исправление: корректная обработка регулярного выражения, в котором
6098 число выделенных частей не совпадает с числом подстановок.
6099
6100 *) Добавление: location, который передаётся FastCGI-серверу, может быть
6101 задан с помощью регулярного выражения.
6102
6103 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
6104 аргументами и в том виде, в котором был получен от клиента.
6105
6106 *) Исправление: для использования регулярных выражений в location нужно
6107 было собирать nginx вместе с ngx_http_rewrite_module.
6108
6109 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
6110 директивы "proxy_preserve_host on" в заголовке "Host" указывался
6111 также порт 80; ошибка появилась в 0.1.14.
6112
6113 *) Исправление: если задать одинаковые пути в параметрах
6114 автоконфигурации --http-client-body-temp-path=PATH и
6115 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
6116 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
6117
6118
6119 Изменения в nginx 0.1.14 18.01.2005
6120
6121 *) Добавление: параметры автоконфигурации
6122 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
6123 --http-fastcgi-temp-path=PATH
6124
6125 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
6126 клиента, задаётся директивой client_body_temp_path, по умолчанию
6127 <prefix>/client_body_temp.
6128
6129 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
6130 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
6131 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
6132 fastcgi_header_buffer_size, fastcgi_buffers,
6133 fastcgi_busy_buffers_size, fastcgi_temp_path,
6134 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
6135 fastcgi_next_upstream и fastcgi_x_powered_by.
6136
6137 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
6138 0.1.3.
6139
6140 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
6141 после имени хоста.
6142
6143 *) Изменение: если в URI встречался символ %3F, то он считался началом
6144 строки аргументов.
6145
6146 *) Добавление: поддержка unix domain сoкетов в модуле
6147 ngx_http_proxy_module.
6148
6149 *) Добавление: директивы ssl_engine и ssl_ciphers.
6150 Спасибо Сергею Скворцову за SSL-акселератор.
6151
6152
6153 Изменения в nginx 0.1.13 21.12.2004
6154
6155 *) Добавление: директивы server_names_hash и
6156 server_names_hash_threshold.
6157
6158 *) Исправление: имена *.domain.tld в директиве server_name не работали.
6159
6160 *) Исправление: параметр лога %request_length записывал неверную длину.
6161
6162
6163 Изменения в nginx 0.1.12 06.12.2004
6164
6165 *) Добавление: параметр лога %request_length.
6166
6167 *) Исправление: при использовании /dev/poll, select и poll на
6168 платформах, где возможны ложные срабатывания указанных методов, могли
6169 быть длительные задержки при обработке запроса по keep-alive
6170 соединению. Наблюдалось по крайней мере на Solaris с использованием
6171 /dev/poll.
6172
6173 *) Исправление: директива send_lowat игнорируется на Linux, так как
6174 Linux не поддерживает опцию SO_SNDLOWAT.
6175
6176
6177 Изменения в nginx 0.1.11 02.12.2004
6178
6179 *) Добавление: директива worker_priority.
6180
6181 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
6182 влияют на передачу ответа.
6183
6184 *) Исправление: nginx не вызывал initgroups().
6185 Спасибо Андрею Ситникову и Андрею Нигматулину.
6186
6187 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
6188 байтах.
6189
6190 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
6191 каталоге есть битый symlink.
6192
6193 *) Исправление: файлы больше 4G не передавались с использованием
6194 sendfile.
6195
6196 *) Исправление: если бэкенд резолвился в несколько адресов и при
6197 ожидании от него ответа происходила ошибка, то процесс зацикливался.
6198
6199 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
6200 завершиться с сообщением "unknown cycle".
6201
6202 *) Исправление: ошибки "close() channel failed".
6203
6204 *) Исправление: автоматическое определение групп nobody и nogroup.
6205
6206 *) Исправление: директива send_lowat не работала на Linux.
6207
6208 *) Исправление: если в конфигурации не было раздела events, то
6209 происходил segmentation fault.
6210
6211 *) Исправление: nginx не собирался под OpenBSD.
6212
6213 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
6214
6215
6216 Изменения в nginx 0.1.10 26.11.2004
6217
6218 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
6219 или "%XX", то терялся последний символ в строке запроса; ошибка
6220 появилась в 0.1.9.
6221
6222 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
6223 не работало.
6224
6225
6226 Изменения в nginx 0.1.9 25.11.2004
6227
6228 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
6229 проксируемый запрос передавался без аргументов.
6230
6231 *) Исправление: при сжатии больших ответов иногда они передавались не
6232 полностью.
6233
6234 *) Исправление: не передавались файлы больше 2G на Linux,
6235 неподдерживающем sendfile64().
6236
6237 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
6238 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
6239
6240
6241 Изменения в nginx 0.1.8 20.11.2004
6242
6243 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6244 длинных имён файлов.
6245
6246 *) Добавление: модификатор "^~" в директиве location.
6247
6248 *) Добавление: директива proxy_max_temp_file_size.
6249
6250
6251 Изменения в nginx 0.1.7 12.11.2004
6252
6253 *) Исправление: при использовании sendfile, если передаваемый файл
6254 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
6255 появилась в 0.1.5.
6256
6257
6258 Изменения в nginx 0.1.6 11.11.2004
6259
6260 *) Исправление: при некоторых комбинациях директив location c
6261 регулярными выражениями использовалась конфигурация не из того
6262 location.
6263
6264
6265 Изменения в nginx 0.1.5 11.11.2004
6266
6267 *) Исправление: на Solaris и Linux могло быть очень много сообщений
6268 "recvmsg() returned not enough data".
6269
6270 *) Исправление: в режиме прокси без использования sendfile на Solaris
6271 возникала ошибка "writev() failed (22: Invalid argument)". На других
6272 платформах, не поддерживающих sendfile, процесс зацикливался.
6273
6274 *) Исправление: при использовании sendfile в режиме прокси на Solaris
6275 возникал segmentation fault.
6276
6277 *) Исправление: segmentation fault на Solaris.
6278
6279 *) Исправление: обновление исполняемого файла на лету не работало на
6280 Linux.
6281
6282 *) Исправление: в списке файлов, выдаваемом модулем
6283 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
6284 знаки процента.
6285
6286 *) Изменение: уменьшение операций копирования.
6287
6288 *) Добавление: директива userid_p3p.
6289
6290
6291 Изменения в nginx 0.1.4 26.10.2004
6292
6293 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
6294
6295
6296 Изменения в nginx 0.1.3 25.10.2004
6297
6298 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
6299
6300 *) Добавление: директива proxy_set_x_url.
6301
6302 *) Исправление: модуль проксировании мог привести к зацикливанию, если
6303 не использовался sendfile.
6304
6305
6306 Изменения в nginx 0.1.2 21.10.2004
6307
6308 *) Добавление: параметры --user=USER, --group=GROUP и
6309 --with-ld-opt=OPTIONS в configure.
6310
6311 *) Добавление: директива server_name поддерживает *.domain.tld.
6312
6313 *) Исправление: улучшена переносимость на неизвестные платформы.
6314
6315 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
6316 файл указан в командной строке; ошибка появилась в 0.1.1.
6317
6318 *) Исправление: модуль проксировании мог привести к зацикливанию, если
6319 не использовался sendfile.
6320
6321 *) Исправление: при использовании sendfile текст ответа не
6322 перекодировался согласно директивам модуля charset; ошибка появилась
6323 в 0.1.1.
6324
6325 *) Исправление: очень редкая ошибка при обработке kqueue.
6326
6327 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
6328 проксировании.
6329
6330
6331 Изменения в nginx 0.1.1 11.10.2004
6332
6333 *) Добавление: директива gzip_types.
6334
6335 *) Добавление: директива tcp_nodelay.
6336
6337 *) Добавление: директива send_lowat работает не только на платформах,
6338 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
6339 SO_SNDLOWAT.
6340
6341 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
6342
6343 *) Исправление: ошибка при переписывании заголовка "Location" при
6344 проксировании.
6345
6346 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
6347 зацикливанию.
6348
6349 *) Исправление: ошибки в модуле /dev/poll.
6350
6351 *) Исправление: при проксировании и использовании временных файлов
6352 ответы портились.
6353
6354 *) Исправление: бэкенду передавались запросы с неперекодированными
6355 символами.
6356
6357 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
6358 обязательно использовать параметр --with-poll_module.
6359
6360
6361 Изменения в nginx 0.1.0 04.10.2004
6362
6363 *) Первая публично доступная версия.
6364