comparison text/ru/CHANGES.ru-1.2 @ 500:9b440a217907

nginx-1.2.0
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 23 Apr 2012 13:38:59 +0000
parents text/ru/CHANGES.ru@2406529bc838
children 5cc4842015a1
comparison
equal deleted inserted replaced
499:76a8eca844d0 500:9b440a217907
1
2 Изменения в nginx 1.2.0 23.04.2012
3
4 *) Исправление: в рабочем процессе мог произойти segmentation fault,
5 если использовалась директива try_files; ошибка появилась в 1.1.19.
6
7 *) Исправление: ответ мог быть передан не полностью, если использовалось
8 больше IOV_MAX буферов.
9
10 *) Исправление: в работе параметра crop директивы image_filter.
11 Спасибо Maxim Bublis.
12
13
14 Изменения в nginx 1.1.19 12.04.2012
15
16 *) Безопасность: при обработке специально созданного mp4 файла модулем
17 ngx_http_mp4_module могли перезаписываться области памяти рабочего
18 процесса, что могло приводить к выполнению произвольного кода
19 (CVE-2012-2089).
20 Спасибо Matthew Daley.
21
22 *) Исправление: nginx/Windows мог завершаться аварийно.
23 Спасибо Vincent Lee.
24
25 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
26 были помечены флагом backup.
27
28 *) Исправление: директивы allow и deny могли наследоваться некорректно,
29 если в них использовались IPv6 адреса.
30
31 *) Исправление: директивы modern_browser и ancient_browser могли
32 наследоваться некорректно.
33
34 *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
35
36 *) Исправление: в модуле ngx_http_mp4_module.
37
38
39 Изменения в nginx 1.1.18 28.03.2012
40
41 *) Изменение: теперь keepalive соединения не запрещены для Safari по
42 умолчанию.
43
44 *) Добавление: переменная $connection_requests.
45
46 *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
47 $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
48
49 *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
50
51 *) Добавление: директивы xslt_param и xslt_string_param.
52 Спасибо Samuel Behan.
53
54 *) Исправление: в configure.
55 Спасибо Piotr Sikora.
56
57 *) Исправление: в модуле ngx_http_xslt_filter_module.
58
59 *) Исправление: nginx не собирался на Debian GNU/Hurd.
60
61
62 Изменения в nginx 1.1.17 15.03.2012
63
64 *) Безопасность: содержимое ранее освобождённой памяти могло быть
65 отправлено клиенту, если бэкенд возвращал специально созданный ответ.
66 Спасибо Matthew Daley.
67
68 *) Исправление: при использовании встроенного перла из SSI.
69 Спасибо Matthew Daley.
70
71 *) Исправление: в модуле ngx_http_uwsgi_module.
72
73
74 Изменения в nginx 1.1.16 29.02.2012
75
76 *) Изменение: ограничение на количество одновременных подзапросов
77 поднято до 200.
78
79 *) Добавление: параметр from в директиве disable_symlinks.
80
81 *) Добавление: директивы return и error_page теперь могут использоваться
82 для возврата перенаправлений с кодом 307.
83
84 *) Исправление: в рабочем процессе мог произойти segmentation fault,
85 если использовалась директива resolver и на глобальном уровне не была
86 задана директива error_log.
87 Спасибо Роману Арутюняну.
88
89 *) Исправление: в рабочем процессе мог произойти segmentation fault,
90 если использовались директивы "proxy_http_version 1.1" или
91 "fastcgi_keep_conn on".
92
93 *) Исправление: утечек памяти.
94 Спасибо Lanshun Zhou.
95
96 *) Исправление: в директиве disable_symlinks.
97
98 *) Исправление: при использовании ZFS размер кэша на диске мог считаться
99 некорректно; ошибка появилась в 1.0.1.
100
101 *) Исправление: nginx не собирался компилятором icc 12.1.
102
103 *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
104 1.1.15.
105
106
107 Изменения в nginx 1.1.15 15.02.2012
108
109 *) Добавление: директива disable_symlinks.
110
111 *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
112
113 *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
114 prematurely closed connection" вместо "upstream sent too big header".
115 Спасибо Feibo Li.
116
117 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
118 использовался параметр --with-openssl.
119
120 *) Исправление: количество внутренних перенаправлений в именованные
121 location'ы не ограничивалось.
122
123 *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
124 ошибкам в модуле ngx_http_gzip_filter_module.
125
126 *) Исправление: при использовании директивы proxy_store с
127 SSI-подзапросами временные файлы могли не удаляться.
128
129 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
130 $args) возвращали старое пустое закэшированное значение.
131
132 *) Исправление: в рабочем процессе мог произойти segmentation fault,
133 если одновременно создавалось слишком много SSI-подзапросов; ошибка
134 появилась в 0.7.25.
135
136
137 Изменения в nginx 1.1.14 30.01.2012
138
139 *) Добавление: теперь можно указать несколько ограничений limit_req
140 одновременно.
141
142 *) Исправление: в обработке ошибок при соединении с бэкендом.
143 Спасибо Piotr Sikora.
144
145 *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
146
147 *) Исправление: в инициализации библиотеки OpenSSL.
148
149 *) Исправление: директивы proxy_redirect могли наследоваться
150 некорректно.
151
152 *) Исправление: утечки памяти при переконфигурации, если использовалась
153 директива pcre_jit.
154
155
156 Изменения в nginx 1.1.13 16.01.2012
157
158 *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
159
160 *) Исправление: параметры директивы limit_req наследовались некорректно;
161 ошибка появилась в 1.1.12.
162
163 *) Исправление: директива proxy_redirect некорректно обрабатывала
164 заголовок Refresh при использовании регулярных выражений.
165
166 *) Исправление: директива proxy_cache_use_stale с параметром error не
167 возвращала ответ из кэша, если все бэкенды были признаны
168 неработающими.
169
170 *) Исправление: директива worker_cpu_affinity могла не работать.
171
172 *) Исправление: nginx не собирался на Solaris; ошибка появилась в
173 1.1.12.
174
175 *) Исправление: в модуле ngx_http_mp4_module.
176
177
178 Изменения в nginx 1.1.12 26.12.2011
179
180 *) Изменение: после перенаправления запроса с помощью директивы
181 error_page директива proxy_pass без URI теперь использует изменённый
182 URI.
183 Спасибо Lanshun Zhou.
184
185 *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
186 proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
187
188 *) Добавление: директива pcre_jit.
189
190 *) Добавление: SSI команда if поддерживает выделения в регулярных
191 выражениях.
192
193 *) Исправление: SSI команда if не работала внутри команды block.
194
195 *) Исправление: директивы limit_conn_log_level и limit_req_log_level
196 могли не работать.
197
198 *) Исправление: директива limit_rate не позволяла передавать на полной
199 скорости, даже если был указан очень большой лимит.
200
201 *) Исправление: директива sendfile_max_chunk не работала, если
202 использовалась директива limit_rate.
203
204 *) Исправление: если в директиве proxy_pass использовались переменные и
205 не был указан URI, всегда использовался URI исходного запроса.
206
207 *) Исправление: после перенаправления запроса с помощью директивы
208 try_files директива proxy_pass без URI могла использовать URI
209 исходного запроса.
210 Спасибо Lanshun Zhou.
211
212 *) Исправление: в модуле ngx_http_scgi_module.
213
214 *) Исправление: в модуле ngx_http_mp4_module.
215
216 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
217
218
219 Изменения в nginx 1.1.11 12.12.2011
220
221 *) Добавление: параметр so_keepalive в директиве listen.
222 Спасибо Всеволоду Стахову.
223
224 *) Добавление: параметр if_not_empty в директивах
225 fastcgi/scgi/uwsgi_param.
226
227 *) Добавление: переменная $https.
228
229 *) Добавление: директива proxy_redirect поддерживает переменные в первом
230 параметре.
231
232 *) Добавление: директива proxy_redirect поддерживает регулярные
233 выражения.
234
235 *) Исправление: переменная $sent_http_cache_control могла содержать
236 неверное значение при использовании директивы expires.
237 Спасибо Yichun Zhang.
238
239 *) Исправление: директива read_ahead могла не работать при использовании
240 совместно с try_files и open_file_cache.
241
242 *) Исправление: если в параметре inactive директивы proxy_cache_path
243 было указано малое время, в рабочем процессе мог произойти
244 segmentation fault.
245
246 *) Исправление: ответы из кэша могли зависать.
247
248
249 Изменения в nginx 1.1.10 30.11.2011
250
251 *) Исправление: при использовании AIO на Linux в рабочем процессе
252 происходил segmentation fault; ошибка появилась в 1.1.9.
253
254
255 Изменения в nginx 1.1.9 28.11.2011
256
257 *) Изменение: теперь двойные кавычки экранируется при выводе
258 SSI-командой echo.
259 Спасибо Зауру Абасмирзоеву.
260
261 *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
262 используется TTL, возвращённый DNS-сервером.
263 Спасибо Кириллу Коринскому.
264
265 *) Исправление: nginx мог перестать отвечать, если рабочий процесс
266 завершался аварийно.
267
268 *) Исправление: в рабочем процессе мог произойти segmentation fault,
269 если использовалось SNI; ошибка появилась в 1.1.2.
270
271 *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
272 Спасибо Александру Усову.
273
274 *) Исправление: сигнал SIGWINCH переставал работать после первого
275 обновления исполняемого файла; ошибка появилась в 1.1.1.
276
277 *) Исправление: теперь ответы бэкендов, длина которых не соответствует
278 заголовку Content-Length, не кэширутся.
279
280 *) Исправление: в директиве scgi_param при использовании составных
281 параметров.
282
283 *) Исправление: в методе epoll.
284 Спасибо Yichun Zhang.
285
286 *) Исправление: в модуле ngx_http_flv_module.
287 Спасибо Piotr Sikora.
288
289 *) Исправление: в модуле ngx_http_mp4_module.
290
291 *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
292 заголовке Host.
293
294 *) Исправление: директивы add_header и expires не работали для ответов с
295 кодом 206, если запрос проксировался.
296
297 *) Исправление: nginx не собирался на FreeBSD 10.
298
299 *) Исправление: nginx не собирался на AIX.
300
301
302 Изменения в nginx 1.1.8 14.11.2011
303
304 *) Изменение: модуль ngx_http_limit_zone_module переименован в
305 ngx_http_limit_conn_module.
306
307 *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
308 новым синтаксисом.
309
310 *) Добавление: поддержка ограничения по нескольким limit_conn на одном
311 уровне.
312
313 *) Добавление: директива image_filter_sharpen.
314
315 *) Исправление: в рабочем процессе мог произойти segmentation fault,
316 если resolver получил большой DNS-ответ.
317 Спасибо Ben Hawkes.
318
319 *) Исправление: в вычислении ключа для кэширования, если использовалась
320 внутренняя реализация MD5; ошибка появилась в 1.0.4.
321
322 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
323 заголовке запроса клиента могли передаваться бэкенду при кэшировании;
324 или не передаваться при выключенном кэшировании, если кэширование
325 было включено в другой части конфигурации.
326
327 *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
328 "Content-Length" в заголовке ответа, использовался аргумент start.
329 Спасибо Piotr Sikora.
330
331
332 Изменения в nginx 1.1.7 31.10.2011
333
334 *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
335 Спасибо Кириллу Коринскому.
336
337 *) Исправление: на старте или во время переконфигурации происходил
338 segmentation fault, если директива ssl использовалась на уровне http
339 и не был указан ssl_certificate.
340
341 *) Исправление: уменьшено потребление памяти при проксировании больших
342 файлов, если они буферизировались на диск.
343
344 *) Исправление: в рабочем процессе мог произойти segmentation fault,
345 если использовалась директива "proxy_http_version 1.1".
346
347 *) Исправление: в директиве "expires @time".
348
349
350 Изменения в nginx 1.1.6 17.10.2011
351
352 *) Изменение во внутреннем API: теперь при внутреннем редиректе в
353 именованный location контексты модулей очищаются.
354 По запросу Yichun Zhang.
355
356 *) Изменение: теперь если сервер, описанный в блоке upstream, был
357 признан неработающим, то после истечения fail_timeout на него будет
358 отправлен только один запрос; сервер будет считаться работающим, если
359 успешно ответит на этот запрос.
360
361 *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
362 \xXX.
363
364 *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
365 теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
366 X-Accel-Charset.
367
368 *) Добавление: уменьшение потребления памяти при использовании SSL.
369
370 *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
371 Спасибо Алексею Куцу.
372
373 *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
374 уровне server, применялись повторно, если для запроса не находилось
375 ни одного location'а.
376
377 *) Исправление: при использовании "aio sendfile" могла происходить
378 утечка сокетов.
379
380 *) Исправление: при использовании файлового AIO соединения с быстрыми
381 клиентами могли быть закрыты по истечению send_timeout.
382
383 *) Исправление: в модуле ngx_http_autoindex_module.
384
385 *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
386 32-битных платформах.
387
388
389 Изменения в nginx 1.1.5 05.10.2011
390
391 *) Добавление: директивы uwsgi_buffering и scgi_buffering.
392 Спасибо Peter Smit.
393
394 *) Исправление: при использовании proxy_cache_bypass могли быть
395 закэшированы некэшируемые ответы.
396 Спасибо John Ferlito.
397
398 *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
399 HTTP/1.1.
400
401 *) Исправление: закэшированные ответы с пустым телом возвращались
402 некорректно; ошибка появилась в 0.8.31.
403
404 *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
405 некорректны; ошибка появилась в 0.8.32.
406
407 *) Исправление: в директиве return.
408
409 *) Исправление: при использовании директивы "ssl_session_cache builtin"
410 происходил segmentation fault; ошибка появилась в 1.1.1.
411
412
413 Изменения в nginx 1.1.4 20.09.2011
414
415 *) Добавление: модуль ngx_http_upstream_keepalive.
416
417 *) Добавление: директива proxy_http_version.
418
419 *) Добавление: директива fastcgi_keep_conn.
420
421 *) Добавление: директива worker_aio_requests.
422
423 *) Исправление: если nginx был собран с файловым AIO, он не мог
424 запускаться на Linux без поддержки AIO.
425
426 *) Исправление: в обработке ошибок при работе с Linux AIO.
427 Спасибо Hagai Avrahami.
428
429 *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
430
431 *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
432 MP4-атом co64.
433
434
435 Изменения в nginx 1.1.3 14.09.2011
436
437 *) Добавление: модуль ngx_http_mp4_module.
438
439 *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
440
441 *) Исправление: open_file_cache не обновлял информацию о файле, если
442 файл был изменён не атомарно.
443
444 *) Исправление: nginx не собирался на MacOSX 10.7.
445
446
447 Изменения в nginx 1.1.2 05.09.2011
448
449 *) Изменение: теперь, если суммарный размер всех диапазонов больше
450 размера исходного ответа, то nginx возвращает только исходный ответ,
451 не обрабатывая диапазоны.
452
453 *) Добавление: директива max_ranges.
454
455 *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
456 ssl_prefer_server_cipher могли работать некорректно, если
457 использовался SNI.
458
459 *) Исправление: в директивах proxy/fastcgi/scgi/
460 uwsgi_ignore_client_abort.
461
462
463 Изменения в nginx 1.1.1 22.08.2011
464
465 *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
466 число файлов, указанное в параметре load_files, либо работает не
467 дольше времени, указанного в параметре loader_threshold.
468
469 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
470
471 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
472 на Solaris.
473 Спасибо Денису Иванову.
474
475 *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
476
477 *) Исправление: nginx не собирался на Linux 3.0.
478
479 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
480 появилась в 1.1.0.
481
482 *) Исправление: обработка тела запроса могла быть неверной, если клиент
483 использовал pipelining.
484
485 *) Исправление: в директиве request_body_in_single_buf.
486
487 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
488 при использовании SSL-соединения с бэкендом.
489
490 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
491 были помечены флагом down.
492
493 *) Исправление: при переконфигурации мог произойти segmentation fault,
494 если в предыдущей конфигурации был определён, но не использовался
495 ssl_session_cache.
496
497 *) Исправление: при использовании большого количества backup-серверов в
498 рабочем процессе мог произойти segmentation fault.
499
500 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
501 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
502 произойти segmentation fault; ошибка появилась в 0.8.40.
503
504
505 Изменения в nginx 1.1.0 01.08.2011
506
507 *) Добавление: уменьшение времени работы загрузчика кэша.
508
509 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
510 директив proxy/fastcgi/scgi/uwsgi_cache_path.
511
512 *) Добавление: уменьшение времени загрузки конфигураций с большим
513 количеством HTTPS серверов.
514
515 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
516 Спасибо Adrian Kotelba.
517
518 *) Добавление: директива lingering_close.
519 Спасибо Максиму Дунину.
520
521 *) Исправление: закрытия соединения для pipelined-запросов.
522 Спасибо Максиму Дунину.
523
524 *) Исправление: nginx не запрещал сжатие при получении значения
525 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
526
527 *) Исправление: таймаута при небуферизированном проксировании.
528 Спасибо Максиму Дунину.
529
530 *) Исправление: утечки памяти при использовании переменных в директиве
531 proxy_pass при работе с бэкендом по HTTPS.
532 Спасибо Максиму Дунину.
533
534 *) Исправление: в проверке параметра директивы proxy_pass, заданного
535 переменными.
536 Спасибо Lanshun Zhou.
537
538 *) Исправление: SSL не работал на QNX.
539 Спасибо Максиму Дунину.
540
541 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
542 --with-debug.
543
544
545 Изменения в nginx 1.0.5 19.07.2011
546
547 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
548 "HIGH:!aNULL:!MD5".
549 Спасибо Rob Stradling.
550
551 *) Добавление: директивы referer_hash_max_size и
552 referer_hash_bucket_size.
553 Спасибо Witold Filipczyk.
554
555 *) Добавление: переменная $uid_reset.
556
557 *) Исправление: при использовании кэширования в рабочем процессе мог
558 произойти segmentation fault.
559 Спасибо Lanshun Zhou.
560
561 *) Исправление: при использовании кэширования рабочие процессы могли
562 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
563 Спасибо Максиму Дунину.
564
565 *) Исправление: сообщения "stalled cache updating".
566 Спасибо Максиму Дунину.
567
568
569 Изменения в nginx 1.0.4 01.06.2011
570
571 *) Изменение: теперь в регулярных выражениях в директиве map можно
572 задать чувствительность к регистру с помощью префиксов "~" и "~*".
573
574 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
575 на Linux.
576 Спасибо Денису Латыпову.
577
578 *) Исправление: сообщения "stalled cache updating".
579
580 *) Исправление: nginx не собирался с параметром
581 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
582
583
584 Изменения в nginx 1.0.3 25.05.2011
585
586 *) Добавление: директива auth_basic_user_file поддерживает шифрование
587 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
588 Спасибо Максиму Дунину.
589
590 *) Добавление: директива geoip_org и переменная $geoip_org.
591 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
592
593 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
594 поддерживают адреса IPv4, отображённые на IPv6 адреса.
595
596 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
597 рабочем процессе происходил segmentation fault, если директивы access
598 или deny были определены только для адресов IPv6; ошибка появилась в
599 0.8.22.
600
601 *) Исправление: закэшированный ответ мог быть испорчен, если значения
602 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
603 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
604
605
606 Изменения в nginx 1.0.2 10.05.2011
607
608 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
609
610 *) Исправление: в работе параметра rotate директивы image_filter.
611 Спасибо Adam Bocim.
612
613 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
614
615
616 Изменения в nginx 1.0.1 03.05.2011
617
618 *) Изменение: теперь директива split_clients использует алгоритм
619 MurmurHash2 из-за лучшего распределения.
620 Спасибо Олегу Мамонтову.
621
622 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
623 ложными значениями.
624 Спасибо Максиму Дунину.
625
626 *) Изменение: теперь по умолчанию nginx использует значение 511 для
627 listen backlog на Linux.
628
629 *) Добавление: переменные $upstream_... можно использовать в SSI и
630 перловом модулях.
631
632 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
633 Спасибо Олегу Мамонтову.
634
635 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
636 segmentation fault; ошибка появилась в 0.8.22.
637 Спасибо Максиму Дунину.
638
639 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
640
641 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
642 появилась в 0.9.3.
643 Спасибо Dagobert Michelsen.
644
645 *) Исправление: переменная $request_time имела неверные значения, если
646 использовались подзапросы; ошибка появилась в 0.8.47.
647 Спасибо Игорю А. Валькову.
648
649
650 Изменения в nginx 1.0.0 12.04.2011
651
652 *) Исправление: cache manager мог нагружать процессор после
653 переконфигурации.
654 Спасибо Максиму Дунину.
655
656 *) Исправление: директива "image_filter crop" неправильно работала в
657 сочетании с "image_filter rotate 180".
658
659 *) Исправление: директива "satisfy any" запрещала выдачу
660 пользовательской страницы для 401 кода.
661
662
663 Изменения в nginx 0.9.7 04.04.2011
664
665 *) Добавление: теперь соединения в состоянии keepalive могут быть
666 закрыты преждевременно, если у воркера нет свободных соединений.
667 Спасибо Максиму Дунину.
668
669 *) Добавление: параметр rotate директивы image_filter.
670 Спасибо Adam Bocim.
671
672 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
673 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
674 upstream.
675
676
677 Изменения в nginx 0.9.6 21.03.2011
678
679 *) Добавление: директива map поддерживает регулярные выражения в
680 качестве значения первого параметра.
681
682 *) Добавление: переменная $time_iso8601 для access_log.
683 Спасибо Michael Lustfield.
684
685
686 Изменения в nginx 0.9.5 21.02.2011
687
688 *) Изменение: теперь по умолчанию nginx использует значение -1 для
689 listen backlog на Linux.
690 Спасибо Андрею Нигматулину.
691
692 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
693 Спасибо Денису Латыпову.
694
695 *) Исправление: исправление в умолчательной директиве proxy_redirect,
696 если в директиве proxy_pass не был описан URI.
697 Спасибо Максиму Дунину.
698
699 *) Исправление: директива error_page не работала с нестандартными кодами
700 ошибок; ошибка появилась в 0.8.53.
701 Спасибо Максиму Дунину.
702
703
704 Изменения в nginx 0.9.4 21.01.2011
705
706 *) Добавление: директива server_name поддерживает переменную $hostname.
707
708 *) Добавление: 494 код для ошибки "Request Header Too Large".
709
710
711 Изменения в nginx 0.9.3 13.12.2010
712
713 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
714 то выделения в регулярных выражениях в директиве server_name не
715 работали.
716
717 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
718 0.9.0.
719
720
721 Изменения в nginx 0.9.2 06.12.2010
722
723 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
724 запросе клиента.
725
726 *) Изменение: использование accept(), если accept4() не реализован;
727 ошибка появилась в 0.9.0.
728
729 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
730
731 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
732 Спасибо Максиму Дунину.
733
734
735 Изменения в nginx 0.9.1 30.11.2010
736
737 *) Исправление: директивы вида "return CODE message" не работали; ошибка
738 появилась в 0.9.0.
739
740
741 Изменения в nginx 0.9.0 29.11.2010
742
743 *) Добавление: директива keepalive_disable.
744
745 *) Добавление: директива map поддерживает переменные в качестве значения
746 определяемой переменной.
747
748 *) Добавление: директива map поддерживает пустые строки в качестве
749 значения первого параметра.
750
751 *) Добавление: директива map поддерживает выражения в первом параметре.
752
753 *) Добавление: страница руководства nginx(8).
754 Спасибо Сергею Осокину.
755
756 *) Добавление: поддержка accept4() в Linux.
757 Спасибо Simon Liu.
758
759 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
760 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
761
762 *) Исправление: при использовании директивы auth_basic в рабочем
763 процессе мог произойти segmentation fault.
764 Спасибо Михаилу Лалетину.
765
766 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
767 появилась в 0.8.42.
768
769
770 Изменения в nginx 0.8.53 18.10.2010
771
772 *) Добавление: теперь директива error_page позволяет менять код статуса
773 у редиректа.
774
775 *) Добавление: директива gzip_disable поддерживает специальную маску
776 degradation.
777
778 *) Исправление: при использовании файлового AIO могла происходить утечка
779 сокетов.
780 Спасибо Максиму Дунину.
781
782 *) Исправление: если в первом сервере не была описана директива listen и
783 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
784 становился следующий сервер с директивой listen; ошибка появилась в
785 0.8.21.
786
787
788 Изменения в nginx 0.8.52 28.09.2010
789
790 *) Исправление: nginx использовал режим SSL для listen сокета, если для
791 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
792
793
794 Изменения в nginx 0.8.51 27.09.2010
795
796 *) Изменение: директива secure_link_expires упразднена.
797
798 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
799 alert на error.
800
801 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
802 несколько раз.
803
804
805 Изменения в nginx 0.8.50 02.09.2010
806
807 *) Добавление: директивы secure_link, secure_link_md5 и
808 secure_link_expires модуля ngx_http_secure_link_module.
809
810 *) Добавление: ключ -q.
811 Спасибо Геннадию Махомеду.
812
813 *) Исправление: при использовании кэширования рабочие процессы и могли
814 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
815
816 *) Исправление: в директиве gzip_disable.
817 Спасибо Derrick Petzold.
818
819 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
820 reopen, reload процессу, запущенному в другой сессии.
821
822
823 Изменения в nginx 0.8.49 09.08.2010
824
825 *) Добавление: директива image_filter_jpeg_quality поддерживает
826 переменные.
827
828 *) Исправление: при использовании переменной $geoip_region_name в
829 рабочем процессе мог произойти segmentation fault; ошибка появилась в
830 0.8.48.
831
832 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
833 следующего запроса; ошибка появилась в 0.8.48.
834
835
836 Изменения в nginx 0.8.48 03.08.2010
837
838 *) Изменение: теперь по умолчанию директива server_name имеет значение
839 пустое имя "".
840 Спасибо Геннадию Махомеду.
841
842 *) Изменение: теперь по умолчанию директива server_name_in_redirect
843 имеет значение off.
844
845 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
846 $geoip_region_name.
847 Спасибо Christine McGonagle.
848
849 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
850 scgi_pass не наследовались в блоки limit_except.
851
852 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
853 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
854 появилась в 0.8.46.
855
856 *) Исправление: директива fastcgi_split_path_info неверно использовала
857 выделения, если в выделения попадала только часть URI.
858 Спасибо Юрию Тарадаю и Frank Enderle.
859
860 *) Исправление: директива rewrite не экранировала символ ";" при
861 копировании из URI в аргументы.
862 Спасибо Daisuke Murase.
863
864 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
865 если изображение было больше размера image_filter_buffer.
866
867
868 Изменения в nginx 0.8.47 28.07.2010
869
870 *) Исправление: переменная $request_time имела неверные значения для
871 подзапросов.
872
873 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
874
875 *) Исправление: если использовался параметр max_size, то cache manager
876 мог зациклиться; ошибка появилась в 0.8.46.
877
878
879 Изменения в nginx 0.8.46 19.07.2010
880
881 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
882 и scgi_no_cache теперь влияют только на сохранение закэшированного
883 ответа.
884
885 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
886 uwsgi_cache_bypass и scgi_cache_bypass.
887
888 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
889 ошибки работы с бэкендом: память освобождалась только по истечении
890 времени неактивности или при недостатке памяти.
891
892
893 Изменения в nginx 0.8.45 13.07.2010
894
895 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
896 Спасибо Laurence Rowe.
897
898 *) Исправление: ответ SSI модуля мог передаваться не полностью после
899 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
900 Спасибо Максиму Дунину.
901
902 *) Исправление: директива listen не поддерживала параметр setfib=0.
903
904
905 Изменения в nginx 0.8.44 05.07.2010
906
907 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
908 заголовке которых есть строка "Set-Cookie".
909
910 *) Добавление: директива listen поддерживает параметр setfib.
911 Спасибо Андрею Филонову.
912
913 *) Исправление: директива sub_filter могла изменять регистр букв при
914 частичном совпадении.
915
916 *) Исправление: совместимость с HP/UX.
917
918 *) Исправление: совместимость с компилятором AIX xlC_r.
919
920 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
921 запросы.
922 Спасибо Miroslaw Jaworski.
923
924
925 Изменения в nginx 0.8.43 30.06.2010
926
927 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
928
929 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
930 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
931 0.8.42.
932
933 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
934 переконфигурации.
935 Спасибо Максиму Дунину.
936
937 *) Исправление: переменную $uid_set можно использовать на любой стадии
938 обработки запроса.
939
940
941 Изменения в nginx 0.8.42 21.06.2010
942
943 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
944 выражениями, если запрос полностью совпал с location'ом, заданным
945 строкой префикса. Предыдущее поведение появилось в 0.7.1.
946
947 *) Добавление: модуль ngx_http_scgi_module.
948 Спасибо Manlio Perillo.
949
950 *) Добавление: в директиве return можно добавлять текст ответа.
951
952
953 Изменения в nginx 0.8.41 15.06.2010
954
955 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
956 при запросе файла с неверной кодировкой UTF-8.
957
958 *) Изменение: теперь nginx разрешает использовать пробелы в строке
959 запроса.
960
961 *) Исправление: директива proxy_redirect неправильно изменяла строку
962 "Refresh" в заголовке ответа бэкенда.
963 Спасибо Андрею Андрееву и Максиму Согину.
964
965 *) Исправление: nginx не поддерживал путь без имени хоста в строке
966 "Destination" в заголовке запроса.
967
968
969 Изменения в nginx 0.8.40 07.06.2010
970
971 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
972 умолчанию.
973 Спасибо Jose Antonio Vazquez Gonzalez.
974
975 *) Добавление: модуль ngx_http_uwsgi_module.
976 Спасибо Roberto De Ioris.
977
978 *) Добавление: директива fastcgi_param со значением, начинающимся со
979 строки "HTTP_", изменяет строку заголовка в запросе клиента.
980
981 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
982 заголовке запроса клиента передавались FastCGI-серверу при
983 кэшировании.
984
985 *) Исправление: listen unix domain сокет нельзя было изменить во время
986 переконфигурации.
987 Спасибо Максиму Дунину.
988
989
990 Изменения в nginx 0.8.39 31.05.2010
991
992 *) Исправление: наследуемая директива alias неправильно работала во
993 вложенном location'е.
994
995 *) Исправление: в комбинации директив alias с переменными и try_files;
996
997 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
998 время обновления без перерыва.
999 Спасибо Максиму Дунину.
1000
1001
1002 Изменения в nginx 0.8.38 24.05.2010
1003
1004 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
1005
1006 *) Добавление: теперь при использовании переменной $scheme в директиве
1007 rewrite автоматически делается редирект.
1008 Спасибо Piotr Sikora.
1009
1010 *) Исправление: теперь задержки в директиве limit_req соответствует
1011 описанному алгоритму.
1012 Спасибо Максиму Дунину.
1013
1014 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
1015 перловом модулях.
1016
1017
1018 Изменения в nginx 0.8.37 17.05.2010
1019
1020 *) Добавление: модуль ngx_http_split_clients_module.
1021
1022 *) Добавление: директива map поддерживает ключи больше 255 символов.
1023
1024 *) Исправление: nginx игнорировал значения "private" и "no-store" в
1025 строке "Cache-Control" в заголовке ответа бэкенда.
1026
1027 *) Исправление: параметр stub в SSI-директиве include не использовался,
1028 если пустой ответ имел код 200.
1029
1030 *) Исправление: если проксированный или FastCGI запрос внутренне
1031 перенаправлялся в другой проксированный или FastCGI location, то в
1032 рабочем процессе мог произойти segmentation fault; ошибка появилась в
1033 0.8.33.
1034 Спасибо Yichun Zhang.
1035
1036 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
1037 таймаута.
1038 Спасибо Alan Batie.
1039
1040
1041 Изменения в nginx 0.8.36 22.04.2010
1042
1043 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
1044 методы DELETE, COPY и MOVE для симлинков.
1045
1046 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
1047 основном запросе значения переменных $query_string, $arg_... и им
1048 подобных.
1049
1050 *) Исправление: значение переменной повторно экранировалось после
1051 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
1052
1053 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
1054 Спасибо Vicente Aguilar и Максиму Дунину.
1055
1056 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
1057 Спасибо Максиму Дунину.
1058
1059 *) Исправление: nginx не собирался с параметром --without-http-cache;
1060 ошибка появилась в 0.8.35.
1061
1062
1063 Изменения в nginx 0.8.35 01.04.2010
1064
1065 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
1066
1067 *) Добавление: директива chunked_transfer_encoding.
1068
1069 *) Исправление: символ "&" при копировании в аргументы в правилах
1070 rewrite не экранировался.
1071
1072 *) Исправление: nginx мог завершаться аварийно во время обработки
1073 сигнала или при использовании директивы timer_resolution на
1074 платформах, не поддерживающих методы kqueue или eventport.
1075 Спасибо George Xie и Максиму Дунину.
1076
1077 *) Исправление: если временные файлы и постоянное место хранения
1078 располагались на разных файловых системах, то у постоянных файлов
1079 время изменения было неверным.
1080 Спасибо Максиму Дунину.
1081
1082 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
1083 "memcached sent invalid trailer".
1084 Спасибо Максиму Дунину.
1085
1086 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
1087 текстов.
1088 Спасибо Максиму Дунину.
1089
1090 *) Исправление: в рабочем процессе происходил segmentation fault, если
1091 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
1092 появилась в 0.8.34.
1093 Спасибо Максиму Дунину.
1094
1095
1096 Изменения в nginx 0.8.34 03.03.2010
1097
1098 *) Исправление: nginx не поддерживал все шифры, используемые в
1099 клиентских сертификатах.
1100 Спасибо Иннокентию Еникееву.
1101
1102 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
1103 ответом было много вывода в stderr.
1104
1105 *) Исправление: nginx не поддерживал HTTPS-рефереры.
1106
1107 *) Исправление: nginx/Windows мог не находить файлы, если путь в
1108 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
1109
1110 *) Исправление: переменная $date_local выдавала неверное время, если
1111 использовался формат "%s".
1112 Спасибо Максиму Дунину.
1113
1114 *) Исправление: если ssl_session_cache не был установлен или установлен
1115 в none, то при проверке клиентского сертификаты могла происходить
1116 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
1117
1118 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
1119 диапазон включал в себя одну и более сетей размером /16 и не
1120 начинался на границе сети размером /16.
1121
1122 *) Исправление: блок, используемый в параметре stub в SSI-директиве
1123 include, выводился с MIME-типом "text/plain".
1124
1125 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
1126
1127
1128 Изменения в nginx 0.8.33 01.02.2010
1129
1130 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
1131 Спасибо Dan Crowley, Core Security Technologies.
1132
1133 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
1134 Спасибо Dan Crowley, Core Security Technologies.
1135
1136 *) Изменение: теперь keepalive соединения после запросов POST не
1137 запрещаются для MSIE 7.0+.
1138 Спасибо Adam Lounds.
1139
1140 *) Изменение: теперь keepalive соединения запрещены для Safari.
1141 Спасибо Joshua Sierles.
1142
1143 *) Исправление: если проксированный или FastCGI запрос внутренне
1144 перенаправлялся в другой проксированный или FastCGI location, то
1145 переменная $upstream_response_time могла иметь ненормально большое
1146 значение; ошибка появилась в 0.8.7.
1147
1148 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1149 отбрасывания тела запроса; ошибка появилась в 0.8.11.
1150
1151
1152 Изменения в nginx 0.8.32 11.01.2010
1153
1154 *) Исправление: ошибки при использовании кодировки UTF-8 в
1155 ngx_http_autoindex_module.
1156 Спасибо Максиму Дунину.
1157
1158 *) Исправление: именованные выделения в регулярных выражениях работали
1159 только для двух переменных.
1160 Спасибо Максиму Дунину.
1161
1162 *) Исправление: теперь в строке заголовка запроса "Host" используется
1163 имя "localhost", если в директиве auth_http указан unix domain сокет.
1164 Спасибо Максиму Дунину.
1165
1166 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
1167 ответов.
1168 Спасибо Julian Reich.
1169
1170 *) Исправление: если директива "expires modified" выставляла дату в
1171 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
1172 отрицательное число.
1173 Спасибо Алексею Капранову.
1174
1175
1176 Изменения в nginx 0.8.31 23.12.2009
1177
1178 *) Добавление: теперь директива error_page может перенаправлять ответы
1179 со статусом 301 и 302.
1180
1181 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
1182 $geoip_longitude.
1183 Спасибо Arvind Sundararajan.
1184
1185 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
1186 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
1187
1188 *) Исправление: nginx закрывал соединение при запросе закэшированного
1189 ответа с пустым телом.
1190 Спасибо Piotr Sikora.
1191
1192 *) Исправление: nginx мог не собираться gcc 4.x при использовании
1193 оптимизации -O2 и выше.
1194 Спасибо Максиму Дунину и Денису Латыпову.
1195
1196 *) Исправление: регулярные выражения в location всегда тестировались с
1197 учётом регистра; ошибка появилась в 0.8.25.
1198
1199 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
1200 проксируемого запроса была строка "If-None-Match".
1201 Спасибо Tim Dettrick и David Kostal.
1202
1203 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
1204 перезаписи уже существующего файла.
1205
1206
1207 Изменения в nginx 0.8.30 15.12.2009
1208
1209 *) Изменение: теперь по умолчанию размер буфера директивы
1210 large_client_header_buffers равен 8K.
1211 Спасибо Andrew Cholakian.
1212
1213 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
1214
1215 *) Исправление: nginx/Windows пытался дважды переименовать временный
1216 файл при перезаписи уже существующего файла.
1217
1218 *) Исправление: ошибки double free or corruption, возникающей, если имя
1219 хоста не было найдено; ошибка появилась в 0.8.22.
1220 Спасибо Константину Свисту.
1221
1222 *) Исправление: в использовании libatomic на некоторых платформах.
1223 Спасибо W-Mark Kubacki.
1224
1225
1226 Изменения в nginx 0.8.29 30.11.2009
1227
1228 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
1229 ответа "009".
1230
1231 *) Добавление: директивы addition_types, charset_types, gzip_types,
1232 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
1233
1234 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
1235 Спасибо W-Mark Kubacki.
1236
1237 *) Добавление: параметр --with-libatomic[=DIR] в configure.
1238 Спасибо W-Mark Kubacki.
1239
1240 *) Исправление: listen unix domain сокет имели ограниченные права
1241 доступа.
1242
1243 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
1244 обрабатывались.
1245
1246 *) Исправление: именованные выделения в регулярных выражениях, заданные
1247 как "?P<...>", не работали в директиве server_name.
1248 Спасибо Максиму Дунину.
1249
1250
1251 Изменения в nginx 0.8.28 23.11.2009
1252
1253 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
1254 появилась в 0.8.25.
1255
1256
1257 Изменения в nginx 0.8.27 17.11.2009
1258
1259 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
1260 появилась в 0.8.25.
1261
1262
1263 Изменения в nginx 0.8.26 16.11.2009
1264
1265 *) Исправление: ошибки при использовании выделений в директиве rewrite;
1266 ошибка появилась в 0.8.25.
1267
1268 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1269 появилась в 0.8.25.
1270
1271
1272 Изменения в nginx 0.8.25 16.11.2009
1273
1274 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
1275 не найдена с помощью метода $r->variable().
1276
1277 *) Добавление: модуль ngx_http_degradation_module.
1278
1279 *) Добавление: именованные выделения в регулярных выражениях.
1280
1281 *) Добавление: теперь при использовании переменных в директиве
1282 proxy_pass не требуется задавать URI.
1283
1284 *) Добавление: теперь директива msie_padding работает и для Chrome.
1285
1286 *) Исправление: в рабочем процессе происходил segmentation fault при
1287 недостатке памяти; ошибка появилась в 0.8.18.
1288
1289 *) Исправление: nginx передавал сжатые ответы клиентам, не
1290 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
1291 ошибка появилась в 0.8.16.
1292
1293
1294 Изменения в nginx 0.8.24 11.11.2009
1295
1296 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
1297 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
1298
1299 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
1300 появилась в 0.8.23.
1301
1302 *) Исправление: параметр "unix:" в директиве set_real_ip_from
1303 неправильно наследовался с предыдущего уровня.
1304
1305 *) Исправление: в resolver'е при определении пустого имени.
1306
1307
1308 Изменения в nginx 0.8.23 11.11.2009
1309
1310 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
1311 Спасибо Максиму Дунину.
1312
1313 *) Исправление: listen unix domain сокет не наследовался во время
1314 обновления без перерыва.
1315
1316 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
1317 без ещё одной директивы с любым IP-адресом.
1318
1319 *) Исправление: segmentation fault и зацикливания в resolver'е.
1320
1321 *) Исправление: в resolver'е.
1322 Спасибо Артёму Бохану.
1323
1324
1325 Изменения в nginx 0.8.22 03.11.2009
1326
1327 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
1328
1329 *) Добавление: директивы access и deny поддерживают IPv6.
1330
1331 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
1332 заголовках запроса.
1333
1334 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
1335
1336 *) Исправление: nginx не удалял unix domain сокет после тестирования
1337 конфигурации.
1338
1339 *) Исправление: nginx удалял unix domain сокет во время обновления без
1340 перерыва.
1341
1342 *) Исправление: оператор "!-x" не работал.
1343 Спасибо Максиму Дунину.
1344
1345 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1346 использовании limit_rate в HTTPS сервере.
1347 Спасибо Максиму Дунину.
1348
1349 *) Исправление: при записи в лог переменной $limit_rate в рабочем
1350 процессе происходил segmentation fault.
1351 Спасибо Максиму Дунину.
1352
1353 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1354 если внутри блока server не было директивы listen; ошибка появилась в
1355 0.8.21.
1356
1357
1358 Изменения в nginx 0.8.21 26.10.2009
1359
1360 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
1361
1362 *) Добавление: директива listen модуля HTTP поддерживает unix domain
1363 сокеты.
1364 Спасибо Hongli Lai.
1365
1366 *) Добавление: параметр "default_server" в директиве listen.
1367
1368 *) Добавление: теперь параметр "default" не обязателен для установки
1369 параметров listen-сокета.
1370
1371 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
1372 платформах;
1373
1374 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1375
1376
1377 Изменения в nginx 0.8.20 14.10.2009
1378
1379 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1380 "HIGH:!ADH:!MD5".
1381
1382 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
1383 слэш для линков на каталоги; ошибка появилась в 0.7.15.
1384
1385 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
1386 --error-log-path; ошибка появилась в 0.7.53.
1387
1388 *) Исправление: nginx не считал запятую разделителем в строке
1389 "Cache-Control" в заголовке ответа бэкенда.
1390
1391 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
1392 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
1393 не имел достаточно прав для работы с каталогами верхнего уровня.
1394
1395 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
1396 FastCGI-сервера не скрывались при кэшировании, если не использовались
1397 директивы fastcgi_hide_header с любыми параметрами.
1398
1399 *) Исправление: nginx неверно считал размер кэша на диске.
1400
1401
1402 Изменения в nginx 0.8.19 06.10.2009
1403
1404 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
1405
1406 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1407 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
1408
1409 *) Исправление: директива limit_req не работала; ошибка появилась в
1410 0.8.18.
1411
1412
1413 Изменения в nginx 0.8.18 06.10.2009
1414
1415 *) Добавление: директива read_ahead.
1416
1417 *) Добавление: теперь можно использовать несколько директив
1418 perl_modules.
1419
1420 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
1421
1422 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
1423 bucket.
1424 Спасибо Максиму Дунину.
1425
1426 *) Исправление: nginx не работал на Linux/sparc.
1427 Спасибо Marcus Ramberg.
1428
1429 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
1430 ответе на запрос MKCOL.
1431 Спасибо Xie Zhenye.
1432
1433 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
1434 появилась в 0.8.11.
1435
1436 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1437
1438
1439 Изменения в nginx 0.8.17 28.09.2009
1440
1441 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
1442 в заголовке запроса.
1443
1444 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
1445
1446 *) Добавление: переменная $ssl_session_id.
1447
1448 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
1449
1450
1451 Изменения в nginx 0.8.16 22.09.2009
1452
1453 *) Добавление: директива image_filter_transparency.
1454
1455 *) Исправление: директива "addition_types" была неверно названа
1456 "addtion_types".
1457
1458 *) Исправление: порчи кэша resolver'а.
1459 Спасибо Matthew Dempsky.
1460
1461 *) Исправление: утечки памяти в resolver'е.
1462 Спасибо Matthew Dempsky.
1463
1464 *) Исправление: неверная строка запроса в переменной $request
1465 записывалась в access_log только при использовании error_log на
1466 уровне info или debug.
1467
1468 *) Исправление: в поддержке альфа-канала PNG в модуле
1469 ngx_http_image_filter_module.
1470
1471 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
1472 заголовок ответа, если обе директивы gzip_static и gzip_vary были
1473 включены.
1474
1475 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
1476 nginx/Windows.
1477
1478 *) Исправление: ошибки при использовании post_action; ошибка появилась в
1479 0.8.11.
1480 Спасибо Игорю Артемьеву.
1481
1482
1483 Изменения в nginx 0.8.15 14.09.2009
1484
1485 *) Безопасность: при обработке специально созданного запроса в рабочем
1486 процессе мог произойти segmentation fault.
1487 Спасибо Chris Ries.
1488
1489 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
1490 .domain-some.tld, то имя .sub.domain.tld попадало под маску
1491 .domain.tld.
1492
1493 *) Исправление: в поддержке прозрачности в модуле
1494 ngx_http_image_filter_module.
1495
1496 *) Исправление: в файловом AIO.
1497
1498 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
1499 появилась в 0.8.11.
1500
1501 *) Исправление: ошибки при использовании встроенного перла; ошибка
1502 появилась в 0.8.11.
1503
1504
1505 Изменения в nginx 0.8.14 07.09.2009
1506
1507 *) Исправление: устаревший закэшированный запрос мог залипнуть в
1508 состоянии "UPDATING".
1509
1510 *) Исправление: при использовании error_log на уровне info или debug в
1511 рабочем процессе мог произойти segmentation fault.
1512 Спасибо Сергею Боченкову.
1513
1514 *) Исправление: ошибки при использовании встроенного перла; ошибка
1515 появилась в 0.8.11.
1516
1517 *) Исправление: директива error_page не перенаправляла ошибку 413;
1518 ошибка появилась в 0.6.10.
1519
1520
1521 Изменения в nginx 0.8.13 31.08.2009
1522
1523 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
1524
1525 *) Исправление: nginx не собирался без параметра --with-file-aio на
1526 FreeBSD; ошибка появилась в 0.8.12.
1527
1528
1529 Изменения в nginx 0.8.12 31.08.2009
1530
1531 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
1532
1533 *) Исправление: ошибки при использовании try_files; ошибка появилась в
1534 0.8.11.
1535
1536 *) Исправление: ошибки при использовании memcached; ошибка появилась в
1537 0.8.11.
1538
1539
1540 Изменения в nginx 0.8.11 28.08.2009
1541
1542 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
1543 для MSIE 6.0 SV1.
1544
1545 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
1546
1547 *) Добавление: директива directio_alignment.
1548
1549
1550 Изменения в nginx 0.8.10 24.08.2009
1551
1552 *) Исправление: утечек памяти при использовании базы GeoIP City.
1553
1554 *) Исправление: ошибки при копировании временных файлов в постоянное
1555 место хранения; ошибка появилась в 0.8.9.
1556
1557
1558 Изменения в nginx 0.8.9 17.08.2009
1559
1560 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
1561 процесс; это должно улучшить обработку больших кэшей.
1562
1563 *) Добавление: теперь временные файлы и постоянное место хранения могут
1564 располагаться на разных файловых системах.
1565
1566
1567 Изменения в nginx 0.8.8 10.08.2009
1568
1569 *) Исправление: в обработке заголовков ответа, разделённых в
1570 FastCGI-записях.
1571
1572 *) Исправление: если запрос обрабатывался в двух проксированных или
1573 FastCGI location'ах и в первом из них использовалось кэширование, то
1574 в рабочем процессе происходил segmentation fault; ошибка появилась в
1575 0.8.7.
1576
1577
1578 Изменения в nginx 0.8.7 27.07.2009
1579
1580 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
1581
1582 *) Изменение: параметр ask директивы ssl_verify_client изменён на
1583 параметр optional и теперь он проверяет клиентский сертификат, если
1584 он был предложен.
1585 Спасибо Brice Figureau.
1586
1587 *) Добавление: переменная $ssl_client_verify.
1588 Спасибо Brice Figureau.
1589
1590 *) Добавление: директива ssl_crl.
1591 Спасибо Brice Figureau.
1592
1593 *) Добавление: параметр proxy директивы geo.
1594
1595 *) Добавление: директива image_filter поддерживает переменные для
1596 задания размеров.
1597
1598 *) Исправление: использование переменной $ssl_client_cert портило
1599 память; ошибка появилась в 0.7.7.
1600 Спасибо Сергею Журавлёву.
1601
1602 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
1603 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
1604 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
1605 Спасибо Максиму Дунину.
1606
1607 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
1608 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
1609 Спасибо Максиму Дунину.
1610
1611 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
1612 ответы в подзапросах; ошибка появилась в 0.8.5.
1613
1614
1615 Изменения в nginx 0.8.6 20.07.2009
1616
1617 *) Добавление: модуль ngx_http_geoip_module.
1618
1619 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
1620 document" для правильного документа.
1621 Спасибо Kuramoto Eiji.
1622
1623 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
1624 location'ов, заданных регулярным выражением, теперь всегда делается
1625 сравнение без учёта регистра символов.
1626
1627 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
1628 Спасибо Hugo Leisink.
1629
1630 *) Исправление: имя файла указанного в --conf-path игнорировалось при
1631 установке; ошибка появилась в 0.6.6.
1632 Спасибо Максиму Дунину.
1633
1634
1635 Изменения в nginx 0.8.5 13.07.2009
1636
1637 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
1638
1639 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
1640 для неверных имени/пароля возвращалась 500-ая ошибка.
1641
1642 *) Исправление: ответы модуля ngx_http_perl_module не работали в
1643 подзапросах.
1644
1645 *) Исправление: в модуле ngx_http_limit_req_module.
1646 Спасибо Максиму Дунину.
1647
1648
1649 Изменения в nginx 0.8.4 22.06.2009
1650
1651 *) Исправление: nginx не собирался с параметром --without-http-cache;
1652 ошибка появилась в 0.8.3.
1653
1654
1655 Изменения в nginx 0.8.3 19.06.2009
1656
1657 *) Добавление: переменная $upstream_cache_status.
1658
1659 *) Исправление: nginx не собирался на MacOSX 10.6.
1660
1661 *) Исправление: nginx не собирался с параметром --without-http-cache;
1662 ошибка появилась в 0.8.2.
1663
1664 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
1665 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
1666 в рабочем процессе происходил segmentation fault.
1667 Спасибо Евгению Мычло.
1668
1669
1670 Изменения в nginx 0.8.2 15.06.2009
1671
1672 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
1673 на старте.
1674
1675 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
1676 долго; ошибка появилась в 0.7.4.
1677
1678
1679 Изменения в nginx 0.8.1 08.06.2009
1680
1681 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
1682 fastcgi_cache_use_stale.
1683
1684 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1685 заголовке запроса клиента передавались бэкенду при кэшировании, если
1686 не использовалась директива proxy_set_header с любыми параметрами.
1687
1688 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
1689 не скрывались при кэшировании, если не использовались директивы
1690 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
1691
1692 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
1693 GIF87a.
1694 Спасибо Денису Ильиных.
1695
1696 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
1697 появилась в 0.7.56.
1698
1699
1700 Изменения в nginx 0.8.0 02.06.2009
1701
1702 *) Добавление: директива keepalive_requests.
1703
1704 *) Добавление: директива limit_rate_after.
1705 Спасибо Ivan Debnar.
1706
1707 *) Исправление: XSLT-фильтр не работал в подзапросах.
1708
1709 *) Исправление: обработке относительных путей в nginx/Windows.
1710
1711 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
1712 fastcgi_cache в nginx/Windows.
1713
1714 *) Исправление: в обработке ошибок выделения памяти.
1715 Спасибо Максиму Дунину и Кириллу Коринскому.
1716
1717
1718 Изменения в nginx 0.7.59 25.05.2009
1719
1720 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
1721
1722 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
1723 Спасибо Максиму Дунину.
1724
1725 *) Исправление: при использовании переменной $request_body в рабочем
1726 процессе происходил segmentation fault, если в запросе не было тела;
1727 ошибка появилась в 0.7.58.
1728
1729 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
1730 ошибка появилась в 0.7.56.
1731
1732 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
1733 обрабатывались SSI-, charset- и gzip-фильтрами.
1734
1735 *) Исправление: директива charset не ставила кодировку для ответов
1736 модуля ngx_http_gzip_static_module.
1737
1738
1739 Изменения в nginx 0.7.58 18.05.2009
1740
1741 *) Добавление: директива listen почтового прокси-сервера поддерживает
1742 IPv6.
1743
1744 *) Добавление: директива image_filter_jpeg_quality.
1745
1746 *) Добавление: директива client_body_in_single_buffer.
1747
1748 *) Добавление: переменная $request_body.
1749
1750 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
1751 файлов, содержащих символ ":".
1752
1753 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
1754 0.7.53.
1755 Спасибо Денису Латыпову.
1756
1757
1758 Изменения в nginx 0.7.57 12.05.2009
1759
1760 *) Исправление: при перенаправлении ошибок модуля
1761 ngx_http_image_filter_module в именованный location в рабочем
1762 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1763
1764
1765 Изменения в nginx 0.7.56 11.05.2009
1766
1767 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
1768 HTTP.
1769
1770 *) Исправление: в модуле ngx_http_image_filter_module.
1771
1772
1773 Изменения в nginx 0.7.55 06.05.2009
1774
1775 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1776 fastcgi_cache_use_stale не работали.
1777
1778 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1779 заголовка.
1780
1781 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1782 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1783
1784 *) Исправление: при использовании директивы debug_connection в рабочем
1785 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1786
1787 *) Исправление: в сборке модуля ngx_http_image_filter_module.
1788
1789 *) Исправление: файлы больше 2G не передавались с использованием
1790 $r->sendfile.
1791 Спасибо Максиму Дунину.
1792
1793
1794 Изменения в nginx 0.7.54 01.05.2009
1795
1796 *) Добавление: модуль ngx_http_image_filter_module.
1797
1798 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1799
1800 *) Исправление: при использовании переменных "open_file_cache_errors on"
1801 в рабочем процессе мог произойти segmentation fault; ошибка появилась
1802 в 0.7.53.
1803
1804 *) Исправление: директива "port_in_redirect off" не работала; ошибка
1805 появилась в 0.7.39.
1806
1807 *) Исправление: улучшение обработки ошибок метода select.
1808
1809 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
1810
1811 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
1812 ошибка появилась в 0.7.53.
1813
1814
1815 Изменения в nginx 0.7.53 27.04.2009
1816
1817 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
1818 самого начала работы.
1819
1820 *) Добавление: теперь ошибки и предупреждения при старте записываются в
1821 error_log и выводятся на stderr.
1822
1823 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
1824 как префикс каталог, в котором он был запущен.
1825
1826 *) Добавление: ключ -p.
1827
1828 *) Добавление: ключ -s на Unix-платформах.
1829
1830 *) Добавление: ключи -? и -h.
1831 Спасибо Jerome Loyet.
1832
1833 *) Добавление: теперь ключи можно задавать в сжатой форме.
1834
1835 *) Исправление: nginx/Windows не работал, если файл конфигурации был
1836 задан ключом -c.
1837
1838 *) Исправление: при использовании директив proxy_store, fastcgi_store,
1839 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
1840 Спасибо Максиму Дунину.
1841
1842 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
1843 почтового прокси-сервера передавалось неверное значение; ошибка
1844 появилась в 0.7.34.
1845 Спасибо Simon Lecaille.
1846
1847 *) Исправление: при логгировании на Linux не писались текстовые описания
1848 системных ошибок; ошибка появилась в 0.7.45.
1849
1850 *) Исправление: директива fastcgi_cache_min_uses не работала.
1851 Спасибо Андрею Воробьёву.
1852
1853
1854 Изменения в nginx 0.7.52 20.04.2009
1855
1856 *) Добавление: первая бинарная версия под Windows.
1857
1858 *) Исправление: корректная обработка метода HEAD при кэшировании.
1859
1860 *) Исправление: корректная обработка строк "If-Modified-Since",
1861 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
1862
1863 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
1864 заголовке ответа для закэшированных ответов.
1865
1866 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
1867 perl поддерживал потоки, то при выходе основного процесса могла
1868 выдаваться ошибка "panic: MUTEX_LOCK".
1869
1870 *) Исправление: nginx не собирался с параметром --without-http-cache;
1871 ошибка появилась в 0.7.48.
1872
1873 *) Исправление: nginx не собирался на платформах, отличных от i386,
1874 amd64, sparc и ppc; ошибка появилась в 0.7.42.
1875
1876
1877 Изменения в nginx 0.7.51 12.04.2009
1878
1879 *) Добавление: директива try_files поддерживает код ответа в последнем
1880 параметре.
1881
1882 *) Добавление: теперь в директиве return можно использовать любой код
1883 ответа.
1884
1885 *) Исправление: директива error_page делала внешний редирект без строки
1886 запроса; ошибка появилась в 0.7.44.
1887
1888 *) Исправление: если сервера слушали на нескольких явно описанных
1889 адресах, то виртуальные сервера могли не работать; ошибка появилась в
1890 0.7.39.
1891
1892
1893 Изменения в nginx 0.7.50 06.04.2009
1894
1895 *) Исправление: переменные $arg_... не работали; ошибка появилась в
1896 0.7.49.
1897
1898
1899 Изменения в nginx 0.7.49 06.04.2009
1900
1901 *) Исправление: при использовании переменных $arg_... в рабочем процессе
1902 мог произойти segmentation fault; ошибка появилась в 0.7.48.
1903
1904
1905 Изменения в nginx 0.7.48 06.04.2009
1906
1907 *) Добавление: директива proxy_cache_key.
1908
1909 *) Исправление: теперь nginx учитывает при кэшировании строки
1910 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
1911 бэкенда.
1912
1913 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
1914
1915 *) Исправление: директива fastcgi_cache_key не наследовалась.
1916
1917 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
1918 Спасибо Максиму Дунину.
1919
1920 *) Исправление: nginx не собирался с библиотекой uclibc.
1921 Спасибо Timothy Redaelli.
1922
1923 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
1924 в 0.7.46.
1925
1926
1927 Изменения в nginx 0.7.47 01.04.2009
1928
1929 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
1930 ошибка появилась в 0.7.46.
1931
1932 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
1933
1934 *) Исправление: если использовался параметр max_size, то cache manager
1935 мог удалить весь кэш; ошибка появилась в 0.7.46.
1936
1937 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
1938 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
1939 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
1940 в 0.7.46.
1941
1942 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1943 перенаправлении запроса проксированному или FastCGI-серверу с помощью
1944 error_page или try_files; ошибка появилась в 0.7.44.
1945
1946
1947 Изменения в nginx 0.7.46 30.03.2009
1948
1949 *) Исправление: архив предыдущего релиза был неверным.
1950
1951
1952 Изменения в nginx 0.7.45 30.03.2009
1953
1954 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
1955 задавать на разных уровнях.
1956
1957 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
1958
1959 *) Добавление: параметр max_size в директиве proxy_cache_path.
1960
1961 *) Добавление: предварительная поддержка кэширования в модуле
1962 ngx_http_fastcgi_module.
1963
1964 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
1965 указываются названия директивы и зоны.
1966
1967 *) Исправление: директива "add_header last-modified ''" не удаляла в
1968 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
1969
1970 *) Исправление: в директиве auth_basic_user_file не работал
1971 относительный путь, заданный строкой без переменных; ошибка появилась
1972 в 0.7.44.
1973 Спасибо Jerome Loyet.
1974
1975 *) Исправление: в директиве alias, заданной переменными без ссылок на
1976 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
1977
1978
1979 Изменения в nginx 0.7.44 23.03.2009
1980
1981 *) Добавление: предварительная поддержка кэширования в модуле
1982 ngx_http_proxy_module.
1983
1984 *) Добавление: параметр --with-pcre в configure.
1985
1986 *) Добавление: теперь директива try_files может быть использована на
1987 уровне server.
1988
1989 *) Исправление: директива try_files неправильно обрабатывала строку
1990 запроса в последнем параметре.
1991
1992 *) Исправление: директива try_files могла неверно тестировать каталоги.
1993
1994 *) Исправление: если для пары адрес:порт описан только один сервер, то
1995 выделения в регулярных выражениях в директиве server_name не
1996 работали.
1997
1998
1999 Изменения в nginx 0.7.43 18.03.2009
2000
2001 *) Исправление: запрос обрабатывался неверно, если директива root
2002 использовала переменные; ошибка появилась в 0.7.42.
2003
2004 *) Исправление: если сервер слушал на адресах типа "*", то значение
2005 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
2006
2007
2008 Изменения в nginx 0.7.42 16.03.2009
2009
2010 *) Изменение: ошибка "Invalid argument", возвращаемая
2011 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
2012
2013 *) Изменение: при отсутствии файла, указанного в директиве
2014 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
2015
2016 *) Добавление: директива auth_basic_user_file поддерживает переменные.
2017 Спасибо Кириллу Коринскому.
2018
2019 *) Добавление: директива listen поддерживает параметр ipv6only.
2020 Спасибо Zhang Hua.
2021
2022 *) Исправление: в директиве alias со ссылками на выделения в регулярных
2023 выражениях; ошибка появилась в 0.7.40.
2024
2025 *) Исправление: совместимость с Tru64 UNIX.
2026 Спасибо Dustin Marquess.
2027
2028 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2029 в 0.7.41.
2030
2031
2032 Изменения в nginx 0.7.41 11.03.2009
2033
2034 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2035 если в server_name или location были выделения в регулярных
2036 выражениях; ошибка появилась в 0.7.40.
2037 Спасибо Владимиру Сопоту.
2038
2039
2040 Изменения в nginx 0.7.40 09.03.2009
2041
2042 *) Добавление: директива location поддерживает выделения в регулярных
2043 выражениях.
2044
2045 *) Добавление: директиву alias с ссылками на выделения в регулярных
2046 выражениях можно использовать внутри location'а, заданного регулярным
2047 выражением с выделениями.
2048
2049 *) Добавление: директива server_name поддерживает выделения в регулярных
2050 выражениях.
2051
2052 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
2053 слэш для каталогов на файловой системе XFS; ошибка появилась в
2054 0.7.15.
2055 Спасибо Дмитрию Кузьменко.
2056
2057
2058 Изменения в nginx 0.7.39 02.03.2009
2059
2060 *) Исправление: при включённом сжатии большие ответы с использованием
2061 SSI могли зависать; ошибка появилась в 0.7.28.
2062 Спасибо Артёму Бохану.
2063
2064 *) Исправление: при использовании коротких статических вариантов в
2065 директиве try_files в рабочем процессе мог произойти segmentation
2066 fault.
2067
2068
2069 Изменения в nginx 0.7.38 23.02.2009
2070
2071 *) Добавление: логгирование ошибок аутентификации.
2072
2073 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
2074 игнорировались после нечётного числа пустых строк.
2075 Спасибо Александру Загребину.
2076
2077 *) Исправление: при использовании длинного пути в unix domain сокете в
2078 главном процессе происходил segmentation fault; ошибка появилась в
2079 0.7.36.
2080
2081
2082 Изменения в nginx 0.7.37 21.02.2009
2083
2084 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
2085 появилась в 0.7.36.
2086
2087
2088 Изменения в nginx 0.7.36 21.02.2009
2089
2090 *) Добавление: предварительная поддержка IPv6; директива listen модуля
2091 HTTP поддерживает IPv6.
2092
2093 *) Исправление: переменная $ancient_browser не работала для браузеров,
2094 заданных директивами modern_browser.
2095
2096
2097 Изменения в nginx 0.7.35 16.02.2009
2098
2099 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
2100 асимметричных шифров.
2101 Спасибо Marcin Gozdalik.
2102
2103 *) Исправление: директива try_files выставляла MIME-type, исходя из
2104 расширения первоначального запроса.
2105
2106 *) Исправление: в директивах server_name, valid_referers и map
2107 неправильно обрабатывались имена вида "*domain.tld", если
2108 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
2109 ошибка появилась в 0.7.9.
2110
2111
2112 Изменения в nginx 0.7.34 10.02.2009
2113
2114 *) Добавление: параметр off в директиве if_modified_since.
2115
2116 *) Добавление: теперь после команды XCLIENT nginx посылает команду
2117 HELO/EHLO.
2118 Спасибо Максиму Дунину.
2119
2120 *) Добавление: поддержка Microsoft-специфичного режима
2121 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
2122 Спасибо Максиму Дунину.
2123
2124 *) Исправление: в директиве rewrite, возвращающей редирект, старые
2125 аргументы присоединялись к новым через символ "?" вместо "&";
2126 ошибка появилась в 0.1.18.
2127 Спасибо Максиму Дунину.
2128
2129 *) Исправление: nginx не собирался на AIX.
2130
2131
2132 Изменения в nginx 0.7.33 02.02.2009
2133
2134 *) Исправление: если на запрос с телом возвращался редирект, то ответ
2135 мог быть двойным при использовании методов epoll или rtsig.
2136 Спасибо Eden Li.
2137
2138 *) Исправление: для некоторых типов редиректов в переменной
2139 $sent_http_location было пустое значение.
2140
2141 *) Исправление: при использовании директивы resolver в SMTP
2142 прокси-сервере в рабочем процессе мог произойти segmentation fault.
2143
2144
2145 Изменения в nginx 0.7.32 26.01.2009
2146
2147 *) Добавление: теперь в директиве try_files можно явно указать проверку
2148 каталога.
2149
2150 *) Исправление: fastcgi_store не всегда сохранял файлы.
2151
2152 *) Исправление: в гео-диапазонах.
2153
2154 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
2155 если nginx был собран без отладки.
2156 Спасибо Андрею Квасову.
2157
2158
2159 Изменения в nginx 0.7.31 19.01.2009
2160
2161 *) Изменение: теперь директива try_files проверяет только файлы,
2162 игнорируя каталоги.
2163
2164 *) Добавление: директива fastcgi_split_path_info.
2165
2166 *) Исправления в поддержке строки "Expect" в заголовке запроса.
2167
2168 *) Исправления в гео-диапазонах.
2169
2170 *) Исправление: при отсутствии ответа ngx_http_memcached_module
2171 возвращал в теле ответа строку "END" вместо 404-ой страницы по
2172 умолчанию; ошибка появилась в 0.7.18.
2173 Спасибо Максиму Дунину.
2174
2175 *) Исправление: при проксировании SMPT nginx выдавал сообщение
2176 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
2177 Спасибо Максиму Дунину.
2178
2179
2180 Изменения в nginx 0.7.30 24.12.2008
2181
2182 *) Исправление: в рабочем процессе происходил segmentation fault, если в
2183 директивах fastcgi_pass или proxy_pass использовались переменные и
2184 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
2185
2186
2187 Изменения в nginx 0.7.29 24.12.2008
2188
2189 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
2190 переменные при использовании unix domain сокетов.
2191
2192 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
2193
2194 *) Исправление: ответ "100 Continue" выдавался для запросов версии
2195 HTTP/1.0;
2196 Спасибо Максиму Дунину.
2197
2198 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
2199 под Cygwin.
2200
2201
2202 Изменения в nginx 0.7.28 22.12.2008
2203
2204 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
2205
2206 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
2207 с 4 4k/8k на 32 4k или 16 8k.
2208
2209
2210 Изменения в nginx 0.7.27 15.12.2008
2211
2212 *) Добавление: директива try_files.
2213
2214 *) Добавление: директива fastcgi_pass поддерживает переменные.
2215
2216 *) Добавление: теперь директива geo может брать адрес из переменной.
2217 Спасибо Андрею Нигматулину.
2218
2219 *) Добавление: теперь модификатор location'а можно указывать без пробела
2220 перед названием.
2221
2222 *) Добавление: переменная $upstream_response_length.
2223
2224 *) Исправление: теперь директива add_header не добавляет пустое
2225 значение.
2226
2227 *) Исправление: при запросе файла нулевой длины nginx закрывал
2228 соединение, ничего не передав; ошибка появилась в 0.7.25.
2229
2230 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
2231 каталог.
2232
2233 *) Исправление: если в сервере не был описан ни один именованный
2234 location, но такой location использовался в директиве error_page, то
2235 в рабочем процессе происходил segmentation fault.
2236 Спасибо Сергею Боченкову.
2237
2238
2239 Изменения в nginx 0.7.26 08.12.2008
2240
2241 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
2242
2243
2244 Изменения в nginx 0.7.25 08.12.2008
2245
2246 *) Изменение: в обработке подзапросов.
2247
2248 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
2249 заголовке запроса.
2250
2251 *) Исправление: теперь директивы limit_req и limit_conn указывают
2252 причину запрета запроса.
2253
2254 *) Исправление: в параметре delete директивы geo.
2255
2256
2257 Изменения в nginx 0.7.24 01.12.2008
2258
2259 *) Добавление: директива if_modified_since.
2260
2261 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
2262 ответом сервер передавал много сообщений в stderr.
2263
2264 *) Исправление: переменные "$cookie_..." не работали в SSI and в
2265 перловом модуле.
2266
2267
2268 Изменения в nginx 0.7.23 27.11.2008
2269
2270 *) Добавление: параметры delete и ranges в директиве geo.
2271
2272 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
2273
2274 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
2275
2276
2277 Изменения в nginx 0.7.22 20.11.2008
2278
2279 *) Добавление: параметр none в директиве smtp_auth.
2280 Спасибо Максиму Дунину.
2281
2282 *) Добавление: переменные "$cookie_...".
2283
2284 *) Исправление: директива directio не работала с файловой системой XFS.
2285
2286 *) Исправление: resolver не понимал большие DNS-ответы.
2287 Спасибо Zyb.
2288
2289
2290 Изменения в nginx 0.7.21 11.11.2008
2291
2292 *) Изменения в модуле ngx_http_limit_req_module.
2293
2294 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
2295 Спасибо Денису Латыпову.
2296
2297 *) Изменение: совместимость с glibc 2.3.
2298 Спасибо Eric Benson и Максиму Дунину.
2299
2300 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
2301 ошибка появилась в 0.7.6.
2302
2303
2304 Изменения в nginx 0.7.20 10.11.2008
2305
2306 *) Изменения в модуле ngx_http_gzip_filter_module.
2307
2308 *) Добавление: модуль ngx_http_limit_req_module.
2309
2310 *) Исправление: на платформах sparc и ppc рабочие процессы могли
2311 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
2312 Спасибо Максиму Дунину.
2313
2314 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
2315 работали; ошибка появилась в 0.7.12.
2316
2317 *) Исправление: при использовании HTTPS запросы могли завершаться с
2318 ошибкой "bad write retry".
2319
2320 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
2321 location'ов с именами меньше 3 символов.
2322
2323 *) Исправление: переменная $server_addr могла не иметь значения.
2324
2325
2326 Изменения в nginx 0.7.19 13.10.2008
2327
2328 *) Исправление: обновление номера версии.
2329
2330
2331 Изменения в nginx 0.7.18 13.10.2008
2332
2333 *) Изменение: директива underscores_in_headers; теперь nginx по
2334 умолчанию не разрешает подчёркивания в именах строк в заголовке
2335 запроса клиента.
2336
2337 *) Добавление: модуль ngx_http_secure_link_module.
2338
2339 *) Добавление: директива real_ip_header поддерживает любой заголовок.
2340
2341 *) Добавление: директива log_subrequest.
2342
2343 *) Добавление: переменная $realpath_root.
2344
2345 *) Добавление: параметры http_502 и http_504 в директиве
2346 proxy_next_upstream.
2347
2348 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
2349 fastcgi_next_upstream не работал.
2350
2351 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
2352 для запросов HEAD.
2353
2354 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
2355
2356
2357 Изменения в nginx 0.7.17 15.09.2008
2358
2359 *) Добавление: директива directio теперь работает на Linux.
2360
2361 *) Добавление: переменная $pid.
2362
2363 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
2364 при использовании open_file_cache.
2365
2366 *) Исправление: access_log с переменными не работал на Linux; ошибка
2367 появилась в 0.7.7.
2368
2369 *) Исправление: модуль ngx_http_charset_module не понимал название
2370 кодировки в кавычках, полученное от бэкенда.
2371
2372
2373 Изменения в nginx 0.7.16 08.09.2008
2374
2375 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
2376 появилась в 0.7.15.
2377
2378
2379 Изменения в nginx 0.7.15 08.09.2008
2380
2381 *) Добавление: модуль ngx_http_random_index_module.
2382
2383 *) Добавление: директива directio оптимизирована для запросов файлов,
2384 начинающихся с произвольной позиции.
2385
2386 *) Добавление: директива directio при необходимости запрещает
2387 использование sendfile.
2388
2389 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
2390 заголовке запроса клиента.
2391
2392
2393 Изменения в nginx 0.7.14 01.09.2008
2394
2395 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
2396 имеют значений по умолчанию.
2397
2398 *) Добавление: директива listen поддерживает параметр ssl.
2399
2400 *) Добавление: теперь при переконфигурации nginx учитывает изменение
2401 временной зоны на FreeBSD и Linux.
2402
2403 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
2404 прочие, не устанавливались, если сервером по умолчанию был не первый
2405 сервер.
2406
2407 *) Исправление: при использовании в качестве аргументов части URI,
2408 выделенного с помощью директивы rewrite, эти аргументы не
2409 экранировались.
2410
2411 *) Исправление: улучшения тестирования правильности конфигурационного
2412 файла.
2413
2414
2415 Изменения в nginx 0.7.13 26.08.2008
2416
2417 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
2418 в 0.7.12.
2419
2420
2421 Изменения в nginx 0.7.12 26.08.2008
2422
2423 *) Добавление: директива server_name поддерживает пустое имя "".
2424
2425 *) Добавление: директива gzip_disable поддерживает специальную маску
2426 msie6.
2427
2428 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
2429 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
2430 Спасибо Максиму Дунину.
2431
2432 *) Исправление: при перенаправлении запроса с помощью директивы
2433 error_page терялось тело запроса.
2434
2435 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
2436 директивы error_page возвращался полный ответ.
2437
2438 *) Исправление: метод $r->header_in() не возвращал значения строк
2439 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
2440 появилась в 0.7.0.
2441
2442
2443 Изменения в nginx 0.7.11 18.08.2008
2444
2445 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
2446 MIME-типом text/css.
2447
2448 *) Добавление: теперь nginx возвращает код 405 для метода POST при
2449 запросе статического файла, только если файл существует.
2450
2451 *) Добавление: директива proxy_ssl_session_reuse.
2452
2453 *) Исправление: после перенаправления запроса с помощью
2454 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
2455 оригинальный запрос.
2456
2457 *) Исправление: если у каталога были права доступа только на поиск
2458 файлов и первый индексный файл отсутствовал, то nginx возвращал
2459 ошибку 500.
2460
2461 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
2462 0.7.1.
2463
2464
2465 Изменения в nginx 0.7.10 13.08.2008
2466
2467 *) Исправление: ошибок в директивах addition_types, charset_types,
2468 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
2469 появились в 0.7.9.
2470
2471 *) Исправление: рекурсивной error_page для 500 ошибки.
2472
2473 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
2474 не для всего keepalive соединения, а для каждого запроса по этому
2475 соединению.
2476
2477
2478 Изменения в nginx 0.7.9 12.08.2008
2479
2480 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
2481 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
2482 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
2483
2484 *) Добавление: директивы charset_types и addition_types.
2485
2486 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
2487 используют хэш.
2488
2489 *) Добавление: модуль ngx_cpp_test_module.
2490
2491 *) Добавление: директива expires поддерживает суточное время.
2492
2493 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
2494 Спасибо Денису Латыпову и Максиму Дунину.
2495
2496 *) Исправление: директива log_not_found не работала при поиске индексных
2497 файлов.
2498
2499 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
2500 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
2501
2502 *) Исправление: если в директивах server_name, valid_referers и map
2503 использовалась маска вида "*.domain.tld" и при этом полное имя вида
2504 "domain.tld" не было описано, то это имя попадало под маску; ошибка
2505 появилась в 0.3.18.
2506
2507
2508 Изменения в nginx 0.7.8 04.08.2008
2509
2510 *) Добавление: модуль ngx_http_xslt_module.
2511
2512 *) Добавление: переменные "$arg_...".
2513
2514 *) Добавление: поддержка directio в Solaris.
2515 Спасибо Ivan Debnar.
2516
2517 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
2518 в заголовке ответа без строки статуса, то nginx использует код
2519 статуса 302.
2520 Спасибо Максиму Дунину.
2521
2522
2523 Изменения в nginx 0.7.7 30.07.2008
2524
2525 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
2526 временной.
2527
2528 *) Изменение: значением переменной $ssl_client_cert теперь является
2529 сертификат, перед каждой строкой которого, кроме первой, вставляется
2530 символ табуляции; неизменённый сертификат доступен через переменную
2531 $ssl_client_raw_cert.
2532
2533 *) Добавление: параметр ask директивы ssl_verify_client.
2534
2535 *) Добавление: улучшения в обработке byte-range.
2536 Спасибо Максиму Дунину.
2537
2538 *) Добавление: директива directio.
2539 Спасибо Jiang Hong.
2540
2541 *) Добавление: поддержка sendfile() в MacOSX 10.5.
2542
2543 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
2544 делается сравнение без учёта регистра символов; однако, сравнение
2545 ограничено только однобайтными locale'ями.
2546
2547 *) Исправление: соединения почтового прокси-сервера зависали в режиме
2548 SSL, если использовались методы select, poll или /dev/poll.
2549
2550 *) Исправление: ошибки при использовании кодировки UTF-8 в
2551 ngx_http_autoindex_module.
2552
2553
2554 Изменения в nginx 0.7.6 07.07.2008
2555
2556 *) Исправление: теперь при использовании переменных в директиве
2557 access_log всегда проверяется существовании root'а для запроса.
2558
2559 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
2560 значений в аргументах запроса.
2561
2562
2563 Изменения в nginx 0.7.5 01.07.2008
2564
2565 *) Исправления в поддержке переменных в директиве access_log; ошибки
2566 появились в 0.7.4.
2567
2568 *) Исправление: nginx не собирался с параметром
2569 --without-http_gzip_module; ошибка появилась в 0.7.3.
2570 Спасибо Кириллу Коринскому.
2571
2572 *) Исправление: при совместном использовании sub_filter и SSI ответы
2573 могли передаваться неверно.
2574
2575
2576 Изменения в nginx 0.7.4 30.06.2008
2577
2578 *) Добавление: директива access_log поддерживает переменные.
2579
2580 *) Добавление: директива open_log_file_cache.
2581
2582 *) Добавление: ключ -g.
2583
2584 *) Добавление: поддержка строки "Expect" в заголовке запроса.
2585
2586 *) Исправление: большие включения в SSI могли передавались не полностью.
2587
2588
2589 Изменения в nginx 0.7.3 23.06.2008
2590
2591 *) Изменение: MIME-тип для расширения rss изменён на
2592 "application/rss+xml".
2593
2594 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
2595 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
2596
2597 *) Добавление: теперь при использовании протокола "https://" в директиве
2598 rewrite автоматически делается редирект.
2599
2600 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
2601 ошибка появилась в 0.6.9.
2602
2603
2604 Изменения в nginx 0.7.2 16.06.2008
2605
2606 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
2607
2608 *) Добавление: директива ssl_dhparam.
2609
2610 *) Добавление: переменная $ssl_client_cert.
2611 Спасибо Manlio Perillo.
2612
2613 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
2614 искал новый location; ошибка появилась в 0.7.1.
2615 Спасибо Максиму Дунину.
2616
2617 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2618 в 0.7.1.
2619
2620 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
2621 nginx не добавлял аргументы из оригинального запроса.
2622
2623
2624 Изменения в nginx 0.7.1 26.05.2008
2625
2626 *) Изменение: теперь поиск location'а делается с помощью дерева.
2627
2628 *) Изменение: директива optimize_server_names упразднена в связи с
2629 появлением директивы server_name_in_redirect.
2630
2631 *) Изменение: некоторые давно устаревшие директивы больше не
2632 поддерживаются.
2633
2634 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
2635 параметр используется по умолчанию.
2636 Спасибо Rob Mueller.
2637
2638 *) Исправление: рабочие процессы могли не реагировать на сигналы
2639 переконфигурации и ротации логов.
2640
2641 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
2642 Спасибо Roxis.
2643
2644
2645 Изменения в nginx 0.7.0 19.05.2008
2646
2647 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
2648 записываются в виде \xXX.
2649 Спасибо Максиму Дунину.
2650
2651 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
2652 запроса.
2653
2654 *) Добавление: директива expires поддерживает флаг modified.
2655
2656 *) Добавление: переменные $uid_got и $uid_set можно использовать на
2657 любой стадии обработки запроса.
2658
2659 *) Добавление: переменная $hostname.
2660 Спасибо Андрею Нигматулину.
2661
2662 *) Добавление: поддержка DESTDIR.
2663 Спасибо Todd A. Fisher и Andras Voroskoi.
2664
2665 *) Исправление: при использовании keepalive на Linux в рабочем процессе
2666 мог произойти segmentation fault.
2667
2668
2669 Изменения в nginx 0.6.31 12.05.2008
2670
2671 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
2672 заголовка ответ была в конце записи FastCGI; ошибка появилась в
2673 0.6.2.
2674 Спасибо Сергею Серову.
2675
2676 *) Исправление: при удалении файла и использовании директивы
2677 open_file_cache_errors off в рабочем процессе мог произойти
2678 segmentation fault.
2679
2680
2681 Изменения в nginx 0.6.30 29.04.2008
2682
2683 *) Изменение: теперь, если маске, заданной в директиве include, не
2684 соответствует ни один файл, то nginx не выдаёт ошибку.
2685
2686 *) Добавление: теперь время в директивах можно задавать без пробела,
2687 например, "1h50m".
2688
2689 *) Исправление: утечек памяти, если директива ssl_verify_client имела
2690 значение on.
2691 Спасибо Chavelle Vincent.
2692
2693 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
2694 вывод.
2695
2696 *) Исправление: директива error_page не воспринимала параметры в
2697 перенаправляемом URI.
2698
2699 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
2700 в бинарном режиме.
2701
2702 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
2703 0.6.15.
2704
2705
2706 Изменения в nginx 0.6.29 18.03.2008
2707
2708 *) Добавление: модуль ngx_google_perftools_module.
2709
2710 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
2711 платформах; ошибка появилась в 0.6.27.
2712
2713
2714 Изменения в nginx 0.6.28 13.03.2008
2715
2716 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
2717
2718
2719 Изменения в nginx 0.6.27 12.03.2008
2720
2721 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
2722 rtsig.
2723
2724 *) Изменение: теперь при перенаправлении запроса в именованный location
2725 с помощью директивы error_page метод запроса не изменяется.
2726
2727 *) Добавление: директивы resolver и resolver_timeout в SMTP
2728 прокси-сервере.
2729
2730 *) Добавление: директива post_action поддерживает именованные
2731 location'ы.
2732
2733 *) Исправление: при перенаправлении запроса из location'а c обработчиком
2734 proxy, FastCGI или memcached в именованный location со статическим
2735 обработчиком в рабочем процессе происходил segmentation fault.
2736
2737 *) Исправление: браузеры не повторяли SSL handshake, если при первом
2738 handshake не оказалось правильного клиентского сертификата.
2739 Спасибо Александру Инюхину.
2740
2741 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
2742 error_page без изменения кода ошибки nginx пытался выделить очень
2743 много памяти.
2744
2745 *) Исправление: утечки памяти в долгоживущих небуфферизированных
2746 соединениях.
2747
2748 *) Исправление: утечки памяти в resolver'е.
2749
2750 *) Исправление: при перенаправлении запроса из location'а c обработчиком
2751 proxy в другой location с обработчиком proxy в рабочем процессе
2752 происходил segmentation fault.
2753
2754 *) Исправление: ошибки в кэшировании переменных $proxy_host и
2755 $proxy_port.
2756 Спасибо Сергею Боченкову.
2757
2758 *) Исправление: директива proxy_pass с переменными использовала порт,
2759 описанной в другой директиве proxy_pass без переменных, но с таким же
2760 именем хоста.
2761 Спасибо Сергею Боченкову.
2762
2763 *) Исправление: во время переконфигурации на некоторых 64-битном
2764 платформах в лог записывался alert "sendmsg() failed (9: Bad file
2765 descriptor)".
2766
2767 *) Исправление: при повторном использовании в SSI пустого block'а в
2768 качестве заглушки в рабочем процессе происходил segmentation fault.
2769
2770 *) Исправление: ошибки при копировании части URI, содержащего
2771 экранированные символы, в аргументы.
2772
2773
2774 Изменения в nginx 0.6.26 11.02.2008
2775
2776 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
2777 ответа.
2778
2779 *) Исправление: при использовании большого значения в директиве expires
2780 в рабочем процессе происходил segmentation fault.
2781 Спасибо Joaquin Cuenca Abela.
2782
2783 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
2784 Спасибо Геннадию Махомеду.
2785
2786 *) Исправление: в проксированных подзапросах и подзапросах к
2787 FastCGI-серверу вместо метода GET использовался оригинальный метод
2788 клиента.
2789
2790 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2791 отложенного accept'а.
2792 Спасибо Ben Maurer.
2793
2794 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
2795 (SSL: )"; ошибка появилась в 0.6.23.
2796
2797 *) Исправление: при использовании HTTPS запросы могли завершаться с
2798 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
2799
2800
2801 Изменения в nginx 0.6.25 08.01.2008
2802
2803 *) Изменение: вместо специального параметра "*" в директиве server_name
2804 теперь используется директива server_name_in_redirect.
2805
2806 *) Изменение: в качестве основного имени в директиве server_name теперь
2807 можно использовать имена с масками и регулярными выражениями.
2808
2809 *) Изменение: директива satisfy_any заменена директивой satisfy.
2810
2811 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
2812 нагружать процессор при запуске под Linux OpenVZ.
2813
2814 *) Добавление: директива min_delete_depth.
2815
2816 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
2817
2818 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
2819 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
2820
2821 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2822 отложенного accept'а.
2823 Спасибо Ben Maurer.
2824
2825 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2826 в 0.6.23.
2827
2828
2829 Изменения в nginx 0.6.24 27.12.2007
2830
2831 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
2832 segmentation fault; ошибка появилась в 0.6.23.
2833
2834
2835 Изменения в nginx 0.6.23 27.12.2007
2836
2837 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
2838 параметр используется по умолчанию.
2839
2840 *) Изменение: директива open_file_cache_retest переименована в
2841 open_file_cache_valid.
2842
2843 *) Добавление: директива open_file_cache_min_uses.
2844
2845 *) Добавление: модуль ngx_http_gzip_static_module.
2846
2847 *) Добавление: директива gzip_disable.
2848
2849 *) Добавление: директиву memcached_pass можно использовать внутри блока
2850 if.
2851
2852 *) Исправление: если внутри одного location'а использовались директивы
2853 "memcached_pass" и "if", то в рабочем процессе происходил
2854 segmentation fault.
2855
2856 *) Исправление: если при использовании директивы satisfy_any on" были
2857 заданы директивы не всех модулей доступа, то заданные директивы не
2858 проверялись.
2859
2860 *) Исправление: параметры, заданные регулярным выражением в директиве
2861 valid_referers, не наследовалась с предыдущего уровня.
2862
2863 *) Исправление: директива post_action не работала, если запрос
2864 завершался с кодом 499.
2865
2866 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
2867 Спасибо Ben Maurer.
2868
2869 *) Исправление: STARTTLS в режиме SMTP не работал.
2870 Спасибо Олегу Мотиенко.
2871
2872 *) Исправление: при использовании HTTPS запросы могли завершаться с
2873 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
2874
2875
2876 Изменения в nginx 0.6.22 19.12.2007
2877
2878 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
2879 значения, скопированные в память, выделенную perl'ом.
2880
2881 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
2882 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
2883 время переконфигурации основной процесс аварийно выходил; ошибка
2884 появилась в 0.5.9.
2885 Спасибо Борису Жмурову.
2886
2887 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
2888 неверные результаты выделения в регулярных выражениях.
2889
2890 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
2891 у которого небольшое тело запроса было уже полностью получено, то в
2892 рабочем процессе происходил segmentation fault.
2893
2894 *) Исправление: large_client_header_buffers не освобождались перед
2895 переходом в состояние keep-alive.
2896 Спасибо Олександру Штепе.
2897
2898 *) Исправление: в переменной $upstream_addr не записывался последний
2899 адрес; ошибка появилась в 0.6.18.
2900
2901 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
2902 теперь она возвращает ошибку 502, которую можно направить на
2903 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
2904
2905 *) Исправление: при использовании директивы fastcgi_catch_stderr в
2906 основном процессе происходил segmentation fault; ошибка появилась в
2907 0.6.10.
2908 Спасибо Manlio Perillo.
2909
2910
2911 Изменения в nginx 0.6.21 03.12.2007
2912
2913 *) Изменение: если в значениях переменных директивы proxy_pass
2914 используются только IP-адреса, то указывать resolver не нужно.
2915
2916 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2917 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2918 0.6.19.
2919
2920 *) Исправление: если resolver использовался на платформах, не
2921 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
2922 response".
2923 Спасибо Андрею Нигматулину.
2924
2925 *) Исправление: При использовании переменной $server_protocol в
2926 FastCGI-параметрах и запросе, длина которого была близка к значению
2927 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
2928 the request record is too big".
2929
2930 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
2931 nginx возвращал обычный ответ.
2932
2933
2934 Изменения в nginx 0.6.20 28.11.2007
2935
2936 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2937 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2938 0.6.19.
2939
2940
2941 Изменения в nginx 0.6.19 27.11.2007
2942
2943 *) Исправление: версия 0.6.18 не собиралась.
2944
2945
2946 Изменения в nginx 0.6.18 27.11.2007
2947
2948 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
2949 процесса добавляет микросекунды на время старта.
2950
2951 *) Изменение: в error_log теперь записывается полная строка запроса
2952 вместо только URI.
2953
2954 *) Добавление: директива proxy_pass поддерживает переменные.
2955
2956 *) Добавление: директивы resolver и resolver_timeout.
2957
2958 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
2959 заголовке ответа строку "Last-Modified".
2960
2961 *) Исправление: директива limit_rate не позволяла передавать на полной
2962 скорости, даже если был указан очень большой лимит.
2963
2964
2965 Изменения в nginx 0.6.17 15.11.2007
2966
2967 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
2968 Спасибо Александру Инюхину.
2969
2970 *) Исправление: при использовании директивы msie_refresh повторно
2971 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
2972
2973 *) Исправление: директива autoindex не работала при использовании "alias
2974 /".
2975
2976 *) Исправление: при использовании подзапросов в рабочем процессе мог
2977 произойти segmentation fault.
2978
2979 *) Исправление: при использовании SSL и gzip большие ответы могли
2980 передаваться не полностью.
2981
2982 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
2983 то переменная $status была равна 0.
2984
2985
2986 Изменения в nginx 0.6.16 29.10.2007
2987
2988 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
2989 Спасибо Илье Новикову.
2990
2991 *) Исправление: если в директиве error_page использовался символ "?", то
2992 он экранировался при проксировании запроса; ошибка появилась в
2993 0.6.11.
2994
2995 *) Исправление: совместимость с mget.
2996
2997
2998 Изменения в nginx 0.6.15 22.10.2007
2999
3000 *) Добавление: совместимость с Cygwin.
3001 Спасибо Владимиру Кутакову.
3002
3003 *) Добавление: директива merge_slashes.
3004
3005 *) Добавление: директива gzip_vary.
3006
3007 *) Добавление: директива server_tokens.
3008
3009 *) Исправление: nginx не раскодировал URI в команде SSI include.
3010
3011 *) Исправление: при использовании переменной в директивах charset или
3012 source_charset на старте или во время переконфигурации происходил
3013 segmentation fault,
3014
3015 *) Исправление: nginx возвращал ошибку 400 на запросы вида
3016 "GET http://www.domain.com HTTP/1.0".
3017 Спасибо James Oakley.
3018
3019 *) Исправление: после перенаправления запроса с телом запроса с помощью
3020 директивы error_page nginx пытался снова прочитать тело запроса;
3021 ошибка появилась в 0.6.7.
3022
3023 *) Исправление: в рабочем процессе происходил segmentation fault, если у
3024 сервера, обрабатывающему запрос, не был явно определён server_name;
3025 ошибка появилась в 0.6.7.
3026
3027
3028 Изменения в nginx 0.6.14 15.10.2007
3029
3030 *) Изменение: теперь по умолчанию команда SSI echo использует
3031 кодирование entity.
3032
3033 *) Добавление: параметр encoding в команде SSI echo.
3034
3035 *) Добавление: директиву access_log можно использовать внутри блока
3036 limit_except.
3037
3038 *) Исправление: если все сервера апстрима оказывались недоступными, то
3039 до восстановления работоспособности у всех серверов вес становился
3040 равным одному; ошибка появилась в 0.6.6.
3041
3042 *) Исправление: при использовании переменных $date_local и $date_gmt вне
3043 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
3044 segmentation fault.
3045
3046 *) Исправление: при использовании включённом отладочном логе в рабочем
3047 процессе мог произойти segmentation fault.
3048 Спасибо Андрею Нигматулину.
3049
3050 *) Исправление: ngx_http_memcached_module не устанавливал
3051 $upstream_response_time.
3052 Спасибо Максиму Дунину.
3053
3054 *) Исправление: рабочий процесс мог зациклиться при использовании
3055 memcached.
3056
3057 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
3058 строке "Connection" в заголовке запроса только, если они были в
3059 нижнем регистре; ошибка появилась в 0.6.11.
3060
3061 *) Исправление: sub_filter не работал с пустой строкой замены.
3062
3063 *) Исправление: в парсинге sub_filter.
3064
3065
3066 Изменения в nginx 0.6.13 24.09.2007
3067
3068 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
3069 использовался autoindex
3070 Спасибо Arkadiusz Patyk.
3071
3072
3073 Изменения в nginx 0.6.12 21.09.2007
3074
3075 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
3076 и smtp.
3077
3078 *) Добавление: параметры конфигурации --without-mail_pop3_module,
3079 --without-mail_imap_module и --without-mail_smtp_module.
3080
3081 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
3082 ngx_mail_smtp_module.
3083
3084 *) Исправление: wildcard в конце имени сервера не работали; ошибка
3085 появилась в 0.6.9.
3086
3087 *) Исправление: при использовании разделяемой библиотеки PCRE,
3088 расположенной в нестандартном месте, nginx не запускался на Solaris.
3089
3090 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
3091 скрывали строки заголовка ответа с именем больше 32 символов.
3092 Спасибо Manlio Perillo.
3093
3094
3095 Изменения в nginx 0.6.11 11.09.2007
3096
3097 *) Исправление: счётчик активных соединений всегда рос при использовании
3098 почтового прокси-сервера.
3099
3100 *) Исправление: если бэкенд возвращал только заголовок ответа при
3101 небуферизированном проксировании, то nginx закрывал соединение с
3102 бэкендом по таймауту.
3103
3104 *) Исправление: nginx не поддерживал несколько строк "Connection" в
3105 заголовке запроса.
3106
3107 *) Исправление: если в сервере апстрима был задан max_fails, то после
3108 первой же неудачной попытки вес сервера навсегда становился равным
3109 одному; ошибка появилась в 0.6.6.
3110
3111
3112 Изменения в nginx 0.6.10 03.09.2007
3113
3114 *) Добавление: директивы open_file_cache, open_file_cache_retest и
3115 open_file_cache_errors.
3116
3117 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
3118
3119 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
3120 методе $r->send_http_header(), не добавлялась кодировка, указанная в
3121 директиве charset.
3122
3123 *) Исправление: при использовании метода /dev/poll в рабочем процессе
3124 мог произойти segmentation fault.
3125
3126
3127 Изменения в nginx 0.6.9 28.08.2007
3128
3129 *) Исправление: рабочий процесс мог зациклиться при использовании
3130 протокола HTTPS; ошибка появилась в 0.6.7.
3131
3132 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
3133 не запускался при использовании wildcard в конце имени сервера.
3134
3135 *) Исправление: директива ip_hash могла неверно помечать сервера как
3136 нерабочие.
3137
3138 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
3139
3140
3141 Изменения в nginx 0.6.8 20.08.2007
3142
3143 *) Изменение: теперь nginx пытается установить директивы
3144 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
3145 worker_rlimit_sigpending без привилегий root'а.
3146
3147 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
3148 запроса серверу аутентификации почтового прокси-сервера.
3149
3150 *) Изменение: теперь nginx экранирует символ "%" в переменной
3151 $memcached_key.
3152
3153 *) Исправление: при указании относительного пути к конфигурационному
3154 файлу в качестве параметра ключа -c nginx определял путь относительно
3155 конфигурационного префикса; ошибка появилась в 0.6.6.
3156
3157 *) Исправление: nginx не работал на FreeBSD/sparc64.
3158
3159
3160 Изменения в nginx 0.6.7 15.08.2007
3161
3162 *) Изменение: теперь пути, указанные в директивах include,
3163 auth_basic_user_file, perl_modules, ssl_certificate,
3164 ssl_certificate_key и ssl_client_certificate, определяются
3165 относительно каталога конфигурационного файла nginx.conf, а не
3166 относительно префикса.
3167
3168 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
3169
3170 *) Изменение: для обновления на лету версий 0.1.x создан специальный
3171 сценарий make upgrade1.
3172
3173 *) Добавление: директивы server_name и valid_referers поддерживают
3174 регулярные выражения.
3175
3176 *) Добавление: директива server в блоке upstream поддерживает параметр
3177 backup.
3178
3179 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3180 $r->discard_request_body.
3181
3182 *) Добавление: директива "add_header Last-Modified ..." меняет строку
3183 "Last-Modified" в заголовке ответа.
3184
3185 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
3186 отличным от 200, и после этого запроса соединение переходило в
3187 состояние keep-alive, то на следующий запрос nginx возвращал 400.
3188
3189 *) Исправление: если в директиве auth_http был задан неправильный адрес,
3190 то в рабочем процессе происходил segmentation fault.
3191
3192 *) Исправление: теперь по умолчанию nginx использует значение 511 для
3193 listen backlog на всех платформах, кроме FreeBSD.
3194 Спасибо Jiang Hong.
3195
3196 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
3197 upstream был помечен как down; ошибка появилась в 0.6.6.
3198
3199 *) Исправление: sendfilev() в Solaris теперь не используется при
3200 передаче тела запроса FastCGI-серверу через unix domain сокет.
3201
3202
3203 Изменения в nginx 0.6.6 30.07.2007
3204
3205 *) Добавление: параметр --sysconfdir=PATH в configure.
3206
3207 *) Добавление: именованные location'ы.
3208
3209 *) Добавление: переменную $args можно устанавливать с помощью set.
3210
3211 *) Добавление: переменная $is_args.
3212
3213 *) Исправление: равномерное распределение запросов к апстримам с
3214 большими весами.
3215
3216 *) Исправление: если клиент в почтовом прокси-сервере закрывал
3217 соединение, то nginx мог не закрывать соединение с бэкендом.
3218
3219 *) Исправление: при использовании одного хоста в качестве бэкендов для
3220 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
3221 только один порт - 80 или 443.
3222
3223 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
3224 более ранними версиями; ошибка появилась в 0.6.4.
3225
3226
3227 Изменения в nginx 0.6.5 23.07.2007
3228
3229 *) Добавление: переменная $nginx_version.
3230 Спасибо Николаю Гречуху.
3231
3232 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
3233 IMAP.
3234 Спасибо Максиму Дунину.
3235
3236 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
3237 SMTP.
3238 Спасибо Максиму Дунину.
3239
3240 *) Исправление: теперь nginx экранирует пробел в переменной
3241 $memcached_key.
3242
3243 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
3244 Спасибо Jiang Hong.
3245
3246 *) Исправление: незначительных потенциальных ошибок.
3247 Спасибо Coverity's Scan.
3248
3249
3250 Изменения в nginx 0.6.4 17.07.2007
3251
3252 *) Безопасность: при использовании директивы msie_refresh был возможен
3253 XSS.
3254 Спасибо Максиму Богуку.
3255
3256 *) Изменение: директивы proxy_store и fastcgi_store изменены.
3257
3258 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
3259
3260 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3261 Studio.
3262 Спасибо Андрею Нигматулину.
3263
3264 *) Изменение: обход ошибки в Sun Studio 12.
3265 Спасибо Jiang Hong.
3266
3267
3268 Изменения в nginx 0.6.3 12.07.2007
3269
3270 *) Добавление: директивы proxy_store и fastcgi_store.
3271
3272 *) Исправление: при использовании директивы auth_http_header в рабочем
3273 процессе мог произойти segmentation fault.
3274 Спасибо Максиму Дунину.
3275
3276 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
3277 не был разрешён, то в рабочем процессе происходил segmentation fault.
3278
3279 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
3280 в рабочем процессе мог произойти segmentation fault.
3281
3282 *) Исправление: в рабочем процессе мог произойти segmentation fault,
3283 если использовался метод eventport.
3284
3285 *) Исправление: директивы proxy_ignore_client_abort и
3286 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
3287
3288
3289 Изменения в nginx 0.6.2 09.07.2007
3290
3291 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
3292 nginx передавал клиенту мусор в таких заголовках.
3293
3294
3295 Изменения в nginx 0.6.1 17.06.2007
3296
3297 *) Исправление: в парсинге SSI.
3298
3299 *) Исправление: при использовании удалённого подзапроса в SSI
3300 последующий подзапрос локального файла мог отдаваться клиенту в
3301 неверном порядке.
3302
3303 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
3304 передавались не полностью.
3305
3306 *) Исправление: значение perl'овой переменной $$ модуля
3307 ngx_http_perl_module было равно номеру главного процесса.
3308
3309
3310 Изменения в nginx 0.6.0 14.06.2007
3311
3312 *) Добавление: директивы "server_name", "map", and "valid_referers"
3313 поддерживают маски вида "www.example.*".
3314
3315
3316 Изменения в nginx 0.5.25 11.06.2007
3317
3318 *) Исправление: nginx не собирался с параметром
3319 --without-http_rewrite_module; ошибка появилась в 0.5.24.
3320
3321
3322 Изменения в nginx 0.5.24 06.06.2007
3323
3324 *) Безопасность: директива ssl_verify_client не работала, если запрос
3325 выполнялся по протоколу HTTP/0.9.
3326
3327 *) Исправление: при использовании сжатия часть ответа могла передаваться
3328 несжатой; ошибка появилась в 0.5.23.
3329
3330
3331 Изменения в nginx 0.5.23 04.06.2007
3332
3333 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
3334 Server Name Indication.
3335
3336 *) Добавление: директива fastcgi_catch_stderr.
3337 Спасибо Николаю Гречуху, проект OWOX.
3338
3339 *) Исправление: на Линуксе в основном процессе происходил segmentation
3340 fault, если два виртуальных сервера должны bind()ится к
3341 пересекающимся портам.
3342
3343 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3344 perl поддерживал потоки, то во время второй переконфигурации
3345 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
3346
3347 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3348
3349
3350 Изменения в nginx 0.5.22 29.05.2007
3351
3352 *) Исправление: большое тело запроса могло не передаваться бэкенду;
3353 ошибка появилась в 0.5.21.
3354
3355
3356 Изменения в nginx 0.5.21 28.05.2007
3357
3358 *) Исправление: если внутри сервера описано больше примерно десяти
3359 location'ов, то location'ы, заданные с помощью регулярного выражения,
3360 могли выполняться не в том, порядке, в каком они описаны.
3361
3362 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
3363 если 33-тий по счёту или последующий бэкенд упал.
3364 Спасибо Антону Поварову.
3365
3366 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
3367 произойти bus error.
3368 Спасибо Андрею Нигматулину.
3369
3370 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3371
3372
3373 Изменения в nginx 0.5.20 07.05.2007
3374
3375 *) Добавление: директива sendfile_max_chunk.
3376
3377 *) Добавление: переменные "$http_...", "$sent_http_..." и
3378 "$upstream_http_..." можно менять директивой set.
3379
3380 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
3381 рабочем процессе мог произойти segmentation fault.
3382
3383 *) Исправление: завершающая строка multipart range ответа передавалась
3384 неверно.
3385 Спасибо Evan Miller.
3386
3387 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
3388 Studio.
3389 Спасибо Андрею Нигматулину.
3390
3391 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
3392 Спасибо Андрею Нигматулину.
3393
3394
3395 Изменения в nginx 0.5.19 24.04.2007
3396
3397 *) Изменение: значение переменной $request_time теперь записывается с
3398 точностью до миллисекунд.
3399
3400 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
3401 переименован в $r->flush.
3402
3403 *) Добавление: переменная $upstream_addr.
3404
3405 *) Добавление: директивы proxy_headers_hash_max_size и
3406 proxy_headers_hash_bucket_size.
3407 Спасибо Володымыру Костырко.
3408
3409 *) Исправление: при использовании sendfile и limit_rate на 64-битных
3410 платформах нельзя было передавать файлы больше 2G.
3411
3412 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
3413 было передавать файлы больше 2G.
3414
3415
3416 Изменения в nginx 0.5.18 19.04.2007
3417
3418 *) Добавление: модуль ngx_http_sub_filter_module.
3419
3420 *) Добавление: переменные "$upstream_http_...".
3421
3422 *) Добавление: теперь переменные $upstream_status и
3423 $upstream_response_time содержат данные о всех обращениях к
3424 апстримам, сделанным до X-Accel-Redirect.
3425
3426 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3427 perl не поддерживал multiplicity, то после первой переконфигурации и
3428 после получения любого сигнала в основном процессе происходил
3429 segmentation fault; ошибка появилась в 0.5.9.
3430
3431 *) Исправление: если perl не поддерживал multiplicity, то после
3432 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
3433
3434
3435 Изменения в nginx 0.5.17 02.04.2007
3436
3437 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
3438
3439 *) Добавление: теперь nginx поддерживает директиву include внутри блока
3440 types.
3441
3442 *) Исправление: использование переменной $document_root в директиве root
3443 и alias запрещено: оно вызывало рекурсивное переполнение стека.
3444
3445 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3446
3447 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
3448 $uri) возвращали старое закэшированное значение.
3449
3450
3451 Изменения в nginx 0.5.16 26.03.2007
3452
3453 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
3454 использовалась сеть класса С.
3455 Спасибо Павлу Ярковому.
3456
3457 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
3458 был указан charset и строка завершалась символом ";", то в рабочем
3459 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
3460
3461 *) Исправление: ошибки "[alert] zero size buf" при работе с
3462 FastCGI-сервером, если тело запроса, записанное во временный файл,
3463 было кратно 32K.
3464
3465 *) Исправление: nginx не собирался на Solaris без параметра
3466 --with-debug; ошибка появилась в 0.5.15.
3467
3468
3469 Изменения в nginx 0.5.15 19.03.2007
3470
3471 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
3472 SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
3473 Спасибо Антону Южанинову и Максиму Дунину.
3474
3475 *) Добавление: теперь keep-alive соединения закрываются сразу же по
3476 получении сигнала переконфигурации.
3477
3478 *) Изменение: директивы imap и auth переименованы соответственно в mail
3479 и pop3_auth.
3480
3481 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
3482 был разрешён метод APOP, то в рабочем процессе происходил
3483 segmentation fault.
3484
3485 *) Исправление: при использовании директивы starttls only в протоколе
3486 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
3487
3488 *) Исправление: рабочие процессы не выходили после переконфигурации и не
3489 переоткрывали логи, если использовался метод eventport.
3490
3491 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
3492 зациклиться.
3493
3494 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
3495 используются методы eventport или /dev/poll.
3496
3497
3498 Изменения в nginx 0.5.14 23.02.2007
3499
3500 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
3501 конфигурационного файла.
3502
3503
3504 Изменения в nginx 0.5.13 19.02.2007
3505
3506 *) Добавление: методы COPY и MOVE.
3507
3508 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
3509 запросов, переданных по keep-alive соединению.
3510
3511 *) Исправление: nginx не работал на 64-битном big-endian Linux.
3512 Спасибо Андрею Нигматулину.
3513
3514 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
3515 теперь сразу закрывает соединение, а не по таймауту.
3516
3517 *) Исправление: если при использовании метода epoll клиент закрывал
3518 преждевременно соединение со своей стороны, то nginx закрывал это
3519 соединение только по истечении таймаута на передачу.
3520
3521 *) Исправление: nginx не собирался на платформах, отличных от i386,
3522 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3523
3524
3525 Изменения в nginx 0.5.12 12.02.2007
3526
3527 *) Исправление: nginx не собирался на платформах, отличных от i386,
3528 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3529
3530 *) Исправление: при использовании временных файлов в время работы с
3531 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
3532 ошибка появилась в 0.5.8.
3533
3534 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
3535 то в рабочем процессе мог произойти segmentation fault.
3536
3537 *) Исправление: ngx_http_perl_module не собирался на Solaris.
3538
3539
3540 Изменения в nginx 0.5.11 05.02.2007
3541
3542 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
3543 Спасибо Chris McGrath.
3544
3545 *) Исправление: ответ был неверным, если запрашивалось несколько
3546 диапазонов; ошибка появилась в 0.5.6.
3547
3548 *) Исправление: директива create_full_put_path не могла создавать
3549 промежуточные каталоги, если не была установлена директива
3550 dav_access.
3551 Спасибо Evan Miller.
3552
3553 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
3554 записываться код "0".
3555
3556 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3557 произойти segmentation fault.
3558
3559
3560 Изменения в nginx 0.5.10 26.01.2007
3561
3562 *) Исправление: во время обновления исполняемого файла новый процесс не
3563 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
3564
3565 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3566 произойти segmentation fault; ошибка появилась в 0.5.1.
3567
3568
3569 Изменения в nginx 0.5.9 25.01.2007
3570
3571 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
3572 использует значение переменной $memcached_key.
3573
3574 *) Добавление: переменная $memcached_key.
3575
3576 *) Добавление: параметр clean в директиве client_body_in_file_only.
3577
3578 *) Добавление: директива env.
3579
3580 *) Добавление: директива sendfile работает внутри блока if.
3581
3582 *) Добавление: теперь при ошибке записи в access_log nginx записывает
3583 сообщение в error_log, но не чаще одного раза в минуту.
3584
3585 *) Исправление: директива "access_log off" не всегда запрещала запись в
3586 лог.
3587
3588
3589 Изменения в nginx 0.5.8 19.01.2007
3590
3591 *) Исправление: если использовалась директива
3592 "client_body_in_file_only on" и тело запроса было небольшое, то мог
3593 произойти segmentation fault.
3594
3595 *) Исправление: происходил segmentation fault, если использовались
3596 директивы "client_body_in_file_only on" и
3597 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
3598 делался переход к следующему бэкенду.
3599
3600 *) Исправление: если при использовании директивы "proxy_buffering off"
3601 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
3602 заданному директивой send_timeout; ошибка появилась в 0.4.7.
3603
3604 *) Исправление: если при использовании метода epoll клиент закрывал
3605 преждевременно соединение со своей стороны, то nginx закрывал это
3606 соединение только по истечении таймаута на передачу.
3607
3608 *) Исправление: ошибки "[alert] zero size buf" при работе с
3609 FastCGI-сервером.
3610
3611 *) Исправление ошибок в директиве limit_zone.
3612
3613
3614 Изменения в nginx 0.5.7 15.01.2007
3615
3616 *) Добавление: оптимизация использования памяти в ssl_session_cache.
3617
3618 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
3619
3620 *) Исправление: на старте или во время переконфигурации происходил
3621 segmentation fault, если директивы ssl_session_cache или limit_zone
3622 использовались на 64-битных платформах.
3623
3624 *) Исправление: при использовании директив add_before_body или
3625 add_after_body происходил segmentation fault, если в заголовке ответа
3626 нет строки "Content-Type".
3627
3628 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
3629 потоков.
3630 Спасибо Дену Иванову.
3631
3632 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
3633
3634
3635 Изменения в nginx 0.5.6 09.01.2007
3636
3637 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
3638 кроме GET, HEAD и POST.
3639
3640 *) Добавление: модуль ngx_http_limit_zone_module.
3641
3642 *) Добавление: переменная $binary_remote_addr.
3643
3644 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
3645 ngx_imap_ssl_module.
3646
3647 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
3648
3649 *) Исправление: при использовании $r->sendfile() byte-ranges
3650 передавались неверно.
3651
3652
3653 Изменения в nginx 0.5.5 24.12.2006
3654
3655 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
3656
3657 *) Добавление: ключ -V.
3658
3659 *) Добавление: директива worker_rlimit_core поддерживает указание
3660 размера в K, M и G.
3661
3662 *) Исправление: модуль nginx.pm теперь может устанавливаться
3663 непривилегированным пользователем.
3664
3665 *) Исправление: при использовании методов $r->request_body или
3666 $r->request_body_file мог произойти segmentation fault.
3667
3668 *) Исправление: ошибок, специфичных для платформы ppc.
3669
3670
3671 Изменения в nginx 0.5.4 15.12.2006
3672
3673 *) Добавление: директиву perl можно использовать внутри блока
3674 limit_except.
3675
3676 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
3677 заголовке запроса для метода DELETE.
3678
3679 *) Исправление: при использовании одного параметра в директиве
3680 dav_access nginx мог сообщить об ошибке в конфигурации.
3681
3682 *) Исправление: при использовании переменной $host мог произойти
3683 segmentation fault; ошибка появилась в 0.4.14.
3684
3685
3686 Изменения в nginx 0.5.3 13.12.2006
3687
3688 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3689 $r->status, $r->log_error и $r->sleep.
3690
3691 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
3692 конфигурации nginx'а.
3693
3694 *) Исправление: метод $r->has_request_body не работал.
3695
3696
3697 Изменения в nginx 0.5.2 11.12.2006
3698
3699 *) Исправление: если в директивах proxy_pass использовалось имя,
3700 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
3701 ошибка появилась в 0.5.1.
3702
3703
3704 Изменения в nginx 0.5.1 11.12.2006
3705
3706 *) Исправление: директива post_action могла не работать после неудачного
3707 завершения запроса.
3708
3709 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
3710 Спасибо Bron Gondwana.
3711
3712 *) Исправление: при указании в директиве fastcgi_pass имени описанного
3713 upstream'а выдавалось сообщение "no port in upstream"; ошибка
3714 появилась в 0.5.0.
3715
3716 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3717 использовались одинаковых имена серверов, но с разными портами, то
3718 эти директивы использовали первый описанный порт; ошибка появилась в
3719 0.5.0.
3720
3721 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3722 использовались unix domain сокеты, то эти директивы использовали
3723 первый описанный сокет; ошибка появилась в 0.5.0.
3724
3725 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
3726 если он был указан в последней строке файла паролей и после пароля не
3727 было перевода строки, возврата каретки или символа ":".
3728
3729 *) Исправление: переменная $upstream_response_time могла быть равна
3730 "0.000", хотя время обработки было больше 1 миллисекунды.
3731
3732
3733 Изменения в nginx 0.5.0 04.12.2006
3734
3735 *) Изменение: параметры в виде "%name" в директиве log_format больше не
3736 поддерживаются.
3737
3738 *) Изменение: директивы proxy_upstream_max_fails,
3739 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
3740 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
3741 memcached_upstream_fail_timeout больше не поддерживаются.
3742
3743 *) Добавление: директива server в блоке upstream поддерживает параметры
3744 max_fails, fail_timeout и down.
3745
3746 *) Добавление: директива ip_hash в блоке upstream.
3747
3748 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
3749 сервера аутентификации IMAP/POP3 прокси.
3750
3751 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3752 появилась в 0.4.14.
3753
3754
3755 Изменения в nginx 0.4.14 27.11.2006
3756
3757 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
3758
3759 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
3760 Linux и NetBSD.
3761
3762 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
3763 поддержкой потоков; ошибка появилась в 0.3.38.
3764
3765 *) Исправление: ngx_http_perl_module не работал корректно, если перл
3766 вызывался рекурсивно.
3767
3768 *) Исправление: nginx игнорировал имя сервера в строке запроса.
3769
3770 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
3771 процесс мог зациклиться.
3772
3773 *) Исправление: при изменении системного времени переменная
3774 $upstream_response_time могла быть отрицательной.
3775
3776 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
3777 прокси не передавался параметр Auth-Login-Attempt.
3778
3779 *) Исправление: при ошибке соединения с сервером аутентификации
3780 IMAP/POP3 прокси мог произойти segmentation fault.
3781
3782
3783 Изменения в nginx 0.4.13 15.11.2006
3784
3785 *) Добавление: директиву proxy_pass можно использовать внутри блока
3786 limit_except.
3787
3788 *) Добавление: директива limit_except поддерживает все WebDAV методы.
3789
3790 *) Исправление: при использовании директивы add_before_body без
3791 директивы add_after_body ответ передавался не полностью.
3792
3793 *) Исправление: большое тело запроса не принималось, если использовались
3794 метод epoll и deferred accept().
3795
3796 *) Исправление: для ответов модуля ngx_http_autoindex_module не
3797 выставлялась кодировка; ошибка появилась в 0.3.50.
3798
3799 *) Исправление: ошибки "[alert] zero size buf" при работе с
3800 FastCGI-сервером;
3801
3802 *) Исправление: параметр конфигурации --group= игнорировался.
3803 Спасибо Thomas Moschny.
3804
3805 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
3806 в 0.3.50.
3807
3808
3809 Изменения в nginx 0.4.12 31.10.2006
3810
3811 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3812 $r->variable.
3813
3814 *) Исправление: при включении в ответ большого статического файла с
3815 помощью SSI ответ мог передаваться не полностью.
3816
3817 *) Исправление: nginx не убирал "#fragment" в URI.
3818
3819
3820 Изменения в nginx 0.4.11 25.10.2006
3821
3822 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
3823
3824 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3825 $r->allow_ranges.
3826
3827 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
3828 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
3829
3830
3831 Изменения в nginx 0.4.10 23.10.2006
3832
3833 *) Добавление: POP3 прокси поддерживает APOP.
3834
3835 *) Исправление: при использовании методов select, poll и /dev/poll во
3836 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
3837 нагружал процессор.
3838
3839 *) Исправление: при использовании переменной $server_addr в директиве
3840 map мог произойти segmentation fault.
3841
3842 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
3843 для полных ответов; ошибка появилась в 0.4.7.
3844
3845 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
3846 0.4.9.
3847
3848
3849 Изменения в nginx 0.4.9 13.10.2006
3850
3851 *) Добавление: параметр set в команде SSI include.
3852
3853 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
3854 модуля nginx.pm.
3855
3856
3857 Изменения в nginx 0.4.8 11.10.2006
3858
3859 *) Исправление: если до команды SSI include с параметром wait
3860 выполнялась ещё одна команда SSI include, то параметр wait мог не
3861 работать.
3862
3863 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
3864 полных ответов.
3865 Спасибо Алексею Ковырину.
3866
3867
3868 Изменения в nginx 0.4.7 10.10.2006
3869
3870 *) Добавление: модуль ngx_http_flv_module.
3871
3872 *) Добавление: переменная $request_body_file.
3873
3874 *) Добавление: директивы charset и source_charset поддерживают
3875 переменные.
3876
3877 *) Исправление: если до команды SSI include с параметром wait
3878 выполнялась ещё одна команда SSI include, то параметр wait мог не
3879 работать.
3880
3881 *) Исправление: при использовании директивы "proxy_buffering off" или
3882 при работе с memcached соединения могли не закрываться по таймауту.
3883
3884 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
3885 amd64, sparc64 и ppc64.
3886
3887
3888 Изменения в nginx 0.4.6 06.10.2006
3889
3890 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
3891 amd64, sparc64 и ppc64.
3892
3893 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
3894 chunk'ами, если длина ответа в методе
3895 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
3896
3897 *) Исправление: после перенаправления ошибки с помощью директивы
3898 error_page любая директива модуля ngx_http_rewrite_module возвращала
3899 эту ошибку; ошибка появилась в 0.4.4.
3900
3901
3902 Изменения в nginx 0.4.5 02.10.2006
3903
3904 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
3905 в 0.4.4.
3906
3907
3908 Изменения в nginx 0.4.4 02.10.2006
3909
3910 *) Добавление: переменная $scheme.
3911
3912 *) Добавление: директива expires поддерживает параметр max.
3913
3914 *) Добавление: директива include поддерживает маску "*".
3915 Спасибо Jonathan Dance.
3916
3917 *) Исправление: директива return всегда изменяла код ответа,
3918 перенаправленного директивой error_page.
3919
3920 *) Исправление: происходил segmentation fault, если в методе PUT
3921 передавалось тело нулевой длины.
3922
3923 *) Исправление: при использовании переменных в директиве proxy_redirect
3924 редирект изменялся неверно.
3925
3926
3927 Изменения в nginx 0.4.3 26.09.2006
3928
3929 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
3930 error_page.
3931
3932 *) Добавление: поддержка Solaris 10 event ports.
3933
3934 *) Добавление: модуль ngx_http_browser_module.
3935
3936 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
3937 помощью директивы error_page мог произойти segmentation fault.
3938
3939 *) Исправление: происходил segmentation fault, если в директиве
3940 proxy_pass использовался unix domain сокет; ошибка появилась в
3941 0.3.47.
3942
3943 *) Исправление: SSI не работал с ответами memcached и
3944 небуферизированными проксированными ответами.
3945
3946 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
3947
3948
3949 Изменения в nginx 0.4.2 14.09.2006
3950
3951 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
3952 появилась в 0.4.1.
3953
3954
3955 Изменения в nginx 0.4.1 14.09.2006
3956
3957 *) Исправление: совместимость с DragonFlyBSD.
3958 Спасибо Павлу Назарову.
3959
3960 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
3961 файлов больше 2G.
3962
3963 *) Добавление: теперь на Linux nginx для статических запросов использует
3964 флаг O_NOATIME.
3965 Спасибо Yusuf Goolamabbas.
3966
3967
3968 Изменения в nginx 0.4.0 30.08.2006
3969
3970 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
3971 фазы init module в фазу HTTP postconfiguration.
3972
3973 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
3974 считывается заранее: нужно явно инициировать чтение с помощью метода
3975 $r->has_request_body.
3976
3977 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
3978 DECLINED.
3979
3980 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
3981 заголовка "Date" для метода PUT.
3982
3983 *) Добавление: директива ssi работает внутри блока if.
3984
3985 *) Исправление: происходил segmentation fault, если в директиве index
3986 использовалась переменные и при этом первое имя индексного файла было
3987 без переменных; ошибка появилась в 0.1.29.
3988
3989
3990 Изменения в nginx 0.3.61 28.08.2006
3991
3992 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
3993
3994 *) Добавление: директива msie_refresh.
3995
3996 *) Добавление: директива recursive_error_pages.
3997
3998 *) Исправление: директива rewrite возвращала неправильный редирект, если
3999 редирект включал в себя выделенные закодированные символы из
4000 оригинального URI.
4001
4002
4003 Изменения в nginx 0.3.60 18.08.2006
4004
4005 *) Исправление: во время перенаправления ошибки рабочий процесс мог
4006 зациклиться; ошибка появилась в 0.3.59.
4007
4008
4009 Изменения в nginx 0.3.59 16.08.2006
4010
4011 *) Добавление: теперь можно делать несколько перенаправлений через
4012 директиву error_page.
4013
4014 *) Исправление: директива dav_access не поддерживала три параметра.
4015
4016 *) Исправление: директива error_page не изменяла строку "Content-Type"
4017 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
4018 в 0.3.58.
4019
4020
4021 Изменения в nginx 0.3.58 14.08.2006
4022
4023 *) Добавление: директива error_page поддерживает переменные.
4024
4025 *) Изменение: теперь на Linux используется интерфейс procfs вместо
4026 sysctl.
4027
4028 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
4029 "Content-Type" наследуется из первоначального ответа.
4030
4031 *) Исправление: директива error_page не перенаправляла ошибку 413.
4032
4033 *) Исправление: завершающий "?" не удалял старые аргументы, если в
4034 переписанном URI не было новых аргументов.
4035
4036 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
4037
4038
4039 Изменения в nginx 0.3.57 09.08.2006
4040
4041 *) Добавление: переменная $ssl_client_serial.
4042
4043 *) Исправление: в операторе "!-e" в директиве if.
4044 Спасибо Андриану Буданцову.
4045
4046 *) Исправление: при проверке клиентского сертификата nginx не передавал
4047 клиенту информацию о требуемых сертификатах.
4048
4049 *) Исправление: переменная $document_root не поддерживала переменные в
4050 директиве root.
4051
4052
4053 Изменения в nginx 0.3.56 04.08.2006
4054
4055 *) Добавление: директива dav_access.
4056
4057 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
4058 "!-e", "-x" и "!-x".
4059
4060 *) Исправление: при записи в access_log некоторых передаваемых клиенту
4061 строк заголовков происходил segmentation fault, если запрос возвращал
4062 редирект.
4063
4064
4065 Изменения в nginx 0.3.55 28.07.2006
4066
4067 *) Добавление: параметр stub в команде SSI include.
4068
4069 *) Добавление: команда SSI block.
4070
4071 *) Добавление: скрипт unicode2nginx добавлен в contrib.
4072
4073 *) Исправление: если root был задан только переменной, то корень
4074 задавался относительно префикса сервера.
4075
4076 *) Исправление: если в запросе был "//" или "/.", и после этого
4077 закодированные символы в виде "%XX", то проксируемый запрос
4078 передавался незакодированным.
4079
4080 *) Исправление: метод $r->header_in("Cookie") модуля
4081 ngx_http_perl_module теперь возвращает все строки "Cookie" в
4082 заголовке запроса.
4083
4084 *) Исправление: происходил segmentation fault, если использовался
4085 "client_body_in_file_only on" и делался переход к следующему бэкенду.
4086
4087 *) Исправление: при некоторых условиях во время переконфигурации коды
4088 символов внутри директивы charset_map могли считаться неверными;
4089 ошибка появилась в 0.3.50.
4090
4091
4092 Изменения в nginx 0.3.54 11.07.2006
4093
4094 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
4095
4096 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
4097 memcached_next_upstream поддерживают параметр off.
4098
4099 *) Добавление: директива debug_connection поддерживает запись адресов в
4100 формате CIDR.
4101
4102 *) Исправление: при перекодировании ответа проксированного сервера или
4103 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
4104 полностью.
4105
4106 *) Исправление: переменная $upstream_response_time содержала время
4107 только первого обращения к бэкенду.
4108
4109 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
4110 в 0.3.53.
4111
4112
4113 Изменения в nginx 0.3.53 07.07.2006
4114
4115 *) Изменение: директива add_header добавляет строки в ответы с кодом
4116 204, 301 и 302.
4117
4118 *) Добавление: директива server в блоке upstream поддерживает параметр
4119 weight.
4120
4121 *) Добавление: директива server_name поддерживает маску "*".
4122
4123 *) Добавление: nginx поддерживает тело запроса больше 2G.
4124
4125 *) Исправление: если при использовании "satisfy_any on" клиент успешно
4126 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
4127 forbidden by rule".
4128
4129 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
4130 409.
4131
4132 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
4133 ошибку, nginx продолжал проксирование.
4134
4135
4136 Изменения в nginx 0.3.52 03.07.2006
4137
4138 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
4139 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
4140 ошибку 405.
4141
4142 *) Исправление: при использовании ограничения скорости рабочий процесс
4143 мог зациклиться; ошибка появилась в 0.3.37.
4144
4145 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
4146 "unknown charset", даже если перекодировка не требовалась; ошибка
4147 появилась в 0.3.50.
4148
4149 *) Исправление: если в результате запроса PUT возвращался код 409, то
4150 временный файл не удалялся.
4151
4152
4153 Изменения в nginx 0.3.51 30.06.2006
4154
4155 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
4156 ошибка появилась в 0.3.50.
4157
4158
4159 Изменения в nginx 0.3.50 28.06.2006
4160
4161 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
4162 переименованы соответственно в proxy_intercept_errors и
4163 fastcgi_intercept_errors.
4164
4165 *) Добавление: модуль ngx_http_charset_module поддерживает
4166 перекодирование из однобайтных кодировок в UTF-8 и обратно.
4167
4168 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4169 "X-Accel-Charset" в ответе бэкенда.
4170
4171 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
4172 только если также использовался символ "$".
4173
4174 *) Исправление: при некоторых условиях в SSI после вставки могла быть
4175 добавлена строка "<!--".
4176
4177 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
4178 то при использовании небуферизированного проксировании не закрывалось
4179 соединение с клиентом.
4180
4181
4182 Изменения в nginx 0.3.49 31.05.2006
4183
4184 *) Исправление: в директиве set.
4185
4186 *) Исправление: при включении в ssi двух и более подзапросов,
4187 обрабатываемых через FastCGI, вместо вывода второго и остальных
4188 подзапросов в ответ включался вывод первого подзапроса.
4189
4190
4191 Изменения в nginx 0.3.48 29.05.2006
4192
4193 *) Изменение: теперь модуль ngx_http_charset_module работает для
4194 подзапросов, в ответах которых нет строки заголовка "Content-Type".
4195
4196 *) Исправление: если в директиве proxy_pass не было URI, то директива
4197 "proxy_redirect default" добавляла в переписанный редирект в начало
4198 лишний слэш.
4199
4200 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
4201 GET, теперь это делается только для редиректов, выполняемых с помощью
4202 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
4203 0.3.42.
4204
4205 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
4206 с поддержкой потоков; ошибка появилась в 0.3.46.
4207
4208
4209 Изменения в nginx 0.3.47 23.05.2006
4210
4211 *) Добавление: директива upstream.
4212
4213 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
4214 всегда убирается.
4215
4216
4217 Изменения в nginx 0.3.46 11.05.2006
4218
4219 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
4220 fastcgi_hide_header и fastcgi_pass_header.
4221
4222 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
4223 proxy_pass_server упразднены.
4224
4225 *) Добавление: в режиме прокси поддерживается строка заголовка
4226 "X-Accel-Buffering" в ответе бэкенда.
4227
4228 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
4229 ngx_http_perl_module.
4230
4231
4232 Изменения в nginx 0.3.45 06.05.2006
4233
4234 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
4235 ssl_client_certificate.
4236
4237 *) Изменение: теперь переменная $request_method возвращает метод только
4238 основного запроса.
4239
4240 *) Изменение: в таблице перекодировки koi-win изменены коды символа
4241 &deg;.
4242
4243 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
4244 номера.
4245
4246 *) Исправление: если nginx распределял запросы на несколько машин, то
4247 при падении одной из них запросы, предназначенные для этой машины,
4248 перенаправлялись только на одну машину вместо того, чтобы равномерно
4249 распределяться между остальными.
4250
4251
4252 Изменения в nginx 0.3.44 04.05.2006
4253
4254 *) Добавление: параметр wait в команде SSI include.
4255
4256 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
4257 белорусские символы.
4258
4259 *) Исправление: в SSI.
4260
4261
4262 Изменения в nginx 0.3.43 26.04.2006
4263
4264 *) Исправление: в SSI.
4265
4266
4267 Изменения в nginx 0.3.42 26.04.2006
4268
4269 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
4270
4271 *) Исправление: ошибки при использовании в директиве rewrite одного и
4272 того же выделения более одного раза.
4273
4274 *) Исправление: в лог не записывались переменные
4275 $sent_http_content_type, $sent_http_content_length,
4276 $sent_http_last_modified, $sent_http_connection,
4277 $sent_http_keep_alive и $sent_http_transfer_encoding.
4278
4279 *) Исправление: переменная $sent_http_cache_control возвращала
4280 содержимое только одной строки "Cache-Control" в заголовке ответа.
4281
4282
4283 Изменения в nginx 0.3.41 21.04.2006
4284
4285 *) Добавление: ключ -v.
4286
4287 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
4288 segmentation fault.
4289
4290 *) Исправление: в обработке FastCGI.
4291
4292 *) Исправление: если путь к перловым модулям не был указан с помощью
4293 --with-perl_modules_path=PATH или директивы perl_modules, то на
4294 старте происходил segmentation fault.
4295
4296
4297 Изменения в nginx 0.3.40 19.04.2006
4298
4299 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
4300
4301 *) Добавление: директива create_full_put_path.
4302
4303 *) Добавление: переменная $limit_rate.
4304
4305
4306 Изменения в nginx 0.3.39 17.04.2006
4307
4308 *) Добавление: директива uninitialized_variable_warn; уровень
4309 логгирования сообщения о неинициализированной переменной понижен с
4310 уровня alert на warn.
4311
4312 *) Добавление: директива override_charset.
4313
4314 *) Изменение: при использовании неизвестной переменной в SSI-командах
4315 echo и if expr='$name' теперь не записывается в лог сообщение о
4316 неизвестной переменной.
4317
4318 *) Исправление: счётчик активных соединений рос при превышении лимита
4319 соединений, заданного директивой worker_connections; ошибка появилась
4320 в 0.2.0.
4321
4322 *) Исправление: при некоторых условия ограничение скорости соединения
4323 могло не работать; ошибка появилась в 0.3.38.
4324
4325
4326 Изменения в nginx 0.3.38 14.04.2006
4327
4328 *) Добавление: модуль ngx_http_dav_module.
4329
4330 *) Изменение: оптимизация модуля ngx_http_perl_module.
4331 Спасибо Сергею Скворцову.
4332
4333 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4334 $r->request_body_file.
4335
4336 *) Добавление: директива client_body_in_file_only.
4337
4338 *) Изменение: теперь при переполнении диска nginx пытается писать
4339 access_log'и только раз в секунду.
4340 Спасибо Антону Южанинову и Максиму Дунину.
4341
4342 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
4343 при значениях больше 100 Kbyte/s.
4344 Спасибо ForJest.
4345
4346 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
4347 символы "\r" и "\n" в логине и пароле в закодированном виде.
4348 Спасибо Максиму Дунину.
4349
4350
4351 Изменения в nginx 0.3.37 07.04.2006
4352
4353 *) Добавление: директива limit_except.
4354
4355 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
4356 "!-f".
4357
4358 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4359 $r->request_body.
4360
4361 *) Исправление: в модуле ngx_http_addition_filter_module.
4362
4363
4364 Изменения в nginx 0.3.36 05.04.2006
4365
4366 *) Добавление: модуль ngx_http_addition_filter_module.
4367
4368 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
4369 внутри блока if.
4370
4371 *) Добавление: директивы proxy_ignore_client_abort и
4372 fastcgi_ignore_client_abort.
4373
4374 *) Добавление: переменная $request_completion.
4375
4376 *) Добавление: модуль ngx_http_perl_module поддерживает методы
4377 $r->request_method и $r->remote_addr.
4378
4379 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
4380
4381 *) Исправление: строка "\/" в начале выражения команды if модуля
4382 ngx_http_ssi_module воспринималась неверно.
4383
4384 *) Исправление: в использовании регулярных выражениях в команде if
4385 модуля ngx_http_ssi_module.
4386
4387 *) Исправление: при задании относительного пути в директивах
4388 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
4389 perl_modules использовался каталог относительно текущего каталога, а
4390 не относительно префикса сервера.
4391
4392
4393 Изменения в nginx 0.3.35 22.03.2006
4394
4395 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
4396 для первой директивы listen; ошибка появилась в 0.3.31.
4397
4398 *) Исправление: в директиве proxy_pass без URI при использовании в
4399 подзапросе.
4400
4401
4402 Изменения в nginx 0.3.34 21.03.2006
4403
4404 *) Добавление: директива add_header поддерживает переменные.
4405
4406
4407 Изменения в nginx 0.3.33 15.03.2006
4408
4409 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
4410 fastcgi_next_upstream.
4411
4412 *) Исправление: ngx_http_perl_module не работал со встроенным в
4413 конфигурационный файл кодом, если он не начинался сразу же с "sub".
4414
4415 *) Исправление: в директиве post_action.
4416
4417
4418 Изменения в nginx 0.3.32 11.03.2006
4419
4420 *) Исправление: удаление отладочного логгирования на старте и при
4421 переконфигурации; ошибка появилась в 0.3.31.
4422
4423
4424 Изменения в nginx 0.3.31 10.03.2006
4425
4426 *) Изменение: теперь nginx передаёт неверные ответы проксированного
4427 бэкенда.
4428
4429 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
4430
4431 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
4432
4433 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
4434 64-битном ядре MacOSX.
4435 Спасибо Андрею Нигматулину.
4436
4437 *) Исправление: если внутри одного сервера описаны несколько директив
4438 listen, слушающих на разных адресах, то имена серверов вида
4439 "*.domain.tld" работали только для первого адреса; ошибка появилась в
4440 0.3.18.
4441
4442 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4443 не передавались запросы с телом, записанным во временный файл.
4444
4445 *) Исправление: совместимость с perl 5.8.8.
4446
4447
4448 Изменения в nginx 0.3.30 22.02.2006
4449
4450 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
4451 с уровня crit.
4452
4453 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
4454 ngx_http_ssi_filter_module.
4455
4456 *) Исправление: nginx не собирался на i386 платформе, если использовался
4457 PIC; ошибка появилась в 0.3.27.
4458
4459
4460 Изменения в nginx 0.3.29 20.02.2006
4461
4462 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
4463 FastCGI передаёт большое количество предупреждений перед ответом.
4464
4465 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
4466 строка заголовка "Transfer-Encoding: chunked".
4467
4468 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
4469 передавал полные строки заголовка ответа в отдельных FastCGI записях.
4470
4471 *) Исправление: если в директиве post_action был указан проксируемый
4472 URI, то он выполнялся только после успешного завершения запроса.
4473
4474
4475 Изменения в nginx 0.3.28 16.02.2006
4476
4477 *) Добавление: директива restrict_host_names упразднена.
4478
4479 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
4480
4481 *) Исправление: при некоторых условиях проксированное соединение с
4482 клиентом завершалось преждевременно.
4483 Спасибо Владимиру Шутову.
4484
4485 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
4486 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
4487
4488 *) Исправление: директива post_action работала только после успешного
4489 завершения запроса.
4490
4491 *) Исправление: тело проксированного ответа, создаваемого директивой
4492 post_action, передавалось клиенту.
4493
4494
4495 Изменения в nginx 0.3.27 08.02.2006
4496
4497 *) Изменение: директивы variables_hash_max_size и
4498 variables_hash_bucket_size.
4499
4500 *) Добавление: переменная $body_bytes_sent доступна не только в
4501 директиве log_format.
4502
4503 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
4504
4505 *) Добавление: определение размера строки кэша распространённых
4506 процессоров при старте.
4507
4508 *) Добавление: директива accept_mutex теперь поддерживается посредством
4509 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
4510
4511 *) Добавление: директива lock_file и параметр автоконфигурации
4512 --with-lock-path=PATH.
4513
4514 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4515 не передавались запросы с телом.
4516
4517
4518 Изменения в nginx 0.3.26 03.02.2006
4519
4520 *) Изменение: директива optimize_host_names переименована в
4521 optimize_server_names.
4522
4523 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
4524 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
4525
4526
4527 Изменения в nginx 0.3.25 01.02.2006
4528
4529 *) Исправление: при неверной конфигурации на старте или во время
4530 переконфигурации происходил segmentation fault; ошибка появилась в
4531 0.3.24.
4532
4533
4534 Изменения в nginx 0.3.24 01.02.2006
4535
4536 *) Изменение: обход ошибки в kqueue во FreeBSD.
4537
4538 *) Исправление: ответ, создаваемый директивой post_action, теперь не
4539 передаётся клиенту.
4540
4541 *) Исправление: при использовании большого количества лог-файлов
4542 происходила утечка памяти.
4543
4544 *) Исправление: внутри одного location работала только первая директива
4545 proxy_redirect.
4546
4547 *) Исправление: на 64-битных платформах при старте мог произойти
4548 segmentation fault, если использовалось большое количество имён в
4549 директивах server_name; ошибка появилась в 0.3.18.
4550
4551
4552 Изменения в nginx 0.3.23 24.01.2006
4553
4554 *) Добавление: директива optimize_host_names.
4555
4556 *) Исправление: ошибки при использовании переменных в директивах path и
4557 alias.
4558
4559 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
4560 Linux и Solaris.
4561
4562
4563 Изменения в nginx 0.3.22 17.01.2006
4564
4565 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
4566 и $r->unescape.
4567
4568 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
4569 упразднён.
4570
4571 *) Исправление: если в директиве valid_referers указаны только none или
4572 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
4573
4574
4575 Изменения в nginx 0.3.21 16.01.2006
4576
4577 *) Добавление: модуль ngx_http_perl_module.
4578
4579 *) Изменение: директива valid_referers разрешает использовать рефереры
4580 совсем без URI.
4581
4582
4583 Изменения в nginx 0.3.20 11.01.2006
4584
4585 *) Исправление: ошибки в обработке SSI.
4586
4587 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
4588 виде /uri?args.
4589
4590
4591 Изменения в nginx 0.3.19 28.12.2005
4592
4593 *) Добавление: директивы path и alias поддерживают переменные.
4594
4595 *) Изменение: теперь директива valid_referers опять учитывает URI.
4596
4597 *) Исправление: ошибки в обработке SSI.
4598
4599
4600 Изменения в nginx 0.3.18 26.12.2005
4601
4602 *) Добавление: директива server_names поддерживает имена вида
4603 ".domain.tld".
4604
4605 *) Добавление: директива server_names использует хэш для имён вида
4606 "*.domain.tld" и более эффективный хэш для обычных имён.
4607
4608 *) Изменение: директивы server_names_hash_max_size и
4609 server_names_hash_bucket_size.
4610
4611 *) Изменение: директивы server_names_hash и server_names_hash_threshold
4612 упразднены.
4613
4614 *) Добавление: директива valid_referers использует хэш для имён сайтов.
4615
4616 *) Изменение: теперь директива valid_referers проверяет только имена
4617 сайтов без учёта URI.
4618
4619 *) Исправление: некоторые имена вида ".domain.tld" неверно
4620 обрабатывались модулем ngx_http_map_module.
4621
4622 *) Исправление: если конфигурационного файла не было, то происходил
4623 segmentation fault; ошибка появилась в 0.3.12.
4624
4625 *) Исправление: на 64-битных платформах при старте мог произойти
4626 segmentation fault; ошибка появилась в 0.3.16.
4627
4628
4629 Изменения в nginx 0.3.17 18.12.2005
4630
4631 *) Изменение: на Linux configure теперь проверяет наличие epoll и
4632 sendfile64() в ядре.
4633
4634 *) Добавление: директива map поддерживает доменные имена в формате
4635 ".domain.tld".
4636
4637 *) Исправление: во время SSL handshake не иcпользовались таймауты;
4638 ошибка появилась в 0.2.4.
4639
4640 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4641
4642 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4643 по умолчанию использовался порт 80.
4644
4645
4646 Изменения в nginx 0.3.16 16.12.2005
4647
4648 *) Добавление: модуль ngx_http_map_module.
4649
4650 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
4651
4652 *) Добавление: директива ssi_value_length.
4653
4654 *) Добавление: директива worker_rlimit_core.
4655
4656 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
4657 Pentium 4 номер соединения в логах всегда был равен 1.
4658
4659 *) Исправление: команда config timefmt в SSI задавала неверный формат
4660 времени.
4661
4662 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
4663 использовании SSL соединений; ошибка появилась в 0.3.13.
4664 Спасибо Rob Mueller.
4665
4666 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
4667 ошибка появилась в 0.3.13.
4668
4669
4670 Изменения в nginx 0.3.15 07.12.2005
4671
4672 *) Добавление: новой код 444 в директиве return для закрытия соединения.
4673
4674 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
4675
4676 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
4677 соединений только при планом выходе и включённой директиве
4678 debug_points.
4679
4680
4681 Изменения в nginx 0.3.14 05.12.2005
4682
4683 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
4684 в 0.3.13.
4685
4686
4687 Изменения в nginx 0.3.13 05.12.2005
4688
4689 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
4690
4691 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
4692 /dev/poll.
4693
4694 *) Исправление: ошибки в обработке SSI.
4695
4696 *) Исправление: sendfilev() в Solaris теперь не используется при
4697 передаче тела запроса FastCGI-серверу через unix domain сокет.
4698
4699 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
4700 появилась в 0.3.11.
4701
4702
4703 Изменения в nginx 0.3.12 26.11.2005
4704
4705 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
4706 то при использовании директивы "satisfy_any on" директивы доступа и
4707 аутентификации не работали. Модуль ngx_http_realip_module не
4708 собирался и не собирается по умолчанию.
4709
4710 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
4711
4712 *) Изменение: директивы proxy_header_buffer_size и
4713 fastcgi_header_buffer_size переименованы соответственно в
4714 proxy_buffer_size и fastcgi_buffer_size.
4715
4716 *) Добавление: модуль ngx_http_memcached_module.
4717
4718 *) Добавление: директива proxy_buffering.
4719
4720 *) Исправление: изменение в работе с accept mutex при использовании
4721 метода rtsig; ошибка появилась в 0.3.0.
4722
4723 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
4724 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
4725
4726 *) Исправление: при наследовании директивы auth_basic с уровня http в
4727 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
4728 "Basic realm".
4729
4730 *) Исправление: если в директиве access_log был явно указан формат
4731 combined, то в лог записывались пустые строки; ошибка появилась в
4732 0.3.8.
4733
4734 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
4735 Solaris.
4736
4737 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
4738 в кавычках и закрывающую скобку.
4739
4740
4741 Изменения в nginx 0.3.11 15.11.2005
4742
4743 *) Исправление: nginx не передавал при проксировании тело запроса и
4744 строки заголовка клиента; ошибка появилась в 0.3.10.
4745
4746
4747 Изменения в nginx 0.3.10 15.11.2005
4748
4749 *) Изменение: директива valid_referers и переменная $invalid_referer
4750 перенесены из модуля ngx_http_rewrite_module в новый модуль
4751 ngx_http_referer_module.
4752
4753 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
4754 "$body_bytes_sent".
4755
4756 *) Добавление: переменные "$sent_http_...".
4757
4758 *) Добавление: директива if поддерживает операции "=" и "!=".
4759
4760 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
4761
4762 *) Добавление: директива proxy_set_body.
4763
4764 *) Добавление: директива post_action.
4765
4766 *) Добавление: модуль ngx_http_empty_gif_module.
4767
4768 *) Добавление: директива worker_cpu_affinity для Linux.
4769
4770 *) Исправление: директива rewrite не раскодировала символы в редиректах
4771 в URI, теперь символы раскодируются, кроме символов %00-%25 и
4772 %7F-%FF.
4773
4774 *) Исправление: nginx не собирался компилятором icc 9.0.
4775
4776 *) Исправление: если для статического файла нулевого размера был
4777 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
4778
4779
4780 Изменения в nginx 0.3.9 10.11.2005
4781
4782 *) Исправление: nginx считал небезопасными URI, в которых между двумя
4783 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
4784
4785
4786 Изменения в nginx 0.3.8 09.11.2005
4787
4788 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
4789 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
4790 наличие путей "/../" и нулей.
4791
4792 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
4793 строке "Authorization" в заголовке запроса.
4794
4795 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
4796 и ngx_imap_ssl_module.
4797
4798 *) Добавление: директива auth_http_header модуля
4799 ngx_imap_auth_http_module.
4800
4801 *) Добавление: директива add_header.
4802
4803 *) Добавление: модуль ngx_http_realip_module.
4804
4805 *) Добавление: новые переменные для использования в директиве
4806 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
4807 $uri, $request_time, $request_length, $upstream_status,
4808 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
4809 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
4810 упразднены.
4811
4812 *) Изменение: в директиве "if" ложными значениями переменных теперь
4813 являются пустая строка "" и строки, начинающиеся на "0".
4814
4815 *) Исправление: при работает с проксированными или FastCGI-серверами
4816 nginx мог оставлять открытыми соединения и временные файлы с
4817 запросами клиентов.
4818
4819 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
4820 плавном выходе.
4821
4822 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
4823 запрос проксировался в location, заданном регулярным выражением, то
4824 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
4825
4826 *) Исправление: директива expires не удаляла уже установленную строку
4827 заголовка "Expires".
4828
4829 *) Исправление: при использовании метода rtsig и нескольких рабочих
4830 процессах nginx мог перестать принимать запросы.
4831
4832 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
4833 "\'".
4834
4835 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
4836 при использовании сжатия ответ передавался не до конца или не
4837 передавался вообще.
4838
4839
4840 Изменения в nginx 0.3.7 27.10.2005
4841
4842 *) Добавление: директива access_log поддерживает параметр buffer=.
4843
4844 *) Исправление: nginx не собирался на платформах, отличных от i386,
4845 amd64, sparc и ppc; ошибка появилась в 0.3.2.
4846
4847
4848 Изменения в nginx 0.3.6 24.10.2005
4849
4850 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
4851 пустой логин.
4852
4853 *) Добавление: директива log_format поддерживает переменные в виде
4854 $name.
4855
4856 *) Исправление: если хотя бы в одном сервере не было описано ни одной
4857 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
4858 0.3.3.
4859
4860 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
4861 использовался порт 80.
4862
4863
4864 Изменения в nginx 0.3.5 21.10.2005
4865
4866 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
4867 мог произойти segmentation fault; ошибка появилась в 0.2.2.
4868
4869 *) Исправление: accept mutex не работал, все соединения обрабатывались
4870 одним рабочим процессом; ошибка появилась в 0.3.3.
4871
4872 *) Исправление: при использовании метода rtsig и директивы
4873 timer_resolution не работали таймауты.
4874
4875
4876 Изменения в nginx 0.3.4 19.10.2005
4877
4878 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
4879 появилась в 0.3.3.
4880
4881
4882 Изменения в nginx 0.3.3 19.10.2005
4883
4884 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
4885 "backlog" и "accept_filter".
4886
4887 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
4888
4889 *) Изменение: параметр лога $msec теперь не требует дополнительного
4890 системного вызова gettimeofday().
4891
4892 *) Добавление: ключ -t теперь проверяет директивы listen.
4893
4894 *) Исправление: если в директиве listen был указан неверный адрес, то
4895 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
4896
4897 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
4898 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
4899
4900 *) Добавление: директива timer_resolution.
4901
4902 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
4903
4904 *) Исправление: временный файл с телом запроса клиента теперь удаляется
4905 сразу после того, как клиенту передан заголовок ответа.
4906
4907 *) Исправление: совместимость с OpenSSL 0.9.6.
4908
4909 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
4910 относительными.
4911
4912 *) Исправление: директива ssl_prefer_server_ciphers не работала для
4913 модуля ngx_imap_ssl_module.
4914
4915 *) Исправление: директива ssl_protocols позволяла задать только один
4916 протокол.
4917
4918
4919 Изменения в nginx 0.3.2 12.10.2005
4920
4921 *) Добавление: поддержка Sun Studio 10 C compiler.
4922
4923 *) Добавление: директивы proxy_upstream_max_fails,
4924 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
4925 fastcgi_upstream_fail_timeout.
4926
4927
4928 Изменения в nginx 0.3.1 10.10.2005
4929
4930 *) Исправление: во время переполнения очереди сигналов при использовании
4931 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
4932
4933 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
4934
4935
4936 Изменения в nginx 0.3.0 07.10.2005
4937
4938 *) Изменение: убрано десятидневное ограничение времени работы рабочего
4939 процесса. Ограничение было введено из-за переполнения миллисекундных
4940 таймеров.
4941
4942
4943 Изменения в nginx 0.2.6 05.10.2005
4944
4945 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
4946 бэкенду при использовании распределения нагрузки.
4947
4948 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
4949 запрос теперь передаётся, если в директиве proxy_pass отсутствует
4950 URI.
4951
4952 *) Добавление: директива error_page поддерживает редиректы и позволяет
4953 более гибко менять код ошибки.
4954
4955 *) Изменение: в проксированных подзапросах теперь игнорируется
4956 переданный charset.
4957
4958 *) Исправление: если после изменения URI в блоке if для запроса не
4959 находилась новая конфигурация, то правила модуля
4960 ngx_http_rewrite_module выполнялись снова.
4961
4962 *) Исправление: если директива set устанавливала переменную модуля
4963 ngx_http_geo_module в какой-либо части конфигурации, то эта
4964 переменная не была доступна в других частях конфигурации и выдавалась
4965 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
4966
4967
4968 Изменения в nginx 0.2.5 04.10.2005
4969
4970 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
4971 теперь выдаёт предупреждение и изменяет старое значение.
4972
4973 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
4974
4975 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
4976 команде include.
4977
4978 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
4979 значений переменных в выражениях команды if.
4980
4981
4982 Изменения в nginx 0.2.4 03.10.2005
4983
4984 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
4985 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
4986 if.
4987
4988 *) Исправление: ошибки при проксировании location без слэша в конце;
4989 ошибка появилась в 0.1.44.
4990
4991 *) Исправление: при использовании метода rtsig мог произойти
4992 segmentation fault; ошибка появилась в 0.2.0.
4993
4994
4995 Изменения в nginx 0.2.3 30.09.2005
4996
4997 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4998 появилась в 0.2.2.
4999
5000
5001 Изменения в nginx 0.2.2 30.09.2005
5002
5003 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
5004
5005 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
5006 директивой set.
5007
5008 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
5009 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
5010
5011 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5012 длинных имён файлов;
5013
5014 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
5015 файлы, начинающиеся на точку.
5016
5017 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
5018 привести также к закрытию другого соединения.
5019 Спасибо Rob Mueller.
5020
5021 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
5022 HTTPS.
5023
5024
5025 Изменения в nginx 0.2.1 23.09.2005
5026
5027 *) Исправление: если все бэкенды, используемые для балансировки
5028 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5029 nginx мог зациклится; ошибка появилась в 0.2.0.
5030
5031
5032 Изменения в nginx 0.2.0 23.09.2005
5033
5034 *) Изменились имена pid-файлов, используемые во время обновления
5035 исполняемого файла. Ручное переименование теперь не нужно. Старый
5036 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
5037 запускает новый исполняемый файл. Новый основной процесс создаёт
5038 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
5039 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
5040 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
5041 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
5042 0.2.0 - используют pid-файл без суффиксов.
5043
5044 *) Изменение: директива worker_connections, новое название директивы
5045 connections; директива теперь задаёт максимальное число соединений, а
5046 не максимально возможный номер дескриптора для сокета.
5047
5048 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
5049 рабочего процесса.
5050
5051 *) Добавление: директива satisfy_any.
5052
5053 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
5054 не работают для подзапросов.
5055
5056 *) Добавление: директивы worker_rlimit_nofile и
5057 worker_rlimit_sigpending.
5058
5059 *) Исправление: если все бэкенды, используемые для балансировки
5060 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5061 nginx не обращался к ним в течение 60 секунд.
5062
5063 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
5064 Спасибо Rob Mueller.
5065
5066 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
5067
5068 *) Исправление: ошибки при использовании SSI и сжатия.
5069
5070 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
5071 "Expires" и "Cache-Control".
5072 Спасибо Александру Кукушкину.
5073
5074
5075 Изменения в nginx 0.1.45 08.09.2005
5076
5077 *) Изменение: директива ssl_engine упразднена в модуле
5078 ngx_http_ssl_module и перенесена на глобальный уровень.
5079
5080 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
5081 передавались через SSL соединение.
5082
5083 *) Разные исправления в IMAP/POP3 прокси.
5084
5085
5086 Изменения в nginx 0.1.44 06.09.2005
5087
5088 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
5089
5090 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
5091
5092 *) Добавление: директива userid_mark.
5093
5094 *) Добавление: значение переменной $remote_user определяется независимо
5095 от того, используется ли авторизация или нет.
5096
5097
5098 Изменения в nginx 0.1.43 30.08.2005
5099
5100 *) Добавление: listen(2) backlog в директиве listen можно менять по
5101 сигналу -HUP.
5102
5103 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
5104
5105 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
5106 серверу.
5107
5108 *) Исправление: если в ответе проксированного сервера или FastCGI
5109 сервера была строка "Cache-Control", то при использовании директивы
5110 expires происходил segmentation fault или рабочий процесс мог
5111 зациклится; в режиме прокси ошибка появилась в 0.1.29.
5112
5113
5114 Изменения в nginx 0.1.42 23.08.2005
5115
5116 *) Исправление: если URI запроса получался нулевой длины после обработки
5117 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
5118 происходил segmentation fault или bus error.
5119
5120 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
5121 появилась в 0.1.38.
5122
5123
5124 Изменения в nginx 0.1.41 25.07.2005
5125
5126 *) Исправление: если переменная использовалась в файле конфигурации, то
5127 она не могла использоваться в SSI.
5128
5129
5130 Изменения в nginx 0.1.40 22.07.2005
5131
5132 *) Исправление: если клиент слал очень длинную строку заголовка, то в
5133 логе не помещалась информация, связанная с этим запросом.
5134
5135 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5136 строка "Set-Cookie"; ошибка появилась в 0.1.39.
5137
5138 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5139 строка "Content-Disposition".
5140
5141 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
5142 на которых он слушал.
5143
5144 *) Исправление: после обновления исполняемого файла на лету на Linux и
5145 Solaris название процесса в команде ps становилось короче.
5146
5147
5148 Изменения в nginx 0.1.39 14.07.2005
5149
5150 *) Изменения в модуле ngx_http_charset_module: директива default_charset
5151 упразднена; директива charset задаёт кодировку ответа; директива
5152 source_charset задаёт только исходную кодировку.
5153
5154 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
5155 не передавалась строка заголовка "WWW-Authenticate".
5156
5157 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
5158 могли закрыть соединение до того, как что-нибудь было передано
5159 клиенту; ошибка появилась в 0.1.38.
5160
5161 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
5162
5163 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
5164 URI в команде include virtual.
5165
5166 *) Исправление: если в строке заголовка ответа бэкенда была строка
5167 "Location", которую nginx не должен был изменять, то в ответе
5168 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
5169
5170 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
5171 ngx_http_fastcgi_module не наследовались с уровня server на уровень
5172 location; ошибка появилась в 0.1.29.
5173
5174 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
5175 сертификатов.
5176
5177 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5178 длинных имён файлов; ошибка появилась в 0.1.38.
5179
5180 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
5181 стадии login.
5182
5183
5184 Изменения в nginx 0.1.38 08.07.2005
5185
5186 *) Добавление: директива limit_rate поддерживается в режиме прокси и
5187 FastCGI.
5188
5189 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5190 "X-Accel-Limit-Rate" в ответе бэкенда.
5191
5192 *) Добавление: директива break.
5193
5194 *) Добавление: директива log_not_found.
5195
5196 *) Исправление: при перенаправлении запроса с помощью строки заголовка
5197 "X-Accel-Redirect" не изменялся код ответа.
5198
5199 *) Исправление: переменные, установленные директивой set не могли
5200 использоваться в SSI.
5201
5202 *) Исправление: при включении в SSI более одного удалённого подзапроса
5203 мог произойти segmentation fault.
5204
5205 *) Исправление: если статусная строка в ответе бэкенда передавалась в
5206 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
5207 0.1.29.
5208
5209 *) Добавление: директива ssi_types.
5210
5211 *) Добавление: директива autoindex_exact_size.
5212
5213 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
5214 имена файлов в UTF-8.
5215
5216 *) Добавление: IMAP/POP3 прокси.
5217
5218
5219 Изменения в nginx 0.1.37 23.06.2005
5220
5221 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
5222
5223 *) Исправление: при включении большого количества вставок или нескольких
5224 больших вставок с помощью SSI ответ мог передаваться не полностью.
5225
5226 *) Исправление: если все бэкенды возвращали ответ 404, то при
5227 использовании параметра http_404 в директивах proxy_next_upstream или
5228 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
5229
5230
5231 Изменения в nginx 0.1.36 15.06.2005
5232
5233 *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
5234 "Connection", "Content-Length" и "Authorization", то nginx теперь
5235 выдаёт ошибку 400.
5236
5237 *) Изменение: директива post_accept_timeout упразднена.
5238
5239 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
5240 listen.
5241
5242 *) Добавление: поддержка accept фильтров во FreeBSD.
5243
5244 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
5245
5246 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
5247 файлов в UTF-8.
5248
5249 *) Исправление: после добавления новый лог-файл ротация этого лога по
5250 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
5251 раза по сигналу -HUP.
5252
5253
5254 Изменения в nginx 0.1.35 07.06.2005
5255
5256 *) Добавление: директива working_directory.
5257
5258 *) Добавление: директива port_in_redirect.
5259
5260 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
5261 то происходил segmentation fault; ошибка появилась в 0.1.29.
5262
5263 *) Исправление: если было сконфигурировано более 10 серверов или в
5264 сервере не описана директива "listen", то при запуске мог произойти
5265 segmentation fault.
5266
5267 *) Исправление: если ответ не помещался во временный файл, то мог
5268 произойти segmentation fault.
5269
5270 *) Исправление: nginx возвращал ошибку 400 на запросы вида
5271 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
5272
5273
5274 Изменения в nginx 0.1.34 26.05.2005
5275
5276 *) Исправление: при включении больших ответов с помощью SSI рабочий
5277 процесс мог зациклиться.
5278
5279 *) Исправление: переменные, устанавливаемые директивой "set", не были
5280 доступны в SSI.
5281
5282 *) Добавление: директива autoindex_localtime.
5283
5284 *) Исправление: пустое значение в директиве proxy_set_header запрещает
5285 передачу заголовка.
5286
5287
5288 Изменения в nginx 0.1.33 23.05.2005
5289
5290 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
5291 появилась в 0.1.29.
5292
5293 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
5294 вызывали bus fault при запуске.
5295
5296 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
5297 HTTP.
5298
5299 *) Исправление: если директива rewrite использовала выделения внутри
5300 директивы if, то возвращалась ошибка 500.
5301
5302
5303 Изменения в nginx 0.1.32 19.05.2005
5304
5305 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
5306 передавались аргументы; ошибка появилась в 0.1.29.
5307
5308 *) Добавление: директива if поддерживает выделения в регулярных
5309 выражениях.
5310
5311 *) Добавление: директива set поддерживает переменные и выделения из
5312 регулярных выражений.
5313
5314 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5315 "X-Accel-Redirect" в ответе бэкенда.
5316
5317
5318 Изменения в nginx 0.1.31 16.05.2005
5319
5320 *) Исправление: при использовании SSL ответ мог передаваться не до
5321 конца.
5322
5323 *) Исправление: ошибки при обработке SSI в ответе, полученного от
5324 FastCGI-сервера.
5325
5326 *) Исправление: ошибки при использовании SSI и сжатия.
5327
5328 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
5329 появилась в 0.1.30.
5330
5331
5332 Изменения в nginx 0.1.30 14.05.2005
5333
5334 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
5335
5336 *) Исправление: при использовании SSL ответ мог передаваться не до
5337 конца.
5338
5339 *) Исправление: если длина части ответа, полученного за один раз от
5340 проксируемого или FastCGI сервера была равна 500 байт, то nginx
5341 возвращал код ответа 500; в режиме прокси ошибка появилась только в
5342 0.1.29.
5343
5344 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
5345 параметрами.
5346
5347 *) Добавление: директива return может возвращать код ответа 204.
5348
5349 *) Добавление: директива ignore_invalid_headers.
5350
5351
5352 Изменения в nginx 0.1.29 12.05.2005
5353
5354 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
5355 virtual.
5356
5357 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
5358 вида 'if expr="$NAME"' и команды else и endif. Допускается только
5359 один уровень вложенности.
5360
5361 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
5362 DATE_LOCAL и DATE_GMT и команду config timefmt.
5363
5364 *) Добавление: директива ssi_ignore_recycled_buffers.
5365
5366 *) Исправление: если переменная QUERY_STRING не была определена, то в
5367 команде echo не ставилось значение по умолчанию.
5368
5369 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
5370
5371 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
5372 proxy_pass_request_body и proxy_method.
5373
5374 *) Добавление: директива proxy_set_header. Директива proxy_x_var
5375 упразднена и должна быть заменена директивой proxy_set_header.
5376
5377 *) Изменение: директива proxy_preserve_host упразднена и должна быть
5378 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
5379 off" или директивой "proxy_set_header Host $host:$proxy_port" и
5380 соответствующими ей директивами proxy_redirect.
5381
5382 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
5383 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
5384
5385 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
5386 быть заменена директивой
5387 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
5388
5389 *) Изменение: директива proxy_set_x_url упразднена и должна быть
5390 заменена директивой
5391 "proxy_set_header X-URL http://$host:$server_port$request_uri".
5392
5393 *) Добавление: директива fastcgi_param.
5394
5395 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
5396 упразднены и должны быть замены директивами fastcgi_param.
5397
5398 *) Добавление: директива index может использовать переменные.
5399
5400 *) Добавление: директива index может быть указана на уровне http и
5401 server.
5402
5403 *) Изменение: только последний параметр в директиве index может быть
5404 абсолютным.
5405
5406 *) Добавление: в директиве rewrite могут использоваться переменные.
5407
5408 *) Добавление: директива internal.
5409
5410 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
5411 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
5412 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
5413
5414 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
5415 клиента и ответа бэкенда.
5416
5417 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
5418 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
5419
5420 *) Исправление: если бэкенд передавал неверную строку в заголовке
5421 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
5422
5423 *) Исправление: при использовании отказоустойчивой конфигурации в
5424 FastCGI мог происходить segmentation fault.
5425
5426 *) Исправление: директива expires не удаляла уже установленные строки
5427 заголовка "Expires" и "Cache-Control".
5428
5429 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
5430 запроса "Host".
5431
5432 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
5433
5434 *) Исправление: директива rewrite неверно работала, если в запросе
5435 присутствовали аргументы.
5436
5437 *) Исправление: nginx не собирался на MacOS X.
5438
5439
5440 Изменения в nginx 0.1.28 08.04.2005
5441
5442 *) Исправление: при проксировании больших файлов nginx сильно нагружал
5443 процессор.
5444
5445 *) Исправление: nginx не собирался gcc 4.0 на Linux.
5446
5447
5448 Изменения в nginx 0.1.27 28.03.2005
5449
5450 *) Добавление: параметр blocked в директиве valid_referers.
5451
5452 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
5453 уровне info, в лог также записывается имя сервера и строки заголовка
5454 запроса "Host" и "Referer".
5455
5456 *) Изменение: при записи ошибок в лог записывается также строка
5457 заголовка запроса "Host".
5458
5459 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
5460 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
5461
5462 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
5463 параметр конфигурации --without-ngx_http_auth_basic_module.
5464
5465
5466 Изменения в nginx 0.1.26 22.03.2005
5467
5468 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
5469 игнорируется и записываются в error_log на уровне info.
5470
5471 *) Изменение: при записи ошибок в лог записывается также имя сервера,
5472 при обращении к которому произошла ошибка.
5473
5474 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
5475 и auth_basic_user_file.
5476
5477
5478 Изменения в nginx 0.1.25 19.03.2005
5479
5480 *) Исправление: nginx не работал на Linux parisc.
5481
5482 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
5483 sysctl kern.ipc.somaxconn слишком большое.
5484
5485 *) Исправление: если модуль ngx_http_index_module делал внутреннее
5486 перенаправление запроса в модули ngx_http_proxy_module или
5487 ngx_http_fastcgi_module, то файл индекса не закрывался после
5488 обслуживания запроса.
5489
5490 *) Добавление: директива proxy_pass может использоваться в location,
5491 заданных регулярным выражением.
5492
5493 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
5494 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
5495
5496 *) Исправление: nginx очень медленно запускался при большом количестве
5497 адресов и использовании текстовых значений в директиве geo.
5498
5499 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
5500 Прежний вариант без "$" пока работает, но вскоре будет убран.
5501
5502 *) Добавление: параметр лога "%{VARIABLE}v".
5503
5504 *) Добавление: директива "set $name value".
5505
5506 *) Исправление: совместимость с gcc 4.0.
5507
5508 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
5509
5510
5511 Изменения в nginx 0.1.24 04.03.2005
5512
5513 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
5514 QUERY_STRING и DOCUMENT_URI.
5515
5516 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
5517 на существующий каталог, если этот каталог был указан как alias.
5518
5519 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
5520 при больших ответах.
5521
5522 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
5523 правильным referrer'ом.
5524
5525
5526 Изменения в nginx 0.1.23 01.03.2005
5527
5528 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
5529 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
5530 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
5531
5532 *) Добавление: параметр лога %request_time.
5533
5534 *) Добавление: если запрос пришёл без строки заголовка "Host", то
5535 директива proxy_preserve_host устанавливает в качестве этого
5536 заголовка первое имя сервера из директивы server_name.
5537
5538 *) Исправление: nginx не собирался на платформах, отличных от i386,
5539 amd64, sparc и ppc; ошибка появилась в 0.1.22.
5540
5541 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
5542 информацию не о символическом линке, а о файле или каталоге, на
5543 который он указывает.
5544
5545 *) Исправление: если клиенту ничего не передавалось, то параметр
5546 %apache_length записывал в лог отрицательную длину заголовка ответа.
5547
5548
5549 Изменения в nginx 0.1.22 22.02.2005
5550
5551 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5552 статистику для обработанных соединений, если использовалось
5553 проксирование или FastCGI-сервер.
5554
5555 *) Исправление: на Linux и Solaris установочные пути были неверно
5556 заключены в кавычки; ошибка появилась в 0.1.21.
5557
5558
5559 Изменения в nginx 0.1.21 22.02.2005
5560
5561 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5562 статистику при использовании метода rtsig или при использовании
5563 нескольких рабочих процессов на SMP машине.
5564
5565 *) Исправление: nginx не собирался компилятором icc под Линуксом или
5566 если библиотека zlib-1.2.x собиралась из исходных текстов.
5567
5568 *) Исправление: nginx не собирался под NetBSD 2.0.
5569
5570
5571 Изменения в nginx 0.1.20 17.02.2005
5572
5573 *) Добавление: новые параметры script_filename и remote_port в директиве
5574 fastcgi_params.
5575
5576 *) Исправление: неправильно обрабатывался поток stderr от
5577 FastCGI-сервера.
5578
5579
5580 Изменения в nginx 0.1.19 16.02.2005
5581
5582 *) Исправление: если в запросе есть нуль, то для локальных запросов
5583 теперь возвращается ошибка 404.
5584
5585 *) Исправление: nginx не собирался под NetBSD 2.0.
5586
5587 *) Исправление: во время чтения тела запроса клиента в SSL соединении
5588 мог произойти таймаут.
5589
5590
5591 Изменения в nginx 0.1.18 09.02.2005
5592
5593 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
5594 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
5595
5596 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
5597 наследовались.
5598
5599 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
5600 присоединялись к URI через символ "&" вместо "?".
5601
5602 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
5603 включённом файле игнорировались.
5604
5605 *) Добавление: модуль ngx_http_stub_status_module.
5606
5607 *) Исправление: неизвестный формат лог-файла в директиве access_log
5608 вызывал segmentation fault.
5609
5610 *) Добавление: новый параметр document_root в директиве fastcgi_params.
5611
5612 *) Добавление: директива fastcgi_redirect_errors.
5613
5614 *) Добавление: новый модификатор break в директиве rewrite позволяет
5615 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
5616 для запроса.
5617
5618
5619 Изменения в nginx 0.1.17 03.02.2005
5620
5621 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
5622 можно делать редиректы, возвращать коды ошибок и проверять переменные
5623 и рефереры. Эти директивы можно использовать внутри location.
5624 Директива redirect упразднена.
5625
5626 *) Добавление: модуль ngx_http_geo_module.
5627
5628 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
5629
5630 *) Исправление: конфигурация location с модификатором "=" могла
5631 использоваться в другом location.
5632
5633 *) Исправление: правильный тип ответа выставлялся только для запросов, у
5634 которых в расширении были только маленькие буквы.
5635
5636 *) Исправление: если для location установлен proxy_pass или
5637 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
5638 на статическую страницу, то происходил segmentation fault.
5639
5640 *) Исправление: если в проксированном ответе в заголовке "Location"
5641 передавался относительный URL, то к нему добавлялось имя хоста и
5642 слэш; ошибка появилась в 0.1.14.
5643
5644 *) Исправление: на Linux в лог не записывался текст системной ошибки.
5645
5646
5647 Изменения в nginx 0.1.16 25.01.2005
5648
5649 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
5650 выдавался завершающий chunk.
5651
5652 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
5653 директива keepalive_timeout запрещала использование keep-alive.
5654
5655 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
5656 segmentation fault.
5657
5658 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
5659 до конца.
5660
5661 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
5662 для TCP сокетов, не используются для unix domain сокетов.
5663
5664 *) Добавление: директива rewrite поддерживает перезаписывание
5665 аргументов.
5666
5667 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
5668 возвращался ответ 400; ошибка появилась в 0.1.14.
5669
5670
5671 Изменения в nginx 0.1.15 19.01.2005
5672
5673 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
5674 segmentation fault.
5675
5676 *) Исправление: корректная обработка регулярного выражения, в котором
5677 число выделенных частей не совпадает с числом подстановок.
5678
5679 *) Добавление: location, который передаётся FastCGI-серверу, может быть
5680 задан с помощью регулярного выражения.
5681
5682 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
5683 аргументами и в том виде, в котором был получен от клиента.
5684
5685 *) Исправление: для использования регулярных выражений в location нужно
5686 было собирать nginx вместе с ngx_http_rewrite_module.
5687
5688 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
5689 директивы "proxy_preserve_host on" в заголовке "Host" указывался
5690 также порт 80; ошибка появилась в 0.1.14.
5691
5692 *) Исправление: если задать одинаковые пути в параметрах
5693 автоконфигурации --http-client-body-temp-path=PATH и
5694 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
5695 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
5696
5697
5698 Изменения в nginx 0.1.14 18.01.2005
5699
5700 *) Добавление: параметры автоконфигурации
5701 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
5702 --http-fastcgi-temp-path=PATH
5703
5704 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
5705 клиента, задаётся директивой client_body_temp_path, по умолчанию
5706 <prefix>/client_body_temp.
5707
5708 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
5709 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
5710 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
5711 fastcgi_header_buffer_size, fastcgi_buffers,
5712 fastcgi_busy_buffers_size, fastcgi_temp_path,
5713 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
5714 fastcgi_next_upstream и fastcgi_x_powered_by.
5715
5716 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
5717 0.1.3.
5718
5719 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
5720 после имени хоста.
5721
5722 *) Изменение: если в URI встречался символ %3F, то он считался началом
5723 строки аргументов.
5724
5725 *) Добавление: поддержка unix domain сoкетов в модуле
5726 ngx_http_proxy_module.
5727
5728 *) Добавление: директивы ssl_engine и ssl_ciphers.
5729 Спасибо Сергею Скворцову за SSL-акселератор.
5730
5731
5732 Изменения в nginx 0.1.13 21.12.2004
5733
5734 *) Добавление: директивы server_names_hash и
5735 server_names_hash_threshold.
5736
5737 *) Исправление: имена *.domain.tld в директиве server_name не работали.
5738
5739 *) Исправление: параметр лога %request_length записывал неверную длину.
5740
5741
5742 Изменения в nginx 0.1.12 06.12.2004
5743
5744 *) Добавление: параметр лога %request_length.
5745
5746 *) Исправление: при использовании /dev/poll, select и poll на
5747 платформах, где возможны ложные срабатывания указанных методов, могли
5748 быть длительные задержки при обработке запроса по keep-alive
5749 соединению. Наблюдалось по крайней мере на Solaris с использованием
5750 /dev/poll.
5751
5752 *) Исправление: директива send_lowat игнорируется на Linux, так как
5753 Linux не поддерживает опцию SO_SNDLOWAT.
5754
5755
5756 Изменения в nginx 0.1.11 02.12.2004
5757
5758 *) Добавление: директива worker_priority.
5759
5760 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
5761 влияют на передачу ответа.
5762
5763 *) Исправление: nginx не вызывал initgroups().
5764 Спасибо Андрею Ситникову и Андрею Нигматулину.
5765
5766 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
5767 байтах.
5768
5769 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
5770 каталоге есть битый symlink.
5771
5772 *) Исправление: файлы больше 4G не передавались с использованием
5773 sendfile.
5774
5775 *) Исправление: если бэкенд резолвился в несколько адресов и при
5776 ожидании от него ответа происходила ошибка, то процесс зацикливался.
5777
5778 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
5779 завершиться с сообщением "unknown cycle".
5780
5781 *) Исправление: ошибки "close() channel failed".
5782
5783 *) Исправление: автоматическое определение групп nobody и nogroup.
5784
5785 *) Исправление: директива send_lowat не работала на Linux.
5786
5787 *) Исправление: если в конфигурации не было раздела events, то
5788 происходил segmentation fault.
5789
5790 *) Исправление: nginx не собирался под OpenBSD.
5791
5792 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
5793
5794
5795 Изменения в nginx 0.1.10 26.11.2004
5796
5797 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
5798 или "%XX", то терялся последний символ в строке запроса; ошибка
5799 появилась в 0.1.9.
5800
5801 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
5802 не работало.
5803
5804
5805 Изменения в nginx 0.1.9 25.11.2004
5806
5807 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
5808 проксируемый запрос передавался без аргументов.
5809
5810 *) Исправление: при сжатии больших ответов иногда они передавались не
5811 полностью.
5812
5813 *) Исправление: не передавались файлы больше 2G на Linux,
5814 неподдерживающем sendfile64().
5815
5816 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
5817 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
5818
5819
5820 Изменения в nginx 0.1.8 20.11.2004
5821
5822 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5823 длинных имён файлов.
5824
5825 *) Добавление: модификатор "^~" в директиве location.
5826
5827 *) Добавление: директива proxy_max_temp_file_size.
5828
5829
5830 Изменения в nginx 0.1.7 12.11.2004
5831
5832 *) Исправление: при использовании sendfile, если передаваемый файл
5833 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
5834 появилась в 0.1.5.
5835
5836
5837 Изменения в nginx 0.1.6 11.11.2004
5838
5839 *) Исправление: при некоторых комбинациях директив location c
5840 регулярными выражениями использовалась конфигурация не из того
5841 location.
5842
5843
5844 Изменения в nginx 0.1.5 11.11.2004
5845
5846 *) Исправление: на Solaris и Linux могло быть очень много сообщений
5847 "recvmsg() returned not enough data".
5848
5849 *) Исправление: в режиме прокси без использования sendfile на Solaris
5850 возникала ошибка "writev() failed (22: Invalid argument)". На других
5851 платформах, не поддерживающих sendfile, процесс зацикливался.
5852
5853 *) Исправление: при использовании sendfile в режиме прокси на Solaris
5854 возникал segmentation fault.
5855
5856 *) Исправление: segmentation fault на Solaris.
5857
5858 *) Исправление: обновление исполняемого файла на лету не работало на
5859 Linux.
5860
5861 *) Исправление: в списке файлов, выдаваемом модулем
5862 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
5863 знаки процента.
5864
5865 *) Изменение: уменьшение операций копирования.
5866
5867 *) Добавление: директива userid_p3p.
5868
5869
5870 Изменения в nginx 0.1.4 26.10.2004
5871
5872 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
5873
5874
5875 Изменения в nginx 0.1.3 25.10.2004
5876
5877 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
5878
5879 *) Добавление: директива proxy_set_x_url.
5880
5881 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5882 не использовался sendfile.
5883
5884
5885 Изменения в nginx 0.1.2 21.10.2004
5886
5887 *) Добавление: параметры --user=USER, --group=GROUP и
5888 --with-ld-opt=OPTIONS в configure.
5889
5890 *) Добавление: директива server_name поддерживает *.domain.tld.
5891
5892 *) Исправление: улучшена переносимость на неизвестные платформы.
5893
5894 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
5895 файл указан в командной строке; ошибка появилась в 0.1.1.
5896
5897 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5898 не использовался sendfile.
5899
5900 *) Исправление: при использовании sendfile текст ответа не
5901 перекодировался согласно директивам модуля charset; ошибка появилась
5902 в 0.1.1.
5903
5904 *) Исправление: очень редкая ошибка при обработке kqueue.
5905
5906 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
5907 проксировании.
5908
5909
5910 Изменения в nginx 0.1.1 11.10.2004
5911
5912 *) Добавление: директива gzip_types.
5913
5914 *) Добавление: директива tcp_nodelay.
5915
5916 *) Добавление: директива send_lowat работает не только на платформах,
5917 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
5918 SO_SNDLOWAT.
5919
5920 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
5921
5922 *) Исправление: ошибка при переписывании заголовка "Location" при
5923 проксировании.
5924
5925 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
5926 зацикливанию.
5927
5928 *) Исправление: ошибки в модуле /dev/poll.
5929
5930 *) Исправление: при проксировании и использовании временных файлов
5931 ответы портились.
5932
5933 *) Исправление: бэкенду передавались запросы с неперекодированными
5934 символами.
5935
5936 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
5937 обязательно использовать параметр --with-poll_module.
5938
5939
5940 Изменения в nginx 0.1.0 04.10.2004
5941
5942 *) Первая публично доступная версия.
5943