comparison text/ru/CHANGES.ru @ 0:61e04fc01027

Initial import of the nginx.org website.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 11 Aug 2011 12:19:13 +0000
parents
children 621e499d1fea
comparison
equal deleted inserted replaced
-1:000000000000 0:61e04fc01027
1
2 Изменения в nginx 1.1.0 01.08.2011
3
4 *) Добавление: уменьшение времени работы загрузчика кэша.
5
6 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
7 директив proxy/fastcgi/scgi/uwsgi_cache_path.
8
9 *) Добавление: уменьшение времени загрузки конфигураций с большим
10 количеством HTTPS серверов.
11
12 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
13 Спасибо Adrian Kotelba.
14
15 *) Добавление: директива lingering_close.
16 Спасибо Максиму Дунину.
17
18 *) Исправление: закрытия соединения для pipelined-запросов.
19 Спасибо Максиму Дунину.
20
21 *) Исправление: nginx не запрещал сжатие при получении значения
22 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
23
24 *) Исправление: таймаута при небуферизированном проксировании.
25 Спасибо Максиму Дунину.
26
27 *) Исправление: утечки памяти при использовании переменных в директиве
28 proxy_pass при работе с бэкендом по HTTPS.
29 Спасибо Максиму Дунину.
30
31 *) Исправление: в проверке параметра директивы proxy_pass, заданного
32 переменными.
33 Спасибо Lanshun Zhou.
34
35 *) Исправление: SSL не работал на QNX.
36 Спасибо Максиму Дунину.
37
38 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
39 --with-debug.
40
41
42 Изменения в nginx 1.0.5 19.07.2011
43
44 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
45 "HIGH:!aNULL:!MD5".
46 Спасибо Rob Stradling.
47
48 *) Добавление: директивы referer_hash_max_size и
49 referer_hash_bucket_size.
50 Спасибо Witold Filipczyk.
51
52 *) Добавление: переменная $uid_reset.
53
54 *) Исправление: при использовании кэширования в рабочем процессе мог
55 произойти segmentation fault.
56 Спасибо Lanshun Zhou.
57
58 *) Исправление: при использовании кэширования рабочие процессы могли
59 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
60 Спасибо Максиму Дунину.
61
62 *) Исправление: сообщения "stalled cache updating".
63 Спасибо Максиму Дунину.
64
65
66 Изменения в nginx 1.0.4 01.06.2011
67
68 *) Изменение: теперь в регулярных выражениях в директиве map можно
69 задать чувствительность к регистру с помощью префиксов "~" и "~*".
70
71 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
72 на Linux.
73 Спасибо Денису Латыпову.
74
75 *) Исправление: сообщения "stalled cache updating".
76
77 *) Исправление: nginx не собирался с параметром
78 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
79
80
81 Изменения в nginx 1.0.3 25.05.2011
82
83 *) Добавление: директива auth_basic_user_file поддерживает шифрование
84 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
85 Спасибо Максиму Дунину.
86
87 *) Добавление: директива geoip_org и переменная $geoip_org.
88 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
89
90 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
91 поддерживают адреса IPv4, отображённые на IPv6 адреса.
92
93 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6,
94 в рабочем процессе происходил segmentation fault, если директивы
95 access или deny были определены только для адресов IPv6; ошибка
96 появилась в 0.8.22.
97
98 *) Исправление: закэшированный ответ мог быть испорчен, если значения
99 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
100 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
101
102
103 Изменения в nginx 1.0.2 10.05.2011
104
105 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
106
107 *) Исправление: в работе параметра rotate директивы image_filter.
108 Спасибо Adam Bocim.
109
110 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
111
112
113 Изменения в nginx 1.0.1 03.05.2011
114
115 *) Изменение: теперь директива split_clients использует алгоритм
116 MurmurHash2 из-за лучшего распределения.
117 Спасибо Олегу Мамонтову.
118
119 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
120 ложными значениями.
121 Спасибо Максиму Дунину.
122
123 *) Изменение: теперь по умолчанию nginx использует значение 511 для
124 listen backlog на Linux.
125
126 *) Добавление: переменные $upstream_... можно использовать в SSI и
127 перловом модулях.
128
129 *) Исправление: теперь nginx лучше ограничивает размер кэша на
130 диске.
131 Спасибо Олегу Мамонтову.
132
133 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
134 segmentation fault; ошибка появилась в 0.8.22.
135 Спасибо Максиму Дунину.
136
137 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
138
139 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
140 появилась в 0.9.3.
141 Спасибо Dagobert Michelsen.
142
143 *) Исправление: переменная $request_time имела неверные значения, если
144 использовались подзапросы; ошибка появилась в 0.8.47.
145 Спасибо Игорю А. Валькову.
146
147
148 Изменения в nginx 1.0.0 12.04.2011
149
150 *) Исправление: cache manager мог нагружать процессор после
151 переконфигурации.
152 Спасибо Максиму Дунину.
153
154 *) Исправление: директива "image_filter crop" неправильно работала в
155 сочетании с "image_filter rotate 180".
156
157 *) Исправление: директива "satisfy any" запрещала выдачу
158 пользовательской страницы для 401 кода.
159
160
161 Изменения в nginx 0.9.7 04.04.2011
162
163 *) Добавление: теперь соединения в состоянии keepalive могут быть
164 закрыты преждевременно, если у воркера нет свободных соединений.
165 Спасибо Максиму Дунину.
166
167 *) Добавление: параметр rotate директивы image_filter.
168 Спасибо Adam Bocim.
169
170 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
171 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
172 upstream.
173
174
175 Изменения в nginx 0.9.6 21.03.2011
176
177 *) Добавление: директива map поддерживает регулярные выражения в
178 качестве значения первого параметра.
179
180 *) Добавление: переменная $time_iso8601 для access_log.
181 Спасибо Michael Lustfield.
182
183
184 Изменения в nginx 0.9.5 21.02.2011
185
186 *) Изменение: теперь по умолчанию nginx использует значение -1 для
187 listen backlog на Linux.
188 Спасибо Андрею Нигматулину.
189
190 *) Добавление: параметр utf8 в директивах geoip_country и
191 geoip_city.
192 Спасибо Денису Латыпову.
193
194 *) Исправление: исправление в умолчательной директиве proxy_redirect,
195 если в директиве proxy_pass не был описан URI.
196 Спасибо Максиму Дунину.
197
198 *) Исправление: директива error_page не работала с нестандартными
199 кодами ошибок; ошибка появилась в 0.8.53.
200 Спасибо Максиму Дунину.
201
202
203 Изменения в nginx 0.9.4 21.01.2011
204
205 *) Добавление: директива server_name поддерживает переменную $hostname.
206
207 *) Добавление: 494 код для ошибки "Request Header Too Large".
208
209
210 Изменения в nginx 0.9.3 13.12.2010
211
212 *) Исправление: если для пары IPv6-адрес:порт описан только один
213 сервер, то выделения в регулярных выражениях в директиве server_name
214 не работали.
215
216 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
217 0.9.0.
218
219
220 Изменения в nginx 0.9.2 06.12.2010
221
222 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
223 запросе клиента.
224
225 *) Изменение: использование accept(), если accept4() не реализован;
226 ошибка появилась в 0.9.0.
227
228 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
229
230 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
231 Спасибо Максиму Дунину.
232
233
234 Изменения в nginx 0.9.1 30.11.2010
235
236 *) Исправление: директивы вида "return CODE message" не работали;
237 ошибка появилась в 0.9.0.
238
239
240 Изменения в nginx 0.9.0 29.11.2010
241
242 *) Добавление: директива keepalive_disable.
243
244 *) Добавление: директива map поддерживает переменные в качестве
245 значения определяемой переменной.
246
247 *) Добавление: директива map поддерживает пустые строки в качестве
248 значения первого параметра.
249
250 *) Добавление: директива map поддерживает выражения в первом параметре.
251
252 *) Добавление: страница руководства nginx(8).
253 Спасибо Сергею Осокину.
254
255 *) Добавление: поддержка accept4() в Linux.
256 Спасибо Simon Liu.
257
258 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
259 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
260
261 *) Исправление: при использовании директивы auth_basic в рабочем
262 процессе мог произойти segmentation fault.
263 Спасибо Михаилу Лалетину.
264
265 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
266 появилась в 0.8.42.
267
268
269 Изменения в nginx 0.8.53 18.10.2010
270
271 *) Добавление: теперь директива error_page позволяет менять код статуса
272 у редиректа.
273
274 *) Добавление: директива gzip_disable поддерживает специальную маску
275 degradation.
276
277 *) Исправление: при использовании файлового AIO могла происходить
278 утечка сокетов.
279 Спасибо Максиму Дунину.
280
281 *) Исправление: если в первом сервере не была описана директива listen
282 и нигде явно не описан сервер по умолчанию, то сервером по умолчанию
283 становился следующий сервер с директивой listen; ошибка появилась в
284 0.8.21.
285
286
287 Изменения в nginx 0.8.52 28.09.2010
288
289 *) Исправление: nginx использовал режим SSL для listen сокета, если для
290 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
291
292
293 Изменения в nginx 0.8.51 27.09.2010
294
295 *) Изменение: директива secure_link_expires упразднена.
296
297 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
298 alert на error.
299
300 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
301 несколько раз.
302
303
304 Изменения в nginx 0.8.50 02.09.2010
305
306 *) Добавление: директивы secure_link, secure_link_md5 и
307 secure_link_expires модуля ngx_http_secure_link_module.
308
309 *) Добавление: ключ -q.
310 Спасибо Геннадию Махомеду.
311
312 *) Исправление: при использовании кэширования рабочие процессы и могли
313 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
314
315 *) Исправление: в директиве gzip_disable.
316 Спасибо Derrick Petzold.
317
318 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
319 reopen, reload процессу, запущенному в другой сессии.
320
321
322 Изменения в nginx 0.8.49 09.08.2010
323
324 *) Добавление: директива image_filter_jpeg_quality поддерживает
325 переменные.
326
327 *) Исправление: при использовании переменной $geoip_region_name в
328 рабочем процессе мог произойти segmentation fault; ошибка появилась
329 в 0.8.48.
330
331 *) Исправление: ошибки, перехваченные error_page, кэшировались только
332 до следующего запроса; ошибка появилась в 0.8.48.
333
334
335 Изменения в nginx 0.8.48 03.08.2010
336
337 *) Изменение: теперь по умолчанию директива server_name имеет значение
338 пустое имя "".
339 Спасибо Геннадию Махомеду.
340
341 *) Изменение: теперь по умолчанию директива server_name_in_redirect
342 имеет значение off.
343
344 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
345 $geoip_region_name.
346 Спасибо Christine McGonagle.
347
348 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
349 scgi_pass не наследовались в блоки limit_except.
350
351 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
352 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
353 появилась в 0.8.46.
354
355 *) Исправление: директива fastcgi_split_path_info неверно использовала
356 выделения, если в выделения попадала только часть URI.
357 Спасибо Юрию Тарадаю и Frank Enderle.
358
359 *) Исправление: директива rewrite не экранировала символ ";" при
360 копировании из URI в аргументы.
361 Спасибо Daisuke Murase.
362
363 *) Исправление: модуль ngx_http_image_filter_module закрывал
364 соединение, если изображение было больше размера image_filter_buffer.
365
366
367 Изменения в nginx 0.8.47 28.07.2010
368
369 *) Исправление: переменная $request_time имела неверные значения для
370 подзапросов.
371
372 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
373
374 *) Исправление: если использовался параметр max_size, то cache manager
375 мог зациклиться; ошибка появилась в 0.8.46.
376
377
378 Изменения в nginx 0.8.46 19.07.2010
379
380 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache,
381 uwsgi_no_cache и scgi_no_cache теперь влияют только на сохранение
382 закэшированного ответа.
383
384 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
385 uwsgi_cache_bypass и scgi_cache_bypass.
386
387 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
388 ошибки работы с бэкендом: память освобождалась только по истечении
389 времени неактивности или при недостатке памяти.
390
391
392 Изменения в nginx 0.8.45 13.07.2010
393
394 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
395 Спасибо Laurence Rowe.
396
397 *) Исправление: ответ SSI модуля мог передаваться не полностью после
398 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
399 Спасибо Максиму Дунину.
400
401 *) Исправление: директива listen не поддерживала параметр setfib=0.
402
403
404 Изменения в nginx 0.8.44 05.07.2010
405
406 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
407 заголовке которых есть строка "Set-Cookie".
408
409 *) Добавление: директива listen поддерживает параметр setfib.
410 Спасибо Андрею Филонову.
411
412 *) Исправление: директива sub_filter могла изменять регистр букв при
413 частичном совпадении.
414
415 *) Исправление: совместимость с HP/UX.
416
417 *) Исправление: совместимость с компилятором AIX xlC_r.
418
419 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
420 запросы.
421 Спасибо Miroslaw Jaworski.
422
423
424 Изменения в nginx 0.8.43 30.06.2010
425
426 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
427
428 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
429 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
430 0.8.42.
431
432 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
433 переконфигурации.
434 Спасибо Максиму Дунину.
435
436 *) Исправление: переменную $uid_set можно использовать на любой стадии
437 обработки запроса.
438
439
440 Изменения в nginx 0.8.42 21.06.2010
441
442 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
443 выражениями, если запрос полностью совпал с location'ом, заданным
444 строкой префикса. Предыдущее поведение появилось в 0.7.1.
445
446 *) Добавление: модуль ngx_http_scgi_module.
447 Спасибо Manlio Perillo.
448
449 *) Добавление: в директиве return можно добавлять текст ответа.
450
451
452 Изменения в nginx 0.8.41 15.06.2010
453
454 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
455 при запросе файла с неверной кодировкой UTF-8.
456
457 *) Изменение: теперь nginx разрешает использовать пробелы в строке
458 запроса.
459
460 *) Исправление: директива proxy_redirect неправильно изменяла строку
461 "Refresh" в заголовке ответа бэкенда.
462 Спасибо Андрею Андрееву и Максиму Согину.
463
464 *) Исправление: nginx не поддерживал путь без имени хоста в строке
465 "Destination" в заголовке запроса.
466
467
468 Изменения в nginx 0.8.40 07.06.2010
469
470 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
471 умолчанию.
472 Спасибо Jose Antonio Vazquez Gonzalez.
473
474 *) Добавление: модуль ngx_http_uwsgi_module.
475 Спасибо Roberto De Ioris.
476
477 *) Добавление: директива fastcgi_param со значением, начинающимся со
478 строки "HTTP_", изменяет строку заголовка в запросе клиента.
479
480 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
481 заголовке запроса клиента передавались FastCGI-серверу при
482 кэшировании.
483
484 *) Исправление: listen unix domain сокет нельзя было изменить во время
485 переконфигурации.
486 Спасибо Максиму Дунину.
487
488
489 Изменения в nginx 0.8.39 31.05.2010
490
491 *) Исправление: наследуемая директива alias неправильно работала во
492 вложенном location'е.
493
494 *) Исправление: в комбинации директив alias с переменными и try_files;
495
496 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
497 время обновления без перерыва.
498 Спасибо Максиму Дунину.
499
500
501 Изменения в nginx 0.8.38 24.05.2010
502
503 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
504
505 *) Добавление: теперь при использовании переменной $scheme в директиве
506 rewrite автоматически делается редирект.
507 Спасибо Piotr Sikora.
508
509 *) Исправление: теперь задержки в директиве limit_req соответствует
510 описанному алгоритму.
511 Спасибо Максиму Дунину.
512
513 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
514 перловом модулях.
515
516
517 Изменения в nginx 0.8.37 17.05.2010
518
519 *) Добавление: модуль ngx_http_split_clients_module.
520
521 *) Добавление: директива map поддерживает ключи больше 255 символов.
522
523 *) Исправление: nginx игнорировал значения "private" и "no-store" в
524 строке "Cache-Control" в заголовке ответа бэкенда.
525
526 *) Исправление: параметр stub в SSI-директиве include не использовался,
527 если пустой ответ имел код 200.
528
529 *) Исправление: если проксированный или FastCGI запрос внутренне
530 перенаправлялся в другой проксированный или FastCGI location, то в
531 рабочем процессе мог произойти segmentation fault; ошибка появилась
532 в 0.8.33.
533 Спасибо Yichun Zhang.
534
535 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
536 таймаута.
537 Спасибо Alan Batie.
538
539
540 Изменения в nginx 0.8.36 22.04.2010
541
542 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
543 методы DELETE, COPY и MOVE для симлинков.
544
545 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
546 основном запросе значения переменных $query_string, $arg_... и им
547 подобных.
548
549 *) Исправление: значение переменной повторно экранировалось после
550 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
551
552 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
553 Спасибо Vicente Aguilar и Максиму Дунину.
554
555 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
556 Спасибо Максиму Дунину.
557
558 *) Исправление: nginx не собирался с параметром --without-http-cache;
559 ошибка появилась в 0.8.35.
560
561
562 Изменения в nginx 0.8.35 01.04.2010
563
564 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
565
566 *) Добавление: директива chunked_transfer_encoding.
567
568 *) Исправление: символ "&" при копировании в аргументы в правилах
569 rewrite не экранировался.
570
571 *) Исправление: nginx мог завершаться аварийно во время обработки
572 сигнала или при использовании директивы timer_resolution на
573 платформах, не поддерживающих методы kqueue или eventport.
574 Спасибо George Xie и Максиму Дунину.
575
576 *) Исправление: если временные файлы и постоянное место хранения
577 располагались на разных файловых системах, то у постоянных файлов
578 время изменения было неверным.
579 Спасибо Максиму Дунину.
580
581 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
582 "memcached sent invalid trailer".
583 Спасибо Максиму Дунину.
584
585 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
586 текстов.
587 Спасибо Максиму Дунину.
588
589 *) Исправление: в рабочем процессе происходил segmentation fault, если
590 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
591 появилась в 0.8.34.
592 Спасибо Максиму Дунину.
593
594
595 Изменения в nginx 0.8.34 03.03.2010
596
597 *) Исправление: nginx не поддерживал все шифры, используемые в
598 клиентских сертификатах.
599 Спасибо Иннокентию Еникееву.
600
601 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
602 ответом было много вывода в stderr.
603
604 *) Исправление: nginx не поддерживал HTTPS-рефереры.
605
606 *) Исправление: nginx/Windows мог не находить файлы, если путь в
607 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
608
609 *) Исправление: переменная $date_local выдавала неверное время, если
610 использовался формат "%s".
611 Спасибо Максиму Дунину.
612
613 *) Исправление: если ssl_session_cache не был установлен или установлен
614 в none, то при проверке клиентского сертификаты могла происходить
615 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
616
617 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
618 диапазон включал в себя одну и более сетей размером /16 и не
619 начинался на границе сети размером /16.
620
621 *) Исправление: блок, используемый в параметре stub в SSI-директиве
622 include, выводился с MIME-типом "text/plain".
623
624 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
625
626
627 Изменения в nginx 0.8.33 01.02.2010
628
629 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
630 Спасибо Dan Crowley, Core Security Technologies.
631
632 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
633 Спасибо Dan Crowley, Core Security Technologies.
634
635 *) Изменение: теперь keepalive соединения после запросов POST не
636 запрещаются для MSIE 7.0+.
637 Спасибо Adam Lounds.
638
639 *) Изменение: теперь keepalive соединения запрещены для Safari.
640 Спасибо Joshua Sierles.
641
642 *) Исправление: если проксированный или FastCGI запрос внутренне
643 перенаправлялся в другой проксированный или FastCGI location, то
644 переменная $upstream_response_time могла иметь ненормально большое
645 значение; ошибка появилась в 0.8.7.
646
647 *) Исправление: в рабочем процессе мог произойти segmentation fault при
648 отбрасывания тела запроса; ошибка появилась в 0.8.11.
649
650
651 Изменения в nginx 0.8.32 11.01.2010
652
653 *) Исправление: ошибки при использовании кодировки UTF-8 в
654 ngx_http_autoindex_module.
655 Спасибо Максиму Дунину.
656
657 *) Исправление: именованные выделения в регулярных выражениях работали
658 только для двух переменных.
659 Спасибо Максиму Дунину.
660
661 *) Исправление: теперь в строке заголовка запроса "Host" используется
662 имя "localhost", если в директиве auth_http указан unix domain
663 сокет.
664 Спасибо Максиму Дунину.
665
666 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
667 ответов.
668 Спасибо Julian Reich.
669
670 *) Исправление: если директива "expires modified" выставляла дату в
671 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
672 отрицательное число.
673 Спасибо Алексею Капранову.
674
675
676 Изменения в nginx 0.8.31 23.12.2009
677
678 *) Добавление: теперь директива error_page может перенаправлять ответы
679 со статусом 301 и 302.
680
681 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
682 $geoip_longitude.
683 Спасибо Arvind Sundararajan.
684
685 *) Добавление: модуль ngx_http_image_filter_module теперь всегда
686 удаляет EXIF и другие данные, если они занимают больше 5% в
687 JPEG-файле.
688
689 *) Исправление: nginx закрывал соединение при запросе закэшированного
690 ответа с пустым телом.
691 Спасибо Piotr Sikora.
692
693 *) Исправление: nginx мог не собираться gcc 4.x при использовании
694 оптимизации -O2 и выше.
695 Спасибо Максиму Дунину и Денису Латыпову.
696
697 *) Исправление: регулярные выражения в location всегда тестировались с
698 учётом регистра; ошибка появилась в 0.8.25.
699
700 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
701 проксируемого запроса была строка "If-None-Match".
702 Спасибо Tim Dettrick и David Kostal.
703
704 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
705 перезаписи уже существующего файла.
706
707
708 Изменения в nginx 0.8.30 15.12.2009
709
710 *) Изменение: теперь по умолчанию размер буфера директивы
711 large_client_header_buffers равен 8K.
712 Спасибо Andrew Cholakian.
713
714 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
715
716 *) Исправление: nginx/Windows пытался дважды переименовать временный
717 файл при перезаписи уже существующего файла.
718
719 *) Исправление: ошибки double free or corruption, возникающей, если имя
720 хоста не было найдено; ошибка появилась в 0.8.22.
721 Спасибо Константину Свисту.
722
723 *) Исправление: в использовании libatomic на некоторых платформах.
724 Спасибо W-Mark Kubacki.
725
726
727 Изменения в nginx 0.8.29 30.11.2009
728
729 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется
730 код ответа "009".
731
732 *) Добавление: директивы addition_types, charset_types, gzip_types,
733 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
734
735 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
736 Спасибо W-Mark Kubacki.
737
738 *) Добавление: параметр --with-libatomic[=DIR] в configure.
739 Спасибо W-Mark Kubacki.
740
741 *) Исправление: listen unix domain сокет имели ограниченные права
742 доступа.
743
744 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
745 обрабатывались.
746
747 *) Исправление: именованные выделения в регулярных выражениях, заданные
748 как "?P<...>", не работали в директиве server_name.
749 Спасибо Максиму Дунину.
750
751
752 Изменения в nginx 0.8.28 23.11.2009
753
754 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
755 появилась в 0.8.25.
756
757
758 Изменения в nginx 0.8.27 17.11.2009
759
760 *) Исправление: регулярные выражения не работали в nginx/Windows;
761 ошибка появилась в 0.8.25.
762
763
764 Изменения в nginx 0.8.26 16.11.2009
765
766 *) Исправление: ошибки при использовании выделений в директиве rewrite;
767 ошибка появилась в 0.8.25.
768
769 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
770 появилась в 0.8.25.
771
772
773 Изменения в nginx 0.8.25 16.11.2009
774
775 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
776 не найдена с помощью метода $r->variable().
777
778 *) Добавление: модуль ngx_http_degradation_module.
779
780 *) Добавление: именованные выделения в регулярных выражениях.
781
782 *) Добавление: теперь при использовании переменных в директиве
783 proxy_pass не требуется задавать URI.
784
785 *) Добавление: теперь директива msie_padding работает и для Chrome.
786
787 *) Исправление: в рабочем процессе происходил segmentation fault при
788 недостатке памяти; ошибка появилась в 0.8.18.
789
790 *) Исправление: nginx передавал сжатые ответы клиентам, не
791 поддерживающим сжатие, при настройках gzip_static on и gzip_vary
792 off; ошибка появилась в 0.8.16.
793
794
795 Изменения в nginx 0.8.24 11.11.2009
796
797 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
798 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
799
800 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
801 появилась в 0.8.23.
802
803 *) Исправление: параметр "unix:" в директиве set_real_ip_from
804 неправильно наследовался с предыдущего уровня.
805
806 *) Исправление: в resolver'е при определении пустого имени.
807
808
809 Изменения в nginx 0.8.23 11.11.2009
810
811 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
812 Спасибо Максиму Дунину.
813
814 *) Исправление: listen unix domain сокет не наследовался во время
815 обновления без перерыва.
816
817 *) Исправление: параметр "unix:" в директиве set_real_ip_from не
818 работал без ещё одной директивы с любым IP-адресом.
819
820 *) Исправление: segmentation fault и зацикливания в resolver'е.
821
822 *) Исправление: в resolver'е.
823 Спасибо Артёму Бохану.
824
825
826 Изменения в nginx 0.8.22 03.11.2009
827
828 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
829
830 *) Добавление: директивы access и deny поддерживают IPv6.
831
832 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
833 заголовках запроса.
834
835 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
836
837 *) Исправление: nginx не удалял unix domain сокет после тестирования
838 конфигурации.
839
840 *) Исправление: nginx удалял unix domain сокет во время обновления без
841 перерыва.
842
843 *) Исправление: оператор "!-x" не работал.
844 Спасибо Максиму Дунину.
845
846 *) Исправление: в рабочем процессе мог произойти segmentation fault при
847 использовании limit_rate в HTTPS сервере.
848 Спасибо Максиму Дунину.
849
850 *) Исправление: при записи в лог переменной $limit_rate в рабочем
851 процессе происходил segmentation fault.
852 Спасибо Максиму Дунину.
853
854 *) Исправление: в рабочем процессе мог произойти segmentation fault,
855 если внутри блока server не было директивы listen; ошибка появилась
856 в 0.8.21.
857
858
859 Изменения в nginx 0.8.21 26.10.2009
860
861 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
862
863 *) Добавление: директива listen модуля HTTP поддерживает unix domain
864 сокеты.
865 Спасибо Hongli Lai.
866
867 *) Добавление: параметр "default_server" в директиве listen.
868
869 *) Добавление: теперь параметр "default" не обязателен для установки
870 параметров listen-сокета.
871
872 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
873 платформах;
874
875 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
876
877
878 Изменения в nginx 0.8.20 14.10.2009
879
880 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
881 "HIGH:!ADH:!MD5".
882
883 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
884 слэш для линков на каталоги; ошибка появилась в 0.7.15.
885
886 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
887 --error-log-path; ошибка появилась в 0.7.53.
888
889 *) Исправление: nginx не считал запятую разделителем в строке
890 "Cache-Control" в заголовке ответа бэкенда.
891
892 *) Исправление: nginx/Windows мог не создать временный файл, файл в
893 кэше или файл с помощью директив proxy/fastcgi_store, если рабочий
894 процесс не имел достаточно прав для работы с каталогами верхнего
895 уровня.
896
897 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
898 FastCGI-сервера не скрывались при кэшировании, если не
899 использовались директивы fastcgi_hide_header с любыми параметрами.
900
901 *) Исправление: nginx неверно считал размер кэша на диске.
902
903
904 Изменения в nginx 0.8.19 06.10.2009
905
906 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
907
908 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
909 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
910
911 *) Исправление: директива limit_req не работала; ошибка появилась в
912 0.8.18.
913
914
915 Изменения в nginx 0.8.18 06.10.2009
916
917 *) Добавление: директива read_ahead.
918
919 *) Добавление: теперь можно использовать несколько директив
920 perl_modules.
921
922 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
923
924 *) Исправление: теперь директива limit_req соответствует алгоритму
925 leaky bucket.
926 Спасибо Максиму Дунину.
927
928 *) Исправление: nginx не работал на Linux/sparc.
929 Спасибо Marcus Ramberg.
930
931 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке
932 в ответе на запрос MKCOL.
933 Спасибо Xie Zhenye.
934
935 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
936 появилась в 0.8.11.
937
938 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
939
940
941 Изменения в nginx 0.8.17 28.09.2009
942
943 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
944 в заголовке запроса.
945
946 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
947
948 *) Добавление: переменная $ssl_session_id.
949
950 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
951
952
953 Изменения в nginx 0.8.16 22.09.2009
954
955 *) Добавление: директива image_filter_transparency.
956
957 *) Исправление: директива "addition_types" была неверно названа
958 "addtion_types".
959
960 *) Исправление: порчи кэша resolver'а.
961 Спасибо Matthew Dempsky.
962
963 *) Исправление: утечки памяти в resolver'е.
964 Спасибо Matthew Dempsky.
965
966 *) Исправление: неверная строка запроса в переменной $request
967 записывалась в access_log только при использовании error_log на
968 уровне info или debug.
969
970 *) Исправление: в поддержке альфа-канала PNG в модуле
971 ngx_http_image_filter_module.
972
973 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
974 заголовок ответа, если обе директивы gzip_static и gzip_vary были
975 включены.
976
977 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
978 nginx/Windows.
979
980 *) Исправление: ошибки при использовании post_action; ошибка появилась
981 в 0.8.11.
982 Спасибо Игорю Артемьеву.
983
984
985 Изменения в nginx 0.8.15 14.09.2009
986
987 *) Безопасность: при обработке специально созданного запроса в рабочем
988 процессе мог произойти segmentation fault.
989 Спасибо Chris Ries.
990
991 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
992 .domain-some.tld, то имя .sub.domain.tld попадало под маску
993 .domain.tld.
994
995 *) Исправление: в поддержке прозрачности в модуле
996 ngx_http_image_filter_module.
997
998 *) Исправление: в файловом AIO.
999
1000 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
1001 появилась в 0.8.11.
1002
1003 *) Исправление: ошибки при использовании встроенного перла; ошибка
1004 появилась в 0.8.11.
1005
1006
1007 Изменения в nginx 0.8.14 07.09.2009
1008
1009 *) Исправление: устаревший закэшированный запрос мог залипнуть в
1010 состоянии "UPDATING".
1011
1012 *) Исправление: при использовании error_log на уровне info или debug в
1013 рабочем процессе мог произойти segmentation fault.
1014 Спасибо Сергею Боченкову.
1015
1016 *) Исправление: ошибки при использовании встроенного перла; ошибка
1017 появилась в 0.8.11.
1018
1019 *) Исправление: директива error_page не перенаправляла ошибку 413;
1020 ошибка появилась в 0.6.10.
1021
1022
1023 Изменения в nginx 0.8.13 31.08.2009
1024
1025 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
1026
1027 *) Исправление: nginx не собирался без параметра --with-file-aio на
1028 FreeBSD; ошибка появилась в 0.8.12.
1029
1030
1031 Изменения в nginx 0.8.12 31.08.2009
1032
1033 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
1034
1035 *) Исправление: ошибки при использовании try_files; ошибка появилась в
1036 0.8.11.
1037
1038 *) Исправление: ошибки при использовании memcached; ошибка появилась в
1039 0.8.11.
1040
1041
1042 Изменения в nginx 0.8.11 28.08.2009
1043
1044 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
1045 для MSIE 6.0 SV1.
1046
1047 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
1048
1049 *) Добавление: директива directio_alignment.
1050
1051
1052 Изменения в nginx 0.8.10 24.08.2009
1053
1054 *) Исправление: утечек памяти при использовании базы GeoIP City.
1055
1056 *) Исправление: ошибки при копировании временных файлов в постоянное
1057 место хранения; ошибка появилась в 0.8.9.
1058
1059
1060 Изменения в nginx 0.8.9 17.08.2009
1061
1062 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
1063 процесс; это должно улучшить обработку больших кэшей.
1064
1065 *) Добавление: теперь временные файлы и постоянное место хранения могут
1066 располагаться на разных файловых системах.
1067
1068
1069 Изменения в nginx 0.8.8 10.08.2009
1070
1071 *) Исправление: в обработке заголовков ответа, разделённых в
1072 FastCGI-записях.
1073
1074 *) Исправление: если запрос обрабатывался в двух проксированных или
1075 FastCGI location'ах и в первом из них использовалось кэширование, то
1076 в рабочем процессе происходил segmentation fault; ошибка появилась в
1077 0.8.7.
1078
1079
1080 Изменения в nginx 0.8.7 27.07.2009
1081
1082 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
1083
1084 *) Изменение: параметр ask директивы ssl_verify_client изменён на
1085 параметр optional и теперь он проверяет клиентский сертификат, если
1086 он был предложен.
1087 Спасибо Brice Figureau.
1088
1089 *) Добавление: переменная $ssl_client_verify.
1090 Спасибо Brice Figureau.
1091
1092 *) Добавление: директива ssl_crl.
1093 Спасибо Brice Figureau.
1094
1095 *) Добавление: параметр proxy директивы geo.
1096
1097 *) Добавление: директива image_filter поддерживает переменные для
1098 задания размеров.
1099
1100 *) Исправление: использование переменной $ssl_client_cert портило
1101 память; ошибка появилась в 0.7.7.
1102 Спасибо Сергею Журавлёву.
1103
1104 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
1105 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
1106 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа
1107 бэкенда.
1108 Спасибо Максиму Дунину.
1109
1110 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
1111 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
1112 Спасибо Максиму Дунину.
1113
1114 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
1115 ответы в подзапросах; ошибка появилась в 0.8.5.
1116
1117
1118 Изменения в nginx 0.8.6 20.07.2009
1119
1120 *) Добавление: модуль ngx_http_geoip_module.
1121
1122 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
1123 document" для правильного документа.
1124 Спасибо Kuramoto Eiji.
1125
1126 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
1127 location'ов, заданных регулярным выражением, теперь всегда делается
1128 сравнение без учёта регистра символов.
1129
1130 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
1131 Спасибо Hugo Leisink.
1132
1133 *) Исправление: имя файла указанного в --conf-path игнорировалось при
1134 установке; ошибка появилась в 0.6.6.
1135 Спасибо Максиму Дунину.
1136
1137
1138 Изменения в nginx 0.8.5 13.07.2009
1139
1140 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
1141
1142 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
1143 для неверных имени/пароля возвращалась 500-ая ошибка.
1144
1145 *) Исправление: ответы модуля ngx_http_perl_module не работали в
1146 подзапросах.
1147
1148 *) Исправление: в модуле ngx_http_limit_req_module.
1149 Спасибо Максиму Дунину.
1150
1151
1152 Изменения в nginx 0.8.4 22.06.2009
1153
1154 *) Исправление: nginx не собирался с параметром --without-http-cache;
1155 ошибка появилась в 0.8.3.
1156
1157
1158 Изменения в nginx 0.8.3 19.06.2009
1159
1160 *) Добавление: переменная $upstream_cache_status.
1161
1162 *) Исправление: nginx не собирался на MacOSX 10.6.
1163
1164 *) Исправление: nginx не собирался с параметром --without-http-cache;
1165 ошибка появилась в 0.8.2.
1166
1167 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
1168 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
1169 в рабочем процессе происходил segmentation fault.
1170 Спасибо Евгению Мычло.
1171
1172
1173 Изменения в nginx 0.8.2 15.06.2009
1174
1175 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
1176 на старте.
1177
1178 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
1179 долго; ошибка появилась в 0.7.4.
1180
1181
1182 Изменения в nginx 0.8.1 08.06.2009
1183
1184 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
1185 fastcgi_cache_use_stale.
1186
1187 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1188 заголовке запроса клиента передавались бэкенду при кэшировании, если
1189 не использовалась директива proxy_set_header с любыми параметрами.
1190
1191 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
1192 не скрывались при кэшировании, если не использовались директивы
1193 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
1194
1195 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
1196 GIF87a.
1197 Спасибо Денису Ильиных.
1198
1199 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
1200 появилась в 0.7.56.
1201
1202
1203 Изменения в nginx 0.8.0 02.06.2009
1204
1205 *) Добавление: директива keepalive_requests.
1206
1207 *) Добавление: директива limit_rate_after.
1208 Спасибо Ivan Debnar.
1209
1210 *) Исправление: XSLT-фильтр не работал в подзапросах.
1211
1212 *) Исправление: обработке относительных путей в nginx/Windows.
1213
1214 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
1215 fastcgi_cache в nginx/Windows.
1216
1217 *) Исправление: в обработке ошибок выделения памяти.
1218 Спасибо Максиму Дунину и Кириллу Коринскому.
1219
1220
1221 Изменения в nginx 0.7.59 25.05.2009
1222
1223 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
1224
1225 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
1226 Спасибо Максиму Дунину.
1227
1228 *) Исправление: при использовании переменной $request_body в рабочем
1229 процессе происходил segmentation fault, если в запросе не было тела;
1230 ошибка появилась в 0.7.58.
1231
1232 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
1233 ошибка появилась в 0.7.56.
1234
1235 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
1236 обрабатывались SSI-, charset- и gzip-фильтрами.
1237
1238 *) Исправление: директива charset не ставила кодировку для ответов
1239 модуля ngx_http_gzip_static_module.
1240
1241
1242 Изменения в nginx 0.7.58 18.05.2009
1243
1244 *) Добавление: директива listen почтового прокси-сервера поддерживает
1245 IPv6.
1246
1247 *) Добавление: директива image_filter_jpeg_quality.
1248
1249 *) Добавление: директива client_body_in_single_buffer.
1250
1251 *) Добавление: переменная $request_body.
1252
1253 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
1254 файлов, содержащих символ ":".
1255
1256 *) Исправление: процедура "make upgrade" не работала; ошибка появилась
1257 в 0.7.53.
1258 Спасибо Денису Латыпову.
1259
1260
1261 Изменения в nginx 0.7.57 12.05.2009
1262
1263 *) Исправление: при перенаправлении ошибок модуля
1264 ngx_http_image_filter_module в именованный location в рабочем
1265 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1266
1267
1268 Изменения в nginx 0.7.56 11.05.2009
1269
1270 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen
1271 модуля HTTP.
1272
1273 *) Исправление: в модуле ngx_http_image_filter_module.
1274
1275
1276 Изменения в nginx 0.7.55 06.05.2009
1277
1278 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1279 fastcgi_cache_use_stale не работали.
1280
1281 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1282 заголовка.
1283
1284 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1285 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1286
1287 *) Исправление: при использовании директивы debug_connection в рабочем
1288 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1289
1290 *) Исправление: в сборке модуля ngx_http_image_filter_module.
1291
1292 *) Исправление: файлы больше 2G не передавались с использованием
1293 $r->sendfile.
1294 Спасибо Максиму Дунину.
1295
1296
1297 Изменения в nginx 0.7.54 01.05.2009
1298
1299 *) Добавление: модуль ngx_http_image_filter_module.
1300
1301 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1302
1303 *) Исправление: при использовании переменных "open_file_cache_errors
1304 on" в рабочем процессе мог произойти segmentation fault; ошибка
1305 появилась в 0.7.53.
1306
1307 *) Исправление: директива "port_in_redirect off" не работала; ошибка
1308 появилась в 0.7.39.
1309
1310 *) Исправление: улучшение обработки ошибок метода select.
1311
1312 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
1313
1314 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
1315 ошибка появилась в 0.7.53.
1316
1317
1318 Изменения в nginx 0.7.53 27.04.2009
1319
1320 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
1321 самого начала работы.
1322
1323 *) Добавление: теперь ошибки и предупреждения при старте записываются в
1324 error_log и выводятся на stderr.
1325
1326 *) Добавление: при сборке с пустым параметром --prefix= nginx
1327 использует как префикс каталог, в котором он был запущен.
1328
1329 *) Добавление: ключ -p.
1330
1331 *) Добавление: ключ -s на Unix-платформах.
1332
1333 *) Добавление: ключи -? и -h.
1334 Спасибо Jerome Loyet.
1335
1336 *) Добавление: теперь ключи можно задавать в сжатой форме.
1337
1338 *) Исправление: nginx/Windows не работал, если файл конфигурации был
1339 задан ключом -c.
1340
1341 *) Исправление: при использовании директив proxy_store, fastcgi_store,
1342 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
1343 Спасибо Максиму Дунину.
1344
1345 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
1346 почтового прокси-сервера передавалось неверное значение; ошибка
1347 появилась в 0.7.34.
1348 Спасибо Simon Lecaille.
1349
1350 *) Исправление: при логгировании на Linux не писались текстовые
1351 описания системных ошибок; ошибка появилась в 0.7.45.
1352
1353 *) Исправление: директива fastcgi_cache_min_uses не работала.
1354 Спасибо Андрею Воробьёву.
1355
1356
1357 Изменения в nginx 0.7.52 20.04.2009
1358
1359 *) Добавление: первая бинарная версия под Windows.
1360
1361 *) Исправление: корректная обработка метода HEAD при кэшировании.
1362
1363 *) Исправление: корректная обработка строк "If-Modified-Since",
1364 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
1365
1366 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
1367 заголовке ответа для закэшированных ответов.
1368
1369 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
1370 perl поддерживал потоки, то при выходе основного процесса могла
1371 выдаваться ошибка "panic: MUTEX_LOCK".
1372
1373 *) Исправление: nginx не собирался с параметром --without-http-cache;
1374 ошибка появилась в 0.7.48.
1375
1376 *) Исправление: nginx не собирался на платформах, отличных от i386,
1377 amd64, sparc и ppc; ошибка появилась в 0.7.42.
1378
1379
1380 Изменения в nginx 0.7.51 12.04.2009
1381
1382 *) Добавление: директива try_files поддерживает код ответа в последнем
1383 параметре.
1384
1385 *) Добавление: теперь в директиве return можно использовать любой код
1386 ответа.
1387
1388 *) Исправление: директива error_page делала внешний редирект без строки
1389 запроса; ошибка появилась в 0.7.44.
1390
1391 *) Исправление: если сервера слушали на нескольких явно описанных
1392 адресах, то виртуальные сервера могли не работать; ошибка появилась
1393 в 0.7.39.
1394
1395
1396 Изменения в nginx 0.7.50 06.04.2009
1397
1398 *) Исправление: переменные $arg_... не работали; ошибка появилась в
1399 0.7.49.
1400
1401
1402 Изменения в nginx 0.7.49 06.04.2009
1403
1404 *) Исправление: при использовании переменных $arg_... в рабочем
1405 процессе мог произойти segmentation fault; ошибка появилась в 0.7.48.
1406
1407
1408 Изменения в nginx 0.7.48 06.04.2009
1409
1410 *) Добавление: директива proxy_cache_key.
1411
1412 *) Исправление: теперь nginx учитывает при кэшировании строки
1413 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
1414 бэкенда.
1415
1416 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
1417
1418 *) Исправление: директива fastcgi_cache_key не наследовалась.
1419
1420 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
1421 Спасибо Максиму Дунину.
1422
1423 *) Исправление: nginx не собирался с библиотекой uclibc.
1424 Спасибо Timothy Redaelli.
1425
1426 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
1427 в 0.7.46.
1428
1429
1430 Изменения в nginx 0.7.47 01.04.2009
1431
1432 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
1433 ошибка появилась в 0.7.46.
1434
1435 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
1436
1437 *) Исправление: если использовался параметр max_size, то cache manager
1438 мог удалить весь кэш; ошибка появилась в 0.7.46.
1439
1440 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
1441 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
1442 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
1443 в 0.7.46.
1444
1445 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1446 перенаправлении запроса проксированному или FastCGI-серверу с
1447 помощью error_page или try_files; ошибка появилась в 0.7.44.
1448
1449
1450 Изменения в nginx 0.7.46 30.03.2009
1451
1452 *) Исправление: архив предыдущего релиза был неверным.
1453
1454
1455 Изменения в nginx 0.7.45 30.03.2009
1456
1457 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
1458 задавать на разных уровнях.
1459
1460 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
1461
1462 *) Добавление: параметр max_size в директиве proxy_cache_path.
1463
1464 *) Добавление: предварительная поддержка кэширования в модуле
1465 ngx_http_fastcgi_module.
1466
1467 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
1468 указываются названия директивы и зоны.
1469
1470 *) Исправление: директива "add_header last-modified ''" не удаляла в
1471 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
1472
1473 *) Исправление: в директиве auth_basic_user_file не работал
1474 относительный путь, заданный строкой без переменных; ошибка
1475 появилась в 0.7.44.
1476 Спасибо Jerome Loyet.
1477
1478 *) Исправление: в директиве alias, заданной переменными без ссылок на
1479 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
1480
1481
1482 Изменения в nginx 0.7.44 23.03.2009
1483
1484 *) Добавление: предварительная поддержка кэширования в модуле
1485 ngx_http_proxy_module.
1486
1487 *) Добавление: параметр --with-pcre в configure.
1488
1489 *) Добавление: теперь директива try_files может быть использована на
1490 уровне server.
1491
1492 *) Исправление: директива try_files неправильно обрабатывала строку
1493 запроса в последнем параметре.
1494
1495 *) Исправление: директива try_files могла неверно тестировать каталоги.
1496
1497 *) Исправление: если для пары адрес:порт описан только один сервер, то
1498 выделения в регулярных выражениях в директиве server_name не
1499 работали.
1500
1501
1502 Изменения в nginx 0.7.43 18.03.2009
1503
1504 *) Исправление: запрос обрабатывался неверно, если директива root
1505 использовала переменные; ошибка появилась в 0.7.42.
1506
1507 *) Исправление: если сервер слушал на адресах типа "*", то значение
1508 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
1509
1510
1511 Изменения в nginx 0.7.42 16.03.2009
1512
1513 *) Изменение: ошибка "Invalid argument", возвращаемая
1514 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
1515
1516 *) Изменение: при отсутствии файла, указанного в директиве
1517 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
1518
1519 *) Добавление: директива auth_basic_user_file поддерживает переменные.
1520 Спасибо Кириллу Коринскому.
1521
1522 *) Добавление: директива listen поддерживает параметр ipv6only.
1523 Спасибо Zhang Hua.
1524
1525 *) Исправление: в директиве alias со ссылками на выделения в регулярных
1526 выражениях; ошибка появилась в 0.7.40.
1527
1528 *) Исправление: совместимость с Tru64 UNIX.
1529 Спасибо Dustin Marquess.
1530
1531 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
1532 появилась в 0.7.41.
1533
1534
1535 Изменения в nginx 0.7.41 11.03.2009
1536
1537 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1538 если в server_name или location были выделения в регулярных
1539 выражениях; ошибка появилась в 0.7.40.
1540 Спасибо Владимиру Сопоту.
1541
1542
1543 Изменения в nginx 0.7.40 09.03.2009
1544
1545 *) Добавление: директива location поддерживает выделения в регулярных
1546 выражениях.
1547
1548 *) Добавление: директиву alias с ссылками на выделения в регулярных
1549 выражениях можно использовать внутри location'а, заданного
1550 регулярным выражением с выделениями.
1551
1552 *) Добавление: директива server_name поддерживает выделения в
1553 регулярных выражениях.
1554
1555 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
1556 слэш для каталогов на файловой системе XFS; ошибка появилась в
1557 0.7.15.
1558 Спасибо Дмитрию Кузьменко.
1559
1560
1561 Изменения в nginx 0.7.39 02.03.2009
1562
1563 *) Исправление: при включённом сжатии большие ответы с использованием
1564 SSI могли зависать; ошибка появилась в 0.7.28.
1565 Спасибо Артёму Бохану.
1566
1567 *) Исправление: при использовании коротких статических вариантов в
1568 директиве try_files в рабочем процессе мог произойти segmentation
1569 fault.
1570
1571
1572 Изменения в nginx 0.7.38 23.02.2009
1573
1574 *) Добавление: логгирование ошибок аутентификации.
1575
1576 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
1577 игнорировались после нечётного числа пустых строк.
1578 Спасибо Александру Загребину.
1579
1580 *) Исправление: при использовании длинного пути в unix domain сокете в
1581 главном процессе происходил segmentation fault; ошибка появилась в
1582 0.7.36.
1583
1584
1585 Изменения в nginx 0.7.37 21.02.2009
1586
1587 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
1588 появилась в 0.7.36.
1589
1590
1591 Изменения в nginx 0.7.36 21.02.2009
1592
1593 *) Добавление: предварительная поддержка IPv6; директива listen модуля
1594 HTTP поддерживает IPv6.
1595
1596 *) Исправление: переменная $ancient_browser не работала для браузеров,
1597 заданных директивами modern_browser.
1598
1599
1600 Изменения в nginx 0.7.35 16.02.2009
1601
1602 *) Исправление: директива ssl_engine не использовала SSL-акселератор
1603 для асимметричных шифров.
1604 Спасибо Marcin Gozdalik.
1605
1606 *) Исправление: директива try_files выставляла MIME-type, исходя из
1607 расширения первоначального запроса.
1608
1609 *) Исправление: в директивах server_name, valid_referers и map
1610 неправильно обрабатывались имена вида "*domain.tld", если
1611 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
1612 ошибка появилась в 0.7.9.
1613
1614
1615 Изменения в nginx 0.7.34 10.02.2009
1616
1617 *) Добавление: параметр off в директиве if_modified_since.
1618
1619 *) Добавление: теперь после команды XCLIENT nginx посылает команду
1620 HELO/EHLO.
1621 Спасибо Максиму Дунину.
1622
1623 *) Добавление: поддержка Microsoft-специфичного режима
1624 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
1625 Спасибо Максиму Дунину.
1626
1627 *) Исправление: в директиве rewrite, возвращающей редирект, старые
1628 аргументы присоединялись к новым через символ "?" вместо "&";
1629 ошибка появилась в 0.1.18.
1630 Спасибо Максиму Дунину.
1631
1632 *) Исправление: nginx не собирался на AIX.
1633
1634
1635 Изменения в nginx 0.7.33 02.02.2009
1636
1637 *) Исправление: если на запрос с телом возвращался редирект, то ответ
1638 мог быть двойным при использовании методов epoll или rtsig.
1639 Спасибо Eden Li.
1640
1641 *) Исправление: для некоторых типов редиректов в переменной
1642 $sent_http_location было пустое значение.
1643
1644 *) Исправление: при использовании директивы resolver в SMTP
1645 прокси-сервере в рабочем процессе мог произойти segmentation fault.
1646
1647
1648 Изменения в nginx 0.7.32 26.01.2009
1649
1650 *) Добавление: теперь в директиве try_files можно явно указать проверку
1651 каталога.
1652
1653 *) Исправление: fastcgi_store не всегда сохранял файлы.
1654
1655 *) Исправление: в гео-диапазонах.
1656
1657 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
1658 если nginx был собран без отладки.
1659 Спасибо Андрею Квасову.
1660
1661
1662 Изменения в nginx 0.7.31 19.01.2009
1663
1664 *) Изменение: теперь директива try_files проверяет только файлы,
1665 игнорируя каталоги.
1666
1667 *) Добавление: директива fastcgi_split_path_info.
1668
1669 *) Исправления в поддержке строки "Expect" в заголовке запроса.
1670
1671 *) Исправления в гео-диапазонах.
1672
1673 *) Исправление: при отсутствии ответа ngx_http_memcached_module
1674 возвращал в теле ответа строку "END" вместо 404-ой страницы по
1675 умолчанию; ошибка появилась в 0.7.18.
1676 Спасибо Максиму Дунину.
1677
1678 *) Исправление: при проксировании SMPT nginx выдавал сообщение
1679 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
1680 Спасибо Максиму Дунину.
1681
1682
1683 Изменения в nginx 0.7.30 24.12.2008
1684
1685 *) Исправление: в рабочем процессе происходил segmentation fault, если
1686 в директивах fastcgi_pass или proxy_pass использовались переменные и
1687 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
1688
1689
1690 Изменения в nginx 0.7.29 24.12.2008
1691
1692 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
1693 переменные при использовании unix domain сокетов.
1694
1695 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
1696
1697 *) Исправление: ответ "100 Continue" выдавался для запросов версии
1698 HTTP/1.0;
1699 Спасибо Максиму Дунину.
1700
1701 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
1702 под Cygwin.
1703
1704
1705 Изменения в nginx 0.7.28 22.12.2008
1706
1707 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
1708
1709 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
1710 с 4 4k/8k на 32 4k или 16 8k.
1711
1712
1713 Изменения в nginx 0.7.27 15.12.2008
1714
1715 *) Добавление: директива try_files.
1716
1717 *) Добавление: директива fastcgi_pass поддерживает переменные.
1718
1719 *) Добавление: теперь директива geo может брать адрес из переменной.
1720 Спасибо Андрею Нигматулину.
1721
1722 *) Добавление: теперь модификатор location'а можно указывать без
1723 пробела перед названием.
1724
1725 *) Добавление: переменная $upstream_response_length.
1726
1727 *) Исправление: теперь директива add_header не добавляет пустое
1728 значение.
1729
1730 *) Исправление: при запросе файла нулевой длины nginx закрывал
1731 соединение, ничего не передав; ошибка появилась в 0.7.25.
1732
1733 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
1734 каталог.
1735
1736 *) Исправление: если в сервере не был описан ни один именованный
1737 location, но такой location использовался в директиве error_page, то
1738 в рабочем процессе происходил segmentation fault.
1739 Спасибо Сергею Боченкову.
1740
1741
1742 Изменения в nginx 0.7.26 08.12.2008
1743
1744 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
1745
1746
1747 Изменения в nginx 0.7.25 08.12.2008
1748
1749 *) Изменение: в обработке подзапросов.
1750
1751 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
1752 заголовке запроса.
1753
1754 *) Исправление: теперь директивы limit_req и limit_conn указывают
1755 причину запрета запроса.
1756
1757 *) Исправление: в параметре delete директивы geo.
1758
1759
1760 Изменения в nginx 0.7.24 01.12.2008
1761
1762 *) Добавление: директива if_modified_since.
1763
1764 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
1765 ответом сервер передавал много сообщений в stderr.
1766
1767 *) Исправление: переменные "$cookie_..." не работали в SSI and в
1768 перловом модуле.
1769
1770
1771 Изменения в nginx 0.7.23 27.11.2008
1772
1773 *) Добавление: параметры delete и ranges в директиве geo.
1774
1775 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
1776
1777 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
1778
1779
1780 Изменения в nginx 0.7.22 20.11.2008
1781
1782 *) Добавление: параметр none в директиве smtp_auth.
1783 Спасибо Максиму Дунину.
1784
1785 *) Добавление: переменные "$cookie_...".
1786
1787 *) Исправление: директива directio не работала с файловой системой XFS.
1788
1789 *) Исправление: resolver не понимал большие DNS-ответы.
1790 Спасибо Zyb.
1791
1792
1793 Изменения в nginx 0.7.21 11.11.2008
1794
1795 *) Изменения в модуле ngx_http_limit_req_module.
1796
1797 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
1798 Спасибо Денису Латыпову.
1799
1800 *) Изменение: совместимость с glibc 2.3.
1801 Спасибо Eric Benson и Максиму Дунину.
1802
1803 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
1804 ошибка появилась в 0.7.6.
1805
1806
1807 Изменения в nginx 0.7.20 10.11.2008
1808
1809 *) Изменения в модуле ngx_http_gzip_filter_module.
1810
1811 *) Добавление: модуль ngx_http_limit_req_module.
1812
1813 *) Исправление: на платформах sparc и ppc рабочие процессы могли
1814 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
1815 Спасибо Максиму Дунину.
1816
1817 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
1818 работали; ошибка появилась в 0.7.12.
1819
1820 *) Исправление: при использовании HTTPS запросы могли завершаться с
1821 ошибкой "bad write retry".
1822
1823 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
1824 location'ов с именами меньше 3 символов.
1825
1826 *) Исправление: переменная $server_addr могла не иметь значения.
1827
1828
1829 Изменения в nginx 0.7.19 13.10.2008
1830
1831 *) Исправление: обновление номера версии.
1832
1833
1834 Изменения в nginx 0.7.18 13.10.2008
1835
1836 *) Изменение: директива underscores_in_headers; теперь nginx по
1837 умолчанию не разрешает подчёркивания в именах строк в заголовке
1838 запроса клиента.
1839
1840 *) Добавление: модуль ngx_http_secure_link_module.
1841
1842 *) Добавление: директива real_ip_header поддерживает любой заголовок.
1843
1844 *) Добавление: директива log_subrequest.
1845
1846 *) Добавление: переменная $realpath_root.
1847
1848 *) Добавление: параметры http_502 и http_504 в директиве
1849 proxy_next_upstream.
1850
1851 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
1852 fastcgi_next_upstream не работал.
1853
1854 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
1855 для запросов HEAD.
1856
1857 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
1858
1859
1860 Изменения в nginx 0.7.17 15.09.2008
1861
1862 *) Добавление: директива directio теперь работает на Linux.
1863
1864 *) Добавление: переменная $pid.
1865
1866 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
1867 при использовании open_file_cache.
1868
1869 *) Исправление: access_log с переменными не работал на Linux; ошибка
1870 появилась в 0.7.7.
1871
1872 *) Исправление: модуль ngx_http_charset_module не понимал название
1873 кодировки в кавычках, полученное от бэкенда.
1874
1875
1876 Изменения в nginx 0.7.16 08.09.2008
1877
1878 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
1879 появилась в 0.7.15.
1880
1881
1882 Изменения в nginx 0.7.15 08.09.2008
1883
1884 *) Добавление: модуль ngx_http_random_index_module.
1885
1886 *) Добавление: директива directio оптимизирована для запросов файлов,
1887 начинающихся с произвольной позиции.
1888
1889 *) Добавление: директива directio при необходимости запрещает
1890 использование sendfile.
1891
1892 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
1893 заголовке запроса клиента.
1894
1895
1896 Изменения в nginx 0.7.14 01.09.2008
1897
1898 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
1899 имеют значений по умолчанию.
1900
1901 *) Добавление: директива listen поддерживает параметр ssl.
1902
1903 *) Добавление: теперь при переконфигурации nginx учитывает изменение
1904 временной зоны на FreeBSD и Linux.
1905
1906 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
1907 прочие, не устанавливались, если сервером по умолчанию был не первый
1908 сервер.
1909
1910 *) Исправление: при использовании в качестве аргументов части URI,
1911 выделенного с помощью директивы rewrite, эти аргументы не
1912 экранировались.
1913
1914 *) Исправление: улучшения тестирования правильности конфигурационного
1915 файла.
1916
1917
1918 Изменения в nginx 0.7.13 26.08.2008
1919
1920 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
1921 в 0.7.12.
1922
1923
1924 Изменения в nginx 0.7.12 26.08.2008
1925
1926 *) Добавление: директива server_name поддерживает пустое имя "".
1927
1928 *) Добавление: директива gzip_disable поддерживает специальную маску
1929 msie6.
1930
1931 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
1932 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
1933 Спасибо Максиму Дунину.
1934
1935 *) Исправление: при перенаправлении запроса с помощью директивы
1936 error_page терялось тело запроса.
1937
1938 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
1939 директивы error_page возвращался полный ответ.
1940
1941 *) Исправление: метод $r->header_in() не возвращал значения строк
1942 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
1943 появилась в 0.7.0.
1944
1945
1946 Изменения в nginx 0.7.11 18.08.2008
1947
1948 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
1949 MIME-типом text/css.
1950
1951 *) Добавление: теперь nginx возвращает код 405 для метода POST при
1952 запросе статического файла, только если файл существует.
1953
1954 *) Добавление: директива proxy_ssl_session_reuse.
1955
1956 *) Исправление: после перенаправления запроса с помощью
1957 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
1958 оригинальный запрос.
1959
1960 *) Исправление: если у каталога были права доступа только на поиск
1961 файлов и первый индексный файл отсутствовал, то nginx возвращал
1962 ошибку 500.
1963
1964 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
1965 0.7.1.
1966
1967
1968 Изменения в nginx 0.7.10 13.08.2008
1969
1970 *) Исправление: ошибок в директивах addition_types, charset_types,
1971 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
1972 появились в 0.7.9.
1973
1974 *) Исправление: рекурсивной error_page для 500 ошибки.
1975
1976 *) Исправление: теперь модуль ngx_http_realip_module устанавливает
1977 адрес не для всего keepalive соединения, а для каждого запроса по
1978 этому соединению.
1979
1980
1981 Изменения в nginx 0.7.9 12.08.2008
1982
1983 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
1984 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
1985 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
1986
1987 *) Добавление: директивы charset_types и addition_types.
1988
1989 *) Добавление: теперь директивы gzip_types, ssi_types и
1990 sub_filter_types используют хэш.
1991
1992 *) Добавление: модуль ngx_cpp_test_module.
1993
1994 *) Добавление: директива expires поддерживает суточное время.
1995
1996 *) Добавление: улучшения и исправления в модуле
1997 ngx_http_xslt_module.
1998 Спасибо Денису Латыпову и Максиму Дунину.
1999
2000 *) Исправление: директива log_not_found не работала при поиске
2001 индексных файлов.
2002
2003 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
2004 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
2005
2006 *) Исправление: если в директивах server_name, valid_referers и map
2007 использовалась маска вида "*.domain.tld" и при этом полное имя вида
2008 "domain.tld" не было описано, то это имя попадало под маску; ошибка
2009 появилась в 0.3.18.
2010
2011
2012 Изменения в nginx 0.7.8 04.08.2008
2013
2014 *) Добавление: модуль ngx_http_xslt_module.
2015
2016 *) Добавление: переменные "$arg_...".
2017
2018 *) Добавление: поддержка directio в Solaris.
2019 Спасибо Ivan Debnar.
2020
2021 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
2022 в заголовке ответа без строки статуса, то nginx использует код
2023 статуса 302.
2024 Спасибо Максиму Дунину.
2025
2026
2027 Изменения в nginx 0.7.7 30.07.2008
2028
2029 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
2030 временной.
2031
2032 *) Изменение: значением переменной $ssl_client_cert теперь является
2033 сертификат, перед каждой строкой которого, кроме первой, вставляется
2034 символ табуляции; неизменённый сертификат доступен через переменную
2035 $ssl_client_raw_cert.
2036
2037 *) Добавление: параметр ask директивы ssl_verify_client.
2038
2039 *) Добавление: улучшения в обработке byte-range.
2040 Спасибо Максиму Дунину.
2041
2042 *) Добавление: директива directio.
2043 Спасибо Jiang Hong.
2044
2045 *) Добавление: поддержка sendfile() в MacOSX 10.5.
2046
2047 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
2048 делается сравнение без учёта регистра символов; однако, сравнение
2049 ограничено только однобайтными locale'ями.
2050
2051 *) Исправление: соединения почтового прокси-сервера зависали в режиме
2052 SSL, если использовались методы select, poll или /dev/poll.
2053
2054 *) Исправление: ошибки при использовании кодировки UTF-8 в
2055 ngx_http_autoindex_module.
2056
2057
2058 Изменения в nginx 0.7.6 07.07.2008
2059
2060 *) Исправление: теперь при использовании переменных в директиве
2061 access_log всегда проверяется существовании root'а для запроса.
2062
2063 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
2064 значений в аргументах запроса.
2065
2066
2067 Изменения в nginx 0.7.5 01.07.2008
2068
2069 *) Исправления в поддержке переменных в директиве access_log; ошибки
2070 появились в 0.7.4.
2071
2072 *) Исправление: nginx не собирался с параметром
2073 --without-http_gzip_module; ошибка появилась в 0.7.3.
2074 Спасибо Кириллу Коринскому.
2075
2076 *) Исправление: при совместном использовании sub_filter и SSI ответы
2077 могли передаваться неверно.
2078
2079
2080 Изменения в nginx 0.7.4 30.06.2008
2081
2082 *) Добавление: директива access_log поддерживает переменные.
2083
2084 *) Добавление: директива open_log_file_cache.
2085
2086 *) Добавление: ключ -g.
2087
2088 *) Добавление: поддержка строки "Expect" в заголовке запроса.
2089
2090 *) Исправление: большие включения в SSI могли передавались не полностью.
2091
2092
2093 Изменения в nginx 0.7.3 23.06.2008
2094
2095 *) Изменение: MIME-тип для расширения rss изменён на
2096 "application/rss+xml".
2097
2098 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
2099 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
2100
2101 *) Добавление: теперь при использовании протокола "https://" в
2102 директиве rewrite автоматически делается редирект.
2103
2104 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
2105 ошибка появилась в 0.6.9.
2106
2107
2108 Изменения в nginx 0.7.2 16.06.2008
2109
2110 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
2111
2112 *) Добавление: директива ssl_dhparam.
2113
2114 *) Добавление: переменная $ssl_client_cert.
2115 Спасибо Manlio Perillo.
2116
2117 *) Исправление: после изменения URI с помощью директивы rewrite nginx
2118 не искал новый location; ошибка появилась в 0.7.1.
2119 Спасибо Максиму Дунину.
2120
2121 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
2122 появилась в 0.7.1.
2123
2124 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
2125 nginx не добавлял аргументы из оригинального запроса.
2126
2127
2128 Изменения в nginx 0.7.1 26.05.2008
2129
2130 *) Изменение: теперь поиск location'а делается с помощью дерева.
2131
2132 *) Изменение: директива optimize_server_names упразднена в связи с
2133 появлением директивы server_name_in_redirect.
2134
2135 *) Изменение: некоторые давно устаревшие директивы больше не
2136 поддерживаются.
2137
2138 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь
2139 этот параметр используется по умолчанию.
2140 Спасибо Rob Mueller.
2141
2142 *) Исправление: рабочие процессы могли не реагировать на сигналы
2143 переконфигурации и ротации логов.
2144
2145 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
2146 Спасибо Roxis.
2147
2148
2149 Изменения в nginx 0.7.0 19.05.2008
2150
2151 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
2152 записываются в виде \xXX.
2153 Спасибо Максиму Дунину.
2154
2155 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
2156 запроса.
2157
2158 *) Добавление: директива expires поддерживает флаг modified.
2159
2160 *) Добавление: переменные $uid_got и $uid_set можно использовать на
2161 любой стадии обработки запроса.
2162
2163 *) Добавление: переменная $hostname.
2164 Спасибо Андрею Нигматулину.
2165
2166 *) Добавление: поддержка DESTDIR.
2167 Спасибо Todd A. Fisher и Andras Voroskoi.
2168
2169 *) Исправление: при использовании keepalive на Linux в рабочем процессе
2170 мог произойти segmentation fault.
2171
2172
2173 Изменения в nginx 0.6.31 12.05.2008
2174
2175 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
2176 заголовка ответ была в конце записи FastCGI; ошибка появилась в
2177 0.6.2.
2178 Спасибо Сергею Серову.
2179
2180 *) Исправление: при удалении файла и использовании директивы
2181 open_file_cache_errors off в рабочем процессе мог произойти
2182 segmentation fault.
2183
2184
2185 Изменения в nginx 0.6.30 29.04.2008
2186
2187 *) Изменение: теперь, если маске, заданной в директиве include, не
2188 соответствует ни один файл, то nginx не выдаёт ошибку.
2189
2190 *) Добавление: теперь время в директивах можно задавать без пробела,
2191 например, "1h50m".
2192
2193 *) Исправление: утечек памяти, если директива ssl_verify_client имела
2194 значение on.
2195 Спасибо Chavelle Vincent.
2196
2197 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
2198 вывод.
2199
2200 *) Исправление: директива error_page не воспринимала параметры в
2201 перенаправляемом URI.
2202
2203 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
2204 в бинарном режиме.
2205
2206 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
2207 0.6.15.
2208
2209
2210 Изменения в nginx 0.6.29 18.03.2008
2211
2212 *) Добавление: модуль ngx_google_perftools_module.
2213
2214 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
2215 платформах; ошибка появилась в 0.6.27.
2216
2217
2218 Изменения в nginx 0.6.28 13.03.2008
2219
2220 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
2221
2222
2223 Изменения в nginx 0.6.27 12.03.2008
2224
2225 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
2226 rtsig.
2227
2228 *) Изменение: теперь при перенаправлении запроса в именованный location
2229 с помощью директивы error_page метод запроса не изменяется.
2230
2231 *) Добавление: директивы resolver и resolver_timeout в SMTP
2232 прокси-сервере.
2233
2234 *) Добавление: директива post_action поддерживает именованные
2235 location'ы.
2236
2237 *) Исправление: при перенаправлении запроса из location'а c
2238 обработчиком proxy, FastCGI или memcached в именованный location со
2239 статическим обработчиком в рабочем процессе происходил segmentation
2240 fault.
2241
2242 *) Исправление: браузеры не повторяли SSL handshake, если при первом
2243 handshake не оказалось правильного клиентского сертификата.
2244 Спасибо Александру Инюхину.
2245
2246 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
2247 error_page без изменения кода ошибки nginx пытался выделить очень
2248 много памяти.
2249
2250 *) Исправление: утечки памяти в долгоживущих небуфферизированных
2251 соединениях.
2252
2253 *) Исправление: утечки памяти в resolver'е.
2254
2255 *) Исправление: при перенаправлении запроса из location'а c
2256 обработчиком proxy в другой location с обработчиком proxy в рабочем
2257 процессе происходил segmentation fault.
2258
2259 *) Исправление: ошибки в кэшировании переменных $proxy_host и
2260 $proxy_port.
2261 Спасибо Сергею Боченкову.
2262
2263 *) Исправление: директива proxy_pass с переменными использовала порт,
2264 описанной в другой директиве proxy_pass без переменных, но с таким
2265 же именем хоста.
2266 Спасибо Сергею Боченкову.
2267
2268 *) Исправление: во время переконфигурации на некоторых 64-битном
2269 платформах в лог записывался alert "sendmsg() failed (9: Bad file
2270 descriptor)".
2271
2272 *) Исправление: при повторном использовании в SSI пустого block'а в
2273 качестве заглушки в рабочем процессе происходил segmentation fault.
2274
2275 *) Исправление: ошибки при копировании части URI, содержащего
2276 экранированные символы, в аргументы.
2277
2278
2279 Изменения в nginx 0.6.26 11.02.2008
2280
2281 *) Исправление: директивы proxy_store и fastcgi_store не проверяли
2282 длину ответа.
2283
2284 *) Исправление: при использовании большого значения в директиве expires
2285 в рабочем процессе происходил segmentation fault.
2286 Спасибо Joaquin Cuenca Abela.
2287
2288 *) Исправление: nginx неверно определял длину строки кэша на
2289 Pentium 4.
2290 Спасибо Геннадию Махомеду.
2291
2292 *) Исправление: в проксированных подзапросах и подзапросах к
2293 FastCGI-серверу вместо метода GET использовался оригинальный метод
2294 клиента.
2295
2296 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2297 отложенного accept'а.
2298 Спасибо Ben Maurer.
2299
2300 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown()
2301 failed (SSL: )"; ошибка появилась в 0.6.23.
2302
2303 *) Исправление: при использовании HTTPS запросы могли завершаться с
2304 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
2305
2306
2307 Изменения в nginx 0.6.25 08.01.2008
2308
2309 *) Изменение: вместо специального параметра "*" в директиве server_name
2310 теперь используется директива server_name_in_redirect.
2311
2312 *) Изменение: в качестве основного имени в директиве server_name теперь
2313 можно использовать имена с масками и регулярными выражениями.
2314
2315 *) Изменение: директива satisfy_any заменена директивой satisfy.
2316
2317 *) Изменение: после переконфигурации старые рабочие процесс могли
2318 сильно нагружать процессор при запуске под Linux OpenVZ.
2319
2320 *) Добавление: директива min_delete_depth.
2321
2322 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
2323
2324 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
2325 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
2326
2327 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2328 отложенного accept'а.
2329 Спасибо Ben Maurer.
2330
2331 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
2332 появилась в 0.6.23.
2333
2334
2335 Изменения в nginx 0.6.24 27.12.2007
2336
2337 *) Исправление: при использовании HTTPS в рабочем процессе мог
2338 произойти segmentation fault; ошибка появилась в 0.6.23.
2339
2340
2341 Изменения в nginx 0.6.23 27.12.2007
2342
2343 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
2344 параметр используется по умолчанию.
2345
2346 *) Изменение: директива open_file_cache_retest переименована в
2347 open_file_cache_valid.
2348
2349 *) Добавление: директива open_file_cache_min_uses.
2350
2351 *) Добавление: модуль ngx_http_gzip_static_module.
2352
2353 *) Добавление: директива gzip_disable.
2354
2355 *) Добавление: директиву memcached_pass можно использовать внутри блока
2356 if.
2357
2358 *) Исправление: если внутри одного location'а использовались директивы
2359 "memcached_pass" и "if", то в рабочем процессе происходил
2360 segmentation fault.
2361
2362 *) Исправление: если при использовании директивы satisfy_any on" были
2363 заданы директивы не всех модулей доступа, то заданные директивы не
2364 проверялись.
2365
2366 *) Исправление: параметры, заданные регулярным выражением в директиве
2367 valid_referers, не наследовалась с предыдущего уровня.
2368
2369 *) Исправление: директива post_action не работала, если запрос
2370 завершался с кодом 499.
2371
2372 *) Исправление: оптимизация использования 16K буфера для
2373 SSL-соединения.
2374 Спасибо Ben Maurer.
2375
2376 *) Исправление: STARTTLS в режиме SMTP не работал.
2377 Спасибо Олегу Мотиенко.
2378
2379 *) Исправление: при использовании HTTPS запросы могли завершаться с
2380 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
2381
2382
2383 Изменения в nginx 0.6.22 19.12.2007
2384
2385 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
2386 значения, скопированные в память, выделенную perl'ом.
2387
2388 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
2389 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
2390 время переконфигурации основной процесс аварийно выходил; ошибка
2391 появилась в 0.5.9.
2392 Спасибо Борису Жмурову.
2393
2394 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
2395 неверные результаты выделения в регулярных выражениях.
2396
2397 *) Исправление: если метод $r->has_request_body() вызывался для
2398 запроса, у которого небольшое тело запроса было уже полностью
2399 получено, то в рабочем процессе происходил segmentation fault.
2400
2401 *) Исправление: large_client_header_buffers не освобождались перед
2402 переходом в состояние keep-alive.
2403 Спасибо Олександру Штепе.
2404
2405 *) Исправление: в переменной $upstream_addr не записывался последний
2406 адрес; ошибка появилась в 0.6.18.
2407
2408 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
2409 теперь она возвращает ошибку 502, которую можно направить на
2410 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
2411
2412 *) Исправление: при использовании директивы fastcgi_catch_stderr в
2413 основном процессе происходил segmentation fault; ошибка появилась в
2414 0.6.10.
2415 Спасибо Manlio Perillo.
2416
2417
2418 Изменения в nginx 0.6.21 03.12.2007
2419
2420 *) Изменение: если в значениях переменных директивы proxy_pass
2421 используются только IP-адреса, то указывать resolver не нужно.
2422
2423 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2424 рабочем процессе мог произойти segmentation fault; ошибка появилась
2425 в 0.6.19.
2426
2427 *) Исправление: если resolver использовался на платформах, не
2428 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
2429 response".
2430 Спасибо Андрею Нигматулину.
2431
2432 *) Исправление: При использовании переменной $server_protocol в
2433 FastCGI-параметрах и запросе, длина которого была близка к значению
2434 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
2435 the request record is too big".
2436
2437 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
2438 nginx возвращал обычный ответ.
2439
2440
2441 Изменения в nginx 0.6.20 28.11.2007
2442
2443 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2444 рабочем процессе мог произойти segmentation fault; ошибка появилась
2445 в 0.6.19.
2446
2447
2448 Изменения в nginx 0.6.19 27.11.2007
2449
2450 *) Исправление: версия 0.6.18 не собиралась.
2451
2452
2453 Изменения в nginx 0.6.18 27.11.2007
2454
2455 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с
2456 номером процесса добавляет микросекунды на время старта.
2457
2458 *) Изменение: в error_log теперь записывается полная строка запроса
2459 вместо только URI.
2460
2461 *) Добавление: директива proxy_pass поддерживает переменные.
2462
2463 *) Добавление: директивы resolver и resolver_timeout.
2464
2465 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
2466 заголовке ответа строку "Last-Modified".
2467
2468 *) Исправление: директива limit_rate не позволяла передавать на полной
2469 скорости, даже если был указан очень большой лимит.
2470
2471
2472 Изменения в nginx 0.6.17 15.11.2007
2473
2474 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
2475 Спасибо Александру Инюхину.
2476
2477 *) Исправление: при использовании директивы msie_refresh повторно
2478 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
2479
2480 *) Исправление: директива autoindex не работала при использовании
2481 "alias /".
2482
2483 *) Исправление: при использовании подзапросов в рабочем процессе мог
2484 произойти segmentation fault.
2485
2486 *) Исправление: при использовании SSL и gzip большие ответы могли
2487 передаваться не полностью.
2488
2489 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
2490 то переменная $status была равна 0.
2491
2492
2493 Изменения в nginx 0.6.16 29.10.2007
2494
2495 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
2496 Спасибо Илье Новикову.
2497
2498 *) Исправление: если в директиве error_page использовался символ "?",
2499 то он экранировался при проксировании запроса; ошибка появилась в
2500 0.6.11.
2501
2502 *) Исправление: совместимость с mget.
2503
2504
2505 Изменения в nginx 0.6.15 22.10.2007
2506
2507 *) Добавление: совместимость с Cygwin.
2508 Спасибо Владимиру Кутакову.
2509
2510 *) Добавление: директива merge_slashes.
2511
2512 *) Добавление: директива gzip_vary.
2513
2514 *) Добавление: директива server_tokens.
2515
2516 *) Исправление: nginx не раскодировал URI в команде SSI include.
2517
2518 *) Исправление: при использовании переменной в директивах charset или
2519 source_charset на старте или во время переконфигурации происходил
2520 segmentation fault,
2521
2522 *) Исправление: nginx возвращал ошибку 400 на запросы вида
2523 "GET http://www.domain.com HTTP/1.0".
2524 Спасибо James Oakley.
2525
2526 *) Исправление: после перенаправления запроса с телом запроса с помощью
2527 директивы error_page nginx пытался снова прочитать тело запроса;
2528 ошибка появилась в 0.6.7.
2529
2530 *) Исправление: в рабочем процессе происходил segmentation fault, если
2531 у сервера, обрабатывающему запрос, не был явно определён
2532 server_name; ошибка появилась в 0.6.7.
2533
2534
2535 Изменения в nginx 0.6.14 15.10.2007
2536
2537 *) Изменение: теперь по умолчанию команда SSI echo использует
2538 кодирование entity.
2539
2540 *) Добавление: параметр encoding в команде SSI echo.
2541
2542 *) Добавление: директиву access_log можно использовать внутри блока
2543 limit_except.
2544
2545 *) Исправление: если все сервера апстрима оказывались недоступными, то
2546 до восстановления работоспособности у всех серверов вес становился
2547 равным одному; ошибка появилась в 0.6.6.
2548
2549 *) Исправление: при использовании переменных $date_local и $date_gmt
2550 вне модуля ngx_http_ssi_filter_module в рабочем процессе происходил
2551 segmentation fault.
2552
2553 *) Исправление: при использовании включённом отладочном логе в рабочем
2554 процессе мог произойти segmentation fault.
2555 Спасибо Андрею Нигматулину.
2556
2557 *) Исправление: ngx_http_memcached_module не устанавливал
2558 $upstream_response_time.
2559 Спасибо Максиму Дунину.
2560
2561 *) Исправление: рабочий процесс мог зациклиться при использовании
2562 memcached.
2563
2564 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
2565 строке "Connection" в заголовке запроса только, если они были в
2566 нижнем регистре; ошибка появилась в 0.6.11.
2567
2568 *) Исправление: sub_filter не работал с пустой строкой замены.
2569
2570 *) Исправление: в парсинге sub_filter.
2571
2572
2573 Изменения в nginx 0.6.13 24.09.2007
2574
2575 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
2576 использовался autoindex
2577 Спасибо Arkadiusz Patyk.
2578
2579
2580 Изменения в nginx 0.6.12 21.09.2007
2581
2582 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
2583 и smtp.
2584
2585 *) Добавление: параметры конфигурации --without-mail_pop3_module,
2586 --without-mail_imap_module и --without-mail_smtp_module.
2587
2588 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer
2589 модуля ngx_mail_smtp_module.
2590
2591 *) Исправление: wildcard в конце имени сервера не работали; ошибка
2592 появилась в 0.6.9.
2593
2594 *) Исправление: при использовании разделяемой библиотеки PCRE,
2595 расположенной в нестандартном месте, nginx не запускался на Solaris.
2596
2597 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
2598 скрывали строки заголовка ответа с именем больше 32 символов.
2599 Спасибо Manlio Perillo.
2600
2601
2602 Изменения в nginx 0.6.11 11.09.2007
2603
2604 *) Исправление: счётчик активных соединений всегда рос при
2605 использовании почтового прокси-сервера.
2606
2607 *) Исправление: если бэкенд возвращал только заголовок ответа при
2608 небуферизированном проксировании, то nginx закрывал соединение с
2609 бэкендом по таймауту.
2610
2611 *) Исправление: nginx не поддерживал несколько строк "Connection" в
2612 заголовке запроса.
2613
2614 *) Исправление: если в сервере апстрима был задан max_fails, то после
2615 первой же неудачной попытки вес сервера навсегда становился равным
2616 одному; ошибка появилась в 0.6.6.
2617
2618
2619 Изменения в nginx 0.6.10 03.09.2007
2620
2621 *) Добавление: директивы open_file_cache, open_file_cache_retest и
2622 open_file_cache_errors.
2623
2624 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
2625
2626 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
2627 методе $r->send_http_header(), не добавлялась кодировка, указанная в
2628 директиве charset.
2629
2630 *) Исправление: при использовании метода /dev/poll в рабочем процессе
2631 мог произойти segmentation fault.
2632
2633
2634 Изменения в nginx 0.6.9 28.08.2007
2635
2636 *) Исправление: рабочий процесс мог зациклиться при использовании
2637 протокола HTTPS; ошибка появилась в 0.6.7.
2638
2639 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
2640 не запускался при использовании wildcard в конце имени сервера.
2641
2642 *) Исправление: директива ip_hash могла неверно помечать сервера как
2643 нерабочие.
2644
2645 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
2646
2647
2648 Изменения в nginx 0.6.8 20.08.2007
2649
2650 *) Изменение: теперь nginx пытается установить директивы
2651 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
2652 worker_rlimit_sigpending без привилегий root'а.
2653
2654 *) Изменение: теперь nginx экранирует символы пробела и "%" при
2655 передаче запроса серверу аутентификации почтового прокси-сервера.
2656
2657 *) Изменение: теперь nginx экранирует символ "%" в переменной
2658 $memcached_key.
2659
2660 *) Исправление: при указании относительного пути к конфигурационному
2661 файлу в качестве параметра ключа -c nginx определял путь
2662 относительно конфигурационного префикса; ошибка появилась в 0.6.6.
2663
2664 *) Исправление: nginx не работал на FreeBSD/sparc64.
2665
2666
2667 Изменения в nginx 0.6.7 15.08.2007
2668
2669 *) Изменение: теперь пути, указанные в директивах include,
2670 auth_basic_user_file, perl_modules, ssl_certificate,
2671 ssl_certificate_key и ssl_client_certificate, определяются
2672 относительно каталога конфигурационного файла nginx.conf, а не
2673 относительно префикса.
2674
2675 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
2676
2677 *) Изменение: для обновления на лету версий 0.1.x создан специальный
2678 сценарий make upgrade1.
2679
2680 *) Добавление: директивы server_name и valid_referers поддерживают
2681 регулярные выражения.
2682
2683 *) Добавление: директива server в блоке upstream поддерживает параметр
2684 backup.
2685
2686 *) Добавление: модуль ngx_http_perl_module поддерживает метод
2687 $r->discard_request_body.
2688
2689 *) Добавление: директива "add_header Last-Modified ..." меняет строку
2690 "Last-Modified" в заголовке ответа.
2691
2692 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
2693 отличным от 200, и после этого запроса соединение переходило в
2694 состояние keep-alive, то на следующий запрос nginx возвращал 400.
2695
2696 *) Исправление: если в директиве auth_http был задан неправильный
2697 адрес, то в рабочем процессе происходил segmentation fault.
2698
2699 *) Исправление: теперь по умолчанию nginx использует значение 511 для
2700 listen backlog на всех платформах, кроме FreeBSD.
2701 Спасибо Jiang Hong.
2702
2703 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
2704 upstream был помечен как down; ошибка появилась в 0.6.6.
2705
2706 *) Исправление: sendfilev() в Solaris теперь не используется при
2707 передаче тела запроса FastCGI-серверу через unix domain сокет.
2708
2709
2710 Изменения в nginx 0.6.6 30.07.2007
2711
2712 *) Добавление: параметр --sysconfdir=PATH в configure.
2713
2714 *) Добавление: именованные location'ы.
2715
2716 *) Добавление: переменную $args можно устанавливать с помощью set.
2717
2718 *) Добавление: переменная $is_args.
2719
2720 *) Исправление: равномерное распределение запросов к апстримам с
2721 большими весами.
2722
2723 *) Исправление: если клиент в почтовом прокси-сервере закрывал
2724 соединение, то nginx мог не закрывать соединение с бэкендом.
2725
2726 *) Исправление: при использовании одного хоста в качестве бэкендов для
2727 протоколов HTTP и HTTPS без явного указания портов, nginx
2728 использовал только один порт - 80 или 443.
2729
2730 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
2731 более ранними версиями; ошибка появилась в 0.6.4.
2732
2733
2734 Изменения в nginx 0.6.5 23.07.2007
2735
2736 *) Добавление: переменная $nginx_version.
2737 Спасибо Николаю Гречуху.
2738
2739 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в
2740 режиме IMAP.
2741 Спасибо Максиму Дунину.
2742
2743 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
2744 SMTP.
2745 Спасибо Максиму Дунину.
2746
2747 *) Исправление: теперь nginx экранирует пробел в переменной
2748 $memcached_key.
2749
2750 *) Исправление: nginx неправильно собирался Sun Studio на
2751 Solaris/amd64.
2752 Спасибо Jiang Hong.
2753
2754 *) Исправление: незначительных потенциальных ошибок.
2755 Спасибо Coverity's Scan.
2756
2757
2758 Изменения в nginx 0.6.4 17.07.2007
2759
2760 *) Безопасность: при использовании директивы msie_refresh был возможен
2761 XSS.
2762 Спасибо Максиму Богуку.
2763
2764 *) Изменение: директивы proxy_store и fastcgi_store изменены.
2765
2766 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
2767
2768 *) Исправление: nginx не работал на Solaris/sparc64, если был собран
2769 Sun Studio.
2770 Спасибо Андрею Нигматулину.
2771
2772 *) Изменение: обход ошибки в Sun Studio 12.
2773 Спасибо Jiang Hong.
2774
2775
2776 Изменения в nginx 0.6.3 12.07.2007
2777
2778 *) Добавление: директивы proxy_store и fastcgi_store.
2779
2780 *) Исправление: при использовании директивы auth_http_header в рабочем
2781 процессе мог произойти segmentation fault.
2782 Спасибо Максиму Дунину.
2783
2784 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
2785 не был разрешён, то в рабочем процессе происходил segmentation fault.
2786
2787 *) Исправление: при использовании протокола HTTPS в директиве
2788 proxy_pass в рабочем процессе мог произойти segmentation fault.
2789
2790 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2791 если использовался метод eventport.
2792
2793 *) Исправление: директивы proxy_ignore_client_abort и
2794 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
2795
2796
2797 Изменения в nginx 0.6.2 09.07.2007
2798
2799 *) Исправление: если заголовок ответа был разделён в FastCGI-записях,
2800 то nginx передавал клиенту мусор в таких заголовках.
2801
2802
2803 Изменения в nginx 0.6.1 17.06.2007
2804
2805 *) Исправление: в парсинге SSI.
2806
2807 *) Исправление: при использовании удалённого подзапроса в SSI
2808 последующий подзапрос локального файла мог отдаваться клиенту в
2809 неверном порядке.
2810
2811 *) Исправление: большие включения в SSI, сохранённые во временные
2812 файлы, передавались не полностью.
2813
2814 *) Исправление: значение perl'овой переменной $$ модуля
2815 ngx_http_perl_module было равно номеру главного процесса.
2816
2817
2818 Изменения в nginx 0.6.0 14.06.2007
2819
2820 *) Добавление: директивы "server_name", "map", and "valid_referers"
2821 поддерживают маски вида "www.example.*".
2822
2823
2824 Изменения в nginx 0.5.25 11.06.2007
2825
2826 *) Исправление: nginx не собирался с параметром
2827 --without-http_rewrite_module; ошибка появилась в 0.5.24.
2828
2829
2830 Изменения в nginx 0.5.24 06.06.2007
2831
2832 *) Безопасность: директива ssl_verify_client не работала, если запрос
2833 выполнялся по протоколу HTTP/0.9.
2834
2835 *) Исправление: при использовании сжатия часть ответа могла
2836 передаваться несжатой; ошибка появилась в 0.5.23.
2837
2838
2839 Изменения в nginx 0.5.23 04.06.2007
2840
2841 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
2842 Server Name Indication.
2843
2844 *) Добавление: директива fastcgi_catch_stderr.
2845 Спасибо Николаю Гречуху, проект OWOX.
2846
2847 *) Исправление: на Линуксе в основном процессе происходил segmentation
2848 fault, если два виртуальных сервера должны bind()ится к
2849 пересекающимся портам.
2850
2851 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2852 perl поддерживал потоки, то во время второй переконфигурации
2853 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
2854
2855 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2856
2857
2858 Изменения в nginx 0.5.22 29.05.2007
2859
2860 *) Исправление: большое тело запроса могло не передаваться бэкенду;
2861 ошибка появилась в 0.5.21.
2862
2863
2864 Изменения в nginx 0.5.21 28.05.2007
2865
2866 *) Исправление: если внутри сервера описано больше примерно десяти
2867 location'ов, то location'ы, заданные с помощью регулярного
2868 выражения, могли выполняться не в том, порядке, в каком они описаны.
2869
2870 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
2871 если 33-тий по счёту или последующий бэкенд упал.
2872 Спасибо Антону Поварову.
2873
2874 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64
2875 мог произойти bus error.
2876 Спасибо Андрею Нигматулину.
2877
2878 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2879
2880
2881 Изменения в nginx 0.5.20 07.05.2007
2882
2883 *) Добавление: директива sendfile_max_chunk.
2884
2885 *) Добавление: переменные "$http_...", "$sent_http_..." и
2886 "$upstream_http_..." можно менять директивой set.
2887
2888 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
2889 рабочем процессе мог произойти segmentation fault.
2890
2891 *) Исправление: завершающая строка multipart range ответа передавалась
2892 неверно.
2893 Спасибо Evan Miller.
2894
2895 *) Исправление: nginx не работал на Solaris/sparc64, если был собран
2896 Sun Studio.
2897 Спасибо Андрею Нигматулину.
2898
2899 *) Исправление: модуль ngx_http_perl_module не собирался make в
2900 Solaris.
2901 Спасибо Андрею Нигматулину.
2902
2903
2904 Изменения в nginx 0.5.19 24.04.2007
2905
2906 *) Изменение: значение переменной $request_time теперь записывается с
2907 точностью до миллисекунд.
2908
2909 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
2910 переименован в $r->flush.
2911
2912 *) Добавление: переменная $upstream_addr.
2913
2914 *) Добавление: директивы proxy_headers_hash_max_size и
2915 proxy_headers_hash_bucket_size.
2916 Спасибо Володымыру Костырко.
2917
2918 *) Исправление: при использовании sendfile и limit_rate на 64-битных
2919 платформах нельзя было передавать файлы больше 2G.
2920
2921 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
2922 было передавать файлы больше 2G.
2923
2924
2925 Изменения в nginx 0.5.18 19.04.2007
2926
2927 *) Добавление: модуль ngx_http_sub_filter_module.
2928
2929 *) Добавление: переменные "$upstream_http_...".
2930
2931 *) Добавление: теперь переменные $upstream_status и
2932 $upstream_response_time содержат данные о всех обращениях к
2933 апстримам, сделанным до X-Accel-Redirect.
2934
2935 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2936 perl не поддерживал multiplicity, то после первой переконфигурации и
2937 после получения любого сигнала в основном процессе происходил
2938 segmentation fault; ошибка появилась в 0.5.9.
2939
2940 *) Исправление: если perl не поддерживал multiplicity, то после
2941 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
2942
2943
2944 Изменения в nginx 0.5.17 02.04.2007
2945
2946 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
2947
2948 *) Добавление: теперь nginx поддерживает директиву include внутри блока
2949 types.
2950
2951 *) Исправление: использование переменной $document_root в директиве
2952 root и alias запрещено: оно вызывало рекурсивное переполнение стека.
2953
2954 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2955
2956 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2957 $uri) возвращали старое закэшированное значение.
2958
2959
2960 Изменения в nginx 0.5.16 26.03.2007
2961
2962 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
2963 использовалась сеть класса С.
2964 Спасибо Павлу Ярковому.
2965
2966 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
2967 был указан charset и строка завершалась символом ";", то в рабочем
2968 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
2969
2970 *) Исправление: ошибки "[alert] zero size buf" при работе с
2971 FastCGI-сервером, если тело запроса, записанное во временный файл,
2972 было кратно 32K.
2973
2974 *) Исправление: nginx не собирался на Solaris без параметра
2975 --with-debug; ошибка появилась в 0.5.15.
2976
2977
2978 Изменения в nginx 0.5.15 19.03.2007
2979
2980 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
2981 SMTP-проксирование и директивы smtp_auth, smtp_capablities и
2982 xclient.
2983 Спасибо Антону Южанинову и Максиму Дунину.
2984
2985 *) Добавление: теперь keep-alive соединения закрываются сразу же по
2986 получении сигнала переконфигурации.
2987
2988 *) Изменение: директивы imap и auth переименованы соответственно в mail
2989 и pop3_auth.
2990
2991 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
2992 был разрешён метод APOP, то в рабочем процессе происходил
2993 segmentation fault.
2994
2995 *) Исправление: при использовании директивы starttls only в протоколе
2996 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
2997
2998 *) Исправление: рабочие процессы не выходили после переконфигурации и
2999 не переоткрывали логи, если использовался метод eventport.
3000
3001 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
3002 зациклиться.
3003
3004 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
3005 используются методы eventport или /dev/poll.
3006
3007
3008 Изменения в nginx 0.5.14 23.02.2007
3009
3010 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
3011 конфигурационного файла.
3012
3013
3014 Изменения в nginx 0.5.13 19.02.2007
3015
3016 *) Добавление: методы COPY и MOVE.
3017
3018 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
3019 запросов, переданных по keep-alive соединению.
3020
3021 *) Исправление: nginx не работал на 64-битном big-endian Linux.
3022 Спасибо Андрею Нигматулину.
3023
3024 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
3025 теперь сразу закрывает соединение, а не по таймауту.
3026
3027 *) Исправление: если при использовании метода epoll клиент закрывал
3028 преждевременно соединение со своей стороны, то nginx закрывал это
3029 соединение только по истечении таймаута на передачу.
3030
3031 *) Исправление: nginx не собирался на платформах, отличных от i386,
3032 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3033
3034
3035 Изменения в nginx 0.5.12 12.02.2007
3036
3037 *) Исправление: nginx не собирался на платформах, отличных от i386,
3038 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3039
3040 *) Исправление: при использовании временных файлов в время работы с
3041 FastCGI-сервером в рабочем процессе мог произойти segmentation
3042 fault; ошибка появилась в 0.5.8.
3043
3044 *) Исправление: если переменная $fastcgi_script_name записывалась в
3045 лог, то в рабочем процессе мог произойти segmentation fault.
3046
3047 *) Исправление: ngx_http_perl_module не собирался на Solaris.
3048
3049
3050 Изменения в nginx 0.5.11 05.02.2007
3051
3052 *) Добавление: теперь configure определяет библиотеку PCRE в
3053 MacPorts.
3054 Спасибо Chris McGrath.
3055
3056 *) Исправление: ответ был неверным, если запрашивалось несколько
3057 диапазонов; ошибка появилась в 0.5.6.
3058
3059 *) Исправление: директива create_full_put_path не могла создавать
3060 промежуточные каталоги, если не была установлена директива
3061 dav_access.
3062 Спасибо Evan Miller.
3063
3064 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
3065 записываться код "0".
3066
3067 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3068 произойти segmentation fault.
3069
3070
3071 Изменения в nginx 0.5.10 26.01.2007
3072
3073 *) Исправление: во время обновления исполняемого файла новый процесс не
3074 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
3075
3076 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3077 произойти segmentation fault; ошибка появилась в 0.5.1.
3078
3079
3080 Изменения в nginx 0.5.9 25.01.2007
3081
3082 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
3083 использует значение переменной $memcached_key.
3084
3085 *) Добавление: переменная $memcached_key.
3086
3087 *) Добавление: параметр clean в директиве client_body_in_file_only.
3088
3089 *) Добавление: директива env.
3090
3091 *) Добавление: директива sendfile работает внутри блока if.
3092
3093 *) Добавление: теперь при ошибке записи в access_log nginx записывает
3094 сообщение в error_log, но не чаще одного раза в минуту.
3095
3096 *) Исправление: директива "access_log off" не всегда запрещала запись в
3097 лог.
3098
3099
3100 Изменения в nginx 0.5.8 19.01.2007
3101
3102 *) Исправление: если использовалась директива
3103 "client_body_in_file_only on" и тело запроса было небольшое, то мог
3104 произойти segmentation fault.
3105
3106 *) Исправление: происходил segmentation fault, если использовались
3107 директивы "client_body_in_file_only on" и
3108 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
3109 делался переход к следующему бэкенду.
3110
3111 *) Исправление: если при использовании директивы "proxy_buffering off"
3112 соединение с клиентом было неактивно, то оно закрывалось по
3113 таймауту, заданному директивой send_timeout; ошибка появилась в
3114 0.4.7.
3115
3116 *) Исправление: если при использовании метода epoll клиент закрывал
3117 преждевременно соединение со своей стороны, то nginx закрывал это
3118 соединение только по истечении таймаута на передачу.
3119
3120 *) Исправление: ошибки "[alert] zero size buf" при работе с
3121 FastCGI-сервером.
3122
3123 *) Исправление ошибок в директиве limit_zone.
3124
3125
3126 Изменения в nginx 0.5.7 15.01.2007
3127
3128 *) Добавление: оптимизация использования памяти в ssl_session_cache.
3129
3130 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
3131
3132 *) Исправление: на старте или во время переконфигурации происходил
3133 segmentation fault, если директивы ssl_session_cache или limit_zone
3134 использовались на 64-битных платформах.
3135
3136 *) Исправление: при использовании директив add_before_body или
3137 add_after_body происходил segmentation fault, если в заголовке
3138 ответа нет строки "Content-Type".
3139
3140 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
3141 потоков.
3142 Спасибо Дену Иванову.
3143
3144 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
3145
3146
3147 Изменения в nginx 0.5.6 09.01.2007
3148
3149 *) Изменение: теперь модуль ngx_http_index_module игнорирует все
3150 методы, кроме GET, HEAD и POST.
3151
3152 *) Добавление: модуль ngx_http_limit_zone_module.
3153
3154 *) Добавление: переменная $binary_remote_addr.
3155
3156 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module
3157 и ngx_imap_ssl_module.
3158
3159 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
3160
3161 *) Исправление: при использовании $r->sendfile() byte-ranges
3162 передавались неверно.
3163
3164
3165 Изменения в nginx 0.5.5 24.12.2006
3166
3167 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
3168
3169 *) Добавление: ключ -V.
3170
3171 *) Добавление: директива worker_rlimit_core поддерживает указание
3172 размера в K, M и G.
3173
3174 *) Исправление: модуль nginx.pm теперь может устанавливаться
3175 непривилегированным пользователем.
3176
3177 *) Исправление: при использовании методов $r->request_body или
3178 $r->request_body_file мог произойти segmentation fault.
3179
3180 *) Исправление: ошибок, специфичных для платформы ppc.
3181
3182
3183 Изменения в nginx 0.5.4 15.12.2006
3184
3185 *) Добавление: директиву perl можно использовать внутри блока
3186 limit_except.
3187
3188 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
3189 заголовке запроса для метода DELETE.
3190
3191 *) Исправление: при использовании одного параметра в директиве
3192 dav_access nginx мог сообщить об ошибке в конфигурации.
3193
3194 *) Исправление: при использовании переменной $host мог произойти
3195 segmentation fault; ошибка появилась в 0.4.14.
3196
3197
3198 Изменения в nginx 0.5.3 13.12.2006
3199
3200 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3201 $r->status, $r->log_error и $r->sleep.
3202
3203 *) Добавление: метод $r->variable поддерживает переменные, неописанные
3204 в конфигурации nginx'а.
3205
3206 *) Исправление: метод $r->has_request_body не работал.
3207
3208
3209 Изменения в nginx 0.5.2 11.12.2006
3210
3211 *) Исправление: если в директивах proxy_pass использовалось имя,
3212 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
3213 ошибка появилась в 0.5.1.
3214
3215
3216 Изменения в nginx 0.5.1 11.12.2006
3217
3218 *) Исправление: директива post_action могла не работать после
3219 неудачного завершения запроса.
3220
3221 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в
3222 0.4.11.
3223 Спасибо Bron Gondwana.
3224
3225 *) Исправление: при указании в директиве fastcgi_pass имени описанного
3226 upstream'а выдавалось сообщение "no port in upstream"; ошибка
3227 появилась в 0.5.0.
3228
3229 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3230 использовались одинаковых имена серверов, но с разными портами, то
3231 эти директивы использовали первый описанный порт; ошибка появилась в
3232 0.5.0.
3233
3234 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3235 использовались unix domain сокеты, то эти директивы использовали
3236 первый описанный сокет; ошибка появилась в 0.5.0.
3237
3238 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
3239 если он был указан в последней строке файла паролей и после пароля
3240 не было перевода строки, возврата каретки или символа ":".
3241
3242 *) Исправление: переменная $upstream_response_time могла быть равна
3243 "0.000", хотя время обработки было больше 1 миллисекунды.
3244
3245
3246 Изменения в nginx 0.5.0 04.12.2006
3247
3248 *) Изменение: параметры в виде "%name" в директиве log_format больше не
3249 поддерживаются.
3250
3251 *) Изменение: директивы proxy_upstream_max_fails,
3252 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
3253 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
3254 memcached_upstream_fail_timeout больше не поддерживаются.
3255
3256 *) Добавление: директива server в блоке upstream поддерживает параметры
3257 max_fails, fail_timeout и down.
3258
3259 *) Добавление: директива ip_hash в блоке upstream.
3260
3261 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
3262 сервера аутентификации IMAP/POP3 прокси.
3263
3264 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3265 появилась в 0.4.14.
3266
3267
3268 Изменения в nginx 0.4.14 27.11.2006
3269
3270 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
3271
3272 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
3273 Linux и NetBSD.
3274
3275 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
3276 поддержкой потоков; ошибка появилась в 0.3.38.
3277
3278 *) Исправление: ngx_http_perl_module не работал корректно, если перл
3279 вызывался рекурсивно.
3280
3281 *) Исправление: nginx игнорировал имя сервера в строке запроса.
3282
3283 *) Исправление: если FastCGI сервер передавал много в stderr, то
3284 рабочий процесс мог зациклиться.
3285
3286 *) Исправление: при изменении системного времени переменная
3287 $upstream_response_time могла быть отрицательной.
3288
3289 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
3290 прокси не передавался параметр Auth-Login-Attempt.
3291
3292 *) Исправление: при ошибке соединения с сервером аутентификации
3293 IMAP/POP3 прокси мог произойти segmentation fault.
3294
3295
3296 Изменения в nginx 0.4.13 15.11.2006
3297
3298 *) Добавление: директиву proxy_pass можно использовать внутри блока
3299 limit_except.
3300
3301 *) Добавление: директива limit_except поддерживает все WebDAV методы.
3302
3303 *) Исправление: при использовании директивы add_before_body без
3304 директивы add_after_body ответ передавался не полностью.
3305
3306 *) Исправление: большое тело запроса не принималось, если
3307 использовались метод epoll и deferred accept().
3308
3309 *) Исправление: для ответов модуля ngx_http_autoindex_module не
3310 выставлялась кодировка; ошибка появилась в 0.3.50.
3311
3312 *) Исправление: ошибки "[alert] zero size buf" при работе с
3313 FastCGI-сервером;
3314
3315 *) Исправление: параметр конфигурации --group= игнорировался.
3316 Спасибо Thomas Moschny.
3317
3318 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка
3319 появилась в 0.3.50.
3320
3321
3322 Изменения в nginx 0.4.12 31.10.2006
3323
3324 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3325 $r->variable.
3326
3327 *) Исправление: при включении в ответ большого статического файла с
3328 помощью SSI ответ мог передаваться не полностью.
3329
3330 *) Исправление: nginx не убирал "#fragment" в URI.
3331
3332
3333 Изменения в nginx 0.4.11 25.10.2006
3334
3335 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
3336
3337 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3338 $r->allow_ranges.
3339
3340 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
3341 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
3342
3343
3344 Изменения в nginx 0.4.10 23.10.2006
3345
3346 *) Добавление: POP3 прокси поддерживает APOP.
3347
3348 *) Исправление: при использовании методов select, poll и /dev/poll во
3349 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
3350 нагружал процессор.
3351
3352 *) Исправление: при использовании переменной $server_addr в директиве
3353 map мог произойти segmentation fault.
3354
3355 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
3356 для полных ответов; ошибка появилась в 0.4.7.
3357
3358 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
3359 0.4.9.
3360
3361
3362 Изменения в nginx 0.4.9 13.10.2006
3363
3364 *) Добавление: параметр set в команде SSI include.
3365
3366 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
3367 модуля nginx.pm.
3368
3369
3370 Изменения в nginx 0.4.8 11.10.2006
3371
3372 *) Исправление: если до команды SSI include с параметром wait
3373 выполнялась ещё одна команда SSI include, то параметр wait мог не
3374 работать.
3375
3376 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
3377 полных ответов.
3378 Спасибо Алексею Ковырину.
3379
3380
3381 Изменения в nginx 0.4.7 10.10.2006
3382
3383 *) Добавление: модуль ngx_http_flv_module.
3384
3385 *) Добавление: переменная $request_body_file.
3386
3387 *) Добавление: директивы charset и source_charset поддерживают
3388 переменные.
3389
3390 *) Исправление: если до команды SSI include с параметром wait
3391 выполнялась ещё одна команда SSI include, то параметр wait мог не
3392 работать.
3393
3394 *) Исправление: при использовании директивы "proxy_buffering off" или
3395 при работе с memcached соединения могли не закрываться по таймауту.
3396
3397 *) Исправление: nginx не запускался на 64-битных платформах, отличных
3398 от amd64, sparc64 и ppc64.
3399
3400
3401 Изменения в nginx 0.4.6 06.10.2006
3402
3403 *) Исправление: nginx не запускался на 64-битных платформах, отличных
3404 от amd64, sparc64 и ppc64.
3405
3406 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
3407 chunk'ами, если длина ответа в методе
3408 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
3409
3410 *) Исправление: после перенаправления ошибки с помощью директивы
3411 error_page любая директива модуля ngx_http_rewrite_module возвращала
3412 эту ошибку; ошибка появилась в 0.4.4.
3413
3414
3415 Изменения в nginx 0.4.5 02.10.2006
3416
3417 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
3418 в 0.4.4.
3419
3420
3421 Изменения в nginx 0.4.4 02.10.2006
3422
3423 *) Добавление: переменная $scheme.
3424
3425 *) Добавление: директива expires поддерживает параметр max.
3426
3427 *) Добавление: директива include поддерживает маску "*".
3428 Спасибо Jonathan Dance.
3429
3430 *) Исправление: директива return всегда изменяла код ответа,
3431 перенаправленного директивой error_page.
3432
3433 *) Исправление: происходил segmentation fault, если в методе PUT
3434 передавалось тело нулевой длины.
3435
3436 *) Исправление: при использовании переменных в директиве proxy_redirect
3437 редирект изменялся неверно.
3438
3439
3440 Изменения в nginx 0.4.3 26.09.2006
3441
3442 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью
3443 директивы error_page.
3444
3445 *) Добавление: поддержка Solaris 10 event ports.
3446
3447 *) Добавление: модуль ngx_http_browser_module.
3448
3449 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
3450 помощью директивы error_page мог произойти segmentation fault.
3451
3452 *) Исправление: происходил segmentation fault, если в директиве
3453 proxy_pass использовался unix domain сокет; ошибка появилась в
3454 0.3.47.
3455
3456 *) Исправление: SSI не работал с ответами memcached и
3457 небуферизированными проксированными ответами.
3458
3459 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
3460
3461
3462 Изменения в nginx 0.4.2 14.09.2006
3463
3464 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
3465 появилась в 0.4.1.
3466
3467
3468 Изменения в nginx 0.4.1 14.09.2006
3469
3470 *) Исправление: совместимость с DragonFlyBSD.
3471 Спасибо Павлу Назарову.
3472
3473 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
3474 файлов больше 2G.
3475
3476 *) Добавление: теперь на Linux nginx для статических запросов
3477 использует флаг O_NOATIME.
3478 Спасибо Yusuf Goolamabbas.
3479
3480
3481 Изменения в nginx 0.4.0 30.08.2006
3482
3483 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена
3484 из фазы init module в фазу HTTP postconfiguration.
3485
3486 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
3487 считывается заранее: нужно явно инициировать чтение с помощью метода
3488 $r->has_request_body.
3489
3490 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
3491 DECLINED.
3492
3493 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
3494 заголовка "Date" для метода PUT.
3495
3496 *) Добавление: директива ssi работает внутри блока if.
3497
3498 *) Исправление: происходил segmentation fault, если в директиве index
3499 использовалась переменные и при этом первое имя индексного файла
3500 было без переменных; ошибка появилась в 0.1.29.
3501
3502
3503 Изменения в nginx 0.3.61 28.08.2006
3504
3505 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
3506
3507 *) Добавление: директива msie_refresh.
3508
3509 *) Добавление: директива recursive_error_pages.
3510
3511 *) Исправление: директива rewrite возвращала неправильный редирект,
3512 если редирект включал в себя выделенные закодированные символы из
3513 оригинального URI.
3514
3515
3516 Изменения в nginx 0.3.60 18.08.2006
3517
3518 *) Исправление: во время перенаправления ошибки рабочий процесс мог
3519 зациклиться; ошибка появилась в 0.3.59.
3520
3521
3522 Изменения в nginx 0.3.59 16.08.2006
3523
3524 *) Добавление: теперь можно делать несколько перенаправлений через
3525 директиву error_page.
3526
3527 *) Исправление: директива dav_access не поддерживала три параметра.
3528
3529 *) Исправление: директива error_page не изменяла строку "Content-Type"
3530 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
3531 в 0.3.58.
3532
3533
3534 Изменения в nginx 0.3.58 14.08.2006
3535
3536 *) Добавление: директива error_page поддерживает переменные.
3537
3538 *) Изменение: теперь на Linux используется интерфейс procfs вместо
3539 sysctl.
3540
3541 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
3542 "Content-Type" наследуется из первоначального ответа.
3543
3544 *) Исправление: директива error_page не перенаправляла ошибку 413.
3545
3546 *) Исправление: завершающий "?" не удалял старые аргументы, если в
3547 переписанном URI не было новых аргументов.
3548
3549 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
3550
3551
3552 Изменения в nginx 0.3.57 09.08.2006
3553
3554 *) Добавление: переменная $ssl_client_serial.
3555
3556 *) Исправление: в операторе "!-e" в директиве if.
3557 Спасибо Андриану Буданцову.
3558
3559 *) Исправление: при проверке клиентского сертификата nginx не передавал
3560 клиенту информацию о требуемых сертификатах.
3561
3562 *) Исправление: переменная $document_root не поддерживала переменные в
3563 директиве root.
3564
3565
3566 Изменения в nginx 0.3.56 04.08.2006
3567
3568 *) Добавление: директива dav_access.
3569
3570 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
3571 "!-e", "-x" и "!-x".
3572
3573 *) Исправление: при записи в access_log некоторых передаваемых клиенту
3574 строк заголовков происходил segmentation fault, если запрос
3575 возвращал редирект.
3576
3577
3578 Изменения в nginx 0.3.55 28.07.2006
3579
3580 *) Добавление: параметр stub в команде SSI include.
3581
3582 *) Добавление: команда SSI block.
3583
3584 *) Добавление: скрипт unicode2nginx добавлен в contrib.
3585
3586 *) Исправление: если root был задан только переменной, то корень
3587 задавался относительно префикса сервера.
3588
3589 *) Исправление: если в запросе был "//" или "/.", и после этого
3590 закодированные символы в виде "%XX", то проксируемый запрос
3591 передавался незакодированным.
3592
3593 *) Исправление: метод $r->header_in("Cookie") модуля
3594 ngx_http_perl_module теперь возвращает все строки "Cookie" в
3595 заголовке запроса.
3596
3597 *) Исправление: происходил segmentation fault, если использовался
3598 "client_body_in_file_only on" и делался переход к следующему бэкенду.
3599
3600 *) Исправление: при некоторых условиях во время переконфигурации коды
3601 символов внутри директивы charset_map могли считаться неверными;
3602 ошибка появилась в 0.3.50.
3603
3604
3605 Изменения в nginx 0.3.54 11.07.2006
3606
3607 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
3608
3609 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
3610 memcached_next_upstream поддерживают параметр off.
3611
3612 *) Добавление: директива debug_connection поддерживает запись адресов в
3613 формате CIDR.
3614
3615 *) Исправление: при перекодировании ответа проксированного сервера или
3616 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
3617 полностью.
3618
3619 *) Исправление: переменная $upstream_response_time содержала время
3620 только первого обращения к бэкенду.
3621
3622 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
3623 в 0.3.53.
3624
3625
3626 Изменения в nginx 0.3.53 07.07.2006
3627
3628 *) Изменение: директива add_header добавляет строки в ответы с кодом
3629 204, 301 и 302.
3630
3631 *) Добавление: директива server в блоке upstream поддерживает параметр
3632 weight.
3633
3634 *) Добавление: директива server_name поддерживает маску "*".
3635
3636 *) Добавление: nginx поддерживает тело запроса больше 2G.
3637
3638 *) Исправление: если при использовании "satisfy_any on" клиент успешно
3639 проходил аутентификацию, в лог всё равно записалоcь сообщение
3640 "access forbidden by rule".
3641
3642 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
3643 409.
3644
3645 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
3646 ошибку, nginx продолжал проксирование.
3647
3648
3649 Изменения в nginx 0.3.52 03.07.2006
3650
3651 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
3652 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
3653 ошибку 405.
3654
3655 *) Исправление: при использовании ограничения скорости рабочий процесс
3656 мог зациклиться; ошибка появилась в 0.3.37.
3657
3658 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
3659 "unknown charset", даже если перекодировка не требовалась; ошибка
3660 появилась в 0.3.50.
3661
3662 *) Исправление: если в результате запроса PUT возвращался код 409, то
3663 временный файл не удалялся.
3664
3665
3666 Изменения в nginx 0.3.51 30.06.2006
3667
3668 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
3669 ошибка появилась в 0.3.50.
3670
3671
3672 Изменения в nginx 0.3.50 28.06.2006
3673
3674 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
3675 переименованы соответственно в proxy_intercept_errors и
3676 fastcgi_intercept_errors.
3677
3678 *) Добавление: модуль ngx_http_charset_module поддерживает
3679 перекодирование из однобайтных кодировок в UTF-8 и обратно.
3680
3681 *) Добавление: в режиме прокси и FastCGI поддерживается строка
3682 заголовка "X-Accel-Charset" в ответе бэкенда.
3683
3684 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
3685 только если также использовался символ "$".
3686
3687 *) Исправление: при некоторых условиях в SSI после вставки могла быть
3688 добавлена строка "<!--".
3689
3690 *) Исправление: если в заголовке ответа была строка
3691 "Content-Length: 0", то при использовании небуферизированного
3692 проксировании не закрывалось соединение с клиентом.
3693
3694
3695 Изменения в nginx 0.3.49 31.05.2006
3696
3697 *) Исправление: в директиве set.
3698
3699 *) Исправление: при включении в ssi двух и более подзапросов,
3700 обрабатываемых через FastCGI, вместо вывода второго и остальных
3701 подзапросов в ответ включался вывод первого подзапроса.
3702
3703
3704 Изменения в nginx 0.3.48 29.05.2006
3705
3706 *) Изменение: теперь модуль ngx_http_charset_module работает для
3707 подзапросов, в ответах которых нет строки заголовка "Content-Type".
3708
3709 *) Исправление: если в директиве proxy_pass не было URI, то директива
3710 "proxy_redirect default" добавляла в переписанный редирект в начало
3711 лишний слэш.
3712
3713 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
3714 GET, теперь это делается только для редиректов, выполняемых с
3715 помощью X-Accel-Redirect, и у которых метод не равен HEAD; ошибка
3716 появилась в 0.3.42.
3717
3718 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
3719 с поддержкой потоков; ошибка появилась в 0.3.46.
3720
3721
3722 Изменения в nginx 0.3.47 23.05.2006
3723
3724 *) Добавление: директива upstream.
3725
3726 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
3727 всегда убирается.
3728
3729
3730 Изменения в nginx 0.3.46 11.05.2006
3731
3732 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
3733 fastcgi_hide_header и fastcgi_pass_header.
3734
3735 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
3736 proxy_pass_server упразднены.
3737
3738 *) Добавление: в режиме прокси поддерживается строка заголовка
3739 "X-Accel-Buffering" в ответе бэкенда.
3740
3741 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
3742 ngx_http_perl_module.
3743
3744
3745 Изменения в nginx 0.3.45 06.05.2006
3746
3747 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
3748 ssl_client_certificate.
3749
3750 *) Изменение: теперь переменная $request_method возвращает метод только
3751 основного запроса.
3752
3753 *) Изменение: в таблице перекодировки koi-win изменены коды символа
3754 &deg;.
3755
3756 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
3757 номера.
3758
3759 *) Исправление: если nginx распределял запросы на несколько машин, то
3760 при падении одной из них запросы, предназначенные для этой машины,
3761 перенаправлялись только на одну машину вместо того, чтобы равномерно
3762 распределяться между остальными.
3763
3764
3765 Изменения в nginx 0.3.44 04.05.2006
3766
3767 *) Добавление: параметр wait в команде SSI include.
3768
3769 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
3770 белорусские символы.
3771
3772 *) Исправление: в SSI.
3773
3774
3775 Изменения в nginx 0.3.43 26.04.2006
3776
3777 *) Исправление: в SSI.
3778
3779
3780 Изменения в nginx 0.3.42 26.04.2006
3781
3782 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
3783
3784 *) Исправление: ошибки при использовании в директиве rewrite одного и
3785 того же выделения более одного раза.
3786
3787 *) Исправление: в лог не записывались переменные
3788 $sent_http_content_type, $sent_http_content_length,
3789 $sent_http_last_modified, $sent_http_connection,
3790 $sent_http_keep_alive и $sent_http_transfer_encoding.
3791
3792 *) Исправление: переменная $sent_http_cache_control возвращала
3793 содержимое только одной строки "Cache-Control" в заголовке ответа.
3794
3795
3796 Изменения в nginx 0.3.41 21.04.2006
3797
3798 *) Добавление: ключ -v.
3799
3800 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
3801 segmentation fault.
3802
3803 *) Исправление: в обработке FastCGI.
3804
3805 *) Исправление: если путь к перловым модулям не был указан с помощью
3806 --with-perl_modules_path=PATH или директивы perl_modules, то на
3807 старте происходил segmentation fault.
3808
3809
3810 Изменения в nginx 0.3.40 19.04.2006
3811
3812 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
3813
3814 *) Добавление: директива create_full_put_path.
3815
3816 *) Добавление: переменная $limit_rate.
3817
3818
3819 Изменения в nginx 0.3.39 17.04.2006
3820
3821 *) Добавление: директива uninitialized_variable_warn; уровень
3822 логгирования сообщения о неинициализированной переменной понижен с
3823 уровня alert на warn.
3824
3825 *) Добавление: директива override_charset.
3826
3827 *) Изменение: при использовании неизвестной переменной в SSI-командах
3828 echo и if expr='$name' теперь не записывается в лог сообщение о
3829 неизвестной переменной.
3830
3831 *) Исправление: счётчик активных соединений рос при превышении лимита
3832 соединений, заданного директивой worker_connections; ошибка
3833 появилась в 0.2.0.
3834
3835 *) Исправление: при некоторых условия ограничение скорости соединения
3836 могло не работать; ошибка появилась в 0.3.38.
3837
3838
3839 Изменения в nginx 0.3.38 14.04.2006
3840
3841 *) Добавление: модуль ngx_http_dav_module.
3842
3843 *) Изменение: оптимизация модуля ngx_http_perl_module.
3844 Спасибо Сергею Скворцову.
3845
3846 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3847 $r->request_body_file.
3848
3849 *) Добавление: директива client_body_in_file_only.
3850
3851 *) Изменение: теперь при переполнении диска nginx пытается писать
3852 access_log'и только раз в секунду.
3853 Спасибо Антону Южанинову и Максиму Дунину.
3854
3855 *) Исправление: теперь директива limit_rate точнее ограничивает
3856 скорость при значениях больше 100 Kbyte/s.
3857 Спасибо ForJest.
3858
3859 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
3860 символы "\r" и "\n" в логине и пароле в закодированном виде.
3861 Спасибо Максиму Дунину.
3862
3863
3864 Изменения в nginx 0.3.37 07.04.2006
3865
3866 *) Добавление: директива limit_except.
3867
3868 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
3869 "!-f".
3870
3871 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3872 $r->request_body.
3873
3874 *) Исправление: в модуле ngx_http_addition_filter_module.
3875
3876
3877 Изменения в nginx 0.3.36 05.04.2006
3878
3879 *) Добавление: модуль ngx_http_addition_filter_module.
3880
3881 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
3882 внутри блока if.
3883
3884 *) Добавление: директивы proxy_ignore_client_abort и
3885 fastcgi_ignore_client_abort.
3886
3887 *) Добавление: переменная $request_completion.
3888
3889 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3890 $r->request_method и $r->remote_addr.
3891
3892 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
3893
3894 *) Исправление: строка "\/" в начале выражения команды if модуля
3895 ngx_http_ssi_module воспринималась неверно.
3896
3897 *) Исправление: в использовании регулярных выражениях в команде if
3898 модуля ngx_http_ssi_module.
3899
3900 *) Исправление: при задании относительного пути в директивах
3901 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
3902 perl_modules использовался каталог относительно текущего каталога, а
3903 не относительно префикса сервера.
3904
3905
3906 Изменения в nginx 0.3.35 22.03.2006
3907
3908 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
3909 для первой директивы listen; ошибка появилась в 0.3.31.
3910
3911 *) Исправление: в директиве proxy_pass без URI при использовании в
3912 подзапросе.
3913
3914
3915 Изменения в nginx 0.3.34 21.03.2006
3916
3917 *) Добавление: директива add_header поддерживает переменные.
3918
3919
3920 Изменения в nginx 0.3.33 15.03.2006
3921
3922 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
3923 fastcgi_next_upstream.
3924
3925 *) Исправление: ngx_http_perl_module не работал со встроенным в
3926 конфигурационный файл кодом, если он не начинался сразу же с "sub".
3927
3928 *) Исправление: в директиве post_action.
3929
3930
3931 Изменения в nginx 0.3.32 11.03.2006
3932
3933 *) Исправление: удаление отладочного логгирования на старте и при
3934 переконфигурации; ошибка появилась в 0.3.31.
3935
3936
3937 Изменения в nginx 0.3.31 10.03.2006
3938
3939 *) Изменение: теперь nginx передаёт неверные ответы проксированного
3940 бэкенда.
3941
3942 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
3943
3944 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
3945
3946 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
3947 64-битном ядре MacOSX.
3948 Спасибо Андрею Нигматулину.
3949
3950 *) Исправление: если внутри одного сервера описаны несколько директив
3951 listen, слушающих на разных адресах, то имена серверов вида
3952 "*.domain.tld" работали только для первого адреса; ошибка появилась
3953 в 0.3.18.
3954
3955 *) Исправление: при использовании протокола HTTPS в директиве
3956 proxy_pass не передавались запросы с телом, записанным во временный
3957 файл.
3958
3959 *) Исправление: совместимость с perl 5.8.8.
3960
3961
3962 Изменения в nginx 0.3.30 22.02.2006
3963
3964 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
3965 с уровня crit.
3966
3967 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
3968 ngx_http_ssi_filter_module.
3969
3970 *) Исправление: nginx не собирался на i386 платформе, если
3971 использовался PIC; ошибка появилась в 0.3.27.
3972
3973
3974 Изменения в nginx 0.3.29 20.02.2006
3975
3976 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
3977 FastCGI передаёт большое количество предупреждений перед ответом.
3978
3979 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
3980 строка заголовка "Transfer-Encoding: chunked".
3981
3982 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
3983 передавал полные строки заголовка ответа в отдельных FastCGI записях.
3984
3985 *) Исправление: если в директиве post_action был указан проксируемый
3986 URI, то он выполнялся только после успешного завершения запроса.
3987
3988
3989 Изменения в nginx 0.3.28 16.02.2006
3990
3991 *) Добавление: директива restrict_host_names упразднена.
3992
3993 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
3994
3995 *) Исправление: при некоторых условиях проксированное соединение с
3996 клиентом завершалось преждевременно.
3997 Спасибо Владимиру Шутову.
3998
3999 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась
4000 для запросов, перенаправленных с помощью строки "X-Accel-Redirect".
4001
4002 *) Исправление: директива post_action работала только после успешного
4003 завершения запроса.
4004
4005 *) Исправление: тело проксированного ответа, создаваемого директивой
4006 post_action, передавалось клиенту.
4007
4008
4009 Изменения в nginx 0.3.27 08.02.2006
4010
4011 *) Изменение: директивы variables_hash_max_size и
4012 variables_hash_bucket_size.
4013
4014 *) Добавление: переменная $body_bytes_sent доступна не только в
4015 директиве log_format.
4016
4017 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
4018
4019 *) Добавление: определение размера строки кэша распространённых
4020 процессоров при старте.
4021
4022 *) Добавление: директива accept_mutex теперь поддерживается посредством
4023 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
4024
4025 *) Добавление: директива lock_file и параметр автоконфигурации
4026 --with-lock-path=PATH.
4027
4028 *) Исправление: при использовании протокола HTTPS в директиве
4029 proxy_pass не передавались запросы с телом.
4030
4031
4032 Изменения в nginx 0.3.26 03.02.2006
4033
4034 *) Изменение: директива optimize_host_names переименована в
4035 optimize_server_names.
4036
4037 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
4038 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
4039
4040
4041 Изменения в nginx 0.3.25 01.02.2006
4042
4043 *) Исправление: при неверной конфигурации на старте или во время
4044 переконфигурации происходил segmentation fault; ошибка появилась в
4045 0.3.24.
4046
4047
4048 Изменения в nginx 0.3.24 01.02.2006
4049
4050 *) Изменение: обход ошибки в kqueue во FreeBSD.
4051
4052 *) Исправление: ответ, создаваемый директивой post_action, теперь не
4053 передаётся клиенту.
4054
4055 *) Исправление: при использовании большого количества лог-файлов
4056 происходила утечка памяти.
4057
4058 *) Исправление: внутри одного location работала только первая директива
4059 proxy_redirect.
4060
4061 *) Исправление: на 64-битных платформах при старте мог произойти
4062 segmentation fault, если использовалось большое количество имён в
4063 директивах server_name; ошибка появилась в 0.3.18.
4064
4065
4066 Изменения в nginx 0.3.23 24.01.2006
4067
4068 *) Добавление: директива optimize_host_names.
4069
4070 *) Исправление: ошибки при использовании переменных в директивах path и
4071 alias.
4072
4073 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
4074 Linux и Solaris.
4075
4076
4077 Изменения в nginx 0.3.22 17.01.2006
4078
4079 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
4080 и $r->unescape.
4081
4082 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
4083 упразднён.
4084
4085 *) Исправление: если в директиве valid_referers указаны только none или
4086 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
4087
4088
4089 Изменения в nginx 0.3.21 16.01.2006
4090
4091 *) Добавление: модуль ngx_http_perl_module.
4092
4093 *) Изменение: директива valid_referers разрешает использовать рефереры
4094 совсем без URI.
4095
4096
4097 Изменения в nginx 0.3.20 11.01.2006
4098
4099 *) Исправление: ошибки в обработке SSI.
4100
4101 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
4102 виде /uri?args.
4103
4104
4105 Изменения в nginx 0.3.19 28.12.2005
4106
4107 *) Добавление: директивы path и alias поддерживают переменные.
4108
4109 *) Изменение: теперь директива valid_referers опять учитывает URI.
4110
4111 *) Исправление: ошибки в обработке SSI.
4112
4113
4114 Изменения в nginx 0.3.18 26.12.2005
4115
4116 *) Добавление: директива server_names поддерживает имена вида
4117 ".domain.tld".
4118
4119 *) Добавление: директива server_names использует хэш для имён вида
4120 "*.domain.tld" и более эффективный хэш для обычных имён.
4121
4122 *) Изменение: директивы server_names_hash_max_size и
4123 server_names_hash_bucket_size.
4124
4125 *) Изменение: директивы server_names_hash и server_names_hash_threshold
4126 упразднены.
4127
4128 *) Добавление: директива valid_referers использует хэш для имён сайтов.
4129
4130 *) Изменение: теперь директива valid_referers проверяет только имена
4131 сайтов без учёта URI.
4132
4133 *) Исправление: некоторые имена вида ".domain.tld" неверно
4134 обрабатывались модулем ngx_http_map_module.
4135
4136 *) Исправление: если конфигурационного файла не было, то происходил
4137 segmentation fault; ошибка появилась в 0.3.12.
4138
4139 *) Исправление: на 64-битных платформах при старте мог произойти
4140 segmentation fault; ошибка появилась в 0.3.16.
4141
4142
4143 Изменения в nginx 0.3.17 18.12.2005
4144
4145 *) Изменение: на Linux configure теперь проверяет наличие epoll и
4146 sendfile64() в ядре.
4147
4148 *) Добавление: директива map поддерживает доменные имена в формате
4149 ".domain.tld".
4150
4151 *) Исправление: во время SSL handshake не иcпользовались таймауты;
4152 ошибка появилась в 0.2.4.
4153
4154 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4155
4156 *) Исправление: при использовании протокола HTTPS в директиве
4157 proxy_pass по умолчанию использовался порт 80.
4158
4159
4160 Изменения в nginx 0.3.16 16.12.2005
4161
4162 *) Добавление: модуль ngx_http_map_module.
4163
4164 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
4165
4166 *) Добавление: директива ssi_value_length.
4167
4168 *) Добавление: директива worker_rlimit_core.
4169
4170 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
4171 Pentium 4 номер соединения в логах всегда был равен 1.
4172
4173 *) Исправление: команда config timefmt в SSI задавала неверный формат
4174 времени.
4175
4176 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
4177 использовании SSL соединений; ошибка появилась в 0.3.13.
4178 Спасибо Rob Mueller.
4179
4180 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
4181 ошибка появилась в 0.3.13.
4182
4183
4184 Изменения в nginx 0.3.15 07.12.2005
4185
4186 *) Добавление: новой код 444 в директиве return для закрытия соединения.
4187
4188 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
4189
4190 *) Исправление: nginx теперь вызывает abort() при обнаружении
4191 незакрытых соединений только при планом выходе и включённой
4192 директиве debug_points.
4193
4194
4195 Изменения в nginx 0.3.14 05.12.2005
4196
4197 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
4198 в 0.3.13.
4199
4200
4201 Изменения в nginx 0.3.13 05.12.2005
4202
4203 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
4204
4205 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
4206 /dev/poll.
4207
4208 *) Исправление: ошибки в обработке SSI.
4209
4210 *) Исправление: sendfilev() в Solaris теперь не используется при
4211 передаче тела запроса FastCGI-серверу через unix domain сокет.
4212
4213 *) Исправление: директива auth_basic не запрещала аутентификацию;
4214 ошибка появилась в 0.3.11.
4215
4216
4217 Изменения в nginx 0.3.12 26.11.2005
4218
4219 *) Безопасность: если nginx был собран с модулем
4220 ngx_http_realip_module, то при использовании директивы "satisfy_any
4221 on" директивы доступа и аутентификации не работали. Модуль
4222 ngx_http_realip_module не собирался и не собирается по умолчанию.
4223
4224 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
4225
4226 *) Изменение: директивы proxy_header_buffer_size и
4227 fastcgi_header_buffer_size переименованы соответственно в
4228 proxy_buffer_size и fastcgi_buffer_size.
4229
4230 *) Добавление: модуль ngx_http_memcached_module.
4231
4232 *) Добавление: директива proxy_buffering.
4233
4234 *) Исправление: изменение в работе с accept mutex при использовании
4235 метода rtsig; ошибка появилась в 0.3.0.
4236
4237 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
4238 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
4239
4240 *) Исправление: при наследовании директивы auth_basic с уровня http в
4241 строке "WWW-Authenticate" заголовка ответа выводился realm без
4242 текста "Basic realm".
4243
4244 *) Исправление: если в директиве access_log был явно указан формат
4245 combined, то в лог записывались пустые строки; ошибка появилась в
4246 0.3.8.
4247
4248 *) Исправление: nginx не работал на платформе sparc под любыми OS,
4249 кроме Solaris.
4250
4251 *) Исправление: в директиве if теперь не нужно разделять пробелом
4252 строку в кавычках и закрывающую скобку.
4253
4254
4255 Изменения в nginx 0.3.11 15.11.2005
4256
4257 *) Исправление: nginx не передавал при проксировании тело запроса и
4258 строки заголовка клиента; ошибка появилась в 0.3.10.
4259
4260
4261 Изменения в nginx 0.3.10 15.11.2005
4262
4263 *) Изменение: директива valid_referers и переменная $invalid_referer
4264 перенесены из модуля ngx_http_rewrite_module в новый модуль
4265 ngx_http_referer_module.
4266
4267 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
4268 "$body_bytes_sent".
4269
4270 *) Добавление: переменные "$sent_http_...".
4271
4272 *) Добавление: директива if поддерживает операции "=" и "!=".
4273
4274 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
4275
4276 *) Добавление: директива proxy_set_body.
4277
4278 *) Добавление: директива post_action.
4279
4280 *) Добавление: модуль ngx_http_empty_gif_module.
4281
4282 *) Добавление: директива worker_cpu_affinity для Linux.
4283
4284 *) Исправление: директива rewrite не раскодировала символы в редиректах
4285 в URI, теперь символы раскодируются, кроме символов %00-%25 и
4286 %7F-%FF.
4287
4288 *) Исправление: nginx не собирался компилятором icc 9.0.
4289
4290 *) Исправление: если для статического файла нулевого размера был
4291 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
4292
4293
4294 Изменения в nginx 0.3.9 10.11.2005
4295
4296 *) Исправление: nginx считал небезопасными URI, в которых между двумя
4297 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
4298
4299
4300 Изменения в nginx 0.3.8 09.11.2005
4301
4302 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
4303 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
4304 наличие путей "/../" и нулей.
4305
4306 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
4307 строке "Authorization" в заголовке запроса.
4308
4309 *) Добавление: директива ssl_session_timeout модулей
4310 ngx_http_ssl_module и ngx_imap_ssl_module.
4311
4312 *) Добавление: директива auth_http_header модуля
4313 ngx_imap_auth_http_module.
4314
4315 *) Добавление: директива add_header.
4316
4317 *) Добавление: модуль ngx_http_realip_module.
4318
4319 *) Добавление: новые переменные для использования в директиве
4320 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
4321 $uri, $request_time, $request_length, $upstream_status,
4322 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
4323 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
4324 упразднены.
4325
4326 *) Изменение: в директиве "if" ложными значениями переменных теперь
4327 являются пустая строка "" и строки, начинающиеся на "0".
4328
4329 *) Исправление: при работает с проксированными или FastCGI-серверами
4330 nginx мог оставлять открытыми соединения и временные файлы с
4331 запросами клиентов.
4332
4333 *) Исправление: рабочие процессы не сбрасывали буферизированные логи
4334 при плавном выходе.
4335
4336 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
4337 запрос проксировался в location, заданном регулярным выражением, то
4338 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
4339
4340 *) Исправление: директива expires не удаляла уже установленную строку
4341 заголовка "Expires".
4342
4343 *) Исправление: при использовании метода rtsig и нескольких рабочих
4344 процессах nginx мог перестать принимать запросы.
4345
4346 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
4347 "\'".
4348
4349 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
4350 при использовании сжатия ответ передавался не до конца или не
4351 передавался вообще.
4352
4353
4354 Изменения в nginx 0.3.7 27.10.2005
4355
4356 *) Добавление: директива access_log поддерживает параметр buffer=.
4357
4358 *) Исправление: nginx не собирался на платформах, отличных от i386,
4359 amd64, sparc и ppc; ошибка появилась в 0.3.2.
4360
4361
4362 Изменения в nginx 0.3.6 24.10.2005
4363
4364 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
4365 пустой логин.
4366
4367 *) Добавление: директива log_format поддерживает переменные в виде
4368 $name.
4369
4370 *) Исправление: если хотя бы в одном сервере не было описано ни одной
4371 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
4372 0.3.3.
4373
4374 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
4375 использовался порт 80.
4376
4377
4378 Изменения в nginx 0.3.5 21.10.2005
4379
4380 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
4381 мог произойти segmentation fault; ошибка появилась в 0.2.2.
4382
4383 *) Исправление: accept mutex не работал, все соединения обрабатывались
4384 одним рабочим процессом; ошибка появилась в 0.3.3.
4385
4386 *) Исправление: при использовании метода rtsig и директивы
4387 timer_resolution не работали таймауты.
4388
4389
4390 Изменения в nginx 0.3.4 19.10.2005
4391
4392 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
4393 появилась в 0.3.3.
4394
4395
4396 Изменения в nginx 0.3.3 19.10.2005
4397
4398 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
4399 "backlog" и "accept_filter".
4400
4401 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
4402
4403 *) Изменение: параметр лога $msec теперь не требует дополнительного
4404 системного вызова gettimeofday().
4405
4406 *) Добавление: ключ -t теперь проверяет директивы listen.
4407
4408 *) Исправление: если в директиве listen был указан неверный адрес, то
4409 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
4410
4411 *) Исправление: для индексных файлов, содержащих в имени переменную,
4412 мог неверно выставляться тип mime по умолчанию; ошибка появилась в
4413 0.3.0.
4414
4415 *) Добавление: директива timer_resolution.
4416
4417 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
4418
4419 *) Исправление: временный файл с телом запроса клиента теперь удаляется
4420 сразу после того, как клиенту передан заголовок ответа.
4421
4422 *) Исправление: совместимость с OpenSSL 0.9.6.
4423
4424 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
4425 относительными.
4426
4427 *) Исправление: директива ssl_prefer_server_ciphers не работала для
4428 модуля ngx_imap_ssl_module.
4429
4430 *) Исправление: директива ssl_protocols позволяла задать только один
4431 протокол.
4432
4433
4434 Изменения в nginx 0.3.2 12.10.2005
4435
4436 *) Добавление: поддержка Sun Studio 10 C compiler.
4437
4438 *) Добавление: директивы proxy_upstream_max_fails,
4439 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
4440 fastcgi_upstream_fail_timeout.
4441
4442
4443 Изменения в nginx 0.3.1 10.10.2005
4444
4445 *) Исправление: во время переполнения очереди сигналов при
4446 использовании метода rtsig происходил segmentation fault; ошибка
4447 появилась в 0.2.0.
4448
4449 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
4450
4451
4452 Изменения в nginx 0.3.0 07.10.2005
4453
4454 *) Изменение: убрано десятидневное ограничение времени работы рабочего
4455 процесса. Ограничение было введено из-за переполнения миллисекундных
4456 таймеров.
4457
4458
4459 Изменения в nginx 0.2.6 05.10.2005
4460
4461 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
4462 бэкенду при использовании распределения нагрузки.
4463
4464 *) Изменение: директива proxy_pass_unparsed_uri упразднена,
4465 оригинальный запрос теперь передаётся, если в директиве proxy_pass
4466 отсутствует URI.
4467
4468 *) Добавление: директива error_page поддерживает редиректы и позволяет
4469 более гибко менять код ошибки.
4470
4471 *) Изменение: в проксированных подзапросах теперь игнорируется
4472 переданный charset.
4473
4474 *) Исправление: если после изменения URI в блоке if для запроса не
4475 находилась новая конфигурация, то правила модуля
4476 ngx_http_rewrite_module выполнялись снова.
4477
4478 *) Исправление: если директива set устанавливала переменную модуля
4479 ngx_http_geo_module в какой-либо части конфигурации, то эта
4480 переменная не была доступна в других частях конфигурации и
4481 выдавалась ошибка "using uninitialized variable"; ошибка появилась в
4482 0.2.2.
4483
4484
4485 Изменения в nginx 0.2.5 04.10.2005
4486
4487 *) Изменение: дублирующее значение переменной модуля
4488 ngx_http_geo_module теперь выдаёт предупреждение и изменяет старое
4489 значение.
4490
4491 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
4492
4493 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
4494 команде include.
4495
4496 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
4497 значений переменных в выражениях команды if.
4498
4499
4500 Изменения в nginx 0.2.4 03.10.2005
4501
4502 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
4503 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
4504 if.
4505
4506 *) Исправление: ошибки при проксировании location без слэша в конце;
4507 ошибка появилась в 0.1.44.
4508
4509 *) Исправление: при использовании метода rtsig мог произойти
4510 segmentation fault; ошибка появилась в 0.2.0.
4511
4512
4513 Изменения в nginx 0.2.3 30.09.2005
4514
4515 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4516 появилась в 0.2.2.
4517
4518
4519 Изменения в nginx 0.2.2 30.09.2005
4520
4521 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
4522
4523 *) Изменение: переменные модуля ngx_http_geo_module можно
4524 переопределять директивой set.
4525
4526 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
4527 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
4528
4529 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4530 длинных имён файлов;
4531
4532 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
4533 файлы, начинающиеся на точку.
4534
4535 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
4536 привести также к закрытию другого соединения.
4537 Спасибо Rob Mueller.
4538
4539 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
4540 HTTPS.
4541
4542
4543 Изменения в nginx 0.2.1 23.09.2005
4544
4545 *) Исправление: если все бэкенды, используемые для балансировки
4546 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4547 nginx мог зациклится; ошибка появилась в 0.2.0.
4548
4549
4550 Изменения в nginx 0.2.0 23.09.2005
4551
4552 *) Изменились имена pid-файлов, используемые во время обновления
4553 исполняемого файла. Ручное переименование теперь не нужно. Старый
4554 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
4555 запускает новый исполняемый файл. Новый основной процесс создаёт
4556 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
4557 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
4558 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
4559 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
4560 0.2.0 - используют pid-файл без суффиксов.
4561
4562 *) Изменение: директива worker_connections, новое название директивы
4563 connections; директива теперь задаёт максимальное число соединений,
4564 а не максимально возможный номер дескриптора для сокета.
4565
4566 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
4567 рабочего процесса.
4568
4569 *) Добавление: директива satisfy_any.
4570
4571 *) Изменение: модули ngx_http_access_module и
4572 ngx_http_auth_basic_module не работают для подзапросов.
4573
4574 *) Добавление: директивы worker_rlimit_nofile и
4575 worker_rlimit_sigpending.
4576
4577 *) Исправление: если все бэкенды, используемые для балансировки
4578 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4579 nginx не обращался к ним в течение 60 секунд.
4580
4581 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
4582 Спасибо Rob Mueller.
4583
4584 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
4585
4586 *) Исправление: ошибки при использовании SSI и сжатия.
4587
4588 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
4589 "Expires" и "Cache-Control".
4590 Спасибо Александру Кукушкину.
4591
4592
4593 Изменения в nginx 0.1.45 08.09.2005
4594
4595 *) Изменение: директива ssl_engine упразднена в модуле
4596 ngx_http_ssl_module и перенесена на глобальный уровень.
4597
4598 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
4599 передавались через SSL соединение.
4600
4601 *) Разные исправления в IMAP/POP3 прокси.
4602
4603
4604 Изменения в nginx 0.1.44 06.09.2005
4605
4606 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
4607
4608 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
4609
4610 *) Добавление: директива userid_mark.
4611
4612 *) Добавление: значение переменной $remote_user определяется независимо
4613 от того, используется ли авторизация или нет.
4614
4615
4616 Изменения в nginx 0.1.43 30.08.2005
4617
4618 *) Добавление: listen(2) backlog в директиве listen можно менять по
4619 сигналу -HUP.
4620
4621 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
4622
4623 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
4624 серверу.
4625
4626 *) Исправление: если в ответе проксированного сервера или FastCGI
4627 сервера была строка "Cache-Control", то при использовании директивы
4628 expires происходил segmentation fault или рабочий процесс мог
4629 зациклится; в режиме прокси ошибка появилась в 0.1.29.
4630
4631
4632 Изменения в nginx 0.1.42 23.08.2005
4633
4634 *) Исправление: если URI запроса получался нулевой длины после
4635 обработки модулем ngx_http_rewrite_module, то в модуле
4636 ngx_http_proxy_module происходил segmentation fault или bus error.
4637
4638 *) Исправление: директива limit_rate не работала внутри блока if;
4639 ошибка появилась в 0.1.38.
4640
4641
4642 Изменения в nginx 0.1.41 25.07.2005
4643
4644 *) Исправление: если переменная использовалась в файле конфигурации, то
4645 она не могла использоваться в SSI.
4646
4647
4648 Изменения в nginx 0.1.40 22.07.2005
4649
4650 *) Исправление: если клиент слал очень длинную строку заголовка, то в
4651 логе не помещалась информация, связанная с этим запросом.
4652
4653 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4654 строка "Set-Cookie"; ошибка появилась в 0.1.39.
4655
4656 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4657 строка "Content-Disposition".
4658
4659 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
4660 на которых он слушал.
4661
4662 *) Исправление: после обновления исполняемого файла на лету на Linux и
4663 Solaris название процесса в команде ps становилось короче.
4664
4665
4666 Изменения в nginx 0.1.39 14.07.2005
4667
4668 *) Изменения в модуле ngx_http_charset_module: директива
4669 default_charset упразднена; директива charset задаёт кодировку
4670 ответа; директива source_charset задаёт только исходную кодировку.
4671
4672 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
4673 не передавалась строка заголовка "WWW-Authenticate".
4674
4675 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
4676 могли закрыть соединение до того, как что-нибудь было передано
4677 клиенту; ошибка появилась в 0.1.38.
4678
4679 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
4680
4681 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
4682 URI в команде include virtual.
4683
4684 *) Исправление: если в строке заголовка ответа бэкенда была строка
4685 "Location", которую nginx не должен был изменять, то в ответе
4686 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
4687
4688 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
4689 ngx_http_fastcgi_module не наследовались с уровня server на уровень
4690 location; ошибка появилась в 0.1.29.
4691
4692 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
4693 сертификатов.
4694
4695 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4696 длинных имён файлов; ошибка появилась в 0.1.38.
4697
4698 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
4699 стадии login.
4700
4701
4702 Изменения в nginx 0.1.38 08.07.2005
4703
4704 *) Добавление: директива limit_rate поддерживается в режиме прокси и
4705 FastCGI.
4706
4707 *) Добавление: в режиме прокси и FastCGI поддерживается строка
4708 заголовка "X-Accel-Limit-Rate" в ответе бэкенда.
4709
4710 *) Добавление: директива break.
4711
4712 *) Добавление: директива log_not_found.
4713
4714 *) Исправление: при перенаправлении запроса с помощью строки заголовка
4715 "X-Accel-Redirect" не изменялся код ответа.
4716
4717 *) Исправление: переменные, установленные директивой set не могли
4718 использоваться в SSI.
4719
4720 *) Исправление: при включении в SSI более одного удалённого подзапроса
4721 мог произойти segmentation fault.
4722
4723 *) Исправление: если статусная строка в ответе бэкенда передавалась в
4724 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
4725 0.1.29.
4726
4727 *) Добавление: директива ssi_types.
4728
4729 *) Добавление: директива autoindex_exact_size.
4730
4731 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
4732 имена файлов в UTF-8.
4733
4734 *) Добавление: IMAP/POP3 прокси.
4735
4736
4737 Изменения в nginx 0.1.37 23.06.2005
4738
4739 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
4740
4741 *) Исправление: при включении большого количества вставок или
4742 нескольких больших вставок с помощью SSI ответ мог передаваться не
4743 полностью.
4744
4745 *) Исправление: если все бэкенды возвращали ответ 404, то при
4746 использовании параметра http_404 в директивах proxy_next_upstream
4747 или fastcgi_next_upstream, nginx начинал запрашивать все бэкенды
4748 снова.
4749
4750
4751 Изменения в nginx 0.1.36 15.06.2005
4752
4753 *) Изменение: если в заголовке запросе есть дублирующиеся строки
4754 "Host", "Connection", "Content-Length" и "Authorization", то nginx
4755 теперь выдаёт ошибку 400.
4756
4757 *) Изменение: директива post_accept_timeout упразднена.
4758
4759 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
4760 listen.
4761
4762 *) Добавление: поддержка accept фильтров во FreeBSD.
4763
4764 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
4765
4766 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
4767 файлов в UTF-8.
4768
4769 *) Исправление: после добавления новый лог-файл ротация этого лога по
4770 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
4771 раза по сигналу -HUP.
4772
4773
4774 Изменения в nginx 0.1.35 07.06.2005
4775
4776 *) Добавление: директива working_directory.
4777
4778 *) Добавление: директива port_in_redirect.
4779
4780 *) Исправление: если заголовок ответа бэкенда не помещался в один
4781 пакет, то происходил segmentation fault; ошибка появилась в 0.1.29.
4782
4783 *) Исправление: если было сконфигурировано более 10 серверов или в
4784 сервере не описана директива "listen", то при запуске мог произойти
4785 segmentation fault.
4786
4787 *) Исправление: если ответ не помещался во временный файл, то мог
4788 произойти segmentation fault.
4789
4790 *) Исправление: nginx возвращал ошибку 400 на запросы вида
4791 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
4792
4793
4794 Изменения в nginx 0.1.34 26.05.2005
4795
4796 *) Исправление: при включении больших ответов с помощью SSI рабочий
4797 процесс мог зациклиться.
4798
4799 *) Исправление: переменные, устанавливаемые директивой "set", не были
4800 доступны в SSI.
4801
4802 *) Добавление: директива autoindex_localtime.
4803
4804 *) Исправление: пустое значение в директиве proxy_set_header запрещает
4805 передачу заголовка.
4806
4807
4808 Изменения в nginx 0.1.33 23.05.2005
4809
4810 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
4811 появилась в 0.1.29.
4812
4813 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
4814 вызывали bus fault при запуске.
4815
4816 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
4817 HTTP.
4818
4819 *) Исправление: если директива rewrite использовала выделения внутри
4820 директивы if, то возвращалась ошибка 500.
4821
4822
4823 Изменения в nginx 0.1.32 19.05.2005
4824
4825 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite,
4826 не передавались аргументы; ошибка появилась в 0.1.29.
4827
4828 *) Добавление: директива if поддерживает выделения в регулярных
4829 выражениях.
4830
4831 *) Добавление: директива set поддерживает переменные и выделения из
4832 регулярных выражений.
4833
4834 *) Добавление: в режиме прокси и FastCGI поддерживается строка
4835 заголовка "X-Accel-Redirect" в ответе бэкенда.
4836
4837
4838 Изменения в nginx 0.1.31 16.05.2005
4839
4840 *) Исправление: при использовании SSL ответ мог передаваться не до
4841 конца.
4842
4843 *) Исправление: ошибки при обработке SSI в ответе, полученного от
4844 FastCGI-сервера.
4845
4846 *) Исправление: ошибки при использовании SSI и сжатия.
4847
4848 *) Исправление: редирект с кодом 301 передавался без тела ответа;
4849 ошибка появилась в 0.1.30.
4850
4851
4852 Изменения в nginx 0.1.30 14.05.2005
4853
4854 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
4855
4856 *) Исправление: при использовании SSL ответ мог передаваться не до
4857 конца.
4858
4859 *) Исправление: если длина части ответа, полученного за один раз от
4860 проксируемого или FastCGI сервера была равна 500 байт, то nginx
4861 возвращал код ответа 500; в режиме прокси ошибка появилась только в
4862 0.1.29.
4863
4864 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
4865 параметрами.
4866
4867 *) Добавление: директива return может возвращать код ответа 204.
4868
4869 *) Добавление: директива ignore_invalid_headers.
4870
4871
4872 Изменения в nginx 0.1.29 12.05.2005
4873
4874 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
4875 virtual.
4876
4877 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
4878 вида 'if expr="$NAME"' и команды else и endif. Допускается только
4879 один уровень вложенности.
4880
4881 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
4882 DATE_LOCAL и DATE_GMT и команду config timefmt.
4883
4884 *) Добавление: директива ssi_ignore_recycled_buffers.
4885
4886 *) Исправление: если переменная QUERY_STRING не была определена, то в
4887 команде echo не ставилось значение по умолчанию.
4888
4889 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
4890
4891 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
4892 proxy_pass_request_body и proxy_method.
4893
4894 *) Добавление: директива proxy_set_header. Директива proxy_x_var
4895 упразднена и должна быть заменена директивой proxy_set_header.
4896
4897 *) Изменение: директива proxy_preserve_host упразднена и должна быть
4898 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
4899 off" или директивой "proxy_set_header Host $host:$proxy_port" и
4900 соответствующими ей директивами proxy_redirect.
4901
4902 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
4903 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
4904
4905 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
4906 быть заменена директивой
4907 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
4908
4909 *) Изменение: директива proxy_set_x_url упразднена и должна быть
4910 заменена директивой
4911 "proxy_set_header X-URL http://$host:$server_port$request_uri".
4912
4913 *) Добавление: директива fastcgi_param.
4914
4915 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
4916 упразднены и должны быть замены директивами fastcgi_param.
4917
4918 *) Добавление: директива index может использовать переменные.
4919
4920 *) Добавление: директива index может быть указана на уровне http и
4921 server.
4922
4923 *) Изменение: только последний параметр в директиве index может быть
4924 абсолютным.
4925
4926 *) Добавление: в директиве rewrite могут использоваться переменные.
4927
4928 *) Добавление: директива internal.
4929
4930 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
4931 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
4932 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
4933
4934 *) Изменение: nginx теперь передаёт неверные строки в заголовках
4935 запроса клиента и ответа бэкенда.
4936
4937 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
4938 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
4939
4940 *) Исправление: если бэкенд передавал неверную строку в заголовке
4941 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
4942
4943 *) Исправление: при использовании отказоустойчивой конфигурации в
4944 FastCGI мог происходить segmentation fault.
4945
4946 *) Исправление: директива expires не удаляла уже установленные строки
4947 заголовка "Expires" и "Cache-Control".
4948
4949 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
4950 запроса "Host".
4951
4952 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
4953
4954 *) Исправление: директива rewrite неверно работала, если в запросе
4955 присутствовали аргументы.
4956
4957 *) Исправление: nginx не собирался на MacOS X.
4958
4959
4960 Изменения в nginx 0.1.28 08.04.2005
4961
4962 *) Исправление: при проксировании больших файлов nginx сильно нагружал
4963 процессор.
4964
4965 *) Исправление: nginx не собирался gcc 4.0 на Linux.
4966
4967
4968 Изменения в nginx 0.1.27 28.03.2005
4969
4970 *) Добавление: параметр blocked в директиве valid_referers.
4971
4972 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
4973 уровне info, в лог также записывается имя сервера и строки заголовка
4974 запроса "Host" и "Referer".
4975
4976 *) Изменение: при записи ошибок в лог записывается также строка
4977 заголовка запроса "Host".
4978
4979 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
4980 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
4981
4982 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
4983 параметр конфигурации --without-ngx_http_auth_basic_module.
4984
4985
4986 Изменения в nginx 0.1.26 22.03.2005
4987
4988 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
4989 игнорируется и записываются в error_log на уровне info.
4990
4991 *) Изменение: при записи ошибок в лог записывается также имя сервера,
4992 при обращении к которому произошла ошибка.
4993
4994 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
4995 и auth_basic_user_file.
4996
4997
4998 Изменения в nginx 0.1.25 19.03.2005
4999
5000 *) Исправление: nginx не работал на Linux parisc.
5001
5002 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
5003 sysctl kern.ipc.somaxconn слишком большое.
5004
5005 *) Исправление: если модуль ngx_http_index_module делал внутреннее
5006 перенаправление запроса в модули ngx_http_proxy_module или
5007 ngx_http_fastcgi_module, то файл индекса не закрывался после
5008 обслуживания запроса.
5009
5010 *) Добавление: директива proxy_pass может использоваться в location,
5011 заданных регулярным выражением.
5012
5013 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
5014 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
5015
5016 *) Исправление: nginx очень медленно запускался при большом количестве
5017 адресов и использовании текстовых значений в директиве geo.
5018
5019 *) Изменение: имя переменной в директиве geo нужно указывать, как
5020 $name. Прежний вариант без "$" пока работает, но вскоре будет убран.
5021
5022 *) Добавление: параметр лога "%{VARIABLE}v".
5023
5024 *) Добавление: директива "set $name value".
5025
5026 *) Исправление: совместимость с gcc 4.0.
5027
5028 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
5029
5030
5031 Изменения в nginx 0.1.24 04.03.2005
5032
5033 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает
5034 переменные QUERY_STRING и DOCUMENT_URI.
5035
5036 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
5037 на существующий каталог, если этот каталог был указан как alias.
5038
5039 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
5040 при больших ответах.
5041
5042 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
5043 правильным referrer'ом.
5044
5045
5046 Изменения в nginx 0.1.23 01.03.2005
5047
5048 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
5049 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
5050 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
5051
5052 *) Добавление: параметр лога %request_time.
5053
5054 *) Добавление: если запрос пришёл без строки заголовка "Host", то
5055 директива proxy_preserve_host устанавливает в качестве этого
5056 заголовка первое имя сервера из директивы server_name.
5057
5058 *) Исправление: nginx не собирался на платформах, отличных от i386,
5059 amd64, sparc и ppc; ошибка появилась в 0.1.22.
5060
5061 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
5062 информацию не о символическом линке, а о файле или каталоге, на
5063 который он указывает.
5064
5065 *) Исправление: если клиенту ничего не передавалось, то параметр
5066 %apache_length записывал в лог отрицательную длину заголовка ответа.
5067
5068
5069 Изменения в nginx 0.1.22 22.02.2005
5070
5071 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5072 статистику для обработанных соединений, если использовалось
5073 проксирование или FastCGI-сервер.
5074
5075 *) Исправление: на Linux и Solaris установочные пути были неверно
5076 заключены в кавычки; ошибка появилась в 0.1.21.
5077
5078
5079 Изменения в nginx 0.1.21 22.02.2005
5080
5081 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5082 статистику при использовании метода rtsig или при использовании
5083 нескольких рабочих процессов на SMP машине.
5084
5085 *) Исправление: nginx не собирался компилятором icc под Линуксом или
5086 если библиотека zlib-1.2.x собиралась из исходных текстов.
5087
5088 *) Исправление: nginx не собирался под NetBSD 2.0.
5089
5090
5091 Изменения в nginx 0.1.20 17.02.2005
5092
5093 *) Добавление: новые параметры script_filename и remote_port в
5094 директиве fastcgi_params.
5095
5096 *) Исправление: неправильно обрабатывался поток stderr от
5097 FastCGI-сервера.
5098
5099
5100 Изменения в nginx 0.1.19 16.02.2005
5101
5102 *) Исправление: если в запросе есть нуль, то для локальных запросов
5103 теперь возвращается ошибка 404.
5104
5105 *) Исправление: nginx не собирался под NetBSD 2.0.
5106
5107 *) Исправление: во время чтения тела запроса клиента в SSL соединении
5108 мог произойти таймаут.
5109
5110
5111 Изменения в nginx 0.1.18 09.02.2005
5112
5113 *) Изменение: для совместимости с Solaris 10 в директивах
5114 devpoll_events и devpoll_changes значения по умолчанию уменьшены с
5115 512 до 32.
5116
5117 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
5118 наследовались.
5119
5120 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
5121 присоединялись к URI через символ "&" вместо "?".
5122
5123 *) Исправление: строки для модуля ngx_http_geo_module без символа ";"
5124 во включённом файле игнорировались.
5125
5126 *) Добавление: модуль ngx_http_stub_status_module.
5127
5128 *) Исправление: неизвестный формат лог-файла в директиве access_log
5129 вызывал segmentation fault.
5130
5131 *) Добавление: новый параметр document_root в директиве fastcgi_params.
5132
5133 *) Добавление: директива fastcgi_redirect_errors.
5134
5135 *) Добавление: новый модификатор break в директиве rewrite позволяет
5136 прекратить цикл rewrite/location и устанавливает текущую
5137 конфигурацию для запроса.
5138
5139
5140 Изменения в nginx 0.1.17 03.02.2005
5141
5142 *) Изменение: модуль ngx_http_rewrite_module полностью переписан.
5143 Теперь можно делать редиректы, возвращать коды ошибок и проверять
5144 переменные и рефереры. Эти директивы можно использовать внутри
5145 location. Директива redirect упразднена.
5146
5147 *) Добавление: модуль ngx_http_geo_module.
5148
5149 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
5150
5151 *) Исправление: конфигурация location с модификатором "=" могла
5152 использоваться в другом location.
5153
5154 *) Исправление: правильный тип ответа выставлялся только для запросов,
5155 у которых в расширении были только маленькие буквы.
5156
5157 *) Исправление: если для location установлен proxy_pass или
5158 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
5159 на статическую страницу, то происходил segmentation fault.
5160
5161 *) Исправление: если в проксированном ответе в заголовке "Location"
5162 передавался относительный URL, то к нему добавлялось имя хоста и
5163 слэш; ошибка появилась в 0.1.14.
5164
5165 *) Исправление: на Linux в лог не записывался текст системной ошибки.
5166
5167
5168 Изменения в nginx 0.1.16 25.01.2005
5169
5170 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
5171 выдавался завершающий chunk.
5172
5173 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
5174 директива keepalive_timeout запрещала использование keep-alive.
5175
5176 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
5177 segmentation fault.
5178
5179 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
5180 до конца.
5181
5182 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
5183 для TCP сокетов, не используются для unix domain сокетов.
5184
5185 *) Добавление: директива rewrite поддерживает перезаписывание
5186 аргументов.
5187
5188 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
5189 возвращался ответ 400; ошибка появилась в 0.1.14.
5190
5191
5192 Изменения в nginx 0.1.15 19.01.2005
5193
5194 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
5195 segmentation fault.
5196
5197 *) Исправление: корректная обработка регулярного выражения, в котором
5198 число выделенных частей не совпадает с числом подстановок.
5199
5200 *) Добавление: location, который передаётся FastCGI-серверу, может быть
5201 задан с помощью регулярного выражения.
5202
5203 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
5204 аргументами и в том виде, в котором был получен от клиента.
5205
5206 *) Исправление: для использования регулярных выражений в location нужно
5207 было собирать nginx вместе с ngx_http_rewrite_module.
5208
5209 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
5210 директивы "proxy_preserve_host on" в заголовке "Host" указывался
5211 также порт 80; ошибка появилась в 0.1.14.
5212
5213 *) Исправление: если задать одинаковые пути в параметрах
5214 автоконфигурации --http-client-body-temp-path=PATH и
5215 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
5216 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
5217
5218
5219 Изменения в nginx 0.1.14 18.01.2005
5220
5221 *) Добавление: параметры автоконфигурации
5222 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
5223 --http-fastcgi-temp-path=PATH
5224
5225 *) Изменение: имя каталога с временными файлами, содержащие тело
5226 запроса клиента, задаётся директивой client_body_temp_path, по
5227 умолчанию <prefix>/client_body_temp.
5228
5229 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
5230 fastcgi_root, fastcgi_index, fastcgi_params,
5231 fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
5232 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
5233 fastcgi_busy_buffers_size, fastcgi_temp_path,
5234 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
5235 fastcgi_next_upstream и fastcgi_x_powered_by.
5236
5237 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
5238 0.1.3.
5239
5240 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
5241 после имени хоста.
5242
5243 *) Изменение: если в URI встречался символ %3F, то он считался началом
5244 строки аргументов.
5245
5246 *) Добавление: поддержка unix domain сoкетов в модуле
5247 ngx_http_proxy_module.
5248
5249 *) Добавление: директивы ssl_engine и ssl_ciphers.
5250 Спасибо Сергею Скворцову за SSL-акселератор.
5251
5252
5253 Изменения в nginx 0.1.13 21.12.2004
5254
5255 *) Добавление: директивы server_names_hash и
5256 server_names_hash_threshold.
5257
5258 *) Исправление: имена *.domain.tld в директиве server_name не работали.
5259
5260 *) Исправление: параметр лога %request_length записывал неверную длину.
5261
5262
5263 Изменения в nginx 0.1.12 06.12.2004
5264
5265 *) Добавление: параметр лога %request_length.
5266
5267 *) Исправление: при использовании /dev/poll, select и poll на
5268 платформах, где возможны ложные срабатывания указанных методов,
5269 могли быть длительные задержки при обработке запроса по keep-alive
5270 соединению. Наблюдалось по крайней мере на Solaris с использованием
5271 /dev/poll.
5272
5273 *) Исправление: директива send_lowat игнорируется на Linux, так как
5274 Linux не поддерживает опцию SO_SNDLOWAT.
5275
5276
5277 Изменения в nginx 0.1.11 02.12.2004
5278
5279 *) Добавление: директива worker_priority.
5280
5281 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
5282 влияют на передачу ответа.
5283
5284 *) Исправление: nginx не вызывал initgroups().
5285 Спасибо Андрею Ситникову и Андрею Нигматулину.
5286
5287 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
5288 байтах.
5289
5290 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
5291 каталоге есть битый symlink.
5292
5293 *) Исправление: файлы больше 4G не передавались с использованием
5294 sendfile.
5295
5296 *) Исправление: если бэкенд резолвился в несколько адресов и при
5297 ожидании от него ответа происходила ошибка, то процесс зацикливался.
5298
5299 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
5300 завершиться с сообщением "unknown cycle".
5301
5302 *) Исправление: ошибки "close() channel failed".
5303
5304 *) Исправление: автоматическое определение групп nobody и nogroup.
5305
5306 *) Исправление: директива send_lowat не работала на Linux.
5307
5308 *) Исправление: если в конфигурации не было раздела events, то
5309 происходил segmentation fault.
5310
5311 *) Исправление: nginx не собирался под OpenBSD.
5312
5313 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
5314
5315
5316 Изменения в nginx 0.1.10 26.11.2004
5317
5318 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
5319 или "%XX", то терялся последний символ в строке запроса; ошибка
5320 появилась в 0.1.9.
5321
5322 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на
5323 Linux не работало.
5324
5325
5326 Изменения в nginx 0.1.9 25.11.2004
5327
5328 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
5329 проксируемый запрос передавался без аргументов.
5330
5331 *) Исправление: при сжатии больших ответов иногда они передавались не
5332 полностью.
5333
5334 *) Исправление: не передавались файлы больше 2G на Linux,
5335 неподдерживающем sendfile64().
5336
5337 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
5338 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
5339
5340
5341 Изменения в nginx 0.1.8 20.11.2004
5342
5343 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5344 длинных имён файлов.
5345
5346 *) Добавление: модификатор "^~" в директиве location.
5347
5348 *) Добавление: директива proxy_max_temp_file_size.
5349
5350
5351 Изменения в nginx 0.1.7 12.11.2004
5352
5353 *) Исправление: при использовании sendfile, если передаваемый файл
5354 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
5355 появилась в 0.1.5.
5356
5357
5358 Изменения в nginx 0.1.6 11.11.2004
5359
5360 *) Исправление: при некоторых комбинациях директив location c
5361 регулярными выражениями использовалась конфигурация не из того
5362 location.
5363
5364
5365 Изменения в nginx 0.1.5 11.11.2004
5366
5367 *) Исправление: на Solaris и Linux могло быть очень много сообщений
5368 "recvmsg() returned not enough data".
5369
5370 *) Исправление: в режиме прокси без использования sendfile на Solaris
5371 возникала ошибка "writev() failed (22: Invalid argument)". На других
5372 платформах, не поддерживающих sendfile, процесс зацикливался.
5373
5374 *) Исправление: при использовании sendfile в режиме прокси на Solaris
5375 возникал segmentation fault.
5376
5377 *) Исправление: segmentation fault на Solaris.
5378
5379 *) Исправление: обновление исполняемого файла на лету не работало на
5380 Linux.
5381
5382 *) Исправление: в списке файлов, выдаваемом модулем
5383 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
5384 знаки процента.
5385
5386 *) Изменение: уменьшение операций копирования.
5387
5388 *) Добавление: директива userid_p3p.
5389
5390
5391 Изменения в nginx 0.1.4 26.10.2004
5392
5393 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
5394
5395
5396 Изменения в nginx 0.1.3 25.10.2004
5397
5398 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
5399
5400 *) Добавление: директива proxy_set_x_url.
5401
5402 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5403 не использовался sendfile.
5404
5405
5406 Изменения в nginx 0.1.2 21.10.2004
5407
5408 *) Добавление: параметры --user=USER, --group=GROUP и
5409 --with-ld-opt=OPTIONS в configure.
5410
5411 *) Добавление: директива server_name поддерживает *.domain.tld.
5412
5413 *) Исправление: улучшена переносимость на неизвестные платформы.
5414
5415 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
5416 файл указан в командной строке; ошибка появилась в 0.1.1.
5417
5418 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5419 не использовался sendfile.
5420
5421 *) Исправление: при использовании sendfile текст ответа не
5422 перекодировался согласно директивам модуля charset; ошибка появилась
5423 в 0.1.1.
5424
5425 *) Исправление: очень редкая ошибка при обработке kqueue.
5426
5427 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
5428 проксировании.
5429
5430
5431 Изменения в nginx 0.1.1 11.10.2004
5432
5433 *) Добавление: директива gzip_types.
5434
5435 *) Добавление: директива tcp_nodelay.
5436
5437 *) Добавление: директива send_lowat работает не только на платформах,
5438 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
5439 SO_SNDLOWAT.
5440
5441 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
5442
5443 *) Исправление: ошибка при переписывании заголовка "Location" при
5444 проксировании.
5445
5446 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
5447 зацикливанию.
5448
5449 *) Исправление: ошибки в модуле /dev/poll.
5450
5451 *) Исправление: при проксировании и использовании временных файлов
5452 ответы портились.
5453
5454 *) Исправление: бэкенду передавались запросы с неперекодированными
5455 символами.
5456
5457 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
5458 обязательно использовать параметр --with-poll_module.
5459
5460
5461 Изменения в nginx 0.1.0 04.10.2004
5462
5463 *) Первая публично доступная версия.
5464