comparison text/ru/CHANGES.ru-1.8 @ 1459:b5851f3b7347

nginx-1.8.0
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 21 Apr 2015 17:38:46 +0300
parents text/ru/CHANGES.ru@493fb0be4f58
children d4b29af80036
comparison
equal deleted inserted replaced
1458:d3c1a4e8c1fe 1459:b5851f3b7347
1
2 Изменения в nginx 1.8.0 21.04.2015
3
4 *) Стабильная ветка 1.8.x.
5
6
7 Изменения в nginx 1.7.12 07.04.2015
8
9 *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
10 с бэкендами.
11
12 *) Добавление: теперь потоки могут использоваться для чтения заголовков
13 файлов в кэше.
14
15 *) Исправление: в директиве proxy_request_buffering.
16
17 *) Исправление: при использовании потоков на Linux в рабочем процессе
18 мог произойти segmentation fault.
19
20 *) Исправление: в обработке ошибок при использовании директивы
21 ssl_stapling.
22 Спасибо Filipe da Silva.
23
24 *) Исправление: в модуле ngx_http_spdy_module.
25
26
27 Изменения в nginx 1.7.11 24.03.2015
28
29 *) Изменение: параметр sendfile директивы aio более не нужен; теперь
30 nginx автоматически использует AIO для подгрузки данных для sendfile,
31 если одновременно используются директивы aio и sendfile.
32
33 *) Добавление: экспериментальная поддержка потоков.
34
35 *) Добавление: директивы proxy_request_buffering,
36 fastcgi_request_buffering, scgi_request_buffering и
37 uwsgi_request_buffering.
38
39 *) Добавление: экспериментальное API для обработки тела запроса.
40
41 *) Добавление: проверка клиентских SSL-сертификатов в почтовом
42 прокси-сервере.
43 Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
44
45 *) Добавление: уменьшение времени запуска при использовании дирекивы
46 "hash ... consistent" в блоке upstream.
47 Спасибо Wai Keen Woon.
48
49 *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
50
51 *) Исправление: в обработке хэш-таблиц.
52 Спасибо Chris West.
53
54 *) Исправление: в директиве proxy_cache_revalidate.
55
56 *) Исправление: SSL-соединения могли зависать, если использовался
57 отложенный accept или параметр proxy_protocol директивы listen.
58 Спасибо James Hamlin.
59
60 *) Исправление: переменная $upstream_response_time могла содержать
61 неверное значение при использовании директивы image_filter.
62
63 *) Исправление: в обработке целочисленных переполнений.
64 Спасибо Régis Leroy.
65
66 *) Исправление: при использовании LibreSSL было невозможно включить
67 поддержку SSLv3.
68
69 *) Исправление: при использовании LibreSSL в логах появлялись сообщения
70 "ignoring stale global SSL error ... called a function you should not
71 call".
72
73 *) Исправление: сертификаты, указанные в директивах
74 ssl_client_certificate и ssl_trusted_certificate, использовались для
75 автоматического построения цепочек сертификатов.
76
77
78 Изменения в nginx 1.7.10 10.02.2015
79
80 *) Добавление: параметр use_temp_path директив proxy_cache_path,
81 fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
82
83 *) Добавление: переменная $upstream_header_time.
84
85 *) Изменение: теперь при переполнении диска nginx пытается писать
86 error_log'и только раз в секунду.
87
88 *) Исправление: директива try_files при тестировании каталогов не
89 игнорировала обычные файлы.
90 Спасибо Damien Tournoud.
91
92 *) Исправление: при использовании директивы sendfile на OS X возникали
93 ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
94
95 *) Исправление: в лог могли писаться сообщения "sem_post() failed".
96
97 *) Исправление: nginx не собирался с musl libc.
98 Спасибо James Taylor.
99
100 *) Исправление: nginx не собирался на Tru64 UNIX.
101 Спасибо Goetz T. Fischer.
102
103
104 Изменения в nginx 1.7.9 23.12.2014
105
106 *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
107 uwsgi_cache поддерживают переменные.
108
109 *) Добавление: директива expires поддерживает переменные.
110
111 *) Добавление: возможность загрузки секретных ключей с аппаратных
112 устройств с помощью OpenSSL engines.
113 Спасибо Дмитрию Пичулину.
114
115 *) Добавление: директива autoindex_format.
116
117 *) Исправление: ревалидация элементов кэша теперь используется только
118 для ответов с кодами 200 и 206.
119 Спасибо Piotr Sikora.
120
121 *) Исправление: строка "TE" заголовка запроса клиента передавалась на
122 бэкенд при проксировании.
123
124 *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
125 uwsgi_pass могли неправильно работать внутри блоков if и
126 limit_except.
127
128 *) Исправление: директива proxy_store с параметром "on" игнорировалась,
129 если на предыдущем уровне использовалась директива proxy_store с явно
130 заданным путём к файлам.
131
132 *) Исправление: nginx не собирался с BoringSSL.
133 Спасибо Lukas Tribus.
134
135
136 Изменения в nginx 1.7.8 02.12.2014
137
138 *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
139 подобные в заголовке запроса клиента передаются бэкенду при
140 включённом кэшировании, если nginx заранее знает, что не будет
141 кэшировать ответ (например, при использовании proxy_cache_min_uses).
142
143 *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
144 отправляет запрос на бэкенд без кэширования; новые директивы
145 proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
146 uwsgi_cache_lock_age позволяют указать, через какое время блокировка
147 будет принудительно снята и будет сделана ещё одна попытка
148 закэшировать ответ.
149
150 *) Изменение: директива log_format теперь может использоваться только на
151 уровне http.
152
153 *) Добавление: директивы proxy_ssl_certificate,
154 proxy_ssl_certificate_key, proxy_ssl_password_file,
155 uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
156 uwsgi_ssl_password_file.
157 Спасибо Piotr Sikora.
158
159 *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
160 именованный location.
161 Спасибо Toshikuni Fukaya.
162
163 *) Добавление: теперь директива tcp_nodelay работает для
164 SPDY-соединений.
165
166 *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
167 Спасибо Peter Wu.
168
169 *) Исправление: nginx игнорировал значение "s-maxage" в строке
170 "Cache-Control" в заголовке ответа бэкенда.
171 Спасибо Piotr Sikora.
172
173 *) Исправление: в модуле ngx_http_spdy_module.
174 Спасибо Piotr Sikora.
175
176 *) Исправление: в директиве ssl_password_file при использовании OpenSSL
177 0.9.8zc, 1.0.0o, 1.0.1j.
178
179 *) Исправление: при использовании директивы post_action в лог писались
180 сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
181
182 *) Исправление: при использовании директивы "postpone_output 0" с
183 SSI-подзапросами в лог могли писаться сообщения "the http output
184 chain is empty".
185
186 *) Исправление: в директиве proxy_cache_lock при использовании
187 SSI-подзапросов.
188 Спасибо Yichun Zhang.
189
190
191 Изменения в nginx 1.7.7 28.10.2014
192
193 *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
194 заголовке ответа бэкенда.
195
196 *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
197 scgi_force_ranges и uwsgi_force_ranges.
198
199 *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
200 scgi_limit_rate и uwsgi_limit_rate.
201
202 *) Добавление: параметр Vary директив proxy_ignore_headers,
203 fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
204
205 *) Исправление: последняя часть ответа, полученного от бэкенда при
206 небуферизированном проксировании, могла не отправляться клиенту, если
207 использовались директивы gzip или gunzip.
208
209 *) Исправление: в директиве proxy_cache_revalidate.
210 Спасибо Piotr Sikora.
211
212 *) Исправление: в обработке ошибок.
213 Спасибо Yichun Zhang и Даниилу Бондареву.
214
215 *) Исправление: в директивах proxy_next_upstream_tries и
216 proxy_next_upstream_timeout.
217 Спасибо Feng Gu.
218
219 *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
220 Спасибо Kouhei Sutou.
221
222
223 Изменения в nginx 1.7.6 30.09.2014
224
225 *) Изменение: устаревшая директива limit_zone больше не поддерживается.
226
227 *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
228 можно использовать комбинации нескольких переменных.
229
230 *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
231 запроса могло передаваться неправильно.
232
233 *) Исправление: в логгировании в syslog.
234
235
236 Изменения в nginx 1.7.5 16.09.2014
237
238 *) Безопасность: при использовании общего для нескольких блоков server
239 разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
240 session tickets было возможно повторно использовать SSL-сессию в
241 контексте другого блока server (CVE-2014-3616).
242 Спасибо Antoine Delignat-Lavaud.
243
244 *) Изменение: директиву stub_status теперь можно указывать без
245 параметров.
246
247 *) Добавление: параметр always директивы add_header.
248
249 *) Добавление: директивы proxy_next_upstream_tries,
250 proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
251 fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
252 memcached_next_upstream_timeout, scgi_next_upstream_tries,
253 scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
254 uwsgi_next_upstream_timeout.
255
256 *) Исправление: в параметре if директивы access_log.
257
258 *) Исправление: в модуле ngx_http_perl_module.
259 Спасибо Piotr Sikora.
260
261 *) Исправление: директива listen почтового прокси-сервера не позволяла
262 указать более двух параметров.
263
264 *) Исправление: директива sub_filter не работала с заменяемой строкой из
265 одного символа.
266
267 *) Исправление: запросы могли зависать, если использовался resolver и в
268 процессе обращения к DNS-серверу происходил таймаут.
269
270 *) Исправление: в модуле ngx_http_spdy_module при использовании
271 совместно с AIO.
272
273 *) Исправление: в рабочем процессе мог произойти segmentation fault,
274 если с помощью директивы set изменялись переменные "$http_...",
275 "$sent_http_..." или "$upstream_http_...".
276
277 *) Исправление: в обработке ошибок выделения памяти.
278 Спасибо Markus Linnala и Feng Gu.
279
280
281 Изменения в nginx 1.7.4 05.08.2014
282
283 *) Безопасность: pipelined-команды не отбрасывались после команды
284 STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
285 1.5.6.
286 Спасибо Chris Boulton.
287
288 *) Изменение: экранирование символов в URI теперь использует
289 шестнадцатеричные цифры в верхнем регистре.
290 Спасибо Piotr Sikora.
291
292 *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
293 Спасибо Piotr Sikora.
294
295 *) Исправление: запросы могли зависать, если использовался resolver и
296 DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
297
298 *) Исправление: в модуле ngx_http_spdy_module.
299 Спасибо Piotr Sikora.
300
301 *) Исправление: переменная $uri могла содержать мусор при возврате
302 ошибок с кодом 400.
303 Спасибо Сергею Боброву.
304
305 *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
306 ngx_http_dav_module.
307 Спасибо Feng Gu.
308
309 *) Исправление: при логгировании ошибок в syslog мог происходить
310 segmentation fault; ошибка появилась в 1.7.1.
311
312 *) Исправление: переменные $geoip_latitude, $geoip_longitude,
313 $geoip_dma_code и $geoip_area_code могли не работать.
314 Спасибо Yichun Zhang.
315
316 *) Исправление: в обработке ошибок выделения памяти.
317 Спасибо Tatsuhiko Kubo и Piotr Sikora.
318
319
320 Изменения в nginx 1.7.3 08.07.2014
321
322 *) Добавление: weak entity tags теперь не удаляются при изменениях
323 ответа, а strong entity tags преобразуются в weak.
324
325 *) Добавление: ревалидация элементов кэша теперь, если это возможно,
326 использует заголовок If-None-Match.
327
328 *) Добавление: директива ssl_password_file.
329
330 *) Исправление: при возврате ответа из кэша заголовок запроса
331 If-None-Match игнорировался, если в ответе не было заголовка
332 Last-Modified.
333
334 *) Исправление: сообщения "peer closed connection in SSL handshake" при
335 соединении с бэкендами логгировались на уровне info вместо error.
336
337 *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
338
339 *) Исправление: SPDY-соединения могли неожиданно закрываться, если
340 использовалось кэширование.
341
342
343 Изменения в nginx 1.7.2 17.06.2014
344
345 *) Добавление: директива hash в блоке upstream.
346
347 *) Добавление: дефрагментация свободных блоков разделяемой памяти.
348 Спасибо Wandenberg Peixoto и Yichun Zhang.
349
350 *) Исправление: в рабочем процессе мог произойти segmentation fault,
351 если использовалось значение access_log по умолчанию; ошибка
352 появилась в 1.7.0.
353 Спасибо Piotr Sikora.
354
355 *) Исправление: завершающий слэш ошибочно удалялся из последнего
356 параметра директивы try_files.
357
358 *) Исправление: nginx мог не собираться на OS X.
359
360 *) Исправление: в модуле ngx_http_spdy_module.
361
362
363 Изменения в nginx 1.7.1 27.05.2014
364
365 *) Добавление: переменные "$upstream_cookie_...".
366
367 *) Добавление: переменная $ssl_client_fingerprint.
368
369 *) Добавление: директивы error_log и access_log теперь поддерживают
370 логгирование в syslog.
371
372 *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
373 соединении.
374
375 *) Исправление: утечки памяти при использовании директивы
376 "ssl_stapling".
377 Спасибо Filipe da Silva.
378
379 *) Исправление: директива alias внутри location'а, заданного регулярным
380 выражением, работала неправильно, если использовались директивы if
381 или limit_except.
382
383 *) Исправление: директива charset не ставила кодировку для сжатых
384 ответов бэкендов.
385
386 *) Исправление: директива proxy_pass без URI могла использовать
387 оригинальный запрос после установки переменной $args.
388 Спасибо Yichun Zhang.
389
390 *) Исправление: в работе параметра none директивы smtp_auth; ошибка
391 появилась в 1.5.6.
392 Спасибо Святославу Никольскому.
393
394 *) Исправление: при совместном использовании sub_filter и SSI ответы
395 могли передаваться неверно.
396
397 *) Исправление: nginx не собирался с параметром --with-file-aio на
398 Linux/aarch64.
399
400
401 Изменения в nginx 1.7.0 24.04.2014
402
403 *) Добавление: проверка SSL-сертификатов бэкендов.
404
405 *) Добавление: поддержка SNI при работе с бэкендами по SSL.
406
407 *) Добавление: переменная $ssl_server_name.
408
409 *) Добавление: параметр if директивы access_log.
410
411
412 Изменения в nginx 1.5.13 08.04.2014
413
414 *) Изменение: улучшена обработка хэш-таблиц; в директивах
415 variables_hash_max_size и types_hash_bucket_size значения по
416 умолчанию изменены на 1024 и 64 соответственно.
417
418 *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end.
419
420 *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при
421 сохранении ответов в кэш.
422
423 *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc()
424 failed: no memory" при использовании разделяемой памяти в
425 ssl_session_cache и в модуле ngx_http_limit_req_module.
426
427 *) Исправление: директива underscores_in_headers не разрешала
428 подчёркивание в первом символе заголовка.
429 Спасибо Piotr Sikora.
430
431 *) Исправление: cache manager мог нагружать процессор при выходе в
432 nginx/Windows.
433
434 *) Исправление: при использовании ssl_session_cache с параметром shared
435 рабочий процесс nginx/Windows завершался аварийно.
436
437 *) Исправление: в модуле ngx_http_spdy_module.
438
439
440 Изменения в nginx 1.5.12 18.03.2014
441
442 *) Безопасность: при обработке специально созданного запроса модулем
443 ngx_http_spdy_module могло происходить переполнение буфера в рабочем
444 процессе, что потенциально могло приводить к выполнению произвольного
445 кода (CVE-2014-0133).
446 Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
447 Buenos Aires, Argentina.
448
449 *) Добавление: параметр proxy_protocol в директивах listen и
450 real_ip_header, переменная $proxy_protocol_addr.
451
452 *) Исправление: в директиве fastcgi_next_upstream.
453 Спасибо Lucas Molas.
454
455
456 Изменения в nginx 1.5.11 04.03.2014
457
458 *) Безопасность: при обработке специально созданного запроса модулем
459 ngx_http_spdy_module на 32-битных платформах могла повреждаться
460 память рабочего процесса, что потенциально могло приводить к
461 выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
462 1.5.10.
463 Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
464 Buenos Aires, Argentina.
465
466 *) Добавление: переменная $ssl_session_reused.
467
468 *) Исправление: директива client_max_body_size могла не работать при
469 чтении тела запроса с использованием chunked transfer encoding;
470 ошибка появилась в 1.3.9.
471 Спасибо Lucas Molas.
472
473 *) Исправление: при проксировании WebSocket-соединений в рабочем
474 процессе мог произойти segmentation fault.
475
476 *) Исправление: в рабочем процессе мог произойти segmentation fault,
477 если использовался модуль ngx_http_spdy_module на 32-битных
478 платформах; ошибка появилась в 1.5.10.
479
480 *) Исправление: значение переменной $upstream_status могло быть
481 неверным, если использовались директивы proxy_cache_use_stale или
482 proxy_cache_revalidate.
483 Спасибо Piotr Sikora.
484
485 *) Исправление: в рабочем процессе мог произойти segmentation fault,
486 если ошибки с кодом 400 с помощью директивы error_page
487 перенаправлялись в именованный location.
488
489 *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
490
491
492 Изменения в nginx 1.5.10 04.02.2014
493
494 *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
495 SPDY 3.1.
496 Спасибо Automattic и MaxCDN за спонсирование разработки.
497
498 *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
499 имеющие меньшую длину, чем запрошенная перемотка.
500
501 *) Исправление: в рабочем процессе мог произойти segmentation fault,
502 если переменная $ssl_session_id использовалась при логгировании;
503 ошибка появилась в 1.5.9.
504
505 *) Исправление: переменные $date_local и $date_gmt использовали неверный
506 формат вне модуля ngx_http_ssi_filter_module.
507
508 *) Исправление: клиентские соединения могли сразу закрываться, если
509 использовался отложенный accept; ошибка появилась в 1.3.15.
510
511 *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
512 записывались в лог в процессе обновления исполняемого файла на Linux;
513 ошибка появилась в 1.5.8.
514 Спасибо Piotr Sikora.
515
516
517 Изменения в nginx 1.5.9 22.01.2014
518
519 *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
520 закодированный URI.
521
522 *) Добавление: директива ssl_buffer_size.
523
524 *) Добавление: директиву limit_rate теперь можно использовать для
525 ограничения скорости передачи ответов клиенту в SPDY-соединениях.
526
527 *) Добавление: директива spdy_chunk_size.
528
529 *) Добавление: директива ssl_session_tickets.
530 Спасибо Dirkjan Bussink.
531
532 *) Исправление: переменная $ssl_session_id содержала всю сессию в
533 сериализованном виде вместо её идентификатора.
534 Спасибо Ivan Ristić.
535
536 *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
537 в команде SSI include.
538
539 *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
540 при обработке методов COPY и MOVE.
541
542 *) Исправление: resolver не понимал доменные имена с точкой в конце.
543 Спасибо Yichun Zhang.
544
545 *) Исправление: при проксировании в логах могли появляться сообщения
546 "zero size buf in output"; ошибка появилась в 1.3.9.
547
548 *) Исправление: в рабочем процессе мог произойти segmentation fault,
549 если использовался модуль ngx_http_spdy_module.
550
551 *) Исправление: при использовании методов обработки соединений select,
552 poll и /dev/poll проксируемые WebSocket-соединения могли зависать
553 сразу после открытия.
554
555 *) Исправление: директива xclient почтового прокси-сервера некорректно
556 передавала IPv6-адреса.
557
558
559 Изменения в nginx 1.5.8 17.12.2013
560
561 *) Добавление: теперь resolver поддерживает IPv6.
562
563 *) Добавление: директива listen поддерживает параметр fastopen.
564 Спасибо Mathew Rodley.
565
566 *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
567 Спасибо Roberto De Ioris.
568
569 *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
570 Спасибо Evan Miller.
571
572 *) Исправление: при чтении тела запроса с использованием chunked
573 transfer encoding по SSL-соединению мог произойти таймаут.
574
575 *) Исправление: директива master_process работала неправильно в
576 nginx/Windows.
577
578 *) Исправление: параметр setfib директивы listen мог не работать.
579
580 *) Исправление: в модуле ngx_http_spdy_module.
581
582
583 Изменения в nginx 1.5.7 19.11.2013
584
585 *) Безопасность: символ, следующий за незакодированным пробелом в строке
586 запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
587 в 0.8.41.
588 Спасибо Ivan Fratric из Google Security Team.
589
590 *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
591 пароля понижен с уровня error до info.
592
593 *) Добавление: директивы proxy_cache_revalidate,
594 fastcgi_cache_revalidate, scgi_cache_revalidate и
595 uwsgi_cache_revalidate.
596
597 *) Добавление: директива ssl_session_ticket_key.
598 Спасибо Piotr Sikora.
599
600 *) Исправление: директива "add_header Cache-Control ''" добавляла строку
601 заголовка ответа "Cache-Control" с пустым значением.
602
603 *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
604 401 при использовании директив auth_request и auth_basic.
605 Спасибо Jan Marc Hoffmann.
606
607 *) Исправление: параметры accept_filter и deferred директивы listen
608 игнорировались для listen-сокетов, создаваемых в процессе обновления
609 исполняемого файла.
610 Спасибо Piotr Sikora.
611
612 *) Исправление: часть данных, полученных от бэкенда при
613 небуферизированном проксировании, могла не отправляться клиенту
614 сразу, если использовались директивы gzip или gunzip.
615 Спасибо Yichun Zhang.
616
617 *) Исправление: в обработке ошибок в модуле
618 ngx_http_gunzip_filter_module.
619
620 *) Исправление: ответы могли зависать, если использовался модуль
621 ngx_http_spdy_module и директива auth_request.
622
623 *) Исправление: утечки памяти в nginx/Windows.
624
625
626 Изменения в nginx 1.5.6 01.10.2013
627
628 *) Добавление: директива fastcgi_buffering.
629
630 *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
631 Спасибо Piotr Sikora.
632
633 *) Добавление: оптимизация SSL handshake при использовании длинных
634 цепочек сертификатов.
635
636 *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
637
638 *) Исправление: в модуле ngx_http_auth_basic_module при использовании
639 метода шифрования паролей "$apr1$".
640 Спасибо Markus Linnala.
641
642 *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
643 мог использоваться неверный location, если для задания location'ов
644 использовались символы разных регистров.
645
646 *) Исправление: автоматическое перенаправление с добавлением
647 завершающего слэша для проксированных location'ов могло не работать.
648
649 *) Исправление: в почтовом прокси-сервере.
650
651 *) Исправление: в модуле ngx_http_spdy_module.
652
653
654 Изменения в nginx 1.5.5 17.09.2013
655
656 *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
657 определить протокол не удалось.
658
659 *) Добавление: директива disable_symlinks теперь использует O_PATH на
660 Linux.
661
662 *) Добавление: для определения того, что клиент закрыл соединение, при
663 использовании метода epoll теперь используются события EPOLLRDHUP.
664
665 *) Исправление: в директиве valid_referers при использовании параметра
666 server_names.
667
668 *) Исправление: переменная $request_time не работала в nginx/Windows.
669
670 *) Исправление: в директиве image_filter.
671 Спасибо Lanshun Zhou.
672
673 *) Исправление: совместимость с OpenSSL 1.0.1f.
674 Спасибо Piotr Sikora.
675
676
677 Изменения в nginx 1.5.4 27.08.2013
678
679 *) Изменение: MIME-тип для расширения js изменён на
680 "application/javascript"; значение по умолчанию директивы
681 charset_types изменено соответственно.
682
683 *) Изменение: теперь директива image_filter с параметром size возвращает
684 ответ с MIME-типом "application/json".
685
686 *) Добавление: модуль ngx_http_auth_request_module.
687
688 *) Исправление: на старте или во время переконфигурации мог произойти
689 segmentation fault, если использовалась директива try_files с пустым
690 параметром.
691
692 *) Исправление: утечки памяти при использовании в директивах root и
693 auth_basic_user_file относительных путей, заданных с помощью
694 переменных.
695
696 *) Исправление: директива valid_referers неправильно выполняла
697 регулярные выражения, если заголовок Referer начинался с "https://".
698 Спасибо Liangbin Li.
699
700 *) Исправление: ответы могли зависать, если использовались подзапросы и
701 при обработке подзапроса происходила ошибка во время SSL handshake с
702 бэкендом.
703 Спасибо Aviram Cohen.
704
705 *) Исправление: в модуле ngx_http_autoindex_module.
706
707 *) Исправление: в модуле ngx_http_spdy_module.
708
709
710 Изменения в nginx 1.5.3 30.07.2013
711
712 *) Изменение во внутреннем API: теперь при небуферизированной работе с
713 бэкендами u->length по умолчанию устанавливается в -1.
714
715 *) Изменение: теперь при получении неполного ответа от бэкенда nginx
716 отправляет полученную часть ответа, после чего закрывает соединение с
717 клиентом.
718
719 *) Исправление: в рабочем процессе мог произойти segmentation fault,
720 если использовался модуль ngx_http_spdy_module и директива
721 client_body_in_file_only.
722
723 *) Исправление: параметр so_keepalive директивы listen мог работать
724 некорректно на DragonFlyBSD.
725 Спасибо Sepherosa Ziehau.
726
727 *) Исправление: в модуле ngx_http_xslt_filter_module.
728
729 *) Исправление: в модуле ngx_http_sub_filter_module.
730
731
732 Изменения в nginx 1.5.2 02.07.2013
733
734 *) Добавление: теперь можно использовать несколько директив error_log.
735
736 *) Исправление: метод $r->header_in() встроенного перла не возвращал
737 значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
738 ошибка появилась в 1.3.14.
739
740 *) Исправление: в модуле ngx_http_spdy_module.
741 Спасибо Jim Radford.
742
743 *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
744 Спасибо Сергею Иванцову.
745
746
747 Изменения в nginx 1.5.1 04.06.2013
748
749 *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
750 xslt_last_modified.
751 Спасибо Алексею Колпакову.
752
753 *) Добавление: параметр http_403 в директивах proxy_next_upstream,
754 fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
755
756 *) Добавление: директивы allow и deny теперь поддерживают unix domain
757 сокеты.
758
759 *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
760 модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
761
762 *) Исправление: в директиве proxy_set_body.
763 Спасибо Lanshun Zhou.
764
765 *) Исправление: в директиве lingering_time.
766 Спасибо Lanshun Zhou.
767
768 *) Исправление: параметр fail_timeout директивы server в блоке upstream
769 мог не работать, если использовался параметр max_fails; ошибка
770 появилась в 1.3.0.
771
772 *) Исправление: в рабочем процессе мог произойти segmentation fault,
773 если использовалась директива ssl_stapling.
774 Спасибо Piotr Sikora.
775
776 *) Исправление: в почтовом прокси-сервере.
777 Спасибо Filipe Da Silva.
778
779 *) Исправление: nginx/Windows мог перестать принимать соединения, если
780 использовалось несколько рабочих процессов.
781
782
783 Изменения в nginx 1.5.0 07.05.2013
784
785 *) Безопасность: при обработке специально созданного запроса мог
786 перезаписываться стек рабочего процесса, что могло приводить к
787 выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
788 1.3.9.
789 Спасибо Greg MacManus, iSIGHT Partners Labs.
790
791
792 Изменения в nginx 1.4.0 24.04.2013
793
794 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
795 использовался параметр --with-openssl; ошибка появилась в 1.3.16.
796
797 *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
798 ошибка появилась в 1.3.9.
799
800
801 Изменения в nginx 1.3.16 16.04.2013
802
803 *) Исправление: в рабочем процессе мог произойти segmentation fault,
804 если использовались подзапросы; ошибка появилась в 1.3.9.
805
806 *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
807 WebSocket-соединений в unix domain сокет.
808
809 *) Исправление: переменная $upstream_response_length возвращала значение
810 "0", если не использовалась буферизация.
811 Спасибо Piotr Sikora.
812
813 *) Исправление: в методах обработки соединений eventport и /dev/poll.
814
815
816 Изменения в nginx 1.3.15 26.03.2013
817
818 *) Изменение: открытие и закрытие соединения без отправки в нём
819 каких-либо данных больше не записывается в access_log с кодом ошибки
820 400.
821
822 *) Добавление: модуль ngx_http_spdy_module.
823 Спасибо Automattic за спонсирование разработки.
824
825 *) Добавление: директивы limit_req_status и limit_conn_status.
826 Спасибо Nick Marden.
827
828 *) Добавление: директива image_filter_interlace.
829 Спасибо Ивану Боброву.
830
831 *) Добавление: переменная $connections_waiting в модуле
832 ngx_http_stub_status_module.
833
834 *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
835
836 *) Исправление: при повторной отправке запроса на бэкенд тело запроса
837 могло передаваться неправильно; ошибка появилась в 1.3.9.
838 Спасибо Piotr Sikora.
839
840 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
841 1.3.9.
842
843 *) Исправление: ответы могли зависать, если использовались подзапросы и
844 при обработке подзапроса происходила DNS-ошибка.
845 Спасибо Lanshun Zhou.
846
847 *) Исправление: в процедуре учёта использования бэкендов.
848
849
850 Изменения в nginx 1.3.14 05.03.2013
851
852 *) Добавление: переменные $connections_active, $connections_reading и
853 $connections_writing в модуле ngx_http_stub_status_module.
854
855 *) Добавление: поддержка WebSocket-соединений в модулях
856 ngx_http_uwsgi_module и ngx_http_scgi_module.
857
858 *) Исправление: в обработке виртуальных серверов при использовании SNI.
859
860 *) Исправление: при использовании директивы "ssl_session_cache shared"
861 новые сессии могли не сохраняться, если заканчивалось место в
862 разделяемой памяти.
863 Спасибо Piotr Sikora.
864
865 *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
866 неправильно.
867 Спасибо Neal Poole за спонсирование разработки.
868
869 *) Исправление: в модуле ngx_http_mp4_module.
870 Спасибо Gernot Vormayr.
871
872
873 Изменения в nginx 1.3.13 19.02.2013
874
875 *) Изменение: теперь для сборки по умолчанию используется компилятор с
876 именем "cc".
877
878 *) Добавление: поддержка проксирования WebSocket-соединений.
879 Спасибо Apcera и CloudBees за спонсирование разработки.
880
881 *) Добавление: директива auth_basic_user_file поддерживает шифрование
882 паролей методом "{SHA}".
883 Спасибо Louis Opter.
884
885
886 Изменения в nginx 1.3.12 05.02.2013
887
888 *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
889 scgi_bind и uwsgi_bind поддерживают переменные.
890
891 *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
892 $time_local теперь можно использовать не только в директиве
893 log_format.
894 Спасибо Kiril Kalchev.
895
896 *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
897 Спасибо Gregor Kališnik.
898
899 *) Исправление: директива proxy_method работала неверно, если была
900 указана на уровне http.
901
902 *) Исправление: в рабочем процессе мог произойти segmentation fault,
903 если использовался resolver и метод poll.
904
905 *) Исправление: nginx мог нагружать процессор во время SSL handshake с
906 бэкендом при использовании методов обработки соединений select, poll
907 и /dev/poll.
908
909 *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
910
911 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
912 1.3.9.
913
914 *) Исправление: в директиве fastcgi_keep_conn.
915
916
917 Изменения в nginx 1.3.11 10.01.2013
918
919 *) Исправление: при записи в лог мог происходить segmentation fault;
920 ошибка появилась в 1.3.10.
921
922 *) Исправление: директива proxy_pass не работала с IP-адресами без
923 явного указания порта; ошибка появилась в 1.3.10.
924
925 *) Исправление: на старте или во время переконфигурации происходил
926 segmentation fault, если директива keepalive была указана несколько
927 раз в одном блоке upstream.
928
929 *) Исправление: параметр default директивы geo не определял значение по
930 умолчанию для IPv6-адресов.
931
932
933 Изменения в nginx 1.3.10 25.12.2012
934
935 *) Изменение: для указанных в конфигурационном файле доменных имён
936 теперь используются не только IPv4, но и IPv6 адреса.
937
938 *) Изменение: теперь при использовании директивы include с маской на
939 Unix-системах включаемые файлы сортируются в алфавитном порядке.
940
941 *) Изменение: директива add_header добавляет строки в ответы с кодом
942 201.
943
944 *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
945 CIDR.
946
947 *) Добавление: параметры flush и gzip в директиве access_log.
948
949 *) Добавление: директива auth_basic поддерживает переменные.
950
951 *) Исправление: nginx в некоторых случаях не собирался с модулем
952 ngx_http_perl_module.
953
954 *) Исправление: в рабочем процессе мог произойти segmentation fault,
955 если использовался модуль ngx_http_xslt_module.
956
957 *) Исправление: nginx мог не собираться на MacOSX.
958 Спасибо Piotr Sikora.
959
960 *) Исправление: при использовании директивы limit_rate с большими
961 значениями скорости на 32-битных системах ответ мог возвращаться не
962 целиком.
963 Спасибо Алексею Антропову.
964
965 *) Исправление: в рабочем процессе мог произойти segmentation fault,
966 если использовалась директива if.
967 Спасибо Piotr Sikora.
968
969 *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
970 Request Entity Too Large".
971
972 *) Исправление: директивы image_filter, image_filter_jpeg_quality и
973 image_filter_sharpen могли наследоваться некорректно.
974 Спасибо Ивану Боброву.
975
976 *) Исправление: при использовании директивы auth_basic под Linux могли
977 возникать ошибки "crypt_r() failed".
978
979 *) Исправление: в обработке backup-серверов.
980 Спасибо Thomas Chen.
981
982 *) Исправление: при проксировании HEAD-запросов мог возвращаться
983 некорректный ответ, если использовалась директива gzip.
984
985
986 Изменения в nginx 1.3.9 27.11.2012
987
988 *) Добавление: поддержка chunked transfer encoding при получении тела
989 запроса.
990
991 *) Добавление: переменные $request_time и $msec теперь можно
992 использовать не только в директиве log_format.
993
994 *) Исправление: cache manager и cache loader могли не запускаться, если
995 использовалось более 512 listen-сокетов.
996
997 *) Исправление: в модуле ngx_http_dav_module.
998
999
1000 Изменения в nginx 1.3.8 30.10.2012
1001
1002 *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
1003 Спасибо Михаилу Казанцеву и Eric O'Connor.
1004
1005 *) Добавление: переменные $bytes_sent, $connection и
1006 $connection_requests теперь можно использовать не только в директиве
1007 log_format.
1008 Спасибо Benjamin Grössing.
1009
1010 *) Добавление: параметр auto директивы worker_processes.
1011
1012 *) Исправление: сообщения "cache file ... has md5 collision".
1013
1014 *) Исправление: в модуле ngx_http_gunzip_filter_module.
1015
1016 *) Исправление: в директиве ssl_stapling.
1017
1018
1019 Изменения в nginx 1.3.7 02.10.2012
1020
1021 *) Добавление: поддержка OCSP stapling.
1022 Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
1023
1024 *) Добавление: директива ssl_trusted_certificate.
1025
1026 *) Добавление: теперь resolver случайным образом меняет порядок
1027 возвращаемых закэшированных адресов.
1028 Спасибо Антону Жулину.
1029
1030 *) Исправление: совместимость с OpenSSL 0.9.7.
1031
1032
1033 Изменения в nginx 1.3.6 12.09.2012
1034
1035 *) Добавление: модуль ngx_http_gunzip_filter_module.
1036
1037 *) Добавление: директива memcached_gzip_flag.
1038
1039 *) Добавление: параметр always директивы gzip_static.
1040
1041 *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
1042 Спасибо Charles Chen.
1043
1044 *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
1045 использовался параметр --with-ipv6.
1046
1047
1048 Изменения в nginx 1.3.5 21.08.2012
1049
1050 *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
1051 дорожки в форматах, отличных от H.264 и AAC.
1052
1053 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1054 если в директиве map в качестве значений использовались переменные.
1055
1056 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1057 использовании директивы geo с параметром ranges, но без параметра
1058 default; ошибка появилась в 0.8.43.
1059 Спасибо Zhen Chen и Weibin Yao.
1060
1061 *) Исправление: в обработке параметра командной строки -p.
1062
1063 *) Исправление: в почтовом прокси-сервере.
1064
1065 *) Исправление: незначительных потенциальных ошибок.
1066 Спасибо Coverity.
1067
1068 *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
1069 Спасибо HAYASHI Kentaro.
1070
1071
1072 Изменения в nginx 1.3.4 31.07.2012
1073
1074 *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
1075 по умолчанию.
1076
1077 *) Добавление: поддержка компилятора Clang.
1078
1079 *) Исправление: могли создаваться лишние слушающие сокеты.
1080 Спасибо Роману Одайскому.
1081
1082 *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
1083 рабочего процесса происходила ошибка.
1084 Спасибо Ricardo Villalobos Guevara.
1085
1086 *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
1087 scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
1088 fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
1089 наследоваться некорректно.
1090
1091
1092 Изменения в nginx 1.3.3 10.07.2012
1093
1094 *) Добавление: поддержка entity tags и директива etag.
1095
1096 *) Исправление: при использовании директивы map с параметром hostnames
1097 не игнорировалась конечная точка в исходном значении.
1098
1099 *) Исправление: для обработки запроса мог использоваться неверный
1100 location, если переход в именованный location происходил после
1101 изменения URI с помощью директивы rewrite.
1102
1103
1104 Изменения в nginx 1.3.2 26.06.2012
1105
1106 *) Изменение: параметр single директивы keepalive теперь игнорируется.
1107
1108 *) Изменение: сжатие SSL теперь отключено в том числе при использовании
1109 OpenSSL старее 1.0.0.
1110
1111 *) Добавление: директиву "ip_hash" теперь можно использовать для
1112 балансировки IPv6 клиентов.
1113
1114 *) Добавление: переменную $status теперь можно использовать не только в
1115 директиве log_format.
1116
1117 *) Исправление: при завершении рабочего процесса мог произойти
1118 segmentation fault, если использовалась директива resolver.
1119
1120 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1121 если использовался модуль ngx_http_mp4_module.
1122
1123 *) Исправление: в модуле ngx_http_mp4_module.
1124
1125 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1126 если использовались конфликтующие имена серверов с масками.
1127
1128 *) Исправление: на платформе ARM nginx мог аварийно завершаться по
1129 сигналу SIGBUS.
1130
1131 *) Исправление: во время переконфигурации на HP-UX в лог записывался
1132 alert "sendmsg() failed (9: Bad file number)".
1133
1134
1135 Изменения в nginx 1.3.1 05.06.2012
1136
1137 *) Безопасность: теперь nginx/Windows игнорирует точку в конце
1138 компонента URI и не разрешает URI, содержащие последовательность
1139 ":$".
1140 Спасибо Владимиру Кочеткову, Positive Research Center.
1141
1142 *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
1143 и директива server в блоке upstream теперь поддерживают IPv6-адреса.
1144
1145 *) Добавление: в директиве resolver теперь можно указывать порт и
1146 задавать IPv6-адреса DNS-серверов.
1147
1148 *) Добавление: директива least_conn в блоке upstream.
1149
1150 *) Добавление: при использовании директивы ip_hash теперь можно задавать
1151 веса серверов.
1152
1153 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1154 если использовалась директива image_filter; ошибка появилась в 1.3.0.
1155
1156 *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
1157 появилась в 1.1.12.
1158
1159 *) Исправление: доступ к переменным из SSI и встроенного перла мог не
1160 работать после переконфигурации.
1161 Спасибо Yichun Zhang.
1162
1163 *) Исправление: в модуле ngx_http_xslt_filter_module.
1164 Спасибо Kuramoto Eiji.
1165
1166 *) Исправление: утечки памяти при использовании переменной $geoip_org.
1167 Спасибо Денису Латыпову.
1168
1169 *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
1170
1171
1172 Изменения в nginx 1.3.0 15.05.2012
1173
1174 *) Добавление: директива debug_connection теперь поддерживает
1175 IPv6-адреса и параметр "unix:".
1176
1177 *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
1178 теперь поддерживают IPv6-адреса.
1179
1180 *) Добавление: директивы real_ip_recursive, geoip_proxy и
1181 geoip_proxy_recursive.
1182
1183 *) Добавление: параметр proxy_recursive директивы geo.
1184
1185 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1186 если использовалась директива resolver.
1187
1188 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1189 если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
1190 и бэкенд возвращал некорректный ответ.
1191
1192 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1193 если использовалась директива rewrite и в новых аргументах запроса в
1194 строке замены использовались переменные.
1195
1196 *) Исправление: nginx мог нагружать процессор, если было достигнуто
1197 ограничение на количество открытых файлов.
1198
1199 *) Исправление: при использовании директивы proxy_next_upstream с
1200 параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
1201 блоке upstream был хотя бы один сервер с флагом backup.
1202
1203 *) Исправление: при использовании директивы ip_hash установка параметра
1204 down директивы server могла приводить к ненужному перераспределению
1205 клиентов между бэкендами.
1206
1207 *) Исправление: утечки сокетов.
1208 Спасибо Yichun Zhang.
1209
1210 *) Исправление: в модуле ngx_http_fastcgi_module.
1211
1212
1213 Изменения в nginx 1.2.0 23.04.2012
1214
1215 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1216 если использовалась директива try_files; ошибка появилась в 1.1.19.
1217
1218 *) Исправление: ответ мог быть передан не полностью, если использовалось
1219 больше IOV_MAX буферов.
1220
1221 *) Исправление: в работе параметра crop директивы image_filter.
1222 Спасибо Maxim Bublis.
1223
1224
1225 Изменения в nginx 1.1.19 12.04.2012
1226
1227 *) Безопасность: при обработке специально созданного mp4 файла модулем
1228 ngx_http_mp4_module могли перезаписываться области памяти рабочего
1229 процесса, что могло приводить к выполнению произвольного кода
1230 (CVE-2012-2089).
1231 Спасибо Matthew Daley.
1232
1233 *) Исправление: nginx/Windows мог завершаться аварийно.
1234 Спасибо Vincent Lee.
1235
1236 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
1237 были помечены флагом backup.
1238
1239 *) Исправление: директивы allow и deny могли наследоваться некорректно,
1240 если в них использовались IPv6 адреса.
1241
1242 *) Исправление: директивы modern_browser и ancient_browser могли
1243 наследоваться некорректно.
1244
1245 *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
1246
1247 *) Исправление: в модуле ngx_http_mp4_module.
1248
1249
1250 Изменения в nginx 1.1.18 28.03.2012
1251
1252 *) Изменение: теперь keepalive соединения не запрещены для Safari по
1253 умолчанию.
1254
1255 *) Добавление: переменная $connection_requests.
1256
1257 *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
1258 $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
1259
1260 *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
1261
1262 *) Добавление: директивы xslt_param и xslt_string_param.
1263 Спасибо Samuel Behan.
1264
1265 *) Исправление: в configure.
1266 Спасибо Piotr Sikora.
1267
1268 *) Исправление: в модуле ngx_http_xslt_filter_module.
1269
1270 *) Исправление: nginx не собирался на Debian GNU/Hurd.
1271
1272
1273 Изменения в nginx 1.1.17 15.03.2012
1274
1275 *) Безопасность: содержимое ранее освобождённой памяти могло быть
1276 отправлено клиенту, если бэкенд возвращал специально созданный ответ.
1277 Спасибо Matthew Daley.
1278
1279 *) Исправление: при использовании встроенного перла из SSI.
1280 Спасибо Matthew Daley.
1281
1282 *) Исправление: в модуле ngx_http_uwsgi_module.
1283
1284
1285 Изменения в nginx 1.1.16 29.02.2012
1286
1287 *) Изменение: ограничение на количество одновременных подзапросов
1288 поднято до 200.
1289
1290 *) Добавление: параметр from в директиве disable_symlinks.
1291
1292 *) Добавление: директивы return и error_page теперь могут использоваться
1293 для возврата перенаправлений с кодом 307.
1294
1295 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1296 если использовалась директива resolver и на глобальном уровне не была
1297 задана директива error_log.
1298 Спасибо Роману Арутюняну.
1299
1300 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1301 если использовались директивы "proxy_http_version 1.1" или
1302 "fastcgi_keep_conn on".
1303
1304 *) Исправление: утечек памяти.
1305 Спасибо Lanshun Zhou.
1306
1307 *) Исправление: в директиве disable_symlinks.
1308
1309 *) Исправление: при использовании ZFS размер кэша на диске мог считаться
1310 некорректно; ошибка появилась в 1.0.1.
1311
1312 *) Исправление: nginx не собирался компилятором icc 12.1.
1313
1314 *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
1315 1.1.15.
1316
1317
1318 Изменения в nginx 1.1.15 15.02.2012
1319
1320 *) Добавление: директива disable_symlinks.
1321
1322 *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
1323
1324 *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
1325 prematurely closed connection" вместо "upstream sent too big header".
1326 Спасибо Feibo Li.
1327
1328 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
1329 использовался параметр --with-openssl.
1330
1331 *) Исправление: количество внутренних перенаправлений в именованные
1332 location'ы не ограничивалось.
1333
1334 *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
1335 ошибкам в модуле ngx_http_gzip_filter_module.
1336
1337 *) Исправление: при использовании директивы proxy_store с
1338 SSI-подзапросами временные файлы могли не удаляться.
1339
1340 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
1341 $args) возвращали старое пустое закэшированное значение.
1342
1343 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1344 если одновременно создавалось слишком много SSI-подзапросов; ошибка
1345 появилась в 0.7.25.
1346
1347
1348 Изменения в nginx 1.1.14 30.01.2012
1349
1350 *) Добавление: теперь можно указать несколько ограничений limit_req
1351 одновременно.
1352
1353 *) Исправление: в обработке ошибок при соединении с бэкендом.
1354 Спасибо Piotr Sikora.
1355
1356 *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
1357
1358 *) Исправление: в инициализации библиотеки OpenSSL.
1359
1360 *) Исправление: директивы proxy_redirect могли наследоваться
1361 некорректно.
1362
1363 *) Исправление: утечки памяти при переконфигурации, если использовалась
1364 директива pcre_jit.
1365
1366
1367 Изменения в nginx 1.1.13 16.01.2012
1368
1369 *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
1370
1371 *) Исправление: параметры директивы limit_req наследовались некорректно;
1372 ошибка появилась в 1.1.12.
1373
1374 *) Исправление: директива proxy_redirect некорректно обрабатывала
1375 заголовок Refresh при использовании регулярных выражений.
1376
1377 *) Исправление: директива proxy_cache_use_stale с параметром error не
1378 возвращала ответ из кэша, если все бэкенды были признаны
1379 неработающими.
1380
1381 *) Исправление: директива worker_cpu_affinity могла не работать.
1382
1383 *) Исправление: nginx не собирался на Solaris; ошибка появилась в
1384 1.1.12.
1385
1386 *) Исправление: в модуле ngx_http_mp4_module.
1387
1388
1389 Изменения в nginx 1.1.12 26.12.2011
1390
1391 *) Изменение: после перенаправления запроса с помощью директивы
1392 error_page директива proxy_pass без URI теперь использует изменённый
1393 URI.
1394 Спасибо Lanshun Zhou.
1395
1396 *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
1397 proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
1398
1399 *) Добавление: директива pcre_jit.
1400
1401 *) Добавление: SSI команда if поддерживает выделения в регулярных
1402 выражениях.
1403
1404 *) Исправление: SSI команда if не работала внутри команды block.
1405
1406 *) Исправление: директивы limit_conn_log_level и limit_req_log_level
1407 могли не работать.
1408
1409 *) Исправление: директива limit_rate не позволяла передавать на полной
1410 скорости, даже если был указан очень большой лимит.
1411
1412 *) Исправление: директива sendfile_max_chunk не работала, если
1413 использовалась директива limit_rate.
1414
1415 *) Исправление: если в директиве proxy_pass использовались переменные и
1416 не был указан URI, всегда использовался URI исходного запроса.
1417
1418 *) Исправление: после перенаправления запроса с помощью директивы
1419 try_files директива proxy_pass без URI могла использовать URI
1420 исходного запроса.
1421 Спасибо Lanshun Zhou.
1422
1423 *) Исправление: в модуле ngx_http_scgi_module.
1424
1425 *) Исправление: в модуле ngx_http_mp4_module.
1426
1427 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
1428
1429
1430 Изменения в nginx 1.1.11 12.12.2011
1431
1432 *) Добавление: параметр so_keepalive в директиве listen.
1433 Спасибо Всеволоду Стахову.
1434
1435 *) Добавление: параметр if_not_empty в директивах
1436 fastcgi/scgi/uwsgi_param.
1437
1438 *) Добавление: переменная $https.
1439
1440 *) Добавление: директива proxy_redirect поддерживает переменные в первом
1441 параметре.
1442
1443 *) Добавление: директива proxy_redirect поддерживает регулярные
1444 выражения.
1445
1446 *) Исправление: переменная $sent_http_cache_control могла содержать
1447 неверное значение при использовании директивы expires.
1448 Спасибо Yichun Zhang.
1449
1450 *) Исправление: директива read_ahead могла не работать при использовании
1451 совместно с try_files и open_file_cache.
1452
1453 *) Исправление: если в параметре inactive директивы proxy_cache_path
1454 было указано малое время, в рабочем процессе мог произойти
1455 segmentation fault.
1456
1457 *) Исправление: ответы из кэша могли зависать.
1458
1459
1460 Изменения в nginx 1.1.10 30.11.2011
1461
1462 *) Исправление: при использовании AIO на Linux в рабочем процессе
1463 происходил segmentation fault; ошибка появилась в 1.1.9.
1464
1465
1466 Изменения в nginx 1.1.9 28.11.2011
1467
1468 *) Изменение: теперь двойные кавычки экранируется при выводе
1469 SSI-командой echo.
1470 Спасибо Зауру Абасмирзоеву.
1471
1472 *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
1473 используется TTL, возвращённый DNS-сервером.
1474 Спасибо Кириллу Коринскому.
1475
1476 *) Исправление: nginx мог перестать отвечать, если рабочий процесс
1477 завершался аварийно.
1478
1479 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1480 если использовалось SNI; ошибка появилась в 1.1.2.
1481
1482 *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
1483 Спасибо Александру Усову.
1484
1485 *) Исправление: сигнал SIGWINCH переставал работать после первого
1486 обновления исполняемого файла; ошибка появилась в 1.1.1.
1487
1488 *) Исправление: теперь ответы бэкендов, длина которых не соответствует
1489 заголовку Content-Length, не кэширутся.
1490
1491 *) Исправление: в директиве scgi_param при использовании составных
1492 параметров.
1493
1494 *) Исправление: в методе epoll.
1495 Спасибо Yichun Zhang.
1496
1497 *) Исправление: в модуле ngx_http_flv_module.
1498 Спасибо Piotr Sikora.
1499
1500 *) Исправление: в модуле ngx_http_mp4_module.
1501
1502 *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
1503 заголовке Host.
1504
1505 *) Исправление: директивы add_header и expires не работали для ответов с
1506 кодом 206, если запрос проксировался.
1507
1508 *) Исправление: nginx не собирался на FreeBSD 10.
1509
1510 *) Исправление: nginx не собирался на AIX.
1511
1512
1513 Изменения в nginx 1.1.8 14.11.2011
1514
1515 *) Изменение: модуль ngx_http_limit_zone_module переименован в
1516 ngx_http_limit_conn_module.
1517
1518 *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
1519 новым синтаксисом.
1520
1521 *) Добавление: поддержка ограничения по нескольким limit_conn на одном
1522 уровне.
1523
1524 *) Добавление: директива image_filter_sharpen.
1525
1526 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1527 если resolver получил большой DNS-ответ.
1528 Спасибо Ben Hawkes.
1529
1530 *) Исправление: в вычислении ключа для кэширования, если использовалась
1531 внутренняя реализация MD5; ошибка появилась в 1.0.4.
1532
1533 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1534 заголовке запроса клиента могли передаваться бэкенду при кэшировании;
1535 или не передаваться при выключенном кэшировании, если кэширование
1536 было включено в другой части конфигурации.
1537
1538 *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
1539 "Content-Length" в заголовке ответа, использовался аргумент start.
1540 Спасибо Piotr Sikora.
1541
1542
1543 Изменения в nginx 1.1.7 31.10.2011
1544
1545 *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
1546 Спасибо Кириллу Коринскому.
1547
1548 *) Исправление: на старте или во время переконфигурации происходил
1549 segmentation fault, если директива ssl использовалась на уровне http
1550 и не был указан ssl_certificate.
1551
1552 *) Исправление: уменьшено потребление памяти при проксировании больших
1553 файлов, если они буферизировались на диск.
1554
1555 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1556 если использовалась директива "proxy_http_version 1.1".
1557
1558 *) Исправление: в директиве "expires @time".
1559
1560
1561 Изменения в nginx 1.1.6 17.10.2011
1562
1563 *) Изменение во внутреннем API: теперь при внутреннем редиректе в
1564 именованный location контексты модулей очищаются.
1565 По запросу Yichun Zhang.
1566
1567 *) Изменение: теперь если сервер, описанный в блоке upstream, был
1568 признан неработающим, то после истечения fail_timeout на него будет
1569 отправлен только один запрос; сервер будет считаться работающим, если
1570 успешно ответит на этот запрос.
1571
1572 *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
1573 \xXX.
1574
1575 *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
1576 теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
1577 X-Accel-Charset.
1578
1579 *) Добавление: уменьшение потребления памяти при использовании SSL.
1580
1581 *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
1582 Спасибо Алексею Куцу.
1583
1584 *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
1585 уровне server, применялись повторно, если для запроса не находилось
1586 ни одного location'а.
1587
1588 *) Исправление: при использовании "aio sendfile" могла происходить
1589 утечка сокетов.
1590
1591 *) Исправление: при использовании файлового AIO соединения с быстрыми
1592 клиентами могли быть закрыты по истечению send_timeout.
1593
1594 *) Исправление: в модуле ngx_http_autoindex_module.
1595
1596 *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
1597 32-битных платформах.
1598
1599
1600 Изменения в nginx 1.1.5 05.10.2011
1601
1602 *) Добавление: директивы uwsgi_buffering и scgi_buffering.
1603 Спасибо Peter Smit.
1604
1605 *) Исправление: при использовании proxy_cache_bypass могли быть
1606 закэшированы некэшируемые ответы.
1607 Спасибо John Ferlito.
1608
1609 *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
1610 HTTP/1.1.
1611
1612 *) Исправление: закэшированные ответы с пустым телом возвращались
1613 некорректно; ошибка появилась в 0.8.31.
1614
1615 *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
1616 некорректны; ошибка появилась в 0.8.32.
1617
1618 *) Исправление: в директиве return.
1619
1620 *) Исправление: при использовании директивы "ssl_session_cache builtin"
1621 происходил segmentation fault; ошибка появилась в 1.1.1.
1622
1623
1624 Изменения в nginx 1.1.4 20.09.2011
1625
1626 *) Добавление: модуль ngx_http_upstream_keepalive.
1627
1628 *) Добавление: директива proxy_http_version.
1629
1630 *) Добавление: директива fastcgi_keep_conn.
1631
1632 *) Добавление: директива worker_aio_requests.
1633
1634 *) Исправление: если nginx был собран с файловым AIO, он не мог
1635 запускаться на Linux без поддержки AIO.
1636
1637 *) Исправление: в обработке ошибок при работе с Linux AIO.
1638 Спасибо Hagai Avrahami.
1639
1640 *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
1641
1642 *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
1643 MP4-атом co64.
1644
1645
1646 Изменения в nginx 1.1.3 14.09.2011
1647
1648 *) Добавление: модуль ngx_http_mp4_module.
1649
1650 *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
1651
1652 *) Исправление: open_file_cache не обновлял информацию о файле, если
1653 файл был изменён не атомарно.
1654
1655 *) Исправление: nginx не собирался на MacOSX 10.7.
1656
1657
1658 Изменения в nginx 1.1.2 05.09.2011
1659
1660 *) Изменение: теперь, если суммарный размер всех диапазонов больше
1661 размера исходного ответа, то nginx возвращает только исходный ответ,
1662 не обрабатывая диапазоны.
1663
1664 *) Добавление: директива max_ranges.
1665
1666 *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
1667 ssl_prefer_server_cipher могли работать некорректно, если
1668 использовался SNI.
1669
1670 *) Исправление: в директивах proxy/fastcgi/scgi/
1671 uwsgi_ignore_client_abort.
1672
1673
1674 Изменения в nginx 1.1.1 22.08.2011
1675
1676 *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
1677 число файлов, указанное в параметре load_files, либо работает не
1678 дольше времени, указанного в параметре loader_threshold.
1679
1680 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
1681
1682 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
1683 на Solaris.
1684 Спасибо Денису Иванову.
1685
1686 *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
1687
1688 *) Исправление: nginx не собирался на Linux 3.0.
1689
1690 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
1691 появилась в 1.1.0.
1692
1693 *) Исправление: обработка тела запроса могла быть неверной, если клиент
1694 использовал pipelining.
1695
1696 *) Исправление: в директиве request_body_in_single_buf.
1697
1698 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
1699 при использовании SSL-соединения с бэкендом.
1700
1701 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
1702 были помечены флагом down.
1703
1704 *) Исправление: при переконфигурации мог произойти segmentation fault,
1705 если в предыдущей конфигурации был определён, но не использовался
1706 ssl_session_cache.
1707
1708 *) Исправление: при использовании большого количества backup-серверов в
1709 рабочем процессе мог произойти segmentation fault.
1710
1711 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
1712 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
1713 произойти segmentation fault; ошибка появилась в 0.8.40.
1714
1715
1716 Изменения в nginx 1.1.0 01.08.2011
1717
1718 *) Добавление: уменьшение времени работы загрузчика кэша.
1719
1720 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
1721 директив proxy/fastcgi/scgi/uwsgi_cache_path.
1722
1723 *) Добавление: уменьшение времени загрузки конфигураций с большим
1724 количеством HTTPS серверов.
1725
1726 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
1727 Спасибо Adrian Kotelba.
1728
1729 *) Добавление: директива lingering_close.
1730 Спасибо Максиму Дунину.
1731
1732 *) Исправление: закрытия соединения для pipelined-запросов.
1733 Спасибо Максиму Дунину.
1734
1735 *) Исправление: nginx не запрещал сжатие при получении значения
1736 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
1737
1738 *) Исправление: таймаута при небуферизированном проксировании.
1739 Спасибо Максиму Дунину.
1740
1741 *) Исправление: утечки памяти при использовании переменных в директиве
1742 proxy_pass при работе с бэкендом по HTTPS.
1743 Спасибо Максиму Дунину.
1744
1745 *) Исправление: в проверке параметра директивы proxy_pass, заданного
1746 переменными.
1747 Спасибо Lanshun Zhou.
1748
1749 *) Исправление: SSL не работал на QNX.
1750 Спасибо Максиму Дунину.
1751
1752 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
1753 --with-debug.
1754
1755
1756 Изменения в nginx 1.0.5 19.07.2011
1757
1758 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1759 "HIGH:!aNULL:!MD5".
1760 Спасибо Rob Stradling.
1761
1762 *) Добавление: директивы referer_hash_max_size и
1763 referer_hash_bucket_size.
1764 Спасибо Witold Filipczyk.
1765
1766 *) Добавление: переменная $uid_reset.
1767
1768 *) Исправление: при использовании кэширования в рабочем процессе мог
1769 произойти segmentation fault.
1770 Спасибо Lanshun Zhou.
1771
1772 *) Исправление: при использовании кэширования рабочие процессы могли
1773 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
1774 Спасибо Максиму Дунину.
1775
1776 *) Исправление: сообщения "stalled cache updating".
1777 Спасибо Максиму Дунину.
1778
1779
1780 Изменения в nginx 1.0.4 01.06.2011
1781
1782 *) Изменение: теперь в регулярных выражениях в директиве map можно
1783 задать чувствительность к регистру с помощью префиксов "~" и "~*".
1784
1785 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
1786 на Linux.
1787 Спасибо Денису Латыпову.
1788
1789 *) Исправление: сообщения "stalled cache updating".
1790
1791 *) Исправление: nginx не собирался с параметром
1792 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
1793
1794
1795 Изменения в nginx 1.0.3 25.05.2011
1796
1797 *) Добавление: директива auth_basic_user_file поддерживает шифрование
1798 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
1799 Спасибо Максиму Дунину.
1800
1801 *) Добавление: директива geoip_org и переменная $geoip_org.
1802 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
1803
1804 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
1805 поддерживают адреса IPv4, отображённые на IPv6 адреса.
1806
1807 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
1808 рабочем процессе происходил segmentation fault, если директивы access
1809 или deny были определены только для адресов IPv6; ошибка появилась в
1810 0.8.22.
1811
1812 *) Исправление: закэшированный ответ мог быть испорчен, если значения
1813 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
1814 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
1815
1816
1817 Изменения в nginx 1.0.2 10.05.2011
1818
1819 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
1820
1821 *) Исправление: в работе параметра rotate директивы image_filter.
1822 Спасибо Adam Bocim.
1823
1824 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
1825
1826
1827 Изменения в nginx 1.0.1 03.05.2011
1828
1829 *) Изменение: теперь директива split_clients использует алгоритм
1830 MurmurHash2 из-за лучшего распределения.
1831 Спасибо Олегу Мамонтову.
1832
1833 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
1834 ложными значениями.
1835 Спасибо Максиму Дунину.
1836
1837 *) Изменение: теперь по умолчанию nginx использует значение 511 для
1838 listen backlog на Linux.
1839
1840 *) Добавление: переменные $upstream_... можно использовать в SSI и
1841 перловом модулях.
1842
1843 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
1844 Спасибо Олегу Мамонтову.
1845
1846 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
1847 segmentation fault; ошибка появилась в 0.8.22.
1848 Спасибо Максиму Дунину.
1849
1850 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
1851
1852 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
1853 появилась в 0.9.3.
1854 Спасибо Dagobert Michelsen.
1855
1856 *) Исправление: переменная $request_time имела неверные значения, если
1857 использовались подзапросы; ошибка появилась в 0.8.47.
1858 Спасибо Игорю А. Валькову.
1859
1860
1861 Изменения в nginx 1.0.0 12.04.2011
1862
1863 *) Исправление: cache manager мог нагружать процессор после
1864 переконфигурации.
1865 Спасибо Максиму Дунину.
1866
1867 *) Исправление: директива "image_filter crop" неправильно работала в
1868 сочетании с "image_filter rotate 180".
1869
1870 *) Исправление: директива "satisfy any" запрещала выдачу
1871 пользовательской страницы для 401 кода.
1872
1873
1874 Изменения в nginx 0.9.7 04.04.2011
1875
1876 *) Добавление: теперь соединения в состоянии keepalive могут быть
1877 закрыты преждевременно, если у воркера нет свободных соединений.
1878 Спасибо Максиму Дунину.
1879
1880 *) Добавление: параметр rotate директивы image_filter.
1881 Спасибо Adam Bocim.
1882
1883 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
1884 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
1885 upstream.
1886
1887
1888 Изменения в nginx 0.9.6 21.03.2011
1889
1890 *) Добавление: директива map поддерживает регулярные выражения в
1891 качестве значения первого параметра.
1892
1893 *) Добавление: переменная $time_iso8601 для access_log.
1894 Спасибо Michael Lustfield.
1895
1896
1897 Изменения в nginx 0.9.5 21.02.2011
1898
1899 *) Изменение: теперь по умолчанию nginx использует значение -1 для
1900 listen backlog на Linux.
1901 Спасибо Андрею Нигматулину.
1902
1903 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
1904 Спасибо Денису Латыпову.
1905
1906 *) Исправление: исправление в умолчательной директиве proxy_redirect,
1907 если в директиве proxy_pass не был описан URI.
1908 Спасибо Максиму Дунину.
1909
1910 *) Исправление: директива error_page не работала с нестандартными кодами
1911 ошибок; ошибка появилась в 0.8.53.
1912 Спасибо Максиму Дунину.
1913
1914
1915 Изменения в nginx 0.9.4 21.01.2011
1916
1917 *) Добавление: директива server_name поддерживает переменную $hostname.
1918
1919 *) Добавление: 494 код для ошибки "Request Header Too Large".
1920
1921
1922 Изменения в nginx 0.9.3 13.12.2010
1923
1924 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
1925 то выделения в регулярных выражениях в директиве server_name не
1926 работали.
1927
1928 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
1929 0.9.0.
1930
1931
1932 Изменения в nginx 0.9.2 06.12.2010
1933
1934 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
1935 запроса клиента.
1936
1937 *) Изменение: использование accept(), если accept4() не реализован;
1938 ошибка появилась в 0.9.0.
1939
1940 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
1941
1942 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
1943 Спасибо Максиму Дунину.
1944
1945
1946 Изменения в nginx 0.9.1 30.11.2010
1947
1948 *) Исправление: директивы вида "return CODE message" не работали; ошибка
1949 появилась в 0.9.0.
1950
1951
1952 Изменения в nginx 0.9.0 29.11.2010
1953
1954 *) Добавление: директива keepalive_disable.
1955
1956 *) Добавление: директива map поддерживает переменные в качестве значения
1957 определяемой переменной.
1958
1959 *) Добавление: директива map поддерживает пустые строки в качестве
1960 значения первого параметра.
1961
1962 *) Добавление: директива map поддерживает выражения в первом параметре.
1963
1964 *) Добавление: страница руководства nginx(8).
1965 Спасибо Сергею Осокину.
1966
1967 *) Добавление: поддержка accept4() в Linux.
1968 Спасибо Simon Liu.
1969
1970 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
1971 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
1972
1973 *) Исправление: при использовании директивы auth_basic в рабочем
1974 процессе мог произойти segmentation fault.
1975 Спасибо Михаилу Лалетину.
1976
1977 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
1978 появилась в 0.8.42.
1979
1980
1981 Изменения в nginx 0.8.53 18.10.2010
1982
1983 *) Добавление: теперь директива error_page позволяет менять код статуса
1984 у редиректа.
1985
1986 *) Добавление: директива gzip_disable поддерживает специальную маску
1987 degradation.
1988
1989 *) Исправление: при использовании файлового AIO могла происходить утечка
1990 сокетов.
1991 Спасибо Максиму Дунину.
1992
1993 *) Исправление: если в первом сервере не была описана директива listen и
1994 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
1995 становился следующий сервер с директивой listen; ошибка появилась в
1996 0.8.21.
1997
1998
1999 Изменения в nginx 0.8.52 28.09.2010
2000
2001 *) Исправление: nginx использовал режим SSL для listen сокета, если для
2002 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
2003
2004
2005 Изменения в nginx 0.8.51 27.09.2010
2006
2007 *) Изменение: директива secure_link_expires упразднена.
2008
2009 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
2010 alert на error.
2011
2012 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
2013 несколько раз.
2014
2015
2016 Изменения в nginx 0.8.50 02.09.2010
2017
2018 *) Добавление: директивы secure_link, secure_link_md5 и
2019 secure_link_expires модуля ngx_http_secure_link_module.
2020
2021 *) Добавление: ключ -q.
2022 Спасибо Геннадию Махомеду.
2023
2024 *) Исправление: при использовании кэширования рабочие процессы и могли
2025 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
2026
2027 *) Исправление: в директиве gzip_disable.
2028 Спасибо Derrick Petzold.
2029
2030 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
2031 reopen, reload процессу, запущенному в другой сессии.
2032
2033
2034 Изменения в nginx 0.8.49 09.08.2010
2035
2036 *) Добавление: директива image_filter_jpeg_quality поддерживает
2037 переменные.
2038
2039 *) Исправление: при использовании переменной $geoip_region_name в
2040 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2041 0.8.48.
2042
2043 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
2044 следующего запроса; ошибка появилась в 0.8.48.
2045
2046
2047 Изменения в nginx 0.8.48 03.08.2010
2048
2049 *) Изменение: теперь по умолчанию директива server_name имеет значение
2050 пустое имя "".
2051 Спасибо Геннадию Махомеду.
2052
2053 *) Изменение: теперь по умолчанию директива server_name_in_redirect
2054 имеет значение off.
2055
2056 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
2057 $geoip_region_name.
2058 Спасибо Christine McGonagle.
2059
2060 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
2061 scgi_pass не наследовались в блоки limit_except.
2062
2063 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
2064 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
2065 появилась в 0.8.46.
2066
2067 *) Исправление: директива fastcgi_split_path_info неверно использовала
2068 выделения, если в выделения попадала только часть URI.
2069 Спасибо Юрию Тарадаю и Frank Enderle.
2070
2071 *) Исправление: директива rewrite не экранировала символ ";" при
2072 копировании из URI в аргументы.
2073 Спасибо Daisuke Murase.
2074
2075 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
2076 если изображение было больше размера image_filter_buffer.
2077
2078
2079 Изменения в nginx 0.8.47 28.07.2010
2080
2081 *) Исправление: переменная $request_time имела неверные значения для
2082 подзапросов.
2083
2084 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
2085
2086 *) Исправление: если использовался параметр max_size, то cache manager
2087 мог зациклиться; ошибка появилась в 0.8.46.
2088
2089
2090 Изменения в nginx 0.8.46 19.07.2010
2091
2092 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
2093 и scgi_no_cache теперь влияют только на сохранение закэшированного
2094 ответа.
2095
2096 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
2097 uwsgi_cache_bypass и scgi_cache_bypass.
2098
2099 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
2100 ошибки работы с бэкендом: память освобождалась только по истечении
2101 времени неактивности или при недостатке памяти.
2102
2103
2104 Изменения в nginx 0.8.45 13.07.2010
2105
2106 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
2107 Спасибо Laurence Rowe.
2108
2109 *) Исправление: ответ SSI модуля мог передаваться не полностью после
2110 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
2111 Спасибо Максиму Дунину.
2112
2113 *) Исправление: директива listen не поддерживала параметр setfib=0.
2114
2115
2116 Изменения в nginx 0.8.44 05.07.2010
2117
2118 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
2119 заголовке которых есть строка "Set-Cookie".
2120
2121 *) Добавление: директива listen поддерживает параметр setfib.
2122 Спасибо Андрею Филонову.
2123
2124 *) Исправление: директива sub_filter могла изменять регистр букв при
2125 частичном совпадении.
2126
2127 *) Исправление: совместимость с HP/UX.
2128
2129 *) Исправление: совместимость с компилятором AIX xlC_r.
2130
2131 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
2132 запросы.
2133 Спасибо Miroslaw Jaworski.
2134
2135
2136 Изменения в nginx 0.8.43 30.06.2010
2137
2138 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
2139
2140 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
2141 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
2142 0.8.42.
2143
2144 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
2145 переконфигурации.
2146 Спасибо Максиму Дунину.
2147
2148 *) Исправление: переменную $uid_set можно использовать на любой стадии
2149 обработки запроса.
2150
2151
2152 Изменения в nginx 0.8.42 21.06.2010
2153
2154 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
2155 выражениями, если запрос полностью совпал с location'ом, заданным
2156 строкой префикса. Предыдущее поведение появилось в 0.7.1.
2157
2158 *) Добавление: модуль ngx_http_scgi_module.
2159 Спасибо Manlio Perillo.
2160
2161 *) Добавление: в директиве return можно добавлять текст ответа.
2162
2163
2164 Изменения в nginx 0.8.41 15.06.2010
2165
2166 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
2167 при запросе файла с неверной кодировкой UTF-8.
2168
2169 *) Изменение: теперь nginx разрешает использовать пробелы в строке
2170 запроса.
2171
2172 *) Исправление: директива proxy_redirect неправильно изменяла строку
2173 "Refresh" в заголовке ответа бэкенда.
2174 Спасибо Андрею Андрееву и Максиму Согину.
2175
2176 *) Исправление: nginx не поддерживал путь без имени хоста в строке
2177 "Destination" в заголовке запроса.
2178
2179
2180 Изменения в nginx 0.8.40 07.06.2010
2181
2182 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
2183 умолчанию.
2184 Спасибо Jose Antonio Vazquez Gonzalez.
2185
2186 *) Добавление: модуль ngx_http_uwsgi_module.
2187 Спасибо Roberto De Ioris.
2188
2189 *) Добавление: директива fastcgi_param со значением, начинающимся со
2190 строки "HTTP_", изменяет строку заголовка в запросе клиента.
2191
2192 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2193 заголовке запроса клиента передавались FastCGI-серверу при
2194 кэшировании.
2195
2196 *) Исправление: listen unix domain сокет нельзя было изменить во время
2197 переконфигурации.
2198 Спасибо Максиму Дунину.
2199
2200
2201 Изменения в nginx 0.8.39 31.05.2010
2202
2203 *) Исправление: наследуемая директива alias неправильно работала во
2204 вложенном location'е.
2205
2206 *) Исправление: в комбинации директив alias с переменными и try_files;
2207
2208 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
2209 время обновления без перерыва.
2210 Спасибо Максиму Дунину.
2211
2212
2213 Изменения в nginx 0.8.38 24.05.2010
2214
2215 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
2216
2217 *) Добавление: теперь при использовании переменной $scheme в директиве
2218 rewrite автоматически делается редирект.
2219 Спасибо Piotr Sikora.
2220
2221 *) Исправление: теперь задержки в директиве limit_req соответствует
2222 описанному алгоритму.
2223 Спасибо Максиму Дунину.
2224
2225 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
2226 перловом модулях.
2227
2228
2229 Изменения в nginx 0.8.37 17.05.2010
2230
2231 *) Добавление: модуль ngx_http_split_clients_module.
2232
2233 *) Добавление: директива map поддерживает ключи больше 255 символов.
2234
2235 *) Исправление: nginx игнорировал значения "private" и "no-store" в
2236 строке "Cache-Control" в заголовке ответа бэкенда.
2237
2238 *) Исправление: параметр stub в SSI-директиве include не использовался,
2239 если пустой ответ имел код 200.
2240
2241 *) Исправление: если проксированный или FastCGI запрос внутренне
2242 перенаправлялся в другой проксированный или FastCGI location, то в
2243 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2244 0.8.33.
2245 Спасибо Yichun Zhang.
2246
2247 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
2248 таймаута.
2249 Спасибо Alan Batie.
2250
2251
2252 Изменения в nginx 0.8.36 22.04.2010
2253
2254 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
2255 методы DELETE, COPY и MOVE для симлинков.
2256
2257 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
2258 основном запросе значения переменных $query_string, $arg_... и им
2259 подобных.
2260
2261 *) Исправление: значение переменной повторно экранировалось после
2262 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
2263
2264 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
2265 Спасибо Vicente Aguilar и Максиму Дунину.
2266
2267 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
2268 Спасибо Максиму Дунину.
2269
2270 *) Исправление: nginx не собирался с параметром --without-http-cache;
2271 ошибка появилась в 0.8.35.
2272
2273
2274 Изменения в nginx 0.8.35 01.04.2010
2275
2276 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
2277
2278 *) Добавление: директива chunked_transfer_encoding.
2279
2280 *) Исправление: символ "&" при копировании в аргументы в правилах
2281 rewrite не экранировался.
2282
2283 *) Исправление: nginx мог завершаться аварийно во время обработки
2284 сигнала или при использовании директивы timer_resolution на
2285 платформах, не поддерживающих методы kqueue или eventport.
2286 Спасибо George Xie и Максиму Дунину.
2287
2288 *) Исправление: если временные файлы и постоянное место хранения
2289 располагались на разных файловых системах, то у постоянных файлов
2290 время изменения было неверным.
2291 Спасибо Максиму Дунину.
2292
2293 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
2294 "memcached sent invalid trailer".
2295 Спасибо Максиму Дунину.
2296
2297 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
2298 текстов.
2299 Спасибо Максиму Дунину.
2300
2301 *) Исправление: в рабочем процессе происходил segmentation fault, если
2302 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
2303 появилась в 0.8.34.
2304 Спасибо Максиму Дунину.
2305
2306
2307 Изменения в nginx 0.8.34 03.03.2010
2308
2309 *) Исправление: nginx не поддерживал все шифры, используемые в
2310 клиентских сертификатах.
2311 Спасибо Иннокентию Еникееву.
2312
2313 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
2314 ответом было много вывода в stderr.
2315
2316 *) Исправление: nginx не поддерживал HTTPS-рефереры.
2317
2318 *) Исправление: nginx/Windows мог не находить файлы, если путь в
2319 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
2320
2321 *) Исправление: переменная $date_local выдавала неверное время, если
2322 использовался формат "%s".
2323 Спасибо Максиму Дунину.
2324
2325 *) Исправление: если ssl_session_cache не был установлен или установлен
2326 в none, то при проверке клиентского сертификаты могла происходить
2327 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
2328
2329 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
2330 диапазон включал в себя одну и более сетей размером /16 и не
2331 начинался на границе сети размером /16.
2332
2333 *) Исправление: блок, используемый в параметре stub в SSI-директиве
2334 include, выводился с MIME-типом "text/plain".
2335
2336 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
2337
2338
2339 Изменения в nginx 0.8.33 01.02.2010
2340
2341 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
2342 Спасибо Dan Crowley, Core Security Technologies.
2343
2344 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
2345 Спасибо Dan Crowley, Core Security Technologies.
2346
2347 *) Изменение: теперь keepalive соединения после запросов POST не
2348 запрещаются для MSIE 7.0+.
2349 Спасибо Adam Lounds.
2350
2351 *) Изменение: теперь keepalive соединения запрещены для Safari.
2352 Спасибо Joshua Sierles.
2353
2354 *) Исправление: если проксированный или FastCGI запрос внутренне
2355 перенаправлялся в другой проксированный или FastCGI location, то
2356 переменная $upstream_response_time могла иметь ненормально большое
2357 значение; ошибка появилась в 0.8.7.
2358
2359 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2360 отбрасывания тела запроса; ошибка появилась в 0.8.11.
2361
2362
2363 Изменения в nginx 0.8.32 11.01.2010
2364
2365 *) Исправление: ошибки при использовании кодировки UTF-8 в
2366 ngx_http_autoindex_module.
2367 Спасибо Максиму Дунину.
2368
2369 *) Исправление: именованные выделения в регулярных выражениях работали
2370 только для двух переменных.
2371 Спасибо Максиму Дунину.
2372
2373 *) Исправление: теперь в строке заголовка запроса "Host" используется
2374 имя "localhost", если в директиве auth_http указан unix domain сокет.
2375 Спасибо Максиму Дунину.
2376
2377 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
2378 ответов.
2379 Спасибо Julian Reich.
2380
2381 *) Исправление: если директива "expires modified" выставляла дату в
2382 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
2383 отрицательное число.
2384 Спасибо Алексею Капранову.
2385
2386
2387 Изменения в nginx 0.8.31 23.12.2009
2388
2389 *) Добавление: теперь директива error_page может перенаправлять ответы
2390 со статусом 301 и 302.
2391
2392 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
2393 $geoip_longitude.
2394 Спасибо Arvind Sundararajan.
2395
2396 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
2397 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
2398
2399 *) Исправление: nginx закрывал соединение при запросе закэшированного
2400 ответа с пустым телом.
2401 Спасибо Piotr Sikora.
2402
2403 *) Исправление: nginx мог не собираться gcc 4.x при использовании
2404 оптимизации -O2 и выше.
2405 Спасибо Максиму Дунину и Денису Латыпову.
2406
2407 *) Исправление: регулярные выражения в location всегда тестировались с
2408 учётом регистра; ошибка появилась в 0.8.25.
2409
2410 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
2411 проксируемого запроса была строка "If-None-Match".
2412 Спасибо Tim Dettrick и David Kostal.
2413
2414 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
2415 перезаписи уже существующего файла.
2416
2417
2418 Изменения в nginx 0.8.30 15.12.2009
2419
2420 *) Изменение: теперь по умолчанию размер буфера директивы
2421 large_client_header_buffers равен 8K.
2422 Спасибо Andrew Cholakian.
2423
2424 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
2425
2426 *) Исправление: nginx/Windows пытался дважды переименовать временный
2427 файл при перезаписи уже существующего файла.
2428
2429 *) Исправление: ошибки double free or corruption, возникающей, если имя
2430 хоста не было найдено; ошибка появилась в 0.8.22.
2431 Спасибо Константину Свисту.
2432
2433 *) Исправление: в использовании libatomic на некоторых платформах.
2434 Спасибо W-Mark Kubacki.
2435
2436
2437 Изменения в nginx 0.8.29 30.11.2009
2438
2439 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
2440 ответа "009".
2441
2442 *) Добавление: директивы addition_types, charset_types, gzip_types,
2443 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
2444
2445 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
2446 Спасибо W-Mark Kubacki.
2447
2448 *) Добавление: параметр --with-libatomic[=DIR] в configure.
2449 Спасибо W-Mark Kubacki.
2450
2451 *) Исправление: listen unix domain сокет имели ограниченные права
2452 доступа.
2453
2454 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
2455 обрабатывались.
2456
2457 *) Исправление: именованные выделения в регулярных выражениях, заданные
2458 как "?P<...>", не работали в директиве server_name.
2459 Спасибо Максиму Дунину.
2460
2461
2462 Изменения в nginx 0.8.28 23.11.2009
2463
2464 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
2465 появилась в 0.8.25.
2466
2467
2468 Изменения в nginx 0.8.27 17.11.2009
2469
2470 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
2471 появилась в 0.8.25.
2472
2473
2474 Изменения в nginx 0.8.26 16.11.2009
2475
2476 *) Исправление: ошибки при использовании выделений в директиве rewrite;
2477 ошибка появилась в 0.8.25.
2478
2479 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
2480 появилась в 0.8.25.
2481
2482
2483 Изменения в nginx 0.8.25 16.11.2009
2484
2485 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
2486 не найдена с помощью метода $r->variable().
2487
2488 *) Добавление: модуль ngx_http_degradation_module.
2489
2490 *) Добавление: именованные выделения в регулярных выражениях.
2491
2492 *) Добавление: теперь при использовании переменных в директиве
2493 proxy_pass не требуется задавать URI.
2494
2495 *) Добавление: теперь директива msie_padding работает и для Chrome.
2496
2497 *) Исправление: в рабочем процессе происходил segmentation fault при
2498 недостатке памяти; ошибка появилась в 0.8.18.
2499
2500 *) Исправление: nginx передавал сжатые ответы клиентам, не
2501 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
2502 ошибка появилась в 0.8.16.
2503
2504
2505 Изменения в nginx 0.8.24 11.11.2009
2506
2507 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
2508 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
2509
2510 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
2511 появилась в 0.8.23.
2512
2513 *) Исправление: параметр "unix:" в директиве set_real_ip_from
2514 неправильно наследовался с предыдущего уровня.
2515
2516 *) Исправление: в resolver'е при определении пустого имени.
2517
2518
2519 Изменения в nginx 0.8.23 11.11.2009
2520
2521 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
2522 Спасибо Максиму Дунину.
2523
2524 *) Исправление: listen unix domain сокет не наследовался во время
2525 обновления без перерыва.
2526
2527 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
2528 без ещё одной директивы с любым IP-адресом.
2529
2530 *) Исправление: segmentation fault и зацикливания в resolver'е.
2531
2532 *) Исправление: в resolver'е.
2533 Спасибо Артёму Бохану.
2534
2535
2536 Изменения в nginx 0.8.22 03.11.2009
2537
2538 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
2539
2540 *) Добавление: директивы access и deny поддерживают IPv6.
2541
2542 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
2543 заголовках запроса.
2544
2545 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
2546
2547 *) Исправление: nginx не удалял unix domain сокет после тестирования
2548 конфигурации.
2549
2550 *) Исправление: nginx удалял unix domain сокет во время обновления без
2551 перерыва.
2552
2553 *) Исправление: оператор "!-x" не работал.
2554 Спасибо Максиму Дунину.
2555
2556 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2557 использовании limit_rate в HTTPS сервере.
2558 Спасибо Максиму Дунину.
2559
2560 *) Исправление: при записи в лог переменной $limit_rate в рабочем
2561 процессе происходил segmentation fault.
2562 Спасибо Максиму Дунину.
2563
2564 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2565 если внутри блока server не было директивы listen; ошибка появилась в
2566 0.8.21.
2567
2568
2569 Изменения в nginx 0.8.21 26.10.2009
2570
2571 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
2572
2573 *) Добавление: директива listen модуля HTTP поддерживает unix domain
2574 сокеты.
2575 Спасибо Hongli Lai.
2576
2577 *) Добавление: параметр "default_server" в директиве listen.
2578
2579 *) Добавление: теперь параметр "default" не обязателен для установки
2580 параметров listen-сокета.
2581
2582 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
2583 платформах;
2584
2585 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
2586
2587
2588 Изменения в nginx 0.8.20 14.10.2009
2589
2590 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2591 "HIGH:!ADH:!MD5".
2592
2593 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
2594 слэш для линков на каталоги; ошибка появилась в 0.7.15.
2595
2596 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
2597 --error-log-path; ошибка появилась в 0.7.53.
2598
2599 *) Исправление: nginx не считал запятую разделителем в строке
2600 "Cache-Control" в заголовке ответа бэкенда.
2601
2602 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
2603 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
2604 не имел достаточно прав для работы с каталогами верхнего уровня.
2605
2606 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
2607 FastCGI-сервера не скрывались при кэшировании, если не использовались
2608 директивы fastcgi_hide_header с любыми параметрами.
2609
2610 *) Исправление: nginx неверно считал размер кэша на диске.
2611
2612
2613 Изменения в nginx 0.8.19 06.10.2009
2614
2615 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
2616
2617 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2618 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
2619
2620 *) Исправление: директива limit_req не работала; ошибка появилась в
2621 0.8.18.
2622
2623
2624 Изменения в nginx 0.8.18 06.10.2009
2625
2626 *) Добавление: директива read_ahead.
2627
2628 *) Добавление: теперь можно использовать несколько директив
2629 perl_modules.
2630
2631 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
2632
2633 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
2634 bucket.
2635 Спасибо Максиму Дунину.
2636
2637 *) Исправление: nginx не работал на Linux/sparc.
2638 Спасибо Marcus Ramberg.
2639
2640 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
2641 ответе на запрос MKCOL.
2642 Спасибо Xie Zhenye.
2643
2644 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
2645 появилась в 0.8.11.
2646
2647 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
2648
2649
2650 Изменения в nginx 0.8.17 28.09.2009
2651
2652 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
2653 в заголовке запроса.
2654
2655 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
2656
2657 *) Добавление: переменная $ssl_session_id.
2658
2659 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
2660
2661
2662 Изменения в nginx 0.8.16 22.09.2009
2663
2664 *) Добавление: директива image_filter_transparency.
2665
2666 *) Исправление: директива "addition_types" была неверно названа
2667 "addtion_types".
2668
2669 *) Исправление: порчи кэша resolver'а.
2670 Спасибо Matthew Dempsky.
2671
2672 *) Исправление: утечки памяти в resolver'е.
2673 Спасибо Matthew Dempsky.
2674
2675 *) Исправление: неверная строка запроса в переменной $request
2676 записывалась в access_log только при использовании error_log на
2677 уровне info или debug.
2678
2679 *) Исправление: в поддержке альфа-канала PNG в модуле
2680 ngx_http_image_filter_module.
2681
2682 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
2683 заголовок ответа, если обе директивы gzip_static и gzip_vary были
2684 включены.
2685
2686 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
2687 nginx/Windows.
2688
2689 *) Исправление: ошибки при использовании post_action; ошибка появилась в
2690 0.8.11.
2691 Спасибо Игорю Артемьеву.
2692
2693
2694 Изменения в nginx 0.8.15 14.09.2009
2695
2696 *) Безопасность: при обработке специально созданного запроса в рабочем
2697 процессе мог произойти segmentation fault.
2698 Спасибо Chris Ries.
2699
2700 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
2701 .domain-some.tld, то имя .sub.domain.tld попадало под маску
2702 .domain.tld.
2703
2704 *) Исправление: в поддержке прозрачности в модуле
2705 ngx_http_image_filter_module.
2706
2707 *) Исправление: в файловом AIO.
2708
2709 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
2710 появилась в 0.8.11.
2711
2712 *) Исправление: ошибки при использовании встроенного перла; ошибка
2713 появилась в 0.8.11.
2714
2715
2716 Изменения в nginx 0.8.14 07.09.2009
2717
2718 *) Исправление: устаревший закэшированный запрос мог залипнуть в
2719 состоянии "UPDATING".
2720
2721 *) Исправление: при использовании error_log на уровне info или debug в
2722 рабочем процессе мог произойти segmentation fault.
2723 Спасибо Сергею Боченкову.
2724
2725 *) Исправление: ошибки при использовании встроенного перла; ошибка
2726 появилась в 0.8.11.
2727
2728 *) Исправление: директива error_page не перенаправляла ошибку 413;
2729 ошибка появилась в 0.6.10.
2730
2731
2732 Изменения в nginx 0.8.13 31.08.2009
2733
2734 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
2735
2736 *) Исправление: nginx не собирался без параметра --with-file-aio на
2737 FreeBSD; ошибка появилась в 0.8.12.
2738
2739
2740 Изменения в nginx 0.8.12 31.08.2009
2741
2742 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
2743
2744 *) Исправление: ошибки при использовании try_files; ошибка появилась в
2745 0.8.11.
2746
2747 *) Исправление: ошибки при использовании memcached; ошибка появилась в
2748 0.8.11.
2749
2750
2751 Изменения в nginx 0.8.11 28.08.2009
2752
2753 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
2754 для MSIE 6.0 SV1.
2755
2756 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
2757
2758 *) Добавление: директива directio_alignment.
2759
2760
2761 Изменения в nginx 0.8.10 24.08.2009
2762
2763 *) Исправление: утечек памяти при использовании базы GeoIP City.
2764
2765 *) Исправление: ошибки при копировании временных файлов в постоянное
2766 место хранения; ошибка появилась в 0.8.9.
2767
2768
2769 Изменения в nginx 0.8.9 17.08.2009
2770
2771 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
2772 процесс; это должно улучшить обработку больших кэшей.
2773
2774 *) Добавление: теперь временные файлы и постоянное место хранения могут
2775 располагаться на разных файловых системах.
2776
2777
2778 Изменения в nginx 0.8.8 10.08.2009
2779
2780 *) Исправление: в обработке заголовков ответа, разделённых в
2781 FastCGI-записях.
2782
2783 *) Исправление: если запрос обрабатывался в двух проксированных или
2784 FastCGI location'ах и в первом из них использовалось кэширование, то
2785 в рабочем процессе происходил segmentation fault; ошибка появилась в
2786 0.8.7.
2787
2788
2789 Изменения в nginx 0.8.7 27.07.2009
2790
2791 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
2792
2793 *) Изменение: параметр ask директивы ssl_verify_client изменён на
2794 параметр optional и теперь он проверяет клиентский сертификат, если
2795 он был предложен.
2796 Спасибо Brice Figureau.
2797
2798 *) Добавление: переменная $ssl_client_verify.
2799 Спасибо Brice Figureau.
2800
2801 *) Добавление: директива ssl_crl.
2802 Спасибо Brice Figureau.
2803
2804 *) Добавление: параметр proxy директивы geo.
2805
2806 *) Добавление: директива image_filter поддерживает переменные для
2807 задания размеров.
2808
2809 *) Исправление: использование переменной $ssl_client_cert портило
2810 память; ошибка появилась в 0.7.7.
2811 Спасибо Сергею Журавлёву.
2812
2813 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
2814 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
2815 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
2816 Спасибо Максиму Дунину.
2817
2818 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
2819 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
2820 Спасибо Максиму Дунину.
2821
2822 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
2823 ответы в подзапросах; ошибка появилась в 0.8.5.
2824
2825
2826 Изменения в nginx 0.8.6 20.07.2009
2827
2828 *) Добавление: модуль ngx_http_geoip_module.
2829
2830 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
2831 document" для правильного документа.
2832 Спасибо Kuramoto Eiji.
2833
2834 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
2835 location'ов, заданных регулярным выражением, теперь всегда делается
2836 сравнение без учёта регистра символов.
2837
2838 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
2839 Спасибо Hugo Leisink.
2840
2841 *) Исправление: имя файла указанного в --conf-path игнорировалось при
2842 установке; ошибка появилась в 0.6.6.
2843 Спасибо Максиму Дунину.
2844
2845
2846 Изменения в nginx 0.8.5 13.07.2009
2847
2848 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
2849
2850 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
2851 для неверных имени/пароля возвращалась 500-ая ошибка.
2852
2853 *) Исправление: ответы модуля ngx_http_perl_module не работали в
2854 подзапросах.
2855
2856 *) Исправление: в модуле ngx_http_limit_req_module.
2857 Спасибо Максиму Дунину.
2858
2859
2860 Изменения в nginx 0.8.4 22.06.2009
2861
2862 *) Исправление: nginx не собирался с параметром --without-http-cache;
2863 ошибка появилась в 0.8.3.
2864
2865
2866 Изменения в nginx 0.8.3 19.06.2009
2867
2868 *) Добавление: переменная $upstream_cache_status.
2869
2870 *) Исправление: nginx не собирался на MacOSX 10.6.
2871
2872 *) Исправление: nginx не собирался с параметром --without-http-cache;
2873 ошибка появилась в 0.8.2.
2874
2875 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
2876 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
2877 в рабочем процессе происходил segmentation fault.
2878 Спасибо Евгению Мычло.
2879
2880
2881 Изменения в nginx 0.8.2 15.06.2009
2882
2883 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
2884 на старте.
2885
2886 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
2887 долго; ошибка появилась в 0.7.4.
2888
2889
2890 Изменения в nginx 0.8.1 08.06.2009
2891
2892 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
2893 fastcgi_cache_use_stale.
2894
2895 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2896 заголовке запроса клиента передавались бэкенду при кэшировании, если
2897 не использовалась директива proxy_set_header с любыми параметрами.
2898
2899 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
2900 не скрывались при кэшировании, если не использовались директивы
2901 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
2902
2903 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
2904 GIF87a.
2905 Спасибо Денису Ильиных.
2906
2907 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
2908 появилась в 0.7.56.
2909
2910
2911 Изменения в nginx 0.8.0 02.06.2009
2912
2913 *) Добавление: директива keepalive_requests.
2914
2915 *) Добавление: директива limit_rate_after.
2916 Спасибо Ivan Debnar.
2917
2918 *) Исправление: XSLT-фильтр не работал в подзапросах.
2919
2920 *) Исправление: обработке относительных путей в nginx/Windows.
2921
2922 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
2923 fastcgi_cache в nginx/Windows.
2924
2925 *) Исправление: в обработке ошибок выделения памяти.
2926 Спасибо Максиму Дунину и Кириллу Коринскому.
2927
2928
2929 Изменения в nginx 0.7.59 25.05.2009
2930
2931 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
2932
2933 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
2934 Спасибо Максиму Дунину.
2935
2936 *) Исправление: при использовании переменной $request_body в рабочем
2937 процессе происходил segmentation fault, если в запросе не было тела;
2938 ошибка появилась в 0.7.58.
2939
2940 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
2941 ошибка появилась в 0.7.56.
2942
2943 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
2944 обрабатывались SSI-, charset- и gzip-фильтрами.
2945
2946 *) Исправление: директива charset не ставила кодировку для ответов
2947 модуля ngx_http_gzip_static_module.
2948
2949
2950 Изменения в nginx 0.7.58 18.05.2009
2951
2952 *) Добавление: директива listen почтового прокси-сервера поддерживает
2953 IPv6.
2954
2955 *) Добавление: директива image_filter_jpeg_quality.
2956
2957 *) Добавление: директива client_body_in_single_buffer.
2958
2959 *) Добавление: переменная $request_body.
2960
2961 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
2962 файлов, содержащих символ ":".
2963
2964 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
2965 0.7.53.
2966 Спасибо Денису Латыпову.
2967
2968
2969 Изменения в nginx 0.7.57 12.05.2009
2970
2971 *) Исправление: при перенаправлении ошибок модуля
2972 ngx_http_image_filter_module в именованный location в рабочем
2973 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
2974
2975
2976 Изменения в nginx 0.7.56 11.05.2009
2977
2978 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
2979 HTTP.
2980
2981 *) Исправление: в модуле ngx_http_image_filter_module.
2982
2983
2984 Изменения в nginx 0.7.55 06.05.2009
2985
2986 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
2987 fastcgi_cache_use_stale не работали.
2988
2989 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
2990 заголовка.
2991
2992 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
2993 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
2994
2995 *) Исправление: при использовании директивы debug_connection в рабочем
2996 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
2997
2998 *) Исправление: в сборке модуля ngx_http_image_filter_module.
2999
3000 *) Исправление: файлы больше 2G не передавались с использованием
3001 $r->sendfile.
3002 Спасибо Максиму Дунину.
3003
3004
3005 Изменения в nginx 0.7.54 01.05.2009
3006
3007 *) Добавление: модуль ngx_http_image_filter_module.
3008
3009 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
3010
3011 *) Исправление: при использовании переменных "open_file_cache_errors on"
3012 в рабочем процессе мог произойти segmentation fault; ошибка появилась
3013 в 0.7.53.
3014
3015 *) Исправление: директива "port_in_redirect off" не работала; ошибка
3016 появилась в 0.7.39.
3017
3018 *) Исправление: улучшение обработки ошибок метода select.
3019
3020 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
3021
3022 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
3023 ошибка появилась в 0.7.53.
3024
3025
3026 Изменения в nginx 0.7.53 27.04.2009
3027
3028 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
3029 самого начала работы.
3030
3031 *) Добавление: теперь ошибки и предупреждения при старте записываются в
3032 error_log и выводятся на stderr.
3033
3034 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
3035 как префикс каталог, в котором он был запущен.
3036
3037 *) Добавление: ключ -p.
3038
3039 *) Добавление: ключ -s на Unix-платформах.
3040
3041 *) Добавление: ключи -? и -h.
3042 Спасибо Jerome Loyet.
3043
3044 *) Добавление: теперь ключи можно задавать в сжатой форме.
3045
3046 *) Исправление: nginx/Windows не работал, если файл конфигурации был
3047 задан ключом -c.
3048
3049 *) Исправление: при использовании директив proxy_store, fastcgi_store,
3050 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
3051 Спасибо Максиму Дунину.
3052
3053 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
3054 почтового прокси-сервера передавалось неверное значение; ошибка
3055 появилась в 0.7.34.
3056 Спасибо Simon Lecaille.
3057
3058 *) Исправление: при логгировании на Linux не писались текстовые описания
3059 системных ошибок; ошибка появилась в 0.7.45.
3060
3061 *) Исправление: директива fastcgi_cache_min_uses не работала.
3062 Спасибо Андрею Воробьёву.
3063
3064
3065 Изменения в nginx 0.7.52 20.04.2009
3066
3067 *) Добавление: первая бинарная версия под Windows.
3068
3069 *) Исправление: корректная обработка метода HEAD при кэшировании.
3070
3071 *) Исправление: корректная обработка строк "If-Modified-Since",
3072 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
3073
3074 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
3075 заголовке ответа для закэшированных ответов.
3076
3077 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
3078 perl поддерживал потоки, то при выходе основного процесса могла
3079 выдаваться ошибка "panic: MUTEX_LOCK".
3080
3081 *) Исправление: nginx не собирался с параметром --without-http-cache;
3082 ошибка появилась в 0.7.48.
3083
3084 *) Исправление: nginx не собирался на платформах, отличных от i386,
3085 amd64, sparc и ppc; ошибка появилась в 0.7.42.
3086
3087
3088 Изменения в nginx 0.7.51 12.04.2009
3089
3090 *) Добавление: директива try_files поддерживает код ответа в последнем
3091 параметре.
3092
3093 *) Добавление: теперь в директиве return можно использовать любой код
3094 ответа.
3095
3096 *) Исправление: директива error_page делала внешний редирект без строки
3097 запроса; ошибка появилась в 0.7.44.
3098
3099 *) Исправление: если сервера слушали на нескольких явно описанных
3100 адресах, то виртуальные сервера могли не работать; ошибка появилась в
3101 0.7.39.
3102
3103
3104 Изменения в nginx 0.7.50 06.04.2009
3105
3106 *) Исправление: переменные $arg_... не работали; ошибка появилась в
3107 0.7.49.
3108
3109
3110 Изменения в nginx 0.7.49 06.04.2009
3111
3112 *) Исправление: при использовании переменных $arg_... в рабочем процессе
3113 мог произойти segmentation fault; ошибка появилась в 0.7.48.
3114
3115
3116 Изменения в nginx 0.7.48 06.04.2009
3117
3118 *) Добавление: директива proxy_cache_key.
3119
3120 *) Исправление: теперь nginx учитывает при кэшировании строки
3121 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
3122 бэкенда.
3123
3124 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
3125
3126 *) Исправление: директива fastcgi_cache_key не наследовалась.
3127
3128 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
3129 Спасибо Максиму Дунину.
3130
3131 *) Исправление: nginx не собирался с библиотекой uclibc.
3132 Спасибо Timothy Redaelli.
3133
3134 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
3135 в 0.7.46.
3136
3137
3138 Изменения в nginx 0.7.47 01.04.2009
3139
3140 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
3141 ошибка появилась в 0.7.46.
3142
3143 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
3144
3145 *) Исправление: если использовался параметр max_size, то cache manager
3146 мог удалить весь кэш; ошибка появилась в 0.7.46.
3147
3148 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
3149 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
3150 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
3151 в 0.7.46.
3152
3153 *) Исправление: в рабочем процессе мог произойти segmentation fault при
3154 перенаправлении запроса проксированному или FastCGI-серверу с помощью
3155 error_page или try_files; ошибка появилась в 0.7.44.
3156
3157
3158 Изменения в nginx 0.7.46 30.03.2009
3159
3160 *) Исправление: архив предыдущего релиза был неверным.
3161
3162
3163 Изменения в nginx 0.7.45 30.03.2009
3164
3165 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
3166 задавать на разных уровнях.
3167
3168 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
3169
3170 *) Добавление: параметр max_size в директиве proxy_cache_path.
3171
3172 *) Добавление: предварительная поддержка кэширования в модуле
3173 ngx_http_fastcgi_module.
3174
3175 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
3176 указываются названия директивы и зоны.
3177
3178 *) Исправление: директива "add_header last-modified ''" не удаляла в
3179 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
3180
3181 *) Исправление: в директиве auth_basic_user_file не работал
3182 относительный путь, заданный строкой без переменных; ошибка появилась
3183 в 0.7.44.
3184 Спасибо Jerome Loyet.
3185
3186 *) Исправление: в директиве alias, заданной переменными без ссылок на
3187 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
3188
3189
3190 Изменения в nginx 0.7.44 23.03.2009
3191
3192 *) Добавление: предварительная поддержка кэширования в модуле
3193 ngx_http_proxy_module.
3194
3195 *) Добавление: параметр --with-pcre в configure.
3196
3197 *) Добавление: теперь директива try_files может быть использована на
3198 уровне server.
3199
3200 *) Исправление: директива try_files неправильно обрабатывала строку
3201 запроса в последнем параметре.
3202
3203 *) Исправление: директива try_files могла неверно тестировать каталоги.
3204
3205 *) Исправление: если для пары адрес:порт описан только один сервер, то
3206 выделения в регулярных выражениях в директиве server_name не
3207 работали.
3208
3209
3210 Изменения в nginx 0.7.43 18.03.2009
3211
3212 *) Исправление: запрос обрабатывался неверно, если директива root
3213 использовала переменные; ошибка появилась в 0.7.42.
3214
3215 *) Исправление: если сервер слушал на адресах типа "*", то значение
3216 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
3217
3218
3219 Изменения в nginx 0.7.42 16.03.2009
3220
3221 *) Изменение: ошибка "Invalid argument", возвращаемая
3222 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
3223
3224 *) Изменение: при отсутствии файла, указанного в директиве
3225 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
3226
3227 *) Добавление: директива auth_basic_user_file поддерживает переменные.
3228 Спасибо Кириллу Коринскому.
3229
3230 *) Добавление: директива listen поддерживает параметр ipv6only.
3231 Спасибо Zhang Hua.
3232
3233 *) Исправление: в директиве alias со ссылками на выделения в регулярных
3234 выражениях; ошибка появилась в 0.7.40.
3235
3236 *) Исправление: совместимость с Tru64 UNIX.
3237 Спасибо Dustin Marquess.
3238
3239 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3240 в 0.7.41.
3241
3242
3243 Изменения в nginx 0.7.41 11.03.2009
3244
3245 *) Исправление: в рабочем процессе мог произойти segmentation fault,
3246 если в server_name или location были выделения в регулярных
3247 выражениях; ошибка появилась в 0.7.40.
3248 Спасибо Владимиру Сопоту.
3249
3250
3251 Изменения в nginx 0.7.40 09.03.2009
3252
3253 *) Добавление: директива location поддерживает выделения в регулярных
3254 выражениях.
3255
3256 *) Добавление: директиву alias с ссылками на выделения в регулярных
3257 выражениях можно использовать внутри location'а, заданного регулярным
3258 выражением с выделениями.
3259
3260 *) Добавление: директива server_name поддерживает выделения в регулярных
3261 выражениях.
3262
3263 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
3264 слэш для каталогов на файловой системе XFS; ошибка появилась в
3265 0.7.15.
3266 Спасибо Дмитрию Кузьменко.
3267
3268
3269 Изменения в nginx 0.7.39 02.03.2009
3270
3271 *) Исправление: при включённом сжатии большие ответы с использованием
3272 SSI могли зависать; ошибка появилась в 0.7.28.
3273 Спасибо Артёму Бохану.
3274
3275 *) Исправление: при использовании коротких статических вариантов в
3276 директиве try_files в рабочем процессе мог произойти segmentation
3277 fault.
3278
3279
3280 Изменения в nginx 0.7.38 23.02.2009
3281
3282 *) Добавление: логгирование ошибок аутентификации.
3283
3284 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
3285 игнорировались после нечётного числа пустых строк.
3286 Спасибо Александру Загребину.
3287
3288 *) Исправление: при использовании длинного пути в unix domain сокете в
3289 главном процессе происходил segmentation fault; ошибка появилась в
3290 0.7.36.
3291
3292
3293 Изменения в nginx 0.7.37 21.02.2009
3294
3295 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
3296 появилась в 0.7.36.
3297
3298
3299 Изменения в nginx 0.7.36 21.02.2009
3300
3301 *) Добавление: предварительная поддержка IPv6; директива listen модуля
3302 HTTP поддерживает IPv6.
3303
3304 *) Исправление: переменная $ancient_browser не работала для браузеров,
3305 заданных директивами modern_browser.
3306
3307
3308 Изменения в nginx 0.7.35 16.02.2009
3309
3310 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
3311 асимметричных шифров.
3312 Спасибо Marcin Gozdalik.
3313
3314 *) Исправление: директива try_files выставляла MIME-type, исходя из
3315 расширения первоначального запроса.
3316
3317 *) Исправление: в директивах server_name, valid_referers и map
3318 неправильно обрабатывались имена вида "*domain.tld", если
3319 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
3320 ошибка появилась в 0.7.9.
3321
3322
3323 Изменения в nginx 0.7.34 10.02.2009
3324
3325 *) Добавление: параметр off в директиве if_modified_since.
3326
3327 *) Добавление: теперь после команды XCLIENT nginx посылает команду
3328 HELO/EHLO.
3329 Спасибо Максиму Дунину.
3330
3331 *) Добавление: поддержка Microsoft-специфичного режима
3332 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
3333 Спасибо Максиму Дунину.
3334
3335 *) Исправление: в директиве rewrite, возвращающей редирект, старые
3336 аргументы присоединялись к новым через символ "?" вместо "&";
3337 ошибка появилась в 0.1.18.
3338 Спасибо Максиму Дунину.
3339
3340 *) Исправление: nginx не собирался на AIX.
3341
3342
3343 Изменения в nginx 0.7.33 02.02.2009
3344
3345 *) Исправление: если на запрос с телом возвращался редирект, то ответ
3346 мог быть двойным при использовании методов epoll или rtsig.
3347 Спасибо Eden Li.
3348
3349 *) Исправление: для некоторых типов редиректов в переменной
3350 $sent_http_location было пустое значение.
3351
3352 *) Исправление: при использовании директивы resolver в SMTP
3353 прокси-сервере в рабочем процессе мог произойти segmentation fault.
3354
3355
3356 Изменения в nginx 0.7.32 26.01.2009
3357
3358 *) Добавление: теперь в директиве try_files можно явно указать проверку
3359 каталога.
3360
3361 *) Исправление: fastcgi_store не всегда сохранял файлы.
3362
3363 *) Исправление: в гео-диапазонах.
3364
3365 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
3366 если nginx был собран без отладки.
3367 Спасибо Андрею Квасову.
3368
3369
3370 Изменения в nginx 0.7.31 19.01.2009
3371
3372 *) Изменение: теперь директива try_files проверяет только файлы,
3373 игнорируя каталоги.
3374
3375 *) Добавление: директива fastcgi_split_path_info.
3376
3377 *) Исправления в поддержке строки "Expect" в заголовке запроса.
3378
3379 *) Исправления в гео-диапазонах.
3380
3381 *) Исправление: при отсутствии ответа ngx_http_memcached_module
3382 возвращал в теле ответа строку "END" вместо 404-ой страницы по
3383 умолчанию; ошибка появилась в 0.7.18.
3384 Спасибо Максиму Дунину.
3385
3386 *) Исправление: при проксировании SMTP nginx выдавал сообщение
3387 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
3388 Спасибо Максиму Дунину.
3389
3390
3391 Изменения в nginx 0.7.30 24.12.2008
3392
3393 *) Исправление: в рабочем процессе происходил segmentation fault, если в
3394 директивах fastcgi_pass или proxy_pass использовались переменные и
3395 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
3396
3397
3398 Изменения в nginx 0.7.29 24.12.2008
3399
3400 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
3401 переменные при использовании unix domain сокетов.
3402
3403 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
3404
3405 *) Исправление: ответ "100 Continue" выдавался для запросов версии
3406 HTTP/1.0;
3407 Спасибо Максиму Дунину.
3408
3409 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
3410 под Cygwin.
3411
3412
3413 Изменения в nginx 0.7.28 22.12.2008
3414
3415 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
3416
3417 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
3418 с 4 4k/8k на 32 4k или 16 8k.
3419
3420
3421 Изменения в nginx 0.7.27 15.12.2008
3422
3423 *) Добавление: директива try_files.
3424
3425 *) Добавление: директива fastcgi_pass поддерживает переменные.
3426
3427 *) Добавление: теперь директива geo может брать адрес из переменной.
3428 Спасибо Андрею Нигматулину.
3429
3430 *) Добавление: теперь модификатор location'а можно указывать без пробела
3431 перед названием.
3432
3433 *) Добавление: переменная $upstream_response_length.
3434
3435 *) Исправление: теперь директива add_header не добавляет пустое
3436 значение.
3437
3438 *) Исправление: при запросе файла нулевой длины nginx закрывал
3439 соединение, ничего не передав; ошибка появилась в 0.7.25.
3440
3441 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
3442 каталог.
3443
3444 *) Исправление: если в сервере не был описан ни один именованный
3445 location, но такой location использовался в директиве error_page, то
3446 в рабочем процессе происходил segmentation fault.
3447 Спасибо Сергею Боченкову.
3448
3449
3450 Изменения в nginx 0.7.26 08.12.2008
3451
3452 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
3453
3454
3455 Изменения в nginx 0.7.25 08.12.2008
3456
3457 *) Изменение: в обработке подзапросов.
3458
3459 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
3460 заголовке запроса.
3461
3462 *) Исправление: теперь директивы limit_req и limit_conn указывают
3463 причину запрета запроса.
3464
3465 *) Исправление: в параметре delete директивы geo.
3466
3467
3468 Изменения в nginx 0.7.24 01.12.2008
3469
3470 *) Добавление: директива if_modified_since.
3471
3472 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
3473 ответом сервер передавал много сообщений в stderr.
3474
3475 *) Исправление: переменные "$cookie_..." не работали в SSI and в
3476 перловом модуле.
3477
3478
3479 Изменения в nginx 0.7.23 27.11.2008
3480
3481 *) Добавление: параметры delete и ranges в директиве geo.
3482
3483 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
3484
3485 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
3486
3487
3488 Изменения в nginx 0.7.22 20.11.2008
3489
3490 *) Добавление: параметр none в директиве smtp_auth.
3491 Спасибо Максиму Дунину.
3492
3493 *) Добавление: переменные "$cookie_...".
3494
3495 *) Исправление: директива directio не работала с файловой системой XFS.
3496
3497 *) Исправление: resolver не понимал большие DNS-ответы.
3498 Спасибо Zyb.
3499
3500
3501 Изменения в nginx 0.7.21 11.11.2008
3502
3503 *) Изменения в модуле ngx_http_limit_req_module.
3504
3505 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
3506 Спасибо Денису Латыпову.
3507
3508 *) Изменение: совместимость с glibc 2.3.
3509 Спасибо Eric Benson и Максиму Дунину.
3510
3511 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
3512 ошибка появилась в 0.7.6.
3513
3514
3515 Изменения в nginx 0.7.20 10.11.2008
3516
3517 *) Изменения в модуле ngx_http_gzip_filter_module.
3518
3519 *) Добавление: модуль ngx_http_limit_req_module.
3520
3521 *) Исправление: на платформах sparc и ppc рабочие процессы могли
3522 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
3523 Спасибо Максиму Дунину.
3524
3525 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
3526 работали; ошибка появилась в 0.7.12.
3527
3528 *) Исправление: при использовании HTTPS запросы могли завершаться с
3529 ошибкой "bad write retry".
3530
3531 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
3532 location'ов с именами меньше 3 символов.
3533
3534 *) Исправление: переменная $server_addr могла не иметь значения.
3535
3536
3537 Изменения в nginx 0.7.19 13.10.2008
3538
3539 *) Исправление: обновление номера версии.
3540
3541
3542 Изменения в nginx 0.7.18 13.10.2008
3543
3544 *) Изменение: директива underscores_in_headers; теперь nginx по
3545 умолчанию не разрешает подчёркивания в именах строк в заголовке
3546 запроса клиента.
3547
3548 *) Добавление: модуль ngx_http_secure_link_module.
3549
3550 *) Добавление: директива real_ip_header поддерживает любой заголовок.
3551
3552 *) Добавление: директива log_subrequest.
3553
3554 *) Добавление: переменная $realpath_root.
3555
3556 *) Добавление: параметры http_502 и http_504 в директиве
3557 proxy_next_upstream.
3558
3559 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
3560 fastcgi_next_upstream не работал.
3561
3562 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
3563 для запросов HEAD.
3564
3565 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
3566
3567
3568 Изменения в nginx 0.7.17 15.09.2008
3569
3570 *) Добавление: директива directio теперь работает на Linux.
3571
3572 *) Добавление: переменная $pid.
3573
3574 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
3575 при использовании open_file_cache.
3576
3577 *) Исправление: access_log с переменными не работал на Linux; ошибка
3578 появилась в 0.7.7.
3579
3580 *) Исправление: модуль ngx_http_charset_module не понимал название
3581 кодировки в кавычках, полученное от бэкенда.
3582
3583
3584 Изменения в nginx 0.7.16 08.09.2008
3585
3586 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3587 появилась в 0.7.15.
3588
3589
3590 Изменения в nginx 0.7.15 08.09.2008
3591
3592 *) Добавление: модуль ngx_http_random_index_module.
3593
3594 *) Добавление: директива directio оптимизирована для запросов файлов,
3595 начинающихся с произвольной позиции.
3596
3597 *) Добавление: директива directio при необходимости запрещает
3598 использование sendfile.
3599
3600 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
3601 заголовке запроса клиента.
3602
3603
3604 Изменения в nginx 0.7.14 01.09.2008
3605
3606 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
3607 имеют значений по умолчанию.
3608
3609 *) Добавление: директива listen поддерживает параметр ssl.
3610
3611 *) Добавление: теперь при переконфигурации nginx учитывает изменение
3612 временной зоны на FreeBSD и Linux.
3613
3614 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
3615 прочие, не устанавливались, если сервером по умолчанию был не первый
3616 сервер.
3617
3618 *) Исправление: при использовании в качестве аргументов части URI,
3619 выделенного с помощью директивы rewrite, эти аргументы не
3620 экранировались.
3621
3622 *) Исправление: улучшения тестирования правильности конфигурационного
3623 файла.
3624
3625
3626 Изменения в nginx 0.7.13 26.08.2008
3627
3628 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
3629 в 0.7.12.
3630
3631
3632 Изменения в nginx 0.7.12 26.08.2008
3633
3634 *) Добавление: директива server_name поддерживает пустое имя "".
3635
3636 *) Добавление: директива gzip_disable поддерживает специальную маску
3637 msie6.
3638
3639 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
3640 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
3641 Спасибо Максиму Дунину.
3642
3643 *) Исправление: при перенаправлении запроса с помощью директивы
3644 error_page терялось тело запроса.
3645
3646 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
3647 директивы error_page возвращался полный ответ.
3648
3649 *) Исправление: метод $r->header_in() не возвращал значения строк
3650 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
3651 появилась в 0.7.0.
3652
3653
3654 Изменения в nginx 0.7.11 18.08.2008
3655
3656 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
3657 MIME-типом text/css.
3658
3659 *) Добавление: теперь nginx возвращает код 405 для метода POST при
3660 запросе статического файла, только если файл существует.
3661
3662 *) Добавление: директива proxy_ssl_session_reuse.
3663
3664 *) Исправление: после перенаправления запроса с помощью
3665 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
3666 оригинальный запрос.
3667
3668 *) Исправление: если у каталога были права доступа только на поиск
3669 файлов и первый индексный файл отсутствовал, то nginx возвращал
3670 ошибку 500.
3671
3672 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
3673 0.7.1.
3674
3675
3676 Изменения в nginx 0.7.10 13.08.2008
3677
3678 *) Исправление: ошибок в директивах addition_types, charset_types,
3679 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
3680 появились в 0.7.9.
3681
3682 *) Исправление: рекурсивной error_page для 500 ошибки.
3683
3684 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
3685 не для всего keepalive соединения, а для каждого запроса по этому
3686 соединению.
3687
3688
3689 Изменения в nginx 0.7.9 12.08.2008
3690
3691 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
3692 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
3693 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
3694
3695 *) Добавление: директивы charset_types и addition_types.
3696
3697 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
3698 используют хэш.
3699
3700 *) Добавление: модуль ngx_cpp_test_module.
3701
3702 *) Добавление: директива expires поддерживает суточное время.
3703
3704 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
3705 Спасибо Денису Латыпову и Максиму Дунину.
3706
3707 *) Исправление: директива log_not_found не работала при поиске индексных
3708 файлов.
3709
3710 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
3711 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
3712
3713 *) Исправление: если в директивах server_name, valid_referers и map
3714 использовалась маска вида "*.domain.tld" и при этом полное имя вида
3715 "domain.tld" не было описано, то это имя попадало под маску; ошибка
3716 появилась в 0.3.18.
3717
3718
3719 Изменения в nginx 0.7.8 04.08.2008
3720
3721 *) Добавление: модуль ngx_http_xslt_module.
3722
3723 *) Добавление: переменные "$arg_...".
3724
3725 *) Добавление: поддержка directio в Solaris.
3726 Спасибо Ivan Debnar.
3727
3728 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
3729 в заголовке ответа без строки статуса, то nginx использует код
3730 статуса 302.
3731 Спасибо Максиму Дунину.
3732
3733
3734 Изменения в nginx 0.7.7 30.07.2008
3735
3736 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
3737 временной.
3738
3739 *) Изменение: значением переменной $ssl_client_cert теперь является
3740 сертификат, перед каждой строкой которого, кроме первой, вставляется
3741 символ табуляции; неизменённый сертификат доступен через переменную
3742 $ssl_client_raw_cert.
3743
3744 *) Добавление: параметр ask директивы ssl_verify_client.
3745
3746 *) Добавление: улучшения в обработке byte-range.
3747 Спасибо Максиму Дунину.
3748
3749 *) Добавление: директива directio.
3750 Спасибо Jiang Hong.
3751
3752 *) Добавление: поддержка sendfile() в MacOSX 10.5.
3753
3754 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
3755 делается сравнение без учёта регистра символов; однако, сравнение
3756 ограничено только однобайтными locale'ями.
3757
3758 *) Исправление: соединения почтового прокси-сервера зависали в режиме
3759 SSL, если использовались методы select, poll или /dev/poll.
3760
3761 *) Исправление: ошибки при использовании кодировки UTF-8 в
3762 ngx_http_autoindex_module.
3763
3764
3765 Изменения в nginx 0.7.6 07.07.2008
3766
3767 *) Исправление: теперь при использовании переменных в директиве
3768 access_log всегда проверяется существовании root'а для запроса.
3769
3770 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
3771 значений в аргументах запроса.
3772
3773
3774 Изменения в nginx 0.7.5 01.07.2008
3775
3776 *) Исправления в поддержке переменных в директиве access_log; ошибки
3777 появились в 0.7.4.
3778
3779 *) Исправление: nginx не собирался с параметром
3780 --without-http_gzip_module; ошибка появилась в 0.7.3.
3781 Спасибо Кириллу Коринскому.
3782
3783 *) Исправление: при совместном использовании sub_filter и SSI ответы
3784 могли передаваться неверно.
3785
3786
3787 Изменения в nginx 0.7.4 30.06.2008
3788
3789 *) Добавление: директива access_log поддерживает переменные.
3790
3791 *) Добавление: директива open_log_file_cache.
3792
3793 *) Добавление: ключ -g.
3794
3795 *) Добавление: поддержка строки "Expect" в заголовке запроса.
3796
3797 *) Исправление: большие включения в SSI могли передавались не полностью.
3798
3799
3800 Изменения в nginx 0.7.3 23.06.2008
3801
3802 *) Изменение: MIME-тип для расширения rss изменён на
3803 "application/rss+xml".
3804
3805 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
3806 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
3807
3808 *) Добавление: теперь при использовании протокола "https://" в директиве
3809 rewrite автоматически делается редирект.
3810
3811 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
3812 ошибка появилась в 0.6.9.
3813
3814
3815 Изменения в nginx 0.7.2 16.06.2008
3816
3817 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
3818
3819 *) Добавление: директива ssl_dhparam.
3820
3821 *) Добавление: переменная $ssl_client_cert.
3822 Спасибо Manlio Perillo.
3823
3824 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
3825 искал новый location; ошибка появилась в 0.7.1.
3826 Спасибо Максиму Дунину.
3827
3828 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3829 в 0.7.1.
3830
3831 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
3832 nginx не добавлял аргументы из оригинального запроса.
3833
3834
3835 Изменения в nginx 0.7.1 26.05.2008
3836
3837 *) Изменение: теперь поиск location'а делается с помощью дерева.
3838
3839 *) Изменение: директива optimize_server_names упразднена в связи с
3840 появлением директивы server_name_in_redirect.
3841
3842 *) Изменение: некоторые давно устаревшие директивы больше не
3843 поддерживаются.
3844
3845 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
3846 параметр используется по умолчанию.
3847 Спасибо Rob Mueller.
3848
3849 *) Исправление: рабочие процессы могли не реагировать на сигналы
3850 переконфигурации и ротации логов.
3851
3852 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
3853 Спасибо Roxis.
3854
3855
3856 Изменения в nginx 0.7.0 19.05.2008
3857
3858 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
3859 записываются в виде \xXX.
3860 Спасибо Максиму Дунину.
3861
3862 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
3863 запроса.
3864
3865 *) Добавление: директива expires поддерживает флаг modified.
3866
3867 *) Добавление: переменные $uid_got и $uid_set можно использовать на
3868 любой стадии обработки запроса.
3869
3870 *) Добавление: переменная $hostname.
3871 Спасибо Андрею Нигматулину.
3872
3873 *) Добавление: поддержка DESTDIR.
3874 Спасибо Todd A. Fisher и Andras Voroskoi.
3875
3876 *) Исправление: при использовании keepalive на Linux в рабочем процессе
3877 мог произойти segmentation fault.
3878
3879
3880 Изменения в nginx 0.6.31 12.05.2008
3881
3882 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
3883 заголовка ответа была в конце записи FastCGI; ошибка появилась в
3884 0.6.2.
3885 Спасибо Сергею Серову.
3886
3887 *) Исправление: при удалении файла и использовании директивы
3888 open_file_cache_errors off в рабочем процессе мог произойти
3889 segmentation fault.
3890
3891
3892 Изменения в nginx 0.6.30 29.04.2008
3893
3894 *) Изменение: теперь, если маске, заданной в директиве include, не
3895 соответствует ни один файл, то nginx не выдаёт ошибку.
3896
3897 *) Добавление: теперь время в директивах можно задавать без пробела,
3898 например, "1h50m".
3899
3900 *) Исправление: утечек памяти, если директива ssl_verify_client имела
3901 значение on.
3902 Спасибо Chavelle Vincent.
3903
3904 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
3905 вывод.
3906
3907 *) Исправление: директива error_page не воспринимала параметры в
3908 перенаправляемом URI.
3909
3910 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
3911 в бинарном режиме.
3912
3913 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
3914 0.6.15.
3915
3916
3917 Изменения в nginx 0.6.29 18.03.2008
3918
3919 *) Добавление: модуль ngx_google_perftools_module.
3920
3921 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
3922 платформах; ошибка появилась в 0.6.27.
3923
3924
3925 Изменения в nginx 0.6.28 13.03.2008
3926
3927 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
3928
3929
3930 Изменения в nginx 0.6.27 12.03.2008
3931
3932 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
3933 rtsig.
3934
3935 *) Изменение: теперь при перенаправлении запроса в именованный location
3936 с помощью директивы error_page метод запроса не изменяется.
3937
3938 *) Добавление: директивы resolver и resolver_timeout в SMTP
3939 прокси-сервере.
3940
3941 *) Добавление: директива post_action поддерживает именованные
3942 location'ы.
3943
3944 *) Исправление: при перенаправлении запроса из location'а c обработчиком
3945 proxy, FastCGI или memcached в именованный location со статическим
3946 обработчиком в рабочем процессе происходил segmentation fault.
3947
3948 *) Исправление: браузеры не повторяли SSL handshake, если при первом
3949 handshake не оказалось правильного клиентского сертификата.
3950 Спасибо Александру Инюхину.
3951
3952 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
3953 error_page без изменения кода ошибки nginx пытался выделить очень
3954 много памяти.
3955
3956 *) Исправление: утечки памяти в долгоживущих небуфферизированных
3957 соединениях.
3958
3959 *) Исправление: утечки памяти в resolver'е.
3960
3961 *) Исправление: при перенаправлении запроса из location'а c обработчиком
3962 proxy в другой location с обработчиком proxy в рабочем процессе
3963 происходил segmentation fault.
3964
3965 *) Исправление: ошибки в кэшировании переменных $proxy_host и
3966 $proxy_port.
3967 Спасибо Сергею Боченкову.
3968
3969 *) Исправление: директива proxy_pass с переменными использовала порт,
3970 описанной в другой директиве proxy_pass без переменных, но с таким же
3971 именем хоста.
3972 Спасибо Сергею Боченкову.
3973
3974 *) Исправление: во время переконфигурации на некоторых 64-битном
3975 платформах в лог записывался alert "sendmsg() failed (9: Bad file
3976 descriptor)".
3977
3978 *) Исправление: при повторном использовании в SSI пустого block'а в
3979 качестве заглушки в рабочем процессе происходил segmentation fault.
3980
3981 *) Исправление: ошибки при копировании части URI, содержащего
3982 экранированные символы, в аргументы.
3983
3984
3985 Изменения в nginx 0.6.26 11.02.2008
3986
3987 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
3988 ответа.
3989
3990 *) Исправление: при использовании большого значения в директиве expires
3991 в рабочем процессе происходил segmentation fault.
3992 Спасибо Joaquin Cuenca Abela.
3993
3994 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
3995 Спасибо Геннадию Махомеду.
3996
3997 *) Исправление: в проксированных подзапросах и подзапросах к
3998 FastCGI-серверу вместо метода GET использовался оригинальный метод
3999 клиента.
4000
4001 *) Исправление: утечки сокетов в режиме HTTPS при использовании
4002 отложенного accept'а.
4003 Спасибо Ben Maurer.
4004
4005 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
4006 (SSL: )"; ошибка появилась в 0.6.23.
4007
4008 *) Исправление: при использовании HTTPS запросы могли завершаться с
4009 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
4010
4011
4012 Изменения в nginx 0.6.25 08.01.2008
4013
4014 *) Изменение: вместо специального параметра "*" в директиве server_name
4015 теперь используется директива server_name_in_redirect.
4016
4017 *) Изменение: в качестве основного имени в директиве server_name теперь
4018 можно использовать имена с масками и регулярными выражениями.
4019
4020 *) Изменение: директива satisfy_any заменена директивой satisfy.
4021
4022 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
4023 нагружать процессор при запуске под Linux OpenVZ.
4024
4025 *) Добавление: директива min_delete_depth.
4026
4027 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
4028
4029 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
4030 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
4031
4032 *) Исправление: утечки сокетов в режиме HTTPS при использовании
4033 отложенного accept'а.
4034 Спасибо Ben Maurer.
4035
4036 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
4037 в 0.6.23.
4038
4039
4040 Изменения в nginx 0.6.24 27.12.2007
4041
4042 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
4043 segmentation fault; ошибка появилась в 0.6.23.
4044
4045
4046 Изменения в nginx 0.6.23 27.12.2007
4047
4048 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
4049 параметр используется по умолчанию.
4050
4051 *) Изменение: директива open_file_cache_retest переименована в
4052 open_file_cache_valid.
4053
4054 *) Добавление: директива open_file_cache_min_uses.
4055
4056 *) Добавление: модуль ngx_http_gzip_static_module.
4057
4058 *) Добавление: директива gzip_disable.
4059
4060 *) Добавление: директиву memcached_pass можно использовать внутри блока
4061 if.
4062
4063 *) Исправление: если внутри одного location'а использовались директивы
4064 "memcached_pass" и "if", то в рабочем процессе происходил
4065 segmentation fault.
4066
4067 *) Исправление: если при использовании директивы satisfy_any on" были
4068 заданы директивы не всех модулей доступа, то заданные директивы не
4069 проверялись.
4070
4071 *) Исправление: параметры, заданные регулярным выражением в директиве
4072 valid_referers, не наследовалась с предыдущего уровня.
4073
4074 *) Исправление: директива post_action не работала, если запрос
4075 завершался с кодом 499.
4076
4077 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
4078 Спасибо Ben Maurer.
4079
4080 *) Исправление: STARTTLS в режиме SMTP не работал.
4081 Спасибо Олегу Мотиенко.
4082
4083 *) Исправление: при использовании HTTPS запросы могли завершаться с
4084 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
4085
4086
4087 Изменения в nginx 0.6.22 19.12.2007
4088
4089 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
4090 значения, скопированные в память, выделенную perl'ом.
4091
4092 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
4093 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
4094 время переконфигурации основной процесс аварийно выходил; ошибка
4095 появилась в 0.5.9.
4096 Спасибо Борису Жмурову.
4097
4098 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
4099 неверные результаты выделения в регулярных выражениях.
4100
4101 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
4102 у которого небольшое тело запроса было уже полностью получено, то в
4103 рабочем процессе происходил segmentation fault.
4104
4105 *) Исправление: large_client_header_buffers не освобождались перед
4106 переходом в состояние keep-alive.
4107 Спасибо Олександру Штепе.
4108
4109 *) Исправление: в переменной $upstream_addr не записывался последний
4110 адрес; ошибка появилась в 0.6.18.
4111
4112 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
4113 теперь она возвращает ошибку 502, которую можно направить на
4114 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
4115
4116 *) Исправление: при использовании директивы fastcgi_catch_stderr в
4117 основном процессе происходил segmentation fault; ошибка появилась в
4118 0.6.10.
4119 Спасибо Manlio Perillo.
4120
4121
4122 Изменения в nginx 0.6.21 03.12.2007
4123
4124 *) Изменение: если в значениях переменных директивы proxy_pass
4125 используются только IP-адреса, то указывать resolver не нужно.
4126
4127 *) Исправление: при использовании директивы proxy_pass c URI-частью в
4128 рабочем процессе мог произойти segmentation fault; ошибка появилась в
4129 0.6.19.
4130
4131 *) Исправление: если resolver использовался на платформах, не
4132 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
4133 response".
4134 Спасибо Андрею Нигматулину.
4135
4136 *) Исправление: При использовании переменной $server_protocol в
4137 FastCGI-параметрах и запросе, длина которого была близка к значению
4138 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
4139 the request record is too big".
4140
4141 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
4142 nginx возвращал обычный ответ.
4143
4144
4145 Изменения в nginx 0.6.20 28.11.2007
4146
4147 *) Исправление: при использовании директивы proxy_pass c URI-частью в
4148 рабочем процессе мог произойти segmentation fault; ошибка появилась в
4149 0.6.19.
4150
4151
4152 Изменения в nginx 0.6.19 27.11.2007
4153
4154 *) Исправление: версия 0.6.18 не собиралась.
4155
4156
4157 Изменения в nginx 0.6.18 27.11.2007
4158
4159 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
4160 процесса добавляет микросекунды на время старта.
4161
4162 *) Изменение: в error_log теперь записывается полная строка запроса
4163 вместо только URI.
4164
4165 *) Добавление: директива proxy_pass поддерживает переменные.
4166
4167 *) Добавление: директивы resolver и resolver_timeout.
4168
4169 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
4170 заголовке ответа строку "Last-Modified".
4171
4172 *) Исправление: директива limit_rate не позволяла передавать на полной
4173 скорости, даже если был указан очень большой лимит.
4174
4175
4176 Изменения в nginx 0.6.17 15.11.2007
4177
4178 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
4179 Спасибо Александру Инюхину.
4180
4181 *) Исправление: при использовании директивы msie_refresh повторно
4182 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
4183
4184 *) Исправление: директива autoindex не работала при использовании "alias
4185 /".
4186
4187 *) Исправление: при использовании подзапросов в рабочем процессе мог
4188 произойти segmentation fault.
4189
4190 *) Исправление: при использовании SSL и gzip большие ответы могли
4191 передаваться не полностью.
4192
4193 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
4194 то переменная $status была равна 0.
4195
4196
4197 Изменения в nginx 0.6.16 29.10.2007
4198
4199 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
4200 Спасибо Илье Новикову.
4201
4202 *) Исправление: если в директиве error_page использовался символ "?", то
4203 он экранировался при проксировании запроса; ошибка появилась в
4204 0.6.11.
4205
4206 *) Исправление: совместимость с mget.
4207
4208
4209 Изменения в nginx 0.6.15 22.10.2007
4210
4211 *) Добавление: совместимость с Cygwin.
4212 Спасибо Владимиру Кутакову.
4213
4214 *) Добавление: директива merge_slashes.
4215
4216 *) Добавление: директива gzip_vary.
4217
4218 *) Добавление: директива server_tokens.
4219
4220 *) Исправление: nginx не раскодировал URI в команде SSI include.
4221
4222 *) Исправление: при использовании переменной в директивах charset или
4223 source_charset на старте или во время переконфигурации происходил
4224 segmentation fault,
4225
4226 *) Исправление: nginx возвращал ошибку 400 на запросы вида
4227 "GET http://www.domain.com HTTP/1.0".
4228 Спасибо James Oakley.
4229
4230 *) Исправление: после перенаправления запроса с телом запроса с помощью
4231 директивы error_page nginx пытался снова прочитать тело запроса;
4232 ошибка появилась в 0.6.7.
4233
4234 *) Исправление: в рабочем процессе происходил segmentation fault, если у
4235 сервера, обрабатывающему запрос, не был явно определён server_name;
4236 ошибка появилась в 0.6.7.
4237
4238
4239 Изменения в nginx 0.6.14 15.10.2007
4240
4241 *) Изменение: теперь по умолчанию команда SSI echo использует
4242 кодирование entity.
4243
4244 *) Добавление: параметр encoding в команде SSI echo.
4245
4246 *) Добавление: директиву access_log можно использовать внутри блока
4247 limit_except.
4248
4249 *) Исправление: если все сервера апстрима оказывались недоступными, то
4250 до восстановления работоспособности у всех серверов вес становился
4251 равным одному; ошибка появилась в 0.6.6.
4252
4253 *) Исправление: при использовании переменных $date_local и $date_gmt вне
4254 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
4255 segmentation fault.
4256
4257 *) Исправление: при использовании включённом отладочном логе в рабочем
4258 процессе мог произойти segmentation fault.
4259 Спасибо Андрею Нигматулину.
4260
4261 *) Исправление: ngx_http_memcached_module не устанавливал
4262 $upstream_response_time.
4263 Спасибо Максиму Дунину.
4264
4265 *) Исправление: рабочий процесс мог зациклиться при использовании
4266 memcached.
4267
4268 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
4269 строке "Connection" в заголовке запроса только, если они были в
4270 нижнем регистре; ошибка появилась в 0.6.11.
4271
4272 *) Исправление: sub_filter не работал с пустой строкой замены.
4273
4274 *) Исправление: в парсинге sub_filter.
4275
4276
4277 Изменения в nginx 0.6.13 24.09.2007
4278
4279 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
4280 использовался autoindex
4281 Спасибо Arkadiusz Patyk.
4282
4283
4284 Изменения в nginx 0.6.12 21.09.2007
4285
4286 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
4287 и smtp.
4288
4289 *) Добавление: параметры конфигурации --without-mail_pop3_module,
4290 --without-mail_imap_module и --without-mail_smtp_module.
4291
4292 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
4293 ngx_mail_smtp_module.
4294
4295 *) Исправление: wildcard в конце имени сервера не работали; ошибка
4296 появилась в 0.6.9.
4297
4298 *) Исправление: при использовании разделяемой библиотеки PCRE,
4299 расположенной в нестандартном месте, nginx не запускался на Solaris.
4300
4301 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
4302 скрывали строки заголовка ответа с именем больше 32 символов.
4303 Спасибо Manlio Perillo.
4304
4305
4306 Изменения в nginx 0.6.11 11.09.2007
4307
4308 *) Исправление: счётчик активных соединений всегда рос при использовании
4309 почтового прокси-сервера.
4310
4311 *) Исправление: если бэкенд возвращал только заголовок ответа при
4312 небуферизированном проксировании, то nginx закрывал соединение с
4313 бэкендом по таймауту.
4314
4315 *) Исправление: nginx не поддерживал несколько строк "Connection" в
4316 заголовке запроса.
4317
4318 *) Исправление: если в сервере апстрима был задан max_fails, то после
4319 первой же неудачной попытки вес сервера навсегда становился равным
4320 одному; ошибка появилась в 0.6.6.
4321
4322
4323 Изменения в nginx 0.6.10 03.09.2007
4324
4325 *) Добавление: директивы open_file_cache, open_file_cache_retest и
4326 open_file_cache_errors.
4327
4328 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
4329
4330 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
4331 методе $r->send_http_header(), не добавлялась кодировка, указанная в
4332 директиве charset.
4333
4334 *) Исправление: при использовании метода /dev/poll в рабочем процессе
4335 мог произойти segmentation fault.
4336
4337
4338 Изменения в nginx 0.6.9 28.08.2007
4339
4340 *) Исправление: рабочий процесс мог зациклиться при использовании
4341 протокола HTTPS; ошибка появилась в 0.6.7.
4342
4343 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
4344 не запускался при использовании wildcard в конце имени сервера.
4345
4346 *) Исправление: директива ip_hash могла неверно помечать сервера как
4347 нерабочие.
4348
4349 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
4350
4351
4352 Изменения в nginx 0.6.8 20.08.2007
4353
4354 *) Изменение: теперь nginx пытается установить директивы
4355 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
4356 worker_rlimit_sigpending без привилегий root'а.
4357
4358 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
4359 запроса серверу аутентификации почтового прокси-сервера.
4360
4361 *) Изменение: теперь nginx экранирует символ "%" в переменной
4362 $memcached_key.
4363
4364 *) Исправление: при указании относительного пути к конфигурационному
4365 файлу в качестве параметра ключа -c nginx определял путь относительно
4366 конфигурационного префикса; ошибка появилась в 0.6.6.
4367
4368 *) Исправление: nginx не работал на FreeBSD/sparc64.
4369
4370
4371 Изменения в nginx 0.6.7 15.08.2007
4372
4373 *) Изменение: теперь пути, указанные в директивах include,
4374 auth_basic_user_file, perl_modules, ssl_certificate,
4375 ssl_certificate_key и ssl_client_certificate, определяются
4376 относительно каталога конфигурационного файла nginx.conf, а не
4377 относительно префикса.
4378
4379 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
4380
4381 *) Изменение: для обновления на лету версий 0.1.x создан специальный
4382 сценарий make upgrade1.
4383
4384 *) Добавление: директивы server_name и valid_referers поддерживают
4385 регулярные выражения.
4386
4387 *) Добавление: директива server в блоке upstream поддерживает параметр
4388 backup.
4389
4390 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4391 $r->discard_request_body.
4392
4393 *) Добавление: директива "add_header Last-Modified ..." меняет строку
4394 "Last-Modified" в заголовке ответа.
4395
4396 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
4397 отличным от 200, и после этого запроса соединение переходило в
4398 состояние keep-alive, то на следующий запрос nginx возвращал 400.
4399
4400 *) Исправление: если в директиве auth_http был задан неправильный адрес,
4401 то в рабочем процессе происходил segmentation fault.
4402
4403 *) Исправление: теперь по умолчанию nginx использует значение 511 для
4404 listen backlog на всех платформах, кроме FreeBSD.
4405 Спасибо Jiang Hong.
4406
4407 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
4408 upstream был помечен как down; ошибка появилась в 0.6.6.
4409
4410 *) Исправление: sendfilev() в Solaris теперь не используется при
4411 передаче тела запроса FastCGI-серверу через unix domain сокет.
4412
4413
4414 Изменения в nginx 0.6.6 30.07.2007
4415
4416 *) Добавление: параметр --sysconfdir=PATH в configure.
4417
4418 *) Добавление: именованные location'ы.
4419
4420 *) Добавление: переменную $args можно устанавливать с помощью set.
4421
4422 *) Добавление: переменная $is_args.
4423
4424 *) Исправление: равномерное распределение запросов к апстримам с
4425 большими весами.
4426
4427 *) Исправление: если клиент в почтовом прокси-сервере закрывал
4428 соединение, то nginx мог не закрывать соединение с бэкендом.
4429
4430 *) Исправление: при использовании одного хоста в качестве бэкендов для
4431 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
4432 только один порт - 80 или 443.
4433
4434 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
4435 более ранними версиями; ошибка появилась в 0.6.4.
4436
4437
4438 Изменения в nginx 0.6.5 23.07.2007
4439
4440 *) Добавление: переменная $nginx_version.
4441 Спасибо Николаю Гречуху.
4442
4443 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
4444 IMAP.
4445 Спасибо Максиму Дунину.
4446
4447 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
4448 SMTP.
4449 Спасибо Максиму Дунину.
4450
4451 *) Исправление: теперь nginx экранирует пробел в переменной
4452 $memcached_key.
4453
4454 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
4455 Спасибо Jiang Hong.
4456
4457 *) Исправление: незначительных потенциальных ошибок.
4458 Спасибо Coverity's Scan.
4459
4460
4461 Изменения в nginx 0.6.4 17.07.2007
4462
4463 *) Безопасность: при использовании директивы msie_refresh был возможен
4464 XSS.
4465 Спасибо Максиму Богуку.
4466
4467 *) Изменение: директивы proxy_store и fastcgi_store изменены.
4468
4469 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
4470
4471 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
4472 Studio.
4473 Спасибо Андрею Нигматулину.
4474
4475 *) Изменение: обход ошибки в Sun Studio 12.
4476 Спасибо Jiang Hong.
4477
4478
4479 Изменения в nginx 0.6.3 12.07.2007
4480
4481 *) Добавление: директивы proxy_store и fastcgi_store.
4482
4483 *) Исправление: при использовании директивы auth_http_header в рабочем
4484 процессе мог произойти segmentation fault.
4485 Спасибо Максиму Дунину.
4486
4487 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
4488 не был разрешён, то в рабочем процессе происходил segmentation fault.
4489
4490 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4491 в рабочем процессе мог произойти segmentation fault.
4492
4493 *) Исправление: в рабочем процессе мог произойти segmentation fault,
4494 если использовался метод eventport.
4495
4496 *) Исправление: директивы proxy_ignore_client_abort и
4497 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
4498
4499
4500 Изменения в nginx 0.6.2 09.07.2007
4501
4502 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
4503 nginx передавал клиенту мусор в таких заголовках.
4504
4505
4506 Изменения в nginx 0.6.1 17.06.2007
4507
4508 *) Исправление: в парсинге SSI.
4509
4510 *) Исправление: при использовании удалённого подзапроса в SSI
4511 последующий подзапрос локального файла мог отдаваться клиенту в
4512 неверном порядке.
4513
4514 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
4515 передавались не полностью.
4516
4517 *) Исправление: значение perl'овой переменной $$ модуля
4518 ngx_http_perl_module было равно номеру главного процесса.
4519
4520
4521 Изменения в nginx 0.6.0 14.06.2007
4522
4523 *) Добавление: директивы "server_name", "map", and "valid_referers"
4524 поддерживают маски вида "www.example.*".
4525
4526
4527 Изменения в nginx 0.5.25 11.06.2007
4528
4529 *) Исправление: nginx не собирался с параметром
4530 --without-http_rewrite_module; ошибка появилась в 0.5.24.
4531
4532
4533 Изменения в nginx 0.5.24 06.06.2007
4534
4535 *) Безопасность: директива ssl_verify_client не работала, если запрос
4536 выполнялся по протоколу HTTP/0.9.
4537
4538 *) Исправление: при использовании сжатия часть ответа могла передаваться
4539 несжатой; ошибка появилась в 0.5.23.
4540
4541
4542 Изменения в nginx 0.5.23 04.06.2007
4543
4544 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
4545 Server Name Indication.
4546
4547 *) Добавление: директива fastcgi_catch_stderr.
4548 Спасибо Николаю Гречуху, проект OWOX.
4549
4550 *) Исправление: на Линуксе в основном процессе происходил segmentation
4551 fault, если два виртуальных сервера должны bind()ится к
4552 пересекающимся портам.
4553
4554 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4555 perl поддерживал потоки, то во время второй переконфигурации
4556 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
4557
4558 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4559
4560
4561 Изменения в nginx 0.5.22 29.05.2007
4562
4563 *) Исправление: большое тело запроса могло не передаваться бэкенду;
4564 ошибка появилась в 0.5.21.
4565
4566
4567 Изменения в nginx 0.5.21 28.05.2007
4568
4569 *) Исправление: если внутри сервера описано больше примерно десяти
4570 location'ов, то location'ы, заданные с помощью регулярного выражения,
4571 могли выполняться не в том, порядке, в каком они описаны.
4572
4573 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
4574 если 33-тий по счёту или последующий бэкенд упал.
4575 Спасибо Антону Поварову.
4576
4577 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
4578 произойти bus error.
4579 Спасибо Андрею Нигматулину.
4580
4581 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4582
4583
4584 Изменения в nginx 0.5.20 07.05.2007
4585
4586 *) Добавление: директива sendfile_max_chunk.
4587
4588 *) Добавление: переменные "$http_...", "$sent_http_..." и
4589 "$upstream_http_..." можно менять директивой set.
4590
4591 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
4592 рабочем процессе мог произойти segmentation fault.
4593
4594 *) Исправление: завершающая строка multipart range ответа передавалась
4595 неверно.
4596 Спасибо Evan Miller.
4597
4598 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
4599 Studio.
4600 Спасибо Андрею Нигматулину.
4601
4602 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
4603 Спасибо Андрею Нигматулину.
4604
4605
4606 Изменения в nginx 0.5.19 24.04.2007
4607
4608 *) Изменение: значение переменной $request_time теперь записывается с
4609 точностью до миллисекунд.
4610
4611 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
4612 переименован в $r->flush.
4613
4614 *) Добавление: переменная $upstream_addr.
4615
4616 *) Добавление: директивы proxy_headers_hash_max_size и
4617 proxy_headers_hash_bucket_size.
4618 Спасибо Володымыру Костырко.
4619
4620 *) Исправление: при использовании sendfile и limit_rate на 64-битных
4621 платформах нельзя было передавать файлы больше 2G.
4622
4623 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
4624 было передавать файлы больше 2G.
4625
4626
4627 Изменения в nginx 0.5.18 19.04.2007
4628
4629 *) Добавление: модуль ngx_http_sub_filter_module.
4630
4631 *) Добавление: переменные "$upstream_http_...".
4632
4633 *) Добавление: теперь переменные $upstream_status и
4634 $upstream_response_time содержат данные о всех обращениях к
4635 апстримам, сделанным до X-Accel-Redirect.
4636
4637 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4638 perl не поддерживал multiplicity, то после первой переконфигурации и
4639 после получения любого сигнала в основном процессе происходил
4640 segmentation fault; ошибка появилась в 0.5.9.
4641
4642 *) Исправление: если perl не поддерживал multiplicity, то после
4643 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
4644
4645
4646 Изменения в nginx 0.5.17 02.04.2007
4647
4648 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
4649
4650 *) Добавление: теперь nginx поддерживает директиву include внутри блока
4651 types.
4652
4653 *) Исправление: использование переменной $document_root в директиве root
4654 и alias запрещено: оно вызывало рекурсивное переполнение стека.
4655
4656 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4657
4658 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
4659 $uri) возвращали старое закэшированное значение.
4660
4661
4662 Изменения в nginx 0.5.16 26.03.2007
4663
4664 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
4665 использовалась сеть класса С.
4666 Спасибо Павлу Ярковому.
4667
4668 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
4669 был указан charset и строка завершалась символом ";", то в рабочем
4670 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
4671
4672 *) Исправление: ошибки "[alert] zero size buf" при работе с
4673 FastCGI-сервером, если тело запроса, записанное во временный файл,
4674 было кратно 32K.
4675
4676 *) Исправление: nginx не собирался на Solaris без параметра
4677 --with-debug; ошибка появилась в 0.5.15.
4678
4679
4680 Изменения в nginx 0.5.15 19.03.2007
4681
4682 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
4683 SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
4684 Спасибо Антону Южанинову и Максиму Дунину.
4685
4686 *) Добавление: теперь keep-alive соединения закрываются сразу же по
4687 получении сигнала переконфигурации.
4688
4689 *) Изменение: директивы imap и auth переименованы соответственно в mail
4690 и pop3_auth.
4691
4692 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
4693 был разрешён метод APOP, то в рабочем процессе происходил
4694 segmentation fault.
4695
4696 *) Исправление: при использовании директивы starttls only в протоколе
4697 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
4698
4699 *) Исправление: рабочие процессы не выходили после переконфигурации и не
4700 переоткрывали логи, если использовался метод eventport.
4701
4702 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
4703 зациклиться.
4704
4705 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
4706 используются методы eventport или /dev/poll.
4707
4708
4709 Изменения в nginx 0.5.14 23.02.2007
4710
4711 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
4712 конфигурационного файла.
4713
4714
4715 Изменения в nginx 0.5.13 19.02.2007
4716
4717 *) Добавление: методы COPY и MOVE.
4718
4719 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
4720 запросов, переданных по keep-alive соединению.
4721
4722 *) Исправление: nginx не работал на 64-битном big-endian Linux.
4723 Спасибо Андрею Нигматулину.
4724
4725 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
4726 теперь сразу закрывает соединение, а не по таймауту.
4727
4728 *) Исправление: если при использовании метода epoll клиент закрывал
4729 преждевременно соединение со своей стороны, то nginx закрывал это
4730 соединение только по истечении таймаута на передачу.
4731
4732 *) Исправление: nginx не собирался на платформах, отличных от i386,
4733 amd64, sparc и ppc; ошибка появилась в 0.5.8.
4734
4735
4736 Изменения в nginx 0.5.12 12.02.2007
4737
4738 *) Исправление: nginx не собирался на платформах, отличных от i386,
4739 amd64, sparc и ppc; ошибка появилась в 0.5.8.
4740
4741 *) Исправление: при использовании временных файлов в время работы с
4742 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
4743 ошибка появилась в 0.5.8.
4744
4745 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
4746 то в рабочем процессе мог произойти segmentation fault.
4747
4748 *) Исправление: ngx_http_perl_module не собирался на Solaris.
4749
4750
4751 Изменения в nginx 0.5.11 05.02.2007
4752
4753 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
4754 Спасибо Chris McGrath.
4755
4756 *) Исправление: ответ был неверным, если запрашивалось несколько
4757 диапазонов; ошибка появилась в 0.5.6.
4758
4759 *) Исправление: директива create_full_put_path не могла создавать
4760 промежуточные каталоги, если не была установлена директива
4761 dav_access.
4762 Спасибо Evan Miller.
4763
4764 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
4765 записываться код "0".
4766
4767 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
4768 произойти segmentation fault.
4769
4770
4771 Изменения в nginx 0.5.10 26.01.2007
4772
4773 *) Исправление: во время обновления исполняемого файла новый процесс не
4774 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
4775
4776 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
4777 произойти segmentation fault; ошибка появилась в 0.5.1.
4778
4779
4780 Изменения в nginx 0.5.9 25.01.2007
4781
4782 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
4783 использует значение переменной $memcached_key.
4784
4785 *) Добавление: переменная $memcached_key.
4786
4787 *) Добавление: параметр clean в директиве client_body_in_file_only.
4788
4789 *) Добавление: директива env.
4790
4791 *) Добавление: директива sendfile работает внутри блока if.
4792
4793 *) Добавление: теперь при ошибке записи в access_log nginx записывает
4794 сообщение в error_log, но не чаще одного раза в минуту.
4795
4796 *) Исправление: директива "access_log off" не всегда запрещала запись в
4797 лог.
4798
4799
4800 Изменения в nginx 0.5.8 19.01.2007
4801
4802 *) Исправление: если использовалась директива
4803 "client_body_in_file_only on" и тело запроса было небольшое, то мог
4804 произойти segmentation fault.
4805
4806 *) Исправление: происходил segmentation fault, если использовались
4807 директивы "client_body_in_file_only on" и
4808 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
4809 делался переход к следующему бэкенду.
4810
4811 *) Исправление: если при использовании директивы "proxy_buffering off"
4812 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
4813 заданному директивой send_timeout; ошибка появилась в 0.4.7.
4814
4815 *) Исправление: если при использовании метода epoll клиент закрывал
4816 преждевременно соединение со своей стороны, то nginx закрывал это
4817 соединение только по истечении таймаута на передачу.
4818
4819 *) Исправление: ошибки "[alert] zero size buf" при работе с
4820 FastCGI-сервером.
4821
4822 *) Исправление ошибок в директиве limit_zone.
4823
4824
4825 Изменения в nginx 0.5.7 15.01.2007
4826
4827 *) Добавление: оптимизация использования памяти в ssl_session_cache.
4828
4829 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
4830
4831 *) Исправление: на старте или во время переконфигурации происходил
4832 segmentation fault, если директивы ssl_session_cache или limit_zone
4833 использовались на 64-битных платформах.
4834
4835 *) Исправление: при использовании директив add_before_body или
4836 add_after_body происходил segmentation fault, если в заголовке ответа
4837 нет строки "Content-Type".
4838
4839 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
4840 потоков.
4841 Спасибо Дену Иванову.
4842
4843 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
4844
4845
4846 Изменения в nginx 0.5.6 09.01.2007
4847
4848 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
4849 кроме GET, HEAD и POST.
4850
4851 *) Добавление: модуль ngx_http_limit_zone_module.
4852
4853 *) Добавление: переменная $binary_remote_addr.
4854
4855 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
4856 ngx_imap_ssl_module.
4857
4858 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
4859
4860 *) Исправление: при использовании $r->sendfile() byte-ranges
4861 передавались неверно.
4862
4863
4864 Изменения в nginx 0.5.5 24.12.2006
4865
4866 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
4867
4868 *) Добавление: ключ -V.
4869
4870 *) Добавление: директива worker_rlimit_core поддерживает указание
4871 размера в K, M и G.
4872
4873 *) Исправление: модуль nginx.pm теперь может устанавливаться
4874 непривилегированным пользователем.
4875
4876 *) Исправление: при использовании методов $r->request_body или
4877 $r->request_body_file мог произойти segmentation fault.
4878
4879 *) Исправление: ошибок, специфичных для платформы ppc.
4880
4881
4882 Изменения в nginx 0.5.4 15.12.2006
4883
4884 *) Добавление: директиву perl можно использовать внутри блока
4885 limit_except.
4886
4887 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
4888 заголовке запроса для метода DELETE.
4889
4890 *) Исправление: при использовании одного параметра в директиве
4891 dav_access nginx мог сообщить об ошибке в конфигурации.
4892
4893 *) Исправление: при использовании переменной $host мог произойти
4894 segmentation fault; ошибка появилась в 0.4.14.
4895
4896
4897 Изменения в nginx 0.5.3 13.12.2006
4898
4899 *) Добавление: модуль ngx_http_perl_module поддерживает методы
4900 $r->status, $r->log_error и $r->sleep.
4901
4902 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
4903 конфигурации nginx'а.
4904
4905 *) Исправление: метод $r->has_request_body не работал.
4906
4907
4908 Изменения в nginx 0.5.2 11.12.2006
4909
4910 *) Исправление: если в директивах proxy_pass использовалось имя,
4911 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
4912 ошибка появилась в 0.5.1.
4913
4914
4915 Изменения в nginx 0.5.1 11.12.2006
4916
4917 *) Исправление: директива post_action могла не работать после неудачного
4918 завершения запроса.
4919
4920 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
4921 Спасибо Bron Gondwana.
4922
4923 *) Исправление: при указании в директиве fastcgi_pass имени описанного
4924 upstream'а выдавалось сообщение "no port in upstream"; ошибка
4925 появилась в 0.5.0.
4926
4927 *) Исправление: если в директивах proxy_pass и fastcgi_pass
4928 использовались одинаковых имена серверов, но с разными портами, то
4929 эти директивы использовали первый описанный порт; ошибка появилась в
4930 0.5.0.
4931
4932 *) Исправление: если в директивах proxy_pass и fastcgi_pass
4933 использовались unix domain сокеты, то эти директивы использовали
4934 первый описанный сокет; ошибка появилась в 0.5.0.
4935
4936 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
4937 если он был указан в последней строке файла паролей и после пароля не
4938 было перевода строки, возврата каретки или символа ":".
4939
4940 *) Исправление: переменная $upstream_response_time могла быть равна
4941 "0.000", хотя время обработки было больше 1 миллисекунды.
4942
4943
4944 Изменения в nginx 0.5.0 04.12.2006
4945
4946 *) Изменение: параметры в виде "%name" в директиве log_format больше не
4947 поддерживаются.
4948
4949 *) Изменение: директивы proxy_upstream_max_fails,
4950 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
4951 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
4952 memcached_upstream_fail_timeout больше не поддерживаются.
4953
4954 *) Добавление: директива server в блоке upstream поддерживает параметры
4955 max_fails, fail_timeout и down.
4956
4957 *) Добавление: директива ip_hash в блоке upstream.
4958
4959 *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
4960 сервера аутентификации IMAP/POP3 прокси.
4961
4962 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
4963 появилась в 0.4.14.
4964
4965
4966 Изменения в nginx 0.4.14 27.11.2006
4967
4968 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
4969
4970 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
4971 Linux и NetBSD.
4972
4973 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
4974 поддержкой потоков; ошибка появилась в 0.3.38.
4975
4976 *) Исправление: ngx_http_perl_module не работал корректно, если перл
4977 вызывался рекурсивно.
4978
4979 *) Исправление: nginx игнорировал имя сервера в строке запроса.
4980
4981 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
4982 процесс мог зациклиться.
4983
4984 *) Исправление: при изменении системного времени переменная
4985 $upstream_response_time могла быть отрицательной.
4986
4987 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
4988 прокси не передавался параметр Auth-Login-Attempt.
4989
4990 *) Исправление: при ошибке соединения с сервером аутентификации
4991 IMAP/POP3 прокси мог произойти segmentation fault.
4992
4993
4994 Изменения в nginx 0.4.13 15.11.2006
4995
4996 *) Добавление: директиву proxy_pass можно использовать внутри блока
4997 limit_except.
4998
4999 *) Добавление: директива limit_except поддерживает все WebDAV методы.
5000
5001 *) Исправление: при использовании директивы add_before_body без
5002 директивы add_after_body ответ передавался не полностью.
5003
5004 *) Исправление: большое тело запроса не принималось, если использовались
5005 метод epoll и deferred accept().
5006
5007 *) Исправление: для ответов модуля ngx_http_autoindex_module не
5008 выставлялась кодировка; ошибка появилась в 0.3.50.
5009
5010 *) Исправление: ошибки "[alert] zero size buf" при работе с
5011 FastCGI-сервером;
5012
5013 *) Исправление: параметр конфигурации --group= игнорировался.
5014 Спасибо Thomas Moschny.
5015
5016 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
5017 в 0.3.50.
5018
5019
5020 Изменения в nginx 0.4.12 31.10.2006
5021
5022 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5023 $r->variable.
5024
5025 *) Исправление: при включении в ответ большого статического файла с
5026 помощью SSI ответ мог передаваться не полностью.
5027
5028 *) Исправление: nginx не убирал "#fragment" в URI.
5029
5030
5031 Изменения в nginx 0.4.11 25.10.2006
5032
5033 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
5034
5035 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5036 $r->allow_ranges.
5037
5038 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
5039 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
5040
5041
5042 Изменения в nginx 0.4.10 23.10.2006
5043
5044 *) Добавление: POP3 прокси поддерживает APOP.
5045
5046 *) Исправление: при использовании методов select, poll и /dev/poll во
5047 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
5048 нагружал процессор.
5049
5050 *) Исправление: при использовании переменной $server_addr в директиве
5051 map мог произойти segmentation fault.
5052
5053 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
5054 для полных ответов; ошибка появилась в 0.4.7.
5055
5056 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
5057 0.4.9.
5058
5059
5060 Изменения в nginx 0.4.9 13.10.2006
5061
5062 *) Добавление: параметр set в команде SSI include.
5063
5064 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
5065 модуля nginx.pm.
5066
5067
5068 Изменения в nginx 0.4.8 11.10.2006
5069
5070 *) Исправление: если до команды SSI include с параметром wait
5071 выполнялась ещё одна команда SSI include, то параметр wait мог не
5072 работать.
5073
5074 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
5075 полных ответов.
5076 Спасибо Алексею Ковырину.
5077
5078
5079 Изменения в nginx 0.4.7 10.10.2006
5080
5081 *) Добавление: модуль ngx_http_flv_module.
5082
5083 *) Добавление: переменная $request_body_file.
5084
5085 *) Добавление: директивы charset и source_charset поддерживают
5086 переменные.
5087
5088 *) Исправление: если до команды SSI include с параметром wait
5089 выполнялась ещё одна команда SSI include, то параметр wait мог не
5090 работать.
5091
5092 *) Исправление: при использовании директивы "proxy_buffering off" или
5093 при работе с memcached соединения могли не закрываться по таймауту.
5094
5095 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
5096 amd64, sparc64 и ppc64.
5097
5098
5099 Изменения в nginx 0.4.6 06.10.2006
5100
5101 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
5102 amd64, sparc64 и ppc64.
5103
5104 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
5105 chunk'ами, если длина ответа в методе
5106 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
5107
5108 *) Исправление: после перенаправления ошибки с помощью директивы
5109 error_page любая директива модуля ngx_http_rewrite_module возвращала
5110 эту ошибку; ошибка появилась в 0.4.4.
5111
5112
5113 Изменения в nginx 0.4.5 02.10.2006
5114
5115 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
5116 в 0.4.4.
5117
5118
5119 Изменения в nginx 0.4.4 02.10.2006
5120
5121 *) Добавление: переменная $scheme.
5122
5123 *) Добавление: директива expires поддерживает параметр max.
5124
5125 *) Добавление: директива include поддерживает маску "*".
5126 Спасибо Jonathan Dance.
5127
5128 *) Исправление: директива return всегда изменяла код ответа,
5129 перенаправленного директивой error_page.
5130
5131 *) Исправление: происходил segmentation fault, если в методе PUT
5132 передавалось тело нулевой длины.
5133
5134 *) Исправление: при использовании переменных в директиве proxy_redirect
5135 редирект изменялся неверно.
5136
5137
5138 Изменения в nginx 0.4.3 26.09.2006
5139
5140 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
5141 error_page.
5142
5143 *) Добавление: поддержка Solaris 10 event ports.
5144
5145 *) Добавление: модуль ngx_http_browser_module.
5146
5147 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
5148 помощью директивы error_page мог произойти segmentation fault.
5149
5150 *) Исправление: происходил segmentation fault, если в директиве
5151 proxy_pass использовался unix domain сокет; ошибка появилась в
5152 0.3.47.
5153
5154 *) Исправление: SSI не работал с ответами memcached и
5155 небуферизированными проксированными ответами.
5156
5157 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
5158
5159
5160 Изменения в nginx 0.4.2 14.09.2006
5161
5162 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
5163 появилась в 0.4.1.
5164
5165
5166 Изменения в nginx 0.4.1 14.09.2006
5167
5168 *) Исправление: совместимость с DragonFlyBSD.
5169 Спасибо Павлу Назарову.
5170
5171 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
5172 файлов больше 2G.
5173
5174 *) Добавление: теперь на Linux nginx для статических запросов использует
5175 флаг O_NOATIME.
5176 Спасибо Yusuf Goolamabbas.
5177
5178
5179 Изменения в nginx 0.4.0 30.08.2006
5180
5181 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
5182 фазы init module в фазу HTTP postconfiguration.
5183
5184 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
5185 считывается заранее: нужно явно инициировать чтение с помощью метода
5186 $r->has_request_body.
5187
5188 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
5189 DECLINED.
5190
5191 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
5192 заголовка "Date" для метода PUT.
5193
5194 *) Добавление: директива ssi работает внутри блока if.
5195
5196 *) Исправление: происходил segmentation fault, если в директиве index
5197 использовалась переменные и при этом первое имя индексного файла было
5198 без переменных; ошибка появилась в 0.1.29.
5199
5200
5201 Изменения в nginx 0.3.61 28.08.2006
5202
5203 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
5204
5205 *) Добавление: директива msie_refresh.
5206
5207 *) Добавление: директива recursive_error_pages.
5208
5209 *) Исправление: директива rewrite возвращала неправильный редирект, если
5210 редирект включал в себя выделенные закодированные символы из
5211 оригинального URI.
5212
5213
5214 Изменения в nginx 0.3.60 18.08.2006
5215
5216 *) Исправление: во время перенаправления ошибки рабочий процесс мог
5217 зациклиться; ошибка появилась в 0.3.59.
5218
5219
5220 Изменения в nginx 0.3.59 16.08.2006
5221
5222 *) Добавление: теперь можно делать несколько перенаправлений через
5223 директиву error_page.
5224
5225 *) Исправление: директива dav_access не поддерживала три параметра.
5226
5227 *) Исправление: директива error_page не изменяла строку "Content-Type"
5228 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
5229 в 0.3.58.
5230
5231
5232 Изменения в nginx 0.3.58 14.08.2006
5233
5234 *) Добавление: директива error_page поддерживает переменные.
5235
5236 *) Изменение: теперь на Linux используется интерфейс procfs вместо
5237 sysctl.
5238
5239 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
5240 "Content-Type" наследуется из первоначального ответа.
5241
5242 *) Исправление: директива error_page не перенаправляла ошибку 413.
5243
5244 *) Исправление: завершающий "?" не удалял старые аргументы, если в
5245 переписанном URI не было новых аргументов.
5246
5247 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
5248
5249
5250 Изменения в nginx 0.3.57 09.08.2006
5251
5252 *) Добавление: переменная $ssl_client_serial.
5253
5254 *) Исправление: в операторе "!-e" в директиве if.
5255 Спасибо Андриану Буданцову.
5256
5257 *) Исправление: при проверке клиентского сертификата nginx не передавал
5258 клиенту информацию о требуемых сертификатах.
5259
5260 *) Исправление: переменная $document_root не поддерживала переменные в
5261 директиве root.
5262
5263
5264 Изменения в nginx 0.3.56 04.08.2006
5265
5266 *) Добавление: директива dav_access.
5267
5268 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
5269 "!-e", "-x" и "!-x".
5270
5271 *) Исправление: при записи в access_log некоторых передаваемых клиенту
5272 строк заголовков происходил segmentation fault, если запрос возвращал
5273 редирект.
5274
5275
5276 Изменения в nginx 0.3.55 28.07.2006
5277
5278 *) Добавление: параметр stub в команде SSI include.
5279
5280 *) Добавление: команда SSI block.
5281
5282 *) Добавление: скрипт unicode2nginx добавлен в contrib.
5283
5284 *) Исправление: если root был задан только переменной, то корень
5285 задавался относительно префикса сервера.
5286
5287 *) Исправление: если в запросе был "//" или "/.", и после этого
5288 закодированные символы в виде "%XX", то проксируемый запрос
5289 передавался незакодированным.
5290
5291 *) Исправление: метод $r->header_in("Cookie") модуля
5292 ngx_http_perl_module теперь возвращает все строки "Cookie" в
5293 заголовке запроса.
5294
5295 *) Исправление: происходил segmentation fault, если использовался
5296 "client_body_in_file_only on" и делался переход к следующему бэкенду.
5297
5298 *) Исправление: при некоторых условиях во время переконфигурации коды
5299 символов внутри директивы charset_map могли считаться неверными;
5300 ошибка появилась в 0.3.50.
5301
5302
5303 Изменения в nginx 0.3.54 11.07.2006
5304
5305 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
5306
5307 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
5308 memcached_next_upstream поддерживают параметр off.
5309
5310 *) Добавление: директива debug_connection поддерживает запись адресов в
5311 формате CIDR.
5312
5313 *) Исправление: при перекодировании ответа проксированного сервера или
5314 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
5315 полностью.
5316
5317 *) Исправление: переменная $upstream_response_time содержала время
5318 только первого обращения к бэкенду.
5319
5320 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
5321 в 0.3.53.
5322
5323
5324 Изменения в nginx 0.3.53 07.07.2006
5325
5326 *) Изменение: директива add_header добавляет строки в ответы с кодом
5327 204, 301 и 302.
5328
5329 *) Добавление: директива server в блоке upstream поддерживает параметр
5330 weight.
5331
5332 *) Добавление: директива server_name поддерживает маску "*".
5333
5334 *) Добавление: nginx поддерживает тело запроса больше 2G.
5335
5336 *) Исправление: если при использовании "satisfy_any on" клиент успешно
5337 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
5338 forbidden by rule".
5339
5340 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
5341 409.
5342
5343 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
5344 ошибку, nginx продолжал проксирование.
5345
5346
5347 Изменения в nginx 0.3.52 03.07.2006
5348
5349 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
5350 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
5351 ошибку 405.
5352
5353 *) Исправление: при использовании ограничения скорости рабочий процесс
5354 мог зациклиться; ошибка появилась в 0.3.37.
5355
5356 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
5357 "unknown charset", даже если перекодировка не требовалась; ошибка
5358 появилась в 0.3.50.
5359
5360 *) Исправление: если в результате запроса PUT возвращался код 409, то
5361 временный файл не удалялся.
5362
5363
5364 Изменения в nginx 0.3.51 30.06.2006
5365
5366 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
5367 ошибка появилась в 0.3.50.
5368
5369
5370 Изменения в nginx 0.3.50 28.06.2006
5371
5372 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
5373 переименованы соответственно в proxy_intercept_errors и
5374 fastcgi_intercept_errors.
5375
5376 *) Добавление: модуль ngx_http_charset_module поддерживает
5377 перекодирование из однобайтных кодировок в UTF-8 и обратно.
5378
5379 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5380 "X-Accel-Charset" в ответе бэкенда.
5381
5382 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
5383 только если также использовался символ "$".
5384
5385 *) Исправление: при некоторых условиях в SSI после вставки могла быть
5386 добавлена строка "<!--".
5387
5388 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
5389 то при использовании небуферизированного проксировании не закрывалось
5390 соединение с клиентом.
5391
5392
5393 Изменения в nginx 0.3.49 31.05.2006
5394
5395 *) Исправление: в директиве set.
5396
5397 *) Исправление: при включении в ssi двух и более подзапросов,
5398 обрабатываемых через FastCGI, вместо вывода второго и остальных
5399 подзапросов в ответ включался вывод первого подзапроса.
5400
5401
5402 Изменения в nginx 0.3.48 29.05.2006
5403
5404 *) Изменение: теперь модуль ngx_http_charset_module работает для
5405 подзапросов, в ответах которых нет строки заголовка "Content-Type".
5406
5407 *) Исправление: если в директиве proxy_pass не было URI, то директива
5408 "proxy_redirect default" добавляла в переписанный редирект в начало
5409 лишний слэш.
5410
5411 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
5412 GET, теперь это делается только для редиректов, выполняемых с помощью
5413 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
5414 0.3.42.
5415
5416 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
5417 с поддержкой потоков; ошибка появилась в 0.3.46.
5418
5419
5420 Изменения в nginx 0.3.47 23.05.2006
5421
5422 *) Добавление: директива upstream.
5423
5424 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
5425 всегда убирается.
5426
5427
5428 Изменения в nginx 0.3.46 11.05.2006
5429
5430 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
5431 fastcgi_hide_header и fastcgi_pass_header.
5432
5433 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
5434 proxy_pass_server упразднены.
5435
5436 *) Добавление: в режиме прокси поддерживается строка заголовка
5437 "X-Accel-Buffering" в ответе бэкенда.
5438
5439 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
5440 ngx_http_perl_module.
5441
5442
5443 Изменения в nginx 0.3.45 06.05.2006
5444
5445 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
5446 ssl_client_certificate.
5447
5448 *) Изменение: теперь переменная $request_method возвращает метод только
5449 основного запроса.
5450
5451 *) Изменение: в таблице перекодировки koi-win изменены коды символа
5452 &deg;.
5453
5454 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
5455 номера.
5456
5457 *) Исправление: если nginx распределял запросы на несколько машин, то
5458 при падении одной из них запросы, предназначенные для этой машины,
5459 перенаправлялись только на одну машину вместо того, чтобы равномерно
5460 распределяться между остальными.
5461
5462
5463 Изменения в nginx 0.3.44 04.05.2006
5464
5465 *) Добавление: параметр wait в команде SSI include.
5466
5467 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
5468 белорусские символы.
5469
5470 *) Исправление: в SSI.
5471
5472
5473 Изменения в nginx 0.3.43 26.04.2006
5474
5475 *) Исправление: в SSI.
5476
5477
5478 Изменения в nginx 0.3.42 26.04.2006
5479
5480 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
5481
5482 *) Исправление: ошибки при использовании в директиве rewrite одного и
5483 того же выделения более одного раза.
5484
5485 *) Исправление: в лог не записывались переменные
5486 $sent_http_content_type, $sent_http_content_length,
5487 $sent_http_last_modified, $sent_http_connection,
5488 $sent_http_keep_alive и $sent_http_transfer_encoding.
5489
5490 *) Исправление: переменная $sent_http_cache_control возвращала
5491 содержимое только одной строки "Cache-Control" в заголовке ответа.
5492
5493
5494 Изменения в nginx 0.3.41 21.04.2006
5495
5496 *) Добавление: ключ -v.
5497
5498 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
5499 segmentation fault.
5500
5501 *) Исправление: в обработке FastCGI.
5502
5503 *) Исправление: если путь к перловым модулям не был указан с помощью
5504 --with-perl_modules_path=PATH или директивы perl_modules, то на
5505 старте происходил segmentation fault.
5506
5507
5508 Изменения в nginx 0.3.40 19.04.2006
5509
5510 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
5511
5512 *) Добавление: директива create_full_put_path.
5513
5514 *) Добавление: переменная $limit_rate.
5515
5516
5517 Изменения в nginx 0.3.39 17.04.2006
5518
5519 *) Добавление: директива uninitialized_variable_warn; уровень
5520 логгирования сообщения о неинициализированной переменной понижен с
5521 уровня alert на warn.
5522
5523 *) Добавление: директива override_charset.
5524
5525 *) Изменение: при использовании неизвестной переменной в SSI-командах
5526 echo и if expr='$name' теперь не записывается в лог сообщение о
5527 неизвестной переменной.
5528
5529 *) Исправление: счётчик активных соединений рос при превышении лимита
5530 соединений, заданного директивой worker_connections; ошибка появилась
5531 в 0.2.0.
5532
5533 *) Исправление: при некоторых условия ограничение скорости соединения
5534 могло не работать; ошибка появилась в 0.3.38.
5535
5536
5537 Изменения в nginx 0.3.38 14.04.2006
5538
5539 *) Добавление: модуль ngx_http_dav_module.
5540
5541 *) Изменение: оптимизация модуля ngx_http_perl_module.
5542 Спасибо Сергею Скворцову.
5543
5544 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5545 $r->request_body_file.
5546
5547 *) Добавление: директива client_body_in_file_only.
5548
5549 *) Изменение: теперь при переполнении диска nginx пытается писать
5550 access_log'и только раз в секунду.
5551 Спасибо Антону Южанинову и Максиму Дунину.
5552
5553 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
5554 при значениях больше 100 Kbyte/s.
5555 Спасибо ForJest.
5556
5557 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
5558 символы "\r" и "\n" в логине и пароле в закодированном виде.
5559 Спасибо Максиму Дунину.
5560
5561
5562 Изменения в nginx 0.3.37 07.04.2006
5563
5564 *) Добавление: директива limit_except.
5565
5566 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
5567 "!-f".
5568
5569 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5570 $r->request_body.
5571
5572 *) Исправление: в модуле ngx_http_addition_filter_module.
5573
5574
5575 Изменения в nginx 0.3.36 05.04.2006
5576
5577 *) Добавление: модуль ngx_http_addition_filter_module.
5578
5579 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
5580 внутри блока if.
5581
5582 *) Добавление: директивы proxy_ignore_client_abort и
5583 fastcgi_ignore_client_abort.
5584
5585 *) Добавление: переменная $request_completion.
5586
5587 *) Добавление: модуль ngx_http_perl_module поддерживает методы
5588 $r->request_method и $r->remote_addr.
5589
5590 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
5591
5592 *) Исправление: строка "\/" в начале выражения команды if модуля
5593 ngx_http_ssi_module воспринималась неверно.
5594
5595 *) Исправление: в использовании регулярных выражениях в команде if
5596 модуля ngx_http_ssi_module.
5597
5598 *) Исправление: при задании относительного пути в директивах
5599 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
5600 perl_modules использовался каталог относительно текущего каталога, а
5601 не относительно префикса сервера.
5602
5603
5604 Изменения в nginx 0.3.35 22.03.2006
5605
5606 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
5607 для первой директивы listen; ошибка появилась в 0.3.31.
5608
5609 *) Исправление: в директиве proxy_pass без URI при использовании в
5610 подзапросе.
5611
5612
5613 Изменения в nginx 0.3.34 21.03.2006
5614
5615 *) Добавление: директива add_header поддерживает переменные.
5616
5617
5618 Изменения в nginx 0.3.33 15.03.2006
5619
5620 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
5621 fastcgi_next_upstream.
5622
5623 *) Исправление: ngx_http_perl_module не работал со встроенным в
5624 конфигурационный файл кодом, если он не начинался сразу же с "sub".
5625
5626 *) Исправление: в директиве post_action.
5627
5628
5629 Изменения в nginx 0.3.32 11.03.2006
5630
5631 *) Исправление: удаление отладочного логгирования на старте и при
5632 переконфигурации; ошибка появилась в 0.3.31.
5633
5634
5635 Изменения в nginx 0.3.31 10.03.2006
5636
5637 *) Изменение: теперь nginx передаёт неверные ответы проксированного
5638 бэкенда.
5639
5640 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
5641
5642 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
5643
5644 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
5645 64-битном ядре MacOSX.
5646 Спасибо Андрею Нигматулину.
5647
5648 *) Исправление: если внутри одного сервера описаны несколько директив
5649 listen, слушающих на разных адресах, то имена серверов вида
5650 "*.domain.tld" работали только для первого адреса; ошибка появилась в
5651 0.3.18.
5652
5653 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5654 не передавались запросы с телом, записанным во временный файл.
5655
5656 *) Исправление: совместимость с perl 5.8.8.
5657
5658
5659 Изменения в nginx 0.3.30 22.02.2006
5660
5661 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
5662 с уровня crit.
5663
5664 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
5665 ngx_http_ssi_filter_module.
5666
5667 *) Исправление: nginx не собирался на i386 платформе, если использовался
5668 PIC; ошибка появилась в 0.3.27.
5669
5670
5671 Изменения в nginx 0.3.29 20.02.2006
5672
5673 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
5674 FastCGI передаёт большое количество предупреждений перед ответом.
5675
5676 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
5677 строка заголовка "Transfer-Encoding: chunked".
5678
5679 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
5680 передавал полные строки заголовка ответа в отдельных FastCGI записях.
5681
5682 *) Исправление: если в директиве post_action был указан проксируемый
5683 URI, то он выполнялся только после успешного завершения запроса.
5684
5685
5686 Изменения в nginx 0.3.28 16.02.2006
5687
5688 *) Добавление: директива restrict_host_names упразднена.
5689
5690 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
5691
5692 *) Исправление: при некоторых условиях проксированное соединение с
5693 клиентом завершалось преждевременно.
5694 Спасибо Владимиру Шутову.
5695
5696 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
5697 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
5698
5699 *) Исправление: директива post_action работала только после успешного
5700 завершения запроса.
5701
5702 *) Исправление: тело проксированного ответа, создаваемого директивой
5703 post_action, передавалось клиенту.
5704
5705
5706 Изменения в nginx 0.3.27 08.02.2006
5707
5708 *) Изменение: директивы variables_hash_max_size и
5709 variables_hash_bucket_size.
5710
5711 *) Добавление: переменная $body_bytes_sent доступна не только в
5712 директиве log_format.
5713
5714 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
5715
5716 *) Добавление: определение размера строки кэша распространённых
5717 процессоров при старте.
5718
5719 *) Добавление: директива accept_mutex теперь поддерживается посредством
5720 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
5721
5722 *) Добавление: директива lock_file и параметр автоконфигурации
5723 --with-lock-path=PATH.
5724
5725 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5726 не передавались запросы с телом.
5727
5728
5729 Изменения в nginx 0.3.26 03.02.2006
5730
5731 *) Изменение: директива optimize_host_names переименована в
5732 optimize_server_names.
5733
5734 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
5735 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
5736
5737
5738 Изменения в nginx 0.3.25 01.02.2006
5739
5740 *) Исправление: при неверной конфигурации на старте или во время
5741 переконфигурации происходил segmentation fault; ошибка появилась в
5742 0.3.24.
5743
5744
5745 Изменения в nginx 0.3.24 01.02.2006
5746
5747 *) Изменение: обход ошибки в kqueue во FreeBSD.
5748
5749 *) Исправление: ответ, создаваемый директивой post_action, теперь не
5750 передаётся клиенту.
5751
5752 *) Исправление: при использовании большого количества лог-файлов
5753 происходила утечка памяти.
5754
5755 *) Исправление: внутри одного location работала только первая директива
5756 proxy_redirect.
5757
5758 *) Исправление: на 64-битных платформах при старте мог произойти
5759 segmentation fault, если использовалось большое количество имён в
5760 директивах server_name; ошибка появилась в 0.3.18.
5761
5762
5763 Изменения в nginx 0.3.23 24.01.2006
5764
5765 *) Добавление: директива optimize_host_names.
5766
5767 *) Исправление: ошибки при использовании переменных в директивах path и
5768 alias.
5769
5770 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
5771 Linux и Solaris.
5772
5773
5774 Изменения в nginx 0.3.22 17.01.2006
5775
5776 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
5777 и $r->unescape.
5778
5779 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
5780 упразднён.
5781
5782 *) Исправление: если в директиве valid_referers указаны только none или
5783 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
5784
5785
5786 Изменения в nginx 0.3.21 16.01.2006
5787
5788 *) Добавление: модуль ngx_http_perl_module.
5789
5790 *) Изменение: директива valid_referers разрешает использовать рефереры
5791 совсем без URI.
5792
5793
5794 Изменения в nginx 0.3.20 11.01.2006
5795
5796 *) Исправление: ошибки в обработке SSI.
5797
5798 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
5799 виде /uri?args.
5800
5801
5802 Изменения в nginx 0.3.19 28.12.2005
5803
5804 *) Добавление: директивы path и alias поддерживают переменные.
5805
5806 *) Изменение: теперь директива valid_referers опять учитывает URI.
5807
5808 *) Исправление: ошибки в обработке SSI.
5809
5810
5811 Изменения в nginx 0.3.18 26.12.2005
5812
5813 *) Добавление: директива server_names поддерживает имена вида
5814 ".domain.tld".
5815
5816 *) Добавление: директива server_names использует хэш для имён вида
5817 "*.domain.tld" и более эффективный хэш для обычных имён.
5818
5819 *) Изменение: директивы server_names_hash_max_size и
5820 server_names_hash_bucket_size.
5821
5822 *) Изменение: директивы server_names_hash и server_names_hash_threshold
5823 упразднены.
5824
5825 *) Добавление: директива valid_referers использует хэш для имён сайтов.
5826
5827 *) Изменение: теперь директива valid_referers проверяет только имена
5828 сайтов без учёта URI.
5829
5830 *) Исправление: некоторые имена вида ".domain.tld" неверно
5831 обрабатывались модулем ngx_http_map_module.
5832
5833 *) Исправление: если конфигурационного файла не было, то происходил
5834 segmentation fault; ошибка появилась в 0.3.12.
5835
5836 *) Исправление: на 64-битных платформах при старте мог произойти
5837 segmentation fault; ошибка появилась в 0.3.16.
5838
5839
5840 Изменения в nginx 0.3.17 18.12.2005
5841
5842 *) Изменение: на Linux configure теперь проверяет наличие epoll и
5843 sendfile64() в ядре.
5844
5845 *) Добавление: директива map поддерживает доменные имена в формате
5846 ".domain.tld".
5847
5848 *) Исправление: во время SSL handshake не иcпользовались таймауты;
5849 ошибка появилась в 0.2.4.
5850
5851 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5852
5853 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5854 по умолчанию использовался порт 80.
5855
5856
5857 Изменения в nginx 0.3.16 16.12.2005
5858
5859 *) Добавление: модуль ngx_http_map_module.
5860
5861 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
5862
5863 *) Добавление: директива ssi_value_length.
5864
5865 *) Добавление: директива worker_rlimit_core.
5866
5867 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
5868 Pentium 4 номер соединения в логах всегда был равен 1.
5869
5870 *) Исправление: команда config timefmt в SSI задавала неверный формат
5871 времени.
5872
5873 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
5874 использовании SSL соединений; ошибка появилась в 0.3.13.
5875 Спасибо Rob Mueller.
5876
5877 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
5878 ошибка появилась в 0.3.13.
5879
5880
5881 Изменения в nginx 0.3.15 07.12.2005
5882
5883 *) Добавление: новой код 444 в директиве return для закрытия соединения.
5884
5885 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
5886
5887 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
5888 соединений только при планом выходе и включённой директиве
5889 debug_points.
5890
5891
5892 Изменения в nginx 0.3.14 05.12.2005
5893
5894 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
5895 в 0.3.13.
5896
5897
5898 Изменения в nginx 0.3.13 05.12.2005
5899
5900 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
5901
5902 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
5903 /dev/poll.
5904
5905 *) Исправление: ошибки в обработке SSI.
5906
5907 *) Исправление: sendfilev() в Solaris теперь не используется при
5908 передаче тела запроса FastCGI-серверу через unix domain сокет.
5909
5910 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
5911 появилась в 0.3.11.
5912
5913
5914 Изменения в nginx 0.3.12 26.11.2005
5915
5916 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
5917 то при использовании директивы "satisfy_any on" директивы доступа и
5918 аутентификации не работали. Модуль ngx_http_realip_module не
5919 собирался и не собирается по умолчанию.
5920
5921 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
5922
5923 *) Изменение: директивы proxy_header_buffer_size и
5924 fastcgi_header_buffer_size переименованы соответственно в
5925 proxy_buffer_size и fastcgi_buffer_size.
5926
5927 *) Добавление: модуль ngx_http_memcached_module.
5928
5929 *) Добавление: директива proxy_buffering.
5930
5931 *) Исправление: изменение в работе с accept mutex при использовании
5932 метода rtsig; ошибка появилась в 0.3.0.
5933
5934 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
5935 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
5936
5937 *) Исправление: при наследовании директивы auth_basic с уровня http в
5938 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
5939 "Basic realm".
5940
5941 *) Исправление: если в директиве access_log был явно указан формат
5942 combined, то в лог записывались пустые строки; ошибка появилась в
5943 0.3.8.
5944
5945 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
5946 Solaris.
5947
5948 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
5949 в кавычках и закрывающую скобку.
5950
5951
5952 Изменения в nginx 0.3.11 15.11.2005
5953
5954 *) Исправление: nginx не передавал при проксировании тело запроса и
5955 строки заголовка клиента; ошибка появилась в 0.3.10.
5956
5957
5958 Изменения в nginx 0.3.10 15.11.2005
5959
5960 *) Изменение: директива valid_referers и переменная $invalid_referer
5961 перенесены из модуля ngx_http_rewrite_module в новый модуль
5962 ngx_http_referer_module.
5963
5964 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
5965 "$body_bytes_sent".
5966
5967 *) Добавление: переменные "$sent_http_...".
5968
5969 *) Добавление: директива if поддерживает операции "=" и "!=".
5970
5971 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
5972
5973 *) Добавление: директива proxy_set_body.
5974
5975 *) Добавление: директива post_action.
5976
5977 *) Добавление: модуль ngx_http_empty_gif_module.
5978
5979 *) Добавление: директива worker_cpu_affinity для Linux.
5980
5981 *) Исправление: директива rewrite не раскодировала символы в редиректах
5982 в URI, теперь символы раскодируются, кроме символов %00-%25 и
5983 %7F-%FF.
5984
5985 *) Исправление: nginx не собирался компилятором icc 9.0.
5986
5987 *) Исправление: если для статического файла нулевого размера был
5988 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
5989
5990
5991 Изменения в nginx 0.3.9 10.11.2005
5992
5993 *) Исправление: nginx считал небезопасными URI, в которых между двумя
5994 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
5995
5996
5997 Изменения в nginx 0.3.8 09.11.2005
5998
5999 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
6000 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
6001 наличие путей "/../" и нулей.
6002
6003 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
6004 строке "Authorization" в заголовке запроса.
6005
6006 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
6007 и ngx_imap_ssl_module.
6008
6009 *) Добавление: директива auth_http_header модуля
6010 ngx_imap_auth_http_module.
6011
6012 *) Добавление: директива add_header.
6013
6014 *) Добавление: модуль ngx_http_realip_module.
6015
6016 *) Добавление: новые переменные для использования в директиве
6017 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
6018 $uri, $request_time, $request_length, $upstream_status,
6019 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
6020 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
6021 упразднены.
6022
6023 *) Изменение: в директиве "if" ложными значениями переменных теперь
6024 являются пустая строка "" и строки, начинающиеся на "0".
6025
6026 *) Исправление: при работает с проксированными или FastCGI-серверами
6027 nginx мог оставлять открытыми соединения и временные файлы с
6028 запросами клиентов.
6029
6030 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
6031 плавном выходе.
6032
6033 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
6034 запрос проксировался в location, заданном регулярным выражением, то
6035 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
6036
6037 *) Исправление: директива expires не удаляла уже установленную строку
6038 заголовка "Expires".
6039
6040 *) Исправление: при использовании метода rtsig и нескольких рабочих
6041 процессах nginx мог перестать принимать запросы.
6042
6043 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
6044 "\'".
6045
6046 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
6047 при использовании сжатия ответ передавался не до конца или не
6048 передавался вообще.
6049
6050
6051 Изменения в nginx 0.3.7 27.10.2005
6052
6053 *) Добавление: директива access_log поддерживает параметр buffer=.
6054
6055 *) Исправление: nginx не собирался на платформах, отличных от i386,
6056 amd64, sparc и ppc; ошибка появилась в 0.3.2.
6057
6058
6059 Изменения в nginx 0.3.6 24.10.2005
6060
6061 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
6062 пустой логин.
6063
6064 *) Добавление: директива log_format поддерживает переменные в виде
6065 $name.
6066
6067 *) Исправление: если хотя бы в одном сервере не было описано ни одной
6068 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
6069 0.3.3.
6070
6071 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
6072 использовался порт 80.
6073
6074
6075 Изменения в nginx 0.3.5 21.10.2005
6076
6077 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
6078 мог произойти segmentation fault; ошибка появилась в 0.2.2.
6079
6080 *) Исправление: accept mutex не работал, все соединения обрабатывались
6081 одним рабочим процессом; ошибка появилась в 0.3.3.
6082
6083 *) Исправление: при использовании метода rtsig и директивы
6084 timer_resolution не работали таймауты.
6085
6086
6087 Изменения в nginx 0.3.4 19.10.2005
6088
6089 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
6090 появилась в 0.3.3.
6091
6092
6093 Изменения в nginx 0.3.3 19.10.2005
6094
6095 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
6096 "backlog" и "accept_filter".
6097
6098 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
6099
6100 *) Изменение: параметр лога $msec теперь не требует дополнительного
6101 системного вызова gettimeofday().
6102
6103 *) Добавление: ключ -t теперь проверяет директивы listen.
6104
6105 *) Исправление: если в директиве listen был указан неверный адрес, то
6106 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
6107
6108 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
6109 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
6110
6111 *) Добавление: директива timer_resolution.
6112
6113 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
6114
6115 *) Исправление: временный файл с телом запроса клиента теперь удаляется
6116 сразу после того, как клиенту передан заголовок ответа.
6117
6118 *) Исправление: совместимость с OpenSSL 0.9.6.
6119
6120 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
6121 относительными.
6122
6123 *) Исправление: директива ssl_prefer_server_ciphers не работала для
6124 модуля ngx_imap_ssl_module.
6125
6126 *) Исправление: директива ssl_protocols позволяла задать только один
6127 протокол.
6128
6129
6130 Изменения в nginx 0.3.2 12.10.2005
6131
6132 *) Добавление: поддержка Sun Studio 10 C compiler.
6133
6134 *) Добавление: директивы proxy_upstream_max_fails,
6135 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
6136 fastcgi_upstream_fail_timeout.
6137
6138
6139 Изменения в nginx 0.3.1 10.10.2005
6140
6141 *) Исправление: во время переполнения очереди сигналов при использовании
6142 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
6143
6144 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
6145
6146
6147 Изменения в nginx 0.3.0 07.10.2005
6148
6149 *) Изменение: убрано десятидневное ограничение времени работы рабочего
6150 процесса. Ограничение было введено из-за переполнения миллисекундных
6151 таймеров.
6152
6153
6154 Изменения в nginx 0.2.6 05.10.2005
6155
6156 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
6157 бэкенду при использовании распределения нагрузки.
6158
6159 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
6160 запрос теперь передаётся, если в директиве proxy_pass отсутствует
6161 URI.
6162
6163 *) Добавление: директива error_page поддерживает редиректы и позволяет
6164 более гибко менять код ошибки.
6165
6166 *) Изменение: в проксированных подзапросах теперь игнорируется
6167 переданный charset.
6168
6169 *) Исправление: если после изменения URI в блоке if для запроса не
6170 находилась новая конфигурация, то правила модуля
6171 ngx_http_rewrite_module выполнялись снова.
6172
6173 *) Исправление: если директива set устанавливала переменную модуля
6174 ngx_http_geo_module в какой-либо части конфигурации, то эта
6175 переменная не была доступна в других частях конфигурации и выдавалась
6176 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
6177
6178
6179 Изменения в nginx 0.2.5 04.10.2005
6180
6181 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
6182 теперь выдаёт предупреждение и изменяет старое значение.
6183
6184 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
6185
6186 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
6187 команде include.
6188
6189 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
6190 значений переменных в выражениях команды if.
6191
6192
6193 Изменения в nginx 0.2.4 03.10.2005
6194
6195 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
6196 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
6197 if.
6198
6199 *) Исправление: ошибки при проксировании location без слэша в конце;
6200 ошибка появилась в 0.1.44.
6201
6202 *) Исправление: при использовании метода rtsig мог произойти
6203 segmentation fault; ошибка появилась в 0.2.0.
6204
6205
6206 Изменения в nginx 0.2.3 30.09.2005
6207
6208 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
6209 появилась в 0.2.2.
6210
6211
6212 Изменения в nginx 0.2.2 30.09.2005
6213
6214 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
6215
6216 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
6217 директивой set.
6218
6219 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
6220 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
6221
6222 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6223 длинных имён файлов;
6224
6225 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
6226 файлы, начинающиеся на точку.
6227
6228 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
6229 привести также к закрытию другого соединения.
6230 Спасибо Rob Mueller.
6231
6232 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
6233 HTTPS.
6234
6235
6236 Изменения в nginx 0.2.1 23.09.2005
6237
6238 *) Исправление: если все бэкенды, используемые для балансировки
6239 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
6240 nginx мог зациклится; ошибка появилась в 0.2.0.
6241
6242
6243 Изменения в nginx 0.2.0 23.09.2005
6244
6245 *) Изменились имена pid-файлов, используемые во время обновления
6246 исполняемого файла. Ручное переименование теперь не нужно. Старый
6247 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
6248 запускает новый исполняемый файл. Новый основной процесс создаёт
6249 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
6250 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
6251 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
6252 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
6253 0.2.0 - используют pid-файл без суффиксов.
6254
6255 *) Изменение: директива worker_connections, новое название директивы
6256 connections; директива теперь задаёт максимальное число соединений, а
6257 не максимально возможный номер дескриптора для сокета.
6258
6259 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
6260 рабочего процесса.
6261
6262 *) Добавление: директива satisfy_any.
6263
6264 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
6265 не работают для подзапросов.
6266
6267 *) Добавление: директивы worker_rlimit_nofile и
6268 worker_rlimit_sigpending.
6269
6270 *) Исправление: если все бэкенды, используемые для балансировки
6271 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
6272 nginx не обращался к ним в течение 60 секунд.
6273
6274 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
6275 Спасибо Rob Mueller.
6276
6277 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
6278
6279 *) Исправление: ошибки при использовании SSI и сжатия.
6280
6281 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
6282 "Expires" и "Cache-Control".
6283 Спасибо Александру Кукушкину.
6284
6285
6286 Изменения в nginx 0.1.45 08.09.2005
6287
6288 *) Изменение: директива ssl_engine упразднена в модуле
6289 ngx_http_ssl_module и перенесена на глобальный уровень.
6290
6291 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
6292 передавались через SSL соединение.
6293
6294 *) Разные исправления в IMAP/POP3 прокси.
6295
6296
6297 Изменения в nginx 0.1.44 06.09.2005
6298
6299 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
6300
6301 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
6302
6303 *) Добавление: директива userid_mark.
6304
6305 *) Добавление: значение переменной $remote_user определяется независимо
6306 от того, используется ли авторизация или нет.
6307
6308
6309 Изменения в nginx 0.1.43 30.08.2005
6310
6311 *) Добавление: listen(2) backlog в директиве listen можно менять по
6312 сигналу -HUP.
6313
6314 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
6315
6316 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
6317 серверу.
6318
6319 *) Исправление: если в ответе проксированного сервера или FastCGI
6320 сервера была строка "Cache-Control", то при использовании директивы
6321 expires происходил segmentation fault или рабочий процесс мог
6322 зациклится; в режиме прокси ошибка появилась в 0.1.29.
6323
6324
6325 Изменения в nginx 0.1.42 23.08.2005
6326
6327 *) Исправление: если URI запроса получался нулевой длины после обработки
6328 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
6329 происходил segmentation fault или bus error.
6330
6331 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
6332 появилась в 0.1.38.
6333
6334
6335 Изменения в nginx 0.1.41 25.07.2005
6336
6337 *) Исправление: если переменная использовалась в файле конфигурации, то
6338 она не могла использоваться в SSI.
6339
6340
6341 Изменения в nginx 0.1.40 22.07.2005
6342
6343 *) Исправление: если клиент слал очень длинную строку заголовка, то в
6344 логе не помещалась информация, связанная с этим запросом.
6345
6346 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
6347 строка "Set-Cookie"; ошибка появилась в 0.1.39.
6348
6349 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
6350 строка "Content-Disposition".
6351
6352 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
6353 на которых он слушал.
6354
6355 *) Исправление: после обновления исполняемого файла на лету на Linux и
6356 Solaris название процесса в команде ps становилось короче.
6357
6358
6359 Изменения в nginx 0.1.39 14.07.2005
6360
6361 *) Изменения в модуле ngx_http_charset_module: директива default_charset
6362 упразднена; директива charset задаёт кодировку ответа; директива
6363 source_charset задаёт только исходную кодировку.
6364
6365 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
6366 не передавалась строка заголовка "WWW-Authenticate".
6367
6368 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
6369 могли закрыть соединение до того, как что-нибудь было передано
6370 клиенту; ошибка появилась в 0.1.38.
6371
6372 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
6373
6374 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
6375 URI в команде include virtual.
6376
6377 *) Исправление: если в строке заголовка ответа бэкенда была строка
6378 "Location", которую nginx не должен был изменять, то в ответе
6379 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
6380
6381 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
6382 ngx_http_fastcgi_module не наследовались с уровня server на уровень
6383 location; ошибка появилась в 0.1.29.
6384
6385 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
6386 сертификатов.
6387
6388 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6389 длинных имён файлов; ошибка появилась в 0.1.38.
6390
6391 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
6392 стадии login.
6393
6394
6395 Изменения в nginx 0.1.38 08.07.2005
6396
6397 *) Добавление: директива limit_rate поддерживается в режиме прокси и
6398 FastCGI.
6399
6400 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6401 "X-Accel-Limit-Rate" в ответе бэкенда.
6402
6403 *) Добавление: директива break.
6404
6405 *) Добавление: директива log_not_found.
6406
6407 *) Исправление: при перенаправлении запроса с помощью строки заголовка
6408 "X-Accel-Redirect" не изменялся код ответа.
6409
6410 *) Исправление: переменные, установленные директивой set не могли
6411 использоваться в SSI.
6412
6413 *) Исправление: при включении в SSI более одного удалённого подзапроса
6414 мог произойти segmentation fault.
6415
6416 *) Исправление: если статусная строка в ответе бэкенда передавалась в
6417 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
6418 0.1.29.
6419
6420 *) Добавление: директива ssi_types.
6421
6422 *) Добавление: директива autoindex_exact_size.
6423
6424 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
6425 имена файлов в UTF-8.
6426
6427 *) Добавление: IMAP/POP3 прокси.
6428
6429
6430 Изменения в nginx 0.1.37 23.06.2005
6431
6432 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
6433
6434 *) Исправление: при включении большого количества вставок или нескольких
6435 больших вставок с помощью SSI ответ мог передаваться не полностью.
6436
6437 *) Исправление: если все бэкенды возвращали ответ 404, то при
6438 использовании параметра http_404 в директивах proxy_next_upstream или
6439 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
6440
6441
6442 Изменения в nginx 0.1.36 15.06.2005
6443
6444 *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
6445 "Connection", "Content-Length" и "Authorization", то nginx теперь
6446 выдаёт ошибку 400.
6447
6448 *) Изменение: директива post_accept_timeout упразднена.
6449
6450 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
6451 listen.
6452
6453 *) Добавление: поддержка accept фильтров во FreeBSD.
6454
6455 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
6456
6457 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
6458 файлов в UTF-8.
6459
6460 *) Исправление: после добавления новый лог-файл ротация этого лога по
6461 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
6462 раза по сигналу -HUP.
6463
6464
6465 Изменения в nginx 0.1.35 07.06.2005
6466
6467 *) Добавление: директива working_directory.
6468
6469 *) Добавление: директива port_in_redirect.
6470
6471 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
6472 то происходил segmentation fault; ошибка появилась в 0.1.29.
6473
6474 *) Исправление: если было сконфигурировано более 10 серверов или в
6475 сервере не описана директива "listen", то при запуске мог произойти
6476 segmentation fault.
6477
6478 *) Исправление: если ответ не помещался во временный файл, то мог
6479 произойти segmentation fault.
6480
6481 *) Исправление: nginx возвращал ошибку 400 на запросы вида
6482 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
6483
6484
6485 Изменения в nginx 0.1.34 26.05.2005
6486
6487 *) Исправление: при включении больших ответов с помощью SSI рабочий
6488 процесс мог зациклиться.
6489
6490 *) Исправление: переменные, устанавливаемые директивой "set", не были
6491 доступны в SSI.
6492
6493 *) Добавление: директива autoindex_localtime.
6494
6495 *) Исправление: пустое значение в директиве proxy_set_header запрещает
6496 передачу заголовка.
6497
6498
6499 Изменения в nginx 0.1.33 23.05.2005
6500
6501 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
6502 появилась в 0.1.29.
6503
6504 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
6505 вызывали bus fault при запуске.
6506
6507 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
6508 HTTP.
6509
6510 *) Исправление: если директива rewrite использовала выделения внутри
6511 директивы if, то возвращалась ошибка 500.
6512
6513
6514 Изменения в nginx 0.1.32 19.05.2005
6515
6516 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
6517 передавались аргументы; ошибка появилась в 0.1.29.
6518
6519 *) Добавление: директива if поддерживает выделения в регулярных
6520 выражениях.
6521
6522 *) Добавление: директива set поддерживает переменные и выделения из
6523 регулярных выражений.
6524
6525 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6526 "X-Accel-Redirect" в ответе бэкенда.
6527
6528
6529 Изменения в nginx 0.1.31 16.05.2005
6530
6531 *) Исправление: при использовании SSL ответ мог передаваться не до
6532 конца.
6533
6534 *) Исправление: ошибки при обработке SSI в ответе, полученного от
6535 FastCGI-сервера.
6536
6537 *) Исправление: ошибки при использовании SSI и сжатия.
6538
6539 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
6540 появилась в 0.1.30.
6541
6542
6543 Изменения в nginx 0.1.30 14.05.2005
6544
6545 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
6546
6547 *) Исправление: при использовании SSL ответ мог передаваться не до
6548 конца.
6549
6550 *) Исправление: если длина части ответа, полученного за один раз от
6551 проксируемого или FastCGI сервера была равна 500 байт, то nginx
6552 возвращал код ответа 500; в режиме прокси ошибка появилась только в
6553 0.1.29.
6554
6555 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
6556 параметрами.
6557
6558 *) Добавление: директива return может возвращать код ответа 204.
6559
6560 *) Добавление: директива ignore_invalid_headers.
6561
6562
6563 Изменения в nginx 0.1.29 12.05.2005
6564
6565 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
6566 virtual.
6567
6568 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
6569 вида 'if expr="$NAME"' и команды else и endif. Допускается только
6570 один уровень вложенности.
6571
6572 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
6573 DATE_LOCAL и DATE_GMT и команду config timefmt.
6574
6575 *) Добавление: директива ssi_ignore_recycled_buffers.
6576
6577 *) Исправление: если переменная QUERY_STRING не была определена, то в
6578 команде echo не ставилось значение по умолчанию.
6579
6580 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
6581
6582 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
6583 proxy_pass_request_body и proxy_method.
6584
6585 *) Добавление: директива proxy_set_header. Директива proxy_x_var
6586 упразднена и должна быть заменена директивой proxy_set_header.
6587
6588 *) Изменение: директива proxy_preserve_host упразднена и должна быть
6589 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
6590 off" или директивой "proxy_set_header Host $host:$proxy_port" и
6591 соответствующими ей директивами proxy_redirect.
6592
6593 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
6594 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
6595
6596 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
6597 быть заменена директивой
6598 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
6599
6600 *) Изменение: директива proxy_set_x_url упразднена и должна быть
6601 заменена директивой
6602 "proxy_set_header X-URL http://$host:$server_port$request_uri".
6603
6604 *) Добавление: директива fastcgi_param.
6605
6606 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
6607 упразднены и должны быть замены директивами fastcgi_param.
6608
6609 *) Добавление: директива index может использовать переменные.
6610
6611 *) Добавление: директива index может быть указана на уровне http и
6612 server.
6613
6614 *) Изменение: только последний параметр в директиве index может быть
6615 абсолютным.
6616
6617 *) Добавление: в директиве rewrite могут использоваться переменные.
6618
6619 *) Добавление: директива internal.
6620
6621 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
6622 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
6623 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
6624
6625 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
6626 клиента и ответа бэкенда.
6627
6628 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
6629 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
6630
6631 *) Исправление: если бэкенд передавал неверную строку в заголовке
6632 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
6633
6634 *) Исправление: при использовании отказоустойчивой конфигурации в
6635 FastCGI мог происходить segmentation fault.
6636
6637 *) Исправление: директива expires не удаляла уже установленные строки
6638 заголовка "Expires" и "Cache-Control".
6639
6640 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
6641 запроса "Host".
6642
6643 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
6644
6645 *) Исправление: директива rewrite неверно работала, если в запросе
6646 присутствовали аргументы.
6647
6648 *) Исправление: nginx не собирался на MacOS X.
6649
6650
6651 Изменения в nginx 0.1.28 08.04.2005
6652
6653 *) Исправление: при проксировании больших файлов nginx сильно нагружал
6654 процессор.
6655
6656 *) Исправление: nginx не собирался gcc 4.0 на Linux.
6657
6658
6659 Изменения в nginx 0.1.27 28.03.2005
6660
6661 *) Добавление: параметр blocked в директиве valid_referers.
6662
6663 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
6664 уровне info, в лог также записывается имя сервера и строки заголовка
6665 запроса "Host" и "Referer".
6666
6667 *) Изменение: при записи ошибок в лог записывается также строка
6668 заголовка запроса "Host".
6669
6670 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
6671 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
6672
6673 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
6674 параметр конфигурации --without-ngx_http_auth_basic_module.
6675
6676
6677 Изменения в nginx 0.1.26 22.03.2005
6678
6679 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
6680 игнорируется и записываются в error_log на уровне info.
6681
6682 *) Изменение: при записи ошибок в лог записывается также имя сервера,
6683 при обращении к которому произошла ошибка.
6684
6685 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
6686 и auth_basic_user_file.
6687
6688
6689 Изменения в nginx 0.1.25 19.03.2005
6690
6691 *) Исправление: nginx не работал на Linux parisc.
6692
6693 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
6694 sysctl kern.ipc.somaxconn слишком большое.
6695
6696 *) Исправление: если модуль ngx_http_index_module делал внутреннее
6697 перенаправление запроса в модули ngx_http_proxy_module или
6698 ngx_http_fastcgi_module, то файл индекса не закрывался после
6699 обслуживания запроса.
6700
6701 *) Добавление: директива proxy_pass может использоваться в location,
6702 заданных регулярным выражением.
6703
6704 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
6705 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
6706
6707 *) Исправление: nginx очень медленно запускался при большом количестве
6708 адресов и использовании текстовых значений в директиве geo.
6709
6710 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
6711 Прежний вариант без "$" пока работает, но вскоре будет убран.
6712
6713 *) Добавление: параметр лога "%{VARIABLE}v".
6714
6715 *) Добавление: директива "set $name value".
6716
6717 *) Исправление: совместимость с gcc 4.0.
6718
6719 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
6720
6721
6722 Изменения в nginx 0.1.24 04.03.2005
6723
6724 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
6725 QUERY_STRING и DOCUMENT_URI.
6726
6727 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
6728 на существующий каталог, если этот каталог был указан как alias.
6729
6730 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
6731 при больших ответах.
6732
6733 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
6734 правильным referrer'ом.
6735
6736
6737 Изменения в nginx 0.1.23 01.03.2005
6738
6739 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
6740 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
6741 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
6742
6743 *) Добавление: параметр лога %request_time.
6744
6745 *) Добавление: если запрос пришёл без строки заголовка "Host", то
6746 директива proxy_preserve_host устанавливает в качестве этого
6747 заголовка первое имя сервера из директивы server_name.
6748
6749 *) Исправление: nginx не собирался на платформах, отличных от i386,
6750 amd64, sparc и ppc; ошибка появилась в 0.1.22.
6751
6752 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
6753 информацию не о символическом линке, а о файле или каталоге, на
6754 который он указывает.
6755
6756 *) Исправление: если клиенту ничего не передавалось, то параметр
6757 %apache_length записывал в лог отрицательную длину заголовка ответа.
6758
6759
6760 Изменения в nginx 0.1.22 22.02.2005
6761
6762 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
6763 статистику для обработанных соединений, если использовалось
6764 проксирование или FastCGI-сервер.
6765
6766 *) Исправление: на Linux и Solaris установочные пути были неверно
6767 заключены в кавычки; ошибка появилась в 0.1.21.
6768
6769
6770 Изменения в nginx 0.1.21 22.02.2005
6771
6772 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
6773 статистику при использовании метода rtsig или при использовании
6774 нескольких рабочих процессов на SMP машине.
6775
6776 *) Исправление: nginx не собирался компилятором icc под Линуксом или
6777 если библиотека zlib-1.2.x собиралась из исходных текстов.
6778
6779 *) Исправление: nginx не собирался под NetBSD 2.0.
6780
6781
6782 Изменения в nginx 0.1.20 17.02.2005
6783
6784 *) Добавление: новые параметры script_filename и remote_port в директиве
6785 fastcgi_params.
6786
6787 *) Исправление: неправильно обрабатывался поток stderr от
6788 FastCGI-сервера.
6789
6790
6791 Изменения в nginx 0.1.19 16.02.2005
6792
6793 *) Исправление: если в запросе есть нуль, то для локальных запросов
6794 теперь возвращается ошибка 404.
6795
6796 *) Исправление: nginx не собирался под NetBSD 2.0.
6797
6798 *) Исправление: во время чтения тела запроса клиента в SSL соединении
6799 мог произойти таймаут.
6800
6801
6802 Изменения в nginx 0.1.18 09.02.2005
6803
6804 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
6805 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
6806
6807 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
6808 наследовались.
6809
6810 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
6811 присоединялись к URI через символ "&" вместо "?".
6812
6813 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
6814 включённом файле игнорировались.
6815
6816 *) Добавление: модуль ngx_http_stub_status_module.
6817
6818 *) Исправление: неизвестный формат лог-файла в директиве access_log
6819 вызывал segmentation fault.
6820
6821 *) Добавление: новый параметр document_root в директиве fastcgi_params.
6822
6823 *) Добавление: директива fastcgi_redirect_errors.
6824
6825 *) Добавление: новый модификатор break в директиве rewrite позволяет
6826 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
6827 для запроса.
6828
6829
6830 Изменения в nginx 0.1.17 03.02.2005
6831
6832 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
6833 можно делать редиректы, возвращать коды ошибок и проверять переменные
6834 и рефереры. Эти директивы можно использовать внутри location.
6835 Директива redirect упразднена.
6836
6837 *) Добавление: модуль ngx_http_geo_module.
6838
6839 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
6840
6841 *) Исправление: конфигурация location с модификатором "=" могла
6842 использоваться в другом location.
6843
6844 *) Исправление: правильный тип ответа выставлялся только для запросов, у
6845 которых в расширении были только маленькие буквы.
6846
6847 *) Исправление: если для location установлен proxy_pass или
6848 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
6849 на статическую страницу, то происходил segmentation fault.
6850
6851 *) Исправление: если в проксированном ответе в заголовке "Location"
6852 передавался относительный URL, то к нему добавлялось имя хоста и
6853 слэш; ошибка появилась в 0.1.14.
6854
6855 *) Исправление: на Linux в лог не записывался текст системной ошибки.
6856
6857
6858 Изменения в nginx 0.1.16 25.01.2005
6859
6860 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
6861 выдавался завершающий chunk.
6862
6863 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
6864 директива keepalive_timeout запрещала использование keep-alive.
6865
6866 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
6867 segmentation fault.
6868
6869 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
6870 до конца.
6871
6872 *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
6873 для TCP сокетов, не используются для unix domain сокетов.
6874
6875 *) Добавление: директива rewrite поддерживает перезаписывание
6876 аргументов.
6877
6878 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
6879 возвращался ответ 400; ошибка появилась в 0.1.14.
6880
6881
6882 Изменения в nginx 0.1.15 19.01.2005
6883
6884 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
6885 segmentation fault.
6886
6887 *) Исправление: корректная обработка регулярного выражения, в котором
6888 число выделенных частей не совпадает с числом подстановок.
6889
6890 *) Добавление: location, который передаётся FastCGI-серверу, может быть
6891 задан с помощью регулярного выражения.
6892
6893 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
6894 аргументами и в том виде, в котором был получен от клиента.
6895
6896 *) Исправление: для использования регулярных выражений в location нужно
6897 было собирать nginx вместе с ngx_http_rewrite_module.
6898
6899 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
6900 директивы "proxy_preserve_host on" в заголовке "Host" указывался
6901 также порт 80; ошибка появилась в 0.1.14.
6902
6903 *) Исправление: если задать одинаковые пути в параметрах
6904 автоконфигурации --http-client-body-temp-path=PATH и
6905 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
6906 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
6907
6908
6909 Изменения в nginx 0.1.14 18.01.2005
6910
6911 *) Добавление: параметры автоконфигурации
6912 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
6913 --http-fastcgi-temp-path=PATH
6914
6915 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
6916 клиента, задаётся директивой client_body_temp_path, по умолчанию
6917 <prefix>/client_body_temp.
6918
6919 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
6920 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
6921 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
6922 fastcgi_header_buffer_size, fastcgi_buffers,
6923 fastcgi_busy_buffers_size, fastcgi_temp_path,
6924 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
6925 fastcgi_next_upstream и fastcgi_x_powered_by.
6926
6927 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
6928 0.1.3.
6929
6930 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
6931 после имени хоста.
6932
6933 *) Изменение: если в URI встречался символ %3F, то он считался началом
6934 строки аргументов.
6935
6936 *) Добавление: поддержка unix domain сокетов в модуле
6937 ngx_http_proxy_module.
6938
6939 *) Добавление: директивы ssl_engine и ssl_ciphers.
6940 Спасибо Сергею Скворцову за SSL-акселератор.
6941
6942
6943 Изменения в nginx 0.1.13 21.12.2004
6944
6945 *) Добавление: директивы server_names_hash и
6946 server_names_hash_threshold.
6947
6948 *) Исправление: имена *.domain.tld в директиве server_name не работали.
6949
6950 *) Исправление: параметр лога %request_length записывал неверную длину.
6951
6952
6953 Изменения в nginx 0.1.12 06.12.2004
6954
6955 *) Добавление: параметр лога %request_length.
6956
6957 *) Исправление: при использовании /dev/poll, select и poll на
6958 платформах, где возможны ложные срабатывания указанных методов, могли
6959 быть длительные задержки при обработке запроса по keep-alive
6960 соединению. Наблюдалось по крайней мере на Solaris с использованием
6961 /dev/poll.
6962
6963 *) Исправление: директива send_lowat игнорируется на Linux, так как
6964 Linux не поддерживает опцию SO_SNDLOWAT.
6965
6966
6967 Изменения в nginx 0.1.11 02.12.2004
6968
6969 *) Добавление: директива worker_priority.
6970
6971 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
6972 влияют на передачу ответа.
6973
6974 *) Исправление: nginx не вызывал initgroups().
6975 Спасибо Андрею Ситникову и Андрею Нигматулину.
6976
6977 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
6978 байтах.
6979
6980 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
6981 каталоге есть битый symlink.
6982
6983 *) Исправление: файлы больше 4G не передавались с использованием
6984 sendfile.
6985
6986 *) Исправление: если бэкенд резолвился в несколько адресов и при
6987 ожидании от него ответа происходила ошибка, то процесс зацикливался.
6988
6989 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
6990 завершиться с сообщением "unknown cycle".
6991
6992 *) Исправление: ошибки "close() channel failed".
6993
6994 *) Исправление: автоматическое определение групп nobody и nogroup.
6995
6996 *) Исправление: директива send_lowat не работала на Linux.
6997
6998 *) Исправление: если в конфигурации не было раздела events, то
6999 происходил segmentation fault.
7000
7001 *) Исправление: nginx не собирался под OpenBSD.
7002
7003 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
7004
7005
7006 Изменения в nginx 0.1.10 26.11.2004
7007
7008 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
7009 или "%XX", то терялся последний символ в строке запроса; ошибка
7010 появилась в 0.1.9.
7011
7012 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
7013 не работало.
7014
7015
7016 Изменения в nginx 0.1.9 25.11.2004
7017
7018 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
7019 проксируемый запрос передавался без аргументов.
7020
7021 *) Исправление: при сжатии больших ответов иногда они передавались не
7022 полностью.
7023
7024 *) Исправление: не передавались файлы больше 2G на Linux,
7025 неподдерживающем sendfile64().
7026
7027 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
7028 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
7029
7030
7031 Изменения в nginx 0.1.8 20.11.2004
7032
7033 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
7034 длинных имён файлов.
7035
7036 *) Добавление: модификатор "^~" в директиве location.
7037
7038 *) Добавление: директива proxy_max_temp_file_size.
7039
7040
7041 Изменения в nginx 0.1.7 12.11.2004
7042
7043 *) Исправление: при использовании sendfile, если передаваемый файл
7044 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
7045 появилась в 0.1.5.
7046
7047
7048 Изменения в nginx 0.1.6 11.11.2004
7049
7050 *) Исправление: при некоторых комбинациях директив location c
7051 регулярными выражениями использовалась конфигурация не из того
7052 location.
7053
7054
7055 Изменения в nginx 0.1.5 11.11.2004
7056
7057 *) Исправление: на Solaris и Linux могло быть очень много сообщений
7058 "recvmsg() returned not enough data".
7059
7060 *) Исправление: в режиме прокси без использования sendfile на Solaris
7061 возникала ошибка "writev() failed (22: Invalid argument)". На других
7062 платформах, не поддерживающих sendfile, процесс зацикливался.
7063
7064 *) Исправление: при использовании sendfile в режиме прокси на Solaris
7065 возникал segmentation fault.
7066
7067 *) Исправление: segmentation fault на Solaris.
7068
7069 *) Исправление: обновление исполняемого файла на лету не работало на
7070 Linux.
7071
7072 *) Исправление: в списке файлов, выдаваемом модулем
7073 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
7074 знаки процента.
7075
7076 *) Изменение: уменьшение операций копирования.
7077
7078 *) Добавление: директива userid_p3p.
7079
7080
7081 Изменения в nginx 0.1.4 26.10.2004
7082
7083 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
7084
7085
7086 Изменения в nginx 0.1.3 25.10.2004
7087
7088 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
7089
7090 *) Добавление: директива proxy_set_x_url.
7091
7092 *) Исправление: модуль проксировании мог привести к зацикливанию, если
7093 не использовался sendfile.
7094
7095
7096 Изменения в nginx 0.1.2 21.10.2004
7097
7098 *) Добавление: параметры --user=USER, --group=GROUP и
7099 --with-ld-opt=OPTIONS в configure.
7100
7101 *) Добавление: директива server_name поддерживает *.domain.tld.
7102
7103 *) Исправление: улучшена переносимость на неизвестные платформы.
7104
7105 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
7106 файл указан в командной строке; ошибка появилась в 0.1.1.
7107
7108 *) Исправление: модуль проксировании мог привести к зацикливанию, если
7109 не использовался sendfile.
7110
7111 *) Исправление: при использовании sendfile текст ответа не
7112 перекодировался согласно директивам модуля charset; ошибка появилась
7113 в 0.1.1.
7114
7115 *) Исправление: очень редкая ошибка при обработке kqueue.
7116
7117 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
7118 проксировании.
7119
7120
7121 Изменения в nginx 0.1.1 11.10.2004
7122
7123 *) Добавление: директива gzip_types.
7124
7125 *) Добавление: директива tcp_nodelay.
7126
7127 *) Добавление: директива send_lowat работает не только на платформах,
7128 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
7129 SO_SNDLOWAT.
7130
7131 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
7132
7133 *) Исправление: ошибка при переписывании заголовка "Location" при
7134 проксировании.
7135
7136 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
7137 зацикливанию.
7138
7139 *) Исправление: ошибки в модуле /dev/poll.
7140
7141 *) Исправление: при проксировании и использовании временных файлов
7142 ответы портились.
7143
7144 *) Исправление: бэкенду передавались запросы с неперекодированными
7145 символами.
7146
7147 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
7148 обязательно использовать параметр --with-poll_module.
7149
7150
7151 Изменения в nginx 0.1.0 04.10.2004
7152
7153 *) Первая публично доступная версия.
7154