comparison text/ru/CHANGES.ru-1.10 @ 1690:7d15391ce323

nginx-1.10.0
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 26 Apr 2016 16:53:19 +0300
parents text/ru/CHANGES.ru@779eec606081
children ce35c4764409
comparison
equal deleted inserted replaced
1689:b04c41175177 1690:7d15391ce323
1
2 Изменения в nginx 1.10.0 26.04.2016
3
4 *) Стабильная ветка 1.10.x.
5
6
7 Изменения в nginx 1.9.15 19.04.2016
8
9 *) Исправление: при использовании HHVM в качестве FastCGI-сервера могли
10 возникать ошибки "recv() failed".
11
12 *) Исправление: при использовании HTTP/2 и директив limit_req или
13 auth_request при чтении тела запроса мог произойти таймаут или ошибка
14 "client violated flow control"; ошибка появилась в 1.9.14.
15
16 *) Изменение: при использовании HTTP/2 ответ мог не показываться
17 некоторыми браузерами, если тело запроса было прочитано не целиком;
18 ошибка появилась в 1.9.14.
19
20 *) Исправление: при использовании директивы "aio threads" соединения
21 могли зависать.
22 Спасибо Mindaugas Rasiukevicius.
23
24
25 Изменения в nginx 1.9.14 05.04.2016
26
27 *) Добавление: совместимость с OpenSSL 1.1.0.
28
29 *) Добавление: директивы proxy_request_buffering,
30 fastcgi_request_buffering, scgi_request_buffering и
31 uwsgi_request_buffering теперь работают при использовании HTTP/2.
32
33 *) Исправление: при использовании HTTP/2 в логах могли появляться
34 сообщения "zero size buf in output".
35
36 *) Исправление: при использовании HTTP/2 директива client_max_body_size
37 могла работать неверно.
38
39 *) Исправление: незначительных ошибок логгирования.
40
41
42 Изменения в nginx 1.9.13 29.03.2016
43
44 *) Изменение: неидемпотентные запросы (POST, LOCK, PATCH) теперь по
45 умолчанию не передаются на другой сервер, если запрос уже был
46 отправлен на бэкенд; параметр non_idempotent директивы
47 proxy_next_upstream явно разрешает повторять такие запросы.
48
49 *) Добавление: модуль ngx_http_perl_module теперь можно собрать
50 динамически.
51
52 *) Добавление: поддержка UDP в модуле stream.
53
54 *) Добавление: директива aio_write.
55
56 *) Добавление: теперь cache manager следит за количеством элементов в
57 кэше и старается не допускать переполнений зоны разделяемой памяти.
58
59 *) Исправление: при использовании директив sendfile и aio с подзапросами
60 в логах могли появляться сообщения "task already active" и "second
61 aio post".
62
63 *) Исправление: при использовании кэширования в логах могли появляться
64 сообщения "zero size buf in output", если клиент закрывал соединение
65 преждевременно.
66
67 *) Исправление: при использовании кэширования соединения с клиентами
68 могли закрываться без необходимости.
69 Спасибо Justin Li.
70
71 *) Исправление: nginx мог нагружать процессор при использовании
72 директивы sendfile на Linux и Solaris, если отправляемый файл был
73 изменён в процессе отправки.
74
75 *) Исправление: при использовании директив sendfile и "aio threads"
76 соединения могли зависать.
77
78 *) Исправление: в директивах proxy_pass, fastcgi_pass, scgi_pass и
79 uwsgi_pass при использовании переменных.
80 Спасибо Piotr Sikora.
81
82 *) Исправление: в модуле ngx_http_sub_filter_module.
83
84 *) Исправление: если в закэшированном соединении к бэкенду происходила
85 ошибка, запрос передавался на другой сервер без учёта директивы
86 proxy_next_upstream.
87
88 *) Исправление: ошибки "CreateFile() failed" при создании временных
89 файлов на Windows.
90
91
92 Изменения в nginx 1.9.12 24.02.2016
93
94 *) Добавление: кодирование Хаффмана заголовков ответов в HTTP/2.
95 Спасибо Владу Краснову.
96
97 *) Добавление: директива worker_cpu_affinity теперь поддерживает более
98 64 процессоров.
99
100 *) Исправление: совместимость со сторонними модулями на C++; ошибка
101 появилась в 1.9.11.
102 Спасибо Piotr Sikora.
103
104 *) Исправление: nginx не собирался статически с OpenSSL на Linux; ошибка
105 появилась в 1.9.11.
106
107 *) Исправление: директива "add_header ... always" с пустым значением не
108 удаляла из заголовков ошибочных ответов строки Last-Modified и ETag.
109
110 *) Изменение: при использовании OpenSSL 1.0.2f в логах могли появляться
111 сообщения "called a function you should not call" и "shutdown while
112 in init".
113
114 *) Исправление: ошибочные заголовки могли логгироваться некорректно.
115
116 *) Исправление: утечки сокетов при использовании HTTP/2.
117
118 *) Исправление: в модуле ngx_http_v2_module.
119
120
121 Изменения в nginx 1.9.11 09.02.2016
122
123 *) Добавление: теперь resolver поддерживает TCP.
124
125 *) Добавление: динамические модули.
126
127 *) Исправление: при использовании HTTP/2 переменная $request_length не
128 учитывала размер заголовков запроса.
129
130 *) Исправление: в модуле ngx_http_v2_module.
131
132
133 Изменения в nginx 1.9.10 26.01.2016
134
135 *) Безопасность: при использовании директивы resolver во время обработки
136 ответов DNS-сервера могло происходить разыменование некорректного
137 адреса, что позволяло атакующему, имеющему возможность подделывать
138 UDP-пакеты от DNS-сервера, вызвать segmentation fault в рабочем
139 процессе (CVE-2016-0742).
140
141 *) Безопасность: при использовании директивы resolver во время обработки
142 CNAME-записей могло произойти обращение к ранее освобождённой памяти,
143 что позволяло атакующему, имеющему возможность инициировать
144 преобразование произвольных имён в адреса, вызвать segmentation fault
145 в рабочем процессе, а также потенциально могло иметь другие
146 последствия (CVE-2016-0746).
147
148 *) Безопасность: при использовании директивы resolver во время обработки
149 CNAME-записей не во всех случаях проверялось ограничение на
150 максимальное количество записей в цепочке, что позволяло атакующему,
151 имеющему возможность инициировать преобразование произвольных имён в
152 адреса, вызвать чрезмерное потребление ресурсов рабочими процессами
153 (CVE-2016-0747).
154
155 *) Добавление: параметр auto директивы worker_cpu_affinity.
156
157 *) Исправление: параметр proxy_protocol директивы listen не работал с
158 IPv6 listen-сокетами.
159
160 *) Исправление: при использовании директивы keepalive соединения к
161 бэкендам могли кэшироваться некорректно.
162
163 *) Исправление: после перенаправления запроса с помощью X-Accel-Redirect
164 при проксировании использовался HTTP-метод оригинального запроса.
165
166
167 Изменения в nginx 1.9.9 09.12.2015
168
169 *) Исправление: проксирование в unix domain сокеты не работало при
170 использовании переменных; ошибка появилась в 1.9.8.
171
172
173 Изменения в nginx 1.9.8 08.12.2015
174
175 *) Добавление: поддержка pwritev().
176
177 *) Добавление: директива include в блоке upstream.
178
179 *) Добавление: модуль ngx_http_slice_module.
180
181 *) Исправление: при использовании LibreSSL в рабочем процессе мог
182 произойти segmentation fault; ошибка появилась в 1.9.6.
183
184 *) Исправление: nginx мог не собираться на OS X.
185
186
187 Изменения в nginx 1.9.7 17.11.2015
188
189 *) Добавление: параметр nohostname логгирования в syslog.
190
191 *) Добавление: директива proxy_cache_convert_head.
192
193 *) Добавление: переменная $realip_remote_addr в модуле
194 ngx_http_realip_module.
195
196 *) Исправление: директива expires могла не срабатывать при использовании
197 переменных.
198
199 *) Исправление: при использовании HTTP/2 в рабочем процессе мог
200 произойти segmentation fault; ошибка появилась в 1.9.6.
201
202 *) Исправление: если nginx был собран с модулем ngx_http_v2_module,
203 протокол HTTP/2 мог быть использован клиентом, даже если не был
204 указан параметр http2 директивы listen.
205
206 *) Исправление: в модуле ngx_http_v2_module.
207
208
209 Изменения в nginx 1.9.6 27.10.2015
210
211 *) Исправление: при использовании HTTP/2 в рабочем процессе мог
212 произойти segmentation fault.
213 Спасибо Piotr Sikora и Denis Andzakovic.
214
215 *) Исправление: при использовании HTTP/2 переменная $server_protocol
216 была пустой.
217
218 *) Исправление: SSL-соединения к бэкендам в модуле stream могли
219 неожиданно завершаться по таймауту.
220
221 *) Исправление: при использовании различных настроек ssl_session_cache в
222 разных виртуальных серверах в рабочем процессе мог произойти
223 segmentation fault.
224
225 *) Исправление: nginx/Windows не собирался с MinGW gcc; ошибка появилась
226 в 1.9.4.
227 Спасибо Kouhei Sutou.
228
229 *) Исправление: при использовании директивы timer_resolution на Windows
230 время не обновлялось.
231
232 *) Незначительные исправления и улучшения.
233 Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora.
234
235
236 Изменения в nginx 1.9.5 22.09.2015
237
238 *) Добавление: модуль ngx_http_v2_module (заменяет модуль
239 ngx_http_spdy_module).
240 Спасибо Dropbox и Automattic за спонсирование разработки.
241
242 *) Изменение: теперь по умолчанию директива output_buffers использует
243 два буфера.
244
245 *) Изменение: теперь nginx ограничивает максимальную вложенность
246 подзапросов, а не количество одновременных подзапросов.
247
248 *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ
249 полностью.
250 Спасибо Геннадию Махомеду и Сергею Брестеру.
251
252 *) Исправление: при использовании кэша в логах могли появляться
253 сообщения "header already sent"; ошибка появилась в 1.7.5.
254
255 *) Исправление: при использовании CephFS и директивы timer_resolution на
256 Linux в логах могли появляться сообщения "writev() failed (4:
257 Interrupted system call)".
258
259 *) Исправление: в обработке ошибок конфигурации.
260 Спасибо Markus Linnala.
261
262 *) Исправление: при использовании директивы sub_filter на уровне http в
263 рабочем процессе происходил segmentation fault; ошибка появилась в
264 1.9.4.
265
266
267 Изменения в nginx 1.9.4 18.08.2015
268
269 *) Изменение: директивы proxy_downstream_buffer и proxy_upstream_buffer
270 в модуле stream заменены директивой proxy_buffer_size.
271
272 *) Добавление: директива tcp_nodelay в модуле stream.
273
274 *) Добавление: теперь можно указать несколько директив sub_filter
275 одновременно.
276
277 *) Добавление: директива sub_filter поддерживает переменные в строке
278 поиска.
279
280 *) Изменение: тестирование конфигурации могло не работать под Linux
281 OpenVZ.
282 Спасибо Геннадию Махомеду.
283
284 *) Исправление: после переконфигурации старые рабочие процессы могли
285 сильно нагружать процессор при больших значениях worker_connections.
286
287 *) Исправление: при совместном использовании директив try_files и alias
288 внутри location'а, заданного регулярным выражением, в рабочем
289 процессе мог произойти segmentation fault; ошибка появилась в 1.7.1.
290
291 *) Исправление: директива try_files внутри вложенного location'а,
292 заданного регулярным выражением, работала неправильно, если во
293 внешнем location'е использовалась директива alias.
294
295 *) Исправление: в обработке ошибок при построении хэш-таблиц.
296
297 *) Исправление: nginx не собирался с Visual Studio 2015.
298
299
300 Изменения в nginx 1.9.3 14.07.2015
301
302 *) Изменение: дублирующиеся блоки http, mail и stream теперь запрещены.
303
304 *) Добавление: ограничение количества соединений в модуле stream.
305
306 *) Добавление: ограничение скорости в модуле stream.
307
308 *) Исправление: директива zone в блоке upstream не работала на Windows.
309
310 *) Исправление: совместимость с LibreSSL в модуле stream.
311 Спасибо Piotr Sikora.
312
313 *) Исправление: в параметре --builddir в configure.
314 Спасибо Piotr Sikora.
315
316 *) Исправление: директива ssl_stapling_file не работала; ошибка
317 появилась в 1.9.2.
318 Спасибо Faidon Liambotis и Brandon Black.
319
320 *) Исправление: при использовании директивы ssl_stapling в рабочем
321 процессе мог произойти segmentation fault; ошибка появилась в 1.9.2.
322 Спасибо Matthew Baldwin.
323
324
325 Изменения в nginx 1.9.2 16.06.2015
326
327 *) Добавление: параметр backlog директивы listen в почтовом
328 прокси-сервере и модуле stream.
329
330 *) Добавление: директивы allow и deny в модуле stream.
331
332 *) Добавление: директива proxy_bind в модуле stream.
333
334 *) Добавление: директива proxy_protocol в модуле stream.
335
336 *) Добавление: ключ -T.
337
338 *) Добавление: параметр REQUEST_SCHEME добавлен в стандартные
339 конфигурационные файлы fastcgi.conf, fastcgi_params, scgi_params и
340 uwsgi_params.
341
342 *) Исправление: параметр reuseport директивы listen в модуле stream не
343 работал.
344
345 *) Исправление: OCSP stapling в некоторых случаях мог вернуть устаревший
346 OCSP-ответ.
347
348
349 Изменения в nginx 1.9.1 26.05.2015
350
351 *) Изменение: теперь протокол SSLv3 по умолчанию запрещён.
352
353 *) Изменение: некоторые давно устаревшие директивы больше не
354 поддерживаются.
355
356 *) Добавление: параметр reuseport директивы listen.
357 Спасибо Yingqi Lu из Intel и Sepherosa Ziehau.
358
359 *) Добавление: переменная $upstream_connect_time.
360
361 *) Исправление: в директиве hash на big-endian платформах.
362
363 *) Исправление: nginx мог не запускаться на некоторых старых версиях
364 Linux; ошибка появилась в 1.7.11.
365
366 *) Исправление: в парсинге IP-адресов.
367 Спасибо Сергею Половко.
368
369
370 Изменения в nginx 1.9.0 28.04.2015
371
372 *) Изменение: устаревшие методы обработки соединений aio и rtsig больше
373 не поддерживаются.
374
375 *) Добавление: директива zone в блоке upstream.
376
377 *) Добавление: модуль stream.
378
379 *) Добавление: поддержка byte ranges для ответов модуля
380 ngx_http_memcached_module.
381 Спасибо Martin Mlynář.
382
383 *) Добавление: разделяемую память теперь можно использовать на версиях
384 Windows с рандомизацией адресного пространства.
385 Спасибо Сергею Брестеру.
386
387 *) Добавление: директиву error_log теперь можно использовать на уровнях
388 mail и server в почтовом прокси-сервере.
389
390 *) Исправление: параметр proxy_protocol директивы listen не работал,
391 если не был указан в первой директиве listen для данного
392 listen-сокета.
393
394
395 Изменения в nginx 1.7.12 07.04.2015
396
397 *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
398 с бэкендами.
399
400 *) Добавление: теперь потоки могут использоваться для чтения заголовков
401 файлов в кэше.
402
403 *) Исправление: в директиве proxy_request_buffering.
404
405 *) Исправление: при использовании потоков на Linux в рабочем процессе
406 мог произойти segmentation fault.
407
408 *) Исправление: в обработке ошибок при использовании директивы
409 ssl_stapling.
410 Спасибо Filipe da Silva.
411
412 *) Исправление: в модуле ngx_http_spdy_module.
413
414
415 Изменения в nginx 1.7.11 24.03.2015
416
417 *) Изменение: параметр sendfile директивы aio более не нужен; теперь
418 nginx автоматически использует AIO для подгрузки данных для sendfile,
419 если одновременно используются директивы aio и sendfile.
420
421 *) Добавление: экспериментальная поддержка потоков.
422
423 *) Добавление: директивы proxy_request_buffering,
424 fastcgi_request_buffering, scgi_request_buffering и
425 uwsgi_request_buffering.
426
427 *) Добавление: экспериментальное API для обработки тела запроса.
428
429 *) Добавление: проверка клиентских SSL-сертификатов в почтовом
430 прокси-сервере.
431 Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
432
433 *) Добавление: уменьшение времени запуска при использовании директивы
434 "hash ... consistent" в блоке upstream.
435 Спасибо Wai Keen Woon.
436
437 *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
438
439 *) Исправление: в обработке хэш-таблиц.
440 Спасибо Chris West.
441
442 *) Исправление: в директиве proxy_cache_revalidate.
443
444 *) Исправление: SSL-соединения могли зависать, если использовался
445 отложенный accept или параметр proxy_protocol директивы listen.
446 Спасибо James Hamlin.
447
448 *) Исправление: переменная $upstream_response_time могла содержать
449 неверное значение при использовании директивы image_filter.
450
451 *) Исправление: в обработке целочисленных переполнений.
452 Спасибо Régis Leroy.
453
454 *) Исправление: при использовании LibreSSL было невозможно включить
455 поддержку SSLv3.
456
457 *) Исправление: при использовании LibreSSL в логах появлялись сообщения
458 "ignoring stale global SSL error ... called a function you should not
459 call".
460
461 *) Исправление: сертификаты, указанные в директивах
462 ssl_client_certificate и ssl_trusted_certificate, использовались для
463 автоматического построения цепочек сертификатов.
464
465
466 Изменения в nginx 1.7.10 10.02.2015
467
468 *) Добавление: параметр use_temp_path директив proxy_cache_path,
469 fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
470
471 *) Добавление: переменная $upstream_header_time.
472
473 *) Изменение: теперь при переполнении диска nginx пытается писать
474 error_log'и только раз в секунду.
475
476 *) Исправление: директива try_files при тестировании каталогов не
477 игнорировала обычные файлы.
478 Спасибо Damien Tournoud.
479
480 *) Исправление: при использовании директивы sendfile на OS X возникали
481 ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
482
483 *) Исправление: в лог могли писаться сообщения "sem_post() failed".
484
485 *) Исправление: nginx не собирался с musl libc.
486 Спасибо James Taylor.
487
488 *) Исправление: nginx не собирался на Tru64 UNIX.
489 Спасибо Goetz T. Fischer.
490
491
492 Изменения в nginx 1.7.9 23.12.2014
493
494 *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
495 uwsgi_cache поддерживают переменные.
496
497 *) Добавление: директива expires поддерживает переменные.
498
499 *) Добавление: возможность загрузки секретных ключей с аппаратных
500 устройств с помощью OpenSSL engines.
501 Спасибо Дмитрию Пичулину.
502
503 *) Добавление: директива autoindex_format.
504
505 *) Исправление: ревалидация элементов кэша теперь используется только
506 для ответов с кодами 200 и 206.
507 Спасибо Piotr Sikora.
508
509 *) Исправление: строка "TE" заголовка запроса клиента передавалась на
510 бэкенд при проксировании.
511
512 *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
513 uwsgi_pass могли неправильно работать внутри блоков if и
514 limit_except.
515
516 *) Исправление: директива proxy_store с параметром "on" игнорировалась,
517 если на предыдущем уровне использовалась директива proxy_store с явно
518 заданным путём к файлам.
519
520 *) Исправление: nginx не собирался с BoringSSL.
521 Спасибо Lukas Tribus.
522
523
524 Изменения в nginx 1.7.8 02.12.2014
525
526 *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
527 подобные в заголовке запроса клиента передаются бэкенду при
528 включённом кэшировании, если nginx заранее знает, что не будет
529 кэшировать ответ (например, при использовании proxy_cache_min_uses).
530
531 *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
532 отправляет запрос на бэкенд без кэширования; новые директивы
533 proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
534 uwsgi_cache_lock_age позволяют указать, через какое время блокировка
535 будет принудительно снята и будет сделана ещё одна попытка
536 закэшировать ответ.
537
538 *) Изменение: директива log_format теперь может использоваться только на
539 уровне http.
540
541 *) Добавление: директивы proxy_ssl_certificate,
542 proxy_ssl_certificate_key, proxy_ssl_password_file,
543 uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
544 uwsgi_ssl_password_file.
545 Спасибо Piotr Sikora.
546
547 *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
548 именованный location.
549 Спасибо Toshikuni Fukaya.
550
551 *) Добавление: теперь директива tcp_nodelay работает для
552 SPDY-соединений.
553
554 *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
555 Спасибо Peter Wu.
556
557 *) Исправление: nginx игнорировал значение "s-maxage" в строке
558 "Cache-Control" в заголовке ответа бэкенда.
559 Спасибо Piotr Sikora.
560
561 *) Исправление: в модуле ngx_http_spdy_module.
562 Спасибо Piotr Sikora.
563
564 *) Исправление: в директиве ssl_password_file при использовании OpenSSL
565 0.9.8zc, 1.0.0o, 1.0.1j.
566
567 *) Исправление: при использовании директивы post_action в лог писались
568 сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
569
570 *) Исправление: при использовании директивы "postpone_output 0" с
571 SSI-подзапросами в лог могли писаться сообщения "the http output
572 chain is empty".
573
574 *) Исправление: в директиве proxy_cache_lock при использовании
575 SSI-подзапросов.
576 Спасибо Yichun Zhang.
577
578
579 Изменения в nginx 1.7.7 28.10.2014
580
581 *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
582 заголовке ответа бэкенда.
583
584 *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
585 scgi_force_ranges и uwsgi_force_ranges.
586
587 *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
588 scgi_limit_rate и uwsgi_limit_rate.
589
590 *) Добавление: параметр Vary директив proxy_ignore_headers,
591 fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
592
593 *) Исправление: последняя часть ответа, полученного от бэкенда при
594 небуферизированном проксировании, могла не отправляться клиенту, если
595 использовались директивы gzip или gunzip.
596
597 *) Исправление: в директиве proxy_cache_revalidate.
598 Спасибо Piotr Sikora.
599
600 *) Исправление: в обработке ошибок.
601 Спасибо Yichun Zhang и Даниилу Бондареву.
602
603 *) Исправление: в директивах proxy_next_upstream_tries и
604 proxy_next_upstream_timeout.
605 Спасибо Feng Gu.
606
607 *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
608 Спасибо Kouhei Sutou.
609
610
611 Изменения в nginx 1.7.6 30.09.2014
612
613 *) Изменение: устаревшая директива limit_zone больше не поддерживается.
614
615 *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
616 можно использовать комбинации нескольких переменных.
617
618 *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
619 запроса могло передаваться неправильно.
620
621 *) Исправление: в логгировании в syslog.
622
623
624 Изменения в nginx 1.7.5 16.09.2014
625
626 *) Безопасность: при использовании общего для нескольких блоков server
627 разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
628 session tickets было возможно повторно использовать SSL-сессию в
629 контексте другого блока server (CVE-2014-3616).
630 Спасибо Antoine Delignat-Lavaud.
631
632 *) Изменение: директиву stub_status теперь можно указывать без
633 параметров.
634
635 *) Добавление: параметр always директивы add_header.
636
637 *) Добавление: директивы proxy_next_upstream_tries,
638 proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
639 fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
640 memcached_next_upstream_timeout, scgi_next_upstream_tries,
641 scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
642 uwsgi_next_upstream_timeout.
643
644 *) Исправление: в параметре if директивы access_log.
645
646 *) Исправление: в модуле ngx_http_perl_module.
647 Спасибо Piotr Sikora.
648
649 *) Исправление: директива listen почтового прокси-сервера не позволяла
650 указать более двух параметров.
651
652 *) Исправление: директива sub_filter не работала с заменяемой строкой из
653 одного символа.
654
655 *) Исправление: запросы могли зависать, если использовался resolver и в
656 процессе обращения к DNS-серверу происходил таймаут.
657
658 *) Исправление: в модуле ngx_http_spdy_module при использовании
659 совместно с AIO.
660
661 *) Исправление: в рабочем процессе мог произойти segmentation fault,
662 если с помощью директивы set изменялись переменные "$http_...",
663 "$sent_http_..." или "$upstream_http_...".
664
665 *) Исправление: в обработке ошибок выделения памяти.
666 Спасибо Markus Linnala и Feng Gu.
667
668
669 Изменения в nginx 1.7.4 05.08.2014
670
671 *) Безопасность: pipelined-команды не отбрасывались после команды
672 STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
673 1.5.6.
674 Спасибо Chris Boulton.
675
676 *) Изменение: экранирование символов в URI теперь использует
677 шестнадцатеричные цифры в верхнем регистре.
678 Спасибо Piotr Sikora.
679
680 *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
681 Спасибо Piotr Sikora.
682
683 *) Исправление: запросы могли зависать, если использовался resolver и
684 DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
685
686 *) Исправление: в модуле ngx_http_spdy_module.
687 Спасибо Piotr Sikora.
688
689 *) Исправление: переменная $uri могла содержать мусор при возврате
690 ошибок с кодом 400.
691 Спасибо Сергею Боброву.
692
693 *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
694 ngx_http_dav_module.
695 Спасибо Feng Gu.
696
697 *) Исправление: при логгировании ошибок в syslog мог происходить
698 segmentation fault; ошибка появилась в 1.7.1.
699
700 *) Исправление: переменные $geoip_latitude, $geoip_longitude,
701 $geoip_dma_code и $geoip_area_code могли не работать.
702 Спасибо Yichun Zhang.
703
704 *) Исправление: в обработке ошибок выделения памяти.
705 Спасибо Tatsuhiko Kubo и Piotr Sikora.
706
707
708 Изменения в nginx 1.7.3 08.07.2014
709
710 *) Добавление: weak entity tags теперь не удаляются при изменениях
711 ответа, а strong entity tags преобразуются в weak.
712
713 *) Добавление: ревалидация элементов кэша теперь, если это возможно,
714 использует заголовок If-None-Match.
715
716 *) Добавление: директива ssl_password_file.
717
718 *) Исправление: при возврате ответа из кэша заголовок запроса
719 If-None-Match игнорировался, если в ответе не было заголовка
720 Last-Modified.
721
722 *) Исправление: сообщения "peer closed connection in SSL handshake" при
723 соединении с бэкендами логгировались на уровне info вместо error.
724
725 *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
726
727 *) Исправление: SPDY-соединения могли неожиданно закрываться, если
728 использовалось кэширование.
729
730
731 Изменения в nginx 1.7.2 17.06.2014
732
733 *) Добавление: директива hash в блоке upstream.
734
735 *) Добавление: дефрагментация свободных блоков разделяемой памяти.
736 Спасибо Wandenberg Peixoto и Yichun Zhang.
737
738 *) Исправление: в рабочем процессе мог произойти segmentation fault,
739 если использовалось значение access_log по умолчанию; ошибка
740 появилась в 1.7.0.
741 Спасибо Piotr Sikora.
742
743 *) Исправление: завершающий слэш ошибочно удалялся из последнего
744 параметра директивы try_files.
745
746 *) Исправление: nginx мог не собираться на OS X.
747
748 *) Исправление: в модуле ngx_http_spdy_module.
749
750
751 Изменения в nginx 1.7.1 27.05.2014
752
753 *) Добавление: переменные "$upstream_cookie_...".
754
755 *) Добавление: переменная $ssl_client_fingerprint.
756
757 *) Добавление: директивы error_log и access_log теперь поддерживают
758 логгирование в syslog.
759
760 *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
761 соединении.
762
763 *) Исправление: утечки памяти при использовании директивы
764 "ssl_stapling".
765 Спасибо Filipe da Silva.
766
767 *) Исправление: директива alias внутри location'а, заданного регулярным
768 выражением, работала неправильно, если использовались директивы if
769 или limit_except.
770
771 *) Исправление: директива charset не ставила кодировку для сжатых
772 ответов бэкендов.
773
774 *) Исправление: директива proxy_pass без URI могла использовать
775 оригинальный запрос после установки переменной $args.
776 Спасибо Yichun Zhang.
777
778 *) Исправление: в работе параметра none директивы smtp_auth; ошибка
779 появилась в 1.5.6.
780 Спасибо Святославу Никольскому.
781
782 *) Исправление: при совместном использовании sub_filter и SSI ответы
783 могли передаваться неверно.
784
785 *) Исправление: nginx не собирался с параметром --with-file-aio на
786 Linux/aarch64.
787
788
789 Изменения в nginx 1.7.0 24.04.2014
790
791 *) Добавление: проверка SSL-сертификатов бэкендов.
792
793 *) Добавление: поддержка SNI при работе с бэкендами по SSL.
794
795 *) Добавление: переменная $ssl_server_name.
796
797 *) Добавление: параметр if директивы access_log.
798
799
800 Изменения в nginx 1.5.13 08.04.2014
801
802 *) Изменение: улучшена обработка хэш-таблиц; в директивах
803 variables_hash_max_size и types_hash_bucket_size значения по
804 умолчанию изменены на 1024 и 64 соответственно.
805
806 *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end.
807
808 *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при
809 сохранении ответов в кэш.
810
811 *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc()
812 failed: no memory" при использовании разделяемой памяти в
813 ssl_session_cache и в модуле ngx_http_limit_req_module.
814
815 *) Исправление: директива underscores_in_headers не разрешала
816 подчёркивание в первом символе заголовка.
817 Спасибо Piotr Sikora.
818
819 *) Исправление: cache manager мог нагружать процессор при выходе в
820 nginx/Windows.
821
822 *) Исправление: при использовании ssl_session_cache с параметром shared
823 рабочий процесс nginx/Windows завершался аварийно.
824
825 *) Исправление: в модуле ngx_http_spdy_module.
826
827
828 Изменения в nginx 1.5.12 18.03.2014
829
830 *) Безопасность: при обработке специально созданного запроса модулем
831 ngx_http_spdy_module могло происходить переполнение буфера в рабочем
832 процессе, что потенциально могло приводить к выполнению произвольного
833 кода (CVE-2014-0133).
834 Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
835 Buenos Aires, Argentina.
836
837 *) Добавление: параметр proxy_protocol в директивах listen и
838 real_ip_header, переменная $proxy_protocol_addr.
839
840 *) Исправление: в директиве fastcgi_next_upstream.
841 Спасибо Lucas Molas.
842
843
844 Изменения в nginx 1.5.11 04.03.2014
845
846 *) Безопасность: при обработке специально созданного запроса модулем
847 ngx_http_spdy_module на 32-битных платформах могла повреждаться
848 память рабочего процесса, что потенциально могло приводить к
849 выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
850 1.5.10.
851 Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
852 Buenos Aires, Argentina.
853
854 *) Добавление: переменная $ssl_session_reused.
855
856 *) Исправление: директива client_max_body_size могла не работать при
857 чтении тела запроса с использованием chunked transfer encoding;
858 ошибка появилась в 1.3.9.
859 Спасибо Lucas Molas.
860
861 *) Исправление: при проксировании WebSocket-соединений в рабочем
862 процессе мог произойти segmentation fault.
863
864 *) Исправление: в рабочем процессе мог произойти segmentation fault,
865 если использовался модуль ngx_http_spdy_module на 32-битных
866 платформах; ошибка появилась в 1.5.10.
867
868 *) Исправление: значение переменной $upstream_status могло быть
869 неверным, если использовались директивы proxy_cache_use_stale или
870 proxy_cache_revalidate.
871 Спасибо Piotr Sikora.
872
873 *) Исправление: в рабочем процессе мог произойти segmentation fault,
874 если ошибки с кодом 400 с помощью директивы error_page
875 перенаправлялись в именованный location.
876
877 *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
878
879
880 Изменения в nginx 1.5.10 04.02.2014
881
882 *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
883 SPDY 3.1.
884 Спасибо Automattic и MaxCDN за спонсирование разработки.
885
886 *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
887 имеющие меньшую длину, чем запрошенная перемотка.
888
889 *) Исправление: в рабочем процессе мог произойти segmentation fault,
890 если переменная $ssl_session_id использовалась при логгировании;
891 ошибка появилась в 1.5.9.
892
893 *) Исправление: переменные $date_local и $date_gmt использовали неверный
894 формат вне модуля ngx_http_ssi_filter_module.
895
896 *) Исправление: клиентские соединения могли сразу закрываться, если
897 использовался отложенный accept; ошибка появилась в 1.3.15.
898
899 *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
900 записывались в лог в процессе обновления исполняемого файла на Linux;
901 ошибка появилась в 1.5.8.
902 Спасибо Piotr Sikora.
903
904
905 Изменения в nginx 1.5.9 22.01.2014
906
907 *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
908 закодированный URI.
909
910 *) Добавление: директива ssl_buffer_size.
911
912 *) Добавление: директиву limit_rate теперь можно использовать для
913 ограничения скорости передачи ответов клиенту в SPDY-соединениях.
914
915 *) Добавление: директива spdy_chunk_size.
916
917 *) Добавление: директива ssl_session_tickets.
918 Спасибо Dirkjan Bussink.
919
920 *) Исправление: переменная $ssl_session_id содержала всю сессию в
921 сериализованном виде вместо её идентификатора.
922 Спасибо Ivan Ristić.
923
924 *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
925 в команде SSI include.
926
927 *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
928 при обработке методов COPY и MOVE.
929
930 *) Исправление: resolver не понимал доменные имена с точкой в конце.
931 Спасибо Yichun Zhang.
932
933 *) Исправление: при проксировании в логах могли появляться сообщения
934 "zero size buf in output"; ошибка появилась в 1.3.9.
935
936 *) Исправление: в рабочем процессе мог произойти segmentation fault,
937 если использовался модуль ngx_http_spdy_module.
938
939 *) Исправление: при использовании методов обработки соединений select,
940 poll и /dev/poll проксируемые WebSocket-соединения могли зависать
941 сразу после открытия.
942
943 *) Исправление: директива xclient почтового прокси-сервера некорректно
944 передавала IPv6-адреса.
945
946
947 Изменения в nginx 1.5.8 17.12.2013
948
949 *) Добавление: теперь resolver поддерживает IPv6.
950
951 *) Добавление: директива listen поддерживает параметр fastopen.
952 Спасибо Mathew Rodley.
953
954 *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
955 Спасибо Roberto De Ioris.
956
957 *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
958 Спасибо Evan Miller.
959
960 *) Исправление: при чтении тела запроса с использованием chunked
961 transfer encoding по SSL-соединению мог произойти таймаут.
962
963 *) Исправление: директива master_process работала неправильно в
964 nginx/Windows.
965
966 *) Исправление: параметр setfib директивы listen мог не работать.
967
968 *) Исправление: в модуле ngx_http_spdy_module.
969
970
971 Изменения в nginx 1.5.7 19.11.2013
972
973 *) Безопасность: символ, следующий за незакодированным пробелом в строке
974 запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
975 в 0.8.41.
976 Спасибо Ivan Fratric из Google Security Team.
977
978 *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
979 пароля понижен с уровня error до info.
980
981 *) Добавление: директивы proxy_cache_revalidate,
982 fastcgi_cache_revalidate, scgi_cache_revalidate и
983 uwsgi_cache_revalidate.
984
985 *) Добавление: директива ssl_session_ticket_key.
986 Спасибо Piotr Sikora.
987
988 *) Исправление: директива "add_header Cache-Control ''" добавляла строку
989 заголовка ответа "Cache-Control" с пустым значением.
990
991 *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
992 401 при использовании директив auth_request и auth_basic.
993 Спасибо Jan Marc Hoffmann.
994
995 *) Исправление: параметры accept_filter и deferred директивы listen
996 игнорировались для listen-сокетов, создаваемых в процессе обновления
997 исполняемого файла.
998 Спасибо Piotr Sikora.
999
1000 *) Исправление: часть данных, полученных от бэкенда при
1001 небуферизированном проксировании, могла не отправляться клиенту
1002 сразу, если использовались директивы gzip или gunzip.
1003 Спасибо Yichun Zhang.
1004
1005 *) Исправление: в обработке ошибок в модуле
1006 ngx_http_gunzip_filter_module.
1007
1008 *) Исправление: ответы могли зависать, если использовался модуль
1009 ngx_http_spdy_module и директива auth_request.
1010
1011 *) Исправление: утечки памяти в nginx/Windows.
1012
1013
1014 Изменения в nginx 1.5.6 01.10.2013
1015
1016 *) Добавление: директива fastcgi_buffering.
1017
1018 *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
1019 Спасибо Piotr Sikora.
1020
1021 *) Добавление: оптимизация SSL handshake при использовании длинных
1022 цепочек сертификатов.
1023
1024 *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
1025
1026 *) Исправление: в модуле ngx_http_auth_basic_module при использовании
1027 метода шифрования паролей "$apr1$".
1028 Спасибо Markus Linnala.
1029
1030 *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
1031 мог использоваться неверный location, если для задания location'ов
1032 использовались символы разных регистров.
1033
1034 *) Исправление: автоматическое перенаправление с добавлением
1035 завершающего слэша для проксированных location'ов могло не работать.
1036
1037 *) Исправление: в почтовом прокси-сервере.
1038
1039 *) Исправление: в модуле ngx_http_spdy_module.
1040
1041
1042 Изменения в nginx 1.5.5 17.09.2013
1043
1044 *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
1045 определить протокол не удалось.
1046
1047 *) Добавление: директива disable_symlinks теперь использует O_PATH на
1048 Linux.
1049
1050 *) Добавление: для определения того, что клиент закрыл соединение, при
1051 использовании метода epoll теперь используются события EPOLLRDHUP.
1052
1053 *) Исправление: в директиве valid_referers при использовании параметра
1054 server_names.
1055
1056 *) Исправление: переменная $request_time не работала в nginx/Windows.
1057
1058 *) Исправление: в директиве image_filter.
1059 Спасибо Lanshun Zhou.
1060
1061 *) Исправление: совместимость с OpenSSL 1.0.1f.
1062 Спасибо Piotr Sikora.
1063
1064
1065 Изменения в nginx 1.5.4 27.08.2013
1066
1067 *) Изменение: MIME-тип для расширения js изменён на
1068 "application/javascript"; значение по умолчанию директивы
1069 charset_types изменено соответственно.
1070
1071 *) Изменение: теперь директива image_filter с параметром size возвращает
1072 ответ с MIME-типом "application/json".
1073
1074 *) Добавление: модуль ngx_http_auth_request_module.
1075
1076 *) Исправление: на старте или во время переконфигурации мог произойти
1077 segmentation fault, если использовалась директива try_files с пустым
1078 параметром.
1079
1080 *) Исправление: утечки памяти при использовании в директивах root и
1081 auth_basic_user_file относительных путей, заданных с помощью
1082 переменных.
1083
1084 *) Исправление: директива valid_referers неправильно выполняла
1085 регулярные выражения, если заголовок Referer начинался с "https://".
1086 Спасибо Liangbin Li.
1087
1088 *) Исправление: ответы могли зависать, если использовались подзапросы и
1089 при обработке подзапроса происходила ошибка во время SSL handshake с
1090 бэкендом.
1091 Спасибо Aviram Cohen.
1092
1093 *) Исправление: в модуле ngx_http_autoindex_module.
1094
1095 *) Исправление: в модуле ngx_http_spdy_module.
1096
1097
1098 Изменения в nginx 1.5.3 30.07.2013
1099
1100 *) Изменение во внутреннем API: теперь при небуферизированной работе с
1101 бэкендами u->length по умолчанию устанавливается в -1.
1102
1103 *) Изменение: теперь при получении неполного ответа от бэкенда nginx
1104 отправляет полученную часть ответа, после чего закрывает соединение с
1105 клиентом.
1106
1107 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1108 если использовался модуль ngx_http_spdy_module и директива
1109 client_body_in_file_only.
1110
1111 *) Исправление: параметр so_keepalive директивы listen мог работать
1112 некорректно на DragonFlyBSD.
1113 Спасибо Sepherosa Ziehau.
1114
1115 *) Исправление: в модуле ngx_http_xslt_filter_module.
1116
1117 *) Исправление: в модуле ngx_http_sub_filter_module.
1118
1119
1120 Изменения в nginx 1.5.2 02.07.2013
1121
1122 *) Добавление: теперь можно использовать несколько директив error_log.
1123
1124 *) Исправление: метод $r->header_in() встроенного перла не возвращал
1125 значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
1126 ошибка появилась в 1.3.14.
1127
1128 *) Исправление: в модуле ngx_http_spdy_module.
1129 Спасибо Jim Radford.
1130
1131 *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
1132 Спасибо Сергею Иванцову.
1133
1134
1135 Изменения в nginx 1.5.1 04.06.2013
1136
1137 *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
1138 xslt_last_modified.
1139 Спасибо Алексею Колпакову.
1140
1141 *) Добавление: параметр http_403 в директивах proxy_next_upstream,
1142 fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
1143
1144 *) Добавление: директивы allow и deny теперь поддерживают unix domain
1145 сокеты.
1146
1147 *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
1148 модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
1149
1150 *) Исправление: в директиве proxy_set_body.
1151 Спасибо Lanshun Zhou.
1152
1153 *) Исправление: в директиве lingering_time.
1154 Спасибо Lanshun Zhou.
1155
1156 *) Исправление: параметр fail_timeout директивы server в блоке upstream
1157 мог не работать, если использовался параметр max_fails; ошибка
1158 появилась в 1.3.0.
1159
1160 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1161 если использовалась директива ssl_stapling.
1162 Спасибо Piotr Sikora.
1163
1164 *) Исправление: в почтовом прокси-сервере.
1165 Спасибо Filipe Da Silva.
1166
1167 *) Исправление: nginx/Windows мог перестать принимать соединения, если
1168 использовалось несколько рабочих процессов.
1169
1170
1171 Изменения в nginx 1.5.0 07.05.2013
1172
1173 *) Безопасность: при обработке специально созданного запроса мог
1174 перезаписываться стек рабочего процесса, что могло приводить к
1175 выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
1176 1.3.9.
1177 Спасибо Greg MacManus, iSIGHT Partners Labs.
1178
1179
1180 Изменения в nginx 1.4.0 24.04.2013
1181
1182 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
1183 использовался параметр --with-openssl; ошибка появилась в 1.3.16.
1184
1185 *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
1186 ошибка появилась в 1.3.9.
1187
1188
1189 Изменения в nginx 1.3.16 16.04.2013
1190
1191 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1192 если использовались подзапросы; ошибка появилась в 1.3.9.
1193
1194 *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
1195 WebSocket-соединений в unix domain сокет.
1196
1197 *) Исправление: переменная $upstream_response_length возвращала значение
1198 "0", если не использовалась буферизация.
1199 Спасибо Piotr Sikora.
1200
1201 *) Исправление: в методах обработки соединений eventport и /dev/poll.
1202
1203
1204 Изменения в nginx 1.3.15 26.03.2013
1205
1206 *) Изменение: открытие и закрытие соединения без отправки в нём
1207 каких-либо данных больше не записывается в access_log с кодом ошибки
1208 400.
1209
1210 *) Добавление: модуль ngx_http_spdy_module.
1211 Спасибо Automattic за спонсирование разработки.
1212
1213 *) Добавление: директивы limit_req_status и limit_conn_status.
1214 Спасибо Nick Marden.
1215
1216 *) Добавление: директива image_filter_interlace.
1217 Спасибо Ивану Боброву.
1218
1219 *) Добавление: переменная $connections_waiting в модуле
1220 ngx_http_stub_status_module.
1221
1222 *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
1223
1224 *) Исправление: при повторной отправке запроса на бэкенд тело запроса
1225 могло передаваться неправильно; ошибка появилась в 1.3.9.
1226 Спасибо Piotr Sikora.
1227
1228 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1229 1.3.9.
1230
1231 *) Исправление: ответы могли зависать, если использовались подзапросы и
1232 при обработке подзапроса происходила DNS-ошибка.
1233 Спасибо Lanshun Zhou.
1234
1235 *) Исправление: в процедуре учёта использования бэкендов.
1236
1237
1238 Изменения в nginx 1.3.14 05.03.2013
1239
1240 *) Добавление: переменные $connections_active, $connections_reading и
1241 $connections_writing в модуле ngx_http_stub_status_module.
1242
1243 *) Добавление: поддержка WebSocket-соединений в модулях
1244 ngx_http_uwsgi_module и ngx_http_scgi_module.
1245
1246 *) Исправление: в обработке виртуальных серверов при использовании SNI.
1247
1248 *) Исправление: при использовании директивы "ssl_session_cache shared"
1249 новые сессии могли не сохраняться, если заканчивалось место в
1250 разделяемой памяти.
1251 Спасибо Piotr Sikora.
1252
1253 *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
1254 неправильно.
1255 Спасибо Neal Poole за спонсирование разработки.
1256
1257 *) Исправление: в модуле ngx_http_mp4_module.
1258 Спасибо Gernot Vormayr.
1259
1260
1261 Изменения в nginx 1.3.13 19.02.2013
1262
1263 *) Изменение: теперь для сборки по умолчанию используется компилятор с
1264 именем "cc".
1265
1266 *) Добавление: поддержка проксирования WebSocket-соединений.
1267 Спасибо Apcera и CloudBees за спонсирование разработки.
1268
1269 *) Добавление: директива auth_basic_user_file поддерживает шифрование
1270 паролей методом "{SHA}".
1271 Спасибо Louis Opter.
1272
1273
1274 Изменения в nginx 1.3.12 05.02.2013
1275
1276 *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
1277 scgi_bind и uwsgi_bind поддерживают переменные.
1278
1279 *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
1280 $time_local теперь можно использовать не только в директиве
1281 log_format.
1282 Спасибо Kiril Kalchev.
1283
1284 *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
1285 Спасибо Gregor Kališnik.
1286
1287 *) Исправление: директива proxy_method работала неверно, если была
1288 указана на уровне http.
1289
1290 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1291 если использовался resolver и метод poll.
1292
1293 *) Исправление: nginx мог нагружать процессор во время SSL handshake с
1294 бэкендом при использовании методов обработки соединений select, poll
1295 и /dev/poll.
1296
1297 *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
1298
1299 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
1300 1.3.9.
1301
1302 *) Исправление: в директиве fastcgi_keep_conn.
1303
1304
1305 Изменения в nginx 1.3.11 10.01.2013
1306
1307 *) Исправление: при записи в лог мог происходить segmentation fault;
1308 ошибка появилась в 1.3.10.
1309
1310 *) Исправление: директива proxy_pass не работала с IP-адресами без
1311 явного указания порта; ошибка появилась в 1.3.10.
1312
1313 *) Исправление: на старте или во время переконфигурации происходил
1314 segmentation fault, если директива keepalive была указана несколько
1315 раз в одном блоке upstream.
1316
1317 *) Исправление: параметр default директивы geo не определял значение по
1318 умолчанию для IPv6-адресов.
1319
1320
1321 Изменения в nginx 1.3.10 25.12.2012
1322
1323 *) Изменение: для указанных в конфигурационном файле доменных имён
1324 теперь используются не только IPv4, но и IPv6 адреса.
1325
1326 *) Изменение: теперь при использовании директивы include с маской на
1327 Unix-системах включаемые файлы сортируются в алфавитном порядке.
1328
1329 *) Изменение: директива add_header добавляет строки в ответы с кодом
1330 201.
1331
1332 *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
1333 CIDR.
1334
1335 *) Добавление: параметры flush и gzip в директиве access_log.
1336
1337 *) Добавление: директива auth_basic поддерживает переменные.
1338
1339 *) Исправление: nginx в некоторых случаях не собирался с модулем
1340 ngx_http_perl_module.
1341
1342 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1343 если использовался модуль ngx_http_xslt_module.
1344
1345 *) Исправление: nginx мог не собираться на MacOSX.
1346 Спасибо Piotr Sikora.
1347
1348 *) Исправление: при использовании директивы limit_rate с большими
1349 значениями скорости на 32-битных системах ответ мог возвращаться не
1350 целиком.
1351 Спасибо Алексею Антропову.
1352
1353 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1354 если использовалась директива if.
1355 Спасибо Piotr Sikora.
1356
1357 *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
1358 Request Entity Too Large".
1359
1360 *) Исправление: директивы image_filter, image_filter_jpeg_quality и
1361 image_filter_sharpen могли наследоваться некорректно.
1362 Спасибо Ивану Боброву.
1363
1364 *) Исправление: при использовании директивы auth_basic под Linux могли
1365 возникать ошибки "crypt_r() failed".
1366
1367 *) Исправление: в обработке backup-серверов.
1368 Спасибо Thomas Chen.
1369
1370 *) Исправление: при проксировании HEAD-запросов мог возвращаться
1371 некорректный ответ, если использовалась директива gzip.
1372
1373
1374 Изменения в nginx 1.3.9 27.11.2012
1375
1376 *) Добавление: поддержка chunked transfer encoding при получении тела
1377 запроса.
1378
1379 *) Добавление: переменные $request_time и $msec теперь можно
1380 использовать не только в директиве log_format.
1381
1382 *) Исправление: cache manager и cache loader могли не запускаться, если
1383 использовалось более 512 listen-сокетов.
1384
1385 *) Исправление: в модуле ngx_http_dav_module.
1386
1387
1388 Изменения в nginx 1.3.8 30.10.2012
1389
1390 *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
1391 Спасибо Михаилу Казанцеву и Eric O'Connor.
1392
1393 *) Добавление: переменные $bytes_sent, $connection и
1394 $connection_requests теперь можно использовать не только в директиве
1395 log_format.
1396 Спасибо Benjamin Grössing.
1397
1398 *) Добавление: параметр auto директивы worker_processes.
1399
1400 *) Исправление: сообщения "cache file ... has md5 collision".
1401
1402 *) Исправление: в модуле ngx_http_gunzip_filter_module.
1403
1404 *) Исправление: в директиве ssl_stapling.
1405
1406
1407 Изменения в nginx 1.3.7 02.10.2012
1408
1409 *) Добавление: поддержка OCSP stapling.
1410 Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
1411
1412 *) Добавление: директива ssl_trusted_certificate.
1413
1414 *) Добавление: теперь resolver случайным образом меняет порядок
1415 возвращаемых закэшированных адресов.
1416 Спасибо Антону Жулину.
1417
1418 *) Исправление: совместимость с OpenSSL 0.9.7.
1419
1420
1421 Изменения в nginx 1.3.6 12.09.2012
1422
1423 *) Добавление: модуль ngx_http_gunzip_filter_module.
1424
1425 *) Добавление: директива memcached_gzip_flag.
1426
1427 *) Добавление: параметр always директивы gzip_static.
1428
1429 *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
1430 Спасибо Charles Chen.
1431
1432 *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
1433 использовался параметр --with-ipv6.
1434
1435
1436 Изменения в nginx 1.3.5 21.08.2012
1437
1438 *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
1439 дорожки в форматах, отличных от H.264 и AAC.
1440
1441 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1442 если в директиве map в качестве значений использовались переменные.
1443
1444 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1445 использовании директивы geo с параметром ranges, но без параметра
1446 default; ошибка появилась в 0.8.43.
1447 Спасибо Zhen Chen и Weibin Yao.
1448
1449 *) Исправление: в обработке параметра командной строки -p.
1450
1451 *) Исправление: в почтовом прокси-сервере.
1452
1453 *) Исправление: незначительных потенциальных ошибок.
1454 Спасибо Coverity.
1455
1456 *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
1457 Спасибо HAYASHI Kentaro.
1458
1459
1460 Изменения в nginx 1.3.4 31.07.2012
1461
1462 *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
1463 по умолчанию.
1464
1465 *) Добавление: поддержка компилятора Clang.
1466
1467 *) Исправление: могли создаваться лишние слушающие сокеты.
1468 Спасибо Роману Одайскому.
1469
1470 *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
1471 рабочего процесса происходила ошибка.
1472 Спасибо Ricardo Villalobos Guevara.
1473
1474 *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
1475 scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
1476 fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
1477 наследоваться некорректно.
1478
1479
1480 Изменения в nginx 1.3.3 10.07.2012
1481
1482 *) Добавление: поддержка entity tags и директива etag.
1483
1484 *) Исправление: при использовании директивы map с параметром hostnames
1485 не игнорировалась конечная точка в исходном значении.
1486
1487 *) Исправление: для обработки запроса мог использоваться неверный
1488 location, если переход в именованный location происходил после
1489 изменения URI с помощью директивы rewrite.
1490
1491
1492 Изменения в nginx 1.3.2 26.06.2012
1493
1494 *) Изменение: параметр single директивы keepalive теперь игнорируется.
1495
1496 *) Изменение: сжатие SSL теперь отключено в том числе при использовании
1497 OpenSSL старее 1.0.0.
1498
1499 *) Добавление: директиву "ip_hash" теперь можно использовать для
1500 балансировки IPv6 клиентов.
1501
1502 *) Добавление: переменную $status теперь можно использовать не только в
1503 директиве log_format.
1504
1505 *) Исправление: при завершении рабочего процесса мог произойти
1506 segmentation fault, если использовалась директива resolver.
1507
1508 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1509 если использовался модуль ngx_http_mp4_module.
1510
1511 *) Исправление: в модуле ngx_http_mp4_module.
1512
1513 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1514 если использовались конфликтующие имена серверов с масками.
1515
1516 *) Исправление: на платформе ARM nginx мог аварийно завершаться по
1517 сигналу SIGBUS.
1518
1519 *) Исправление: во время переконфигурации на HP-UX в лог записывался
1520 alert "sendmsg() failed (9: Bad file number)".
1521
1522
1523 Изменения в nginx 1.3.1 05.06.2012
1524
1525 *) Безопасность: теперь nginx/Windows игнорирует точку в конце
1526 компонента URI и не разрешает URI, содержащие последовательность
1527 ":$".
1528 Спасибо Владимиру Кочеткову, Positive Research Center.
1529
1530 *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
1531 и директива server в блоке upstream теперь поддерживают IPv6-адреса.
1532
1533 *) Добавление: в директиве resolver теперь можно указывать порт и
1534 задавать IPv6-адреса DNS-серверов.
1535
1536 *) Добавление: директива least_conn в блоке upstream.
1537
1538 *) Добавление: при использовании директивы ip_hash теперь можно задавать
1539 веса серверов.
1540
1541 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1542 если использовалась директива image_filter; ошибка появилась в 1.3.0.
1543
1544 *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
1545 появилась в 1.1.12.
1546
1547 *) Исправление: доступ к переменным из SSI и встроенного перла мог не
1548 работать после переконфигурации.
1549 Спасибо Yichun Zhang.
1550
1551 *) Исправление: в модуле ngx_http_xslt_filter_module.
1552 Спасибо Kuramoto Eiji.
1553
1554 *) Исправление: утечки памяти при использовании переменной $geoip_org.
1555 Спасибо Денису Латыпову.
1556
1557 *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
1558
1559
1560 Изменения в nginx 1.3.0 15.05.2012
1561
1562 *) Добавление: директива debug_connection теперь поддерживает
1563 IPv6-адреса и параметр "unix:".
1564
1565 *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
1566 теперь поддерживают IPv6-адреса.
1567
1568 *) Добавление: директивы real_ip_recursive, geoip_proxy и
1569 geoip_proxy_recursive.
1570
1571 *) Добавление: параметр proxy_recursive директивы geo.
1572
1573 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1574 если использовалась директива resolver.
1575
1576 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1577 если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
1578 и бэкенд возвращал некорректный ответ.
1579
1580 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1581 если использовалась директива rewrite и в новых аргументах запроса в
1582 строке замены использовались переменные.
1583
1584 *) Исправление: nginx мог нагружать процессор, если было достигнуто
1585 ограничение на количество открытых файлов.
1586
1587 *) Исправление: при использовании директивы proxy_next_upstream с
1588 параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
1589 блоке upstream был хотя бы один сервер с флагом backup.
1590
1591 *) Исправление: при использовании директивы ip_hash установка параметра
1592 down директивы server могла приводить к ненужному перераспределению
1593 клиентов между бэкендами.
1594
1595 *) Исправление: утечки сокетов.
1596 Спасибо Yichun Zhang.
1597
1598 *) Исправление: в модуле ngx_http_fastcgi_module.
1599
1600
1601 Изменения в nginx 1.2.0 23.04.2012
1602
1603 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1604 если использовалась директива try_files; ошибка появилась в 1.1.19.
1605
1606 *) Исправление: ответ мог быть передан не полностью, если использовалось
1607 больше IOV_MAX буферов.
1608
1609 *) Исправление: в работе параметра crop директивы image_filter.
1610 Спасибо Maxim Bublis.
1611
1612
1613 Изменения в nginx 1.1.19 12.04.2012
1614
1615 *) Безопасность: при обработке специально созданного mp4 файла модулем
1616 ngx_http_mp4_module могли перезаписываться области памяти рабочего
1617 процесса, что могло приводить к выполнению произвольного кода
1618 (CVE-2012-2089).
1619 Спасибо Matthew Daley.
1620
1621 *) Исправление: nginx/Windows мог завершаться аварийно.
1622 Спасибо Vincent Lee.
1623
1624 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
1625 были помечены флагом backup.
1626
1627 *) Исправление: директивы allow и deny могли наследоваться некорректно,
1628 если в них использовались IPv6 адреса.
1629
1630 *) Исправление: директивы modern_browser и ancient_browser могли
1631 наследоваться некорректно.
1632
1633 *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
1634
1635 *) Исправление: в модуле ngx_http_mp4_module.
1636
1637
1638 Изменения в nginx 1.1.18 28.03.2012
1639
1640 *) Изменение: теперь keepalive соединения не запрещены для Safari по
1641 умолчанию.
1642
1643 *) Добавление: переменная $connection_requests.
1644
1645 *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
1646 $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
1647
1648 *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
1649
1650 *) Добавление: директивы xslt_param и xslt_string_param.
1651 Спасибо Samuel Behan.
1652
1653 *) Исправление: в configure.
1654 Спасибо Piotr Sikora.
1655
1656 *) Исправление: в модуле ngx_http_xslt_filter_module.
1657
1658 *) Исправление: nginx не собирался на Debian GNU/Hurd.
1659
1660
1661 Изменения в nginx 1.1.17 15.03.2012
1662
1663 *) Безопасность: содержимое ранее освобождённой памяти могло быть
1664 отправлено клиенту, если бэкенд возвращал специально созданный ответ.
1665 Спасибо Matthew Daley.
1666
1667 *) Исправление: при использовании встроенного перла из SSI.
1668 Спасибо Matthew Daley.
1669
1670 *) Исправление: в модуле ngx_http_uwsgi_module.
1671
1672
1673 Изменения в nginx 1.1.16 29.02.2012
1674
1675 *) Изменение: ограничение на количество одновременных подзапросов
1676 поднято до 200.
1677
1678 *) Добавление: параметр from в директиве disable_symlinks.
1679
1680 *) Добавление: директивы return и error_page теперь могут использоваться
1681 для возврата перенаправлений с кодом 307.
1682
1683 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1684 если использовалась директива resolver и на глобальном уровне не была
1685 задана директива error_log.
1686 Спасибо Роману Арутюняну.
1687
1688 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1689 если использовались директивы "proxy_http_version 1.1" или
1690 "fastcgi_keep_conn on".
1691
1692 *) Исправление: утечек памяти.
1693 Спасибо Lanshun Zhou.
1694
1695 *) Исправление: в директиве disable_symlinks.
1696
1697 *) Исправление: при использовании ZFS размер кэша на диске мог считаться
1698 некорректно; ошибка появилась в 1.0.1.
1699
1700 *) Исправление: nginx не собирался компилятором icc 12.1.
1701
1702 *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
1703 1.1.15.
1704
1705
1706 Изменения в nginx 1.1.15 15.02.2012
1707
1708 *) Добавление: директива disable_symlinks.
1709
1710 *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
1711
1712 *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
1713 prematurely closed connection" вместо "upstream sent too big header".
1714 Спасибо Feibo Li.
1715
1716 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
1717 использовался параметр --with-openssl.
1718
1719 *) Исправление: количество внутренних перенаправлений в именованные
1720 location'ы не ограничивалось.
1721
1722 *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
1723 ошибкам в модуле ngx_http_gzip_filter_module.
1724
1725 *) Исправление: при использовании директивы proxy_store с
1726 SSI-подзапросами временные файлы могли не удаляться.
1727
1728 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
1729 $args) возвращали старое пустое закэшированное значение.
1730
1731 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1732 если одновременно создавалось слишком много SSI-подзапросов; ошибка
1733 появилась в 0.7.25.
1734
1735
1736 Изменения в nginx 1.1.14 30.01.2012
1737
1738 *) Добавление: теперь можно указать несколько ограничений limit_req
1739 одновременно.
1740
1741 *) Исправление: в обработке ошибок при соединении с бэкендом.
1742 Спасибо Piotr Sikora.
1743
1744 *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
1745
1746 *) Исправление: в инициализации библиотеки OpenSSL.
1747
1748 *) Исправление: директивы proxy_redirect могли наследоваться
1749 некорректно.
1750
1751 *) Исправление: утечки памяти при переконфигурации, если использовалась
1752 директива pcre_jit.
1753
1754
1755 Изменения в nginx 1.1.13 16.01.2012
1756
1757 *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
1758
1759 *) Исправление: параметры директивы limit_req наследовались некорректно;
1760 ошибка появилась в 1.1.12.
1761
1762 *) Исправление: директива proxy_redirect некорректно обрабатывала
1763 заголовок Refresh при использовании регулярных выражений.
1764
1765 *) Исправление: директива proxy_cache_use_stale с параметром error не
1766 возвращала ответ из кэша, если все бэкенды были признаны
1767 неработающими.
1768
1769 *) Исправление: директива worker_cpu_affinity могла не работать.
1770
1771 *) Исправление: nginx не собирался на Solaris; ошибка появилась в
1772 1.1.12.
1773
1774 *) Исправление: в модуле ngx_http_mp4_module.
1775
1776
1777 Изменения в nginx 1.1.12 26.12.2011
1778
1779 *) Изменение: после перенаправления запроса с помощью директивы
1780 error_page директива proxy_pass без URI теперь использует изменённый
1781 URI.
1782 Спасибо Lanshun Zhou.
1783
1784 *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
1785 proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
1786
1787 *) Добавление: директива pcre_jit.
1788
1789 *) Добавление: SSI команда if поддерживает выделения в регулярных
1790 выражениях.
1791
1792 *) Исправление: SSI команда if не работала внутри команды block.
1793
1794 *) Исправление: директивы limit_conn_log_level и limit_req_log_level
1795 могли не работать.
1796
1797 *) Исправление: директива limit_rate не позволяла передавать на полной
1798 скорости, даже если был указан очень большой лимит.
1799
1800 *) Исправление: директива sendfile_max_chunk не работала, если
1801 использовалась директива limit_rate.
1802
1803 *) Исправление: если в директиве proxy_pass использовались переменные и
1804 не был указан URI, всегда использовался URI исходного запроса.
1805
1806 *) Исправление: после перенаправления запроса с помощью директивы
1807 try_files директива proxy_pass без URI могла использовать URI
1808 исходного запроса.
1809 Спасибо Lanshun Zhou.
1810
1811 *) Исправление: в модуле ngx_http_scgi_module.
1812
1813 *) Исправление: в модуле ngx_http_mp4_module.
1814
1815 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
1816
1817
1818 Изменения в nginx 1.1.11 12.12.2011
1819
1820 *) Добавление: параметр so_keepalive в директиве listen.
1821 Спасибо Всеволоду Стахову.
1822
1823 *) Добавление: параметр if_not_empty в директивах
1824 fastcgi/scgi/uwsgi_param.
1825
1826 *) Добавление: переменная $https.
1827
1828 *) Добавление: директива proxy_redirect поддерживает переменные в первом
1829 параметре.
1830
1831 *) Добавление: директива proxy_redirect поддерживает регулярные
1832 выражения.
1833
1834 *) Исправление: переменная $sent_http_cache_control могла содержать
1835 неверное значение при использовании директивы expires.
1836 Спасибо Yichun Zhang.
1837
1838 *) Исправление: директива read_ahead могла не работать при использовании
1839 совместно с try_files и open_file_cache.
1840
1841 *) Исправление: если в параметре inactive директивы proxy_cache_path
1842 было указано малое время, в рабочем процессе мог произойти
1843 segmentation fault.
1844
1845 *) Исправление: ответы из кэша могли зависать.
1846
1847
1848 Изменения в nginx 1.1.10 30.11.2011
1849
1850 *) Исправление: при использовании AIO на Linux в рабочем процессе
1851 происходил segmentation fault; ошибка появилась в 1.1.9.
1852
1853
1854 Изменения в nginx 1.1.9 28.11.2011
1855
1856 *) Изменение: теперь двойные кавычки экранируется при выводе
1857 SSI-командой echo.
1858 Спасибо Зауру Абасмирзоеву.
1859
1860 *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
1861 используется TTL, возвращённый DNS-сервером.
1862 Спасибо Кириллу Коринскому.
1863
1864 *) Исправление: nginx мог перестать отвечать, если рабочий процесс
1865 завершался аварийно.
1866
1867 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1868 если использовалось SNI; ошибка появилась в 1.1.2.
1869
1870 *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
1871 Спасибо Александру Усову.
1872
1873 *) Исправление: сигнал SIGWINCH переставал работать после первого
1874 обновления исполняемого файла; ошибка появилась в 1.1.1.
1875
1876 *) Исправление: теперь ответы бэкендов, длина которых не соответствует
1877 заголовку Content-Length, не кэширутся.
1878
1879 *) Исправление: в директиве scgi_param при использовании составных
1880 параметров.
1881
1882 *) Исправление: в методе epoll.
1883 Спасибо Yichun Zhang.
1884
1885 *) Исправление: в модуле ngx_http_flv_module.
1886 Спасибо Piotr Sikora.
1887
1888 *) Исправление: в модуле ngx_http_mp4_module.
1889
1890 *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
1891 заголовке Host.
1892
1893 *) Исправление: директивы add_header и expires не работали для ответов с
1894 кодом 206, если запрос проксировался.
1895
1896 *) Исправление: nginx не собирался на FreeBSD 10.
1897
1898 *) Исправление: nginx не собирался на AIX.
1899
1900
1901 Изменения в nginx 1.1.8 14.11.2011
1902
1903 *) Изменение: модуль ngx_http_limit_zone_module переименован в
1904 ngx_http_limit_conn_module.
1905
1906 *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
1907 новым синтаксисом.
1908
1909 *) Добавление: поддержка ограничения по нескольким limit_conn на одном
1910 уровне.
1911
1912 *) Добавление: директива image_filter_sharpen.
1913
1914 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1915 если resolver получил большой DNS-ответ.
1916 Спасибо Ben Hawkes.
1917
1918 *) Исправление: в вычислении ключа для кэширования, если использовалась
1919 внутренняя реализация MD5; ошибка появилась в 1.0.4.
1920
1921 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1922 заголовке запроса клиента могли передаваться бэкенду при кэшировании;
1923 или не передаваться при выключенном кэшировании, если кэширование
1924 было включено в другой части конфигурации.
1925
1926 *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
1927 "Content-Length" в заголовке ответа, использовался аргумент start.
1928 Спасибо Piotr Sikora.
1929
1930
1931 Изменения в nginx 1.1.7 31.10.2011
1932
1933 *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
1934 Спасибо Кириллу Коринскому.
1935
1936 *) Исправление: на старте или во время переконфигурации происходил
1937 segmentation fault, если директива ssl использовалась на уровне http
1938 и не был указан ssl_certificate.
1939
1940 *) Исправление: уменьшено потребление памяти при проксировании больших
1941 файлов, если они буферизировались на диск.
1942
1943 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1944 если использовалась директива "proxy_http_version 1.1".
1945
1946 *) Исправление: в директиве "expires @time".
1947
1948
1949 Изменения в nginx 1.1.6 17.10.2011
1950
1951 *) Изменение во внутреннем API: теперь при внутреннем редиректе в
1952 именованный location контексты модулей очищаются.
1953 По запросу Yichun Zhang.
1954
1955 *) Изменение: теперь если сервер, описанный в блоке upstream, был
1956 признан неработающим, то после истечения fail_timeout на него будет
1957 отправлен только один запрос; сервер будет считаться работающим, если
1958 успешно ответит на этот запрос.
1959
1960 *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
1961 \xXX.
1962
1963 *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
1964 теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
1965 X-Accel-Charset.
1966
1967 *) Добавление: уменьшение потребления памяти при использовании SSL.
1968
1969 *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
1970 Спасибо Алексею Куцу.
1971
1972 *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
1973 уровне server, применялись повторно, если для запроса не находилось
1974 ни одного location'а.
1975
1976 *) Исправление: при использовании "aio sendfile" могла происходить
1977 утечка сокетов.
1978
1979 *) Исправление: при использовании файлового AIO соединения с быстрыми
1980 клиентами могли быть закрыты по истечению send_timeout.
1981
1982 *) Исправление: в модуле ngx_http_autoindex_module.
1983
1984 *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
1985 32-битных платформах.
1986
1987
1988 Изменения в nginx 1.1.5 05.10.2011
1989
1990 *) Добавление: директивы uwsgi_buffering и scgi_buffering.
1991 Спасибо Peter Smit.
1992
1993 *) Исправление: при использовании proxy_cache_bypass могли быть
1994 закэшированы некэшируемые ответы.
1995 Спасибо John Ferlito.
1996
1997 *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
1998 HTTP/1.1.
1999
2000 *) Исправление: закэшированные ответы с пустым телом возвращались
2001 некорректно; ошибка появилась в 0.8.31.
2002
2003 *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
2004 некорректны; ошибка появилась в 0.8.32.
2005
2006 *) Исправление: в директиве return.
2007
2008 *) Исправление: при использовании директивы "ssl_session_cache builtin"
2009 происходил segmentation fault; ошибка появилась в 1.1.1.
2010
2011
2012 Изменения в nginx 1.1.4 20.09.2011
2013
2014 *) Добавление: модуль ngx_http_upstream_keepalive.
2015
2016 *) Добавление: директива proxy_http_version.
2017
2018 *) Добавление: директива fastcgi_keep_conn.
2019
2020 *) Добавление: директива worker_aio_requests.
2021
2022 *) Исправление: если nginx был собран с файловым AIO, он не мог
2023 запускаться на Linux без поддержки AIO.
2024
2025 *) Исправление: в обработке ошибок при работе с Linux AIO.
2026 Спасибо Hagai Avrahami.
2027
2028 *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
2029
2030 *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
2031 MP4-атом co64.
2032
2033
2034 Изменения в nginx 1.1.3 14.09.2011
2035
2036 *) Добавление: модуль ngx_http_mp4_module.
2037
2038 *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
2039
2040 *) Исправление: open_file_cache не обновлял информацию о файле, если
2041 файл был изменён не атомарно.
2042
2043 *) Исправление: nginx не собирался на MacOSX 10.7.
2044
2045
2046 Изменения в nginx 1.1.2 05.09.2011
2047
2048 *) Изменение: теперь, если суммарный размер всех диапазонов больше
2049 размера исходного ответа, то nginx возвращает только исходный ответ,
2050 не обрабатывая диапазоны.
2051
2052 *) Добавление: директива max_ranges.
2053
2054 *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
2055 ssl_prefer_server_cipher могли работать некорректно, если
2056 использовался SNI.
2057
2058 *) Исправление: в директивах proxy/fastcgi/scgi/
2059 uwsgi_ignore_client_abort.
2060
2061
2062 Изменения в nginx 1.1.1 22.08.2011
2063
2064 *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
2065 число файлов, указанное в параметре load_files, либо работает не
2066 дольше времени, указанного в параметре loader_threshold.
2067
2068 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
2069
2070 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2071 на Solaris.
2072 Спасибо Денису Иванову.
2073
2074 *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
2075
2076 *) Исправление: nginx не собирался на Linux 3.0.
2077
2078 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
2079 появилась в 1.1.0.
2080
2081 *) Исправление: обработка тела запроса могла быть неверной, если клиент
2082 использовал pipelining.
2083
2084 *) Исправление: в директиве request_body_in_single_buf.
2085
2086 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
2087 при использовании SSL-соединения с бэкендом.
2088
2089 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
2090 были помечены флагом down.
2091
2092 *) Исправление: при переконфигурации мог произойти segmentation fault,
2093 если в предыдущей конфигурации был определён, но не использовался
2094 ssl_session_cache.
2095
2096 *) Исправление: при использовании большого количества backup-серверов в
2097 рабочем процессе мог произойти segmentation fault.
2098
2099 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
2100 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
2101 произойти segmentation fault; ошибка появилась в 0.8.40.
2102
2103
2104 Изменения в nginx 1.1.0 01.08.2011
2105
2106 *) Добавление: уменьшение времени работы загрузчика кэша.
2107
2108 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
2109 директив proxy/fastcgi/scgi/uwsgi_cache_path.
2110
2111 *) Добавление: уменьшение времени загрузки конфигураций с большим
2112 количеством HTTPS серверов.
2113
2114 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
2115 Спасибо Adrian Kotelba.
2116
2117 *) Добавление: директива lingering_close.
2118 Спасибо Максиму Дунину.
2119
2120 *) Исправление: закрытия соединения для pipelined-запросов.
2121 Спасибо Максиму Дунину.
2122
2123 *) Исправление: nginx не запрещал сжатие при получении значения
2124 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
2125
2126 *) Исправление: таймаута при небуферизированном проксировании.
2127 Спасибо Максиму Дунину.
2128
2129 *) Исправление: утечки памяти при использовании переменных в директиве
2130 proxy_pass при работе с бэкендом по HTTPS.
2131 Спасибо Максиму Дунину.
2132
2133 *) Исправление: в проверке параметра директивы proxy_pass, заданного
2134 переменными.
2135 Спасибо Lanshun Zhou.
2136
2137 *) Исправление: SSL не работал на QNX.
2138 Спасибо Максиму Дунину.
2139
2140 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
2141 --with-debug.
2142
2143
2144 Изменения в nginx 1.0.5 19.07.2011
2145
2146 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2147 "HIGH:!aNULL:!MD5".
2148 Спасибо Rob Stradling.
2149
2150 *) Добавление: директивы referer_hash_max_size и
2151 referer_hash_bucket_size.
2152 Спасибо Witold Filipczyk.
2153
2154 *) Добавление: переменная $uid_reset.
2155
2156 *) Исправление: при использовании кэширования в рабочем процессе мог
2157 произойти segmentation fault.
2158 Спасибо Lanshun Zhou.
2159
2160 *) Исправление: при использовании кэширования рабочие процессы могли
2161 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
2162 Спасибо Максиму Дунину.
2163
2164 *) Исправление: сообщения "stalled cache updating".
2165 Спасибо Максиму Дунину.
2166
2167
2168 Изменения в nginx 1.0.4 01.06.2011
2169
2170 *) Изменение: теперь в регулярных выражениях в директиве map можно
2171 задать чувствительность к регистру с помощью префиксов "~" и "~*".
2172
2173 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
2174 на Linux.
2175 Спасибо Денису Латыпову.
2176
2177 *) Исправление: сообщения "stalled cache updating".
2178
2179 *) Исправление: nginx не собирался с параметром
2180 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
2181
2182
2183 Изменения в nginx 1.0.3 25.05.2011
2184
2185 *) Добавление: директива auth_basic_user_file поддерживает шифрование
2186 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
2187 Спасибо Максиму Дунину.
2188
2189 *) Добавление: директива geoip_org и переменная $geoip_org.
2190 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
2191
2192 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
2193 поддерживают адреса IPv4, отображённые на IPv6 адреса.
2194
2195 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
2196 рабочем процессе происходил segmentation fault, если директивы access
2197 или deny были определены только для адресов IPv6; ошибка появилась в
2198 0.8.22.
2199
2200 *) Исправление: закэшированный ответ мог быть испорчен, если значения
2201 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
2202 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
2203
2204
2205 Изменения в nginx 1.0.2 10.05.2011
2206
2207 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
2208
2209 *) Исправление: в работе параметра rotate директивы image_filter.
2210 Спасибо Adam Bocim.
2211
2212 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
2213
2214
2215 Изменения в nginx 1.0.1 03.05.2011
2216
2217 *) Изменение: теперь директива split_clients использует алгоритм
2218 MurmurHash2 из-за лучшего распределения.
2219 Спасибо Олегу Мамонтову.
2220
2221 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
2222 ложными значениями.
2223 Спасибо Максиму Дунину.
2224
2225 *) Изменение: теперь по умолчанию nginx использует значение 511 для
2226 listen backlog на Linux.
2227
2228 *) Добавление: переменные $upstream_... можно использовать в SSI и
2229 перловом модулях.
2230
2231 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
2232 Спасибо Олегу Мамонтову.
2233
2234 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
2235 segmentation fault; ошибка появилась в 0.8.22.
2236 Спасибо Максиму Дунину.
2237
2238 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
2239
2240 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
2241 появилась в 0.9.3.
2242 Спасибо Dagobert Michelsen.
2243
2244 *) Исправление: переменная $request_time имела неверные значения, если
2245 использовались подзапросы; ошибка появилась в 0.8.47.
2246 Спасибо Игорю А. Валькову.
2247
2248
2249 Изменения в nginx 1.0.0 12.04.2011
2250
2251 *) Исправление: cache manager мог нагружать процессор после
2252 переконфигурации.
2253 Спасибо Максиму Дунину.
2254
2255 *) Исправление: директива "image_filter crop" неправильно работала в
2256 сочетании с "image_filter rotate 180".
2257
2258 *) Исправление: директива "satisfy any" запрещала выдачу
2259 пользовательской страницы для 401 кода.
2260
2261
2262 Изменения в nginx 0.9.7 04.04.2011
2263
2264 *) Добавление: теперь соединения в состоянии keepalive могут быть
2265 закрыты преждевременно, если у воркера нет свободных соединений.
2266 Спасибо Максиму Дунину.
2267
2268 *) Добавление: параметр rotate директивы image_filter.
2269 Спасибо Adam Bocim.
2270
2271 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
2272 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
2273 upstream.
2274
2275
2276 Изменения в nginx 0.9.6 21.03.2011
2277
2278 *) Добавление: директива map поддерживает регулярные выражения в
2279 качестве значения первого параметра.
2280
2281 *) Добавление: переменная $time_iso8601 для access_log.
2282 Спасибо Michael Lustfield.
2283
2284
2285 Изменения в nginx 0.9.5 21.02.2011
2286
2287 *) Изменение: теперь по умолчанию nginx использует значение -1 для
2288 listen backlog на Linux.
2289 Спасибо Андрею Нигматулину.
2290
2291 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
2292 Спасибо Денису Латыпову.
2293
2294 *) Исправление: исправление в умолчательной директиве proxy_redirect,
2295 если в директиве proxy_pass не был описан URI.
2296 Спасибо Максиму Дунину.
2297
2298 *) Исправление: директива error_page не работала с нестандартными кодами
2299 ошибок; ошибка появилась в 0.8.53.
2300 Спасибо Максиму Дунину.
2301
2302
2303 Изменения в nginx 0.9.4 21.01.2011
2304
2305 *) Добавление: директива server_name поддерживает переменную $hostname.
2306
2307 *) Добавление: 494 код для ошибки "Request Header Too Large".
2308
2309
2310 Изменения в nginx 0.9.3 13.12.2010
2311
2312 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
2313 то выделения в регулярных выражениях в директиве server_name не
2314 работали.
2315
2316 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
2317 0.9.0.
2318
2319
2320 Изменения в nginx 0.9.2 06.12.2010
2321
2322 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
2323 запроса клиента.
2324
2325 *) Изменение: использование accept(), если accept4() не реализован;
2326 ошибка появилась в 0.9.0.
2327
2328 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
2329
2330 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
2331 Спасибо Максиму Дунину.
2332
2333
2334 Изменения в nginx 0.9.1 30.11.2010
2335
2336 *) Исправление: директивы вида "return CODE message" не работали; ошибка
2337 появилась в 0.9.0.
2338
2339
2340 Изменения в nginx 0.9.0 29.11.2010
2341
2342 *) Добавление: директива keepalive_disable.
2343
2344 *) Добавление: директива map поддерживает переменные в качестве значения
2345 определяемой переменной.
2346
2347 *) Добавление: директива map поддерживает пустые строки в качестве
2348 значения первого параметра.
2349
2350 *) Добавление: директива map поддерживает выражения в первом параметре.
2351
2352 *) Добавление: страница руководства nginx(8).
2353 Спасибо Сергею Осокину.
2354
2355 *) Добавление: поддержка accept4() в Linux.
2356 Спасибо Simon Liu.
2357
2358 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
2359 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
2360
2361 *) Исправление: при использовании директивы auth_basic в рабочем
2362 процессе мог произойти segmentation fault.
2363 Спасибо Михаилу Лалетину.
2364
2365 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
2366 появилась в 0.8.42.
2367
2368
2369 Изменения в nginx 0.8.53 18.10.2010
2370
2371 *) Добавление: теперь директива error_page позволяет менять код статуса
2372 у редиректа.
2373
2374 *) Добавление: директива gzip_disable поддерживает специальную маску
2375 degradation.
2376
2377 *) Исправление: при использовании файлового AIO могла происходить утечка
2378 сокетов.
2379 Спасибо Максиму Дунину.
2380
2381 *) Исправление: если в первом сервере не была описана директива listen и
2382 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
2383 становился следующий сервер с директивой listen; ошибка появилась в
2384 0.8.21.
2385
2386
2387 Изменения в nginx 0.8.52 28.09.2010
2388
2389 *) Исправление: nginx использовал режим SSL для listen сокета, если для
2390 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
2391
2392
2393 Изменения в nginx 0.8.51 27.09.2010
2394
2395 *) Изменение: директива secure_link_expires упразднена.
2396
2397 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
2398 alert на error.
2399
2400 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
2401 несколько раз.
2402
2403
2404 Изменения в nginx 0.8.50 02.09.2010
2405
2406 *) Добавление: директивы secure_link, secure_link_md5 и
2407 secure_link_expires модуля ngx_http_secure_link_module.
2408
2409 *) Добавление: ключ -q.
2410 Спасибо Геннадию Махомеду.
2411
2412 *) Исправление: при использовании кэширования рабочие процессы и могли
2413 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
2414
2415 *) Исправление: в директиве gzip_disable.
2416 Спасибо Derrick Petzold.
2417
2418 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
2419 reopen, reload процессу, запущенному в другой сессии.
2420
2421
2422 Изменения в nginx 0.8.49 09.08.2010
2423
2424 *) Добавление: директива image_filter_jpeg_quality поддерживает
2425 переменные.
2426
2427 *) Исправление: при использовании переменной $geoip_region_name в
2428 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2429 0.8.48.
2430
2431 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
2432 следующего запроса; ошибка появилась в 0.8.48.
2433
2434
2435 Изменения в nginx 0.8.48 03.08.2010
2436
2437 *) Изменение: теперь по умолчанию директива server_name имеет значение
2438 пустое имя "".
2439 Спасибо Геннадию Махомеду.
2440
2441 *) Изменение: теперь по умолчанию директива server_name_in_redirect
2442 имеет значение off.
2443
2444 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
2445 $geoip_region_name.
2446 Спасибо Christine McGonagle.
2447
2448 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
2449 scgi_pass не наследовались в блоки limit_except.
2450
2451 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
2452 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
2453 появилась в 0.8.46.
2454
2455 *) Исправление: директива fastcgi_split_path_info неверно использовала
2456 выделения, если в выделения попадала только часть URI.
2457 Спасибо Юрию Тарадаю и Frank Enderle.
2458
2459 *) Исправление: директива rewrite не экранировала символ ";" при
2460 копировании из URI в аргументы.
2461 Спасибо Daisuke Murase.
2462
2463 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
2464 если изображение было больше размера image_filter_buffer.
2465
2466
2467 Изменения в nginx 0.8.47 28.07.2010
2468
2469 *) Исправление: переменная $request_time имела неверные значения для
2470 подзапросов.
2471
2472 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
2473
2474 *) Исправление: если использовался параметр max_size, то cache manager
2475 мог зациклиться; ошибка появилась в 0.8.46.
2476
2477
2478 Изменения в nginx 0.8.46 19.07.2010
2479
2480 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
2481 и scgi_no_cache теперь влияют только на сохранение закэшированного
2482 ответа.
2483
2484 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
2485 uwsgi_cache_bypass и scgi_cache_bypass.
2486
2487 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
2488 ошибки работы с бэкендом: память освобождалась только по истечении
2489 времени неактивности или при недостатке памяти.
2490
2491
2492 Изменения в nginx 0.8.45 13.07.2010
2493
2494 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
2495 Спасибо Laurence Rowe.
2496
2497 *) Исправление: ответ SSI модуля мог передаваться не полностью после
2498 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
2499 Спасибо Максиму Дунину.
2500
2501 *) Исправление: директива listen не поддерживала параметр setfib=0.
2502
2503
2504 Изменения в nginx 0.8.44 05.07.2010
2505
2506 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
2507 заголовке которых есть строка "Set-Cookie".
2508
2509 *) Добавление: директива listen поддерживает параметр setfib.
2510 Спасибо Андрею Филонову.
2511
2512 *) Исправление: директива sub_filter могла изменять регистр букв при
2513 частичном совпадении.
2514
2515 *) Исправление: совместимость с HP/UX.
2516
2517 *) Исправление: совместимость с компилятором AIX xlC_r.
2518
2519 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
2520 запросы.
2521 Спасибо Miroslaw Jaworski.
2522
2523
2524 Изменения в nginx 0.8.43 30.06.2010
2525
2526 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
2527
2528 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
2529 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
2530 0.8.42.
2531
2532 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
2533 переконфигурации.
2534 Спасибо Максиму Дунину.
2535
2536 *) Исправление: переменную $uid_set можно использовать на любой стадии
2537 обработки запроса.
2538
2539
2540 Изменения в nginx 0.8.42 21.06.2010
2541
2542 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
2543 выражениями, если запрос полностью совпал с location'ом, заданным
2544 строкой префикса. Предыдущее поведение появилось в 0.7.1.
2545
2546 *) Добавление: модуль ngx_http_scgi_module.
2547 Спасибо Manlio Perillo.
2548
2549 *) Добавление: в директиве return можно добавлять текст ответа.
2550
2551
2552 Изменения в nginx 0.8.41 15.06.2010
2553
2554 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
2555 при запросе файла с неверной кодировкой UTF-8.
2556
2557 *) Изменение: теперь nginx разрешает использовать пробелы в строке
2558 запроса.
2559
2560 *) Исправление: директива proxy_redirect неправильно изменяла строку
2561 "Refresh" в заголовке ответа бэкенда.
2562 Спасибо Андрею Андрееву и Максиму Согину.
2563
2564 *) Исправление: nginx не поддерживал путь без имени хоста в строке
2565 "Destination" в заголовке запроса.
2566
2567
2568 Изменения в nginx 0.8.40 07.06.2010
2569
2570 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
2571 умолчанию.
2572 Спасибо Jose Antonio Vazquez Gonzalez.
2573
2574 *) Добавление: модуль ngx_http_uwsgi_module.
2575 Спасибо Roberto De Ioris.
2576
2577 *) Добавление: директива fastcgi_param со значением, начинающимся со
2578 строки "HTTP_", изменяет строку заголовка в запросе клиента.
2579
2580 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2581 заголовке запроса клиента передавались FastCGI-серверу при
2582 кэшировании.
2583
2584 *) Исправление: listen unix domain сокет нельзя было изменить во время
2585 переконфигурации.
2586 Спасибо Максиму Дунину.
2587
2588
2589 Изменения в nginx 0.8.39 31.05.2010
2590
2591 *) Исправление: наследуемая директива alias неправильно работала во
2592 вложенном location'е.
2593
2594 *) Исправление: в комбинации директив alias с переменными и try_files;
2595
2596 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
2597 время обновления без перерыва.
2598 Спасибо Максиму Дунину.
2599
2600
2601 Изменения в nginx 0.8.38 24.05.2010
2602
2603 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
2604
2605 *) Добавление: теперь при использовании переменной $scheme в директиве
2606 rewrite автоматически делается редирект.
2607 Спасибо Piotr Sikora.
2608
2609 *) Исправление: теперь задержки в директиве limit_req соответствует
2610 описанному алгоритму.
2611 Спасибо Максиму Дунину.
2612
2613 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
2614 перловом модулях.
2615
2616
2617 Изменения в nginx 0.8.37 17.05.2010
2618
2619 *) Добавление: модуль ngx_http_split_clients_module.
2620
2621 *) Добавление: директива map поддерживает ключи больше 255 символов.
2622
2623 *) Исправление: nginx игнорировал значения "private" и "no-store" в
2624 строке "Cache-Control" в заголовке ответа бэкенда.
2625
2626 *) Исправление: параметр stub в SSI-директиве include не использовался,
2627 если пустой ответ имел код 200.
2628
2629 *) Исправление: если проксированный или FastCGI запрос внутренне
2630 перенаправлялся в другой проксированный или FastCGI location, то в
2631 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2632 0.8.33.
2633 Спасибо Yichun Zhang.
2634
2635 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
2636 таймаута.
2637 Спасибо Alan Batie.
2638
2639
2640 Изменения в nginx 0.8.36 22.04.2010
2641
2642 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
2643 методы DELETE, COPY и MOVE для симлинков.
2644
2645 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
2646 основном запросе значения переменных $query_string, $arg_... и им
2647 подобных.
2648
2649 *) Исправление: значение переменной повторно экранировалось после
2650 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
2651
2652 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
2653 Спасибо Vicente Aguilar и Максиму Дунину.
2654
2655 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
2656 Спасибо Максиму Дунину.
2657
2658 *) Исправление: nginx не собирался с параметром --without-http-cache;
2659 ошибка появилась в 0.8.35.
2660
2661
2662 Изменения в nginx 0.8.35 01.04.2010
2663
2664 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
2665
2666 *) Добавление: директива chunked_transfer_encoding.
2667
2668 *) Исправление: символ "&" при копировании в аргументы в правилах
2669 rewrite не экранировался.
2670
2671 *) Исправление: nginx мог завершаться аварийно во время обработки
2672 сигнала или при использовании директивы timer_resolution на
2673 платформах, не поддерживающих методы kqueue или eventport.
2674 Спасибо George Xie и Максиму Дунину.
2675
2676 *) Исправление: если временные файлы и постоянное место хранения
2677 располагались на разных файловых системах, то у постоянных файлов
2678 время изменения было неверным.
2679 Спасибо Максиму Дунину.
2680
2681 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
2682 "memcached sent invalid trailer".
2683 Спасибо Максиму Дунину.
2684
2685 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
2686 текстов.
2687 Спасибо Максиму Дунину.
2688
2689 *) Исправление: в рабочем процессе происходил segmentation fault, если
2690 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
2691 появилась в 0.8.34.
2692 Спасибо Максиму Дунину.
2693
2694
2695 Изменения в nginx 0.8.34 03.03.2010
2696
2697 *) Исправление: nginx не поддерживал все шифры, используемые в
2698 клиентских сертификатах.
2699 Спасибо Иннокентию Еникееву.
2700
2701 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
2702 ответом было много вывода в stderr.
2703
2704 *) Исправление: nginx не поддерживал HTTPS-рефереры.
2705
2706 *) Исправление: nginx/Windows мог не находить файлы, если путь в
2707 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
2708
2709 *) Исправление: переменная $date_local выдавала неверное время, если
2710 использовался формат "%s".
2711 Спасибо Максиму Дунину.
2712
2713 *) Исправление: если ssl_session_cache не был установлен или установлен
2714 в none, то при проверке клиентского сертификаты могла происходить
2715 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
2716
2717 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
2718 диапазон включал в себя одну и более сетей размером /16 и не
2719 начинался на границе сети размером /16.
2720
2721 *) Исправление: блок, используемый в параметре stub в SSI-директиве
2722 include, выводился с MIME-типом "text/plain".
2723
2724 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
2725
2726
2727 Изменения в nginx 0.8.33 01.02.2010
2728
2729 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
2730 Спасибо Dan Crowley, Core Security Technologies.
2731
2732 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
2733 Спасибо Dan Crowley, Core Security Technologies.
2734
2735 *) Изменение: теперь keepalive соединения после запросов POST не
2736 запрещаются для MSIE 7.0+.
2737 Спасибо Adam Lounds.
2738
2739 *) Изменение: теперь keepalive соединения запрещены для Safari.
2740 Спасибо Joshua Sierles.
2741
2742 *) Исправление: если проксированный или FastCGI запрос внутренне
2743 перенаправлялся в другой проксированный или FastCGI location, то
2744 переменная $upstream_response_time могла иметь ненормально большое
2745 значение; ошибка появилась в 0.8.7.
2746
2747 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2748 отбрасывания тела запроса; ошибка появилась в 0.8.11.
2749
2750
2751 Изменения в nginx 0.8.32 11.01.2010
2752
2753 *) Исправление: ошибки при использовании кодировки UTF-8 в
2754 ngx_http_autoindex_module.
2755 Спасибо Максиму Дунину.
2756
2757 *) Исправление: именованные выделения в регулярных выражениях работали
2758 только для двух переменных.
2759 Спасибо Максиму Дунину.
2760
2761 *) Исправление: теперь в строке заголовка запроса "Host" используется
2762 имя "localhost", если в директиве auth_http указан unix domain сокет.
2763 Спасибо Максиму Дунину.
2764
2765 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
2766 ответов.
2767 Спасибо Julian Reich.
2768
2769 *) Исправление: если директива "expires modified" выставляла дату в
2770 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
2771 отрицательное число.
2772 Спасибо Алексею Капранову.
2773
2774
2775 Изменения в nginx 0.8.31 23.12.2009
2776
2777 *) Добавление: теперь директива error_page может перенаправлять ответы
2778 со статусом 301 и 302.
2779
2780 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
2781 $geoip_longitude.
2782 Спасибо Arvind Sundararajan.
2783
2784 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
2785 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
2786
2787 *) Исправление: nginx закрывал соединение при запросе закэшированного
2788 ответа с пустым телом.
2789 Спасибо Piotr Sikora.
2790
2791 *) Исправление: nginx мог не собираться gcc 4.x при использовании
2792 оптимизации -O2 и выше.
2793 Спасибо Максиму Дунину и Денису Латыпову.
2794
2795 *) Исправление: регулярные выражения в location всегда тестировались с
2796 учётом регистра; ошибка появилась в 0.8.25.
2797
2798 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
2799 проксируемого запроса была строка "If-None-Match".
2800 Спасибо Tim Dettrick и David Kostal.
2801
2802 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
2803 перезаписи уже существующего файла.
2804
2805
2806 Изменения в nginx 0.8.30 15.12.2009
2807
2808 *) Изменение: теперь по умолчанию размер буфера директивы
2809 large_client_header_buffers равен 8K.
2810 Спасибо Andrew Cholakian.
2811
2812 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
2813
2814 *) Исправление: nginx/Windows пытался дважды переименовать временный
2815 файл при перезаписи уже существующего файла.
2816
2817 *) Исправление: ошибки double free or corruption, возникающей, если имя
2818 хоста не было найдено; ошибка появилась в 0.8.22.
2819 Спасибо Константину Свисту.
2820
2821 *) Исправление: в использовании libatomic на некоторых платформах.
2822 Спасибо W-Mark Kubacki.
2823
2824
2825 Изменения в nginx 0.8.29 30.11.2009
2826
2827 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
2828 ответа "009".
2829
2830 *) Добавление: директивы addition_types, charset_types, gzip_types,
2831 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
2832
2833 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
2834 Спасибо W-Mark Kubacki.
2835
2836 *) Добавление: параметр --with-libatomic[=DIR] в configure.
2837 Спасибо W-Mark Kubacki.
2838
2839 *) Исправление: listen unix domain сокет имели ограниченные права
2840 доступа.
2841
2842 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
2843 обрабатывались.
2844
2845 *) Исправление: именованные выделения в регулярных выражениях, заданные
2846 как "?P<...>", не работали в директиве server_name.
2847 Спасибо Максиму Дунину.
2848
2849
2850 Изменения в nginx 0.8.28 23.11.2009
2851
2852 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
2853 появилась в 0.8.25.
2854
2855
2856 Изменения в nginx 0.8.27 17.11.2009
2857
2858 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
2859 появилась в 0.8.25.
2860
2861
2862 Изменения в nginx 0.8.26 16.11.2009
2863
2864 *) Исправление: ошибки при использовании выделений в директиве rewrite;
2865 ошибка появилась в 0.8.25.
2866
2867 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
2868 появилась в 0.8.25.
2869
2870
2871 Изменения в nginx 0.8.25 16.11.2009
2872
2873 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
2874 не найдена с помощью метода $r->variable().
2875
2876 *) Добавление: модуль ngx_http_degradation_module.
2877
2878 *) Добавление: именованные выделения в регулярных выражениях.
2879
2880 *) Добавление: теперь при использовании переменных в директиве
2881 proxy_pass не требуется задавать URI.
2882
2883 *) Добавление: теперь директива msie_padding работает и для Chrome.
2884
2885 *) Исправление: в рабочем процессе происходил segmentation fault при
2886 недостатке памяти; ошибка появилась в 0.8.18.
2887
2888 *) Исправление: nginx передавал сжатые ответы клиентам, не
2889 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
2890 ошибка появилась в 0.8.16.
2891
2892
2893 Изменения в nginx 0.8.24 11.11.2009
2894
2895 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
2896 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
2897
2898 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
2899 появилась в 0.8.23.
2900
2901 *) Исправление: параметр "unix:" в директиве set_real_ip_from
2902 неправильно наследовался с предыдущего уровня.
2903
2904 *) Исправление: в resolver'е при определении пустого имени.
2905
2906
2907 Изменения в nginx 0.8.23 11.11.2009
2908
2909 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
2910 Спасибо Максиму Дунину.
2911
2912 *) Исправление: listen unix domain сокет не наследовался во время
2913 обновления без перерыва.
2914
2915 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
2916 без ещё одной директивы с любым IP-адресом.
2917
2918 *) Исправление: segmentation fault и зацикливания в resolver'е.
2919
2920 *) Исправление: в resolver'е.
2921 Спасибо Артёму Бохану.
2922
2923
2924 Изменения в nginx 0.8.22 03.11.2009
2925
2926 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
2927
2928 *) Добавление: директивы access и deny поддерживают IPv6.
2929
2930 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
2931 заголовках запроса.
2932
2933 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
2934
2935 *) Исправление: nginx не удалял unix domain сокет после тестирования
2936 конфигурации.
2937
2938 *) Исправление: nginx удалял unix domain сокет во время обновления без
2939 перерыва.
2940
2941 *) Исправление: оператор "!-x" не работал.
2942 Спасибо Максиму Дунину.
2943
2944 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2945 использовании limit_rate в HTTPS сервере.
2946 Спасибо Максиму Дунину.
2947
2948 *) Исправление: при записи в лог переменной $limit_rate в рабочем
2949 процессе происходил segmentation fault.
2950 Спасибо Максиму Дунину.
2951
2952 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2953 если внутри блока server не было директивы listen; ошибка появилась в
2954 0.8.21.
2955
2956
2957 Изменения в nginx 0.8.21 26.10.2009
2958
2959 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
2960
2961 *) Добавление: директива listen модуля HTTP поддерживает unix domain
2962 сокеты.
2963 Спасибо Hongli Lai.
2964
2965 *) Добавление: параметр "default_server" в директиве listen.
2966
2967 *) Добавление: теперь параметр "default" не обязателен для установки
2968 параметров listen-сокета.
2969
2970 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
2971 платформах;
2972
2973 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
2974
2975
2976 Изменения в nginx 0.8.20 14.10.2009
2977
2978 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2979 "HIGH:!ADH:!MD5".
2980
2981 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
2982 слэш для линков на каталоги; ошибка появилась в 0.7.15.
2983
2984 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
2985 --error-log-path; ошибка появилась в 0.7.53.
2986
2987 *) Исправление: nginx не считал запятую разделителем в строке
2988 "Cache-Control" в заголовке ответа бэкенда.
2989
2990 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
2991 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
2992 не имел достаточно прав для работы с каталогами верхнего уровня.
2993
2994 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
2995 FastCGI-сервера не скрывались при кэшировании, если не использовались
2996 директивы fastcgi_hide_header с любыми параметрами.
2997
2998 *) Исправление: nginx неверно считал размер кэша на диске.
2999
3000
3001 Изменения в nginx 0.8.19 06.10.2009
3002
3003 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
3004
3005 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
3006 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
3007
3008 *) Исправление: директива limit_req не работала; ошибка появилась в
3009 0.8.18.
3010
3011
3012 Изменения в nginx 0.8.18 06.10.2009
3013
3014 *) Добавление: директива read_ahead.
3015
3016 *) Добавление: теперь можно использовать несколько директив
3017 perl_modules.
3018
3019 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
3020
3021 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
3022 bucket.
3023 Спасибо Максиму Дунину.
3024
3025 *) Исправление: nginx не работал на Linux/sparc.
3026 Спасибо Marcus Ramberg.
3027
3028 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
3029 ответе на запрос MKCOL.
3030 Спасибо Xie Zhenye.
3031
3032 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
3033 появилась в 0.8.11.
3034
3035 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3036
3037
3038 Изменения в nginx 0.8.17 28.09.2009
3039
3040 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
3041 в заголовке запроса.
3042
3043 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
3044
3045 *) Добавление: переменная $ssl_session_id.
3046
3047 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
3048
3049
3050 Изменения в nginx 0.8.16 22.09.2009
3051
3052 *) Добавление: директива image_filter_transparency.
3053
3054 *) Исправление: директива "addition_types" была неверно названа
3055 "addtion_types".
3056
3057 *) Исправление: порчи кэша resolver'а.
3058 Спасибо Matthew Dempsky.
3059
3060 *) Исправление: утечки памяти в resolver'е.
3061 Спасибо Matthew Dempsky.
3062
3063 *) Исправление: неверная строка запроса в переменной $request
3064 записывалась в access_log только при использовании error_log на
3065 уровне info или debug.
3066
3067 *) Исправление: в поддержке альфа-канала PNG в модуле
3068 ngx_http_image_filter_module.
3069
3070 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
3071 заголовок ответа, если обе директивы gzip_static и gzip_vary были
3072 включены.
3073
3074 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
3075 nginx/Windows.
3076
3077 *) Исправление: ошибки при использовании post_action; ошибка появилась в
3078 0.8.11.
3079 Спасибо Игорю Артемьеву.
3080
3081
3082 Изменения в nginx 0.8.15 14.09.2009
3083
3084 *) Безопасность: при обработке специально созданного запроса в рабочем
3085 процессе мог произойти segmentation fault.
3086 Спасибо Chris Ries.
3087
3088 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
3089 .domain-some.tld, то имя .sub.domain.tld попадало под маску
3090 .domain.tld.
3091
3092 *) Исправление: в поддержке прозрачности в модуле
3093 ngx_http_image_filter_module.
3094
3095 *) Исправление: в файловом AIO.
3096
3097 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
3098 появилась в 0.8.11.
3099
3100 *) Исправление: ошибки при использовании встроенного перла; ошибка
3101 появилась в 0.8.11.
3102
3103
3104 Изменения в nginx 0.8.14 07.09.2009
3105
3106 *) Исправление: устаревший закэшированный запрос мог залипнуть в
3107 состоянии "UPDATING".
3108
3109 *) Исправление: при использовании error_log на уровне info или debug в
3110 рабочем процессе мог произойти segmentation fault.
3111 Спасибо Сергею Боченкову.
3112
3113 *) Исправление: ошибки при использовании встроенного перла; ошибка
3114 появилась в 0.8.11.
3115
3116 *) Исправление: директива error_page не перенаправляла ошибку 413;
3117 ошибка появилась в 0.6.10.
3118
3119
3120 Изменения в nginx 0.8.13 31.08.2009
3121
3122 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
3123
3124 *) Исправление: nginx не собирался без параметра --with-file-aio на
3125 FreeBSD; ошибка появилась в 0.8.12.
3126
3127
3128 Изменения в nginx 0.8.12 31.08.2009
3129
3130 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
3131
3132 *) Исправление: ошибки при использовании try_files; ошибка появилась в
3133 0.8.11.
3134
3135 *) Исправление: ошибки при использовании memcached; ошибка появилась в
3136 0.8.11.
3137
3138
3139 Изменения в nginx 0.8.11 28.08.2009
3140
3141 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
3142 для MSIE 6.0 SV1.
3143
3144 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
3145
3146 *) Добавление: директива directio_alignment.
3147
3148
3149 Изменения в nginx 0.8.10 24.08.2009
3150
3151 *) Исправление: утечек памяти при использовании базы GeoIP City.
3152
3153 *) Исправление: ошибки при копировании временных файлов в постоянное
3154 место хранения; ошибка появилась в 0.8.9.
3155
3156
3157 Изменения в nginx 0.8.9 17.08.2009
3158
3159 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
3160 процесс; это должно улучшить обработку больших кэшей.
3161
3162 *) Добавление: теперь временные файлы и постоянное место хранения могут
3163 располагаться на разных файловых системах.
3164
3165
3166 Изменения в nginx 0.8.8 10.08.2009
3167
3168 *) Исправление: в обработке заголовков ответа, разделённых в
3169 FastCGI-записях.
3170
3171 *) Исправление: если запрос обрабатывался в двух проксированных или
3172 FastCGI location'ах и в первом из них использовалось кэширование, то
3173 в рабочем процессе происходил segmentation fault; ошибка появилась в
3174 0.8.7.
3175
3176
3177 Изменения в nginx 0.8.7 27.07.2009
3178
3179 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
3180
3181 *) Изменение: параметр ask директивы ssl_verify_client изменён на
3182 параметр optional и теперь он проверяет клиентский сертификат, если
3183 он был предложен.
3184 Спасибо Brice Figureau.
3185
3186 *) Добавление: переменная $ssl_client_verify.
3187 Спасибо Brice Figureau.
3188
3189 *) Добавление: директива ssl_crl.
3190 Спасибо Brice Figureau.
3191
3192 *) Добавление: параметр proxy директивы geo.
3193
3194 *) Добавление: директива image_filter поддерживает переменные для
3195 задания размеров.
3196
3197 *) Исправление: использование переменной $ssl_client_cert портило
3198 память; ошибка появилась в 0.7.7.
3199 Спасибо Сергею Журавлёву.
3200
3201 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
3202 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
3203 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
3204 Спасибо Максиму Дунину.
3205
3206 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
3207 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
3208 Спасибо Максиму Дунину.
3209
3210 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
3211 ответы в подзапросах; ошибка появилась в 0.8.5.
3212
3213
3214 Изменения в nginx 0.8.6 20.07.2009
3215
3216 *) Добавление: модуль ngx_http_geoip_module.
3217
3218 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
3219 document" для правильного документа.
3220 Спасибо Kuramoto Eiji.
3221
3222 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
3223 location'ов, заданных регулярным выражением, теперь всегда делается
3224 сравнение без учёта регистра символов.
3225
3226 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
3227 Спасибо Hugo Leisink.
3228
3229 *) Исправление: имя файла указанного в --conf-path игнорировалось при
3230 установке; ошибка появилась в 0.6.6.
3231 Спасибо Максиму Дунину.
3232
3233
3234 Изменения в nginx 0.8.5 13.07.2009
3235
3236 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
3237
3238 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
3239 для неверных имени/пароля возвращалась 500-ая ошибка.
3240
3241 *) Исправление: ответы модуля ngx_http_perl_module не работали в
3242 подзапросах.
3243
3244 *) Исправление: в модуле ngx_http_limit_req_module.
3245 Спасибо Максиму Дунину.
3246
3247
3248 Изменения в nginx 0.8.4 22.06.2009
3249
3250 *) Исправление: nginx не собирался с параметром --without-http-cache;
3251 ошибка появилась в 0.8.3.
3252
3253
3254 Изменения в nginx 0.8.3 19.06.2009
3255
3256 *) Добавление: переменная $upstream_cache_status.
3257
3258 *) Исправление: nginx не собирался на MacOSX 10.6.
3259
3260 *) Исправление: nginx не собирался с параметром --without-http-cache;
3261 ошибка появилась в 0.8.2.
3262
3263 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
3264 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
3265 в рабочем процессе происходил segmentation fault.
3266 Спасибо Евгению Мычло.
3267
3268
3269 Изменения в nginx 0.8.2 15.06.2009
3270
3271 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
3272 на старте.
3273
3274 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
3275 долго; ошибка появилась в 0.7.4.
3276
3277
3278 Изменения в nginx 0.8.1 08.06.2009
3279
3280 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
3281 fastcgi_cache_use_stale.
3282
3283 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
3284 заголовке запроса клиента передавались бэкенду при кэшировании, если
3285 не использовалась директива proxy_set_header с любыми параметрами.
3286
3287 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
3288 не скрывались при кэшировании, если не использовались директивы
3289 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
3290
3291 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
3292 GIF87a.
3293 Спасибо Денису Ильиных.
3294
3295 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
3296 появилась в 0.7.56.
3297
3298
3299 Изменения в nginx 0.8.0 02.06.2009
3300
3301 *) Добавление: директива keepalive_requests.
3302
3303 *) Добавление: директива limit_rate_after.
3304 Спасибо Ivan Debnar.
3305
3306 *) Исправление: XSLT-фильтр не работал в подзапросах.
3307
3308 *) Исправление: обработке относительных путей в nginx/Windows.
3309
3310 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
3311 fastcgi_cache в nginx/Windows.
3312
3313 *) Исправление: в обработке ошибок выделения памяти.
3314 Спасибо Максиму Дунину и Кириллу Коринскому.
3315
3316
3317 Изменения в nginx 0.7.59 25.05.2009
3318
3319 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
3320
3321 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
3322 Спасибо Максиму Дунину.
3323
3324 *) Исправление: при использовании переменной $request_body в рабочем
3325 процессе происходил segmentation fault, если в запросе не было тела;
3326 ошибка появилась в 0.7.58.
3327
3328 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
3329 ошибка появилась в 0.7.56.
3330
3331 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
3332 обрабатывались SSI-, charset- и gzip-фильтрами.
3333
3334 *) Исправление: директива charset не ставила кодировку для ответов
3335 модуля ngx_http_gzip_static_module.
3336
3337
3338 Изменения в nginx 0.7.58 18.05.2009
3339
3340 *) Добавление: директива listen почтового прокси-сервера поддерживает
3341 IPv6.
3342
3343 *) Добавление: директива image_filter_jpeg_quality.
3344
3345 *) Добавление: директива client_body_in_single_buffer.
3346
3347 *) Добавление: переменная $request_body.
3348
3349 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
3350 файлов, содержащих символ ":".
3351
3352 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
3353 0.7.53.
3354 Спасибо Денису Латыпову.
3355
3356
3357 Изменения в nginx 0.7.57 12.05.2009
3358
3359 *) Исправление: при перенаправлении ошибок модуля
3360 ngx_http_image_filter_module в именованный location в рабочем
3361 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
3362
3363
3364 Изменения в nginx 0.7.56 11.05.2009
3365
3366 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
3367 HTTP.
3368
3369 *) Исправление: в модуле ngx_http_image_filter_module.
3370
3371
3372 Изменения в nginx 0.7.55 06.05.2009
3373
3374 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
3375 fastcgi_cache_use_stale не работали.
3376
3377 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
3378 заголовка.
3379
3380 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
3381 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
3382
3383 *) Исправление: при использовании директивы debug_connection в рабочем
3384 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
3385
3386 *) Исправление: в сборке модуля ngx_http_image_filter_module.
3387
3388 *) Исправление: файлы больше 2G не передавались с использованием
3389 $r->sendfile.
3390 Спасибо Максиму Дунину.
3391
3392
3393 Изменения в nginx 0.7.54 01.05.2009
3394
3395 *) Добавление: модуль ngx_http_image_filter_module.
3396
3397 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
3398
3399 *) Исправление: при использовании переменных "open_file_cache_errors on"
3400 в рабочем процессе мог произойти segmentation fault; ошибка появилась
3401 в 0.7.53.
3402
3403 *) Исправление: директива "port_in_redirect off" не работала; ошибка
3404 появилась в 0.7.39.
3405
3406 *) Исправление: улучшение обработки ошибок метода select.
3407
3408 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
3409
3410 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
3411 ошибка появилась в 0.7.53.
3412
3413
3414 Изменения в nginx 0.7.53 27.04.2009
3415
3416 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
3417 самого начала работы.
3418
3419 *) Добавление: теперь ошибки и предупреждения при старте записываются в
3420 error_log и выводятся на stderr.
3421
3422 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
3423 как префикс каталог, в котором он был запущен.
3424
3425 *) Добавление: ключ -p.
3426
3427 *) Добавление: ключ -s на Unix-платформах.
3428
3429 *) Добавление: ключи -? и -h.
3430 Спасибо Jerome Loyet.
3431
3432 *) Добавление: теперь ключи можно задавать в сжатой форме.
3433
3434 *) Исправление: nginx/Windows не работал, если файл конфигурации был
3435 задан ключом -c.
3436
3437 *) Исправление: при использовании директив proxy_store, fastcgi_store,
3438 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
3439 Спасибо Максиму Дунину.
3440
3441 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
3442 почтового прокси-сервера передавалось неверное значение; ошибка
3443 появилась в 0.7.34.
3444 Спасибо Simon Lecaille.
3445
3446 *) Исправление: при логгировании на Linux не писались текстовые описания
3447 системных ошибок; ошибка появилась в 0.7.45.
3448
3449 *) Исправление: директива fastcgi_cache_min_uses не работала.
3450 Спасибо Андрею Воробьёву.
3451
3452
3453 Изменения в nginx 0.7.52 20.04.2009
3454
3455 *) Добавление: первая бинарная версия под Windows.
3456
3457 *) Исправление: корректная обработка метода HEAD при кэшировании.
3458
3459 *) Исправление: корректная обработка строк "If-Modified-Since",
3460 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
3461
3462 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
3463 заголовке ответа для закэшированных ответов.
3464
3465 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3466 perl поддерживал потоки, то при выходе основного процесса могла
3467 выдаваться ошибка "panic: MUTEX_LOCK".
3468
3469 *) Исправление: nginx не собирался с параметром --without-http-cache;
3470 ошибка появилась в 0.7.48.
3471
3472 *) Исправление: nginx не собирался на платформах, отличных от i386,
3473 amd64, sparc и ppc; ошибка появилась в 0.7.42.
3474
3475
3476 Изменения в nginx 0.7.51 12.04.2009
3477
3478 *) Добавление: директива try_files поддерживает код ответа в последнем
3479 параметре.
3480
3481 *) Добавление: теперь в директиве return можно использовать любой код
3482 ответа.
3483
3484 *) Исправление: директива error_page делала внешний редирект без строки
3485 запроса; ошибка появилась в 0.7.44.
3486
3487 *) Исправление: если сервера слушали на нескольких явно описанных
3488 адресах, то виртуальные сервера могли не работать; ошибка появилась в
3489 0.7.39.
3490
3491
3492 Изменения в nginx 0.7.50 06.04.2009
3493
3494 *) Исправление: переменные $arg_... не работали; ошибка появилась в
3495 0.7.49.
3496
3497
3498 Изменения в nginx 0.7.49 06.04.2009
3499
3500 *) Исправление: при использовании переменных $arg_... в рабочем процессе
3501 мог произойти segmentation fault; ошибка появилась в 0.7.48.
3502
3503
3504 Изменения в nginx 0.7.48 06.04.2009
3505
3506 *) Добавление: директива proxy_cache_key.
3507
3508 *) Исправление: теперь nginx учитывает при кэшировании строки
3509 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
3510 бэкенда.
3511
3512 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
3513
3514 *) Исправление: директива fastcgi_cache_key не наследовалась.
3515
3516 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
3517 Спасибо Максиму Дунину.
3518
3519 *) Исправление: nginx не собирался с библиотекой uclibc.
3520 Спасибо Timothy Redaelli.
3521
3522 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
3523 в 0.7.46.
3524
3525
3526 Изменения в nginx 0.7.47 01.04.2009
3527
3528 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
3529 ошибка появилась в 0.7.46.
3530
3531 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
3532
3533 *) Исправление: если использовался параметр max_size, то cache manager
3534 мог удалить весь кэш; ошибка появилась в 0.7.46.
3535
3536 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
3537 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
3538 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
3539 в 0.7.46.
3540
3541 *) Исправление: в рабочем процессе мог произойти segmentation fault при
3542 перенаправлении запроса проксированному или FastCGI-серверу с помощью
3543 error_page или try_files; ошибка появилась в 0.7.44.
3544
3545
3546 Изменения в nginx 0.7.46 30.03.2009
3547
3548 *) Исправление: архив предыдущего релиза был неверным.
3549
3550
3551 Изменения в nginx 0.7.45 30.03.2009
3552
3553 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
3554 задавать на разных уровнях.
3555
3556 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
3557
3558 *) Добавление: параметр max_size в директиве proxy_cache_path.
3559
3560 *) Добавление: предварительная поддержка кэширования в модуле
3561 ngx_http_fastcgi_module.
3562
3563 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
3564 указываются названия директивы и зоны.
3565
3566 *) Исправление: директива "add_header last-modified ''" не удаляла в
3567 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
3568
3569 *) Исправление: в директиве auth_basic_user_file не работал
3570 относительный путь, заданный строкой без переменных; ошибка появилась
3571 в 0.7.44.
3572 Спасибо Jerome Loyet.
3573
3574 *) Исправление: в директиве alias, заданной переменными без ссылок на
3575 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
3576
3577
3578 Изменения в nginx 0.7.44 23.03.2009
3579
3580 *) Добавление: предварительная поддержка кэширования в модуле
3581 ngx_http_proxy_module.
3582
3583 *) Добавление: параметр --with-pcre в configure.
3584
3585 *) Добавление: теперь директива try_files может быть использована на
3586 уровне server.
3587
3588 *) Исправление: директива try_files неправильно обрабатывала строку
3589 запроса в последнем параметре.
3590
3591 *) Исправление: директива try_files могла неверно тестировать каталоги.
3592
3593 *) Исправление: если для пары адрес:порт описан только один сервер, то
3594 выделения в регулярных выражениях в директиве server_name не
3595 работали.
3596
3597
3598 Изменения в nginx 0.7.43 18.03.2009
3599
3600 *) Исправление: запрос обрабатывался неверно, если директива root
3601 использовала переменные; ошибка появилась в 0.7.42.
3602
3603 *) Исправление: если сервер слушал на адресах типа "*", то значение
3604 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
3605
3606
3607 Изменения в nginx 0.7.42 16.03.2009
3608
3609 *) Изменение: ошибка "Invalid argument", возвращаемая
3610 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
3611
3612 *) Изменение: при отсутствии файла, указанного в директиве
3613 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
3614
3615 *) Добавление: директива auth_basic_user_file поддерживает переменные.
3616 Спасибо Кириллу Коринскому.
3617
3618 *) Добавление: директива listen поддерживает параметр ipv6only.
3619 Спасибо Zhang Hua.
3620
3621 *) Исправление: в директиве alias со ссылками на выделения в регулярных
3622 выражениях; ошибка появилась в 0.7.40.
3623
3624 *) Исправление: совместимость с Tru64 UNIX.
3625 Спасибо Dustin Marquess.
3626
3627 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3628 в 0.7.41.
3629
3630
3631 Изменения в nginx 0.7.41 11.03.2009
3632
3633 *) Исправление: в рабочем процессе мог произойти segmentation fault,
3634 если в server_name или location были выделения в регулярных
3635 выражениях; ошибка появилась в 0.7.40.
3636 Спасибо Владимиру Сопоту.
3637
3638
3639 Изменения в nginx 0.7.40 09.03.2009
3640
3641 *) Добавление: директива location поддерживает выделения в регулярных
3642 выражениях.
3643
3644 *) Добавление: директиву alias с ссылками на выделения в регулярных
3645 выражениях можно использовать внутри location'а, заданного регулярным
3646 выражением с выделениями.
3647
3648 *) Добавление: директива server_name поддерживает выделения в регулярных
3649 выражениях.
3650
3651 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
3652 слэш для каталогов на файловой системе XFS; ошибка появилась в
3653 0.7.15.
3654 Спасибо Дмитрию Кузьменко.
3655
3656
3657 Изменения в nginx 0.7.39 02.03.2009
3658
3659 *) Исправление: при включённом сжатии большие ответы с использованием
3660 SSI могли зависать; ошибка появилась в 0.7.28.
3661 Спасибо Артёму Бохану.
3662
3663 *) Исправление: при использовании коротких статических вариантов в
3664 директиве try_files в рабочем процессе мог произойти segmentation
3665 fault.
3666
3667
3668 Изменения в nginx 0.7.38 23.02.2009
3669
3670 *) Добавление: логгирование ошибок аутентификации.
3671
3672 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
3673 игнорировались после нечётного числа пустых строк.
3674 Спасибо Александру Загребину.
3675
3676 *) Исправление: при использовании длинного пути в unix domain сокете в
3677 главном процессе происходил segmentation fault; ошибка появилась в
3678 0.7.36.
3679
3680
3681 Изменения в nginx 0.7.37 21.02.2009
3682
3683 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
3684 появилась в 0.7.36.
3685
3686
3687 Изменения в nginx 0.7.36 21.02.2009
3688
3689 *) Добавление: предварительная поддержка IPv6; директива listen модуля
3690 HTTP поддерживает IPv6.
3691
3692 *) Исправление: переменная $ancient_browser не работала для браузеров,
3693 заданных директивами modern_browser.
3694
3695
3696 Изменения в nginx 0.7.35 16.02.2009
3697
3698 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
3699 асимметричных шифров.
3700 Спасибо Marcin Gozdalik.
3701
3702 *) Исправление: директива try_files выставляла MIME-type, исходя из
3703 расширения первоначального запроса.
3704
3705 *) Исправление: в директивах server_name, valid_referers и map
3706 неправильно обрабатывались имена вида "*domain.tld", если
3707 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
3708 ошибка появилась в 0.7.9.
3709
3710
3711 Изменения в nginx 0.7.34 10.02.2009
3712
3713 *) Добавление: параметр off в директиве if_modified_since.
3714
3715 *) Добавление: теперь после команды XCLIENT nginx посылает команду
3716 HELO/EHLO.
3717 Спасибо Максиму Дунину.
3718
3719 *) Добавление: поддержка Microsoft-специфичного режима
3720 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
3721 Спасибо Максиму Дунину.
3722
3723 *) Исправление: в директиве rewrite, возвращающей редирект, старые
3724 аргументы присоединялись к новым через символ "?" вместо "&";
3725 ошибка появилась в 0.1.18.
3726 Спасибо Максиму Дунину.
3727
3728 *) Исправление: nginx не собирался на AIX.
3729
3730
3731 Изменения в nginx 0.7.33 02.02.2009
3732
3733 *) Исправление: если на запрос с телом возвращался редирект, то ответ
3734 мог быть двойным при использовании методов epoll или rtsig.
3735 Спасибо Eden Li.
3736
3737 *) Исправление: для некоторых типов редиректов в переменной
3738 $sent_http_location было пустое значение.
3739
3740 *) Исправление: при использовании директивы resolver в SMTP
3741 прокси-сервере в рабочем процессе мог произойти segmentation fault.
3742
3743
3744 Изменения в nginx 0.7.32 26.01.2009
3745
3746 *) Добавление: теперь в директиве try_files можно явно указать проверку
3747 каталога.
3748
3749 *) Исправление: fastcgi_store не всегда сохранял файлы.
3750
3751 *) Исправление: в гео-диапазонах.
3752
3753 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
3754 если nginx был собран без отладки.
3755 Спасибо Андрею Квасову.
3756
3757
3758 Изменения в nginx 0.7.31 19.01.2009
3759
3760 *) Изменение: теперь директива try_files проверяет только файлы,
3761 игнорируя каталоги.
3762
3763 *) Добавление: директива fastcgi_split_path_info.
3764
3765 *) Исправления в поддержке строки "Expect" в заголовке запроса.
3766
3767 *) Исправления в гео-диапазонах.
3768
3769 *) Исправление: при отсутствии ответа ngx_http_memcached_module
3770 возвращал в теле ответа строку "END" вместо 404-ой страницы по
3771 умолчанию; ошибка появилась в 0.7.18.
3772 Спасибо Максиму Дунину.
3773
3774 *) Исправление: при проксировании SMTP nginx выдавал сообщение
3775 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
3776 Спасибо Максиму Дунину.
3777
3778
3779 Изменения в nginx 0.7.30 24.12.2008
3780
3781 *) Исправление: в рабочем процессе происходил segmentation fault, если в
3782 директивах fastcgi_pass или proxy_pass использовались переменные и
3783 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
3784
3785
3786 Изменения в nginx 0.7.29 24.12.2008
3787
3788 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
3789 переменные при использовании unix domain сокетов.
3790
3791 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
3792
3793 *) Исправление: ответ "100 Continue" выдавался для запросов версии
3794 HTTP/1.0;
3795 Спасибо Максиму Дунину.
3796
3797 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
3798 под Cygwin.
3799
3800
3801 Изменения в nginx 0.7.28 22.12.2008
3802
3803 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
3804
3805 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
3806 с 4 4k/8k на 32 4k или 16 8k.
3807
3808
3809 Изменения в nginx 0.7.27 15.12.2008
3810
3811 *) Добавление: директива try_files.
3812
3813 *) Добавление: директива fastcgi_pass поддерживает переменные.
3814
3815 *) Добавление: теперь директива geo может брать адрес из переменной.
3816 Спасибо Андрею Нигматулину.
3817
3818 *) Добавление: теперь модификатор location'а можно указывать без пробела
3819 перед названием.
3820
3821 *) Добавление: переменная $upstream_response_length.
3822
3823 *) Исправление: теперь директива add_header не добавляет пустое
3824 значение.
3825
3826 *) Исправление: при запросе файла нулевой длины nginx закрывал
3827 соединение, ничего не передав; ошибка появилась в 0.7.25.
3828
3829 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
3830 каталог.
3831
3832 *) Исправление: если в сервере не был описан ни один именованный
3833 location, но такой location использовался в директиве error_page, то
3834 в рабочем процессе происходил segmentation fault.
3835 Спасибо Сергею Боченкову.
3836
3837
3838 Изменения в nginx 0.7.26 08.12.2008
3839
3840 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
3841
3842
3843 Изменения в nginx 0.7.25 08.12.2008
3844
3845 *) Изменение: в обработке подзапросов.
3846
3847 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
3848 заголовке запроса.
3849
3850 *) Исправление: теперь директивы limit_req и limit_conn указывают
3851 причину запрета запроса.
3852
3853 *) Исправление: в параметре delete директивы geo.
3854
3855
3856 Изменения в nginx 0.7.24 01.12.2008
3857
3858 *) Добавление: директива if_modified_since.
3859
3860 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
3861 ответом сервер передавал много сообщений в stderr.
3862
3863 *) Исправление: переменные "$cookie_..." не работали в SSI and в
3864 перловом модуле.
3865
3866
3867 Изменения в nginx 0.7.23 27.11.2008
3868
3869 *) Добавление: параметры delete и ranges в директиве geo.
3870
3871 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
3872
3873 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
3874
3875
3876 Изменения в nginx 0.7.22 20.11.2008
3877
3878 *) Добавление: параметр none в директиве smtp_auth.
3879 Спасибо Максиму Дунину.
3880
3881 *) Добавление: переменные "$cookie_...".
3882
3883 *) Исправление: директива directio не работала с файловой системой XFS.
3884
3885 *) Исправление: resolver не понимал большие DNS-ответы.
3886 Спасибо Zyb.
3887
3888
3889 Изменения в nginx 0.7.21 11.11.2008
3890
3891 *) Изменения в модуле ngx_http_limit_req_module.
3892
3893 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
3894 Спасибо Денису Латыпову.
3895
3896 *) Изменение: совместимость с glibc 2.3.
3897 Спасибо Eric Benson и Максиму Дунину.
3898
3899 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
3900 ошибка появилась в 0.7.6.
3901
3902
3903 Изменения в nginx 0.7.20 10.11.2008
3904
3905 *) Изменения в модуле ngx_http_gzip_filter_module.
3906
3907 *) Добавление: модуль ngx_http_limit_req_module.
3908
3909 *) Исправление: на платформах sparc и ppc рабочие процессы могли
3910 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
3911 Спасибо Максиму Дунину.
3912
3913 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
3914 работали; ошибка появилась в 0.7.12.
3915
3916 *) Исправление: при использовании HTTPS запросы могли завершаться с
3917 ошибкой "bad write retry".
3918
3919 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
3920 location'ов с именами меньше 3 символов.
3921
3922 *) Исправление: переменная $server_addr могла не иметь значения.
3923
3924
3925 Изменения в nginx 0.7.19 13.10.2008
3926
3927 *) Исправление: обновление номера версии.
3928
3929
3930 Изменения в nginx 0.7.18 13.10.2008
3931
3932 *) Изменение: директива underscores_in_headers; теперь nginx по
3933 умолчанию не разрешает подчёркивания в именах строк в заголовке
3934 запроса клиента.
3935
3936 *) Добавление: модуль ngx_http_secure_link_module.
3937
3938 *) Добавление: директива real_ip_header поддерживает любой заголовок.
3939
3940 *) Добавление: директива log_subrequest.
3941
3942 *) Добавление: переменная $realpath_root.
3943
3944 *) Добавление: параметры http_502 и http_504 в директиве
3945 proxy_next_upstream.
3946
3947 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
3948 fastcgi_next_upstream не работал.
3949
3950 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
3951 для запросов HEAD.
3952
3953 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
3954
3955
3956 Изменения в nginx 0.7.17 15.09.2008
3957
3958 *) Добавление: директива directio теперь работает на Linux.
3959
3960 *) Добавление: переменная $pid.
3961
3962 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
3963 при использовании open_file_cache.
3964
3965 *) Исправление: access_log с переменными не работал на Linux; ошибка
3966 появилась в 0.7.7.
3967
3968 *) Исправление: модуль ngx_http_charset_module не понимал название
3969 кодировки в кавычках, полученное от бэкенда.
3970
3971
3972 Изменения в nginx 0.7.16 08.09.2008
3973
3974 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3975 появилась в 0.7.15.
3976
3977
3978 Изменения в nginx 0.7.15 08.09.2008
3979
3980 *) Добавление: модуль ngx_http_random_index_module.
3981
3982 *) Добавление: директива directio оптимизирована для запросов файлов,
3983 начинающихся с произвольной позиции.
3984
3985 *) Добавление: директива directio при необходимости запрещает
3986 использование sendfile.
3987
3988 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
3989 заголовке запроса клиента.
3990
3991
3992 Изменения в nginx 0.7.14 01.09.2008
3993
3994 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
3995 имеют значений по умолчанию.
3996
3997 *) Добавление: директива listen поддерживает параметр ssl.
3998
3999 *) Добавление: теперь при переконфигурации nginx учитывает изменение
4000 временной зоны на FreeBSD и Linux.
4001
4002 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
4003 прочие, не устанавливались, если сервером по умолчанию был не первый
4004 сервер.
4005
4006 *) Исправление: при использовании в качестве аргументов части URI,
4007 выделенного с помощью директивы rewrite, эти аргументы не
4008 экранировались.
4009
4010 *) Исправление: улучшения тестирования правильности конфигурационного
4011 файла.
4012
4013
4014 Изменения в nginx 0.7.13 26.08.2008
4015
4016 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4017 в 0.7.12.
4018
4019
4020 Изменения в nginx 0.7.12 26.08.2008
4021
4022 *) Добавление: директива server_name поддерживает пустое имя "".
4023
4024 *) Добавление: директива gzip_disable поддерживает специальную маску
4025 msie6.
4026
4027 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
4028 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
4029 Спасибо Максиму Дунину.
4030
4031 *) Исправление: при перенаправлении запроса с помощью директивы
4032 error_page терялось тело запроса.
4033
4034 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
4035 директивы error_page возвращался полный ответ.
4036
4037 *) Исправление: метод $r->header_in() не возвращал значения строк
4038 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
4039 появилась в 0.7.0.
4040
4041
4042 Изменения в nginx 0.7.11 18.08.2008
4043
4044 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
4045 MIME-типом text/css.
4046
4047 *) Добавление: теперь nginx возвращает код 405 для метода POST при
4048 запросе статического файла, только если файл существует.
4049
4050 *) Добавление: директива proxy_ssl_session_reuse.
4051
4052 *) Исправление: после перенаправления запроса с помощью
4053 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
4054 оригинальный запрос.
4055
4056 *) Исправление: если у каталога были права доступа только на поиск
4057 файлов и первый индексный файл отсутствовал, то nginx возвращал
4058 ошибку 500.
4059
4060 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
4061 0.7.1.
4062
4063
4064 Изменения в nginx 0.7.10 13.08.2008
4065
4066 *) Исправление: ошибок в директивах addition_types, charset_types,
4067 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
4068 появились в 0.7.9.
4069
4070 *) Исправление: рекурсивной error_page для 500 ошибки.
4071
4072 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
4073 не для всего keepalive соединения, а для каждого запроса по этому
4074 соединению.
4075
4076
4077 Изменения в nginx 0.7.9 12.08.2008
4078
4079 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
4080 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
4081 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
4082
4083 *) Добавление: директивы charset_types и addition_types.
4084
4085 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
4086 используют хэш.
4087
4088 *) Добавление: модуль ngx_cpp_test_module.
4089
4090 *) Добавление: директива expires поддерживает суточное время.
4091
4092 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
4093 Спасибо Денису Латыпову и Максиму Дунину.
4094
4095 *) Исправление: директива log_not_found не работала при поиске индексных
4096 файлов.
4097
4098 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
4099 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
4100
4101 *) Исправление: если в директивах server_name, valid_referers и map
4102 использовалась маска вида "*.domain.tld" и при этом полное имя вида
4103 "domain.tld" не было описано, то это имя попадало под маску; ошибка
4104 появилась в 0.3.18.
4105
4106
4107 Изменения в nginx 0.7.8 04.08.2008
4108
4109 *) Добавление: модуль ngx_http_xslt_module.
4110
4111 *) Добавление: переменные "$arg_...".
4112
4113 *) Добавление: поддержка directio в Solaris.
4114 Спасибо Ivan Debnar.
4115
4116 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
4117 в заголовке ответа без строки статуса, то nginx использует код
4118 статуса 302.
4119 Спасибо Максиму Дунину.
4120
4121
4122 Изменения в nginx 0.7.7 30.07.2008
4123
4124 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
4125 временной.
4126
4127 *) Изменение: значением переменной $ssl_client_cert теперь является
4128 сертификат, перед каждой строкой которого, кроме первой, вставляется
4129 символ табуляции; неизменённый сертификат доступен через переменную
4130 $ssl_client_raw_cert.
4131
4132 *) Добавление: параметр ask директивы ssl_verify_client.
4133
4134 *) Добавление: улучшения в обработке byte-range.
4135 Спасибо Максиму Дунину.
4136
4137 *) Добавление: директива directio.
4138 Спасибо Jiang Hong.
4139
4140 *) Добавление: поддержка sendfile() в MacOSX 10.5.
4141
4142 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
4143 делается сравнение без учёта регистра символов; однако, сравнение
4144 ограничено только однобайтными locale'ями.
4145
4146 *) Исправление: соединения почтового прокси-сервера зависали в режиме
4147 SSL, если использовались методы select, poll или /dev/poll.
4148
4149 *) Исправление: ошибки при использовании кодировки UTF-8 в
4150 ngx_http_autoindex_module.
4151
4152
4153 Изменения в nginx 0.7.6 07.07.2008
4154
4155 *) Исправление: теперь при использовании переменных в директиве
4156 access_log всегда проверяется существовании root'а для запроса.
4157
4158 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
4159 значений в аргументах запроса.
4160
4161
4162 Изменения в nginx 0.7.5 01.07.2008
4163
4164 *) Исправления в поддержке переменных в директиве access_log; ошибки
4165 появились в 0.7.4.
4166
4167 *) Исправление: nginx не собирался с параметром
4168 --without-http_gzip_module; ошибка появилась в 0.7.3.
4169 Спасибо Кириллу Коринскому.
4170
4171 *) Исправление: при совместном использовании sub_filter и SSI ответы
4172 могли передаваться неверно.
4173
4174
4175 Изменения в nginx 0.7.4 30.06.2008
4176
4177 *) Добавление: директива access_log поддерживает переменные.
4178
4179 *) Добавление: директива open_log_file_cache.
4180
4181 *) Добавление: ключ -g.
4182
4183 *) Добавление: поддержка строки "Expect" в заголовке запроса.
4184
4185 *) Исправление: большие включения в SSI могли передавались не полностью.
4186
4187
4188 Изменения в nginx 0.7.3 23.06.2008
4189
4190 *) Изменение: MIME-тип для расширения rss изменён на
4191 "application/rss+xml".
4192
4193 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
4194 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
4195
4196 *) Добавление: теперь при использовании протокола "https://" в директиве
4197 rewrite автоматически делается редирект.
4198
4199 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
4200 ошибка появилась в 0.6.9.
4201
4202
4203 Изменения в nginx 0.7.2 16.06.2008
4204
4205 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
4206
4207 *) Добавление: директива ssl_dhparam.
4208
4209 *) Добавление: переменная $ssl_client_cert.
4210 Спасибо Manlio Perillo.
4211
4212 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
4213 искал новый location; ошибка появилась в 0.7.1.
4214 Спасибо Максиму Дунину.
4215
4216 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4217 в 0.7.1.
4218
4219 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
4220 nginx не добавлял аргументы из оригинального запроса.
4221
4222
4223 Изменения в nginx 0.7.1 26.05.2008
4224
4225 *) Изменение: теперь поиск location'а делается с помощью дерева.
4226
4227 *) Изменение: директива optimize_server_names упразднена в связи с
4228 появлением директивы server_name_in_redirect.
4229
4230 *) Изменение: некоторые давно устаревшие директивы больше не
4231 поддерживаются.
4232
4233 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
4234 параметр используется по умолчанию.
4235 Спасибо Rob Mueller.
4236
4237 *) Исправление: рабочие процессы могли не реагировать на сигналы
4238 переконфигурации и ротации логов.
4239
4240 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
4241 Спасибо Roxis.
4242
4243
4244 Изменения в nginx 0.7.0 19.05.2008
4245
4246 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
4247 записываются в виде \xXX.
4248 Спасибо Максиму Дунину.
4249
4250 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
4251 запроса.
4252
4253 *) Добавление: директива expires поддерживает флаг modified.
4254
4255 *) Добавление: переменные $uid_got и $uid_set можно использовать на
4256 любой стадии обработки запроса.
4257
4258 *) Добавление: переменная $hostname.
4259 Спасибо Андрею Нигматулину.
4260
4261 *) Добавление: поддержка DESTDIR.
4262 Спасибо Todd A. Fisher и Andras Voroskoi.
4263
4264 *) Исправление: при использовании keepalive на Linux в рабочем процессе
4265 мог произойти segmentation fault.
4266
4267
4268 Изменения в nginx 0.6.31 12.05.2008
4269
4270 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
4271 заголовка ответа была в конце записи FastCGI; ошибка появилась в
4272 0.6.2.
4273 Спасибо Сергею Серову.
4274
4275 *) Исправление: при удалении файла и использовании директивы
4276 open_file_cache_errors off в рабочем процессе мог произойти
4277 segmentation fault.
4278
4279
4280 Изменения в nginx 0.6.30 29.04.2008
4281
4282 *) Изменение: теперь, если маске, заданной в директиве include, не
4283 соответствует ни один файл, то nginx не выдаёт ошибку.
4284
4285 *) Добавление: теперь время в директивах можно задавать без пробела,
4286 например, "1h50m".
4287
4288 *) Исправление: утечек памяти, если директива ssl_verify_client имела
4289 значение on.
4290 Спасибо Chavelle Vincent.
4291
4292 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
4293 вывод.
4294
4295 *) Исправление: директива error_page не воспринимала параметры в
4296 перенаправляемом URI.
4297
4298 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
4299 в бинарном режиме.
4300
4301 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
4302 0.6.15.
4303
4304
4305 Изменения в nginx 0.6.29 18.03.2008
4306
4307 *) Добавление: модуль ngx_google_perftools_module.
4308
4309 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
4310 платформах; ошибка появилась в 0.6.27.
4311
4312
4313 Изменения в nginx 0.6.28 13.03.2008
4314
4315 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
4316
4317
4318 Изменения в nginx 0.6.27 12.03.2008
4319
4320 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
4321 rtsig.
4322
4323 *) Изменение: теперь при перенаправлении запроса в именованный location
4324 с помощью директивы error_page метод запроса не изменяется.
4325
4326 *) Добавление: директивы resolver и resolver_timeout в SMTP
4327 прокси-сервере.
4328
4329 *) Добавление: директива post_action поддерживает именованные
4330 location'ы.
4331
4332 *) Исправление: при перенаправлении запроса из location'а c обработчиком
4333 proxy, FastCGI или memcached в именованный location со статическим
4334 обработчиком в рабочем процессе происходил segmentation fault.
4335
4336 *) Исправление: браузеры не повторяли SSL handshake, если при первом
4337 handshake не оказалось правильного клиентского сертификата.
4338 Спасибо Александру Инюхину.
4339
4340 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
4341 error_page без изменения кода ошибки nginx пытался выделить очень
4342 много памяти.
4343
4344 *) Исправление: утечки памяти в долгоживущих небуфферизированных
4345 соединениях.
4346
4347 *) Исправление: утечки памяти в resolver'е.
4348
4349 *) Исправление: при перенаправлении запроса из location'а c обработчиком
4350 proxy в другой location с обработчиком proxy в рабочем процессе
4351 происходил segmentation fault.
4352
4353 *) Исправление: ошибки в кэшировании переменных $proxy_host и
4354 $proxy_port.
4355 Спасибо Сергею Боченкову.
4356
4357 *) Исправление: директива proxy_pass с переменными использовала порт,
4358 описанной в другой директиве proxy_pass без переменных, но с таким же
4359 именем хоста.
4360 Спасибо Сергею Боченкову.
4361
4362 *) Исправление: во время переконфигурации на некоторых 64-битном
4363 платформах в лог записывался alert "sendmsg() failed (9: Bad file
4364 descriptor)".
4365
4366 *) Исправление: при повторном использовании в SSI пустого block'а в
4367 качестве заглушки в рабочем процессе происходил segmentation fault.
4368
4369 *) Исправление: ошибки при копировании части URI, содержащего
4370 экранированные символы, в аргументы.
4371
4372
4373 Изменения в nginx 0.6.26 11.02.2008
4374
4375 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
4376 ответа.
4377
4378 *) Исправление: при использовании большого значения в директиве expires
4379 в рабочем процессе происходил segmentation fault.
4380 Спасибо Joaquin Cuenca Abela.
4381
4382 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
4383 Спасибо Геннадию Махомеду.
4384
4385 *) Исправление: в проксированных подзапросах и подзапросах к
4386 FastCGI-серверу вместо метода GET использовался оригинальный метод
4387 клиента.
4388
4389 *) Исправление: утечки сокетов в режиме HTTPS при использовании
4390 отложенного accept'а.
4391 Спасибо Ben Maurer.
4392
4393 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
4394 (SSL: )"; ошибка появилась в 0.6.23.
4395
4396 *) Исправление: при использовании HTTPS запросы могли завершаться с
4397 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
4398
4399
4400 Изменения в nginx 0.6.25 08.01.2008
4401
4402 *) Изменение: вместо специального параметра "*" в директиве server_name
4403 теперь используется директива server_name_in_redirect.
4404
4405 *) Изменение: в качестве основного имени в директиве server_name теперь
4406 можно использовать имена с масками и регулярными выражениями.
4407
4408 *) Изменение: директива satisfy_any заменена директивой satisfy.
4409
4410 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
4411 нагружать процессор при запуске под Linux OpenVZ.
4412
4413 *) Добавление: директива min_delete_depth.
4414
4415 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
4416
4417 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
4418 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
4419
4420 *) Исправление: утечки сокетов в режиме HTTPS при использовании
4421 отложенного accept'а.
4422 Спасибо Ben Maurer.
4423
4424 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4425 в 0.6.23.
4426
4427
4428 Изменения в nginx 0.6.24 27.12.2007
4429
4430 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
4431 segmentation fault; ошибка появилась в 0.6.23.
4432
4433
4434 Изменения в nginx 0.6.23 27.12.2007
4435
4436 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
4437 параметр используется по умолчанию.
4438
4439 *) Изменение: директива open_file_cache_retest переименована в
4440 open_file_cache_valid.
4441
4442 *) Добавление: директива open_file_cache_min_uses.
4443
4444 *) Добавление: модуль ngx_http_gzip_static_module.
4445
4446 *) Добавление: директива gzip_disable.
4447
4448 *) Добавление: директиву memcached_pass можно использовать внутри блока
4449 if.
4450
4451 *) Исправление: если внутри одного location'а использовались директивы
4452 "memcached_pass" и "if", то в рабочем процессе происходил
4453 segmentation fault.
4454
4455 *) Исправление: если при использовании директивы satisfy_any on" были
4456 заданы директивы не всех модулей доступа, то заданные директивы не
4457 проверялись.
4458
4459 *) Исправление: параметры, заданные регулярным выражением в директиве
4460 valid_referers, не наследовалась с предыдущего уровня.
4461
4462 *) Исправление: директива post_action не работала, если запрос
4463 завершался с кодом 499.
4464
4465 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
4466 Спасибо Ben Maurer.
4467
4468 *) Исправление: STARTTLS в режиме SMTP не работал.
4469 Спасибо Олегу Мотиенко.
4470
4471 *) Исправление: при использовании HTTPS запросы могли завершаться с
4472 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
4473
4474
4475 Изменения в nginx 0.6.22 19.12.2007
4476
4477 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
4478 значения, скопированные в память, выделенную perl'ом.
4479
4480 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
4481 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
4482 время переконфигурации основной процесс аварийно выходил; ошибка
4483 появилась в 0.5.9.
4484 Спасибо Борису Жмурову.
4485
4486 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
4487 неверные результаты выделения в регулярных выражениях.
4488
4489 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
4490 у которого небольшое тело запроса было уже полностью получено, то в
4491 рабочем процессе происходил segmentation fault.
4492
4493 *) Исправление: large_client_header_buffers не освобождались перед
4494 переходом в состояние keep-alive.
4495 Спасибо Олександру Штепе.
4496
4497 *) Исправление: в переменной $upstream_addr не записывался последний
4498 адрес; ошибка появилась в 0.6.18.
4499
4500 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
4501 теперь она возвращает ошибку 502, которую можно направить на
4502 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
4503
4504 *) Исправление: при использовании директивы fastcgi_catch_stderr в
4505 основном процессе происходил segmentation fault; ошибка появилась в
4506 0.6.10.
4507 Спасибо Manlio Perillo.
4508
4509
4510 Изменения в nginx 0.6.21 03.12.2007
4511
4512 *) Изменение: если в значениях переменных директивы proxy_pass
4513 используются только IP-адреса, то указывать resolver не нужно.
4514
4515 *) Исправление: при использовании директивы proxy_pass c URI-частью в
4516 рабочем процессе мог произойти segmentation fault; ошибка появилась в
4517 0.6.19.
4518
4519 *) Исправление: если resolver использовался на платформах, не
4520 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
4521 response".
4522 Спасибо Андрею Нигматулину.
4523
4524 *) Исправление: При использовании переменной $server_protocol в
4525 FastCGI-параметрах и запросе, длина которого была близка к значению
4526 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
4527 the request record is too big".
4528
4529 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
4530 nginx возвращал обычный ответ.
4531
4532
4533 Изменения в nginx 0.6.20 28.11.2007
4534
4535 *) Исправление: при использовании директивы proxy_pass c URI-частью в
4536 рабочем процессе мог произойти segmentation fault; ошибка появилась в
4537 0.6.19.
4538
4539
4540 Изменения в nginx 0.6.19 27.11.2007
4541
4542 *) Исправление: версия 0.6.18 не собиралась.
4543
4544
4545 Изменения в nginx 0.6.18 27.11.2007
4546
4547 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
4548 процесса добавляет микросекунды на время старта.
4549
4550 *) Изменение: в error_log теперь записывается полная строка запроса
4551 вместо только URI.
4552
4553 *) Добавление: директива proxy_pass поддерживает переменные.
4554
4555 *) Добавление: директивы resolver и resolver_timeout.
4556
4557 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
4558 заголовке ответа строку "Last-Modified".
4559
4560 *) Исправление: директива limit_rate не позволяла передавать на полной
4561 скорости, даже если был указан очень большой лимит.
4562
4563
4564 Изменения в nginx 0.6.17 15.11.2007
4565
4566 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
4567 Спасибо Александру Инюхину.
4568
4569 *) Исправление: при использовании директивы msie_refresh повторно
4570 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
4571
4572 *) Исправление: директива autoindex не работала при использовании "alias
4573 /".
4574
4575 *) Исправление: при использовании подзапросов в рабочем процессе мог
4576 произойти segmentation fault.
4577
4578 *) Исправление: при использовании SSL и gzip большие ответы могли
4579 передаваться не полностью.
4580
4581 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
4582 то переменная $status была равна 0.
4583
4584
4585 Изменения в nginx 0.6.16 29.10.2007
4586
4587 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
4588 Спасибо Илье Новикову.
4589
4590 *) Исправление: если в директиве error_page использовался символ "?", то
4591 он экранировался при проксировании запроса; ошибка появилась в
4592 0.6.11.
4593
4594 *) Исправление: совместимость с mget.
4595
4596
4597 Изменения в nginx 0.6.15 22.10.2007
4598
4599 *) Добавление: совместимость с Cygwin.
4600 Спасибо Владимиру Кутакову.
4601
4602 *) Добавление: директива merge_slashes.
4603
4604 *) Добавление: директива gzip_vary.
4605
4606 *) Добавление: директива server_tokens.
4607
4608 *) Исправление: nginx не раскодировал URI в команде SSI include.
4609
4610 *) Исправление: при использовании переменной в директивах charset или
4611 source_charset на старте или во время переконфигурации происходил
4612 segmentation fault,
4613
4614 *) Исправление: nginx возвращал ошибку 400 на запросы вида
4615 "GET http://www.domain.com HTTP/1.0".
4616 Спасибо James Oakley.
4617
4618 *) Исправление: после перенаправления запроса с телом запроса с помощью
4619 директивы error_page nginx пытался снова прочитать тело запроса;
4620 ошибка появилась в 0.6.7.
4621
4622 *) Исправление: в рабочем процессе происходил segmentation fault, если у
4623 сервера, обрабатывающему запрос, не был явно определён server_name;
4624 ошибка появилась в 0.6.7.
4625
4626
4627 Изменения в nginx 0.6.14 15.10.2007
4628
4629 *) Изменение: теперь по умолчанию команда SSI echo использует
4630 кодирование entity.
4631
4632 *) Добавление: параметр encoding в команде SSI echo.
4633
4634 *) Добавление: директиву access_log можно использовать внутри блока
4635 limit_except.
4636
4637 *) Исправление: если все сервера апстрима оказывались недоступными, то
4638 до восстановления работоспособности у всех серверов вес становился
4639 равным одному; ошибка появилась в 0.6.6.
4640
4641 *) Исправление: при использовании переменных $date_local и $date_gmt вне
4642 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
4643 segmentation fault.
4644
4645 *) Исправление: при использовании включённом отладочном логе в рабочем
4646 процессе мог произойти segmentation fault.
4647 Спасибо Андрею Нигматулину.
4648
4649 *) Исправление: ngx_http_memcached_module не устанавливал
4650 $upstream_response_time.
4651 Спасибо Максиму Дунину.
4652
4653 *) Исправление: рабочий процесс мог зациклиться при использовании
4654 memcached.
4655
4656 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
4657 строке "Connection" в заголовке запроса только, если они были в
4658 нижнем регистре; ошибка появилась в 0.6.11.
4659
4660 *) Исправление: sub_filter не работал с пустой строкой замены.
4661
4662 *) Исправление: в парсинге sub_filter.
4663
4664
4665 Изменения в nginx 0.6.13 24.09.2007
4666
4667 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
4668 использовался autoindex
4669 Спасибо Arkadiusz Patyk.
4670
4671
4672 Изменения в nginx 0.6.12 21.09.2007
4673
4674 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
4675 и smtp.
4676
4677 *) Добавление: параметры конфигурации --without-mail_pop3_module,
4678 --without-mail_imap_module и --without-mail_smtp_module.
4679
4680 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
4681 ngx_mail_smtp_module.
4682
4683 *) Исправление: wildcard в конце имени сервера не работали; ошибка
4684 появилась в 0.6.9.
4685
4686 *) Исправление: при использовании разделяемой библиотеки PCRE,
4687 расположенной в нестандартном месте, nginx не запускался на Solaris.
4688
4689 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
4690 скрывали строки заголовка ответа с именем больше 32 символов.
4691 Спасибо Manlio Perillo.
4692
4693
4694 Изменения в nginx 0.6.11 11.09.2007
4695
4696 *) Исправление: счётчик активных соединений всегда рос при использовании
4697 почтового прокси-сервера.
4698
4699 *) Исправление: если бэкенд возвращал только заголовок ответа при
4700 небуферизированном проксировании, то nginx закрывал соединение с
4701 бэкендом по таймауту.
4702
4703 *) Исправление: nginx не поддерживал несколько строк "Connection" в
4704 заголовке запроса.
4705
4706 *) Исправление: если в сервере апстрима был задан max_fails, то после
4707 первой же неудачной попытки вес сервера навсегда становился равным
4708 одному; ошибка появилась в 0.6.6.
4709
4710
4711 Изменения в nginx 0.6.10 03.09.2007
4712
4713 *) Добавление: директивы open_file_cache, open_file_cache_retest и
4714 open_file_cache_errors.
4715
4716 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
4717
4718 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
4719 методе $r->send_http_header(), не добавлялась кодировка, указанная в
4720 директиве charset.
4721
4722 *) Исправление: при использовании метода /dev/poll в рабочем процессе
4723 мог произойти segmentation fault.
4724
4725
4726 Изменения в nginx 0.6.9 28.08.2007
4727
4728 *) Исправление: рабочий процесс мог зациклиться при использовании
4729 протокола HTTPS; ошибка появилась в 0.6.7.
4730
4731 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
4732 не запускался при использовании wildcard в конце имени сервера.
4733
4734 *) Исправление: директива ip_hash могла неверно помечать сервера как
4735 нерабочие.
4736
4737 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
4738
4739
4740 Изменения в nginx 0.6.8 20.08.2007
4741
4742 *) Изменение: теперь nginx пытается установить директивы
4743 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
4744 worker_rlimit_sigpending без привилегий root'а.
4745
4746 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
4747 запроса серверу аутентификации почтового прокси-сервера.
4748
4749 *) Изменение: теперь nginx экранирует символ "%" в переменной
4750 $memcached_key.
4751
4752 *) Исправление: при указании относительного пути к конфигурационному
4753 файлу в качестве параметра ключа -c nginx определял путь относительно
4754 конфигурационного префикса; ошибка появилась в 0.6.6.
4755
4756 *) Исправление: nginx не работал на FreeBSD/sparc64.
4757
4758
4759 Изменения в nginx 0.6.7 15.08.2007
4760
4761 *) Изменение: теперь пути, указанные в директивах include,
4762 auth_basic_user_file, perl_modules, ssl_certificate,
4763 ssl_certificate_key и ssl_client_certificate, определяются
4764 относительно каталога конфигурационного файла nginx.conf, а не
4765 относительно префикса.
4766
4767 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
4768
4769 *) Изменение: для обновления на лету версий 0.1.x создан специальный
4770 сценарий make upgrade1.
4771
4772 *) Добавление: директивы server_name и valid_referers поддерживают
4773 регулярные выражения.
4774
4775 *) Добавление: директива server в блоке upstream поддерживает параметр
4776 backup.
4777
4778 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4779 $r->discard_request_body.
4780
4781 *) Добавление: директива "add_header Last-Modified ..." меняет строку
4782 "Last-Modified" в заголовке ответа.
4783
4784 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
4785 отличным от 200, и после этого запроса соединение переходило в
4786 состояние keep-alive, то на следующий запрос nginx возвращал 400.
4787
4788 *) Исправление: если в директиве auth_http был задан неправильный адрес,
4789 то в рабочем процессе происходил segmentation fault.
4790
4791 *) Исправление: теперь по умолчанию nginx использует значение 511 для
4792 listen backlog на всех платформах, кроме FreeBSD.
4793 Спасибо Jiang Hong.
4794
4795 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
4796 upstream был помечен как down; ошибка появилась в 0.6.6.
4797
4798 *) Исправление: sendfilev() в Solaris теперь не используется при
4799 передаче тела запроса FastCGI-серверу через unix domain сокет.
4800
4801
4802 Изменения в nginx 0.6.6 30.07.2007
4803
4804 *) Добавление: параметр --sysconfdir=PATH в configure.
4805
4806 *) Добавление: именованные location'ы.
4807
4808 *) Добавление: переменную $args можно устанавливать с помощью set.
4809
4810 *) Добавление: переменная $is_args.
4811
4812 *) Исправление: равномерное распределение запросов к апстримам с
4813 большими весами.
4814
4815 *) Исправление: если клиент в почтовом прокси-сервере закрывал
4816 соединение, то nginx мог не закрывать соединение с бэкендом.
4817
4818 *) Исправление: при использовании одного хоста в качестве бэкендов для
4819 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
4820 только один порт - 80 или 443.
4821
4822 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
4823 более ранними версиями; ошибка появилась в 0.6.4.
4824
4825
4826 Изменения в nginx 0.6.5 23.07.2007
4827
4828 *) Добавление: переменная $nginx_version.
4829 Спасибо Николаю Гречуху.
4830
4831 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
4832 IMAP.
4833 Спасибо Максиму Дунину.
4834
4835 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
4836 SMTP.
4837 Спасибо Максиму Дунину.
4838
4839 *) Исправление: теперь nginx экранирует пробел в переменной
4840 $memcached_key.
4841
4842 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
4843 Спасибо Jiang Hong.
4844
4845 *) Исправление: незначительных потенциальных ошибок.
4846 Спасибо Coverity's Scan.
4847
4848
4849 Изменения в nginx 0.6.4 17.07.2007
4850
4851 *) Безопасность: при использовании директивы msie_refresh был возможен
4852 XSS.
4853 Спасибо Максиму Богуку.
4854
4855 *) Изменение: директивы proxy_store и fastcgi_store изменены.
4856
4857 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
4858
4859 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
4860 Studio.
4861 Спасибо Андрею Нигматулину.
4862
4863 *) Изменение: обход ошибки в Sun Studio 12.
4864 Спасибо Jiang Hong.
4865
4866
4867 Изменения в nginx 0.6.3 12.07.2007
4868
4869 *) Добавление: директивы proxy_store и fastcgi_store.
4870
4871 *) Исправление: при использовании директивы auth_http_header в рабочем
4872 процессе мог произойти segmentation fault.
4873 Спасибо Максиму Дунину.
4874
4875 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
4876 не был разрешён, то в рабочем процессе происходил segmentation fault.
4877
4878 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4879 в рабочем процессе мог произойти segmentation fault.
4880
4881 *) Исправление: в рабочем процессе мог произойти segmentation fault,
4882 если использовался метод eventport.
4883
4884 *) Исправление: директивы proxy_ignore_client_abort и
4885 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
4886
4887
4888 Изменения в nginx 0.6.2 09.07.2007
4889
4890 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
4891 nginx передавал клиенту мусор в таких заголовках.
4892
4893
4894 Изменения в nginx 0.6.1 17.06.2007
4895
4896 *) Исправление: в парсинге SSI.
4897
4898 *) Исправление: при использовании удалённого подзапроса в SSI
4899 последующий подзапрос локального файла мог отдаваться клиенту в
4900 неверном порядке.
4901
4902 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
4903 передавались не полностью.
4904
4905 *) Исправление: значение perl'овой переменной $$ модуля
4906 ngx_http_perl_module было равно номеру главного процесса.
4907
4908
4909 Изменения в nginx 0.6.0 14.06.2007
4910
4911 *) Добавление: директивы "server_name", "map", and "valid_referers"
4912 поддерживают маски вида "www.example.*".
4913
4914
4915 Изменения в nginx 0.5.25 11.06.2007
4916
4917 *) Исправление: nginx не собирался с параметром
4918 --without-http_rewrite_module; ошибка появилась в 0.5.24.
4919
4920
4921 Изменения в nginx 0.5.24 06.06.2007
4922
4923 *) Безопасность: директива ssl_verify_client не работала, если запрос
4924 выполнялся по протоколу HTTP/0.9.
4925
4926 *) Исправление: при использовании сжатия часть ответа могла передаваться
4927 несжатой; ошибка появилась в 0.5.23.
4928
4929
4930 Изменения в nginx 0.5.23 04.06.2007
4931
4932 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
4933 Server Name Indication.
4934
4935 *) Добавление: директива fastcgi_catch_stderr.
4936 Спасибо Николаю Гречуху, проект OWOX.
4937
4938 *) Исправление: на Линуксе в основном процессе происходил segmentation
4939 fault, если два виртуальных сервера должны bind()ится к
4940 пересекающимся портам.
4941
4942 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4943 perl поддерживал потоки, то во время второй переконфигурации
4944 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
4945
4946 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4947
4948
4949 Изменения в nginx 0.5.22 29.05.2007
4950
4951 *) Исправление: большое тело запроса могло не передаваться бэкенду;
4952 ошибка появилась в 0.5.21.
4953
4954
4955 Изменения в nginx 0.5.21 28.05.2007
4956
4957 *) Исправление: если внутри сервера описано больше примерно десяти
4958 location'ов, то location'ы, заданные с помощью регулярного выражения,
4959 могли выполняться не в том, порядке, в каком они описаны.
4960
4961 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
4962 если 33-тий по счёту или последующий бэкенд упал.
4963 Спасибо Антону Поварову.
4964
4965 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
4966 произойти bus error.
4967 Спасибо Андрею Нигматулину.
4968
4969 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4970
4971
4972 Изменения в nginx 0.5.20 07.05.2007
4973
4974 *) Добавление: директива sendfile_max_chunk.
4975
4976 *) Добавление: переменные "$http_...", "$sent_http_..." и
4977 "$upstream_http_..." можно менять директивой set.
4978
4979 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
4980 рабочем процессе мог произойти segmentation fault.
4981
4982 *) Исправление: завершающая строка multipart range ответа передавалась
4983 неверно.
4984 Спасибо Evan Miller.
4985
4986 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
4987 Studio.
4988 Спасибо Андрею Нигматулину.
4989
4990 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
4991 Спасибо Андрею Нигматулину.
4992
4993
4994 Изменения в nginx 0.5.19 24.04.2007
4995
4996 *) Изменение: значение переменной $request_time теперь записывается с
4997 точностью до миллисекунд.
4998
4999 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
5000 переименован в $r->flush.
5001
5002 *) Добавление: переменная $upstream_addr.
5003
5004 *) Добавление: директивы proxy_headers_hash_max_size и
5005 proxy_headers_hash_bucket_size.
5006 Спасибо Володымыру Костырко.
5007
5008 *) Исправление: при использовании sendfile и limit_rate на 64-битных
5009 платформах нельзя было передавать файлы больше 2G.
5010
5011 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
5012 было передавать файлы больше 2G.
5013
5014
5015 Изменения в nginx 0.5.18 19.04.2007
5016
5017 *) Добавление: модуль ngx_http_sub_filter_module.
5018
5019 *) Добавление: переменные "$upstream_http_...".
5020
5021 *) Добавление: теперь переменные $upstream_status и
5022 $upstream_response_time содержат данные о всех обращениях к
5023 апстримам, сделанным до X-Accel-Redirect.
5024
5025 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
5026 perl не поддерживал multiplicity, то после первой переконфигурации и
5027 после получения любого сигнала в основном процессе происходил
5028 segmentation fault; ошибка появилась в 0.5.9.
5029
5030 *) Исправление: если perl не поддерживал multiplicity, то после
5031 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
5032
5033
5034 Изменения в nginx 0.5.17 02.04.2007
5035
5036 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
5037
5038 *) Добавление: теперь nginx поддерживает директиву include внутри блока
5039 types.
5040
5041 *) Исправление: использование переменной $document_root в директиве root
5042 и alias запрещено: оно вызывало рекурсивное переполнение стека.
5043
5044 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5045
5046 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
5047 $uri) возвращали старое закэшированное значение.
5048
5049
5050 Изменения в nginx 0.5.16 26.03.2007
5051
5052 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
5053 использовалась сеть класса С.
5054 Спасибо Павлу Ярковому.
5055
5056 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
5057 был указан charset и строка завершалась символом ";", то в рабочем
5058 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
5059
5060 *) Исправление: ошибки "[alert] zero size buf" при работе с
5061 FastCGI-сервером, если тело запроса, записанное во временный файл,
5062 было кратно 32K.
5063
5064 *) Исправление: nginx не собирался на Solaris без параметра
5065 --with-debug; ошибка появилась в 0.5.15.
5066
5067
5068 Изменения в nginx 0.5.15 19.03.2007
5069
5070 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
5071 SMTP-проксирование и директивы smtp_auth, smtp_capabilities и
5072 xclient.
5073 Спасибо Антону Южанинову и Максиму Дунину.
5074
5075 *) Добавление: теперь keep-alive соединения закрываются сразу же по
5076 получении сигнала переконфигурации.
5077
5078 *) Изменение: директивы imap и auth переименованы соответственно в mail
5079 и pop3_auth.
5080
5081 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
5082 был разрешён метод APOP, то в рабочем процессе происходил
5083 segmentation fault.
5084
5085 *) Исправление: при использовании директивы starttls only в протоколе
5086 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
5087
5088 *) Исправление: рабочие процессы не выходили после переконфигурации и не
5089 переоткрывали логи, если использовался метод eventport.
5090
5091 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
5092 зациклиться.
5093
5094 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
5095 используются методы eventport или /dev/poll.
5096
5097
5098 Изменения в nginx 0.5.14 23.02.2007
5099
5100 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
5101 конфигурационного файла.
5102
5103
5104 Изменения в nginx 0.5.13 19.02.2007
5105
5106 *) Добавление: методы COPY и MOVE.
5107
5108 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
5109 запросов, переданных по keep-alive соединению.
5110
5111 *) Исправление: nginx не работал на 64-битном big-endian Linux.
5112 Спасибо Андрею Нигматулину.
5113
5114 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
5115 теперь сразу закрывает соединение, а не по таймауту.
5116
5117 *) Исправление: если при использовании метода epoll клиент закрывал
5118 преждевременно соединение со своей стороны, то nginx закрывал это
5119 соединение только по истечении таймаута на передачу.
5120
5121 *) Исправление: nginx не собирался на платформах, отличных от i386,
5122 amd64, sparc и ppc; ошибка появилась в 0.5.8.
5123
5124
5125 Изменения в nginx 0.5.12 12.02.2007
5126
5127 *) Исправление: nginx не собирался на платформах, отличных от i386,
5128 amd64, sparc и ppc; ошибка появилась в 0.5.8.
5129
5130 *) Исправление: при использовании временных файлов в время работы с
5131 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
5132 ошибка появилась в 0.5.8.
5133
5134 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
5135 то в рабочем процессе мог произойти segmentation fault.
5136
5137 *) Исправление: ngx_http_perl_module не собирался на Solaris.
5138
5139
5140 Изменения в nginx 0.5.11 05.02.2007
5141
5142 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
5143 Спасибо Chris McGrath.
5144
5145 *) Исправление: ответ был неверным, если запрашивалось несколько
5146 диапазонов; ошибка появилась в 0.5.6.
5147
5148 *) Исправление: директива create_full_put_path не могла создавать
5149 промежуточные каталоги, если не была установлена директива
5150 dav_access.
5151 Спасибо Evan Miller.
5152
5153 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
5154 записываться код "0".
5155
5156 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5157 произойти segmentation fault.
5158
5159
5160 Изменения в nginx 0.5.10 26.01.2007
5161
5162 *) Исправление: во время обновления исполняемого файла новый процесс не
5163 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
5164
5165 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
5166 произойти segmentation fault; ошибка появилась в 0.5.1.
5167
5168
5169 Изменения в nginx 0.5.9 25.01.2007
5170
5171 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
5172 использует значение переменной $memcached_key.
5173
5174 *) Добавление: переменная $memcached_key.
5175
5176 *) Добавление: параметр clean в директиве client_body_in_file_only.
5177
5178 *) Добавление: директива env.
5179
5180 *) Добавление: директива sendfile работает внутри блока if.
5181
5182 *) Добавление: теперь при ошибке записи в access_log nginx записывает
5183 сообщение в error_log, но не чаще одного раза в минуту.
5184
5185 *) Исправление: директива "access_log off" не всегда запрещала запись в
5186 лог.
5187
5188
5189 Изменения в nginx 0.5.8 19.01.2007
5190
5191 *) Исправление: если использовалась директива
5192 "client_body_in_file_only on" и тело запроса было небольшое, то мог
5193 произойти segmentation fault.
5194
5195 *) Исправление: происходил segmentation fault, если использовались
5196 директивы "client_body_in_file_only on" и
5197 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
5198 делался переход к следующему бэкенду.
5199
5200 *) Исправление: если при использовании директивы "proxy_buffering off"
5201 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
5202 заданному директивой send_timeout; ошибка появилась в 0.4.7.
5203
5204 *) Исправление: если при использовании метода epoll клиент закрывал
5205 преждевременно соединение со своей стороны, то nginx закрывал это
5206 соединение только по истечении таймаута на передачу.
5207
5208 *) Исправление: ошибки "[alert] zero size buf" при работе с
5209 FastCGI-сервером.
5210
5211 *) Исправление ошибок в директиве limit_zone.
5212
5213
5214 Изменения в nginx 0.5.7 15.01.2007
5215
5216 *) Добавление: оптимизация использования памяти в ssl_session_cache.
5217
5218 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
5219
5220 *) Исправление: на старте или во время переконфигурации происходил
5221 segmentation fault, если директивы ssl_session_cache или limit_zone
5222 использовались на 64-битных платформах.
5223
5224 *) Исправление: при использовании директив add_before_body или
5225 add_after_body происходил segmentation fault, если в заголовке ответа
5226 нет строки "Content-Type".
5227
5228 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
5229 потоков.
5230 Спасибо Дену Иванову.
5231
5232 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
5233
5234
5235 Изменения в nginx 0.5.6 09.01.2007
5236
5237 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
5238 кроме GET, HEAD и POST.
5239
5240 *) Добавление: модуль ngx_http_limit_zone_module.
5241
5242 *) Добавление: переменная $binary_remote_addr.
5243
5244 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
5245 ngx_imap_ssl_module.
5246
5247 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
5248
5249 *) Исправление: при использовании $r->sendfile() byte-ranges
5250 передавались неверно.
5251
5252
5253 Изменения в nginx 0.5.5 24.12.2006
5254
5255 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
5256
5257 *) Добавление: ключ -V.
5258
5259 *) Добавление: директива worker_rlimit_core поддерживает указание
5260 размера в K, M и G.
5261
5262 *) Исправление: модуль nginx.pm теперь может устанавливаться
5263 непривилегированным пользователем.
5264
5265 *) Исправление: при использовании методов $r->request_body или
5266 $r->request_body_file мог произойти segmentation fault.
5267
5268 *) Исправление: ошибок, специфичных для платформы ppc.
5269
5270
5271 Изменения в nginx 0.5.4 15.12.2006
5272
5273 *) Добавление: директиву perl можно использовать внутри блока
5274 limit_except.
5275
5276 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
5277 заголовке запроса для метода DELETE.
5278
5279 *) Исправление: при использовании одного параметра в директиве
5280 dav_access nginx мог сообщить об ошибке в конфигурации.
5281
5282 *) Исправление: при использовании переменной $host мог произойти
5283 segmentation fault; ошибка появилась в 0.4.14.
5284
5285
5286 Изменения в nginx 0.5.3 13.12.2006
5287
5288 *) Добавление: модуль ngx_http_perl_module поддерживает методы
5289 $r->status, $r->log_error и $r->sleep.
5290
5291 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
5292 конфигурации nginx'а.
5293
5294 *) Исправление: метод $r->has_request_body не работал.
5295
5296
5297 Изменения в nginx 0.5.2 11.12.2006
5298
5299 *) Исправление: если в директивах proxy_pass использовалось имя,
5300 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
5301 ошибка появилась в 0.5.1.
5302
5303
5304 Изменения в nginx 0.5.1 11.12.2006
5305
5306 *) Исправление: директива post_action могла не работать после неудачного
5307 завершения запроса.
5308
5309 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
5310 Спасибо Bron Gondwana.
5311
5312 *) Исправление: при указании в директиве fastcgi_pass имени описанного
5313 upstream'а выдавалось сообщение "no port in upstream"; ошибка
5314 появилась в 0.5.0.
5315
5316 *) Исправление: если в директивах proxy_pass и fastcgi_pass
5317 использовались одинаковых имена серверов, но с разными портами, то
5318 эти директивы использовали первый описанный порт; ошибка появилась в
5319 0.5.0.
5320
5321 *) Исправление: если в директивах proxy_pass и fastcgi_pass
5322 использовались unix domain сокеты, то эти директивы использовали
5323 первый описанный сокет; ошибка появилась в 0.5.0.
5324
5325 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
5326 если он был указан в последней строке файла паролей и после пароля не
5327 было перевода строки, возврата каретки или символа ":".
5328
5329 *) Исправление: переменная $upstream_response_time могла быть равна
5330 "0.000", хотя время обработки было больше 1 миллисекунды.
5331
5332
5333 Изменения в nginx 0.5.0 04.12.2006
5334
5335 *) Изменение: параметры в виде "%name" в директиве log_format больше не
5336 поддерживаются.
5337
5338 *) Изменение: директивы proxy_upstream_max_fails,
5339 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
5340 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
5341 memcached_upstream_fail_timeout больше не поддерживаются.
5342
5343 *) Добавление: директива server в блоке upstream поддерживает параметры
5344 max_fails, fail_timeout и down.
5345
5346 *) Добавление: директива ip_hash в блоке upstream.
5347
5348 *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
5349 сервера аутентификации IMAP/POP3 прокси.
5350
5351 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
5352 появилась в 0.4.14.
5353
5354
5355 Изменения в nginx 0.4.14 27.11.2006
5356
5357 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
5358
5359 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
5360 Linux и NetBSD.
5361
5362 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
5363 поддержкой потоков; ошибка появилась в 0.3.38.
5364
5365 *) Исправление: ngx_http_perl_module не работал корректно, если перл
5366 вызывался рекурсивно.
5367
5368 *) Исправление: nginx игнорировал имя сервера в строке запроса.
5369
5370 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
5371 процесс мог зациклиться.
5372
5373 *) Исправление: при изменении системного времени переменная
5374 $upstream_response_time могла быть отрицательной.
5375
5376 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
5377 прокси не передавался параметр Auth-Login-Attempt.
5378
5379 *) Исправление: при ошибке соединения с сервером аутентификации
5380 IMAP/POP3 прокси мог произойти segmentation fault.
5381
5382
5383 Изменения в nginx 0.4.13 15.11.2006
5384
5385 *) Добавление: директиву proxy_pass можно использовать внутри блока
5386 limit_except.
5387
5388 *) Добавление: директива limit_except поддерживает все WebDAV методы.
5389
5390 *) Исправление: при использовании директивы add_before_body без
5391 директивы add_after_body ответ передавался не полностью.
5392
5393 *) Исправление: большое тело запроса не принималось, если использовались
5394 метод epoll и deferred accept().
5395
5396 *) Исправление: для ответов модуля ngx_http_autoindex_module не
5397 выставлялась кодировка; ошибка появилась в 0.3.50.
5398
5399 *) Исправление: ошибки "[alert] zero size buf" при работе с
5400 FastCGI-сервером;
5401
5402 *) Исправление: параметр конфигурации --group= игнорировался.
5403 Спасибо Thomas Moschny.
5404
5405 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
5406 в 0.3.50.
5407
5408
5409 Изменения в nginx 0.4.12 31.10.2006
5410
5411 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5412 $r->variable.
5413
5414 *) Исправление: при включении в ответ большого статического файла с
5415 помощью SSI ответ мог передаваться не полностью.
5416
5417 *) Исправление: nginx не убирал "#fragment" в URI.
5418
5419
5420 Изменения в nginx 0.4.11 25.10.2006
5421
5422 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
5423
5424 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5425 $r->allow_ranges.
5426
5427 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
5428 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
5429
5430
5431 Изменения в nginx 0.4.10 23.10.2006
5432
5433 *) Добавление: POP3 прокси поддерживает APOP.
5434
5435 *) Исправление: при использовании методов select, poll и /dev/poll во
5436 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
5437 нагружал процессор.
5438
5439 *) Исправление: при использовании переменной $server_addr в директиве
5440 map мог произойти segmentation fault.
5441
5442 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
5443 для полных ответов; ошибка появилась в 0.4.7.
5444
5445 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
5446 0.4.9.
5447
5448
5449 Изменения в nginx 0.4.9 13.10.2006
5450
5451 *) Добавление: параметр set в команде SSI include.
5452
5453 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
5454 модуля nginx.pm.
5455
5456
5457 Изменения в nginx 0.4.8 11.10.2006
5458
5459 *) Исправление: если до команды SSI include с параметром wait
5460 выполнялась ещё одна команда SSI include, то параметр wait мог не
5461 работать.
5462
5463 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
5464 полных ответов.
5465 Спасибо Алексею Ковырину.
5466
5467
5468 Изменения в nginx 0.4.7 10.10.2006
5469
5470 *) Добавление: модуль ngx_http_flv_module.
5471
5472 *) Добавление: переменная $request_body_file.
5473
5474 *) Добавление: директивы charset и source_charset поддерживают
5475 переменные.
5476
5477 *) Исправление: если до команды SSI include с параметром wait
5478 выполнялась ещё одна команда SSI include, то параметр wait мог не
5479 работать.
5480
5481 *) Исправление: при использовании директивы "proxy_buffering off" или
5482 при работе с memcached соединения могли не закрываться по таймауту.
5483
5484 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
5485 amd64, sparc64 и ppc64.
5486
5487
5488 Изменения в nginx 0.4.6 06.10.2006
5489
5490 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
5491 amd64, sparc64 и ppc64.
5492
5493 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
5494 chunk'ами, если длина ответа в методе
5495 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
5496
5497 *) Исправление: после перенаправления ошибки с помощью директивы
5498 error_page любая директива модуля ngx_http_rewrite_module возвращала
5499 эту ошибку; ошибка появилась в 0.4.4.
5500
5501
5502 Изменения в nginx 0.4.5 02.10.2006
5503
5504 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
5505 в 0.4.4.
5506
5507
5508 Изменения в nginx 0.4.4 02.10.2006
5509
5510 *) Добавление: переменная $scheme.
5511
5512 *) Добавление: директива expires поддерживает параметр max.
5513
5514 *) Добавление: директива include поддерживает маску "*".
5515 Спасибо Jonathan Dance.
5516
5517 *) Исправление: директива return всегда изменяла код ответа,
5518 перенаправленного директивой error_page.
5519
5520 *) Исправление: происходил segmentation fault, если в методе PUT
5521 передавалось тело нулевой длины.
5522
5523 *) Исправление: при использовании переменных в директиве proxy_redirect
5524 редирект изменялся неверно.
5525
5526
5527 Изменения в nginx 0.4.3 26.09.2006
5528
5529 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
5530 error_page.
5531
5532 *) Добавление: поддержка Solaris 10 event ports.
5533
5534 *) Добавление: модуль ngx_http_browser_module.
5535
5536 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
5537 помощью директивы error_page мог произойти segmentation fault.
5538
5539 *) Исправление: происходил segmentation fault, если в директиве
5540 proxy_pass использовался unix domain сокет; ошибка появилась в
5541 0.3.47.
5542
5543 *) Исправление: SSI не работал с ответами memcached и
5544 небуферизированными проксированными ответами.
5545
5546 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
5547
5548
5549 Изменения в nginx 0.4.2 14.09.2006
5550
5551 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
5552 появилась в 0.4.1.
5553
5554
5555 Изменения в nginx 0.4.1 14.09.2006
5556
5557 *) Исправление: совместимость с DragonFlyBSD.
5558 Спасибо Павлу Назарову.
5559
5560 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
5561 файлов больше 2G.
5562
5563 *) Добавление: теперь на Linux nginx для статических запросов использует
5564 флаг O_NOATIME.
5565 Спасибо Yusuf Goolamabbas.
5566
5567
5568 Изменения в nginx 0.4.0 30.08.2006
5569
5570 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
5571 фазы init module в фазу HTTP postconfiguration.
5572
5573 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
5574 считывается заранее: нужно явно инициировать чтение с помощью метода
5575 $r->has_request_body.
5576
5577 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
5578 DECLINED.
5579
5580 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
5581 заголовка "Date" для метода PUT.
5582
5583 *) Добавление: директива ssi работает внутри блока if.
5584
5585 *) Исправление: происходил segmentation fault, если в директиве index
5586 использовалась переменные и при этом первое имя индексного файла было
5587 без переменных; ошибка появилась в 0.1.29.
5588
5589
5590 Изменения в nginx 0.3.61 28.08.2006
5591
5592 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
5593
5594 *) Добавление: директива msie_refresh.
5595
5596 *) Добавление: директива recursive_error_pages.
5597
5598 *) Исправление: директива rewrite возвращала неправильный редирект, если
5599 редирект включал в себя выделенные закодированные символы из
5600 оригинального URI.
5601
5602
5603 Изменения в nginx 0.3.60 18.08.2006
5604
5605 *) Исправление: во время перенаправления ошибки рабочий процесс мог
5606 зациклиться; ошибка появилась в 0.3.59.
5607
5608
5609 Изменения в nginx 0.3.59 16.08.2006
5610
5611 *) Добавление: теперь можно делать несколько перенаправлений через
5612 директиву error_page.
5613
5614 *) Исправление: директива dav_access не поддерживала три параметра.
5615
5616 *) Исправление: директива error_page не изменяла строку "Content-Type"
5617 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
5618 в 0.3.58.
5619
5620
5621 Изменения в nginx 0.3.58 14.08.2006
5622
5623 *) Добавление: директива error_page поддерживает переменные.
5624
5625 *) Изменение: теперь на Linux используется интерфейс procfs вместо
5626 sysctl.
5627
5628 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
5629 "Content-Type" наследуется из первоначального ответа.
5630
5631 *) Исправление: директива error_page не перенаправляла ошибку 413.
5632
5633 *) Исправление: завершающий "?" не удалял старые аргументы, если в
5634 переписанном URI не было новых аргументов.
5635
5636 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
5637
5638
5639 Изменения в nginx 0.3.57 09.08.2006
5640
5641 *) Добавление: переменная $ssl_client_serial.
5642
5643 *) Исправление: в операторе "!-e" в директиве if.
5644 Спасибо Андриану Буданцову.
5645
5646 *) Исправление: при проверке клиентского сертификата nginx не передавал
5647 клиенту информацию о требуемых сертификатах.
5648
5649 *) Исправление: переменная $document_root не поддерживала переменные в
5650 директиве root.
5651
5652
5653 Изменения в nginx 0.3.56 04.08.2006
5654
5655 *) Добавление: директива dav_access.
5656
5657 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
5658 "!-e", "-x" и "!-x".
5659
5660 *) Исправление: при записи в access_log некоторых передаваемых клиенту
5661 строк заголовков происходил segmentation fault, если запрос возвращал
5662 редирект.
5663
5664
5665 Изменения в nginx 0.3.55 28.07.2006
5666
5667 *) Добавление: параметр stub в команде SSI include.
5668
5669 *) Добавление: команда SSI block.
5670
5671 *) Добавление: скрипт unicode2nginx добавлен в contrib.
5672
5673 *) Исправление: если root был задан только переменной, то корень
5674 задавался относительно префикса сервера.
5675
5676 *) Исправление: если в запросе был "//" или "/.", и после этого
5677 закодированные символы в виде "%XX", то проксируемый запрос
5678 передавался незакодированным.
5679
5680 *) Исправление: метод $r->header_in("Cookie") модуля
5681 ngx_http_perl_module теперь возвращает все строки "Cookie" в
5682 заголовке запроса.
5683
5684 *) Исправление: происходил segmentation fault, если использовался
5685 "client_body_in_file_only on" и делался переход к следующему бэкенду.
5686
5687 *) Исправление: при некоторых условиях во время переконфигурации коды
5688 символов внутри директивы charset_map могли считаться неверными;
5689 ошибка появилась в 0.3.50.
5690
5691
5692 Изменения в nginx 0.3.54 11.07.2006
5693
5694 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
5695
5696 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
5697 memcached_next_upstream поддерживают параметр off.
5698
5699 *) Добавление: директива debug_connection поддерживает запись адресов в
5700 формате CIDR.
5701
5702 *) Исправление: при перекодировании ответа проксированного сервера или
5703 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
5704 полностью.
5705
5706 *) Исправление: переменная $upstream_response_time содержала время
5707 только первого обращения к бэкенду.
5708
5709 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
5710 в 0.3.53.
5711
5712
5713 Изменения в nginx 0.3.53 07.07.2006
5714
5715 *) Изменение: директива add_header добавляет строки в ответы с кодом
5716 204, 301 и 302.
5717
5718 *) Добавление: директива server в блоке upstream поддерживает параметр
5719 weight.
5720
5721 *) Добавление: директива server_name поддерживает маску "*".
5722
5723 *) Добавление: nginx поддерживает тело запроса больше 2G.
5724
5725 *) Исправление: если при использовании "satisfy_any on" клиент успешно
5726 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
5727 forbidden by rule".
5728
5729 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
5730 409.
5731
5732 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
5733 ошибку, nginx продолжал проксирование.
5734
5735
5736 Изменения в nginx 0.3.52 03.07.2006
5737
5738 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
5739 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
5740 ошибку 405.
5741
5742 *) Исправление: при использовании ограничения скорости рабочий процесс
5743 мог зациклиться; ошибка появилась в 0.3.37.
5744
5745 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
5746 "unknown charset", даже если перекодировка не требовалась; ошибка
5747 появилась в 0.3.50.
5748
5749 *) Исправление: если в результате запроса PUT возвращался код 409, то
5750 временный файл не удалялся.
5751
5752
5753 Изменения в nginx 0.3.51 30.06.2006
5754
5755 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
5756 ошибка появилась в 0.3.50.
5757
5758
5759 Изменения в nginx 0.3.50 28.06.2006
5760
5761 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
5762 переименованы соответственно в proxy_intercept_errors и
5763 fastcgi_intercept_errors.
5764
5765 *) Добавление: модуль ngx_http_charset_module поддерживает
5766 перекодирование из однобайтных кодировок в UTF-8 и обратно.
5767
5768 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5769 "X-Accel-Charset" в ответе бэкенда.
5770
5771 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
5772 только если также использовался символ "$".
5773
5774 *) Исправление: при некоторых условиях в SSI после вставки могла быть
5775 добавлена строка "<!--".
5776
5777 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
5778 то при использовании небуферизированного проксировании не закрывалось
5779 соединение с клиентом.
5780
5781
5782 Изменения в nginx 0.3.49 31.05.2006
5783
5784 *) Исправление: в директиве set.
5785
5786 *) Исправление: при включении в ssi двух и более подзапросов,
5787 обрабатываемых через FastCGI, вместо вывода второго и остальных
5788 подзапросов в ответ включался вывод первого подзапроса.
5789
5790
5791 Изменения в nginx 0.3.48 29.05.2006
5792
5793 *) Изменение: теперь модуль ngx_http_charset_module работает для
5794 подзапросов, в ответах которых нет строки заголовка "Content-Type".
5795
5796 *) Исправление: если в директиве proxy_pass не было URI, то директива
5797 "proxy_redirect default" добавляла в переписанный редирект в начало
5798 лишний слэш.
5799
5800 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
5801 GET, теперь это делается только для редиректов, выполняемых с помощью
5802 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
5803 0.3.42.
5804
5805 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
5806 с поддержкой потоков; ошибка появилась в 0.3.46.
5807
5808
5809 Изменения в nginx 0.3.47 23.05.2006
5810
5811 *) Добавление: директива upstream.
5812
5813 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
5814 всегда убирается.
5815
5816
5817 Изменения в nginx 0.3.46 11.05.2006
5818
5819 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
5820 fastcgi_hide_header и fastcgi_pass_header.
5821
5822 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
5823 proxy_pass_server упразднены.
5824
5825 *) Добавление: в режиме прокси поддерживается строка заголовка
5826 "X-Accel-Buffering" в ответе бэкенда.
5827
5828 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
5829 ngx_http_perl_module.
5830
5831
5832 Изменения в nginx 0.3.45 06.05.2006
5833
5834 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
5835 ssl_client_certificate.
5836
5837 *) Изменение: теперь переменная $request_method возвращает метод только
5838 основного запроса.
5839
5840 *) Изменение: в таблице перекодировки koi-win изменены коды символа
5841 &deg;.
5842
5843 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
5844 номера.
5845
5846 *) Исправление: если nginx распределял запросы на несколько машин, то
5847 при падении одной из них запросы, предназначенные для этой машины,
5848 перенаправлялись только на одну машину вместо того, чтобы равномерно
5849 распределяться между остальными.
5850
5851
5852 Изменения в nginx 0.3.44 04.05.2006
5853
5854 *) Добавление: параметр wait в команде SSI include.
5855
5856 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
5857 белорусские символы.
5858
5859 *) Исправление: в SSI.
5860
5861
5862 Изменения в nginx 0.3.43 26.04.2006
5863
5864 *) Исправление: в SSI.
5865
5866
5867 Изменения в nginx 0.3.42 26.04.2006
5868
5869 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
5870
5871 *) Исправление: ошибки при использовании в директиве rewrite одного и
5872 того же выделения более одного раза.
5873
5874 *) Исправление: в лог не записывались переменные
5875 $sent_http_content_type, $sent_http_content_length,
5876 $sent_http_last_modified, $sent_http_connection,
5877 $sent_http_keep_alive и $sent_http_transfer_encoding.
5878
5879 *) Исправление: переменная $sent_http_cache_control возвращала
5880 содержимое только одной строки "Cache-Control" в заголовке ответа.
5881
5882
5883 Изменения в nginx 0.3.41 21.04.2006
5884
5885 *) Добавление: ключ -v.
5886
5887 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
5888 segmentation fault.
5889
5890 *) Исправление: в обработке FastCGI.
5891
5892 *) Исправление: если путь к перловым модулям не был указан с помощью
5893 --with-perl_modules_path=PATH или директивы perl_modules, то на
5894 старте происходил segmentation fault.
5895
5896
5897 Изменения в nginx 0.3.40 19.04.2006
5898
5899 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
5900
5901 *) Добавление: директива create_full_put_path.
5902
5903 *) Добавление: переменная $limit_rate.
5904
5905
5906 Изменения в nginx 0.3.39 17.04.2006
5907
5908 *) Добавление: директива uninitialized_variable_warn; уровень
5909 логгирования сообщения о неинициализированной переменной понижен с
5910 уровня alert на warn.
5911
5912 *) Добавление: директива override_charset.
5913
5914 *) Изменение: при использовании неизвестной переменной в SSI-командах
5915 echo и if expr='$name' теперь не записывается в лог сообщение о
5916 неизвестной переменной.
5917
5918 *) Исправление: счётчик активных соединений рос при превышении лимита
5919 соединений, заданного директивой worker_connections; ошибка появилась
5920 в 0.2.0.
5921
5922 *) Исправление: при некоторых условия ограничение скорости соединения
5923 могло не работать; ошибка появилась в 0.3.38.
5924
5925
5926 Изменения в nginx 0.3.38 14.04.2006
5927
5928 *) Добавление: модуль ngx_http_dav_module.
5929
5930 *) Изменение: оптимизация модуля ngx_http_perl_module.
5931 Спасибо Сергею Скворцову.
5932
5933 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5934 $r->request_body_file.
5935
5936 *) Добавление: директива client_body_in_file_only.
5937
5938 *) Изменение: теперь при переполнении диска nginx пытается писать
5939 access_log'и только раз в секунду.
5940 Спасибо Антону Южанинову и Максиму Дунину.
5941
5942 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
5943 при значениях больше 100 Kbyte/s.
5944 Спасибо ForJest.
5945
5946 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
5947 символы "\r" и "\n" в логине и пароле в закодированном виде.
5948 Спасибо Максиму Дунину.
5949
5950
5951 Изменения в nginx 0.3.37 07.04.2006
5952
5953 *) Добавление: директива limit_except.
5954
5955 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
5956 "!-f".
5957
5958 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5959 $r->request_body.
5960
5961 *) Исправление: в модуле ngx_http_addition_filter_module.
5962
5963
5964 Изменения в nginx 0.3.36 05.04.2006
5965
5966 *) Добавление: модуль ngx_http_addition_filter_module.
5967
5968 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
5969 внутри блока if.
5970
5971 *) Добавление: директивы proxy_ignore_client_abort и
5972 fastcgi_ignore_client_abort.
5973
5974 *) Добавление: переменная $request_completion.
5975
5976 *) Добавление: модуль ngx_http_perl_module поддерживает методы
5977 $r->request_method и $r->remote_addr.
5978
5979 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
5980
5981 *) Исправление: строка "\/" в начале выражения команды if модуля
5982 ngx_http_ssi_module воспринималась неверно.
5983
5984 *) Исправление: в использовании регулярных выражениях в команде if
5985 модуля ngx_http_ssi_module.
5986
5987 *) Исправление: при задании относительного пути в директивах
5988 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
5989 perl_modules использовался каталог относительно текущего каталога, а
5990 не относительно префикса сервера.
5991
5992
5993 Изменения в nginx 0.3.35 22.03.2006
5994
5995 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
5996 для первой директивы listen; ошибка появилась в 0.3.31.
5997
5998 *) Исправление: в директиве proxy_pass без URI при использовании в
5999 подзапросе.
6000
6001
6002 Изменения в nginx 0.3.34 21.03.2006
6003
6004 *) Добавление: директива add_header поддерживает переменные.
6005
6006
6007 Изменения в nginx 0.3.33 15.03.2006
6008
6009 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
6010 fastcgi_next_upstream.
6011
6012 *) Исправление: ngx_http_perl_module не работал со встроенным в
6013 конфигурационный файл кодом, если он не начинался сразу же с "sub".
6014
6015 *) Исправление: в директиве post_action.
6016
6017
6018 Изменения в nginx 0.3.32 11.03.2006
6019
6020 *) Исправление: удаление отладочного логгирования на старте и при
6021 переконфигурации; ошибка появилась в 0.3.31.
6022
6023
6024 Изменения в nginx 0.3.31 10.03.2006
6025
6026 *) Изменение: теперь nginx передаёт неверные ответы проксированного
6027 бэкенда.
6028
6029 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
6030
6031 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
6032
6033 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
6034 64-битном ядре MacOSX.
6035 Спасибо Андрею Нигматулину.
6036
6037 *) Исправление: если внутри одного сервера описаны несколько директив
6038 listen, слушающих на разных адресах, то имена серверов вида
6039 "*.domain.tld" работали только для первого адреса; ошибка появилась в
6040 0.3.18.
6041
6042 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6043 не передавались запросы с телом, записанным во временный файл.
6044
6045 *) Исправление: совместимость с perl 5.8.8.
6046
6047
6048 Изменения в nginx 0.3.30 22.02.2006
6049
6050 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
6051 с уровня crit.
6052
6053 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
6054 ngx_http_ssi_filter_module.
6055
6056 *) Исправление: nginx не собирался на i386 платформе, если использовался
6057 PIC; ошибка появилась в 0.3.27.
6058
6059
6060 Изменения в nginx 0.3.29 20.02.2006
6061
6062 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
6063 FastCGI передаёт большое количество предупреждений перед ответом.
6064
6065 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
6066 строка заголовка "Transfer-Encoding: chunked".
6067
6068 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
6069 передавал полные строки заголовка ответа в отдельных FastCGI записях.
6070
6071 *) Исправление: если в директиве post_action был указан проксируемый
6072 URI, то он выполнялся только после успешного завершения запроса.
6073
6074
6075 Изменения в nginx 0.3.28 16.02.2006
6076
6077 *) Добавление: директива restrict_host_names упразднена.
6078
6079 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
6080
6081 *) Исправление: при некоторых условиях проксированное соединение с
6082 клиентом завершалось преждевременно.
6083 Спасибо Владимиру Шутову.
6084
6085 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
6086 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
6087
6088 *) Исправление: директива post_action работала только после успешного
6089 завершения запроса.
6090
6091 *) Исправление: тело проксированного ответа, создаваемого директивой
6092 post_action, передавалось клиенту.
6093
6094
6095 Изменения в nginx 0.3.27 08.02.2006
6096
6097 *) Изменение: директивы variables_hash_max_size и
6098 variables_hash_bucket_size.
6099
6100 *) Добавление: переменная $body_bytes_sent доступна не только в
6101 директиве log_format.
6102
6103 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
6104
6105 *) Добавление: определение размера строки кэша распространённых
6106 процессоров при старте.
6107
6108 *) Добавление: директива accept_mutex теперь поддерживается посредством
6109 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
6110
6111 *) Добавление: директива lock_file и параметр автоконфигурации
6112 --with-lock-path=PATH.
6113
6114 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6115 не передавались запросы с телом.
6116
6117
6118 Изменения в nginx 0.3.26 03.02.2006
6119
6120 *) Изменение: директива optimize_host_names переименована в
6121 optimize_server_names.
6122
6123 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
6124 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
6125
6126
6127 Изменения в nginx 0.3.25 01.02.2006
6128
6129 *) Исправление: при неверной конфигурации на старте или во время
6130 переконфигурации происходил segmentation fault; ошибка появилась в
6131 0.3.24.
6132
6133
6134 Изменения в nginx 0.3.24 01.02.2006
6135
6136 *) Изменение: обход ошибки в kqueue во FreeBSD.
6137
6138 *) Исправление: ответ, создаваемый директивой post_action, теперь не
6139 передаётся клиенту.
6140
6141 *) Исправление: при использовании большого количества лог-файлов
6142 происходила утечка памяти.
6143
6144 *) Исправление: внутри одного location работала только первая директива
6145 proxy_redirect.
6146
6147 *) Исправление: на 64-битных платформах при старте мог произойти
6148 segmentation fault, если использовалось большое количество имён в
6149 директивах server_name; ошибка появилась в 0.3.18.
6150
6151
6152 Изменения в nginx 0.3.23 24.01.2006
6153
6154 *) Добавление: директива optimize_host_names.
6155
6156 *) Исправление: ошибки при использовании переменных в директивах path и
6157 alias.
6158
6159 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
6160 Linux и Solaris.
6161
6162
6163 Изменения в nginx 0.3.22 17.01.2006
6164
6165 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
6166 и $r->unescape.
6167
6168 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
6169 упразднён.
6170
6171 *) Исправление: если в директиве valid_referers указаны только none или
6172 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
6173
6174
6175 Изменения в nginx 0.3.21 16.01.2006
6176
6177 *) Добавление: модуль ngx_http_perl_module.
6178
6179 *) Изменение: директива valid_referers разрешает использовать рефереры
6180 совсем без URI.
6181
6182
6183 Изменения в nginx 0.3.20 11.01.2006
6184
6185 *) Исправление: ошибки в обработке SSI.
6186
6187 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
6188 виде /uri?args.
6189
6190
6191 Изменения в nginx 0.3.19 28.12.2005
6192
6193 *) Добавление: директивы path и alias поддерживают переменные.
6194
6195 *) Изменение: теперь директива valid_referers опять учитывает URI.
6196
6197 *) Исправление: ошибки в обработке SSI.
6198
6199
6200 Изменения в nginx 0.3.18 26.12.2005
6201
6202 *) Добавление: директива server_names поддерживает имена вида
6203 ".domain.tld".
6204
6205 *) Добавление: директива server_names использует хэш для имён вида
6206 "*.domain.tld" и более эффективный хэш для обычных имён.
6207
6208 *) Изменение: директивы server_names_hash_max_size и
6209 server_names_hash_bucket_size.
6210
6211 *) Изменение: директивы server_names_hash и server_names_hash_threshold
6212 упразднены.
6213
6214 *) Добавление: директива valid_referers использует хэш для имён сайтов.
6215
6216 *) Изменение: теперь директива valid_referers проверяет только имена
6217 сайтов без учёта URI.
6218
6219 *) Исправление: некоторые имена вида ".domain.tld" неверно
6220 обрабатывались модулем ngx_http_map_module.
6221
6222 *) Исправление: если конфигурационного файла не было, то происходил
6223 segmentation fault; ошибка появилась в 0.3.12.
6224
6225 *) Исправление: на 64-битных платформах при старте мог произойти
6226 segmentation fault; ошибка появилась в 0.3.16.
6227
6228
6229 Изменения в nginx 0.3.17 18.12.2005
6230
6231 *) Изменение: на Linux configure теперь проверяет наличие epoll и
6232 sendfile64() в ядре.
6233
6234 *) Добавление: директива map поддерживает доменные имена в формате
6235 ".domain.tld".
6236
6237 *) Исправление: во время SSL handshake не иcпользовались таймауты;
6238 ошибка появилась в 0.2.4.
6239
6240 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
6241
6242 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
6243 по умолчанию использовался порт 80.
6244
6245
6246 Изменения в nginx 0.3.16 16.12.2005
6247
6248 *) Добавление: модуль ngx_http_map_module.
6249
6250 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
6251
6252 *) Добавление: директива ssi_value_length.
6253
6254 *) Добавление: директива worker_rlimit_core.
6255
6256 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
6257 Pentium 4 номер соединения в логах всегда был равен 1.
6258
6259 *) Исправление: команда config timefmt в SSI задавала неверный формат
6260 времени.
6261
6262 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
6263 использовании SSL соединений; ошибка появилась в 0.3.13.
6264 Спасибо Rob Mueller.
6265
6266 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
6267 ошибка появилась в 0.3.13.
6268
6269
6270 Изменения в nginx 0.3.15 07.12.2005
6271
6272 *) Добавление: новой код 444 в директиве return для закрытия соединения.
6273
6274 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
6275
6276 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
6277 соединений только при плавном выходе и включённой директиве
6278 debug_points.
6279
6280
6281 Изменения в nginx 0.3.14 05.12.2005
6282
6283 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
6284 в 0.3.13.
6285
6286
6287 Изменения в nginx 0.3.13 05.12.2005
6288
6289 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
6290
6291 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
6292 /dev/poll.
6293
6294 *) Исправление: ошибки в обработке SSI.
6295
6296 *) Исправление: sendfilev() в Solaris теперь не используется при
6297 передаче тела запроса FastCGI-серверу через unix domain сокет.
6298
6299 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
6300 появилась в 0.3.11.
6301
6302
6303 Изменения в nginx 0.3.12 26.11.2005
6304
6305 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
6306 то при использовании директивы "satisfy_any on" директивы доступа и
6307 аутентификации не работали. Модуль ngx_http_realip_module не
6308 собирался и не собирается по умолчанию.
6309
6310 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
6311
6312 *) Изменение: директивы proxy_header_buffer_size и
6313 fastcgi_header_buffer_size переименованы соответственно в
6314 proxy_buffer_size и fastcgi_buffer_size.
6315
6316 *) Добавление: модуль ngx_http_memcached_module.
6317
6318 *) Добавление: директива proxy_buffering.
6319
6320 *) Исправление: изменение в работе с accept mutex при использовании
6321 метода rtsig; ошибка появилась в 0.3.0.
6322
6323 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
6324 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
6325
6326 *) Исправление: при наследовании директивы auth_basic с уровня http в
6327 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
6328 "Basic realm".
6329
6330 *) Исправление: если в директиве access_log был явно указан формат
6331 combined, то в лог записывались пустые строки; ошибка появилась в
6332 0.3.8.
6333
6334 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
6335 Solaris.
6336
6337 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
6338 в кавычках и закрывающую скобку.
6339
6340
6341 Изменения в nginx 0.3.11 15.11.2005
6342
6343 *) Исправление: nginx не передавал при проксировании тело запроса и
6344 строки заголовка клиента; ошибка появилась в 0.3.10.
6345
6346
6347 Изменения в nginx 0.3.10 15.11.2005
6348
6349 *) Изменение: директива valid_referers и переменная $invalid_referer
6350 перенесены из модуля ngx_http_rewrite_module в новый модуль
6351 ngx_http_referer_module.
6352
6353 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
6354 "$body_bytes_sent".
6355
6356 *) Добавление: переменные "$sent_http_...".
6357
6358 *) Добавление: директива if поддерживает операции "=" и "!=".
6359
6360 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
6361
6362 *) Добавление: директива proxy_set_body.
6363
6364 *) Добавление: директива post_action.
6365
6366 *) Добавление: модуль ngx_http_empty_gif_module.
6367
6368 *) Добавление: директива worker_cpu_affinity для Linux.
6369
6370 *) Исправление: директива rewrite не раскодировала символы в редиректах
6371 в URI, теперь символы раскодируются, кроме символов %00-%25 и
6372 %7F-%FF.
6373
6374 *) Исправление: nginx не собирался компилятором icc 9.0.
6375
6376 *) Исправление: если для статического файла нулевого размера был
6377 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
6378
6379
6380 Изменения в nginx 0.3.9 10.11.2005
6381
6382 *) Исправление: nginx считал небезопасными URI, в которых между двумя
6383 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
6384
6385
6386 Изменения в nginx 0.3.8 09.11.2005
6387
6388 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
6389 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
6390 наличие путей "/../" и нулей.
6391
6392 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
6393 строке "Authorization" в заголовке запроса.
6394
6395 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
6396 и ngx_imap_ssl_module.
6397
6398 *) Добавление: директива auth_http_header модуля
6399 ngx_imap_auth_http_module.
6400
6401 *) Добавление: директива add_header.
6402
6403 *) Добавление: модуль ngx_http_realip_module.
6404
6405 *) Добавление: новые переменные для использования в директиве
6406 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
6407 $uri, $request_time, $request_length, $upstream_status,
6408 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
6409 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
6410 упразднены.
6411
6412 *) Изменение: в директиве "if" ложными значениями переменных теперь
6413 являются пустая строка "" и строки, начинающиеся на "0".
6414
6415 *) Исправление: при работает с проксированными или FastCGI-серверами
6416 nginx мог оставлять открытыми соединения и временные файлы с
6417 запросами клиентов.
6418
6419 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
6420 плавном выходе.
6421
6422 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
6423 запрос проксировался в location, заданном регулярным выражением, то
6424 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
6425
6426 *) Исправление: директива expires не удаляла уже установленную строку
6427 заголовка "Expires".
6428
6429 *) Исправление: при использовании метода rtsig и нескольких рабочих
6430 процессах nginx мог перестать принимать запросы.
6431
6432 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
6433 "\'".
6434
6435 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
6436 при использовании сжатия ответ передавался не до конца или не
6437 передавался вообще.
6438
6439
6440 Изменения в nginx 0.3.7 27.10.2005
6441
6442 *) Добавление: директива access_log поддерживает параметр buffer=.
6443
6444 *) Исправление: nginx не собирался на платформах, отличных от i386,
6445 amd64, sparc и ppc; ошибка появилась в 0.3.2.
6446
6447
6448 Изменения в nginx 0.3.6 24.10.2005
6449
6450 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
6451 пустой логин.
6452
6453 *) Добавление: директива log_format поддерживает переменные в виде
6454 $name.
6455
6456 *) Исправление: если хотя бы в одном сервере не было описано ни одной
6457 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
6458 0.3.3.
6459
6460 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
6461 использовался порт 80.
6462
6463
6464 Изменения в nginx 0.3.5 21.10.2005
6465
6466 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
6467 мог произойти segmentation fault; ошибка появилась в 0.2.2.
6468
6469 *) Исправление: accept mutex не работал, все соединения обрабатывались
6470 одним рабочим процессом; ошибка появилась в 0.3.3.
6471
6472 *) Исправление: при использовании метода rtsig и директивы
6473 timer_resolution не работали таймауты.
6474
6475
6476 Изменения в nginx 0.3.4 19.10.2005
6477
6478 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
6479 появилась в 0.3.3.
6480
6481
6482 Изменения в nginx 0.3.3 19.10.2005
6483
6484 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
6485 "backlog" и "accept_filter".
6486
6487 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
6488
6489 *) Изменение: параметр лога $msec теперь не требует дополнительного
6490 системного вызова gettimeofday().
6491
6492 *) Добавление: ключ -t теперь проверяет директивы listen.
6493
6494 *) Исправление: если в директиве listen был указан неверный адрес, то
6495 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
6496
6497 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
6498 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
6499
6500 *) Добавление: директива timer_resolution.
6501
6502 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
6503
6504 *) Исправление: временный файл с телом запроса клиента теперь удаляется
6505 сразу после того, как клиенту передан заголовок ответа.
6506
6507 *) Исправление: совместимость с OpenSSL 0.9.6.
6508
6509 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
6510 относительными.
6511
6512 *) Исправление: директива ssl_prefer_server_ciphers не работала для
6513 модуля ngx_imap_ssl_module.
6514
6515 *) Исправление: директива ssl_protocols позволяла задать только один
6516 протокол.
6517
6518
6519 Изменения в nginx 0.3.2 12.10.2005
6520
6521 *) Добавление: поддержка Sun Studio 10 C compiler.
6522
6523 *) Добавление: директивы proxy_upstream_max_fails,
6524 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
6525 fastcgi_upstream_fail_timeout.
6526
6527
6528 Изменения в nginx 0.3.1 10.10.2005
6529
6530 *) Исправление: во время переполнения очереди сигналов при использовании
6531 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
6532
6533 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
6534
6535
6536 Изменения в nginx 0.3.0 07.10.2005
6537
6538 *) Изменение: убрано десятидневное ограничение времени работы рабочего
6539 процесса. Ограничение было введено из-за переполнения миллисекундных
6540 таймеров.
6541
6542
6543 Изменения в nginx 0.2.6 05.10.2005
6544
6545 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
6546 бэкенду при использовании распределения нагрузки.
6547
6548 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
6549 запрос теперь передаётся, если в директиве proxy_pass отсутствует
6550 URI.
6551
6552 *) Добавление: директива error_page поддерживает редиректы и позволяет
6553 более гибко менять код ошибки.
6554
6555 *) Изменение: в проксированных подзапросах теперь игнорируется
6556 переданный charset.
6557
6558 *) Исправление: если после изменения URI в блоке if для запроса не
6559 находилась новая конфигурация, то правила модуля
6560 ngx_http_rewrite_module выполнялись снова.
6561
6562 *) Исправление: если директива set устанавливала переменную модуля
6563 ngx_http_geo_module в какой-либо части конфигурации, то эта
6564 переменная не была доступна в других частях конфигурации и выдавалась
6565 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
6566
6567
6568 Изменения в nginx 0.2.5 04.10.2005
6569
6570 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
6571 теперь выдаёт предупреждение и изменяет старое значение.
6572
6573 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
6574
6575 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
6576 команде include.
6577
6578 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
6579 значений переменных в выражениях команды if.
6580
6581
6582 Изменения в nginx 0.2.4 03.10.2005
6583
6584 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
6585 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
6586 if.
6587
6588 *) Исправление: ошибки при проксировании location без слэша в конце;
6589 ошибка появилась в 0.1.44.
6590
6591 *) Исправление: при использовании метода rtsig мог произойти
6592 segmentation fault; ошибка появилась в 0.2.0.
6593
6594
6595 Изменения в nginx 0.2.3 30.09.2005
6596
6597 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
6598 появилась в 0.2.2.
6599
6600
6601 Изменения в nginx 0.2.2 30.09.2005
6602
6603 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
6604
6605 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
6606 директивой set.
6607
6608 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
6609 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
6610
6611 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6612 длинных имён файлов;
6613
6614 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
6615 файлы, начинающиеся на точку.
6616
6617 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
6618 привести также к закрытию другого соединения.
6619 Спасибо Rob Mueller.
6620
6621 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
6622 HTTPS.
6623
6624
6625 Изменения в nginx 0.2.1 23.09.2005
6626
6627 *) Исправление: если все бэкенды, используемые для балансировки
6628 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
6629 nginx мог зациклится; ошибка появилась в 0.2.0.
6630
6631
6632 Изменения в nginx 0.2.0 23.09.2005
6633
6634 *) Изменились имена pid-файлов, используемые во время обновления
6635 исполняемого файла. Ручное переименование теперь не нужно. Старый
6636 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
6637 запускает новый исполняемый файл. Новый основной процесс создаёт
6638 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
6639 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
6640 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
6641 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
6642 0.2.0 - используют pid-файл без суффиксов.
6643
6644 *) Изменение: директива worker_connections, новое название директивы
6645 connections; директива теперь задаёт максимальное число соединений, а
6646 не максимально возможный номер дескриптора для сокета.
6647
6648 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
6649 рабочего процесса.
6650
6651 *) Добавление: директива satisfy_any.
6652
6653 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
6654 не работают для подзапросов.
6655
6656 *) Добавление: директивы worker_rlimit_nofile и
6657 worker_rlimit_sigpending.
6658
6659 *) Исправление: если все бэкенды, используемые для балансировки
6660 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
6661 nginx не обращался к ним в течение 60 секунд.
6662
6663 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
6664 Спасибо Rob Mueller.
6665
6666 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
6667
6668 *) Исправление: ошибки при использовании SSI и сжатия.
6669
6670 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
6671 "Expires" и "Cache-Control".
6672 Спасибо Александру Кукушкину.
6673
6674
6675 Изменения в nginx 0.1.45 08.09.2005
6676
6677 *) Изменение: директива ssl_engine упразднена в модуле
6678 ngx_http_ssl_module и перенесена на глобальный уровень.
6679
6680 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
6681 передавались через SSL соединение.
6682
6683 *) Разные исправления в IMAP/POP3 прокси.
6684
6685
6686 Изменения в nginx 0.1.44 06.09.2005
6687
6688 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
6689
6690 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
6691
6692 *) Добавление: директива userid_mark.
6693
6694 *) Добавление: значение переменной $remote_user определяется независимо
6695 от того, используется ли авторизация или нет.
6696
6697
6698 Изменения в nginx 0.1.43 30.08.2005
6699
6700 *) Добавление: listen(2) backlog в директиве listen можно менять по
6701 сигналу -HUP.
6702
6703 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
6704
6705 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
6706 серверу.
6707
6708 *) Исправление: если в ответе проксированного сервера или FastCGI
6709 сервера была строка "Cache-Control", то при использовании директивы
6710 expires происходил segmentation fault или рабочий процесс мог
6711 зациклится; в режиме прокси ошибка появилась в 0.1.29.
6712
6713
6714 Изменения в nginx 0.1.42 23.08.2005
6715
6716 *) Исправление: если URI запроса получался нулевой длины после обработки
6717 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
6718 происходил segmentation fault или bus error.
6719
6720 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
6721 появилась в 0.1.38.
6722
6723
6724 Изменения в nginx 0.1.41 25.07.2005
6725
6726 *) Исправление: если переменная использовалась в файле конфигурации, то
6727 она не могла использоваться в SSI.
6728
6729
6730 Изменения в nginx 0.1.40 22.07.2005
6731
6732 *) Исправление: если клиент слал очень длинную строку заголовка, то в
6733 логе не помещалась информация, связанная с этим запросом.
6734
6735 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
6736 строка "Set-Cookie"; ошибка появилась в 0.1.39.
6737
6738 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
6739 строка "Content-Disposition".
6740
6741 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
6742 на которых он слушал.
6743
6744 *) Исправление: после обновления исполняемого файла на лету на Linux и
6745 Solaris название процесса в команде ps становилось короче.
6746
6747
6748 Изменения в nginx 0.1.39 14.07.2005
6749
6750 *) Изменения в модуле ngx_http_charset_module: директива default_charset
6751 упразднена; директива charset задаёт кодировку ответа; директива
6752 source_charset задаёт только исходную кодировку.
6753
6754 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
6755 не передавалась строка заголовка "WWW-Authenticate".
6756
6757 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
6758 могли закрыть соединение до того, как что-нибудь было передано
6759 клиенту; ошибка появилась в 0.1.38.
6760
6761 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
6762
6763 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
6764 URI в команде include virtual.
6765
6766 *) Исправление: если в строке заголовка ответа бэкенда была строка
6767 "Location", которую nginx не должен был изменять, то в ответе
6768 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
6769
6770 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
6771 ngx_http_fastcgi_module не наследовались с уровня server на уровень
6772 location; ошибка появилась в 0.1.29.
6773
6774 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
6775 сертификатов.
6776
6777 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6778 длинных имён файлов; ошибка появилась в 0.1.38.
6779
6780 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
6781 стадии login.
6782
6783
6784 Изменения в nginx 0.1.38 08.07.2005
6785
6786 *) Добавление: директива limit_rate поддерживается в режиме прокси и
6787 FastCGI.
6788
6789 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6790 "X-Accel-Limit-Rate" в ответе бэкенда.
6791
6792 *) Добавление: директива break.
6793
6794 *) Добавление: директива log_not_found.
6795
6796 *) Исправление: при перенаправлении запроса с помощью строки заголовка
6797 "X-Accel-Redirect" не изменялся код ответа.
6798
6799 *) Исправление: переменные, установленные директивой set не могли
6800 использоваться в SSI.
6801
6802 *) Исправление: при включении в SSI более одного удалённого подзапроса
6803 мог произойти segmentation fault.
6804
6805 *) Исправление: если статусная строка в ответе бэкенда передавалась в
6806 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
6807 0.1.29.
6808
6809 *) Добавление: директива ssi_types.
6810
6811 *) Добавление: директива autoindex_exact_size.
6812
6813 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
6814 имена файлов в UTF-8.
6815
6816 *) Добавление: IMAP/POP3 прокси.
6817
6818
6819 Изменения в nginx 0.1.37 23.06.2005
6820
6821 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
6822
6823 *) Исправление: при включении большого количества вставок или нескольких
6824 больших вставок с помощью SSI ответ мог передаваться не полностью.
6825
6826 *) Исправление: если все бэкенды возвращали ответ 404, то при
6827 использовании параметра http_404 в директивах proxy_next_upstream или
6828 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
6829
6830
6831 Изменения в nginx 0.1.36 15.06.2005
6832
6833 *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
6834 "Connection", "Content-Length" и "Authorization", то nginx теперь
6835 выдаёт ошибку 400.
6836
6837 *) Изменение: директива post_accept_timeout упразднена.
6838
6839 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
6840 listen.
6841
6842 *) Добавление: поддержка accept фильтров во FreeBSD.
6843
6844 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
6845
6846 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
6847 файлов в UTF-8.
6848
6849 *) Исправление: после добавления новый лог-файл ротация этого лога по
6850 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
6851 раза по сигналу -HUP.
6852
6853
6854 Изменения в nginx 0.1.35 07.06.2005
6855
6856 *) Добавление: директива working_directory.
6857
6858 *) Добавление: директива port_in_redirect.
6859
6860 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
6861 то происходил segmentation fault; ошибка появилась в 0.1.29.
6862
6863 *) Исправление: если было сконфигурировано более 10 серверов или в
6864 сервере не описана директива "listen", то при запуске мог произойти
6865 segmentation fault.
6866
6867 *) Исправление: если ответ не помещался во временный файл, то мог
6868 произойти segmentation fault.
6869
6870 *) Исправление: nginx возвращал ошибку 400 на запросы вида
6871 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
6872
6873
6874 Изменения в nginx 0.1.34 26.05.2005
6875
6876 *) Исправление: при включении больших ответов с помощью SSI рабочий
6877 процесс мог зациклиться.
6878
6879 *) Исправление: переменные, устанавливаемые директивой "set", не были
6880 доступны в SSI.
6881
6882 *) Добавление: директива autoindex_localtime.
6883
6884 *) Исправление: пустое значение в директиве proxy_set_header запрещает
6885 передачу заголовка.
6886
6887
6888 Изменения в nginx 0.1.33 23.05.2005
6889
6890 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
6891 появилась в 0.1.29.
6892
6893 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
6894 вызывали bus fault при запуске.
6895
6896 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
6897 HTTP.
6898
6899 *) Исправление: если директива rewrite использовала выделения внутри
6900 директивы if, то возвращалась ошибка 500.
6901
6902
6903 Изменения в nginx 0.1.32 19.05.2005
6904
6905 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
6906 передавались аргументы; ошибка появилась в 0.1.29.
6907
6908 *) Добавление: директива if поддерживает выделения в регулярных
6909 выражениях.
6910
6911 *) Добавление: директива set поддерживает переменные и выделения из
6912 регулярных выражений.
6913
6914 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6915 "X-Accel-Redirect" в ответе бэкенда.
6916
6917
6918 Изменения в nginx 0.1.31 16.05.2005
6919
6920 *) Исправление: при использовании SSL ответ мог передаваться не до
6921 конца.
6922
6923 *) Исправление: ошибки при обработке SSI в ответе, полученного от
6924 FastCGI-сервера.
6925
6926 *) Исправление: ошибки при использовании SSI и сжатия.
6927
6928 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
6929 появилась в 0.1.30.
6930
6931
6932 Изменения в nginx 0.1.30 14.05.2005
6933
6934 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
6935
6936 *) Исправление: при использовании SSL ответ мог передаваться не до
6937 конца.
6938
6939 *) Исправление: если длина части ответа, полученного за один раз от
6940 проксируемого или FastCGI сервера была равна 500 байт, то nginx
6941 возвращал код ответа 500; в режиме прокси ошибка появилась только в
6942 0.1.29.
6943
6944 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
6945 параметрами.
6946
6947 *) Добавление: директива return может возвращать код ответа 204.
6948
6949 *) Добавление: директива ignore_invalid_headers.
6950
6951
6952 Изменения в nginx 0.1.29 12.05.2005
6953
6954 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
6955 virtual.
6956
6957 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
6958 вида 'if expr="$NAME"' и команды else и endif. Допускается только
6959 один уровень вложенности.
6960
6961 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
6962 DATE_LOCAL и DATE_GMT и команду config timefmt.
6963
6964 *) Добавление: директива ssi_ignore_recycled_buffers.
6965
6966 *) Исправление: если переменная QUERY_STRING не была определена, то в
6967 команде echo не ставилось значение по умолчанию.
6968
6969 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
6970
6971 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
6972 proxy_pass_request_body и proxy_method.
6973
6974 *) Добавление: директива proxy_set_header. Директива proxy_x_var
6975 упразднена и должна быть заменена директивой proxy_set_header.
6976
6977 *) Изменение: директива proxy_preserve_host упразднена и должна быть
6978 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
6979 off" или директивой "proxy_set_header Host $host:$proxy_port" и
6980 соответствующими ей директивами proxy_redirect.
6981
6982 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
6983 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
6984
6985 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
6986 быть заменена директивой
6987 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
6988
6989 *) Изменение: директива proxy_set_x_url упразднена и должна быть
6990 заменена директивой
6991 "proxy_set_header X-URL http://$host:$server_port$request_uri".
6992
6993 *) Добавление: директива fastcgi_param.
6994
6995 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
6996 упразднены и должны быть замены директивами fastcgi_param.
6997
6998 *) Добавление: директива index может использовать переменные.
6999
7000 *) Добавление: директива index может быть указана на уровне http и
7001 server.
7002
7003 *) Изменение: только последний параметр в директиве index может быть
7004 абсолютным.
7005
7006 *) Добавление: в директиве rewrite могут использоваться переменные.
7007
7008 *) Добавление: директива internal.
7009
7010 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
7011 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
7012 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
7013
7014 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
7015 клиента и ответа бэкенда.
7016
7017 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
7018 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
7019
7020 *) Исправление: если бэкенд передавал неверную строку в заголовке
7021 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
7022
7023 *) Исправление: при использовании отказоустойчивой конфигурации в
7024 FastCGI мог происходить segmentation fault.
7025
7026 *) Исправление: директива expires не удаляла уже установленные строки
7027 заголовка "Expires" и "Cache-Control".
7028
7029 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
7030 запроса "Host".
7031
7032 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
7033
7034 *) Исправление: директива rewrite неверно работала, если в запросе
7035 присутствовали аргументы.
7036
7037 *) Исправление: nginx не собирался на MacOS X.
7038
7039
7040 Изменения в nginx 0.1.28 08.04.2005
7041
7042 *) Исправление: при проксировании больших файлов nginx сильно нагружал
7043 процессор.
7044
7045 *) Исправление: nginx не собирался gcc 4.0 на Linux.
7046
7047
7048 Изменения в nginx 0.1.27 28.03.2005
7049
7050 *) Добавление: параметр blocked в директиве valid_referers.
7051
7052 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
7053 уровне info, в лог также записывается имя сервера и строки заголовка
7054 запроса "Host" и "Referer".
7055
7056 *) Изменение: при записи ошибок в лог записывается также строка
7057 заголовка запроса "Host".
7058
7059 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
7060 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
7061
7062 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
7063 параметр конфигурации --without-ngx_http_auth_basic_module.
7064
7065
7066 Изменения в nginx 0.1.26 22.03.2005
7067
7068 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
7069 игнорируется и записываются в error_log на уровне info.
7070
7071 *) Изменение: при записи ошибок в лог записывается также имя сервера,
7072 при обращении к которому произошла ошибка.
7073
7074 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
7075 и auth_basic_user_file.
7076
7077
7078 Изменения в nginx 0.1.25 19.03.2005
7079
7080 *) Исправление: nginx не работал на Linux parisc.
7081
7082 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
7083 sysctl kern.ipc.somaxconn слишком большое.
7084
7085 *) Исправление: если модуль ngx_http_index_module делал внутреннее
7086 перенаправление запроса в модули ngx_http_proxy_module или
7087 ngx_http_fastcgi_module, то файл индекса не закрывался после
7088 обслуживания запроса.
7089
7090 *) Добавление: директива proxy_pass может использоваться в location,
7091 заданных регулярным выражением.
7092
7093 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
7094 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
7095
7096 *) Исправление: nginx очень медленно запускался при большом количестве
7097 адресов и использовании текстовых значений в директиве geo.
7098
7099 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
7100 Прежний вариант без "$" пока работает, но вскоре будет убран.
7101
7102 *) Добавление: параметр лога "%{VARIABLE}v".
7103
7104 *) Добавление: директива "set $name value".
7105
7106 *) Исправление: совместимость с gcc 4.0.
7107
7108 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
7109
7110
7111 Изменения в nginx 0.1.24 04.03.2005
7112
7113 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
7114 QUERY_STRING и DOCUMENT_URI.
7115
7116 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
7117 на существующий каталог, если этот каталог был указан как alias.
7118
7119 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
7120 при больших ответах.
7121
7122 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
7123 правильным referrer'ом.
7124
7125
7126 Изменения в nginx 0.1.23 01.03.2005
7127
7128 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
7129 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
7130 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
7131
7132 *) Добавление: параметр лога %request_time.
7133
7134 *) Добавление: если запрос пришёл без строки заголовка "Host", то
7135 директива proxy_preserve_host устанавливает в качестве этого
7136 заголовка первое имя сервера из директивы server_name.
7137
7138 *) Исправление: nginx не собирался на платформах, отличных от i386,
7139 amd64, sparc и ppc; ошибка появилась в 0.1.22.
7140
7141 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
7142 информацию не о символическом линке, а о файле или каталоге, на
7143 который он указывает.
7144
7145 *) Исправление: если клиенту ничего не передавалось, то параметр
7146 %apache_length записывал в лог отрицательную длину заголовка ответа.
7147
7148
7149 Изменения в nginx 0.1.22 22.02.2005
7150
7151 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7152 статистику для обработанных соединений, если использовалось
7153 проксирование или FastCGI-сервер.
7154
7155 *) Исправление: на Linux и Solaris установочные пути были неверно
7156 заключены в кавычки; ошибка появилась в 0.1.21.
7157
7158
7159 Изменения в nginx 0.1.21 22.02.2005
7160
7161 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
7162 статистику при использовании метода rtsig или при использовании
7163 нескольких рабочих процессов на SMP машине.
7164
7165 *) Исправление: nginx не собирался компилятором icc под Линуксом или
7166 если библиотека zlib-1.2.x собиралась из исходных текстов.
7167
7168 *) Исправление: nginx не собирался под NetBSD 2.0.
7169
7170
7171 Изменения в nginx 0.1.20 17.02.2005
7172
7173 *) Добавление: новые параметры script_filename и remote_port в директиве
7174 fastcgi_params.
7175
7176 *) Исправление: неправильно обрабатывался поток stderr от
7177 FastCGI-сервера.
7178
7179
7180 Изменения в nginx 0.1.19 16.02.2005
7181
7182 *) Исправление: если в запросе есть нуль, то для локальных запросов
7183 теперь возвращается ошибка 404.
7184
7185 *) Исправление: nginx не собирался под NetBSD 2.0.
7186
7187 *) Исправление: во время чтения тела запроса клиента в SSL соединении
7188 мог произойти таймаут.
7189
7190
7191 Изменения в nginx 0.1.18 09.02.2005
7192
7193 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
7194 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
7195
7196 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
7197 наследовались.
7198
7199 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
7200 присоединялись к URI через символ "&" вместо "?".
7201
7202 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
7203 включённом файле игнорировались.
7204
7205 *) Добавление: модуль ngx_http_stub_status_module.
7206
7207 *) Исправление: неизвестный формат лог-файла в директиве access_log
7208 вызывал segmentation fault.
7209
7210 *) Добавление: новый параметр document_root в директиве fastcgi_params.
7211
7212 *) Добавление: директива fastcgi_redirect_errors.
7213
7214 *) Добавление: новый модификатор break в директиве rewrite позволяет
7215 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
7216 для запроса.
7217
7218
7219 Изменения в nginx 0.1.17 03.02.2005
7220
7221 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
7222 можно делать редиректы, возвращать коды ошибок и проверять переменные
7223 и рефереры. Эти директивы можно использовать внутри location.
7224 Директива redirect упразднена.
7225
7226 *) Добавление: модуль ngx_http_geo_module.
7227
7228 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
7229
7230 *) Исправление: конфигурация location с модификатором "=" могла
7231 использоваться в другом location.
7232
7233 *) Исправление: правильный тип ответа выставлялся только для запросов, у
7234 которых в расширении были только маленькие буквы.
7235
7236 *) Исправление: если для location установлен proxy_pass или
7237 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
7238 на статическую страницу, то происходил segmentation fault.
7239
7240 *) Исправление: если в проксированном ответе в заголовке "Location"
7241 передавался относительный URL, то к нему добавлялось имя хоста и
7242 слэш; ошибка появилась в 0.1.14.
7243
7244 *) Исправление: на Linux в лог не записывался текст системной ошибки.
7245
7246
7247 Изменения в nginx 0.1.16 25.01.2005
7248
7249 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
7250 выдавался завершающий chunk.
7251
7252 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
7253 директива keepalive_timeout запрещала использование keep-alive.
7254
7255 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
7256 segmentation fault.
7257
7258 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
7259 до конца.
7260
7261 *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
7262 для TCP сокетов, не используются для unix domain сокетов.
7263
7264 *) Добавление: директива rewrite поддерживает перезаписывание
7265 аргументов.
7266
7267 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
7268 возвращался ответ 400; ошибка появилась в 0.1.14.
7269
7270
7271 Изменения в nginx 0.1.15 19.01.2005
7272
7273 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
7274 segmentation fault.
7275
7276 *) Исправление: корректная обработка регулярного выражения, в котором
7277 число выделенных частей не совпадает с числом подстановок.
7278
7279 *) Добавление: location, который передаётся FastCGI-серверу, может быть
7280 задан с помощью регулярного выражения.
7281
7282 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
7283 аргументами и в том виде, в котором был получен от клиента.
7284
7285 *) Исправление: для использования регулярных выражений в location нужно
7286 было собирать nginx вместе с ngx_http_rewrite_module.
7287
7288 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
7289 директивы "proxy_preserve_host on" в заголовке "Host" указывался
7290 также порт 80; ошибка появилась в 0.1.14.
7291
7292 *) Исправление: если задать одинаковые пути в параметрах
7293 автоконфигурации --http-client-body-temp-path=PATH и
7294 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
7295 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
7296
7297
7298 Изменения в nginx 0.1.14 18.01.2005
7299
7300 *) Добавление: параметры автоконфигурации
7301 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
7302 --http-fastcgi-temp-path=PATH
7303
7304 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
7305 клиента, задаётся директивой client_body_temp_path, по умолчанию
7306 <prefix>/client_body_temp.
7307
7308 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
7309 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
7310 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
7311 fastcgi_header_buffer_size, fastcgi_buffers,
7312 fastcgi_busy_buffers_size, fastcgi_temp_path,
7313 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
7314 fastcgi_next_upstream и fastcgi_x_powered_by.
7315
7316 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
7317 0.1.3.
7318
7319 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
7320 после имени хоста.
7321
7322 *) Изменение: если в URI встречался символ %3F, то он считался началом
7323 строки аргументов.
7324
7325 *) Добавление: поддержка unix domain сокетов в модуле
7326 ngx_http_proxy_module.
7327
7328 *) Добавление: директивы ssl_engine и ssl_ciphers.
7329 Спасибо Сергею Скворцову за SSL-акселератор.
7330
7331
7332 Изменения в nginx 0.1.13 21.12.2004
7333
7334 *) Добавление: директивы server_names_hash и
7335 server_names_hash_threshold.
7336
7337 *) Исправление: имена *.domain.tld в директиве server_name не работали.
7338
7339 *) Исправление: параметр лога %request_length записывал неверную длину.
7340
7341
7342 Изменения в nginx 0.1.12 06.12.2004
7343
7344 *) Добавление: параметр лога %request_length.
7345
7346 *) Исправление: при использовании /dev/poll, select и poll на
7347 платформах, где возможны ложные срабатывания указанных методов, могли
7348 быть длительные задержки при обработке запроса по keep-alive
7349 соединению. Наблюдалось по крайней мере на Solaris с использованием
7350 /dev/poll.
7351
7352 *) Исправление: директива send_lowat игнорируется на Linux, так как
7353 Linux не поддерживает опцию SO_SNDLOWAT.
7354
7355
7356 Изменения в nginx 0.1.11 02.12.2004
7357
7358 *) Добавление: директива worker_priority.
7359
7360 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
7361 влияют на передачу ответа.
7362
7363 *) Исправление: nginx не вызывал initgroups().
7364 Спасибо Андрею Ситникову и Андрею Нигматулину.
7365
7366 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
7367 байтах.
7368
7369 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
7370 каталоге есть битый symlink.
7371
7372 *) Исправление: файлы больше 4G не передавались с использованием
7373 sendfile.
7374
7375 *) Исправление: если бэкенд резолвился в несколько адресов и при
7376 ожидании от него ответа происходила ошибка, то процесс зацикливался.
7377
7378 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
7379 завершиться с сообщением "unknown cycle".
7380
7381 *) Исправление: ошибки "close() channel failed".
7382
7383 *) Исправление: автоматическое определение групп nobody и nogroup.
7384
7385 *) Исправление: директива send_lowat не работала на Linux.
7386
7387 *) Исправление: если в конфигурации не было раздела events, то
7388 происходил segmentation fault.
7389
7390 *) Исправление: nginx не собирался под OpenBSD.
7391
7392 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
7393
7394
7395 Изменения в nginx 0.1.10 26.11.2004
7396
7397 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
7398 или "%XX", то терялся последний символ в строке запроса; ошибка
7399 появилась в 0.1.9.
7400
7401 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
7402 не работало.
7403
7404
7405 Изменения в nginx 0.1.9 25.11.2004
7406
7407 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
7408 проксируемый запрос передавался без аргументов.
7409
7410 *) Исправление: при сжатии больших ответов иногда они передавались не
7411 полностью.
7412
7413 *) Исправление: не передавались файлы больше 2G на Linux,
7414 неподдерживающем sendfile64().
7415
7416 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
7417 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
7418
7419
7420 Изменения в nginx 0.1.8 20.11.2004
7421
7422 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7423 длинных имён файлов.
7424
7425 *) Добавление: модификатор "^~" в директиве location.
7426
7427 *) Добавление: директива proxy_max_temp_file_size.
7428
7429
7430 Изменения в nginx 0.1.7 12.11.2004
7431
7432 *) Исправление: при использовании sendfile, если передаваемый файл
7433 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
7434 появилась в 0.1.5.
7435
7436
7437 Изменения в nginx 0.1.6 11.11.2004
7438
7439 *) Исправление: при некоторых комбинациях директив location c
7440 регулярными выражениями использовалась конфигурация не из того
7441 location.
7442
7443
7444 Изменения в nginx 0.1.5 11.11.2004
7445
7446 *) Исправление: на Solaris и Linux могло быть очень много сообщений
7447 "recvmsg() returned not enough data".
7448
7449 *) Исправление: в режиме прокси без использования sendfile на Solaris
7450 возникала ошибка "writev() failed (22: Invalid argument)". На других
7451 платформах, не поддерживающих sendfile, процесс зацикливался.
7452
7453 *) Исправление: при использовании sendfile в режиме прокси на Solaris
7454 возникал segmentation fault.
7455
7456 *) Исправление: segmentation fault на Solaris.
7457
7458 *) Исправление: обновление исполняемого файла на лету не работало на
7459 Linux.
7460
7461 *) Исправление: в списке файлов, выдаваемом модулем
7462 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
7463 знаки процента.
7464
7465 *) Изменение: уменьшение операций копирования.
7466
7467 *) Добавление: директива userid_p3p.
7468
7469
7470 Изменения в nginx 0.1.4 26.10.2004
7471
7472 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
7473
7474
7475 Изменения в nginx 0.1.3 25.10.2004
7476
7477 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
7478
7479 *) Добавление: директива proxy_set_x_url.
7480
7481 *) Исправление: модуль проксировании мог привести к зацикливанию, если
7482 не использовался sendfile.
7483
7484
7485 Изменения в nginx 0.1.2 21.10.2004
7486
7487 *) Добавление: параметры --user=USER, --group=GROUP и
7488 --with-ld-opt=OPTIONS в configure.
7489
7490 *) Добавление: директива server_name поддерживает *.domain.tld.
7491
7492 *) Исправление: улучшена переносимость на неизвестные платформы.
7493
7494 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
7495 файл указан в командной строке; ошибка появилась в 0.1.1.
7496
7497 *) Исправление: модуль проксировании мог привести к зацикливанию, если
7498 не использовался sendfile.
7499
7500 *) Исправление: при использовании sendfile текст ответа не
7501 перекодировался согласно директивам модуля charset; ошибка появилась
7502 в 0.1.1.
7503
7504 *) Исправление: очень редкая ошибка при обработке kqueue.
7505
7506 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
7507 проксировании.
7508
7509
7510 Изменения в nginx 0.1.1 11.10.2004
7511
7512 *) Добавление: директива gzip_types.
7513
7514 *) Добавление: директива tcp_nodelay.
7515
7516 *) Добавление: директива send_lowat работает не только на платформах,
7517 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
7518 SO_SNDLOWAT.
7519
7520 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
7521
7522 *) Исправление: ошибка при переписывании заголовка "Location" при
7523 проксировании.
7524
7525 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
7526 зацикливанию.
7527
7528 *) Исправление: ошибки в модуле /dev/poll.
7529
7530 *) Исправление: при проксировании и использовании временных файлов
7531 ответы портились.
7532
7533 *) Исправление: бэкенду передавались запросы с неперекодированными
7534 символами.
7535
7536 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
7537 обязательно использовать параметр --with-poll_module.
7538
7539
7540 Изменения в nginx 0.1.0 04.10.2004
7541
7542 *) Первая публично доступная версия.
7543