comparison text/ru/CHANGES.ru-0.8 @ 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 74438c570949
comparison
equal deleted inserted replaced
-1:000000000000 0:61e04fc01027
1
2 Изменения в nginx 0.8.55 19.07.2011
3
4 *) Исправление: при использовании кэширования в рабочем процессе мог
5 произойти segmentation fault.
6 Спасибо Lanshun Zhou.
7
8
9 Изменения в nginx 0.8.54 14.12.2010
10
11 *) Исправление: если для пары IPv6-адрес:порт описан только один
12 сервер, то выделения в регулярных выражениях в директиве server_name
13 не работали.
14
15 *) Исправление: при использовании директивы auth_basic в рабочем
16 процессе мог произойти segmentation fault.
17 Спасибо Михаилу Лалетину.
18
19 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
20 появилась в 0.8.42.
21
22
23 Изменения в nginx 0.8.53 18.10.2010
24
25 *) Добавление: теперь директива error_page позволяет менять код статуса
26 у редиректа.
27
28 *) Добавление: директива gzip_disable поддерживает специальную маску
29 degradation.
30
31 *) Исправление: при использовании файлового AIO могла происходить
32 утечка сокетов.
33 Спасибо Максиму Дунину.
34
35 *) Исправление: если в первом сервере не была описана директива listen
36 и нигде явно не описан сервер по умолчанию, то сервером по умолчанию
37 становился следующий сервер с директивой listen; ошибка появилась в
38 0.8.21.
39
40
41 Изменения в nginx 0.8.52 28.09.2010
42
43 *) Исправление: nginx использовал режим SSL для listen сокета, если для
44 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
45
46
47 Изменения в nginx 0.8.51 27.09.2010
48
49 *) Изменение: директива secure_link_expires упразднена.
50
51 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
52 alert на error.
53
54 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
55 несколько раз.
56
57
58 Изменения в nginx 0.8.50 02.09.2010
59
60 *) Добавление: директивы secure_link, secure_link_md5 и
61 secure_link_expires модуля ngx_http_secure_link_module.
62
63 *) Добавление: ключ -q.
64 Спасибо Геннадию Махомеду.
65
66 *) Исправление: при использовании кэширования рабочие процессы и могли
67 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
68
69 *) Исправление: в директиве gzip_disable.
70 Спасибо Derrick Petzold.
71
72 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
73 reopen, reload процессу, запущенному в другой сессии.
74
75
76 Изменения в nginx 0.8.49 09.08.2010
77
78 *) Добавление: директива image_filter_jpeg_quality поддерживает
79 переменные.
80
81 *) Исправление: при использовании переменной $geoip_region_name в
82 рабочем процессе мог произойти segmentation fault; ошибка появилась
83 в 0.8.48.
84
85 *) Исправление: ошибки, перехваченные error_page, кэшировались только
86 до следующего запроса; ошибка появилась в 0.8.48.
87
88
89 Изменения в nginx 0.8.48 03.08.2010
90
91 *) Изменение: теперь по умолчанию директива server_name имеет значение
92 пустое имя "".
93 Спасибо Геннадию Махомеду.
94
95 *) Изменение: теперь по умолчанию директива server_name_in_redirect
96 имеет значение off.
97
98 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
99 $geoip_region_name.
100 Спасибо Christine McGonagle.
101
102 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
103 scgi_pass не наследовались в блоки limit_except.
104
105 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
106 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
107 появилась в 0.8.46.
108
109 *) Исправление: директива fastcgi_split_path_info неверно использовала
110 выделения, если в выделения попадала только часть URI.
111 Спасибо Юрию Тарадаю и Frank Enderle.
112
113 *) Исправление: директива rewrite не экранировала символ ";" при
114 копировании из URI в аргументы.
115 Спасибо Daisuke Murase.
116
117 *) Исправление: модуль ngx_http_image_filter_module закрывал
118 соединение, если изображение было больше размера image_filter_buffer.
119
120
121 Изменения в nginx 0.8.47 28.07.2010
122
123 *) Исправление: переменная $request_time имела неверные значения для
124 подзапросов.
125
126 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
127
128 *) Исправление: если использовался параметр max_size, то cache manager
129 мог зациклиться; ошибка появилась в 0.8.46.
130
131
132 Изменения в nginx 0.8.46 19.07.2010
133
134 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache,
135 uwsgi_no_cache и scgi_no_cache теперь влияют только на сохранение
136 закэшированного ответа.
137
138 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
139 uwsgi_cache_bypass и scgi_cache_bypass.
140
141 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
142 ошибки работы с бэкендом: память освобождалась только по истечении
143 времени неактивности или при недостатке памяти.
144
145
146 Изменения в nginx 0.8.45 13.07.2010
147
148 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
149 Спасибо Laurence Rowe.
150
151 *) Исправление: ответ SSI модуля мог передаваться не полностью после
152 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
153 Спасибо Максиму Дунину.
154
155 *) Исправление: директива listen не поддерживала параметр setfib=0.
156
157
158 Изменения в nginx 0.8.44 05.07.2010
159
160 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
161 заголовке которых есть строка "Set-Cookie".
162
163 *) Добавление: директива listen поддерживает параметр setfib.
164 Спасибо Андрею Филонову.
165
166 *) Исправление: директива sub_filter могла изменять регистр букв при
167 частичном совпадении.
168
169 *) Исправление: совместимость с HP/UX.
170
171 *) Исправление: совместимость с компилятором AIX xlC_r.
172
173 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
174 запросы.
175 Спасибо Miroslaw Jaworski.
176
177
178 Изменения в nginx 0.8.43 30.06.2010
179
180 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
181
182 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
183 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
184 0.8.42.
185
186 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
187 переконфигурации.
188 Спасибо Максиму Дунину.
189
190 *) Исправление: переменную $uid_set можно использовать на любой стадии
191 обработки запроса.
192
193
194 Изменения в nginx 0.8.42 21.06.2010
195
196 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
197 выражениями, если запрос полностью совпал с location'ом, заданным
198 строкой префикса. Предыдущее поведение появилось в 0.7.1.
199
200 *) Добавление: модуль ngx_http_scgi_module.
201 Спасибо Manlio Perillo.
202
203 *) Добавление: в директиве return можно добавлять текст ответа.
204
205
206 Изменения в nginx 0.8.41 15.06.2010
207
208 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
209 при запросе файла с неверной кодировкой UTF-8.
210
211 *) Изменение: теперь nginx разрешает использовать пробелы в строке
212 запроса.
213
214 *) Исправление: директива proxy_redirect неправильно изменяла строку
215 "Refresh" в заголовке ответа бэкенда.
216 Спасибо Андрею Андрееву и Максиму Согину.
217
218 *) Исправление: nginx не поддерживал путь без имени хоста в строке
219 "Destination" в заголовке запроса.
220
221
222 Изменения в nginx 0.8.40 07.06.2010
223
224 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
225 умолчанию.
226 Спасибо Jose Antonio Vazquez Gonzalez.
227
228 *) Добавление: модуль ngx_http_uwsgi_module.
229 Спасибо Roberto De Ioris.
230
231 *) Добавление: директива fastcgi_param со значением, начинающимся со
232 строки "HTTP_", изменяет строку заголовка в запросе клиента.
233
234 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
235 заголовке запроса клиента передавались FastCGI-серверу при
236 кэшировании.
237
238 *) Исправление: listen unix domain сокет нельзя было изменить во время
239 переконфигурации.
240 Спасибо Максиму Дунину.
241
242
243 Изменения в nginx 0.8.39 31.05.2010
244
245 *) Исправление: наследуемая директива alias неправильно работала во
246 вложенном location'е.
247
248 *) Исправление: в комбинации директив alias с переменными и try_files;
249
250 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
251 время обновления без перерыва.
252 Спасибо Максиму Дунину.
253
254
255 Изменения в nginx 0.8.38 24.05.2010
256
257 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
258
259 *) Добавление: теперь при использовании переменной $scheme в директиве
260 rewrite автоматически делается редирект.
261 Спасибо Piotr Sikora.
262
263 *) Исправление: теперь задержки в директиве limit_req соответствует
264 описанному алгоритму.
265 Спасибо Максиму Дунину.
266
267 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
268 перловом модулях.
269
270
271 Изменения в nginx 0.8.37 17.05.2010
272
273 *) Добавление: модуль ngx_http_split_clients_module.
274
275 *) Добавление: директива map поддерживает ключи больше 255 символов.
276
277 *) Исправление: nginx игнорировал значения "private" и "no-store" в
278 строке "Cache-Control" в заголовке ответа бэкенда.
279
280 *) Исправление: параметр stub в SSI-директиве include не использовался,
281 если пустой ответ имел код 200.
282
283 *) Исправление: если проксированный или FastCGI запрос внутренне
284 перенаправлялся в другой проксированный или FastCGI location, то в
285 рабочем процессе мог произойти segmentation fault; ошибка появилась
286 в 0.8.33.
287 Спасибо Yichun Zhang.
288
289 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
290 таймаута.
291 Спасибо Alan Batie.
292
293
294 Изменения в nginx 0.8.36 22.04.2010
295
296 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
297 методы DELETE, COPY и MOVE для симлинков.
298
299 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
300 основном запросе значения переменных $query_string, $arg_... и им
301 подобных.
302
303 *) Исправление: значение переменной повторно экранировалось после
304 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
305
306 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
307 Спасибо Vicente Aguilar и Максиму Дунину.
308
309 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
310 Спасибо Максиму Дунину.
311
312 *) Исправление: nginx не собирался с параметром --without-http-cache;
313 ошибка появилась в 0.8.35.
314
315
316 Изменения в nginx 0.8.35 01.04.2010
317
318 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
319
320 *) Добавление: директива chunked_transfer_encoding.
321
322 *) Исправление: символ "&" при копировании в аргументы в правилах
323 rewrite не экранировался.
324
325 *) Исправление: nginx мог завершаться аварийно во время обработки
326 сигнала или при использовании директивы timer_resolution на
327 платформах, не поддерживающих методы kqueue или eventport.
328 Спасибо George Xie и Максиму Дунину.
329
330 *) Исправление: если временные файлы и постоянное место хранения
331 располагались на разных файловых системах, то у постоянных файлов
332 время изменения было неверным.
333 Спасибо Максиму Дунину.
334
335 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
336 "memcached sent invalid trailer".
337 Спасибо Максиму Дунину.
338
339 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
340 текстов.
341 Спасибо Максиму Дунину.
342
343 *) Исправление: в рабочем процессе происходил segmentation fault, если
344 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
345 появилась в 0.8.34.
346 Спасибо Максиму Дунину.
347
348
349 Изменения в nginx 0.8.34 03.03.2010
350
351 *) Исправление: nginx не поддерживал все шифры, используемые в
352 клиентских сертификатах.
353 Спасибо Иннокентию Еникееву.
354
355 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
356 ответом было много вывода в stderr.
357
358 *) Исправление: nginx не поддерживал HTTPS-рефереры.
359
360 *) Исправление: nginx/Windows мог не находить файлы, если путь в
361 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
362
363 *) Исправление: переменная $date_local выдавала неверное время, если
364 использовался формат "%s".
365 Спасибо Максиму Дунину.
366
367 *) Исправление: если ssl_session_cache не был установлен или установлен
368 в none, то при проверке клиентского сертификаты могла происходить
369 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
370
371 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
372 диапазон включал в себя одну и более сетей размером /16 и не
373 начинался на границе сети размером /16.
374
375 *) Исправление: блок, используемый в параметре stub в SSI-директиве
376 include, выводился с MIME-типом "text/plain".
377
378 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
379
380
381 Изменения в nginx 0.8.33 01.02.2010
382
383 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
384 Спасибо Dan Crowley, Core Security Technologies.
385
386 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
387 Спасибо Dan Crowley, Core Security Technologies.
388
389 *) Изменение: теперь keepalive соединения после запросов POST не
390 запрещаются для MSIE 7.0+.
391 Спасибо Adam Lounds.
392
393 *) Изменение: теперь keepalive соединения запрещены для Safari.
394 Спасибо Joshua Sierles.
395
396 *) Исправление: если проксированный или FastCGI запрос внутренне
397 перенаправлялся в другой проксированный или FastCGI location, то
398 переменная $upstream_response_time могла иметь ненормально большое
399 значение; ошибка появилась в 0.8.7.
400
401 *) Исправление: в рабочем процессе мог произойти segmentation fault при
402 отбрасывания тела запроса; ошибка появилась в 0.8.11.
403
404
405 Изменения в nginx 0.8.32 11.01.2010
406
407 *) Исправление: ошибки при использовании кодировки UTF-8 в
408 ngx_http_autoindex_module.
409 Спасибо Максиму Дунину.
410
411 *) Исправление: именованные выделения в регулярных выражениях работали
412 только для двух переменных.
413 Спасибо Максиму Дунину.
414
415 *) Исправление: теперь в строке заголовка запроса "Host" используется
416 имя "localhost", если в директиве auth_http указан unix domain
417 сокет.
418 Спасибо Максиму Дунину.
419
420 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
421 ответов.
422 Спасибо Julian Reich.
423
424 *) Исправление: если директива "expires modified" выставляла дату в
425 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
426 отрицательное число.
427 Спасибо Алексею Капранову.
428
429
430 Изменения в nginx 0.8.31 23.12.2009
431
432 *) Добавление: теперь директива error_page может перенаправлять ответы
433 со статусом 301 и 302.
434
435 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
436 $geoip_longitude.
437 Спасибо Arvind Sundararajan.
438
439 *) Добавление: модуль ngx_http_image_filter_module теперь всегда
440 удаляет EXIF и другие данные, если они занимают больше 5% в
441 JPEG-файле.
442
443 *) Исправление: nginx закрывал соединение при запросе закэшированного
444 ответа с пустым телом.
445 Спасибо Piotr Sikora.
446
447 *) Исправление: nginx мог не собираться gcc 4.x при использовании
448 оптимизации -O2 и выше.
449 Спасибо Максиму Дунину и Денису Латыпову.
450
451 *) Исправление: регулярные выражения в location всегда тестировались с
452 учётом регистра; ошибка появилась в 0.8.25.
453
454 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
455 проксируемого запроса была строка "If-None-Match".
456 Спасибо Tim Dettrick и David Kostal.
457
458 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
459 перезаписи уже существующего файла.
460
461
462 Изменения в nginx 0.8.30 15.12.2009
463
464 *) Изменение: теперь по умолчанию размер буфера директивы
465 large_client_header_buffers равен 8K.
466 Спасибо Andrew Cholakian.
467
468 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
469
470 *) Исправление: nginx/Windows пытался дважды переименовать временный
471 файл при перезаписи уже существующего файла.
472
473 *) Исправление: ошибки double free or corruption, возникающей, если имя
474 хоста не было найдено; ошибка появилась в 0.8.22.
475 Спасибо Константину Свисту.
476
477 *) Исправление: в использовании libatomic на некоторых платформах.
478 Спасибо W-Mark Kubacki.
479
480
481 Изменения в nginx 0.8.29 30.11.2009
482
483 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется
484 код ответа "009".
485
486 *) Добавление: директивы addition_types, charset_types, gzip_types,
487 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
488
489 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
490 Спасибо W-Mark Kubacki.
491
492 *) Добавление: параметр --with-libatomic[=DIR] в configure.
493 Спасибо W-Mark Kubacki.
494
495 *) Исправление: listen unix domain сокет имели ограниченные права
496 доступа.
497
498 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
499 обрабатывались.
500
501 *) Исправление: именованные выделения в регулярных выражениях, заданные
502 как "?P<...>", не работали в директиве server_name.
503 Спасибо Максиму Дунину.
504
505
506 Изменения в nginx 0.8.28 23.11.2009
507
508 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
509 появилась в 0.8.25.
510
511
512 Изменения в nginx 0.8.27 17.11.2009
513
514 *) Исправление: регулярные выражения не работали в nginx/Windows;
515 ошибка появилась в 0.8.25.
516
517
518 Изменения в nginx 0.8.26 16.11.2009
519
520 *) Исправление: ошибки при использовании выделений в директиве rewrite;
521 ошибка появилась в 0.8.25.
522
523 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
524 появилась в 0.8.25.
525
526
527 Изменения в nginx 0.8.25 16.11.2009
528
529 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
530 не найдена с помощью метода $r->variable().
531
532 *) Добавление: модуль ngx_http_degradation_module.
533
534 *) Добавление: именованные выделения в регулярных выражениях.
535
536 *) Добавление: теперь при использовании переменных в директиве
537 proxy_pass не требуется задавать URI.
538
539 *) Добавление: теперь директива msie_padding работает и для Chrome.
540
541 *) Исправление: в рабочем процессе происходил segmentation fault при
542 недостатке памяти; ошибка появилась в 0.8.18.
543
544 *) Исправление: nginx передавал сжатые ответы клиентам, не
545 поддерживающим сжатие, при настройках gzip_static on и gzip_vary
546 off; ошибка появилась в 0.8.16.
547
548
549 Изменения в nginx 0.8.24 11.11.2009
550
551 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
552 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
553
554 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
555 появилась в 0.8.23.
556
557 *) Исправление: параметр "unix:" в директиве set_real_ip_from
558 неправильно наследовался с предыдущего уровня.
559
560 *) Исправление: в resolver'е при определении пустого имени.
561
562
563 Изменения в nginx 0.8.23 11.11.2009
564
565 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
566 Спасибо Максиму Дунину.
567
568 *) Исправление: listen unix domain сокет не наследовался во время
569 обновления без перерыва.
570
571 *) Исправление: параметр "unix:" в директиве set_real_ip_from не
572 работал без ещё одной директивы с любым IP-адресом.
573
574 *) Исправление: segmentation fault и зацикливания в resolver'е.
575
576 *) Исправление: в resolver'е.
577 Спасибо Артёму Бохану.
578
579
580 Изменения в nginx 0.8.22 03.11.2009
581
582 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
583
584 *) Добавление: директивы access и deny поддерживают IPv6.
585
586 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
587 заголовках запроса.
588
589 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
590
591 *) Исправление: nginx не удалял unix domain сокет после тестирования
592 конфигурации.
593
594 *) Исправление: nginx удалял unix domain сокет во время обновления без
595 перерыва.
596
597 *) Исправление: оператор "!-x" не работал.
598 Спасибо Максиму Дунину.
599
600 *) Исправление: в рабочем процессе мог произойти segmentation fault при
601 использовании limit_rate в HTTPS сервере.
602 Спасибо Максиму Дунину.
603
604 *) Исправление: при записи в лог переменной $limit_rate в рабочем
605 процессе происходил segmentation fault.
606 Спасибо Максиму Дунину.
607
608 *) Исправление: в рабочем процессе мог произойти segmentation fault,
609 если внутри блока server не было директивы listen; ошибка появилась
610 в 0.8.21.
611
612
613 Изменения в nginx 0.8.21 26.10.2009
614
615 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
616
617 *) Добавление: директива listen модуля HTTP поддерживает unix domain
618 сокеты.
619 Спасибо Hongli Lai.
620
621 *) Добавление: параметр "default_server" в директиве listen.
622
623 *) Добавление: теперь параметр "default" не обязателен для установки
624 параметров listen-сокета.
625
626 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
627 платформах;
628
629 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
630
631
632 Изменения в nginx 0.8.20 14.10.2009
633
634 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
635 "HIGH:!ADH:!MD5".
636
637 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
638 слэш для линков на каталоги; ошибка появилась в 0.7.15.
639
640 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
641 --error-log-path; ошибка появилась в 0.7.53.
642
643 *) Исправление: nginx не считал запятую разделителем в строке
644 "Cache-Control" в заголовке ответа бэкенда.
645
646 *) Исправление: nginx/Windows мог не создать временный файл, файл в
647 кэше или файл с помощью директив proxy/fastcgi_store, если рабочий
648 процесс не имел достаточно прав для работы с каталогами верхнего
649 уровня.
650
651 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
652 FastCGI-сервера не скрывались при кэшировании, если не
653 использовались директивы fastcgi_hide_header с любыми параметрами.
654
655 *) Исправление: nginx неверно считал размер кэша на диске.
656
657
658 Изменения в nginx 0.8.19 06.10.2009
659
660 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
661
662 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
663 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
664
665 *) Исправление: директива limit_req не работала; ошибка появилась в
666 0.8.18.
667
668
669 Изменения в nginx 0.8.18 06.10.2009
670
671 *) Добавление: директива read_ahead.
672
673 *) Добавление: теперь можно использовать несколько директив
674 perl_modules.
675
676 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
677
678 *) Исправление: теперь директива limit_req соответствует алгоритму
679 leaky bucket.
680 Спасибо Максиму Дунину.
681
682 *) Исправление: nginx не работал на Linux/sparc.
683 Спасибо Marcus Ramberg.
684
685 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке
686 в ответе на запрос MKCOL.
687 Спасибо Xie Zhenye.
688
689 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
690 появилась в 0.8.11.
691
692 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
693
694
695 Изменения в nginx 0.8.17 28.09.2009
696
697 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
698 в заголовке запроса.
699
700 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
701
702 *) Добавление: переменная $ssl_session_id.
703
704 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
705
706
707 Изменения в nginx 0.8.16 22.09.2009
708
709 *) Добавление: директива image_filter_transparency.
710
711 *) Исправление: директива "addition_types" была неверно названа
712 "addtion_types".
713
714 *) Исправление: порчи кэша resolver'а.
715 Спасибо Matthew Dempsky.
716
717 *) Исправление: утечки памяти в resolver'е.
718 Спасибо Matthew Dempsky.
719
720 *) Исправление: неверная строка запроса в переменной $request
721 записывалась в access_log только при использовании error_log на
722 уровне info или debug.
723
724 *) Исправление: в поддержке альфа-канала PNG в модуле
725 ngx_http_image_filter_module.
726
727 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
728 заголовок ответа, если обе директивы gzip_static и gzip_vary были
729 включены.
730
731 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
732 nginx/Windows.
733
734 *) Исправление: ошибки при использовании post_action; ошибка появилась
735 в 0.8.11.
736 Спасибо Игорю Артемьеву.
737
738
739 Изменения в nginx 0.8.15 14.09.2009
740
741 *) Безопасность: при обработке специально созданного запроса в рабочем
742 процессе мог произойти segmentation fault.
743 Спасибо Chris Ries.
744
745 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
746 .domain-some.tld, то имя .sub.domain.tld попадало под маску
747 .domain.tld.
748
749 *) Исправление: в поддержке прозрачности в модуле
750 ngx_http_image_filter_module.
751
752 *) Исправление: в файловом AIO.
753
754 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
755 появилась в 0.8.11.
756
757 *) Исправление: ошибки при использовании встроенного перла; ошибка
758 появилась в 0.8.11.
759
760
761 Изменения в nginx 0.8.14 07.09.2009
762
763 *) Исправление: устаревший закэшированный запрос мог залипнуть в
764 состоянии "UPDATING".
765
766 *) Исправление: при использовании error_log на уровне info или debug в
767 рабочем процессе мог произойти segmentation fault.
768 Спасибо Сергею Боченкову.
769
770 *) Исправление: ошибки при использовании встроенного перла; ошибка
771 появилась в 0.8.11.
772
773 *) Исправление: директива error_page не перенаправляла ошибку 413;
774 ошибка появилась в 0.6.10.
775
776
777 Изменения в nginx 0.8.13 31.08.2009
778
779 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
780
781 *) Исправление: nginx не собирался без параметра --with-file-aio на
782 FreeBSD; ошибка появилась в 0.8.12.
783
784
785 Изменения в nginx 0.8.12 31.08.2009
786
787 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
788
789 *) Исправление: ошибки при использовании try_files; ошибка появилась в
790 0.8.11.
791
792 *) Исправление: ошибки при использовании memcached; ошибка появилась в
793 0.8.11.
794
795
796 Изменения в nginx 0.8.11 28.08.2009
797
798 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
799 для MSIE 6.0 SV1.
800
801 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
802
803 *) Добавление: директива directio_alignment.
804
805
806 Изменения в nginx 0.8.10 24.08.2009
807
808 *) Исправление: утечек памяти при использовании базы GeoIP City.
809
810 *) Исправление: ошибки при копировании временных файлов в постоянное
811 место хранения; ошибка появилась в 0.8.9.
812
813
814 Изменения в nginx 0.8.9 17.08.2009
815
816 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
817 процесс; это должно улучшить обработку больших кэшей.
818
819 *) Добавление: теперь временные файлы и постоянное место хранения могут
820 располагаться на разных файловых системах.
821
822
823 Изменения в nginx 0.8.8 10.08.2009
824
825 *) Исправление: в обработке заголовков ответа, разделённых в
826 FastCGI-записях.
827
828 *) Исправление: если запрос обрабатывался в двух проксированных или
829 FastCGI location'ах и в первом из них использовалось кэширование, то
830 в рабочем процессе происходил segmentation fault; ошибка появилась в
831 0.8.7.
832
833
834 Изменения в nginx 0.8.7 27.07.2009
835
836 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
837
838 *) Изменение: параметр ask директивы ssl_verify_client изменён на
839 параметр optional и теперь он проверяет клиентский сертификат, если
840 он был предложен.
841 Спасибо Brice Figureau.
842
843 *) Добавление: переменная $ssl_client_verify.
844 Спасибо Brice Figureau.
845
846 *) Добавление: директива ssl_crl.
847 Спасибо Brice Figureau.
848
849 *) Добавление: параметр proxy директивы geo.
850
851 *) Добавление: директива image_filter поддерживает переменные для
852 задания размеров.
853
854 *) Исправление: использование переменной $ssl_client_cert портило
855 память; ошибка появилась в 0.7.7.
856 Спасибо Сергею Журавлёву.
857
858 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
859 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
860 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа
861 бэкенда.
862 Спасибо Максиму Дунину.
863
864 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
865 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
866 Спасибо Максиму Дунину.
867
868 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
869 ответы в подзапросах; ошибка появилась в 0.8.5.
870
871
872 Изменения в nginx 0.8.6 20.07.2009
873
874 *) Добавление: модуль ngx_http_geoip_module.
875
876 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
877 document" для правильного документа.
878 Спасибо Kuramoto Eiji.
879
880 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
881 location'ов, заданных регулярным выражением, теперь всегда делается
882 сравнение без учёта регистра символов.
883
884 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
885 Спасибо Hugo Leisink.
886
887 *) Исправление: имя файла указанного в --conf-path игнорировалось при
888 установке; ошибка появилась в 0.6.6.
889 Спасибо Максиму Дунину.
890
891
892 Изменения в nginx 0.8.5 13.07.2009
893
894 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
895
896 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
897 для неверных имени/пароля возвращалась 500-ая ошибка.
898
899 *) Исправление: ответы модуля ngx_http_perl_module не работали в
900 подзапросах.
901
902 *) Исправление: в модуле ngx_http_limit_req_module.
903 Спасибо Максиму Дунину.
904
905
906 Изменения в nginx 0.8.4 22.06.2009
907
908 *) Исправление: nginx не собирался с параметром --without-http-cache;
909 ошибка появилась в 0.8.3.
910
911
912 Изменения в nginx 0.8.3 19.06.2009
913
914 *) Добавление: переменная $upstream_cache_status.
915
916 *) Исправление: nginx не собирался на MacOSX 10.6.
917
918 *) Исправление: nginx не собирался с параметром --without-http-cache;
919 ошибка появилась в 0.8.2.
920
921 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
922 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
923 в рабочем процессе происходил segmentation fault.
924 Спасибо Евгению Мычло.
925
926
927 Изменения в nginx 0.8.2 15.06.2009
928
929 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
930 на старте.
931
932 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
933 долго; ошибка появилась в 0.7.4.
934
935
936 Изменения в nginx 0.8.1 08.06.2009
937
938 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
939 fastcgi_cache_use_stale.
940
941 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
942 заголовке запроса клиента передавались бэкенду при кэшировании, если
943 не использовалась директива proxy_set_header с любыми параметрами.
944
945 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
946 не скрывались при кэшировании, если не использовались директивы
947 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
948
949 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
950 GIF87a.
951 Спасибо Денису Ильиных.
952
953 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
954 появилась в 0.7.56.
955
956
957 Изменения в nginx 0.8.0 02.06.2009
958
959 *) Добавление: директива keepalive_requests.
960
961 *) Добавление: директива limit_rate_after.
962 Спасибо Ivan Debnar.
963
964 *) Исправление: XSLT-фильтр не работал в подзапросах.
965
966 *) Исправление: обработке относительных путей в nginx/Windows.
967
968 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
969 fastcgi_cache в nginx/Windows.
970
971 *) Исправление: в обработке ошибок выделения памяти.
972 Спасибо Максиму Дунину и Кириллу Коринскому.
973
974
975 Изменения в nginx 0.7.59 25.05.2009
976
977 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
978
979 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
980 Спасибо Максиму Дунину.
981
982 *) Исправление: при использовании переменной $request_body в рабочем
983 процессе происходил segmentation fault, если в запросе не было тела;
984 ошибка появилась в 0.7.58.
985
986 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
987 ошибка появилась в 0.7.56.
988
989 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
990 обрабатывались SSI-, charset- и gzip-фильтрами.
991
992 *) Исправление: директива charset не ставила кодировку для ответов
993 модуля ngx_http_gzip_static_module.
994
995
996 Изменения в nginx 0.7.58 18.05.2009
997
998 *) Добавление: директива listen почтового прокси-сервера поддерживает
999 IPv6.
1000
1001 *) Добавление: директива image_filter_jpeg_quality.
1002
1003 *) Добавление: директива client_body_in_single_buffer.
1004
1005 *) Добавление: переменная $request_body.
1006
1007 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
1008 файлов, содержащих символ ":".
1009
1010 *) Исправление: процедура "make upgrade" не работала; ошибка появилась
1011 в 0.7.53.
1012 Спасибо Денису Латыпову.
1013
1014
1015 Изменения в nginx 0.7.57 12.05.2009
1016
1017 *) Исправление: при перенаправлении ошибок модуля
1018 ngx_http_image_filter_module в именованный location в рабочем
1019 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1020
1021
1022 Изменения в nginx 0.7.56 11.05.2009
1023
1024 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen
1025 модуля HTTP.
1026
1027 *) Исправление: в модуле ngx_http_image_filter_module.
1028
1029
1030 Изменения в nginx 0.7.55 06.05.2009
1031
1032 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1033 fastcgi_cache_use_stale не работали.
1034
1035 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1036 заголовка.
1037
1038 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1039 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1040
1041 *) Исправление: при использовании директивы debug_connection в рабочем
1042 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1043
1044 *) Исправление: в сборке модуля ngx_http_image_filter_module.
1045
1046 *) Исправление: файлы больше 2G не передавались с использованием
1047 $r->sendfile.
1048 Спасибо Максиму Дунину.
1049
1050
1051 Изменения в nginx 0.7.54 01.05.2009
1052
1053 *) Добавление: модуль ngx_http_image_filter_module.
1054
1055 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1056
1057 *) Исправление: при использовании переменных "open_file_cache_errors
1058 on" в рабочем процессе мог произойти segmentation fault; ошибка
1059 появилась в 0.7.53.
1060
1061 *) Исправление: директива "port_in_redirect off" не работала; ошибка
1062 появилась в 0.7.39.
1063
1064 *) Исправление: улучшение обработки ошибок метода select.
1065
1066 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
1067
1068 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
1069 ошибка появилась в 0.7.53.
1070
1071
1072 Изменения в nginx 0.7.53 27.04.2009
1073
1074 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
1075 самого начала работы.
1076
1077 *) Добавление: теперь ошибки и предупреждения при старте записываются в
1078 error_log и выводятся на stderr.
1079
1080 *) Добавление: при сборке с пустым параметром --prefix= nginx
1081 использует как префикс каталог, в котором он был запущен.
1082
1083 *) Добавление: ключ -p.
1084
1085 *) Добавление: ключ -s на Unix-платформах.
1086
1087 *) Добавление: ключи -? и -h.
1088 Спасибо Jerome Loyet.
1089
1090 *) Добавление: теперь ключи можно задавать в сжатой форме.
1091
1092 *) Исправление: nginx/Windows не работал, если файл конфигурации был
1093 задан ключом -c.
1094
1095 *) Исправление: при использовании директив proxy_store, fastcgi_store,
1096 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
1097 Спасибо Максиму Дунину.
1098
1099 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
1100 почтового прокси-сервера передавалось неверное значение; ошибка
1101 появилась в 0.7.34.
1102 Спасибо Simon Lecaille.
1103
1104 *) Исправление: при логгировании на Linux не писались текстовые
1105 описания системных ошибок; ошибка появилась в 0.7.45.
1106
1107 *) Исправление: директива fastcgi_cache_min_uses не работала.
1108 Спасибо Андрею Воробьёву.
1109
1110
1111 Изменения в nginx 0.7.52 20.04.2009
1112
1113 *) Добавление: первая бинарная версия под Windows.
1114
1115 *) Исправление: корректная обработка метода HEAD при кэшировании.
1116
1117 *) Исправление: корректная обработка строк "If-Modified-Since",
1118 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
1119
1120 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
1121 заголовке ответа для закэшированных ответов.
1122
1123 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
1124 perl поддерживал потоки, то при выходе основного процесса могла
1125 выдаваться ошибка "panic: MUTEX_LOCK".
1126
1127 *) Исправление: nginx не собирался с параметром --without-http-cache;
1128 ошибка появилась в 0.7.48.
1129
1130 *) Исправление: nginx не собирался на платформах, отличных от i386,
1131 amd64, sparc и ppc; ошибка появилась в 0.7.42.
1132
1133
1134 Изменения в nginx 0.7.51 12.04.2009
1135
1136 *) Добавление: директива try_files поддерживает код ответа в последнем
1137 параметре.
1138
1139 *) Добавление: теперь в директиве return можно использовать любой код
1140 ответа.
1141
1142 *) Исправление: директива error_page делала внешний редирект без строки
1143 запроса; ошибка появилась в 0.7.44.
1144
1145 *) Исправление: если сервера слушали на нескольких явно описанных
1146 адресах, то виртуальные сервера могли не работать; ошибка появилась
1147 в 0.7.39.
1148
1149
1150 Изменения в nginx 0.7.50 06.04.2009
1151
1152 *) Исправление: переменные $arg_... не работали; ошибка появилась в
1153 0.7.49.
1154
1155
1156 Изменения в nginx 0.7.49 06.04.2009
1157
1158 *) Исправление: при использовании переменных $arg_... в рабочем
1159 процессе мог произойти segmentation fault; ошибка появилась в 0.7.48.
1160
1161
1162 Изменения в nginx 0.7.48 06.04.2009
1163
1164 *) Добавление: директива proxy_cache_key.
1165
1166 *) Исправление: теперь nginx учитывает при кэшировании строки
1167 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
1168 бэкенда.
1169
1170 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
1171
1172 *) Исправление: директива fastcgi_cache_key не наследовалась.
1173
1174 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
1175 Спасибо Максиму Дунину.
1176
1177 *) Исправление: nginx не собирался с библиотекой uclibc.
1178 Спасибо Timothy Redaelli.
1179
1180 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
1181 в 0.7.46.
1182
1183
1184 Изменения в nginx 0.7.47 01.04.2009
1185
1186 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
1187 ошибка появилась в 0.7.46.
1188
1189 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
1190
1191 *) Исправление: если использовался параметр max_size, то cache manager
1192 мог удалить весь кэш; ошибка появилась в 0.7.46.
1193
1194 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
1195 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
1196 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
1197 в 0.7.46.
1198
1199 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1200 перенаправлении запроса проксированному или FastCGI-серверу с
1201 помощью error_page или try_files; ошибка появилась в 0.7.44.
1202
1203
1204 Изменения в nginx 0.7.46 30.03.2009
1205
1206 *) Исправление: архив предыдущего релиза был неверным.
1207
1208
1209 Изменения в nginx 0.7.45 30.03.2009
1210
1211 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
1212 задавать на разных уровнях.
1213
1214 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
1215
1216 *) Добавление: параметр max_size в директиве proxy_cache_path.
1217
1218 *) Добавление: предварительная поддержка кэширования в модуле
1219 ngx_http_fastcgi_module.
1220
1221 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
1222 указываются названия директивы и зоны.
1223
1224 *) Исправление: директива "add_header last-modified ''" не удаляла в
1225 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
1226
1227 *) Исправление: в директиве auth_basic_user_file не работал
1228 относительный путь, заданный строкой без переменных; ошибка
1229 появилась в 0.7.44.
1230 Спасибо Jerome Loyet.
1231
1232 *) Исправление: в директиве alias, заданной переменными без ссылок на
1233 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
1234
1235
1236 Изменения в nginx 0.7.44 23.03.2009
1237
1238 *) Добавление: предварительная поддержка кэширования в модуле
1239 ngx_http_proxy_module.
1240
1241 *) Добавление: параметр --with-pcre в configure.
1242
1243 *) Добавление: теперь директива try_files может быть использована на
1244 уровне server.
1245
1246 *) Исправление: директива try_files неправильно обрабатывала строку
1247 запроса в последнем параметре.
1248
1249 *) Исправление: директива try_files могла неверно тестировать каталоги.
1250
1251 *) Исправление: если для пары адрес:порт описан только один сервер, то
1252 выделения в регулярных выражениях в директиве server_name не
1253 работали.
1254
1255
1256 Изменения в nginx 0.7.43 18.03.2009
1257
1258 *) Исправление: запрос обрабатывался неверно, если директива root
1259 использовала переменные; ошибка появилась в 0.7.42.
1260
1261 *) Исправление: если сервер слушал на адресах типа "*", то значение
1262 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
1263
1264
1265 Изменения в nginx 0.7.42 16.03.2009
1266
1267 *) Изменение: ошибка "Invalid argument", возвращаемая
1268 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
1269
1270 *) Изменение: при отсутствии файла, указанного в директиве
1271 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
1272
1273 *) Добавление: директива auth_basic_user_file поддерживает переменные.
1274 Спасибо Кириллу Коринскому.
1275
1276 *) Добавление: директива listen поддерживает параметр ipv6only.
1277 Спасибо Zhang Hua.
1278
1279 *) Исправление: в директиве alias со ссылками на выделения в регулярных
1280 выражениях; ошибка появилась в 0.7.40.
1281
1282 *) Исправление: совместимость с Tru64 UNIX.
1283 Спасибо Dustin Marquess.
1284
1285 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
1286 появилась в 0.7.41.
1287
1288
1289 Изменения в nginx 0.7.41 11.03.2009
1290
1291 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1292 если в server_name или location были выделения в регулярных
1293 выражениях; ошибка появилась в 0.7.40.
1294 Спасибо Владимиру Сопоту.
1295
1296
1297 Изменения в nginx 0.7.40 09.03.2009
1298
1299 *) Добавление: директива location поддерживает выделения в регулярных
1300 выражениях.
1301
1302 *) Добавление: директиву alias с ссылками на выделения в регулярных
1303 выражениях можно использовать внутри location'а, заданного
1304 регулярным выражением с выделениями.
1305
1306 *) Добавление: директива server_name поддерживает выделения в
1307 регулярных выражениях.
1308
1309 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
1310 слэш для каталогов на файловой системе XFS; ошибка появилась в
1311 0.7.15.
1312 Спасибо Дмитрию Кузьменко.
1313
1314
1315 Изменения в nginx 0.7.39 02.03.2009
1316
1317 *) Исправление: при включённом сжатии большие ответы с использованием
1318 SSI могли зависать; ошибка появилась в 0.7.28.
1319 Спасибо Артёму Бохану.
1320
1321 *) Исправление: при использовании коротких статических вариантов в
1322 директиве try_files в рабочем процессе мог произойти segmentation
1323 fault.
1324
1325
1326 Изменения в nginx 0.7.38 23.02.2009
1327
1328 *) Добавление: логгирование ошибок аутентификации.
1329
1330 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
1331 игнорировались после нечётного числа пустых строк.
1332 Спасибо Александру Загребину.
1333
1334 *) Исправление: при использовании длинного пути в unix domain сокете в
1335 главном процессе происходил segmentation fault; ошибка появилась в
1336 0.7.36.
1337
1338
1339 Изменения в nginx 0.7.37 21.02.2009
1340
1341 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
1342 появилась в 0.7.36.
1343
1344
1345 Изменения в nginx 0.7.36 21.02.2009
1346
1347 *) Добавление: предварительная поддержка IPv6; директива listen модуля
1348 HTTP поддерживает IPv6.
1349
1350 *) Исправление: переменная $ancient_browser не работала для браузеров,
1351 заданных директивами modern_browser.
1352
1353
1354 Изменения в nginx 0.7.35 16.02.2009
1355
1356 *) Исправление: директива ssl_engine не использовала SSL-акселератор
1357 для асимметричных шифров.
1358 Спасибо Marcin Gozdalik.
1359
1360 *) Исправление: директива try_files выставляла MIME-type, исходя из
1361 расширения первоначального запроса.
1362
1363 *) Исправление: в директивах server_name, valid_referers и map
1364 неправильно обрабатывались имена вида "*domain.tld", если
1365 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
1366 ошибка появилась в 0.7.9.
1367
1368
1369 Изменения в nginx 0.7.34 10.02.2009
1370
1371 *) Добавление: параметр off в директиве if_modified_since.
1372
1373 *) Добавление: теперь после команды XCLIENT nginx посылает команду
1374 HELO/EHLO.
1375 Спасибо Максиму Дунину.
1376
1377 *) Добавление: поддержка Microsoft-специфичного режима
1378 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
1379 Спасибо Максиму Дунину.
1380
1381 *) Исправление: в директиве rewrite, возвращающей редирект, старые
1382 аргументы присоединялись к новым через символ "?" вместо "&";
1383 ошибка появилась в 0.1.18.
1384 Спасибо Максиму Дунину.
1385
1386 *) Исправление: nginx не собирался на AIX.
1387
1388
1389 Изменения в nginx 0.7.33 02.02.2009
1390
1391 *) Исправление: если на запрос с телом возвращался редирект, то ответ
1392 мог быть двойным при использовании методов epoll или rtsig.
1393 Спасибо Eden Li.
1394
1395 *) Исправление: для некоторых типов редиректов в переменной
1396 $sent_http_location было пустое значение.
1397
1398 *) Исправление: при использовании директивы resolver в SMTP
1399 прокси-сервере в рабочем процессе мог произойти segmentation fault.
1400
1401
1402 Изменения в nginx 0.7.32 26.01.2009
1403
1404 *) Добавление: теперь в директиве try_files можно явно указать проверку
1405 каталога.
1406
1407 *) Исправление: fastcgi_store не всегда сохранял файлы.
1408
1409 *) Исправление: в гео-диапазонах.
1410
1411 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
1412 если nginx был собран без отладки.
1413 Спасибо Андрею Квасову.
1414
1415
1416 Изменения в nginx 0.7.31 19.01.2009
1417
1418 *) Изменение: теперь директива try_files проверяет только файлы,
1419 игнорируя каталоги.
1420
1421 *) Добавление: директива fastcgi_split_path_info.
1422
1423 *) Исправления в поддержке строки "Expect" в заголовке запроса.
1424
1425 *) Исправления в гео-диапазонах.
1426
1427 *) Исправление: при отсутствии ответа ngx_http_memcached_module
1428 возвращал в теле ответа строку "END" вместо 404-ой страницы по
1429 умолчанию; ошибка появилась в 0.7.18.
1430 Спасибо Максиму Дунину.
1431
1432 *) Исправление: при проксировании SMPT nginx выдавал сообщение
1433 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
1434 Спасибо Максиму Дунину.
1435
1436
1437 Изменения в nginx 0.7.30 24.12.2008
1438
1439 *) Исправление: в рабочем процессе происходил segmentation fault, если
1440 в директивах fastcgi_pass или proxy_pass использовались переменные и
1441 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
1442
1443
1444 Изменения в nginx 0.7.29 24.12.2008
1445
1446 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
1447 переменные при использовании unix domain сокетов.
1448
1449 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
1450
1451 *) Исправление: ответ "100 Continue" выдавался для запросов версии
1452 HTTP/1.0;
1453 Спасибо Максиму Дунину.
1454
1455 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
1456 под Cygwin.
1457
1458
1459 Изменения в nginx 0.7.28 22.12.2008
1460
1461 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
1462
1463 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
1464 с 4 4k/8k на 32 4k или 16 8k.
1465
1466
1467 Изменения в nginx 0.7.27 15.12.2008
1468
1469 *) Добавление: директива try_files.
1470
1471 *) Добавление: директива fastcgi_pass поддерживает переменные.
1472
1473 *) Добавление: теперь директива geo может брать адрес из переменной.
1474 Спасибо Андрею Нигматулину.
1475
1476 *) Добавление: теперь модификатор location'а можно указывать без
1477 пробела перед названием.
1478
1479 *) Добавление: переменная $upstream_response_length.
1480
1481 *) Исправление: теперь директива add_header не добавляет пустое
1482 значение.
1483
1484 *) Исправление: при запросе файла нулевой длины nginx закрывал
1485 соединение, ничего не передав; ошибка появилась в 0.7.25.
1486
1487 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
1488 каталог.
1489
1490 *) Исправление: если в сервере не был описан ни один именованный
1491 location, но такой location использовался в директиве error_page, то
1492 в рабочем процессе происходил segmentation fault.
1493 Спасибо Сергею Боченкову.
1494
1495
1496 Изменения в nginx 0.7.26 08.12.2008
1497
1498 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
1499
1500
1501 Изменения в nginx 0.7.25 08.12.2008
1502
1503 *) Изменение: в обработке подзапросов.
1504
1505 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
1506 заголовке запроса.
1507
1508 *) Исправление: теперь директивы limit_req и limit_conn указывают
1509 причину запрета запроса.
1510
1511 *) Исправление: в параметре delete директивы geo.
1512
1513
1514 Изменения в nginx 0.7.24 01.12.2008
1515
1516 *) Добавление: директива if_modified_since.
1517
1518 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
1519 ответом сервер передавал много сообщений в stderr.
1520
1521 *) Исправление: переменные "$cookie_..." не работали в SSI and в
1522 перловом модуле.
1523
1524
1525 Изменения в nginx 0.7.23 27.11.2008
1526
1527 *) Добавление: параметры delete и ranges в директиве geo.
1528
1529 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
1530
1531 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
1532
1533
1534 Изменения в nginx 0.7.22 20.11.2008
1535
1536 *) Добавление: параметр none в директиве smtp_auth.
1537 Спасибо Максиму Дунину.
1538
1539 *) Добавление: переменные "$cookie_...".
1540
1541 *) Исправление: директива directio не работала с файловой системой XFS.
1542
1543 *) Исправление: resolver не понимал большие DNS-ответы.
1544 Спасибо Zyb.
1545
1546
1547 Изменения в nginx 0.7.21 11.11.2008
1548
1549 *) Изменения в модуле ngx_http_limit_req_module.
1550
1551 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
1552 Спасибо Денису Латыпову.
1553
1554 *) Изменение: совместимость с glibc 2.3.
1555 Спасибо Eric Benson и Максиму Дунину.
1556
1557 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
1558 ошибка появилась в 0.7.6.
1559
1560
1561 Изменения в nginx 0.7.20 10.11.2008
1562
1563 *) Изменения в модуле ngx_http_gzip_filter_module.
1564
1565 *) Добавление: модуль ngx_http_limit_req_module.
1566
1567 *) Исправление: на платформах sparc и ppc рабочие процессы могли
1568 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
1569 Спасибо Максиму Дунину.
1570
1571 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
1572 работали; ошибка появилась в 0.7.12.
1573
1574 *) Исправление: при использовании HTTPS запросы могли завершаться с
1575 ошибкой "bad write retry".
1576
1577 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
1578 location'ов с именами меньше 3 символов.
1579
1580 *) Исправление: переменная $server_addr могла не иметь значения.
1581
1582
1583 Изменения в nginx 0.7.19 13.10.2008
1584
1585 *) Исправление: обновление номера версии.
1586
1587
1588 Изменения в nginx 0.7.18 13.10.2008
1589
1590 *) Изменение: директива underscores_in_headers; теперь nginx по
1591 умолчанию не разрешает подчёркивания в именах строк в заголовке
1592 запроса клиента.
1593
1594 *) Добавление: модуль ngx_http_secure_link_module.
1595
1596 *) Добавление: директива real_ip_header поддерживает любой заголовок.
1597
1598 *) Добавление: директива log_subrequest.
1599
1600 *) Добавление: переменная $realpath_root.
1601
1602 *) Добавление: параметры http_502 и http_504 в директиве
1603 proxy_next_upstream.
1604
1605 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
1606 fastcgi_next_upstream не работал.
1607
1608 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
1609 для запросов HEAD.
1610
1611 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
1612
1613
1614 Изменения в nginx 0.7.17 15.09.2008
1615
1616 *) Добавление: директива directio теперь работает на Linux.
1617
1618 *) Добавление: переменная $pid.
1619
1620 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
1621 при использовании open_file_cache.
1622
1623 *) Исправление: access_log с переменными не работал на Linux; ошибка
1624 появилась в 0.7.7.
1625
1626 *) Исправление: модуль ngx_http_charset_module не понимал название
1627 кодировки в кавычках, полученное от бэкенда.
1628
1629
1630 Изменения в nginx 0.7.16 08.09.2008
1631
1632 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
1633 появилась в 0.7.15.
1634
1635
1636 Изменения в nginx 0.7.15 08.09.2008
1637
1638 *) Добавление: модуль ngx_http_random_index_module.
1639
1640 *) Добавление: директива directio оптимизирована для запросов файлов,
1641 начинающихся с произвольной позиции.
1642
1643 *) Добавление: директива directio при необходимости запрещает
1644 использование sendfile.
1645
1646 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
1647 заголовке запроса клиента.
1648
1649
1650 Изменения в nginx 0.7.14 01.09.2008
1651
1652 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
1653 имеют значений по умолчанию.
1654
1655 *) Добавление: директива listen поддерживает параметр ssl.
1656
1657 *) Добавление: теперь при переконфигурации nginx учитывает изменение
1658 временной зоны на FreeBSD и Linux.
1659
1660 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
1661 прочие, не устанавливались, если сервером по умолчанию был не первый
1662 сервер.
1663
1664 *) Исправление: при использовании в качестве аргументов части URI,
1665 выделенного с помощью директивы rewrite, эти аргументы не
1666 экранировались.
1667
1668 *) Исправление: улучшения тестирования правильности конфигурационного
1669 файла.
1670
1671
1672 Изменения в nginx 0.7.13 26.08.2008
1673
1674 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
1675 в 0.7.12.
1676
1677
1678 Изменения в nginx 0.7.12 26.08.2008
1679
1680 *) Добавление: директива server_name поддерживает пустое имя "".
1681
1682 *) Добавление: директива gzip_disable поддерживает специальную маску
1683 msie6.
1684
1685 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
1686 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
1687 Спасибо Максиму Дунину.
1688
1689 *) Исправление: при перенаправлении запроса с помощью директивы
1690 error_page терялось тело запроса.
1691
1692 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
1693 директивы error_page возвращался полный ответ.
1694
1695 *) Исправление: метод $r->header_in() не возвращал значения строк
1696 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
1697 появилась в 0.7.0.
1698
1699
1700 Изменения в nginx 0.7.11 18.08.2008
1701
1702 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
1703 MIME-типом text/css.
1704
1705 *) Добавление: теперь nginx возвращает код 405 для метода POST при
1706 запросе статического файла, только если файл существует.
1707
1708 *) Добавление: директива proxy_ssl_session_reuse.
1709
1710 *) Исправление: после перенаправления запроса с помощью
1711 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
1712 оригинальный запрос.
1713
1714 *) Исправление: если у каталога были права доступа только на поиск
1715 файлов и первый индексный файл отсутствовал, то nginx возвращал
1716 ошибку 500.
1717
1718 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
1719 0.7.1.
1720
1721
1722 Изменения в nginx 0.7.10 13.08.2008
1723
1724 *) Исправление: ошибок в директивах addition_types, charset_types,
1725 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
1726 появились в 0.7.9.
1727
1728 *) Исправление: рекурсивной error_page для 500 ошибки.
1729
1730 *) Исправление: теперь модуль ngx_http_realip_module устанавливает
1731 адрес не для всего keepalive соединения, а для каждого запроса по
1732 этому соединению.
1733
1734
1735 Изменения в nginx 0.7.9 12.08.2008
1736
1737 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
1738 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
1739 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
1740
1741 *) Добавление: директивы charset_types и addition_types.
1742
1743 *) Добавление: теперь директивы gzip_types, ssi_types и
1744 sub_filter_types используют хэш.
1745
1746 *) Добавление: модуль ngx_cpp_test_module.
1747
1748 *) Добавление: директива expires поддерживает суточное время.
1749
1750 *) Добавление: улучшения и исправления в модуле
1751 ngx_http_xslt_module.
1752 Спасибо Денису Латыпову и Максиму Дунину.
1753
1754 *) Исправление: директива log_not_found не работала при поиске
1755 индексных файлов.
1756
1757 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
1758 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
1759
1760 *) Исправление: если в директивах server_name, valid_referers и map
1761 использовалась маска вида "*.domain.tld" и при этом полное имя вида
1762 "domain.tld" не было описано, то это имя попадало под маску; ошибка
1763 появилась в 0.3.18.
1764
1765
1766 Изменения в nginx 0.7.8 04.08.2008
1767
1768 *) Добавление: модуль ngx_http_xslt_module.
1769
1770 *) Добавление: переменные "$arg_...".
1771
1772 *) Добавление: поддержка directio в Solaris.
1773 Спасибо Ivan Debnar.
1774
1775 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
1776 в заголовке ответа без строки статуса, то nginx использует код
1777 статуса 302.
1778 Спасибо Максиму Дунину.
1779
1780
1781 Изменения в nginx 0.7.7 30.07.2008
1782
1783 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
1784 временной.
1785
1786 *) Изменение: значением переменной $ssl_client_cert теперь является
1787 сертификат, перед каждой строкой которого, кроме первой, вставляется
1788 символ табуляции; неизменённый сертификат доступен через переменную
1789 $ssl_client_raw_cert.
1790
1791 *) Добавление: параметр ask директивы ssl_verify_client.
1792
1793 *) Добавление: улучшения в обработке byte-range.
1794 Спасибо Максиму Дунину.
1795
1796 *) Добавление: директива directio.
1797 Спасибо Jiang Hong.
1798
1799 *) Добавление: поддержка sendfile() в MacOSX 10.5.
1800
1801 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
1802 делается сравнение без учёта регистра символов; однако, сравнение
1803 ограничено только однобайтными locale'ями.
1804
1805 *) Исправление: соединения почтового прокси-сервера зависали в режиме
1806 SSL, если использовались методы select, poll или /dev/poll.
1807
1808 *) Исправление: ошибки при использовании кодировки UTF-8 в
1809 ngx_http_autoindex_module.
1810
1811
1812 Изменения в nginx 0.7.6 07.07.2008
1813
1814 *) Исправление: теперь при использовании переменных в директиве
1815 access_log всегда проверяется существовании root'а для запроса.
1816
1817 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
1818 значений в аргументах запроса.
1819
1820
1821 Изменения в nginx 0.7.5 01.07.2008
1822
1823 *) Исправления в поддержке переменных в директиве access_log; ошибки
1824 появились в 0.7.4.
1825
1826 *) Исправление: nginx не собирался с параметром
1827 --without-http_gzip_module; ошибка появилась в 0.7.3.
1828 Спасибо Кириллу Коринскому.
1829
1830 *) Исправление: при совместном использовании sub_filter и SSI ответы
1831 могли передаваться неверно.
1832
1833
1834 Изменения в nginx 0.7.4 30.06.2008
1835
1836 *) Добавление: директива access_log поддерживает переменные.
1837
1838 *) Добавление: директива open_log_file_cache.
1839
1840 *) Добавление: ключ -g.
1841
1842 *) Добавление: поддержка строки "Expect" в заголовке запроса.
1843
1844 *) Исправление: большие включения в SSI могли передавались не полностью.
1845
1846
1847 Изменения в nginx 0.7.3 23.06.2008
1848
1849 *) Изменение: MIME-тип для расширения rss изменён на
1850 "application/rss+xml".
1851
1852 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
1853 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
1854
1855 *) Добавление: теперь при использовании протокола "https://" в
1856 директиве rewrite автоматически делается редирект.
1857
1858 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
1859 ошибка появилась в 0.6.9.
1860
1861
1862 Изменения в nginx 0.7.2 16.06.2008
1863
1864 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
1865
1866 *) Добавление: директива ssl_dhparam.
1867
1868 *) Добавление: переменная $ssl_client_cert.
1869 Спасибо Manlio Perillo.
1870
1871 *) Исправление: после изменения URI с помощью директивы rewrite nginx
1872 не искал новый location; ошибка появилась в 0.7.1.
1873 Спасибо Максиму Дунину.
1874
1875 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
1876 появилась в 0.7.1.
1877
1878 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
1879 nginx не добавлял аргументы из оригинального запроса.
1880
1881
1882 Изменения в nginx 0.7.1 26.05.2008
1883
1884 *) Изменение: теперь поиск location'а делается с помощью дерева.
1885
1886 *) Изменение: директива optimize_server_names упразднена в связи с
1887 появлением директивы server_name_in_redirect.
1888
1889 *) Изменение: некоторые давно устаревшие директивы больше не
1890 поддерживаются.
1891
1892 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь
1893 этот параметр используется по умолчанию.
1894 Спасибо Rob Mueller.
1895
1896 *) Исправление: рабочие процессы могли не реагировать на сигналы
1897 переконфигурации и ротации логов.
1898
1899 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
1900 Спасибо Roxis.
1901
1902
1903 Изменения в nginx 0.7.0 19.05.2008
1904
1905 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
1906 записываются в виде \xXX.
1907 Спасибо Максиму Дунину.
1908
1909 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
1910 запроса.
1911
1912 *) Добавление: директива expires поддерживает флаг modified.
1913
1914 *) Добавление: переменные $uid_got и $uid_set можно использовать на
1915 любой стадии обработки запроса.
1916
1917 *) Добавление: переменная $hostname.
1918 Спасибо Андрею Нигматулину.
1919
1920 *) Добавление: поддержка DESTDIR.
1921 Спасибо Todd A. Fisher и Andras Voroskoi.
1922
1923 *) Исправление: при использовании keepalive на Linux в рабочем процессе
1924 мог произойти segmentation fault.
1925
1926
1927 Изменения в nginx 0.6.31 12.05.2008
1928
1929 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
1930 заголовка ответ была в конце записи FastCGI; ошибка появилась в
1931 0.6.2.
1932 Спасибо Сергею Серову.
1933
1934 *) Исправление: при удалении файла и использовании директивы
1935 open_file_cache_errors off в рабочем процессе мог произойти
1936 segmentation fault.
1937
1938
1939 Изменения в nginx 0.6.30 29.04.2008
1940
1941 *) Изменение: теперь, если маске, заданной в директиве include, не
1942 соответствует ни один файл, то nginx не выдаёт ошибку.
1943
1944 *) Добавление: теперь время в директивах можно задавать без пробела,
1945 например, "1h50m".
1946
1947 *) Исправление: утечек памяти, если директива ssl_verify_client имела
1948 значение on.
1949 Спасибо Chavelle Vincent.
1950
1951 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
1952 вывод.
1953
1954 *) Исправление: директива error_page не воспринимала параметры в
1955 перенаправляемом URI.
1956
1957 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
1958 в бинарном режиме.
1959
1960 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
1961 0.6.15.
1962
1963
1964 Изменения в nginx 0.6.29 18.03.2008
1965
1966 *) Добавление: модуль ngx_google_perftools_module.
1967
1968 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
1969 платформах; ошибка появилась в 0.6.27.
1970
1971
1972 Изменения в nginx 0.6.28 13.03.2008
1973
1974 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
1975
1976
1977 Изменения в nginx 0.6.27 12.03.2008
1978
1979 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
1980 rtsig.
1981
1982 *) Изменение: теперь при перенаправлении запроса в именованный location
1983 с помощью директивы error_page метод запроса не изменяется.
1984
1985 *) Добавление: директивы resolver и resolver_timeout в SMTP
1986 прокси-сервере.
1987
1988 *) Добавление: директива post_action поддерживает именованные
1989 location'ы.
1990
1991 *) Исправление: при перенаправлении запроса из location'а c
1992 обработчиком proxy, FastCGI или memcached в именованный location со
1993 статическим обработчиком в рабочем процессе происходил segmentation
1994 fault.
1995
1996 *) Исправление: браузеры не повторяли SSL handshake, если при первом
1997 handshake не оказалось правильного клиентского сертификата.
1998 Спасибо Александру Инюхину.
1999
2000 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
2001 error_page без изменения кода ошибки nginx пытался выделить очень
2002 много памяти.
2003
2004 *) Исправление: утечки памяти в долгоживущих небуфферизированных
2005 соединениях.
2006
2007 *) Исправление: утечки памяти в resolver'е.
2008
2009 *) Исправление: при перенаправлении запроса из location'а c
2010 обработчиком proxy в другой location с обработчиком proxy в рабочем
2011 процессе происходил segmentation fault.
2012
2013 *) Исправление: ошибки в кэшировании переменных $proxy_host и
2014 $proxy_port.
2015 Спасибо Сергею Боченкову.
2016
2017 *) Исправление: директива proxy_pass с переменными использовала порт,
2018 описанной в другой директиве proxy_pass без переменных, но с таким
2019 же именем хоста.
2020 Спасибо Сергею Боченкову.
2021
2022 *) Исправление: во время переконфигурации на некоторых 64-битном
2023 платформах в лог записывался alert "sendmsg() failed (9: Bad file
2024 descriptor)".
2025
2026 *) Исправление: при повторном использовании в SSI пустого block'а в
2027 качестве заглушки в рабочем процессе происходил segmentation fault.
2028
2029 *) Исправление: ошибки при копировании части URI, содержащего
2030 экранированные символы, в аргументы.
2031
2032
2033 Изменения в nginx 0.6.26 11.02.2008
2034
2035 *) Исправление: директивы proxy_store и fastcgi_store не проверяли
2036 длину ответа.
2037
2038 *) Исправление: при использовании большого значения в директиве expires
2039 в рабочем процессе происходил segmentation fault.
2040 Спасибо Joaquin Cuenca Abela.
2041
2042 *) Исправление: nginx неверно определял длину строки кэша на
2043 Pentium 4.
2044 Спасибо Геннадию Махомеду.
2045
2046 *) Исправление: в проксированных подзапросах и подзапросах к
2047 FastCGI-серверу вместо метода GET использовался оригинальный метод
2048 клиента.
2049
2050 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2051 отложенного accept'а.
2052 Спасибо Ben Maurer.
2053
2054 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown()
2055 failed (SSL: )"; ошибка появилась в 0.6.23.
2056
2057 *) Исправление: при использовании HTTPS запросы могли завершаться с
2058 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
2059
2060
2061 Изменения в nginx 0.6.25 08.01.2008
2062
2063 *) Изменение: вместо специального параметра "*" в директиве server_name
2064 теперь используется директива server_name_in_redirect.
2065
2066 *) Изменение: в качестве основного имени в директиве server_name теперь
2067 можно использовать имена с масками и регулярными выражениями.
2068
2069 *) Изменение: директива satisfy_any заменена директивой satisfy.
2070
2071 *) Изменение: после переконфигурации старые рабочие процесс могли
2072 сильно нагружать процессор при запуске под Linux OpenVZ.
2073
2074 *) Добавление: директива min_delete_depth.
2075
2076 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
2077
2078 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
2079 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
2080
2081 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2082 отложенного accept'а.
2083 Спасибо Ben Maurer.
2084
2085 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
2086 появилась в 0.6.23.
2087
2088
2089 Изменения в nginx 0.6.24 27.12.2007
2090
2091 *) Исправление: при использовании HTTPS в рабочем процессе мог
2092 произойти segmentation fault; ошибка появилась в 0.6.23.
2093
2094
2095 Изменения в nginx 0.6.23 27.12.2007
2096
2097 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
2098 параметр используется по умолчанию.
2099
2100 *) Изменение: директива open_file_cache_retest переименована в
2101 open_file_cache_valid.
2102
2103 *) Добавление: директива open_file_cache_min_uses.
2104
2105 *) Добавление: модуль ngx_http_gzip_static_module.
2106
2107 *) Добавление: директива gzip_disable.
2108
2109 *) Добавление: директиву memcached_pass можно использовать внутри блока
2110 if.
2111
2112 *) Исправление: если внутри одного location'а использовались директивы
2113 "memcached_pass" и "if", то в рабочем процессе происходил
2114 segmentation fault.
2115
2116 *) Исправление: если при использовании директивы satisfy_any on" были
2117 заданы директивы не всех модулей доступа, то заданные директивы не
2118 проверялись.
2119
2120 *) Исправление: параметры, заданные регулярным выражением в директиве
2121 valid_referers, не наследовалась с предыдущего уровня.
2122
2123 *) Исправление: директива post_action не работала, если запрос
2124 завершался с кодом 499.
2125
2126 *) Исправление: оптимизация использования 16K буфера для
2127 SSL-соединения.
2128 Спасибо Ben Maurer.
2129
2130 *) Исправление: STARTTLS в режиме SMTP не работал.
2131 Спасибо Олегу Мотиенко.
2132
2133 *) Исправление: при использовании HTTPS запросы могли завершаться с
2134 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
2135
2136
2137 Изменения в nginx 0.6.22 19.12.2007
2138
2139 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
2140 значения, скопированные в память, выделенную perl'ом.
2141
2142 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
2143 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
2144 время переконфигурации основной процесс аварийно выходил; ошибка
2145 появилась в 0.5.9.
2146 Спасибо Борису Жмурову.
2147
2148 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
2149 неверные результаты выделения в регулярных выражениях.
2150
2151 *) Исправление: если метод $r->has_request_body() вызывался для
2152 запроса, у которого небольшое тело запроса было уже полностью
2153 получено, то в рабочем процессе происходил segmentation fault.
2154
2155 *) Исправление: large_client_header_buffers не освобождались перед
2156 переходом в состояние keep-alive.
2157 Спасибо Олександру Штепе.
2158
2159 *) Исправление: в переменной $upstream_addr не записывался последний
2160 адрес; ошибка появилась в 0.6.18.
2161
2162 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
2163 теперь она возвращает ошибку 502, которую можно направить на
2164 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
2165
2166 *) Исправление: при использовании директивы fastcgi_catch_stderr в
2167 основном процессе происходил segmentation fault; ошибка появилась в
2168 0.6.10.
2169 Спасибо Manlio Perillo.
2170
2171
2172 Изменения в nginx 0.6.21 03.12.2007
2173
2174 *) Изменение: если в значениях переменных директивы proxy_pass
2175 используются только IP-адреса, то указывать resolver не нужно.
2176
2177 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2178 рабочем процессе мог произойти segmentation fault; ошибка появилась
2179 в 0.6.19.
2180
2181 *) Исправление: если resolver использовался на платформах, не
2182 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
2183 response".
2184 Спасибо Андрею Нигматулину.
2185
2186 *) Исправление: При использовании переменной $server_protocol в
2187 FastCGI-параметрах и запросе, длина которого была близка к значению
2188 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
2189 the request record is too big".
2190
2191 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
2192 nginx возвращал обычный ответ.
2193
2194
2195 Изменения в nginx 0.6.20 28.11.2007
2196
2197 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2198 рабочем процессе мог произойти segmentation fault; ошибка появилась
2199 в 0.6.19.
2200
2201
2202 Изменения в nginx 0.6.19 27.11.2007
2203
2204 *) Исправление: версия 0.6.18 не собиралась.
2205
2206
2207 Изменения в nginx 0.6.18 27.11.2007
2208
2209 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с
2210 номером процесса добавляет микросекунды на время старта.
2211
2212 *) Изменение: в error_log теперь записывается полная строка запроса
2213 вместо только URI.
2214
2215 *) Добавление: директива proxy_pass поддерживает переменные.
2216
2217 *) Добавление: директивы resolver и resolver_timeout.
2218
2219 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
2220 заголовке ответа строку "Last-Modified".
2221
2222 *) Исправление: директива limit_rate не позволяла передавать на полной
2223 скорости, даже если был указан очень большой лимит.
2224
2225
2226 Изменения в nginx 0.6.17 15.11.2007
2227
2228 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
2229 Спасибо Александру Инюхину.
2230
2231 *) Исправление: при использовании директивы msie_refresh повторно
2232 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
2233
2234 *) Исправление: директива autoindex не работала при использовании
2235 "alias /".
2236
2237 *) Исправление: при использовании подзапросов в рабочем процессе мог
2238 произойти segmentation fault.
2239
2240 *) Исправление: при использовании SSL и gzip большие ответы могли
2241 передаваться не полностью.
2242
2243 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
2244 то переменная $status была равна 0.
2245
2246
2247 Изменения в nginx 0.6.16 29.10.2007
2248
2249 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
2250 Спасибо Илье Новикову.
2251
2252 *) Исправление: если в директиве error_page использовался символ "?",
2253 то он экранировался при проксировании запроса; ошибка появилась в
2254 0.6.11.
2255
2256 *) Исправление: совместимость с mget.
2257
2258
2259 Изменения в nginx 0.6.15 22.10.2007
2260
2261 *) Добавление: совместимость с Cygwin.
2262 Спасибо Владимиру Кутакову.
2263
2264 *) Добавление: директива merge_slashes.
2265
2266 *) Добавление: директива gzip_vary.
2267
2268 *) Добавление: директива server_tokens.
2269
2270 *) Исправление: nginx не раскодировал URI в команде SSI include.
2271
2272 *) Исправление: при использовании переменной в директивах charset или
2273 source_charset на старте или во время переконфигурации происходил
2274 segmentation fault,
2275
2276 *) Исправление: nginx возвращал ошибку 400 на запросы вида
2277 "GET http://www.domain.com HTTP/1.0".
2278 Спасибо James Oakley.
2279
2280 *) Исправление: после перенаправления запроса с телом запроса с помощью
2281 директивы error_page nginx пытался снова прочитать тело запроса;
2282 ошибка появилась в 0.6.7.
2283
2284 *) Исправление: в рабочем процессе происходил segmentation fault, если
2285 у сервера, обрабатывающему запрос, не был явно определён
2286 server_name; ошибка появилась в 0.6.7.
2287
2288
2289 Изменения в nginx 0.6.14 15.10.2007
2290
2291 *) Изменение: теперь по умолчанию команда SSI echo использует
2292 кодирование entity.
2293
2294 *) Добавление: параметр encoding в команде SSI echo.
2295
2296 *) Добавление: директиву access_log можно использовать внутри блока
2297 limit_except.
2298
2299 *) Исправление: если все сервера апстрима оказывались недоступными, то
2300 до восстановления работоспособности у всех серверов вес становился
2301 равным одному; ошибка появилась в 0.6.6.
2302
2303 *) Исправление: при использовании переменных $date_local и $date_gmt
2304 вне модуля ngx_http_ssi_filter_module в рабочем процессе происходил
2305 segmentation fault.
2306
2307 *) Исправление: при использовании включённом отладочном логе в рабочем
2308 процессе мог произойти segmentation fault.
2309 Спасибо Андрею Нигматулину.
2310
2311 *) Исправление: ngx_http_memcached_module не устанавливал
2312 $upstream_response_time.
2313 Спасибо Максиму Дунину.
2314
2315 *) Исправление: рабочий процесс мог зациклиться при использовании
2316 memcached.
2317
2318 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
2319 строке "Connection" в заголовке запроса только, если они были в
2320 нижнем регистре; ошибка появилась в 0.6.11.
2321
2322 *) Исправление: sub_filter не работал с пустой строкой замены.
2323
2324 *) Исправление: в парсинге sub_filter.
2325
2326
2327 Изменения в nginx 0.6.13 24.09.2007
2328
2329 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
2330 использовался autoindex
2331 Спасибо Arkadiusz Patyk.
2332
2333
2334 Изменения в nginx 0.6.12 21.09.2007
2335
2336 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
2337 и smtp.
2338
2339 *) Добавление: параметры конфигурации --without-mail_pop3_module,
2340 --without-mail_imap_module и --without-mail_smtp_module.
2341
2342 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer
2343 модуля ngx_mail_smtp_module.
2344
2345 *) Исправление: wildcard в конце имени сервера не работали; ошибка
2346 появилась в 0.6.9.
2347
2348 *) Исправление: при использовании разделяемой библиотеки PCRE,
2349 расположенной в нестандартном месте, nginx не запускался на Solaris.
2350
2351 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
2352 скрывали строки заголовка ответа с именем больше 32 символов.
2353 Спасибо Manlio Perillo.
2354
2355
2356 Изменения в nginx 0.6.11 11.09.2007
2357
2358 *) Исправление: счётчик активных соединений всегда рос при
2359 использовании почтового прокси-сервера.
2360
2361 *) Исправление: если бэкенд возвращал только заголовок ответа при
2362 небуферизированном проксировании, то nginx закрывал соединение с
2363 бэкендом по таймауту.
2364
2365 *) Исправление: nginx не поддерживал несколько строк "Connection" в
2366 заголовке запроса.
2367
2368 *) Исправление: если в сервере апстрима был задан max_fails, то после
2369 первой же неудачной попытки вес сервера навсегда становился равным
2370 одному; ошибка появилась в 0.6.6.
2371
2372
2373 Изменения в nginx 0.6.10 03.09.2007
2374
2375 *) Добавление: директивы open_file_cache, open_file_cache_retest и
2376 open_file_cache_errors.
2377
2378 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
2379
2380 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
2381 методе $r->send_http_header(), не добавлялась кодировка, указанная в
2382 директиве charset.
2383
2384 *) Исправление: при использовании метода /dev/poll в рабочем процессе
2385 мог произойти segmentation fault.
2386
2387
2388 Изменения в nginx 0.6.9 28.08.2007
2389
2390 *) Исправление: рабочий процесс мог зациклиться при использовании
2391 протокола HTTPS; ошибка появилась в 0.6.7.
2392
2393 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
2394 не запускался при использовании wildcard в конце имени сервера.
2395
2396 *) Исправление: директива ip_hash могла неверно помечать сервера как
2397 нерабочие.
2398
2399 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
2400
2401
2402 Изменения в nginx 0.6.8 20.08.2007
2403
2404 *) Изменение: теперь nginx пытается установить директивы
2405 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
2406 worker_rlimit_sigpending без привилегий root'а.
2407
2408 *) Изменение: теперь nginx экранирует символы пробела и "%" при
2409 передаче запроса серверу аутентификации почтового прокси-сервера.
2410
2411 *) Изменение: теперь nginx экранирует символ "%" в переменной
2412 $memcached_key.
2413
2414 *) Исправление: при указании относительного пути к конфигурационному
2415 файлу в качестве параметра ключа -c nginx определял путь
2416 относительно конфигурационного префикса; ошибка появилась в 0.6.6.
2417
2418 *) Исправление: nginx не работал на FreeBSD/sparc64.
2419
2420
2421 Изменения в nginx 0.6.7 15.08.2007
2422
2423 *) Изменение: теперь пути, указанные в директивах include,
2424 auth_basic_user_file, perl_modules, ssl_certificate,
2425 ssl_certificate_key и ssl_client_certificate, определяются
2426 относительно каталога конфигурационного файла nginx.conf, а не
2427 относительно префикса.
2428
2429 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
2430
2431 *) Изменение: для обновления на лету версий 0.1.x создан специальный
2432 сценарий make upgrade1.
2433
2434 *) Добавление: директивы server_name и valid_referers поддерживают
2435 регулярные выражения.
2436
2437 *) Добавление: директива server в блоке upstream поддерживает параметр
2438 backup.
2439
2440 *) Добавление: модуль ngx_http_perl_module поддерживает метод
2441 $r->discard_request_body.
2442
2443 *) Добавление: директива "add_header Last-Modified ..." меняет строку
2444 "Last-Modified" в заголовке ответа.
2445
2446 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
2447 отличным от 200, и после этого запроса соединение переходило в
2448 состояние keep-alive, то на следующий запрос nginx возвращал 400.
2449
2450 *) Исправление: если в директиве auth_http был задан неправильный
2451 адрес, то в рабочем процессе происходил segmentation fault.
2452
2453 *) Исправление: теперь по умолчанию nginx использует значение 511 для
2454 listen backlog на всех платформах, кроме FreeBSD.
2455 Спасибо Jiang Hong.
2456
2457 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
2458 upstream был помечен как down; ошибка появилась в 0.6.6.
2459
2460 *) Исправление: sendfilev() в Solaris теперь не используется при
2461 передаче тела запроса FastCGI-серверу через unix domain сокет.
2462
2463
2464 Изменения в nginx 0.6.6 30.07.2007
2465
2466 *) Добавление: параметр --sysconfdir=PATH в configure.
2467
2468 *) Добавление: именованные location'ы.
2469
2470 *) Добавление: переменную $args можно устанавливать с помощью set.
2471
2472 *) Добавление: переменная $is_args.
2473
2474 *) Исправление: равномерное распределение запросов к апстримам с
2475 большими весами.
2476
2477 *) Исправление: если клиент в почтовом прокси-сервере закрывал
2478 соединение, то nginx мог не закрывать соединение с бэкендом.
2479
2480 *) Исправление: при использовании одного хоста в качестве бэкендов для
2481 протоколов HTTP и HTTPS без явного указания портов, nginx
2482 использовал только один порт - 80 или 443.
2483
2484 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
2485 более ранними версиями; ошибка появилась в 0.6.4.
2486
2487
2488 Изменения в nginx 0.6.5 23.07.2007
2489
2490 *) Добавление: переменная $nginx_version.
2491 Спасибо Николаю Гречуху.
2492
2493 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в
2494 режиме IMAP.
2495 Спасибо Максиму Дунину.
2496
2497 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
2498 SMTP.
2499 Спасибо Максиму Дунину.
2500
2501 *) Исправление: теперь nginx экранирует пробел в переменной
2502 $memcached_key.
2503
2504 *) Исправление: nginx неправильно собирался Sun Studio на
2505 Solaris/amd64.
2506 Спасибо Jiang Hong.
2507
2508 *) Исправление: незначительных потенциальных ошибок.
2509 Спасибо Coverity's Scan.
2510
2511
2512 Изменения в nginx 0.6.4 17.07.2007
2513
2514 *) Безопасность: при использовании директивы msie_refresh был возможен
2515 XSS.
2516 Спасибо Максиму Богуку.
2517
2518 *) Изменение: директивы proxy_store и fastcgi_store изменены.
2519
2520 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
2521
2522 *) Исправление: nginx не работал на Solaris/sparc64, если был собран
2523 Sun Studio.
2524 Спасибо Андрею Нигматулину.
2525
2526 *) Изменение: обход ошибки в Sun Studio 12.
2527 Спасибо Jiang Hong.
2528
2529
2530 Изменения в nginx 0.6.3 12.07.2007
2531
2532 *) Добавление: директивы proxy_store и fastcgi_store.
2533
2534 *) Исправление: при использовании директивы auth_http_header в рабочем
2535 процессе мог произойти segmentation fault.
2536 Спасибо Максиму Дунину.
2537
2538 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
2539 не был разрешён, то в рабочем процессе происходил segmentation fault.
2540
2541 *) Исправление: при использовании протокола HTTPS в директиве
2542 proxy_pass в рабочем процессе мог произойти segmentation fault.
2543
2544 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2545 если использовался метод eventport.
2546
2547 *) Исправление: директивы proxy_ignore_client_abort и
2548 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
2549
2550
2551 Изменения в nginx 0.6.2 09.07.2007
2552
2553 *) Исправление: если заголовок ответа был разделён в FastCGI-записях,
2554 то nginx передавал клиенту мусор в таких заголовках.
2555
2556
2557 Изменения в nginx 0.6.1 17.06.2007
2558
2559 *) Исправление: в парсинге SSI.
2560
2561 *) Исправление: при использовании удалённого подзапроса в SSI
2562 последующий подзапрос локального файла мог отдаваться клиенту в
2563 неверном порядке.
2564
2565 *) Исправление: большие включения в SSI, сохранённые во временные
2566 файлы, передавались не полностью.
2567
2568 *) Исправление: значение perl'овой переменной $$ модуля
2569 ngx_http_perl_module было равно номеру главного процесса.
2570
2571
2572 Изменения в nginx 0.6.0 14.06.2007
2573
2574 *) Добавление: директивы "server_name", "map", and "valid_referers"
2575 поддерживают маски вида "www.example.*".
2576
2577
2578 Изменения в nginx 0.5.25 11.06.2007
2579
2580 *) Исправление: nginx не собирался с параметром
2581 --without-http_rewrite_module; ошибка появилась в 0.5.24.
2582
2583
2584 Изменения в nginx 0.5.24 06.06.2007
2585
2586 *) Безопасность: директива ssl_verify_client не работала, если запрос
2587 выполнялся по протоколу HTTP/0.9.
2588
2589 *) Исправление: при использовании сжатия часть ответа могла
2590 передаваться несжатой; ошибка появилась в 0.5.23.
2591
2592
2593 Изменения в nginx 0.5.23 04.06.2007
2594
2595 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
2596 Server Name Indication.
2597
2598 *) Добавление: директива fastcgi_catch_stderr.
2599 Спасибо Николаю Гречуху, проект OWOX.
2600
2601 *) Исправление: на Линуксе в основном процессе происходил segmentation
2602 fault, если два виртуальных сервера должны bind()ится к
2603 пересекающимся портам.
2604
2605 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2606 perl поддерживал потоки, то во время второй переконфигурации
2607 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
2608
2609 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2610
2611
2612 Изменения в nginx 0.5.22 29.05.2007
2613
2614 *) Исправление: большое тело запроса могло не передаваться бэкенду;
2615 ошибка появилась в 0.5.21.
2616
2617
2618 Изменения в nginx 0.5.21 28.05.2007
2619
2620 *) Исправление: если внутри сервера описано больше примерно десяти
2621 location'ов, то location'ы, заданные с помощью регулярного
2622 выражения, могли выполняться не в том, порядке, в каком они описаны.
2623
2624 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
2625 если 33-тий по счёту или последующий бэкенд упал.
2626 Спасибо Антону Поварову.
2627
2628 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64
2629 мог произойти bus error.
2630 Спасибо Андрею Нигматулину.
2631
2632 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2633
2634
2635 Изменения в nginx 0.5.20 07.05.2007
2636
2637 *) Добавление: директива sendfile_max_chunk.
2638
2639 *) Добавление: переменные "$http_...", "$sent_http_..." и
2640 "$upstream_http_..." можно менять директивой set.
2641
2642 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
2643 рабочем процессе мог произойти segmentation fault.
2644
2645 *) Исправление: завершающая строка multipart range ответа передавалась
2646 неверно.
2647 Спасибо Evan Miller.
2648
2649 *) Исправление: nginx не работал на Solaris/sparc64, если был собран
2650 Sun Studio.
2651 Спасибо Андрею Нигматулину.
2652
2653 *) Исправление: модуль ngx_http_perl_module не собирался make в
2654 Solaris.
2655 Спасибо Андрею Нигматулину.
2656
2657
2658 Изменения в nginx 0.5.19 24.04.2007
2659
2660 *) Изменение: значение переменной $request_time теперь записывается с
2661 точностью до миллисекунд.
2662
2663 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
2664 переименован в $r->flush.
2665
2666 *) Добавление: переменная $upstream_addr.
2667
2668 *) Добавление: директивы proxy_headers_hash_max_size и
2669 proxy_headers_hash_bucket_size.
2670 Спасибо Володымыру Костырко.
2671
2672 *) Исправление: при использовании sendfile и limit_rate на 64-битных
2673 платформах нельзя было передавать файлы больше 2G.
2674
2675 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
2676 было передавать файлы больше 2G.
2677
2678
2679 Изменения в nginx 0.5.18 19.04.2007
2680
2681 *) Добавление: модуль ngx_http_sub_filter_module.
2682
2683 *) Добавление: переменные "$upstream_http_...".
2684
2685 *) Добавление: теперь переменные $upstream_status и
2686 $upstream_response_time содержат данные о всех обращениях к
2687 апстримам, сделанным до X-Accel-Redirect.
2688
2689 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2690 perl не поддерживал multiplicity, то после первой переконфигурации и
2691 после получения любого сигнала в основном процессе происходил
2692 segmentation fault; ошибка появилась в 0.5.9.
2693
2694 *) Исправление: если perl не поддерживал multiplicity, то после
2695 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
2696
2697
2698 Изменения в nginx 0.5.17 02.04.2007
2699
2700 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
2701
2702 *) Добавление: теперь nginx поддерживает директиву include внутри блока
2703 types.
2704
2705 *) Исправление: использование переменной $document_root в директиве
2706 root и alias запрещено: оно вызывало рекурсивное переполнение стека.
2707
2708 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2709
2710 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2711 $uri) возвращали старое закэшированное значение.
2712
2713
2714 Изменения в nginx 0.5.16 26.03.2007
2715
2716 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
2717 использовалась сеть класса С.
2718 Спасибо Павлу Ярковому.
2719
2720 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
2721 был указан charset и строка завершалась символом ";", то в рабочем
2722 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
2723
2724 *) Исправление: ошибки "[alert] zero size buf" при работе с
2725 FastCGI-сервером, если тело запроса, записанное во временный файл,
2726 было кратно 32K.
2727
2728 *) Исправление: nginx не собирался на Solaris без параметра
2729 --with-debug; ошибка появилась в 0.5.15.
2730
2731
2732 Изменения в nginx 0.5.15 19.03.2007
2733
2734 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
2735 SMTP-проксирование и директивы smtp_auth, smtp_capablities и
2736 xclient.
2737 Спасибо Антону Южанинову и Максиму Дунину.
2738
2739 *) Добавление: теперь keep-alive соединения закрываются сразу же по
2740 получении сигнала переконфигурации.
2741
2742 *) Изменение: директивы imap и auth переименованы соответственно в mail
2743 и pop3_auth.
2744
2745 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
2746 был разрешён метод APOP, то в рабочем процессе происходил
2747 segmentation fault.
2748
2749 *) Исправление: при использовании директивы starttls only в протоколе
2750 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
2751
2752 *) Исправление: рабочие процессы не выходили после переконфигурации и
2753 не переоткрывали логи, если использовался метод eventport.
2754
2755 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
2756 зациклиться.
2757
2758 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
2759 используются методы eventport или /dev/poll.
2760
2761
2762 Изменения в nginx 0.5.14 23.02.2007
2763
2764 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
2765 конфигурационного файла.
2766
2767
2768 Изменения в nginx 0.5.13 19.02.2007
2769
2770 *) Добавление: методы COPY и MOVE.
2771
2772 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
2773 запросов, переданных по keep-alive соединению.
2774
2775 *) Исправление: nginx не работал на 64-битном big-endian Linux.
2776 Спасибо Андрею Нигматулину.
2777
2778 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
2779 теперь сразу закрывает соединение, а не по таймауту.
2780
2781 *) Исправление: если при использовании метода epoll клиент закрывал
2782 преждевременно соединение со своей стороны, то nginx закрывал это
2783 соединение только по истечении таймаута на передачу.
2784
2785 *) Исправление: nginx не собирался на платформах, отличных от i386,
2786 amd64, sparc и ppc; ошибка появилась в 0.5.8.
2787
2788
2789 Изменения в nginx 0.5.12 12.02.2007
2790
2791 *) Исправление: nginx не собирался на платформах, отличных от i386,
2792 amd64, sparc и ppc; ошибка появилась в 0.5.8.
2793
2794 *) Исправление: при использовании временных файлов в время работы с
2795 FastCGI-сервером в рабочем процессе мог произойти segmentation
2796 fault; ошибка появилась в 0.5.8.
2797
2798 *) Исправление: если переменная $fastcgi_script_name записывалась в
2799 лог, то в рабочем процессе мог произойти segmentation fault.
2800
2801 *) Исправление: ngx_http_perl_module не собирался на Solaris.
2802
2803
2804 Изменения в nginx 0.5.11 05.02.2007
2805
2806 *) Добавление: теперь configure определяет библиотеку PCRE в
2807 MacPorts.
2808 Спасибо Chris McGrath.
2809
2810 *) Исправление: ответ был неверным, если запрашивалось несколько
2811 диапазонов; ошибка появилась в 0.5.6.
2812
2813 *) Исправление: директива create_full_put_path не могла создавать
2814 промежуточные каталоги, если не была установлена директива
2815 dav_access.
2816 Спасибо Evan Miller.
2817
2818 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
2819 записываться код "0".
2820
2821 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
2822 произойти segmentation fault.
2823
2824
2825 Изменения в nginx 0.5.10 26.01.2007
2826
2827 *) Исправление: во время обновления исполняемого файла новый процесс не
2828 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
2829
2830 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
2831 произойти segmentation fault; ошибка появилась в 0.5.1.
2832
2833
2834 Изменения в nginx 0.5.9 25.01.2007
2835
2836 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
2837 использует значение переменной $memcached_key.
2838
2839 *) Добавление: переменная $memcached_key.
2840
2841 *) Добавление: параметр clean в директиве client_body_in_file_only.
2842
2843 *) Добавление: директива env.
2844
2845 *) Добавление: директива sendfile работает внутри блока if.
2846
2847 *) Добавление: теперь при ошибке записи в access_log nginx записывает
2848 сообщение в error_log, но не чаще одного раза в минуту.
2849
2850 *) Исправление: директива "access_log off" не всегда запрещала запись в
2851 лог.
2852
2853
2854 Изменения в nginx 0.5.8 19.01.2007
2855
2856 *) Исправление: если использовалась директива
2857 "client_body_in_file_only on" и тело запроса было небольшое, то мог
2858 произойти segmentation fault.
2859
2860 *) Исправление: происходил segmentation fault, если использовались
2861 директивы "client_body_in_file_only on" и
2862 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
2863 делался переход к следующему бэкенду.
2864
2865 *) Исправление: если при использовании директивы "proxy_buffering off"
2866 соединение с клиентом было неактивно, то оно закрывалось по
2867 таймауту, заданному директивой send_timeout; ошибка появилась в
2868 0.4.7.
2869
2870 *) Исправление: если при использовании метода epoll клиент закрывал
2871 преждевременно соединение со своей стороны, то nginx закрывал это
2872 соединение только по истечении таймаута на передачу.
2873
2874 *) Исправление: ошибки "[alert] zero size buf" при работе с
2875 FastCGI-сервером.
2876
2877 *) Исправление ошибок в директиве limit_zone.
2878
2879
2880 Изменения в nginx 0.5.7 15.01.2007
2881
2882 *) Добавление: оптимизация использования памяти в ssl_session_cache.
2883
2884 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
2885
2886 *) Исправление: на старте или во время переконфигурации происходил
2887 segmentation fault, если директивы ssl_session_cache или limit_zone
2888 использовались на 64-битных платформах.
2889
2890 *) Исправление: при использовании директив add_before_body или
2891 add_after_body происходил segmentation fault, если в заголовке
2892 ответа нет строки "Content-Type".
2893
2894 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
2895 потоков.
2896 Спасибо Дену Иванову.
2897
2898 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
2899
2900
2901 Изменения в nginx 0.5.6 09.01.2007
2902
2903 *) Изменение: теперь модуль ngx_http_index_module игнорирует все
2904 методы, кроме GET, HEAD и POST.
2905
2906 *) Добавление: модуль ngx_http_limit_zone_module.
2907
2908 *) Добавление: переменная $binary_remote_addr.
2909
2910 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module
2911 и ngx_imap_ssl_module.
2912
2913 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
2914
2915 *) Исправление: при использовании $r->sendfile() byte-ranges
2916 передавались неверно.
2917
2918
2919 Изменения в nginx 0.5.5 24.12.2006
2920
2921 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
2922
2923 *) Добавление: ключ -V.
2924
2925 *) Добавление: директива worker_rlimit_core поддерживает указание
2926 размера в K, M и G.
2927
2928 *) Исправление: модуль nginx.pm теперь может устанавливаться
2929 непривилегированным пользователем.
2930
2931 *) Исправление: при использовании методов $r->request_body или
2932 $r->request_body_file мог произойти segmentation fault.
2933
2934 *) Исправление: ошибок, специфичных для платформы ppc.
2935
2936
2937 Изменения в nginx 0.5.4 15.12.2006
2938
2939 *) Добавление: директиву perl можно использовать внутри блока
2940 limit_except.
2941
2942 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
2943 заголовке запроса для метода DELETE.
2944
2945 *) Исправление: при использовании одного параметра в директиве
2946 dav_access nginx мог сообщить об ошибке в конфигурации.
2947
2948 *) Исправление: при использовании переменной $host мог произойти
2949 segmentation fault; ошибка появилась в 0.4.14.
2950
2951
2952 Изменения в nginx 0.5.3 13.12.2006
2953
2954 *) Добавление: модуль ngx_http_perl_module поддерживает методы
2955 $r->status, $r->log_error и $r->sleep.
2956
2957 *) Добавление: метод $r->variable поддерживает переменные, неописанные
2958 в конфигурации nginx'а.
2959
2960 *) Исправление: метод $r->has_request_body не работал.
2961
2962
2963 Изменения в nginx 0.5.2 11.12.2006
2964
2965 *) Исправление: если в директивах proxy_pass использовалось имя,
2966 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
2967 ошибка появилась в 0.5.1.
2968
2969
2970 Изменения в nginx 0.5.1 11.12.2006
2971
2972 *) Исправление: директива post_action могла не работать после
2973 неудачного завершения запроса.
2974
2975 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в
2976 0.4.11.
2977 Спасибо Bron Gondwana.
2978
2979 *) Исправление: при указании в директиве fastcgi_pass имени описанного
2980 upstream'а выдавалось сообщение "no port in upstream"; ошибка
2981 появилась в 0.5.0.
2982
2983 *) Исправление: если в директивах proxy_pass и fastcgi_pass
2984 использовались одинаковых имена серверов, но с разными портами, то
2985 эти директивы использовали первый описанный порт; ошибка появилась в
2986 0.5.0.
2987
2988 *) Исправление: если в директивах proxy_pass и fastcgi_pass
2989 использовались unix domain сокеты, то эти директивы использовали
2990 первый описанный сокет; ошибка появилась в 0.5.0.
2991
2992 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
2993 если он был указан в последней строке файла паролей и после пароля
2994 не было перевода строки, возврата каретки или символа ":".
2995
2996 *) Исправление: переменная $upstream_response_time могла быть равна
2997 "0.000", хотя время обработки было больше 1 миллисекунды.
2998
2999
3000 Изменения в nginx 0.5.0 04.12.2006
3001
3002 *) Изменение: параметры в виде "%name" в директиве log_format больше не
3003 поддерживаются.
3004
3005 *) Изменение: директивы proxy_upstream_max_fails,
3006 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
3007 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
3008 memcached_upstream_fail_timeout больше не поддерживаются.
3009
3010 *) Добавление: директива server в блоке upstream поддерживает параметры
3011 max_fails, fail_timeout и down.
3012
3013 *) Добавление: директива ip_hash в блоке upstream.
3014
3015 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
3016 сервера аутентификации IMAP/POP3 прокси.
3017
3018 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3019 появилась в 0.4.14.
3020
3021
3022 Изменения в nginx 0.4.14 27.11.2006
3023
3024 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
3025
3026 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
3027 Linux и NetBSD.
3028
3029 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
3030 поддержкой потоков; ошибка появилась в 0.3.38.
3031
3032 *) Исправление: ngx_http_perl_module не работал корректно, если перл
3033 вызывался рекурсивно.
3034
3035 *) Исправление: nginx игнорировал имя сервера в строке запроса.
3036
3037 *) Исправление: если FastCGI сервер передавал много в stderr, то
3038 рабочий процесс мог зациклиться.
3039
3040 *) Исправление: при изменении системного времени переменная
3041 $upstream_response_time могла быть отрицательной.
3042
3043 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
3044 прокси не передавался параметр Auth-Login-Attempt.
3045
3046 *) Исправление: при ошибке соединения с сервером аутентификации
3047 IMAP/POP3 прокси мог произойти segmentation fault.
3048
3049
3050 Изменения в nginx 0.4.13 15.11.2006
3051
3052 *) Добавление: директиву proxy_pass можно использовать внутри блока
3053 limit_except.
3054
3055 *) Добавление: директива limit_except поддерживает все WebDAV методы.
3056
3057 *) Исправление: при использовании директивы add_before_body без
3058 директивы add_after_body ответ передавался не полностью.
3059
3060 *) Исправление: большое тело запроса не принималось, если
3061 использовались метод epoll и deferred accept().
3062
3063 *) Исправление: для ответов модуля ngx_http_autoindex_module не
3064 выставлялась кодировка; ошибка появилась в 0.3.50.
3065
3066 *) Исправление: ошибки "[alert] zero size buf" при работе с
3067 FastCGI-сервером;
3068
3069 *) Исправление: параметр конфигурации --group= игнорировался.
3070 Спасибо Thomas Moschny.
3071
3072 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка
3073 появилась в 0.3.50.
3074
3075
3076 Изменения в nginx 0.4.12 31.10.2006
3077
3078 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3079 $r->variable.
3080
3081 *) Исправление: при включении в ответ большого статического файла с
3082 помощью SSI ответ мог передаваться не полностью.
3083
3084 *) Исправление: nginx не убирал "#fragment" в URI.
3085
3086
3087 Изменения в nginx 0.4.11 25.10.2006
3088
3089 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
3090
3091 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3092 $r->allow_ranges.
3093
3094 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
3095 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
3096
3097
3098 Изменения в nginx 0.4.10 23.10.2006
3099
3100 *) Добавление: POP3 прокси поддерживает APOP.
3101
3102 *) Исправление: при использовании методов select, poll и /dev/poll во
3103 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
3104 нагружал процессор.
3105
3106 *) Исправление: при использовании переменной $server_addr в директиве
3107 map мог произойти segmentation fault.
3108
3109 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
3110 для полных ответов; ошибка появилась в 0.4.7.
3111
3112 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
3113 0.4.9.
3114
3115
3116 Изменения в nginx 0.4.9 13.10.2006
3117
3118 *) Добавление: параметр set в команде SSI include.
3119
3120 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
3121 модуля nginx.pm.
3122
3123
3124 Изменения в nginx 0.4.8 11.10.2006
3125
3126 *) Исправление: если до команды SSI include с параметром wait
3127 выполнялась ещё одна команда SSI include, то параметр wait мог не
3128 работать.
3129
3130 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
3131 полных ответов.
3132 Спасибо Алексею Ковырину.
3133
3134
3135 Изменения в nginx 0.4.7 10.10.2006
3136
3137 *) Добавление: модуль ngx_http_flv_module.
3138
3139 *) Добавление: переменная $request_body_file.
3140
3141 *) Добавление: директивы charset и source_charset поддерживают
3142 переменные.
3143
3144 *) Исправление: если до команды SSI include с параметром wait
3145 выполнялась ещё одна команда SSI include, то параметр wait мог не
3146 работать.
3147
3148 *) Исправление: при использовании директивы "proxy_buffering off" или
3149 при работе с memcached соединения могли не закрываться по таймауту.
3150
3151 *) Исправление: nginx не запускался на 64-битных платформах, отличных
3152 от amd64, sparc64 и ppc64.
3153
3154
3155 Изменения в nginx 0.4.6 06.10.2006
3156
3157 *) Исправление: nginx не запускался на 64-битных платформах, отличных
3158 от amd64, sparc64 и ppc64.
3159
3160 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
3161 chunk'ами, если длина ответа в методе
3162 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
3163
3164 *) Исправление: после перенаправления ошибки с помощью директивы
3165 error_page любая директива модуля ngx_http_rewrite_module возвращала
3166 эту ошибку; ошибка появилась в 0.4.4.
3167
3168
3169 Изменения в nginx 0.4.5 02.10.2006
3170
3171 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
3172 в 0.4.4.
3173
3174
3175 Изменения в nginx 0.4.4 02.10.2006
3176
3177 *) Добавление: переменная $scheme.
3178
3179 *) Добавление: директива expires поддерживает параметр max.
3180
3181 *) Добавление: директива include поддерживает маску "*".
3182 Спасибо Jonathan Dance.
3183
3184 *) Исправление: директива return всегда изменяла код ответа,
3185 перенаправленного директивой error_page.
3186
3187 *) Исправление: происходил segmentation fault, если в методе PUT
3188 передавалось тело нулевой длины.
3189
3190 *) Исправление: при использовании переменных в директиве proxy_redirect
3191 редирект изменялся неверно.
3192
3193
3194 Изменения в nginx 0.4.3 26.09.2006
3195
3196 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью
3197 директивы error_page.
3198
3199 *) Добавление: поддержка Solaris 10 event ports.
3200
3201 *) Добавление: модуль ngx_http_browser_module.
3202
3203 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
3204 помощью директивы error_page мог произойти segmentation fault.
3205
3206 *) Исправление: происходил segmentation fault, если в директиве
3207 proxy_pass использовался unix domain сокет; ошибка появилась в
3208 0.3.47.
3209
3210 *) Исправление: SSI не работал с ответами memcached и
3211 небуферизированными проксированными ответами.
3212
3213 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
3214
3215
3216 Изменения в nginx 0.4.2 14.09.2006
3217
3218 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
3219 появилась в 0.4.1.
3220
3221
3222 Изменения в nginx 0.4.1 14.09.2006
3223
3224 *) Исправление: совместимость с DragonFlyBSD.
3225 Спасибо Павлу Назарову.
3226
3227 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
3228 файлов больше 2G.
3229
3230 *) Добавление: теперь на Linux nginx для статических запросов
3231 использует флаг O_NOATIME.
3232 Спасибо Yusuf Goolamabbas.
3233
3234
3235 Изменения в nginx 0.4.0 30.08.2006
3236
3237 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена
3238 из фазы init module в фазу HTTP postconfiguration.
3239
3240 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
3241 считывается заранее: нужно явно инициировать чтение с помощью метода
3242 $r->has_request_body.
3243
3244 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
3245 DECLINED.
3246
3247 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
3248 заголовка "Date" для метода PUT.
3249
3250 *) Добавление: директива ssi работает внутри блока if.
3251
3252 *) Исправление: происходил segmentation fault, если в директиве index
3253 использовалась переменные и при этом первое имя индексного файла
3254 было без переменных; ошибка появилась в 0.1.29.
3255
3256
3257 Изменения в nginx 0.3.61 28.08.2006
3258
3259 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
3260
3261 *) Добавление: директива msie_refresh.
3262
3263 *) Добавление: директива recursive_error_pages.
3264
3265 *) Исправление: директива rewrite возвращала неправильный редирект,
3266 если редирект включал в себя выделенные закодированные символы из
3267 оригинального URI.
3268
3269
3270 Изменения в nginx 0.3.60 18.08.2006
3271
3272 *) Исправление: во время перенаправления ошибки рабочий процесс мог
3273 зациклиться; ошибка появилась в 0.3.59.
3274
3275
3276 Изменения в nginx 0.3.59 16.08.2006
3277
3278 *) Добавление: теперь можно делать несколько перенаправлений через
3279 директиву error_page.
3280
3281 *) Исправление: директива dav_access не поддерживала три параметра.
3282
3283 *) Исправление: директива error_page не изменяла строку "Content-Type"
3284 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
3285 в 0.3.58.
3286
3287
3288 Изменения в nginx 0.3.58 14.08.2006
3289
3290 *) Добавление: директива error_page поддерживает переменные.
3291
3292 *) Изменение: теперь на Linux используется интерфейс procfs вместо
3293 sysctl.
3294
3295 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
3296 "Content-Type" наследуется из первоначального ответа.
3297
3298 *) Исправление: директива error_page не перенаправляла ошибку 413.
3299
3300 *) Исправление: завершающий "?" не удалял старые аргументы, если в
3301 переписанном URI не было новых аргументов.
3302
3303 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
3304
3305
3306 Изменения в nginx 0.3.57 09.08.2006
3307
3308 *) Добавление: переменная $ssl_client_serial.
3309
3310 *) Исправление: в операторе "!-e" в директиве if.
3311 Спасибо Андриану Буданцову.
3312
3313 *) Исправление: при проверке клиентского сертификата nginx не передавал
3314 клиенту информацию о требуемых сертификатах.
3315
3316 *) Исправление: переменная $document_root не поддерживала переменные в
3317 директиве root.
3318
3319
3320 Изменения в nginx 0.3.56 04.08.2006
3321
3322 *) Добавление: директива dav_access.
3323
3324 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
3325 "!-e", "-x" и "!-x".
3326
3327 *) Исправление: при записи в access_log некоторых передаваемых клиенту
3328 строк заголовков происходил segmentation fault, если запрос
3329 возвращал редирект.
3330
3331
3332 Изменения в nginx 0.3.55 28.07.2006
3333
3334 *) Добавление: параметр stub в команде SSI include.
3335
3336 *) Добавление: команда SSI block.
3337
3338 *) Добавление: скрипт unicode2nginx добавлен в contrib.
3339
3340 *) Исправление: если root был задан только переменной, то корень
3341 задавался относительно префикса сервера.
3342
3343 *) Исправление: если в запросе был "//" или "/.", и после этого
3344 закодированные символы в виде "%XX", то проксируемый запрос
3345 передавался незакодированным.
3346
3347 *) Исправление: метод $r->header_in("Cookie") модуля
3348 ngx_http_perl_module теперь возвращает все строки "Cookie" в
3349 заголовке запроса.
3350
3351 *) Исправление: происходил segmentation fault, если использовался
3352 "client_body_in_file_only on" и делался переход к следующему бэкенду.
3353
3354 *) Исправление: при некоторых условиях во время переконфигурации коды
3355 символов внутри директивы charset_map могли считаться неверными;
3356 ошибка появилась в 0.3.50.
3357
3358
3359 Изменения в nginx 0.3.54 11.07.2006
3360
3361 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
3362
3363 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
3364 memcached_next_upstream поддерживают параметр off.
3365
3366 *) Добавление: директива debug_connection поддерживает запись адресов в
3367 формате CIDR.
3368
3369 *) Исправление: при перекодировании ответа проксированного сервера или
3370 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
3371 полностью.
3372
3373 *) Исправление: переменная $upstream_response_time содержала время
3374 только первого обращения к бэкенду.
3375
3376 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
3377 в 0.3.53.
3378
3379
3380 Изменения в nginx 0.3.53 07.07.2006
3381
3382 *) Изменение: директива add_header добавляет строки в ответы с кодом
3383 204, 301 и 302.
3384
3385 *) Добавление: директива server в блоке upstream поддерживает параметр
3386 weight.
3387
3388 *) Добавление: директива server_name поддерживает маску "*".
3389
3390 *) Добавление: nginx поддерживает тело запроса больше 2G.
3391
3392 *) Исправление: если при использовании "satisfy_any on" клиент успешно
3393 проходил аутентификацию, в лог всё равно записалоcь сообщение
3394 "access forbidden by rule".
3395
3396 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
3397 409.
3398
3399 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
3400 ошибку, nginx продолжал проксирование.
3401
3402
3403 Изменения в nginx 0.3.52 03.07.2006
3404
3405 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
3406 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
3407 ошибку 405.
3408
3409 *) Исправление: при использовании ограничения скорости рабочий процесс
3410 мог зациклиться; ошибка появилась в 0.3.37.
3411
3412 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
3413 "unknown charset", даже если перекодировка не требовалась; ошибка
3414 появилась в 0.3.50.
3415
3416 *) Исправление: если в результате запроса PUT возвращался код 409, то
3417 временный файл не удалялся.
3418
3419
3420 Изменения в nginx 0.3.51 30.06.2006
3421
3422 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
3423 ошибка появилась в 0.3.50.
3424
3425
3426 Изменения в nginx 0.3.50 28.06.2006
3427
3428 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
3429 переименованы соответственно в proxy_intercept_errors и
3430 fastcgi_intercept_errors.
3431
3432 *) Добавление: модуль ngx_http_charset_module поддерживает
3433 перекодирование из однобайтных кодировок в UTF-8 и обратно.
3434
3435 *) Добавление: в режиме прокси и FastCGI поддерживается строка
3436 заголовка "X-Accel-Charset" в ответе бэкенда.
3437
3438 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
3439 только если также использовался символ "$".
3440
3441 *) Исправление: при некоторых условиях в SSI после вставки могла быть
3442 добавлена строка "<!--".
3443
3444 *) Исправление: если в заголовке ответа была строка
3445 "Content-Length: 0", то при использовании небуферизированного
3446 проксировании не закрывалось соединение с клиентом.
3447
3448
3449 Изменения в nginx 0.3.49 31.05.2006
3450
3451 *) Исправление: в директиве set.
3452
3453 *) Исправление: при включении в ssi двух и более подзапросов,
3454 обрабатываемых через FastCGI, вместо вывода второго и остальных
3455 подзапросов в ответ включался вывод первого подзапроса.
3456
3457
3458 Изменения в nginx 0.3.48 29.05.2006
3459
3460 *) Изменение: теперь модуль ngx_http_charset_module работает для
3461 подзапросов, в ответах которых нет строки заголовка "Content-Type".
3462
3463 *) Исправление: если в директиве proxy_pass не было URI, то директива
3464 "proxy_redirect default" добавляла в переписанный редирект в начало
3465 лишний слэш.
3466
3467 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
3468 GET, теперь это делается только для редиректов, выполняемых с
3469 помощью X-Accel-Redirect, и у которых метод не равен HEAD; ошибка
3470 появилась в 0.3.42.
3471
3472 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
3473 с поддержкой потоков; ошибка появилась в 0.3.46.
3474
3475
3476 Изменения в nginx 0.3.47 23.05.2006
3477
3478 *) Добавление: директива upstream.
3479
3480 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
3481 всегда убирается.
3482
3483
3484 Изменения в nginx 0.3.46 11.05.2006
3485
3486 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
3487 fastcgi_hide_header и fastcgi_pass_header.
3488
3489 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
3490 proxy_pass_server упразднены.
3491
3492 *) Добавление: в режиме прокси поддерживается строка заголовка
3493 "X-Accel-Buffering" в ответе бэкенда.
3494
3495 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
3496 ngx_http_perl_module.
3497
3498
3499 Изменения в nginx 0.3.45 06.05.2006
3500
3501 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
3502 ssl_client_certificate.
3503
3504 *) Изменение: теперь переменная $request_method возвращает метод только
3505 основного запроса.
3506
3507 *) Изменение: в таблице перекодировки koi-win изменены коды символа
3508 &deg;.
3509
3510 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
3511 номера.
3512
3513 *) Исправление: если nginx распределял запросы на несколько машин, то
3514 при падении одной из них запросы, предназначенные для этой машины,
3515 перенаправлялись только на одну машину вместо того, чтобы равномерно
3516 распределяться между остальными.
3517
3518
3519 Изменения в nginx 0.3.44 04.05.2006
3520
3521 *) Добавление: параметр wait в команде SSI include.
3522
3523 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
3524 белорусские символы.
3525
3526 *) Исправление: в SSI.
3527
3528
3529 Изменения в nginx 0.3.43 26.04.2006
3530
3531 *) Исправление: в SSI.
3532
3533
3534 Изменения в nginx 0.3.42 26.04.2006
3535
3536 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
3537
3538 *) Исправление: ошибки при использовании в директиве rewrite одного и
3539 того же выделения более одного раза.
3540
3541 *) Исправление: в лог не записывались переменные
3542 $sent_http_content_type, $sent_http_content_length,
3543 $sent_http_last_modified, $sent_http_connection,
3544 $sent_http_keep_alive и $sent_http_transfer_encoding.
3545
3546 *) Исправление: переменная $sent_http_cache_control возвращала
3547 содержимое только одной строки "Cache-Control" в заголовке ответа.
3548
3549
3550 Изменения в nginx 0.3.41 21.04.2006
3551
3552 *) Добавление: ключ -v.
3553
3554 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
3555 segmentation fault.
3556
3557 *) Исправление: в обработке FastCGI.
3558
3559 *) Исправление: если путь к перловым модулям не был указан с помощью
3560 --with-perl_modules_path=PATH или директивы perl_modules, то на
3561 старте происходил segmentation fault.
3562
3563
3564 Изменения в nginx 0.3.40 19.04.2006
3565
3566 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
3567
3568 *) Добавление: директива create_full_put_path.
3569
3570 *) Добавление: переменная $limit_rate.
3571
3572
3573 Изменения в nginx 0.3.39 17.04.2006
3574
3575 *) Добавление: директива uninitialized_variable_warn; уровень
3576 логгирования сообщения о неинициализированной переменной понижен с
3577 уровня alert на warn.
3578
3579 *) Добавление: директива override_charset.
3580
3581 *) Изменение: при использовании неизвестной переменной в SSI-командах
3582 echo и if expr='$name' теперь не записывается в лог сообщение о
3583 неизвестной переменной.
3584
3585 *) Исправление: счётчик активных соединений рос при превышении лимита
3586 соединений, заданного директивой worker_connections; ошибка
3587 появилась в 0.2.0.
3588
3589 *) Исправление: при некоторых условия ограничение скорости соединения
3590 могло не работать; ошибка появилась в 0.3.38.
3591
3592
3593 Изменения в nginx 0.3.38 14.04.2006
3594
3595 *) Добавление: модуль ngx_http_dav_module.
3596
3597 *) Изменение: оптимизация модуля ngx_http_perl_module.
3598 Спасибо Сергею Скворцову.
3599
3600 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3601 $r->request_body_file.
3602
3603 *) Добавление: директива client_body_in_file_only.
3604
3605 *) Изменение: теперь при переполнении диска nginx пытается писать
3606 access_log'и только раз в секунду.
3607 Спасибо Антону Южанинову и Максиму Дунину.
3608
3609 *) Исправление: теперь директива limit_rate точнее ограничивает
3610 скорость при значениях больше 100 Kbyte/s.
3611 Спасибо ForJest.
3612
3613 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
3614 символы "\r" и "\n" в логине и пароле в закодированном виде.
3615 Спасибо Максиму Дунину.
3616
3617
3618 Изменения в nginx 0.3.37 07.04.2006
3619
3620 *) Добавление: директива limit_except.
3621
3622 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
3623 "!-f".
3624
3625 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3626 $r->request_body.
3627
3628 *) Исправление: в модуле ngx_http_addition_filter_module.
3629
3630
3631 Изменения в nginx 0.3.36 05.04.2006
3632
3633 *) Добавление: модуль ngx_http_addition_filter_module.
3634
3635 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
3636 внутри блока if.
3637
3638 *) Добавление: директивы proxy_ignore_client_abort и
3639 fastcgi_ignore_client_abort.
3640
3641 *) Добавление: переменная $request_completion.
3642
3643 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3644 $r->request_method и $r->remote_addr.
3645
3646 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
3647
3648 *) Исправление: строка "\/" в начале выражения команды if модуля
3649 ngx_http_ssi_module воспринималась неверно.
3650
3651 *) Исправление: в использовании регулярных выражениях в команде if
3652 модуля ngx_http_ssi_module.
3653
3654 *) Исправление: при задании относительного пути в директивах
3655 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
3656 perl_modules использовался каталог относительно текущего каталога, а
3657 не относительно префикса сервера.
3658
3659
3660 Изменения в nginx 0.3.35 22.03.2006
3661
3662 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
3663 для первой директивы listen; ошибка появилась в 0.3.31.
3664
3665 *) Исправление: в директиве proxy_pass без URI при использовании в
3666 подзапросе.
3667
3668
3669 Изменения в nginx 0.3.34 21.03.2006
3670
3671 *) Добавление: директива add_header поддерживает переменные.
3672
3673
3674 Изменения в nginx 0.3.33 15.03.2006
3675
3676 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
3677 fastcgi_next_upstream.
3678
3679 *) Исправление: ngx_http_perl_module не работал со встроенным в
3680 конфигурационный файл кодом, если он не начинался сразу же с "sub".
3681
3682 *) Исправление: в директиве post_action.
3683
3684
3685 Изменения в nginx 0.3.32 11.03.2006
3686
3687 *) Исправление: удаление отладочного логгирования на старте и при
3688 переконфигурации; ошибка появилась в 0.3.31.
3689
3690
3691 Изменения в nginx 0.3.31 10.03.2006
3692
3693 *) Изменение: теперь nginx передаёт неверные ответы проксированного
3694 бэкенда.
3695
3696 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
3697
3698 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
3699
3700 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
3701 64-битном ядре MacOSX.
3702 Спасибо Андрею Нигматулину.
3703
3704 *) Исправление: если внутри одного сервера описаны несколько директив
3705 listen, слушающих на разных адресах, то имена серверов вида
3706 "*.domain.tld" работали только для первого адреса; ошибка появилась
3707 в 0.3.18.
3708
3709 *) Исправление: при использовании протокола HTTPS в директиве
3710 proxy_pass не передавались запросы с телом, записанным во временный
3711 файл.
3712
3713 *) Исправление: совместимость с perl 5.8.8.
3714
3715
3716 Изменения в nginx 0.3.30 22.02.2006
3717
3718 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
3719 с уровня crit.
3720
3721 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
3722 ngx_http_ssi_filter_module.
3723
3724 *) Исправление: nginx не собирался на i386 платформе, если
3725 использовался PIC; ошибка появилась в 0.3.27.
3726
3727
3728 Изменения в nginx 0.3.29 20.02.2006
3729
3730 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
3731 FastCGI передаёт большое количество предупреждений перед ответом.
3732
3733 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
3734 строка заголовка "Transfer-Encoding: chunked".
3735
3736 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
3737 передавал полные строки заголовка ответа в отдельных FastCGI записях.
3738
3739 *) Исправление: если в директиве post_action был указан проксируемый
3740 URI, то он выполнялся только после успешного завершения запроса.
3741
3742
3743 Изменения в nginx 0.3.28 16.02.2006
3744
3745 *) Добавление: директива restrict_host_names упразднена.
3746
3747 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
3748
3749 *) Исправление: при некоторых условиях проксированное соединение с
3750 клиентом завершалось преждевременно.
3751 Спасибо Владимиру Шутову.
3752
3753 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась
3754 для запросов, перенаправленных с помощью строки "X-Accel-Redirect".
3755
3756 *) Исправление: директива post_action работала только после успешного
3757 завершения запроса.
3758
3759 *) Исправление: тело проксированного ответа, создаваемого директивой
3760 post_action, передавалось клиенту.
3761
3762
3763 Изменения в nginx 0.3.27 08.02.2006
3764
3765 *) Изменение: директивы variables_hash_max_size и
3766 variables_hash_bucket_size.
3767
3768 *) Добавление: переменная $body_bytes_sent доступна не только в
3769 директиве log_format.
3770
3771 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
3772
3773 *) Добавление: определение размера строки кэша распространённых
3774 процессоров при старте.
3775
3776 *) Добавление: директива accept_mutex теперь поддерживается посредством
3777 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
3778
3779 *) Добавление: директива lock_file и параметр автоконфигурации
3780 --with-lock-path=PATH.
3781
3782 *) Исправление: при использовании протокола HTTPS в директиве
3783 proxy_pass не передавались запросы с телом.
3784
3785
3786 Изменения в nginx 0.3.26 03.02.2006
3787
3788 *) Изменение: директива optimize_host_names переименована в
3789 optimize_server_names.
3790
3791 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
3792 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
3793
3794
3795 Изменения в nginx 0.3.25 01.02.2006
3796
3797 *) Исправление: при неверной конфигурации на старте или во время
3798 переконфигурации происходил segmentation fault; ошибка появилась в
3799 0.3.24.
3800
3801
3802 Изменения в nginx 0.3.24 01.02.2006
3803
3804 *) Изменение: обход ошибки в kqueue во FreeBSD.
3805
3806 *) Исправление: ответ, создаваемый директивой post_action, теперь не
3807 передаётся клиенту.
3808
3809 *) Исправление: при использовании большого количества лог-файлов
3810 происходила утечка памяти.
3811
3812 *) Исправление: внутри одного location работала только первая директива
3813 proxy_redirect.
3814
3815 *) Исправление: на 64-битных платформах при старте мог произойти
3816 segmentation fault, если использовалось большое количество имён в
3817 директивах server_name; ошибка появилась в 0.3.18.
3818
3819
3820 Изменения в nginx 0.3.23 24.01.2006
3821
3822 *) Добавление: директива optimize_host_names.
3823
3824 *) Исправление: ошибки при использовании переменных в директивах path и
3825 alias.
3826
3827 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
3828 Linux и Solaris.
3829
3830
3831 Изменения в nginx 0.3.22 17.01.2006
3832
3833 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
3834 и $r->unescape.
3835
3836 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
3837 упразднён.
3838
3839 *) Исправление: если в директиве valid_referers указаны только none или
3840 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
3841
3842
3843 Изменения в nginx 0.3.21 16.01.2006
3844
3845 *) Добавление: модуль ngx_http_perl_module.
3846
3847 *) Изменение: директива valid_referers разрешает использовать рефереры
3848 совсем без URI.
3849
3850
3851 Изменения в nginx 0.3.20 11.01.2006
3852
3853 *) Исправление: ошибки в обработке SSI.
3854
3855 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
3856 виде /uri?args.
3857
3858
3859 Изменения в nginx 0.3.19 28.12.2005
3860
3861 *) Добавление: директивы path и alias поддерживают переменные.
3862
3863 *) Изменение: теперь директива valid_referers опять учитывает URI.
3864
3865 *) Исправление: ошибки в обработке SSI.
3866
3867
3868 Изменения в nginx 0.3.18 26.12.2005
3869
3870 *) Добавление: директива server_names поддерживает имена вида
3871 ".domain.tld".
3872
3873 *) Добавление: директива server_names использует хэш для имён вида
3874 "*.domain.tld" и более эффективный хэш для обычных имён.
3875
3876 *) Изменение: директивы server_names_hash_max_size и
3877 server_names_hash_bucket_size.
3878
3879 *) Изменение: директивы server_names_hash и server_names_hash_threshold
3880 упразднены.
3881
3882 *) Добавление: директива valid_referers использует хэш для имён сайтов.
3883
3884 *) Изменение: теперь директива valid_referers проверяет только имена
3885 сайтов без учёта URI.
3886
3887 *) Исправление: некоторые имена вида ".domain.tld" неверно
3888 обрабатывались модулем ngx_http_map_module.
3889
3890 *) Исправление: если конфигурационного файла не было, то происходил
3891 segmentation fault; ошибка появилась в 0.3.12.
3892
3893 *) Исправление: на 64-битных платформах при старте мог произойти
3894 segmentation fault; ошибка появилась в 0.3.16.
3895
3896
3897 Изменения в nginx 0.3.17 18.12.2005
3898
3899 *) Изменение: на Linux configure теперь проверяет наличие epoll и
3900 sendfile64() в ядре.
3901
3902 *) Добавление: директива map поддерживает доменные имена в формате
3903 ".domain.tld".
3904
3905 *) Исправление: во время SSL handshake не иcпользовались таймауты;
3906 ошибка появилась в 0.2.4.
3907
3908 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3909
3910 *) Исправление: при использовании протокола HTTPS в директиве
3911 proxy_pass по умолчанию использовался порт 80.
3912
3913
3914 Изменения в nginx 0.3.16 16.12.2005
3915
3916 *) Добавление: модуль ngx_http_map_module.
3917
3918 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
3919
3920 *) Добавление: директива ssi_value_length.
3921
3922 *) Добавление: директива worker_rlimit_core.
3923
3924 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
3925 Pentium 4 номер соединения в логах всегда был равен 1.
3926
3927 *) Исправление: команда config timefmt в SSI задавала неверный формат
3928 времени.
3929
3930 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
3931 использовании SSL соединений; ошибка появилась в 0.3.13.
3932 Спасибо Rob Mueller.
3933
3934 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
3935 ошибка появилась в 0.3.13.
3936
3937
3938 Изменения в nginx 0.3.15 07.12.2005
3939
3940 *) Добавление: новой код 444 в директиве return для закрытия соединения.
3941
3942 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
3943
3944 *) Исправление: nginx теперь вызывает abort() при обнаружении
3945 незакрытых соединений только при планом выходе и включённой
3946 директиве debug_points.
3947
3948
3949 Изменения в nginx 0.3.14 05.12.2005
3950
3951 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
3952 в 0.3.13.
3953
3954
3955 Изменения в nginx 0.3.13 05.12.2005
3956
3957 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
3958
3959 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
3960 /dev/poll.
3961
3962 *) Исправление: ошибки в обработке SSI.
3963
3964 *) Исправление: sendfilev() в Solaris теперь не используется при
3965 передаче тела запроса FastCGI-серверу через unix domain сокет.
3966
3967 *) Исправление: директива auth_basic не запрещала аутентификацию;
3968 ошибка появилась в 0.3.11.
3969
3970
3971 Изменения в nginx 0.3.12 26.11.2005
3972
3973 *) Безопасность: если nginx был собран с модулем
3974 ngx_http_realip_module, то при использовании директивы "satisfy_any
3975 on" директивы доступа и аутентификации не работали. Модуль
3976 ngx_http_realip_module не собирался и не собирается по умолчанию.
3977
3978 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
3979
3980 *) Изменение: директивы proxy_header_buffer_size и
3981 fastcgi_header_buffer_size переименованы соответственно в
3982 proxy_buffer_size и fastcgi_buffer_size.
3983
3984 *) Добавление: модуль ngx_http_memcached_module.
3985
3986 *) Добавление: директива proxy_buffering.
3987
3988 *) Исправление: изменение в работе с accept mutex при использовании
3989 метода rtsig; ошибка появилась в 0.3.0.
3990
3991 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
3992 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
3993
3994 *) Исправление: при наследовании директивы auth_basic с уровня http в
3995 строке "WWW-Authenticate" заголовка ответа выводился realm без
3996 текста "Basic realm".
3997
3998 *) Исправление: если в директиве access_log был явно указан формат
3999 combined, то в лог записывались пустые строки; ошибка появилась в
4000 0.3.8.
4001
4002 *) Исправление: nginx не работал на платформе sparc под любыми OS,
4003 кроме Solaris.
4004
4005 *) Исправление: в директиве if теперь не нужно разделять пробелом
4006 строку в кавычках и закрывающую скобку.
4007
4008
4009 Изменения в nginx 0.3.11 15.11.2005
4010
4011 *) Исправление: nginx не передавал при проксировании тело запроса и
4012 строки заголовка клиента; ошибка появилась в 0.3.10.
4013
4014
4015 Изменения в nginx 0.3.10 15.11.2005
4016
4017 *) Изменение: директива valid_referers и переменная $invalid_referer
4018 перенесены из модуля ngx_http_rewrite_module в новый модуль
4019 ngx_http_referer_module.
4020
4021 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
4022 "$body_bytes_sent".
4023
4024 *) Добавление: переменные "$sent_http_...".
4025
4026 *) Добавление: директива if поддерживает операции "=" и "!=".
4027
4028 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
4029
4030 *) Добавление: директива proxy_set_body.
4031
4032 *) Добавление: директива post_action.
4033
4034 *) Добавление: модуль ngx_http_empty_gif_module.
4035
4036 *) Добавление: директива worker_cpu_affinity для Linux.
4037
4038 *) Исправление: директива rewrite не раскодировала символы в редиректах
4039 в URI, теперь символы раскодируются, кроме символов %00-%25 и
4040 %7F-%FF.
4041
4042 *) Исправление: nginx не собирался компилятором icc 9.0.
4043
4044 *) Исправление: если для статического файла нулевого размера был
4045 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
4046
4047
4048 Изменения в nginx 0.3.9 10.11.2005
4049
4050 *) Исправление: nginx считал небезопасными URI, в которых между двумя
4051 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
4052
4053
4054 Изменения в nginx 0.3.8 09.11.2005
4055
4056 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
4057 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
4058 наличие путей "/../" и нулей.
4059
4060 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
4061 строке "Authorization" в заголовке запроса.
4062
4063 *) Добавление: директива ssl_session_timeout модулей
4064 ngx_http_ssl_module и ngx_imap_ssl_module.
4065
4066 *) Добавление: директива auth_http_header модуля
4067 ngx_imap_auth_http_module.
4068
4069 *) Добавление: директива add_header.
4070
4071 *) Добавление: модуль ngx_http_realip_module.
4072
4073 *) Добавление: новые переменные для использования в директиве
4074 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
4075 $uri, $request_time, $request_length, $upstream_status,
4076 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
4077 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
4078 упразднены.
4079
4080 *) Изменение: в директиве "if" ложными значениями переменных теперь
4081 являются пустая строка "" и строки, начинающиеся на "0".
4082
4083 *) Исправление: при работает с проксированными или FastCGI-серверами
4084 nginx мог оставлять открытыми соединения и временные файлы с
4085 запросами клиентов.
4086
4087 *) Исправление: рабочие процессы не сбрасывали буферизированные логи
4088 при плавном выходе.
4089
4090 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
4091 запрос проксировался в location, заданном регулярным выражением, то
4092 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
4093
4094 *) Исправление: директива expires не удаляла уже установленную строку
4095 заголовка "Expires".
4096
4097 *) Исправление: при использовании метода rtsig и нескольких рабочих
4098 процессах nginx мог перестать принимать запросы.
4099
4100 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
4101 "\'".
4102
4103 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
4104 при использовании сжатия ответ передавался не до конца или не
4105 передавался вообще.
4106
4107
4108 Изменения в nginx 0.3.7 27.10.2005
4109
4110 *) Добавление: директива access_log поддерживает параметр buffer=.
4111
4112 *) Исправление: nginx не собирался на платформах, отличных от i386,
4113 amd64, sparc и ppc; ошибка появилась в 0.3.2.
4114
4115
4116 Изменения в nginx 0.3.6 24.10.2005
4117
4118 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
4119 пустой логин.
4120
4121 *) Добавление: директива log_format поддерживает переменные в виде
4122 $name.
4123
4124 *) Исправление: если хотя бы в одном сервере не было описано ни одной
4125 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
4126 0.3.3.
4127
4128 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
4129 использовался порт 80.
4130
4131
4132 Изменения в nginx 0.3.5 21.10.2005
4133
4134 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
4135 мог произойти segmentation fault; ошибка появилась в 0.2.2.
4136
4137 *) Исправление: accept mutex не работал, все соединения обрабатывались
4138 одним рабочим процессом; ошибка появилась в 0.3.3.
4139
4140 *) Исправление: при использовании метода rtsig и директивы
4141 timer_resolution не работали таймауты.
4142
4143
4144 Изменения в nginx 0.3.4 19.10.2005
4145
4146 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
4147 появилась в 0.3.3.
4148
4149
4150 Изменения в nginx 0.3.3 19.10.2005
4151
4152 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
4153 "backlog" и "accept_filter".
4154
4155 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
4156
4157 *) Изменение: параметр лога $msec теперь не требует дополнительного
4158 системного вызова gettimeofday().
4159
4160 *) Добавление: ключ -t теперь проверяет директивы listen.
4161
4162 *) Исправление: если в директиве listen был указан неверный адрес, то
4163 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
4164
4165 *) Исправление: для индексных файлов, содержащих в имени переменную,
4166 мог неверно выставляться тип mime по умолчанию; ошибка появилась в
4167 0.3.0.
4168
4169 *) Добавление: директива timer_resolution.
4170
4171 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
4172
4173 *) Исправление: временный файл с телом запроса клиента теперь удаляется
4174 сразу после того, как клиенту передан заголовок ответа.
4175
4176 *) Исправление: совместимость с OpenSSL 0.9.6.
4177
4178 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
4179 относительными.
4180
4181 *) Исправление: директива ssl_prefer_server_ciphers не работала для
4182 модуля ngx_imap_ssl_module.
4183
4184 *) Исправление: директива ssl_protocols позволяла задать только один
4185 протокол.
4186
4187
4188 Изменения в nginx 0.3.2 12.10.2005
4189
4190 *) Добавление: поддержка Sun Studio 10 C compiler.
4191
4192 *) Добавление: директивы proxy_upstream_max_fails,
4193 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
4194 fastcgi_upstream_fail_timeout.
4195
4196
4197 Изменения в nginx 0.3.1 10.10.2005
4198
4199 *) Исправление: во время переполнения очереди сигналов при
4200 использовании метода rtsig происходил segmentation fault; ошибка
4201 появилась в 0.2.0.
4202
4203 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
4204
4205
4206 Изменения в nginx 0.3.0 07.10.2005
4207
4208 *) Изменение: убрано десятидневное ограничение времени работы рабочего
4209 процесса. Ограничение было введено из-за переполнения миллисекундных
4210 таймеров.
4211
4212
4213 Изменения в nginx 0.2.6 05.10.2005
4214
4215 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
4216 бэкенду при использовании распределения нагрузки.
4217
4218 *) Изменение: директива proxy_pass_unparsed_uri упразднена,
4219 оригинальный запрос теперь передаётся, если в директиве proxy_pass
4220 отсутствует URI.
4221
4222 *) Добавление: директива error_page поддерживает редиректы и позволяет
4223 более гибко менять код ошибки.
4224
4225 *) Изменение: в проксированных подзапросах теперь игнорируется
4226 переданный charset.
4227
4228 *) Исправление: если после изменения URI в блоке if для запроса не
4229 находилась новая конфигурация, то правила модуля
4230 ngx_http_rewrite_module выполнялись снова.
4231
4232 *) Исправление: если директива set устанавливала переменную модуля
4233 ngx_http_geo_module в какой-либо части конфигурации, то эта
4234 переменная не была доступна в других частях конфигурации и
4235 выдавалась ошибка "using uninitialized variable"; ошибка появилась в
4236 0.2.2.
4237
4238
4239 Изменения в nginx 0.2.5 04.10.2005
4240
4241 *) Изменение: дублирующее значение переменной модуля
4242 ngx_http_geo_module теперь выдаёт предупреждение и изменяет старое
4243 значение.
4244
4245 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
4246
4247 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
4248 команде include.
4249
4250 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
4251 значений переменных в выражениях команды if.
4252
4253
4254 Изменения в nginx 0.2.4 03.10.2005
4255
4256 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
4257 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
4258 if.
4259
4260 *) Исправление: ошибки при проксировании location без слэша в конце;
4261 ошибка появилась в 0.1.44.
4262
4263 *) Исправление: при использовании метода rtsig мог произойти
4264 segmentation fault; ошибка появилась в 0.2.0.
4265
4266
4267 Изменения в nginx 0.2.3 30.09.2005
4268
4269 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4270 появилась в 0.2.2.
4271
4272
4273 Изменения в nginx 0.2.2 30.09.2005
4274
4275 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
4276
4277 *) Изменение: переменные модуля ngx_http_geo_module можно
4278 переопределять директивой set.
4279
4280 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
4281 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
4282
4283 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4284 длинных имён файлов;
4285
4286 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
4287 файлы, начинающиеся на точку.
4288
4289 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
4290 привести также к закрытию другого соединения.
4291 Спасибо Rob Mueller.
4292
4293 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
4294 HTTPS.
4295
4296
4297 Изменения в nginx 0.2.1 23.09.2005
4298
4299 *) Исправление: если все бэкенды, используемые для балансировки
4300 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4301 nginx мог зациклится; ошибка появилась в 0.2.0.
4302
4303
4304 Изменения в nginx 0.2.0 23.09.2005
4305
4306 *) Изменились имена pid-файлов, используемые во время обновления
4307 исполняемого файла. Ручное переименование теперь не нужно. Старый
4308 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
4309 запускает новый исполняемый файл. Новый основной процесс создаёт
4310 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
4311 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
4312 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
4313 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
4314 0.2.0 - используют pid-файл без суффиксов.
4315
4316 *) Изменение: директива worker_connections, новое название директивы
4317 connections; директива теперь задаёт максимальное число соединений,
4318 а не максимально возможный номер дескриптора для сокета.
4319
4320 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
4321 рабочего процесса.
4322
4323 *) Добавление: директива satisfy_any.
4324
4325 *) Изменение: модули ngx_http_access_module и
4326 ngx_http_auth_basic_module не работают для подзапросов.
4327
4328 *) Добавление: директивы worker_rlimit_nofile и
4329 worker_rlimit_sigpending.
4330
4331 *) Исправление: если все бэкенды, используемые для балансировки
4332 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4333 nginx не обращался к ним в течение 60 секунд.
4334
4335 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
4336 Спасибо Rob Mueller.
4337
4338 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
4339
4340 *) Исправление: ошибки при использовании SSI и сжатия.
4341
4342 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
4343 "Expires" и "Cache-Control".
4344 Спасибо Александру Кукушкину.
4345
4346
4347 Изменения в nginx 0.1.45 08.09.2005
4348
4349 *) Изменение: директива ssl_engine упразднена в модуле
4350 ngx_http_ssl_module и перенесена на глобальный уровень.
4351
4352 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
4353 передавались через SSL соединение.
4354
4355 *) Разные исправления в IMAP/POP3 прокси.
4356
4357
4358 Изменения в nginx 0.1.44 06.09.2005
4359
4360 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
4361
4362 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
4363
4364 *) Добавление: директива userid_mark.
4365
4366 *) Добавление: значение переменной $remote_user определяется независимо
4367 от того, используется ли авторизация или нет.
4368
4369
4370 Изменения в nginx 0.1.43 30.08.2005
4371
4372 *) Добавление: listen(2) backlog в директиве listen можно менять по
4373 сигналу -HUP.
4374
4375 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
4376
4377 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
4378 серверу.
4379
4380 *) Исправление: если в ответе проксированного сервера или FastCGI
4381 сервера была строка "Cache-Control", то при использовании директивы
4382 expires происходил segmentation fault или рабочий процесс мог
4383 зациклится; в режиме прокси ошибка появилась в 0.1.29.
4384
4385
4386 Изменения в nginx 0.1.42 23.08.2005
4387
4388 *) Исправление: если URI запроса получался нулевой длины после
4389 обработки модулем ngx_http_rewrite_module, то в модуле
4390 ngx_http_proxy_module происходил segmentation fault или bus error.
4391
4392 *) Исправление: директива limit_rate не работала внутри блока if;
4393 ошибка появилась в 0.1.38.
4394
4395
4396 Изменения в nginx 0.1.41 25.07.2005
4397
4398 *) Исправление: если переменная использовалась в файле конфигурации, то
4399 она не могла использоваться в SSI.
4400
4401
4402 Изменения в nginx 0.1.40 22.07.2005
4403
4404 *) Исправление: если клиент слал очень длинную строку заголовка, то в
4405 логе не помещалась информация, связанная с этим запросом.
4406
4407 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4408 строка "Set-Cookie"; ошибка появилась в 0.1.39.
4409
4410 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4411 строка "Content-Disposition".
4412
4413 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
4414 на которых он слушал.
4415
4416 *) Исправление: после обновления исполняемого файла на лету на Linux и
4417 Solaris название процесса в команде ps становилось короче.
4418
4419
4420 Изменения в nginx 0.1.39 14.07.2005
4421
4422 *) Изменения в модуле ngx_http_charset_module: директива
4423 default_charset упразднена; директива charset задаёт кодировку
4424 ответа; директива source_charset задаёт только исходную кодировку.
4425
4426 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
4427 не передавалась строка заголовка "WWW-Authenticate".
4428
4429 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
4430 могли закрыть соединение до того, как что-нибудь было передано
4431 клиенту; ошибка появилась в 0.1.38.
4432
4433 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
4434
4435 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
4436 URI в команде include virtual.
4437
4438 *) Исправление: если в строке заголовка ответа бэкенда была строка
4439 "Location", которую nginx не должен был изменять, то в ответе
4440 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
4441
4442 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
4443 ngx_http_fastcgi_module не наследовались с уровня server на уровень
4444 location; ошибка появилась в 0.1.29.
4445
4446 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
4447 сертификатов.
4448
4449 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4450 длинных имён файлов; ошибка появилась в 0.1.38.
4451
4452 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
4453 стадии login.
4454
4455
4456 Изменения в nginx 0.1.38 08.07.2005
4457
4458 *) Добавление: директива limit_rate поддерживается в режиме прокси и
4459 FastCGI.
4460
4461 *) Добавление: в режиме прокси и FastCGI поддерживается строка
4462 заголовка "X-Accel-Limit-Rate" в ответе бэкенда.
4463
4464 *) Добавление: директива break.
4465
4466 *) Добавление: директива log_not_found.
4467
4468 *) Исправление: при перенаправлении запроса с помощью строки заголовка
4469 "X-Accel-Redirect" не изменялся код ответа.
4470
4471 *) Исправление: переменные, установленные директивой set не могли
4472 использоваться в SSI.
4473
4474 *) Исправление: при включении в SSI более одного удалённого подзапроса
4475 мог произойти segmentation fault.
4476
4477 *) Исправление: если статусная строка в ответе бэкенда передавалась в
4478 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
4479 0.1.29.
4480
4481 *) Добавление: директива ssi_types.
4482
4483 *) Добавление: директива autoindex_exact_size.
4484
4485 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
4486 имена файлов в UTF-8.
4487
4488 *) Добавление: IMAP/POP3 прокси.
4489
4490
4491 Изменения в nginx 0.1.37 23.06.2005
4492
4493 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
4494
4495 *) Исправление: при включении большого количества вставок или
4496 нескольких больших вставок с помощью SSI ответ мог передаваться не
4497 полностью.
4498
4499 *) Исправление: если все бэкенды возвращали ответ 404, то при
4500 использовании параметра http_404 в директивах proxy_next_upstream
4501 или fastcgi_next_upstream, nginx начинал запрашивать все бэкенды
4502 снова.
4503
4504
4505 Изменения в nginx 0.1.36 15.06.2005
4506
4507 *) Изменение: если в заголовке запросе есть дублирующиеся строки
4508 "Host", "Connection", "Content-Length" и "Authorization", то nginx
4509 теперь выдаёт ошибку 400.
4510
4511 *) Изменение: директива post_accept_timeout упразднена.
4512
4513 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
4514 listen.
4515
4516 *) Добавление: поддержка accept фильтров во FreeBSD.
4517
4518 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
4519
4520 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
4521 файлов в UTF-8.
4522
4523 *) Исправление: после добавления новый лог-файл ротация этого лога по
4524 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
4525 раза по сигналу -HUP.
4526
4527
4528 Изменения в nginx 0.1.35 07.06.2005
4529
4530 *) Добавление: директива working_directory.
4531
4532 *) Добавление: директива port_in_redirect.
4533
4534 *) Исправление: если заголовок ответа бэкенда не помещался в один
4535 пакет, то происходил segmentation fault; ошибка появилась в 0.1.29.
4536
4537 *) Исправление: если было сконфигурировано более 10 серверов или в
4538 сервере не описана директива "listen", то при запуске мог произойти
4539 segmentation fault.
4540
4541 *) Исправление: если ответ не помещался во временный файл, то мог
4542 произойти segmentation fault.
4543
4544 *) Исправление: nginx возвращал ошибку 400 на запросы вида
4545 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
4546
4547
4548 Изменения в nginx 0.1.34 26.05.2005
4549
4550 *) Исправление: при включении больших ответов с помощью SSI рабочий
4551 процесс мог зациклиться.
4552
4553 *) Исправление: переменные, устанавливаемые директивой "set", не были
4554 доступны в SSI.
4555
4556 *) Добавление: директива autoindex_localtime.
4557
4558 *) Исправление: пустое значение в директиве proxy_set_header запрещает
4559 передачу заголовка.
4560
4561
4562 Изменения в nginx 0.1.33 23.05.2005
4563
4564 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
4565 появилась в 0.1.29.
4566
4567 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
4568 вызывали bus fault при запуске.
4569
4570 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
4571 HTTP.
4572
4573 *) Исправление: если директива rewrite использовала выделения внутри
4574 директивы if, то возвращалась ошибка 500.
4575
4576
4577 Изменения в nginx 0.1.32 19.05.2005
4578
4579 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite,
4580 не передавались аргументы; ошибка появилась в 0.1.29.
4581
4582 *) Добавление: директива if поддерживает выделения в регулярных
4583 выражениях.
4584
4585 *) Добавление: директива set поддерживает переменные и выделения из
4586 регулярных выражений.
4587
4588 *) Добавление: в режиме прокси и FastCGI поддерживается строка
4589 заголовка "X-Accel-Redirect" в ответе бэкенда.
4590
4591
4592 Изменения в nginx 0.1.31 16.05.2005
4593
4594 *) Исправление: при использовании SSL ответ мог передаваться не до
4595 конца.
4596
4597 *) Исправление: ошибки при обработке SSI в ответе, полученного от
4598 FastCGI-сервера.
4599
4600 *) Исправление: ошибки при использовании SSI и сжатия.
4601
4602 *) Исправление: редирект с кодом 301 передавался без тела ответа;
4603 ошибка появилась в 0.1.30.
4604
4605
4606 Изменения в nginx 0.1.30 14.05.2005
4607
4608 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
4609
4610 *) Исправление: при использовании SSL ответ мог передаваться не до
4611 конца.
4612
4613 *) Исправление: если длина части ответа, полученного за один раз от
4614 проксируемого или FastCGI сервера была равна 500 байт, то nginx
4615 возвращал код ответа 500; в режиме прокси ошибка появилась только в
4616 0.1.29.
4617
4618 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
4619 параметрами.
4620
4621 *) Добавление: директива return может возвращать код ответа 204.
4622
4623 *) Добавление: директива ignore_invalid_headers.
4624
4625
4626 Изменения в nginx 0.1.29 12.05.2005
4627
4628 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
4629 virtual.
4630
4631 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
4632 вида 'if expr="$NAME"' и команды else и endif. Допускается только
4633 один уровень вложенности.
4634
4635 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
4636 DATE_LOCAL и DATE_GMT и команду config timefmt.
4637
4638 *) Добавление: директива ssi_ignore_recycled_buffers.
4639
4640 *) Исправление: если переменная QUERY_STRING не была определена, то в
4641 команде echo не ставилось значение по умолчанию.
4642
4643 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
4644
4645 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
4646 proxy_pass_request_body и proxy_method.
4647
4648 *) Добавление: директива proxy_set_header. Директива proxy_x_var
4649 упразднена и должна быть заменена директивой proxy_set_header.
4650
4651 *) Изменение: директива proxy_preserve_host упразднена и должна быть
4652 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
4653 off" или директивой "proxy_set_header Host $host:$proxy_port" и
4654 соответствующими ей директивами proxy_redirect.
4655
4656 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
4657 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
4658
4659 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
4660 быть заменена директивой
4661 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
4662
4663 *) Изменение: директива proxy_set_x_url упразднена и должна быть
4664 заменена директивой
4665 "proxy_set_header X-URL http://$host:$server_port$request_uri".
4666
4667 *) Добавление: директива fastcgi_param.
4668
4669 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
4670 упразднены и должны быть замены директивами fastcgi_param.
4671
4672 *) Добавление: директива index может использовать переменные.
4673
4674 *) Добавление: директива index может быть указана на уровне http и
4675 server.
4676
4677 *) Изменение: только последний параметр в директиве index может быть
4678 абсолютным.
4679
4680 *) Добавление: в директиве rewrite могут использоваться переменные.
4681
4682 *) Добавление: директива internal.
4683
4684 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
4685 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
4686 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
4687
4688 *) Изменение: nginx теперь передаёт неверные строки в заголовках
4689 запроса клиента и ответа бэкенда.
4690
4691 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
4692 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
4693
4694 *) Исправление: если бэкенд передавал неверную строку в заголовке
4695 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
4696
4697 *) Исправление: при использовании отказоустойчивой конфигурации в
4698 FastCGI мог происходить segmentation fault.
4699
4700 *) Исправление: директива expires не удаляла уже установленные строки
4701 заголовка "Expires" и "Cache-Control".
4702
4703 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
4704 запроса "Host".
4705
4706 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
4707
4708 *) Исправление: директива rewrite неверно работала, если в запросе
4709 присутствовали аргументы.
4710
4711 *) Исправление: nginx не собирался на MacOS X.
4712
4713
4714 Изменения в nginx 0.1.28 08.04.2005
4715
4716 *) Исправление: при проксировании больших файлов nginx сильно нагружал
4717 процессор.
4718
4719 *) Исправление: nginx не собирался gcc 4.0 на Linux.
4720
4721
4722 Изменения в nginx 0.1.27 28.03.2005
4723
4724 *) Добавление: параметр blocked в директиве valid_referers.
4725
4726 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
4727 уровне info, в лог также записывается имя сервера и строки заголовка
4728 запроса "Host" и "Referer".
4729
4730 *) Изменение: при записи ошибок в лог записывается также строка
4731 заголовка запроса "Host".
4732
4733 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
4734 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
4735
4736 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
4737 параметр конфигурации --without-ngx_http_auth_basic_module.
4738
4739
4740 Изменения в nginx 0.1.26 22.03.2005
4741
4742 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
4743 игнорируется и записываются в error_log на уровне info.
4744
4745 *) Изменение: при записи ошибок в лог записывается также имя сервера,
4746 при обращении к которому произошла ошибка.
4747
4748 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
4749 и auth_basic_user_file.
4750
4751
4752 Изменения в nginx 0.1.25 19.03.2005
4753
4754 *) Исправление: nginx не работал на Linux parisc.
4755
4756 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
4757 sysctl kern.ipc.somaxconn слишком большое.
4758
4759 *) Исправление: если модуль ngx_http_index_module делал внутреннее
4760 перенаправление запроса в модули ngx_http_proxy_module или
4761 ngx_http_fastcgi_module, то файл индекса не закрывался после
4762 обслуживания запроса.
4763
4764 *) Добавление: директива proxy_pass может использоваться в location,
4765 заданных регулярным выражением.
4766
4767 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
4768 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
4769
4770 *) Исправление: nginx очень медленно запускался при большом количестве
4771 адресов и использовании текстовых значений в директиве geo.
4772
4773 *) Изменение: имя переменной в директиве geo нужно указывать, как
4774 $name. Прежний вариант без "$" пока работает, но вскоре будет убран.
4775
4776 *) Добавление: параметр лога "%{VARIABLE}v".
4777
4778 *) Добавление: директива "set $name value".
4779
4780 *) Исправление: совместимость с gcc 4.0.
4781
4782 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
4783
4784
4785 Изменения в nginx 0.1.24 04.03.2005
4786
4787 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает
4788 переменные QUERY_STRING и DOCUMENT_URI.
4789
4790 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
4791 на существующий каталог, если этот каталог был указан как alias.
4792
4793 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
4794 при больших ответах.
4795
4796 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
4797 правильным referrer'ом.
4798
4799
4800 Изменения в nginx 0.1.23 01.03.2005
4801
4802 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
4803 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
4804 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
4805
4806 *) Добавление: параметр лога %request_time.
4807
4808 *) Добавление: если запрос пришёл без строки заголовка "Host", то
4809 директива proxy_preserve_host устанавливает в качестве этого
4810 заголовка первое имя сервера из директивы server_name.
4811
4812 *) Исправление: nginx не собирался на платформах, отличных от i386,
4813 amd64, sparc и ppc; ошибка появилась в 0.1.22.
4814
4815 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
4816 информацию не о символическом линке, а о файле или каталоге, на
4817 который он указывает.
4818
4819 *) Исправление: если клиенту ничего не передавалось, то параметр
4820 %apache_length записывал в лог отрицательную длину заголовка ответа.
4821
4822
4823 Изменения в nginx 0.1.22 22.02.2005
4824
4825 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
4826 статистику для обработанных соединений, если использовалось
4827 проксирование или FastCGI-сервер.
4828
4829 *) Исправление: на Linux и Solaris установочные пути были неверно
4830 заключены в кавычки; ошибка появилась в 0.1.21.
4831
4832
4833 Изменения в nginx 0.1.21 22.02.2005
4834
4835 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
4836 статистику при использовании метода rtsig или при использовании
4837 нескольких рабочих процессов на SMP машине.
4838
4839 *) Исправление: nginx не собирался компилятором icc под Линуксом или
4840 если библиотека zlib-1.2.x собиралась из исходных текстов.
4841
4842 *) Исправление: nginx не собирался под NetBSD 2.0.
4843
4844
4845 Изменения в nginx 0.1.20 17.02.2005
4846
4847 *) Добавление: новые параметры script_filename и remote_port в
4848 директиве fastcgi_params.
4849
4850 *) Исправление: неправильно обрабатывался поток stderr от
4851 FastCGI-сервера.
4852
4853
4854 Изменения в nginx 0.1.19 16.02.2005
4855
4856 *) Исправление: если в запросе есть нуль, то для локальных запросов
4857 теперь возвращается ошибка 404.
4858
4859 *) Исправление: nginx не собирался под NetBSD 2.0.
4860
4861 *) Исправление: во время чтения тела запроса клиента в SSL соединении
4862 мог произойти таймаут.
4863
4864
4865 Изменения в nginx 0.1.18 09.02.2005
4866
4867 *) Изменение: для совместимости с Solaris 10 в директивах
4868 devpoll_events и devpoll_changes значения по умолчанию уменьшены с
4869 512 до 32.
4870
4871 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
4872 наследовались.
4873
4874 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
4875 присоединялись к URI через символ "&" вместо "?".
4876
4877 *) Исправление: строки для модуля ngx_http_geo_module без символа ";"
4878 во включённом файле игнорировались.
4879
4880 *) Добавление: модуль ngx_http_stub_status_module.
4881
4882 *) Исправление: неизвестный формат лог-файла в директиве access_log
4883 вызывал segmentation fault.
4884
4885 *) Добавление: новый параметр document_root в директиве fastcgi_params.
4886
4887 *) Добавление: директива fastcgi_redirect_errors.
4888
4889 *) Добавление: новый модификатор break в директиве rewrite позволяет
4890 прекратить цикл rewrite/location и устанавливает текущую
4891 конфигурацию для запроса.
4892
4893
4894 Изменения в nginx 0.1.17 03.02.2005
4895
4896 *) Изменение: модуль ngx_http_rewrite_module полностью переписан.
4897 Теперь можно делать редиректы, возвращать коды ошибок и проверять
4898 переменные и рефереры. Эти директивы можно использовать внутри
4899 location. Директива redirect упразднена.
4900
4901 *) Добавление: модуль ngx_http_geo_module.
4902
4903 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
4904
4905 *) Исправление: конфигурация location с модификатором "=" могла
4906 использоваться в другом location.
4907
4908 *) Исправление: правильный тип ответа выставлялся только для запросов,
4909 у которых в расширении были только маленькие буквы.
4910
4911 *) Исправление: если для location установлен proxy_pass или
4912 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
4913 на статическую страницу, то происходил segmentation fault.
4914
4915 *) Исправление: если в проксированном ответе в заголовке "Location"
4916 передавался относительный URL, то к нему добавлялось имя хоста и
4917 слэш; ошибка появилась в 0.1.14.
4918
4919 *) Исправление: на Linux в лог не записывался текст системной ошибки.
4920
4921
4922 Изменения в nginx 0.1.16 25.01.2005
4923
4924 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
4925 выдавался завершающий chunk.
4926
4927 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
4928 директива keepalive_timeout запрещала использование keep-alive.
4929
4930 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
4931 segmentation fault.
4932
4933 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
4934 до конца.
4935
4936 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
4937 для TCP сокетов, не используются для unix domain сокетов.
4938
4939 *) Добавление: директива rewrite поддерживает перезаписывание
4940 аргументов.
4941
4942 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
4943 возвращался ответ 400; ошибка появилась в 0.1.14.
4944
4945
4946 Изменения в nginx 0.1.15 19.01.2005
4947
4948 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
4949 segmentation fault.
4950
4951 *) Исправление: корректная обработка регулярного выражения, в котором
4952 число выделенных частей не совпадает с числом подстановок.
4953
4954 *) Добавление: location, который передаётся FastCGI-серверу, может быть
4955 задан с помощью регулярного выражения.
4956
4957 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
4958 аргументами и в том виде, в котором был получен от клиента.
4959
4960 *) Исправление: для использования регулярных выражений в location нужно
4961 было собирать nginx вместе с ngx_http_rewrite_module.
4962
4963 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
4964 директивы "proxy_preserve_host on" в заголовке "Host" указывался
4965 также порт 80; ошибка появилась в 0.1.14.
4966
4967 *) Исправление: если задать одинаковые пути в параметрах
4968 автоконфигурации --http-client-body-temp-path=PATH и
4969 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
4970 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
4971
4972
4973 Изменения в nginx 0.1.14 18.01.2005
4974
4975 *) Добавление: параметры автоконфигурации
4976 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
4977 --http-fastcgi-temp-path=PATH
4978
4979 *) Изменение: имя каталога с временными файлами, содержащие тело
4980 запроса клиента, задаётся директивой client_body_temp_path, по
4981 умолчанию <prefix>/client_body_temp.
4982
4983 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
4984 fastcgi_root, fastcgi_index, fastcgi_params,
4985 fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
4986 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
4987 fastcgi_busy_buffers_size, fastcgi_temp_path,
4988 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
4989 fastcgi_next_upstream и fastcgi_x_powered_by.
4990
4991 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
4992 0.1.3.
4993
4994 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
4995 после имени хоста.
4996
4997 *) Изменение: если в URI встречался символ %3F, то он считался началом
4998 строки аргументов.
4999
5000 *) Добавление: поддержка unix domain сoкетов в модуле
5001 ngx_http_proxy_module.
5002
5003 *) Добавление: директивы ssl_engine и ssl_ciphers.
5004 Спасибо Сергею Скворцову за SSL-акселератор.
5005
5006
5007 Изменения в nginx 0.1.13 21.12.2004
5008
5009 *) Добавление: директивы server_names_hash и
5010 server_names_hash_threshold.
5011
5012 *) Исправление: имена *.domain.tld в директиве server_name не работали.
5013
5014 *) Исправление: параметр лога %request_length записывал неверную длину.
5015
5016
5017 Изменения в nginx 0.1.12 06.12.2004
5018
5019 *) Добавление: параметр лога %request_length.
5020
5021 *) Исправление: при использовании /dev/poll, select и poll на
5022 платформах, где возможны ложные срабатывания указанных методов,
5023 могли быть длительные задержки при обработке запроса по keep-alive
5024 соединению. Наблюдалось по крайней мере на Solaris с использованием
5025 /dev/poll.
5026
5027 *) Исправление: директива send_lowat игнорируется на Linux, так как
5028 Linux не поддерживает опцию SO_SNDLOWAT.
5029
5030
5031 Изменения в nginx 0.1.11 02.12.2004
5032
5033 *) Добавление: директива worker_priority.
5034
5035 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
5036 влияют на передачу ответа.
5037
5038 *) Исправление: nginx не вызывал initgroups().
5039 Спасибо Андрею Ситникову и Андрею Нигматулину.
5040
5041 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
5042 байтах.
5043
5044 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
5045 каталоге есть битый symlink.
5046
5047 *) Исправление: файлы больше 4G не передавались с использованием
5048 sendfile.
5049
5050 *) Исправление: если бэкенд резолвился в несколько адресов и при
5051 ожидании от него ответа происходила ошибка, то процесс зацикливался.
5052
5053 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
5054 завершиться с сообщением "unknown cycle".
5055
5056 *) Исправление: ошибки "close() channel failed".
5057
5058 *) Исправление: автоматическое определение групп nobody и nogroup.
5059
5060 *) Исправление: директива send_lowat не работала на Linux.
5061
5062 *) Исправление: если в конфигурации не было раздела events, то
5063 происходил segmentation fault.
5064
5065 *) Исправление: nginx не собирался под OpenBSD.
5066
5067 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
5068
5069
5070 Изменения в nginx 0.1.10 26.11.2004
5071
5072 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
5073 или "%XX", то терялся последний символ в строке запроса; ошибка
5074 появилась в 0.1.9.
5075
5076 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на
5077 Linux не работало.
5078
5079
5080 Изменения в nginx 0.1.9 25.11.2004
5081
5082 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
5083 проксируемый запрос передавался без аргументов.
5084
5085 *) Исправление: при сжатии больших ответов иногда они передавались не
5086 полностью.
5087
5088 *) Исправление: не передавались файлы больше 2G на Linux,
5089 неподдерживающем sendfile64().
5090
5091 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
5092 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
5093
5094
5095 Изменения в nginx 0.1.8 20.11.2004
5096
5097 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5098 длинных имён файлов.
5099
5100 *) Добавление: модификатор "^~" в директиве location.
5101
5102 *) Добавление: директива proxy_max_temp_file_size.
5103
5104
5105 Изменения в nginx 0.1.7 12.11.2004
5106
5107 *) Исправление: при использовании sendfile, если передаваемый файл
5108 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
5109 появилась в 0.1.5.
5110
5111
5112 Изменения в nginx 0.1.6 11.11.2004
5113
5114 *) Исправление: при некоторых комбинациях директив location c
5115 регулярными выражениями использовалась конфигурация не из того
5116 location.
5117
5118
5119 Изменения в nginx 0.1.5 11.11.2004
5120
5121 *) Исправление: на Solaris и Linux могло быть очень много сообщений
5122 "recvmsg() returned not enough data".
5123
5124 *) Исправление: в режиме прокси без использования sendfile на Solaris
5125 возникала ошибка "writev() failed (22: Invalid argument)". На других
5126 платформах, не поддерживающих sendfile, процесс зацикливался.
5127
5128 *) Исправление: при использовании sendfile в режиме прокси на Solaris
5129 возникал segmentation fault.
5130
5131 *) Исправление: segmentation fault на Solaris.
5132
5133 *) Исправление: обновление исполняемого файла на лету не работало на
5134 Linux.
5135
5136 *) Исправление: в списке файлов, выдаваемом модулем
5137 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
5138 знаки процента.
5139
5140 *) Изменение: уменьшение операций копирования.
5141
5142 *) Добавление: директива userid_p3p.
5143
5144
5145 Изменения в nginx 0.1.4 26.10.2004
5146
5147 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
5148
5149
5150 Изменения в nginx 0.1.3 25.10.2004
5151
5152 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
5153
5154 *) Добавление: директива proxy_set_x_url.
5155
5156 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5157 не использовался sendfile.
5158
5159
5160 Изменения в nginx 0.1.2 21.10.2004
5161
5162 *) Добавление: параметры --user=USER, --group=GROUP и
5163 --with-ld-opt=OPTIONS в configure.
5164
5165 *) Добавление: директива server_name поддерживает *.domain.tld.
5166
5167 *) Исправление: улучшена переносимость на неизвестные платформы.
5168
5169 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
5170 файл указан в командной строке; ошибка появилась в 0.1.1.
5171
5172 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5173 не использовался sendfile.
5174
5175 *) Исправление: при использовании sendfile текст ответа не
5176 перекодировался согласно директивам модуля charset; ошибка появилась
5177 в 0.1.1.
5178
5179 *) Исправление: очень редкая ошибка при обработке kqueue.
5180
5181 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
5182 проксировании.
5183
5184
5185 Изменения в nginx 0.1.1 11.10.2004
5186
5187 *) Добавление: директива gzip_types.
5188
5189 *) Добавление: директива tcp_nodelay.
5190
5191 *) Добавление: директива send_lowat работает не только на платформах,
5192 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
5193 SO_SNDLOWAT.
5194
5195 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
5196
5197 *) Исправление: ошибка при переписывании заголовка "Location" при
5198 проксировании.
5199
5200 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
5201 зацикливанию.
5202
5203 *) Исправление: ошибки в модуле /dev/poll.
5204
5205 *) Исправление: при проксировании и использовании временных файлов
5206 ответы портились.
5207
5208 *) Исправление: бэкенду передавались запросы с неперекодированными
5209 символами.
5210
5211 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
5212 обязательно использовать параметр --with-poll_module.
5213
5214
5215 Изменения в nginx 0.1.0 04.10.2004
5216
5217 *) Первая публично доступная версия.
5218