comparison text/ru/CHANGES.ru-0.7 @ 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.7.69 19.07.2011
3
4 *) Исправление: при использовании кэширования в рабочем процессе мог
5 произойти segmentation fault.
6 Спасибо Lanshun Zhou.
7
8
9 Изменения в nginx 0.7.68 14.12.2010
10
11 *) Исправление: если для пары IPv6-адрес:порт описан только один
12 сервер, то выделения в регулярных выражениях в директиве server_name
13 не работали.
14
15 *) Исправление: при использовании директивы auth_basic в рабочем
16 процессе мог произойти segmentation fault.
17 Спасибо Михаилу Лалетину.
18
19 *) Исправление: ответ SSI модуля мог передаваться не полностью после
20 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
21 Спасибо Максиму Дунину.
22
23 *) Исправление: директива sub_filter могла изменять регистр букв при
24 частичном совпадении.
25
26 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
27 запросы.
28 Спасибо Miroslaw Jaworski.
29
30 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
31 переконфигурации.
32 Спасибо Максиму Дунину.
33
34
35 Изменения в nginx 0.7.67 15.06.2010
36
37 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
38 при запросе файла с неверной кодировкой UTF-8.
39
40
41 Изменения в nginx 0.7.66 07.06.2010
42
43 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
44 умолчанию.
45 Спасибо Jose Antonio Vazquez Gonzalez.
46
47 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
48
49 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
50 не найдена с помощью метода $r->variable().
51
52 *) Изменение: теперь keepalive соединения после запросов POST не
53 запрещаются для MSIE 7.0+.
54 Спасибо Adam Lounds.
55
56 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
57
58 *) Добавление: теперь при использовании переменной $scheme в директиве
59 rewrite автоматически делается редирект.
60 Спасибо Piotr Sikora.
61
62 *) Добавление: директива chunked_transfer_encoding.
63
64 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
65 $geoip_longitude.
66 Спасибо Arvind Sundararajan.
67
68 *) Добавление: модуль ngx_http_image_filter_module теперь всегда
69 удаляет EXIF и другие данные, если они занимают больше 5% в
70 JPEG-файле.
71
72 *) Добавление: теперь директива msie_padding работает и для Chrome.
73
74 *) Изменение: теперь keepalive соединения запрещены для Safari.
75 Спасибо Joshua Sierles.
76
77 *) Исправление: nginx игнорировал значения "private" и "no-store" в
78 строке "Cache-Control" в заголовке ответа бэкенда.
79
80 *) Исправление: символ "&" при копировании в аргументы в правилах
81 rewrite не экранировался.
82
83 *) Исправление: nginx мог завершаться аварийно во время обработки
84 сигнала или при использовании директивы timer_resolution на
85 платформах, не поддерживающих методы kqueue или eventport.
86 Спасибо George Xie и Максиму Дунину.
87
88 *) Исправление: если временные файлы и постоянное место хранения
89 располагались на разных файловых системах, то у постоянных файлов
90 время изменения было неверным.
91 Спасибо Максиму Дунину.
92
93 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
94 "memcached sent invalid trailer".
95 Спасибо Максиму Дунину.
96
97 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
98 текстов.
99 Спасибо Максиму Дунину.
100
101 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
102 основном запросе значения переменных $query_string, $arg_... и им
103 подобных.
104
105 *) Исправление: nginx не поддерживал HTTPS-рефереры.
106
107 *) Исправление: nginx/Windows мог не находить файлы, если путь в
108 конфигурации был задан в другом регистре; ошибка появилась в 0.7.65.
109
110 *) Исправление: переменная $date_local выдавала неверное время, если
111 использовался формат "%s".
112 Спасибо Максиму Дунину.
113
114 *) Исправление: nginx не поддерживал все шифры, используемые в
115 клиентских сертификатах.
116 Спасибо Иннокентию Еникееву.
117
118 *) Исправление: если ssl_session_cache не был установлен или установлен
119 в none, то при проверке клиентского сертификаты могла происходить
120 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
121
122 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
123 Спасибо Максиму Дунину.
124
125 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
126 диапазон включал в себя одну и более сетей размером /16 и не
127 начинался на границе сети размером /16.
128
129 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
130 перловом модулях.
131
132 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
133 Спасибо Vicente Aguilar и Максиму Дунину.
134
135 *) Исправление: значение переменной повторно экранировалось после
136 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
137
138 *) Исправление: параметр stub в SSI-директиве include не использовался,
139 если пустой ответ имел код 200.
140
141 *) Исправление: блок, используемый в параметре stub в SSI-директиве
142 include, выводился с MIME-типом "text/plain".
143
144 *) Исправление: если проксированный или FastCGI запрос внутренне
145 перенаправлялся в другой проксированный или FastCGI location, то в
146 рабочем процессе мог произойти segmentation fault; ошибка появилась
147 в 0.7.65.
148 Спасибо Yichun Zhang.
149
150 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
151 таймаута.
152 Спасибо Alan Batie.
153
154 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
155 ответов.
156 Спасибо Julian Reich.
157
158
159 Изменения в nginx 0.7.65 01.02.2010
160
161 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
162 Спасибо Dan Crowley, Core Security Technologies.
163
164 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
165 Спасибо Dan Crowley, Core Security Technologies.
166
167 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется
168 код ответа "009".
169
170 *) Изменение: теперь по умолчанию размер буфера директивы
171 large_client_header_buffers равен 8K.
172 Спасибо Andrew Cholakian.
173
174 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
175 "HIGH:!ADH:!MD5".
176
177 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
178
179 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
180
181 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
182
183 *) Добавление: теперь при использовании переменных в директиве
184 proxy_pass не требуется задавать URI.
185
186 *) Добавление: переменная $ssl_session_id.
187
188 *) Исправление: если проксированный или FastCGI запрос внутренне
189 перенаправлялся в другой проксированный или FastCGI location, то
190 переменная $upstream_response_time могла иметь ненормально большое
191 значение; ошибка появилась в 0.7.63.
192
193 *) Исправление: если директива "expires modified" выставляла дату в
194 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
195 отрицательное число.
196 Спасибо Алексею Капранову.
197
198 *) Исправление: nginx закрывал соединение при запросе закэшированного
199 ответа с пустым телом.
200 Спасибо Piotr Sikora.
201
202 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
203 проксируемого запроса была строка "If-None-Match".
204 Спасибо Tim Dettrick и David Kostal.
205
206 *) Исправление: nginx не считал запятую разделителем в строке
207 "Cache-Control" в строке заголовка бэкенда.
208
209 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
210 обрабатывались.
211
212 *) Исправление: nginx передавал сжатые ответы клиентам, не
213 поддерживающим сжатие, при настройках gzip_static on и gzip_vary
214 off; ошибка появилась в 0.8.16.
215
216 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
217 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
218
219 *) Исправление: оператор "!-x" не работал.
220 Спасибо Максиму Дунину.
221
222 *) Исправление: в рабочем процессе мог произойти segmentation fault при
223 использовании limit_rate в HTTPS сервере.
224 Спасибо Максиму Дунину.
225
226 *) Исправление: при записи в лог переменной $limit_rate в рабочем
227 процессе происходил segmentation fault.
228 Спасибо Максиму Дунину.
229
230 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
231 платформах;
232
233 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
234 перезаписи уже существующего файла.
235
236 *) Исправление: nginx/Windows пытался дважды переименовать временный
237 файл при перезаписи уже существующего файла.
238
239 *) Исправление: nginx/Windows мог не создать временный файл, файл в
240 кэше или файл с помощью директив proxy/fastcgi_store, если рабочий
241 процесс не имел достаточно прав для работы с каталогами верхнего
242 уровня.
243
244 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
245 nginx/Windows.
246
247 *) Исправление: ошибки при использовании кодировки UTF-8 в
248 ngx_http_autoindex_module.
249 Спасибо Максиму Дунину.
250
251 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
252 слэш для линков на каталоги; ошибка появилась в 0.7.15.
253
254 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
255 --error-log-path; ошибка появилась в 0.7.53.
256
257 *) Исправление: директива "addition_types" была неверно названа
258 "addtion_types".
259
260 *) Исправление: неверная строка запроса в переменной $request
261 записывалась в access_log только при использовании error_log на
262 уровне info или debug.
263
264
265 Изменения в nginx 0.7.64 16.11.2009
266
267 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
268 Спасибо Максиму Дунину.
269
270 *) Исправление: nginx передавал сжатые ответы клиентам, не
271 поддерживающим сжатие, при настройках gzip_static on и gzip_vary
272 off; ошибка появилась в 0.7.63.
273
274 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
275 .domain-some.tld, то имя .sub.domain.tld попадало под маску
276 .domain.tld.
277
278 *) Исправление: segmentation fault и зацикливания в resolver'е.
279
280 *) Исправление: в resolver'е.
281 Спасибо Артёму Бохану.
282
283 *) Исправление: порчи кэша resolver'а.
284 Спасибо Matthew Dempsky.
285
286 *) Исправление: утечки памяти в resolver'е.
287 Спасибо Matthew Dempsky.
288
289
290 Изменения в nginx 0.7.63 26.10.2009
291
292 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
293 в заголовке запроса.
294
295 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
296
297 *) Изменение: параметр ask директивы ssl_verify_client изменён на
298 параметр optional и теперь он проверяет клиентский сертификат, если
299 он был предложен.
300 Спасибо Brice Figureau.
301
302 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
303
304 *) Добавление: переменная $ssl_client_verify.
305 Спасибо Brice Figureau.
306
307 *) Добавление: директива ssl_crl.
308 Спасибо Brice Figureau.
309
310 *) Исправление: использование переменной $ssl_client_cert портило
311 память; ошибка появилась в 0.7.7.
312 Спасибо Сергею Журавлёву.
313
314 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
315 процесс; это должно улучшить обработку больших кэшей.
316
317 *) Добавление: теперь временные файлы и постоянное место хранения могут
318 располагаться на разных файловых системах.
319
320 *) Исправление: nginx неверно считал размер кэша на диске.
321
322 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
323 для MSIE 6.0 SV1.
324
325 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
326 заголовок ответа, если обе директивы gzip_static и gzip_vary были
327 включены.
328
329 *) Добавление: параметр proxy директивы geo.
330
331 *) Добавление: модуль ngx_http_geoip_module.
332
333 *) Добавление: директива limit_rate_after.
334 Спасибо Ivan Debnar.
335
336 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
337
338 *) Исправление: теперь директива limit_req соответствует алгоритму
339 leaky bucket.
340 Спасибо Максиму Дунину.
341
342 *) Исправление: в модуле ngx_http_limit_req_module.
343 Спасибо Максиму Дунину.
344
345 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
346
347 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
348 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
349 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа
350 бэкенда.
351 Спасибо Максиму Дунину.
352
353 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
354 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
355 Спасибо Максиму Дунину.
356
357 *) Добавление: директива image_filter_transparency.
358
359 *) Добавление: директива image_filter поддерживает переменные для
360 задания размеров.
361
362 *) Исправление: в поддержке альфа-канала PNG в модуле
363 ngx_http_image_filter_module.
364
365 *) Исправление: в поддержке прозрачности в модуле
366 ngx_http_image_filter_module.
367
368 *) Добавление: теперь можно использовать несколько директив
369 perl_modules.
370
371 *) Исправление: ответы модуля ngx_http_perl_module не работали в
372 подзапросах.
373
374 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке
375 в ответе на запрос MKCOL.
376 Спасибо Xie Zhenye.
377
378 *) Исправление: директива error_page не перенаправляла ошибку 413;
379 ошибка появилась в 0.6.10.
380
381 *) Исправление: в обработке ошибок выделения памяти.
382 Спасибо Максиму Дунину и Кириллу Коринскому.
383
384
385 Изменения в nginx 0.7.62 14.09.2009
386
387 *) Безопасность: при обработке специально созданного запроса в рабочем
388 процессе мог произойти segmentation fault.
389 Спасибо Chris Ries.
390
391 *) Добавление: переменная $upstream_cache_status.
392
393 *) Исправление: устаревший закэшированный запрос мог залипнуть в
394 состоянии "UPDATING".
395
396 *) Исправление: при использовании error_log на уровне info или debug в
397 рабочем процессе мог произойти segmentation fault.
398 Спасибо Сергею Боченкову.
399
400 *) Исправление: в обработке заголовков ответа, разделённых в
401 FastCGI-записях.
402
403 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
404 document" для правильного документа.
405 Спасибо Kuramoto Eiji.
406
407 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
408 location'ов, заданных регулярным выражением, теперь всегда делается
409 сравнение без учёта регистра символов.
410
411 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
412 Спасибо Hugo Leisink.
413
414 *) Исправление: имя файла указанного в --conf-path игнорировалось при
415 установке; ошибка появилась в 0.6.6.
416 Спасибо Максиму Дунину.
417
418 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
419 для неверных имени/пароля возвращалась 500-ая ошибка.
420
421
422 Изменения в nginx 0.7.61 22.06.2009
423
424 *) Исправление: nginx не собирался на MacOSX 10.6.
425
426 *) Исправление: nginx не собирался с параметром --without-http-cache;
427 ошибка появилась в 0.7.60.
428
429 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
430 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
431 в рабочем процессе происходил segmentation fault.
432 Спасибо Евгению Мычло.
433
434
435 Изменения в nginx 0.7.60 15.06.2009
436
437 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
438 fastcgi_cache_use_stale.
439
440 *) Добавление: директива keepalive_requests.
441
442 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
443 на старте.
444
445 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
446 долго; ошибка появилась в 0.7.4.
447
448 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
449 заголовке запроса клиента передавались бэкенду при кэшировании, если
450 не использовалась директива proxy_set_header с любыми параметрами.
451
452 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
453 не скрывались при кэшировании, если не использовались директивы
454 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
455
456 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
457 GIF87a.
458 Спасибо Денису Ильиных.
459
460 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
461 появилась в 0.7.56.
462
463 *) Исправление: XSLT-фильтр не работал в подзапросах.
464
465 *) Исправление: обработке относительных путей в nginx/Windows.
466
467 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
468 fastcgi_cache в nginx/Windows.
469
470
471 Изменения в nginx 0.7.59 25.05.2009
472
473 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
474
475 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
476 Спасибо Максиму Дунину.
477
478 *) Исправление: при использовании переменной $request_body в рабочем
479 процессе происходил segmentation fault, если в запросе не было тела;
480 ошибка появилась в 0.7.58.
481
482 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
483 ошибка появилась в 0.7.56.
484
485 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
486 обрабатывались SSI-, charset- и gzip-фильтрами.
487
488 *) Исправление: директива charset не ставила кодировку для ответов
489 модуля ngx_http_gzip_static_module.
490
491
492 Изменения в nginx 0.7.58 18.05.2009
493
494 *) Добавление: директива listen почтового прокси-сервера поддерживает
495 IPv6.
496
497 *) Добавление: директива image_filter_jpeg_quality.
498
499 *) Добавление: директива client_body_in_single_buffer.
500
501 *) Добавление: переменная $request_body.
502
503 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
504 файлов, содержащих символ ":".
505
506 *) Исправление: процедура "make upgrade" не работала; ошибка появилась
507 в 0.7.53.
508 Спасибо Денису Латыпову.
509
510
511 Изменения в nginx 0.7.57 12.05.2009
512
513 *) Исправление: при перенаправлении ошибок модуля
514 ngx_http_image_filter_module в именованный location в рабочем
515 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
516
517
518 Изменения в nginx 0.7.56 11.05.2009
519
520 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen
521 модуля HTTP.
522
523 *) Исправление: в модуле ngx_http_image_filter_module.
524
525
526 Изменения в nginx 0.7.55 06.05.2009
527
528 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
529 fastcgi_cache_use_stale не работали.
530
531 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
532 заголовка.
533
534 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
535 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
536
537 *) Исправление: при использовании директивы debug_connection в рабочем
538 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
539
540 *) Исправление: в сборке модуля ngx_http_image_filter_module.
541
542 *) Исправление: файлы больше 2G не передавались с использованием
543 $r->sendfile.
544 Спасибо Максиму Дунину.
545
546
547 Изменения в nginx 0.7.54 01.05.2009
548
549 *) Добавление: модуль ngx_http_image_filter_module.
550
551 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
552
553 *) Исправление: при использовании переменных "open_file_cache_errors
554 on" в рабочем процессе мог произойти segmentation fault; ошибка
555 появилась в 0.7.53.
556
557 *) Исправление: директива "port_in_redirect off" не работала; ошибка
558 появилась в 0.7.39.
559
560 *) Исправление: улучшение обработки ошибок метода select.
561
562 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
563
564 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
565 ошибка появилась в 0.7.53.
566
567
568 Изменения в nginx 0.7.53 27.04.2009
569
570 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
571 самого начала работы.
572
573 *) Добавление: теперь ошибки и предупреждения при старте записываются в
574 error_log и выводятся на stderr.
575
576 *) Добавление: при сборке с пустым параметром --prefix= nginx
577 использует как префикс каталог, в котором он был запущен.
578
579 *) Добавление: ключ -p.
580
581 *) Добавление: ключ -s на Unix-платформах.
582
583 *) Добавление: ключи -? и -h.
584 Спасибо Jerome Loyet.
585
586 *) Добавление: теперь ключи можно задавать в сжатой форме.
587
588 *) Исправление: nginx/Windows не работал, если файл конфигурации был
589 задан ключом -c.
590
591 *) Исправление: при использовании директив proxy_store, fastcgi_store,
592 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
593 Спасибо Максиму Дунину.
594
595 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
596 почтового прокси-сервера передавалось неверное значение; ошибка
597 появилась в 0.7.34.
598 Спасибо Simon Lecaille.
599
600 *) Исправление: при логгировании на Linux не писались текстовые
601 описания системных ошибок; ошибка появилась в 0.7.45.
602
603 *) Исправление: директива fastcgi_cache_min_uses не работала.
604 Спасибо Андрею Воробьёву.
605
606
607 Изменения в nginx 0.7.52 20.04.2009
608
609 *) Добавление: первая бинарная версия под Windows.
610
611 *) Исправление: корректная обработка метода HEAD при кэшировании.
612
613 *) Исправление: корректная обработка строк "If-Modified-Since",
614 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
615
616 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
617 заголовке ответа для закэшированных ответов.
618
619 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
620 perl поддерживал потоки, то при выходе основного процесса могла
621 выдаваться ошибка "panic: MUTEX_LOCK".
622
623 *) Исправление: nginx не собирался с параметром --without-http-cache;
624 ошибка появилась в 0.7.48.
625
626 *) Исправление: nginx не собирался на платформах, отличных от i386,
627 amd64, sparc и ppc; ошибка появилась в 0.7.42.
628
629
630 Изменения в nginx 0.7.51 12.04.2009
631
632 *) Добавление: директива try_files поддерживает код ответа в последнем
633 параметре.
634
635 *) Добавление: теперь в директиве return можно использовать любой код
636 ответа.
637
638 *) Исправление: директива error_page делала внешний редирект без строки
639 запроса; ошибка появилась в 0.7.44.
640
641 *) Исправление: если сервера слушали на нескольких явно описанных
642 адресах, то виртуальные сервера могли не работать; ошибка появилась
643 в 0.7.39.
644
645
646 Изменения в nginx 0.7.50 06.04.2009
647
648 *) Исправление: переменные $arg_... не работали; ошибка появилась в
649 0.7.49.
650
651
652 Изменения в nginx 0.7.49 06.04.2009
653
654 *) Исправление: при использовании переменных $arg_... в рабочем
655 процессе мог произойти segmentation fault; ошибка появилась в 0.7.48.
656
657
658 Изменения в nginx 0.7.48 06.04.2009
659
660 *) Добавление: директива proxy_cache_key.
661
662 *) Исправление: теперь nginx учитывает при кэшировании строки
663 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
664 бэкенда.
665
666 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
667
668 *) Исправление: директива fastcgi_cache_key не наследовалась.
669
670 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
671 Спасибо Максиму Дунину.
672
673 *) Исправление: nginx не собирался с библиотекой uclibc.
674 Спасибо Timothy Redaelli.
675
676 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
677 в 0.7.46.
678
679
680 Изменения в nginx 0.7.47 01.04.2009
681
682 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
683 ошибка появилась в 0.7.46.
684
685 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
686
687 *) Исправление: если использовался параметр max_size, то cache manager
688 мог удалить весь кэш; ошибка появилась в 0.7.46.
689
690 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
691 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
692 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
693 в 0.7.46.
694
695 *) Исправление: в рабочем процессе мог произойти segmentation fault при
696 перенаправлении запроса проксированному или FastCGI-серверу с
697 помощью error_page или try_files; ошибка появилась в 0.7.44.
698
699
700 Изменения в nginx 0.7.46 30.03.2009
701
702 *) Исправление: архив предыдущего релиза был неверным.
703
704
705 Изменения в nginx 0.7.45 30.03.2009
706
707 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
708 задавать на разных уровнях.
709
710 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
711
712 *) Добавление: параметр max_size в директиве proxy_cache_path.
713
714 *) Добавление: предварительная поддержка кэширования в модуле
715 ngx_http_fastcgi_module.
716
717 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
718 указываются названия директивы и зоны.
719
720 *) Исправление: директива "add_header last-modified ''" не удаляла в
721 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
722
723 *) Исправление: в директиве auth_basic_user_file не работал
724 относительный путь, заданный строкой без переменных; ошибка
725 появилась в 0.7.44.
726 Спасибо Jerome Loyet.
727
728 *) Исправление: в директиве alias, заданной переменными без ссылок на
729 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
730
731
732 Изменения в nginx 0.7.44 23.03.2009
733
734 *) Добавление: предварительная поддержка кэширования в модуле
735 ngx_http_proxy_module.
736
737 *) Добавление: параметр --with-pcre в configure.
738
739 *) Добавление: теперь директива try_files может быть использована на
740 уровне server.
741
742 *) Исправление: директива try_files неправильно обрабатывала строку
743 запроса в последнем параметре.
744
745 *) Исправление: директива try_files могла неверно тестировать каталоги.
746
747 *) Исправление: если для пары адрес:порт описан только один сервер, то
748 выделения в регулярных выражениях в директиве server_name не
749 работали.
750
751
752 Изменения в nginx 0.7.43 18.03.2009
753
754 *) Исправление: запрос обрабатывался неверно, если директива root
755 использовала переменные; ошибка появилась в 0.7.42.
756
757 *) Исправление: если сервер слушал на адресах типа "*", то значение
758 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
759
760
761 Изменения в nginx 0.7.42 16.03.2009
762
763 *) Изменение: ошибка "Invalid argument", возвращаемая
764 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
765
766 *) Изменение: при отсутствии файла, указанного в директиве
767 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
768
769 *) Добавление: директива auth_basic_user_file поддерживает переменные.
770 Спасибо Кириллу Коринскому.
771
772 *) Добавление: директива listen поддерживает параметр ipv6only.
773 Спасибо Zhang Hua.
774
775 *) Исправление: в директиве alias со ссылками на выделения в регулярных
776 выражениях; ошибка появилась в 0.7.40.
777
778 *) Исправление: совместимость с Tru64 UNIX.
779 Спасибо Dustin Marquess.
780
781 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
782 появилась в 0.7.41.
783
784
785 Изменения в nginx 0.7.41 11.03.2009
786
787 *) Исправление: в рабочем процессе мог произойти segmentation fault,
788 если в server_name или location были выделения в регулярных
789 выражениях; ошибка появилась в 0.7.40.
790 Спасибо Владимиру Сопоту.
791
792
793 Изменения в nginx 0.7.40 09.03.2009
794
795 *) Добавление: директива location поддерживает выделения в регулярных
796 выражениях.
797
798 *) Добавление: директиву alias с ссылками на выделения в регулярных
799 выражениях можно использовать внутри location'а, заданного
800 регулярным выражением с выделениями.
801
802 *) Добавление: директива server_name поддерживает выделения в
803 регулярных выражениях.
804
805 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
806 слэш для каталогов на файловой системе XFS; ошибка появилась в
807 0.7.15.
808 Спасибо Дмитрию Кузьменко.
809
810
811 Изменения в nginx 0.7.39 02.03.2009
812
813 *) Исправление: при включённом сжатии большие ответы с использованием
814 SSI могли зависать; ошибка появилась в 0.7.28.
815 Спасибо Артёму Бохану.
816
817 *) Исправление: при использовании коротких статических вариантов в
818 директиве try_files в рабочем процессе мог произойти segmentation
819 fault.
820
821
822 Изменения в nginx 0.7.38 23.02.2009
823
824 *) Добавление: логгирование ошибок аутентификации.
825
826 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
827 игнорировались после нечётного числа пустых строк.
828 Спасибо Александру Загребину.
829
830 *) Исправление: при использовании длинного пути в unix domain сокете в
831 главном процессе происходил segmentation fault; ошибка появилась в
832 0.7.36.
833
834
835 Изменения в nginx 0.7.37 21.02.2009
836
837 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
838 появилась в 0.7.36.
839
840
841 Изменения в nginx 0.7.36 21.02.2009
842
843 *) Добавление: предварительная поддержка IPv6; директива listen модуля
844 HTTP поддерживает IPv6.
845
846 *) Исправление: переменная $ancient_browser не работала для браузеров,
847 заданных директивами modern_browser.
848
849
850 Изменения в nginx 0.7.35 16.02.2009
851
852 *) Исправление: директива ssl_engine не использовала SSL-акселератор
853 для асимметричных шифров.
854 Спасибо Marcin Gozdalik.
855
856 *) Исправление: директива try_files выставляла MIME-type, исходя из
857 расширения первоначального запроса.
858
859 *) Исправление: в директивах server_name, valid_referers и map
860 неправильно обрабатывались имена вида "*domain.tld", если
861 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
862 ошибка появилась в 0.7.9.
863
864
865 Изменения в nginx 0.7.34 10.02.2009
866
867 *) Добавление: параметр off в директиве if_modified_since.
868
869 *) Добавление: теперь после команды XCLIENT nginx посылает команду
870 HELO/EHLO.
871 Спасибо Максиму Дунину.
872
873 *) Добавление: поддержка Microsoft-специфичного режима
874 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
875 Спасибо Максиму Дунину.
876
877 *) Исправление: в директиве rewrite, возвращающей редирект, старые
878 аргументы присоединялись к новым через символ "?" вместо "&";
879 ошибка появилась в 0.1.18.
880 Спасибо Максиму Дунину.
881
882 *) Исправление: nginx не собирался на AIX.
883
884
885 Изменения в nginx 0.7.33 02.02.2009
886
887 *) Исправление: если на запрос с телом возвращался редирект, то ответ
888 мог быть двойным при использовании методов epoll или rtsig.
889 Спасибо Eden Li.
890
891 *) Исправление: для некоторых типов редиректов в переменной
892 $sent_http_location было пустое значение.
893
894 *) Исправление: при использовании директивы resolver в SMTP
895 прокси-сервере в рабочем процессе мог произойти segmentation fault.
896
897
898 Изменения в nginx 0.7.32 26.01.2009
899
900 *) Добавление: теперь в директиве try_files можно явно указать проверку
901 каталога.
902
903 *) Исправление: fastcgi_store не всегда сохранял файлы.
904
905 *) Исправление: в гео-диапазонах.
906
907 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
908 если nginx был собран без отладки.
909 Спасибо Андрею Квасову.
910
911
912 Изменения в nginx 0.7.31 19.01.2009
913
914 *) Изменение: теперь директива try_files проверяет только файлы,
915 игнорируя каталоги.
916
917 *) Добавление: директива fastcgi_split_path_info.
918
919 *) Исправления в поддержке строки "Expect" в заголовке запроса.
920
921 *) Исправления в гео-диапазонах.
922
923 *) Исправление: при отсутствии ответа ngx_http_memcached_module
924 возвращал в теле ответа строку "END" вместо 404-ой страницы по
925 умолчанию; ошибка появилась в 0.7.18.
926 Спасибо Максиму Дунину.
927
928 *) Исправление: при проксировании SMPT nginx выдавал сообщение
929 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
930 Спасибо Максиму Дунину.
931
932
933 Изменения в nginx 0.7.30 24.12.2008
934
935 *) Исправление: в рабочем процессе происходил segmentation fault, если
936 в директивах fastcgi_pass или proxy_pass использовались переменные и
937 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
938
939
940 Изменения в nginx 0.7.29 24.12.2008
941
942 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
943 переменные при использовании unix domain сокетов.
944
945 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
946
947 *) Исправление: ответ "100 Continue" выдавался для запросов версии
948 HTTP/1.0;
949 Спасибо Максиму Дунину.
950
951 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
952 под Cygwin.
953
954
955 Изменения в nginx 0.7.28 22.12.2008
956
957 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
958
959 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
960 с 4 4k/8k на 32 4k или 16 8k.
961
962
963 Изменения в nginx 0.7.27 15.12.2008
964
965 *) Добавление: директива try_files.
966
967 *) Добавление: директива fastcgi_pass поддерживает переменные.
968
969 *) Добавление: теперь директива geo может брать адрес из переменной.
970 Спасибо Андрею Нигматулину.
971
972 *) Добавление: теперь модификатор location'а можно указывать без
973 пробела перед названием.
974
975 *) Добавление: переменная $upstream_response_length.
976
977 *) Исправление: теперь директива add_header не добавляет пустое
978 значение.
979
980 *) Исправление: при запросе файла нулевой длины nginx закрывал
981 соединение, ничего не передав; ошибка появилась в 0.7.25.
982
983 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
984 каталог.
985
986 *) Исправление: если в сервере не был описан ни один именованный
987 location, но такой location использовался в директиве error_page, то
988 в рабочем процессе происходил segmentation fault.
989 Спасибо Сергею Боченкову.
990
991
992 Изменения в nginx 0.7.26 08.12.2008
993
994 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
995
996
997 Изменения в nginx 0.7.25 08.12.2008
998
999 *) Изменение: в обработке подзапросов.
1000
1001 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
1002 заголовке запроса.
1003
1004 *) Исправление: теперь директивы limit_req и limit_conn указывают
1005 причину запрета запроса.
1006
1007 *) Исправление: в параметре delete директивы geo.
1008
1009
1010 Изменения в nginx 0.7.24 01.12.2008
1011
1012 *) Добавление: директива if_modified_since.
1013
1014 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
1015 ответом сервер передавал много сообщений в stderr.
1016
1017 *) Исправление: переменные "$cookie_..." не работали в SSI and в
1018 перловом модуле.
1019
1020
1021 Изменения в nginx 0.7.23 27.11.2008
1022
1023 *) Добавление: параметры delete и ranges в директиве geo.
1024
1025 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
1026
1027 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
1028
1029
1030 Изменения в nginx 0.7.22 20.11.2008
1031
1032 *) Добавление: параметр none в директиве smtp_auth.
1033 Спасибо Максиму Дунину.
1034
1035 *) Добавление: переменные "$cookie_...".
1036
1037 *) Исправление: директива directio не работала с файловой системой XFS.
1038
1039 *) Исправление: resolver не понимал большие DNS-ответы.
1040 Спасибо Zyb.
1041
1042
1043 Изменения в nginx 0.7.21 11.11.2008
1044
1045 *) Изменения в модуле ngx_http_limit_req_module.
1046
1047 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
1048 Спасибо Денису Латыпову.
1049
1050 *) Изменение: совместимость с glibc 2.3.
1051 Спасибо Eric Benson и Максиму Дунину.
1052
1053 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
1054 ошибка появилась в 0.7.6.
1055
1056
1057 Изменения в nginx 0.7.20 10.11.2008
1058
1059 *) Изменения в модуле ngx_http_gzip_filter_module.
1060
1061 *) Добавление: модуль ngx_http_limit_req_module.
1062
1063 *) Исправление: на платформах sparc и ppc рабочие процессы могли
1064 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
1065 Спасибо Максиму Дунину.
1066
1067 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
1068 работали; ошибка появилась в 0.7.12.
1069
1070 *) Исправление: при использовании HTTPS запросы могли завершаться с
1071 ошибкой "bad write retry".
1072
1073 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
1074 location'ов с именами меньше 3 символов.
1075
1076 *) Исправление: переменная $server_addr могла не иметь значения.
1077
1078
1079 Изменения в nginx 0.7.19 13.10.2008
1080
1081 *) Исправление: обновление номера версии.
1082
1083
1084 Изменения в nginx 0.7.18 13.10.2008
1085
1086 *) Изменение: директива underscores_in_headers; теперь nginx по
1087 умолчанию не разрешает подчёркивания в именах строк в заголовке
1088 запроса клиента.
1089
1090 *) Добавление: модуль ngx_http_secure_link_module.
1091
1092 *) Добавление: директива real_ip_header поддерживает любой заголовок.
1093
1094 *) Добавление: директива log_subrequest.
1095
1096 *) Добавление: переменная $realpath_root.
1097
1098 *) Добавление: параметры http_502 и http_504 в директиве
1099 proxy_next_upstream.
1100
1101 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
1102 fastcgi_next_upstream не работал.
1103
1104 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
1105 для запросов HEAD.
1106
1107 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
1108
1109
1110 Изменения в nginx 0.7.17 15.09.2008
1111
1112 *) Добавление: директива directio теперь работает на Linux.
1113
1114 *) Добавление: переменная $pid.
1115
1116 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
1117 при использовании open_file_cache.
1118
1119 *) Исправление: access_log с переменными не работал на Linux; ошибка
1120 появилась в 0.7.7.
1121
1122 *) Исправление: модуль ngx_http_charset_module не понимал название
1123 кодировки в кавычках, полученное от бэкенда.
1124
1125
1126 Изменения в nginx 0.7.16 08.09.2008
1127
1128 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
1129 появилась в 0.7.15.
1130
1131
1132 Изменения в nginx 0.7.15 08.09.2008
1133
1134 *) Добавление: модуль ngx_http_random_index_module.
1135
1136 *) Добавление: директива directio оптимизирована для запросов файлов,
1137 начинающихся с произвольной позиции.
1138
1139 *) Добавление: директива directio при необходимости запрещает
1140 использование sendfile.
1141
1142 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
1143 заголовке запроса клиента.
1144
1145
1146 Изменения в nginx 0.7.14 01.09.2008
1147
1148 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
1149 имеют значений по умолчанию.
1150
1151 *) Добавление: директива listen поддерживает параметр ssl.
1152
1153 *) Добавление: теперь при переконфигурации nginx учитывает изменение
1154 временной зоны на FreeBSD и Linux.
1155
1156 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
1157 прочие, не устанавливались, если сервером по умолчанию был не первый
1158 сервер.
1159
1160 *) Исправление: при использовании в качестве аргументов части URI,
1161 выделенного с помощью директивы rewrite, эти аргументы не
1162 экранировались.
1163
1164 *) Исправление: улучшения тестирования правильности конфигурационного
1165 файла.
1166
1167
1168 Изменения в nginx 0.7.13 26.08.2008
1169
1170 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
1171 в 0.7.12.
1172
1173
1174 Изменения в nginx 0.7.12 26.08.2008
1175
1176 *) Добавление: директива server_name поддерживает пустое имя "".
1177
1178 *) Добавление: директива gzip_disable поддерживает специальную маску
1179 msie6.
1180
1181 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
1182 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
1183 Спасибо Максиму Дунину.
1184
1185 *) Исправление: при перенаправлении запроса с помощью директивы
1186 error_page терялось тело запроса.
1187
1188 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
1189 директивы error_page возвращался полный ответ.
1190
1191 *) Исправление: метод $r->header_in() не возвращал значения строк
1192 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
1193 появилась в 0.7.0.
1194
1195
1196 Изменения в nginx 0.7.11 18.08.2008
1197
1198 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
1199 MIME-типом text/css.
1200
1201 *) Добавление: теперь nginx возвращает код 405 для метода POST при
1202 запросе статического файла, только если файл существует.
1203
1204 *) Добавление: директива proxy_ssl_session_reuse.
1205
1206 *) Исправление: после перенаправления запроса с помощью
1207 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
1208 оригинальный запрос.
1209
1210 *) Исправление: если у каталога были права доступа только на поиск
1211 файлов и первый индексный файл отсутствовал, то nginx возвращал
1212 ошибку 500.
1213
1214 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
1215 0.7.1.
1216
1217
1218 Изменения в nginx 0.7.10 13.08.2008
1219
1220 *) Исправление: ошибок в директивах addition_types, charset_types,
1221 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
1222 появились в 0.7.9.
1223
1224 *) Исправление: рекурсивной error_page для 500 ошибки.
1225
1226 *) Исправление: теперь модуль ngx_http_realip_module устанавливает
1227 адрес не для всего keepalive соединения, а для каждого запроса по
1228 этому соединению.
1229
1230
1231 Изменения в nginx 0.7.9 12.08.2008
1232
1233 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
1234 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
1235 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
1236
1237 *) Добавление: директивы charset_types и addition_types.
1238
1239 *) Добавление: теперь директивы gzip_types, ssi_types и
1240 sub_filter_types используют хэш.
1241
1242 *) Добавление: модуль ngx_cpp_test_module.
1243
1244 *) Добавление: директива expires поддерживает суточное время.
1245
1246 *) Добавление: улучшения и исправления в модуле
1247 ngx_http_xslt_module.
1248 Спасибо Денису Латыпову и Максиму Дунину.
1249
1250 *) Исправление: директива log_not_found не работала при поиске
1251 индексных файлов.
1252
1253 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
1254 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
1255
1256 *) Исправление: если в директивах server_name, valid_referers и map
1257 использовалась маска вида "*.domain.tld" и при этом полное имя вида
1258 "domain.tld" не было описано, то это имя попадало под маску; ошибка
1259 появилась в 0.3.18.
1260
1261
1262 Изменения в nginx 0.7.8 04.08.2008
1263
1264 *) Добавление: модуль ngx_http_xslt_module.
1265
1266 *) Добавление: переменные "$arg_...".
1267
1268 *) Добавление: поддержка directio в Solaris.
1269 Спасибо Ivan Debnar.
1270
1271 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
1272 в заголовке ответа без строки статуса, то nginx использует код
1273 статуса 302.
1274 Спасибо Максиму Дунину.
1275
1276
1277 Изменения в nginx 0.7.7 30.07.2008
1278
1279 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
1280 временной.
1281
1282 *) Изменение: значением переменной $ssl_client_cert теперь является
1283 сертификат, перед каждой строкой которого, кроме первой, вставляется
1284 символ табуляции; неизменённый сертификат доступен через переменную
1285 $ssl_client_raw_cert.
1286
1287 *) Добавление: параметр ask директивы ssl_verify_client.
1288
1289 *) Добавление: улучшения в обработке byte-range.
1290 Спасибо Максиму Дунину.
1291
1292 *) Добавление: директива directio.
1293 Спасибо Jiang Hong.
1294
1295 *) Добавление: поддержка sendfile() в MacOSX 10.5.
1296
1297 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
1298 делается сравнение без учёта регистра символов; однако, сравнение
1299 ограничено только однобайтными locale'ями.
1300
1301 *) Исправление: соединения почтового прокси-сервера зависали в режиме
1302 SSL, если использовались методы select, poll или /dev/poll.
1303
1304 *) Исправление: ошибки при использовании кодировки UTF-8 в
1305 ngx_http_autoindex_module.
1306
1307
1308 Изменения в nginx 0.7.6 07.07.2008
1309
1310 *) Исправление: теперь при использовании переменных в директиве
1311 access_log всегда проверяется существовании root'а для запроса.
1312
1313 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
1314 значений в аргументах запроса.
1315
1316
1317 Изменения в nginx 0.7.5 01.07.2008
1318
1319 *) Исправления в поддержке переменных в директиве access_log; ошибки
1320 появились в 0.7.4.
1321
1322 *) Исправление: nginx не собирался с параметром
1323 --without-http_gzip_module; ошибка появилась в 0.7.3.
1324 Спасибо Кириллу Коринскому.
1325
1326 *) Исправление: при совместном использовании sub_filter и SSI ответы
1327 могли передаваться неверно.
1328
1329
1330 Изменения в nginx 0.7.4 30.06.2008
1331
1332 *) Добавление: директива access_log поддерживает переменные.
1333
1334 *) Добавление: директива open_log_file_cache.
1335
1336 *) Добавление: ключ -g.
1337
1338 *) Добавление: поддержка строки "Expect" в заголовке запроса.
1339
1340 *) Исправление: большие включения в SSI могли передавались не полностью.
1341
1342
1343 Изменения в nginx 0.7.3 23.06.2008
1344
1345 *) Изменение: MIME-тип для расширения rss изменён на
1346 "application/rss+xml".
1347
1348 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
1349 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
1350
1351 *) Добавление: теперь при использовании протокола "https://" в
1352 директиве rewrite автоматически делается редирект.
1353
1354 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
1355 ошибка появилась в 0.6.9.
1356
1357
1358 Изменения в nginx 0.7.2 16.06.2008
1359
1360 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
1361
1362 *) Добавление: директива ssl_dhparam.
1363
1364 *) Добавление: переменная $ssl_client_cert.
1365 Спасибо Manlio Perillo.
1366
1367 *) Исправление: после изменения URI с помощью директивы rewrite nginx
1368 не искал новый location; ошибка появилась в 0.7.1.
1369 Спасибо Максиму Дунину.
1370
1371 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
1372 появилась в 0.7.1.
1373
1374 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
1375 nginx не добавлял аргументы из оригинального запроса.
1376
1377
1378 Изменения в nginx 0.7.1 26.05.2008
1379
1380 *) Изменение: теперь поиск location'а делается с помощью дерева.
1381
1382 *) Изменение: директива optimize_server_names упразднена в связи с
1383 появлением директивы server_name_in_redirect.
1384
1385 *) Изменение: некоторые давно устаревшие директивы больше не
1386 поддерживаются.
1387
1388 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь
1389 этот параметр используется по умолчанию.
1390 Спасибо Rob Mueller.
1391
1392 *) Исправление: рабочие процессы могли не реагировать на сигналы
1393 переконфигурации и ротации логов.
1394
1395 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
1396 Спасибо Roxis.
1397
1398
1399 Изменения в nginx 0.7.0 19.05.2008
1400
1401 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
1402 записываются в виде \xXX.
1403 Спасибо Максиму Дунину.
1404
1405 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
1406 запроса.
1407
1408 *) Добавление: директива expires поддерживает флаг modified.
1409
1410 *) Добавление: переменные $uid_got и $uid_set можно использовать на
1411 любой стадии обработки запроса.
1412
1413 *) Добавление: переменная $hostname.
1414 Спасибо Андрею Нигматулину.
1415
1416 *) Добавление: поддержка DESTDIR.
1417 Спасибо Todd A. Fisher и Andras Voroskoi.
1418
1419 *) Исправление: при использовании keepalive на Linux в рабочем процессе
1420 мог произойти segmentation fault.
1421
1422
1423 Изменения в nginx 0.6.31 12.05.2008
1424
1425 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
1426 заголовка ответ была в конце записи FastCGI; ошибка появилась в
1427 0.6.2.
1428 Спасибо Сергею Серову.
1429
1430 *) Исправление: при удалении файла и использовании директивы
1431 open_file_cache_errors off в рабочем процессе мог произойти
1432 segmentation fault.
1433
1434
1435 Изменения в nginx 0.6.30 29.04.2008
1436
1437 *) Изменение: теперь, если маске, заданной в директиве include, не
1438 соответствует ни один файл, то nginx не выдаёт ошибку.
1439
1440 *) Добавление: теперь время в директивах можно задавать без пробела,
1441 например, "1h50m".
1442
1443 *) Исправление: утечек памяти, если директива ssl_verify_client имела
1444 значение on.
1445 Спасибо Chavelle Vincent.
1446
1447 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
1448 вывод.
1449
1450 *) Исправление: директива error_page не воспринимала параметры в
1451 перенаправляемом URI.
1452
1453 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
1454 в бинарном режиме.
1455
1456 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
1457 0.6.15.
1458
1459
1460 Изменения в nginx 0.6.29 18.03.2008
1461
1462 *) Добавление: модуль ngx_google_perftools_module.
1463
1464 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
1465 платформах; ошибка появилась в 0.6.27.
1466
1467
1468 Изменения в nginx 0.6.28 13.03.2008
1469
1470 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
1471
1472
1473 Изменения в nginx 0.6.27 12.03.2008
1474
1475 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
1476 rtsig.
1477
1478 *) Изменение: теперь при перенаправлении запроса в именованный location
1479 с помощью директивы error_page метод запроса не изменяется.
1480
1481 *) Добавление: директивы resolver и resolver_timeout в SMTP
1482 прокси-сервере.
1483
1484 *) Добавление: директива post_action поддерживает именованные
1485 location'ы.
1486
1487 *) Исправление: при перенаправлении запроса из location'а c
1488 обработчиком proxy, FastCGI или memcached в именованный location со
1489 статическим обработчиком в рабочем процессе происходил segmentation
1490 fault.
1491
1492 *) Исправление: браузеры не повторяли SSL handshake, если при первом
1493 handshake не оказалось правильного клиентского сертификата.
1494 Спасибо Александру Инюхину.
1495
1496 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
1497 error_page без изменения кода ошибки nginx пытался выделить очень
1498 много памяти.
1499
1500 *) Исправление: утечки памяти в долгоживущих небуфферизированных
1501 соединениях.
1502
1503 *) Исправление: утечки памяти в resolver'е.
1504
1505 *) Исправление: при перенаправлении запроса из location'а c
1506 обработчиком proxy в другой location с обработчиком proxy в рабочем
1507 процессе происходил segmentation fault.
1508
1509 *) Исправление: ошибки в кэшировании переменных $proxy_host и
1510 $proxy_port.
1511 Спасибо Сергею Боченкову.
1512
1513 *) Исправление: директива proxy_pass с переменными использовала порт,
1514 описанной в другой директиве proxy_pass без переменных, но с таким
1515 же именем хоста.
1516 Спасибо Сергею Боченкову.
1517
1518 *) Исправление: во время переконфигурации на некоторых 64-битном
1519 платформах в лог записывался alert "sendmsg() failed (9: Bad file
1520 descriptor)".
1521
1522 *) Исправление: при повторном использовании в SSI пустого block'а в
1523 качестве заглушки в рабочем процессе происходил segmentation fault.
1524
1525 *) Исправление: ошибки при копировании части URI, содержащего
1526 экранированные символы, в аргументы.
1527
1528
1529 Изменения в nginx 0.6.26 11.02.2008
1530
1531 *) Исправление: директивы proxy_store и fastcgi_store не проверяли
1532 длину ответа.
1533
1534 *) Исправление: при использовании большого значения в директиве expires
1535 в рабочем процессе происходил segmentation fault.
1536 Спасибо Joaquin Cuenca Abela.
1537
1538 *) Исправление: nginx неверно определял длину строки кэша на
1539 Pentium 4.
1540 Спасибо Геннадию Махомеду.
1541
1542 *) Исправление: в проксированных подзапросах и подзапросах к
1543 FastCGI-серверу вместо метода GET использовался оригинальный метод
1544 клиента.
1545
1546 *) Исправление: утечки сокетов в режиме HTTPS при использовании
1547 отложенного accept'а.
1548 Спасибо Ben Maurer.
1549
1550 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown()
1551 failed (SSL: )"; ошибка появилась в 0.6.23.
1552
1553 *) Исправление: при использовании HTTPS запросы могли завершаться с
1554 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
1555
1556
1557 Изменения в nginx 0.6.25 08.01.2008
1558
1559 *) Изменение: вместо специального параметра "*" в директиве server_name
1560 теперь используется директива server_name_in_redirect.
1561
1562 *) Изменение: в качестве основного имени в директиве server_name теперь
1563 можно использовать имена с масками и регулярными выражениями.
1564
1565 *) Изменение: директива satisfy_any заменена директивой satisfy.
1566
1567 *) Изменение: после переконфигурации старые рабочие процесс могли
1568 сильно нагружать процессор при запуске под Linux OpenVZ.
1569
1570 *) Добавление: директива min_delete_depth.
1571
1572 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
1573
1574 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
1575 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
1576
1577 *) Исправление: утечки сокетов в режиме HTTPS при использовании
1578 отложенного accept'а.
1579 Спасибо Ben Maurer.
1580
1581 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка
1582 появилась в 0.6.23.
1583
1584
1585 Изменения в nginx 0.6.24 27.12.2007
1586
1587 *) Исправление: при использовании HTTPS в рабочем процессе мог
1588 произойти segmentation fault; ошибка появилась в 0.6.23.
1589
1590
1591 Изменения в nginx 0.6.23 27.12.2007
1592
1593 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
1594 параметр используется по умолчанию.
1595
1596 *) Изменение: директива open_file_cache_retest переименована в
1597 open_file_cache_valid.
1598
1599 *) Добавление: директива open_file_cache_min_uses.
1600
1601 *) Добавление: модуль ngx_http_gzip_static_module.
1602
1603 *) Добавление: директива gzip_disable.
1604
1605 *) Добавление: директиву memcached_pass можно использовать внутри блока
1606 if.
1607
1608 *) Исправление: если внутри одного location'а использовались директивы
1609 "memcached_pass" и "if", то в рабочем процессе происходил
1610 segmentation fault.
1611
1612 *) Исправление: если при использовании директивы satisfy_any on" были
1613 заданы директивы не всех модулей доступа, то заданные директивы не
1614 проверялись.
1615
1616 *) Исправление: параметры, заданные регулярным выражением в директиве
1617 valid_referers, не наследовалась с предыдущего уровня.
1618
1619 *) Исправление: директива post_action не работала, если запрос
1620 завершался с кодом 499.
1621
1622 *) Исправление: оптимизация использования 16K буфера для
1623 SSL-соединения.
1624 Спасибо Ben Maurer.
1625
1626 *) Исправление: STARTTLS в режиме SMTP не работал.
1627 Спасибо Олегу Мотиенко.
1628
1629 *) Исправление: при использовании HTTPS запросы могли завершаться с
1630 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
1631
1632
1633 Изменения в nginx 0.6.22 19.12.2007
1634
1635 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
1636 значения, скопированные в память, выделенную perl'ом.
1637
1638 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
1639 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
1640 время переконфигурации основной процесс аварийно выходил; ошибка
1641 появилась в 0.5.9.
1642 Спасибо Борису Жмурову.
1643
1644 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
1645 неверные результаты выделения в регулярных выражениях.
1646
1647 *) Исправление: если метод $r->has_request_body() вызывался для
1648 запроса, у которого небольшое тело запроса было уже полностью
1649 получено, то в рабочем процессе происходил segmentation fault.
1650
1651 *) Исправление: large_client_header_buffers не освобождались перед
1652 переходом в состояние keep-alive.
1653 Спасибо Олександру Штепе.
1654
1655 *) Исправление: в переменной $upstream_addr не записывался последний
1656 адрес; ошибка появилась в 0.6.18.
1657
1658 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
1659 теперь она возвращает ошибку 502, которую можно направить на
1660 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
1661
1662 *) Исправление: при использовании директивы fastcgi_catch_stderr в
1663 основном процессе происходил segmentation fault; ошибка появилась в
1664 0.6.10.
1665 Спасибо Manlio Perillo.
1666
1667
1668 Изменения в nginx 0.6.21 03.12.2007
1669
1670 *) Изменение: если в значениях переменных директивы proxy_pass
1671 используются только IP-адреса, то указывать resolver не нужно.
1672
1673 *) Исправление: при использовании директивы proxy_pass c URI-частью в
1674 рабочем процессе мог произойти segmentation fault; ошибка появилась
1675 в 0.6.19.
1676
1677 *) Исправление: если resolver использовался на платформах, не
1678 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
1679 response".
1680 Спасибо Андрею Нигматулину.
1681
1682 *) Исправление: При использовании переменной $server_protocol в
1683 FastCGI-параметрах и запросе, длина которого была близка к значению
1684 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
1685 the request record is too big".
1686
1687 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
1688 nginx возвращал обычный ответ.
1689
1690
1691 Изменения в nginx 0.6.20 28.11.2007
1692
1693 *) Исправление: при использовании директивы proxy_pass c URI-частью в
1694 рабочем процессе мог произойти segmentation fault; ошибка появилась
1695 в 0.6.19.
1696
1697
1698 Изменения в nginx 0.6.19 27.11.2007
1699
1700 *) Исправление: версия 0.6.18 не собиралась.
1701
1702
1703 Изменения в nginx 0.6.18 27.11.2007
1704
1705 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с
1706 номером процесса добавляет микросекунды на время старта.
1707
1708 *) Изменение: в error_log теперь записывается полная строка запроса
1709 вместо только URI.
1710
1711 *) Добавление: директива proxy_pass поддерживает переменные.
1712
1713 *) Добавление: директивы resolver и resolver_timeout.
1714
1715 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
1716 заголовке ответа строку "Last-Modified".
1717
1718 *) Исправление: директива limit_rate не позволяла передавать на полной
1719 скорости, даже если был указан очень большой лимит.
1720
1721
1722 Изменения в nginx 0.6.17 15.11.2007
1723
1724 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
1725 Спасибо Александру Инюхину.
1726
1727 *) Исправление: при использовании директивы msie_refresh повторно
1728 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
1729
1730 *) Исправление: директива autoindex не работала при использовании
1731 "alias /".
1732
1733 *) Исправление: при использовании подзапросов в рабочем процессе мог
1734 произойти segmentation fault.
1735
1736 *) Исправление: при использовании SSL и gzip большие ответы могли
1737 передаваться не полностью.
1738
1739 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
1740 то переменная $status была равна 0.
1741
1742
1743 Изменения в nginx 0.6.16 29.10.2007
1744
1745 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
1746 Спасибо Илье Новикову.
1747
1748 *) Исправление: если в директиве error_page использовался символ "?",
1749 то он экранировался при проксировании запроса; ошибка появилась в
1750 0.6.11.
1751
1752 *) Исправление: совместимость с mget.
1753
1754
1755 Изменения в nginx 0.6.15 22.10.2007
1756
1757 *) Добавление: совместимость с Cygwin.
1758 Спасибо Владимиру Кутакову.
1759
1760 *) Добавление: директива merge_slashes.
1761
1762 *) Добавление: директива gzip_vary.
1763
1764 *) Добавление: директива server_tokens.
1765
1766 *) Исправление: nginx не раскодировал URI в команде SSI include.
1767
1768 *) Исправление: при использовании переменной в директивах charset или
1769 source_charset на старте или во время переконфигурации происходил
1770 segmentation fault,
1771
1772 *) Исправление: nginx возвращал ошибку 400 на запросы вида
1773 "GET http://www.domain.com HTTP/1.0".
1774 Спасибо James Oakley.
1775
1776 *) Исправление: после перенаправления запроса с телом запроса с помощью
1777 директивы error_page nginx пытался снова прочитать тело запроса;
1778 ошибка появилась в 0.6.7.
1779
1780 *) Исправление: в рабочем процессе происходил segmentation fault, если
1781 у сервера, обрабатывающему запрос, не был явно определён
1782 server_name; ошибка появилась в 0.6.7.
1783
1784
1785 Изменения в nginx 0.6.14 15.10.2007
1786
1787 *) Изменение: теперь по умолчанию команда SSI echo использует
1788 кодирование entity.
1789
1790 *) Добавление: параметр encoding в команде SSI echo.
1791
1792 *) Добавление: директиву access_log можно использовать внутри блока
1793 limit_except.
1794
1795 *) Исправление: если все сервера апстрима оказывались недоступными, то
1796 до восстановления работоспособности у всех серверов вес становился
1797 равным одному; ошибка появилась в 0.6.6.
1798
1799 *) Исправление: при использовании переменных $date_local и $date_gmt
1800 вне модуля ngx_http_ssi_filter_module в рабочем процессе происходил
1801 segmentation fault.
1802
1803 *) Исправление: при использовании включённом отладочном логе в рабочем
1804 процессе мог произойти segmentation fault.
1805 Спасибо Андрею Нигматулину.
1806
1807 *) Исправление: ngx_http_memcached_module не устанавливал
1808 $upstream_response_time.
1809 Спасибо Максиму Дунину.
1810
1811 *) Исправление: рабочий процесс мог зациклиться при использовании
1812 memcached.
1813
1814 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
1815 строке "Connection" в заголовке запроса только, если они были в
1816 нижнем регистре; ошибка появилась в 0.6.11.
1817
1818 *) Исправление: sub_filter не работал с пустой строкой замены.
1819
1820 *) Исправление: в парсинге sub_filter.
1821
1822
1823 Изменения в nginx 0.6.13 24.09.2007
1824
1825 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
1826 использовался autoindex
1827 Спасибо Arkadiusz Patyk.
1828
1829
1830 Изменения в nginx 0.6.12 21.09.2007
1831
1832 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
1833 и smtp.
1834
1835 *) Добавление: параметры конфигурации --without-mail_pop3_module,
1836 --without-mail_imap_module и --without-mail_smtp_module.
1837
1838 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer
1839 модуля ngx_mail_smtp_module.
1840
1841 *) Исправление: wildcard в конце имени сервера не работали; ошибка
1842 появилась в 0.6.9.
1843
1844 *) Исправление: при использовании разделяемой библиотеки PCRE,
1845 расположенной в нестандартном месте, nginx не запускался на Solaris.
1846
1847 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
1848 скрывали строки заголовка ответа с именем больше 32 символов.
1849 Спасибо Manlio Perillo.
1850
1851
1852 Изменения в nginx 0.6.11 11.09.2007
1853
1854 *) Исправление: счётчик активных соединений всегда рос при
1855 использовании почтового прокси-сервера.
1856
1857 *) Исправление: если бэкенд возвращал только заголовок ответа при
1858 небуферизированном проксировании, то nginx закрывал соединение с
1859 бэкендом по таймауту.
1860
1861 *) Исправление: nginx не поддерживал несколько строк "Connection" в
1862 заголовке запроса.
1863
1864 *) Исправление: если в сервере апстрима был задан max_fails, то после
1865 первой же неудачной попытки вес сервера навсегда становился равным
1866 одному; ошибка появилась в 0.6.6.
1867
1868
1869 Изменения в nginx 0.6.10 03.09.2007
1870
1871 *) Добавление: директивы open_file_cache, open_file_cache_retest и
1872 open_file_cache_errors.
1873
1874 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
1875
1876 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
1877 методе $r->send_http_header(), не добавлялась кодировка, указанная в
1878 директиве charset.
1879
1880 *) Исправление: при использовании метода /dev/poll в рабочем процессе
1881 мог произойти segmentation fault.
1882
1883
1884 Изменения в nginx 0.6.9 28.08.2007
1885
1886 *) Исправление: рабочий процесс мог зациклиться при использовании
1887 протокола HTTPS; ошибка появилась в 0.6.7.
1888
1889 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
1890 не запускался при использовании wildcard в конце имени сервера.
1891
1892 *) Исправление: директива ip_hash могла неверно помечать сервера как
1893 нерабочие.
1894
1895 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
1896
1897
1898 Изменения в nginx 0.6.8 20.08.2007
1899
1900 *) Изменение: теперь nginx пытается установить директивы
1901 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
1902 worker_rlimit_sigpending без привилегий root'а.
1903
1904 *) Изменение: теперь nginx экранирует символы пробела и "%" при
1905 передаче запроса серверу аутентификации почтового прокси-сервера.
1906
1907 *) Изменение: теперь nginx экранирует символ "%" в переменной
1908 $memcached_key.
1909
1910 *) Исправление: при указании относительного пути к конфигурационному
1911 файлу в качестве параметра ключа -c nginx определял путь
1912 относительно конфигурационного префикса; ошибка появилась в 0.6.6.
1913
1914 *) Исправление: nginx не работал на FreeBSD/sparc64.
1915
1916
1917 Изменения в nginx 0.6.7 15.08.2007
1918
1919 *) Изменение: теперь пути, указанные в директивах include,
1920 auth_basic_user_file, perl_modules, ssl_certificate,
1921 ssl_certificate_key и ssl_client_certificate, определяются
1922 относительно каталога конфигурационного файла nginx.conf, а не
1923 относительно префикса.
1924
1925 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
1926
1927 *) Изменение: для обновления на лету версий 0.1.x создан специальный
1928 сценарий make upgrade1.
1929
1930 *) Добавление: директивы server_name и valid_referers поддерживают
1931 регулярные выражения.
1932
1933 *) Добавление: директива server в блоке upstream поддерживает параметр
1934 backup.
1935
1936 *) Добавление: модуль ngx_http_perl_module поддерживает метод
1937 $r->discard_request_body.
1938
1939 *) Добавление: директива "add_header Last-Modified ..." меняет строку
1940 "Last-Modified" в заголовке ответа.
1941
1942 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
1943 отличным от 200, и после этого запроса соединение переходило в
1944 состояние keep-alive, то на следующий запрос nginx возвращал 400.
1945
1946 *) Исправление: если в директиве auth_http был задан неправильный
1947 адрес, то в рабочем процессе происходил segmentation fault.
1948
1949 *) Исправление: теперь по умолчанию nginx использует значение 511 для
1950 listen backlog на всех платформах, кроме FreeBSD.
1951 Спасибо Jiang Hong.
1952
1953 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
1954 upstream был помечен как down; ошибка появилась в 0.6.6.
1955
1956 *) Исправление: sendfilev() в Solaris теперь не используется при
1957 передаче тела запроса FastCGI-серверу через unix domain сокет.
1958
1959
1960 Изменения в nginx 0.6.6 30.07.2007
1961
1962 *) Добавление: параметр --sysconfdir=PATH в configure.
1963
1964 *) Добавление: именованные location'ы.
1965
1966 *) Добавление: переменную $args можно устанавливать с помощью set.
1967
1968 *) Добавление: переменная $is_args.
1969
1970 *) Исправление: равномерное распределение запросов к апстримам с
1971 большими весами.
1972
1973 *) Исправление: если клиент в почтовом прокси-сервере закрывал
1974 соединение, то nginx мог не закрывать соединение с бэкендом.
1975
1976 *) Исправление: при использовании одного хоста в качестве бэкендов для
1977 протоколов HTTP и HTTPS без явного указания портов, nginx
1978 использовал только один порт - 80 или 443.
1979
1980 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
1981 более ранними версиями; ошибка появилась в 0.6.4.
1982
1983
1984 Изменения в nginx 0.6.5 23.07.2007
1985
1986 *) Добавление: переменная $nginx_version.
1987 Спасибо Николаю Гречуху.
1988
1989 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в
1990 режиме IMAP.
1991 Спасибо Максиму Дунину.
1992
1993 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
1994 SMTP.
1995 Спасибо Максиму Дунину.
1996
1997 *) Исправление: теперь nginx экранирует пробел в переменной
1998 $memcached_key.
1999
2000 *) Исправление: nginx неправильно собирался Sun Studio на
2001 Solaris/amd64.
2002 Спасибо Jiang Hong.
2003
2004 *) Исправление: незначительных потенциальных ошибок.
2005 Спасибо Coverity's Scan.
2006
2007
2008 Изменения в nginx 0.6.4 17.07.2007
2009
2010 *) Безопасность: при использовании директивы msie_refresh был возможен
2011 XSS.
2012 Спасибо Максиму Богуку.
2013
2014 *) Изменение: директивы proxy_store и fastcgi_store изменены.
2015
2016 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
2017
2018 *) Исправление: nginx не работал на Solaris/sparc64, если был собран
2019 Sun Studio.
2020 Спасибо Андрею Нигматулину.
2021
2022 *) Изменение: обход ошибки в Sun Studio 12.
2023 Спасибо Jiang Hong.
2024
2025
2026 Изменения в nginx 0.6.3 12.07.2007
2027
2028 *) Добавление: директивы proxy_store и fastcgi_store.
2029
2030 *) Исправление: при использовании директивы auth_http_header в рабочем
2031 процессе мог произойти segmentation fault.
2032 Спасибо Максиму Дунину.
2033
2034 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
2035 не был разрешён, то в рабочем процессе происходил segmentation fault.
2036
2037 *) Исправление: при использовании протокола HTTPS в директиве
2038 proxy_pass в рабочем процессе мог произойти segmentation fault.
2039
2040 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2041 если использовался метод eventport.
2042
2043 *) Исправление: директивы proxy_ignore_client_abort и
2044 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
2045
2046
2047 Изменения в nginx 0.6.2 09.07.2007
2048
2049 *) Исправление: если заголовок ответа был разделён в FastCGI-записях,
2050 то nginx передавал клиенту мусор в таких заголовках.
2051
2052
2053 Изменения в nginx 0.6.1 17.06.2007
2054
2055 *) Исправление: в парсинге SSI.
2056
2057 *) Исправление: при использовании удалённого подзапроса в SSI
2058 последующий подзапрос локального файла мог отдаваться клиенту в
2059 неверном порядке.
2060
2061 *) Исправление: большие включения в SSI, сохранённые во временные
2062 файлы, передавались не полностью.
2063
2064 *) Исправление: значение perl'овой переменной $$ модуля
2065 ngx_http_perl_module было равно номеру главного процесса.
2066
2067
2068 Изменения в nginx 0.6.0 14.06.2007
2069
2070 *) Добавление: директивы "server_name", "map", and "valid_referers"
2071 поддерживают маски вида "www.example.*".
2072
2073
2074 Изменения в nginx 0.5.25 11.06.2007
2075
2076 *) Исправление: nginx не собирался с параметром
2077 --without-http_rewrite_module; ошибка появилась в 0.5.24.
2078
2079
2080 Изменения в nginx 0.5.24 06.06.2007
2081
2082 *) Безопасность: директива ssl_verify_client не работала, если запрос
2083 выполнялся по протоколу HTTP/0.9.
2084
2085 *) Исправление: при использовании сжатия часть ответа могла
2086 передаваться несжатой; ошибка появилась в 0.5.23.
2087
2088
2089 Изменения в nginx 0.5.23 04.06.2007
2090
2091 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
2092 Server Name Indication.
2093
2094 *) Добавление: директива fastcgi_catch_stderr.
2095 Спасибо Николаю Гречуху, проект OWOX.
2096
2097 *) Исправление: на Линуксе в основном процессе происходил segmentation
2098 fault, если два виртуальных сервера должны bind()ится к
2099 пересекающимся портам.
2100
2101 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2102 perl поддерживал потоки, то во время второй переконфигурации
2103 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
2104
2105 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2106
2107
2108 Изменения в nginx 0.5.22 29.05.2007
2109
2110 *) Исправление: большое тело запроса могло не передаваться бэкенду;
2111 ошибка появилась в 0.5.21.
2112
2113
2114 Изменения в nginx 0.5.21 28.05.2007
2115
2116 *) Исправление: если внутри сервера описано больше примерно десяти
2117 location'ов, то location'ы, заданные с помощью регулярного
2118 выражения, могли выполняться не в том, порядке, в каком они описаны.
2119
2120 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
2121 если 33-тий по счёту или последующий бэкенд упал.
2122 Спасибо Антону Поварову.
2123
2124 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64
2125 мог произойти bus error.
2126 Спасибо Андрею Нигматулину.
2127
2128 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2129
2130
2131 Изменения в nginx 0.5.20 07.05.2007
2132
2133 *) Добавление: директива sendfile_max_chunk.
2134
2135 *) Добавление: переменные "$http_...", "$sent_http_..." и
2136 "$upstream_http_..." можно менять директивой set.
2137
2138 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
2139 рабочем процессе мог произойти segmentation fault.
2140
2141 *) Исправление: завершающая строка multipart range ответа передавалась
2142 неверно.
2143 Спасибо Evan Miller.
2144
2145 *) Исправление: nginx не работал на Solaris/sparc64, если был собран
2146 Sun Studio.
2147 Спасибо Андрею Нигматулину.
2148
2149 *) Исправление: модуль ngx_http_perl_module не собирался make в
2150 Solaris.
2151 Спасибо Андрею Нигматулину.
2152
2153
2154 Изменения в nginx 0.5.19 24.04.2007
2155
2156 *) Изменение: значение переменной $request_time теперь записывается с
2157 точностью до миллисекунд.
2158
2159 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
2160 переименован в $r->flush.
2161
2162 *) Добавление: переменная $upstream_addr.
2163
2164 *) Добавление: директивы proxy_headers_hash_max_size и
2165 proxy_headers_hash_bucket_size.
2166 Спасибо Володымыру Костырко.
2167
2168 *) Исправление: при использовании sendfile и limit_rate на 64-битных
2169 платформах нельзя было передавать файлы больше 2G.
2170
2171 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
2172 было передавать файлы больше 2G.
2173
2174
2175 Изменения в nginx 0.5.18 19.04.2007
2176
2177 *) Добавление: модуль ngx_http_sub_filter_module.
2178
2179 *) Добавление: переменные "$upstream_http_...".
2180
2181 *) Добавление: теперь переменные $upstream_status и
2182 $upstream_response_time содержат данные о всех обращениях к
2183 апстримам, сделанным до X-Accel-Redirect.
2184
2185 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2186 perl не поддерживал multiplicity, то после первой переконфигурации и
2187 после получения любого сигнала в основном процессе происходил
2188 segmentation fault; ошибка появилась в 0.5.9.
2189
2190 *) Исправление: если perl не поддерживал multiplicity, то после
2191 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
2192
2193
2194 Изменения в nginx 0.5.17 02.04.2007
2195
2196 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
2197
2198 *) Добавление: теперь nginx поддерживает директиву include внутри блока
2199 types.
2200
2201 *) Исправление: использование переменной $document_root в директиве
2202 root и alias запрещено: оно вызывало рекурсивное переполнение стека.
2203
2204 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2205
2206 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2207 $uri) возвращали старое закэшированное значение.
2208
2209
2210 Изменения в nginx 0.5.16 26.03.2007
2211
2212 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
2213 использовалась сеть класса С.
2214 Спасибо Павлу Ярковому.
2215
2216 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
2217 был указан charset и строка завершалась символом ";", то в рабочем
2218 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
2219
2220 *) Исправление: ошибки "[alert] zero size buf" при работе с
2221 FastCGI-сервером, если тело запроса, записанное во временный файл,
2222 было кратно 32K.
2223
2224 *) Исправление: nginx не собирался на Solaris без параметра
2225 --with-debug; ошибка появилась в 0.5.15.
2226
2227
2228 Изменения в nginx 0.5.15 19.03.2007
2229
2230 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
2231 SMTP-проксирование и директивы smtp_auth, smtp_capablities и
2232 xclient.
2233 Спасибо Антону Южанинову и Максиму Дунину.
2234
2235 *) Добавление: теперь keep-alive соединения закрываются сразу же по
2236 получении сигнала переконфигурации.
2237
2238 *) Изменение: директивы imap и auth переименованы соответственно в mail
2239 и pop3_auth.
2240
2241 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
2242 был разрешён метод APOP, то в рабочем процессе происходил
2243 segmentation fault.
2244
2245 *) Исправление: при использовании директивы starttls only в протоколе
2246 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
2247
2248 *) Исправление: рабочие процессы не выходили после переконфигурации и
2249 не переоткрывали логи, если использовался метод eventport.
2250
2251 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
2252 зациклиться.
2253
2254 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
2255 используются методы eventport или /dev/poll.
2256
2257
2258 Изменения в nginx 0.5.14 23.02.2007
2259
2260 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
2261 конфигурационного файла.
2262
2263
2264 Изменения в nginx 0.5.13 19.02.2007
2265
2266 *) Добавление: методы COPY и MOVE.
2267
2268 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
2269 запросов, переданных по keep-alive соединению.
2270
2271 *) Исправление: nginx не работал на 64-битном big-endian Linux.
2272 Спасибо Андрею Нигматулину.
2273
2274 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
2275 теперь сразу закрывает соединение, а не по таймауту.
2276
2277 *) Исправление: если при использовании метода epoll клиент закрывал
2278 преждевременно соединение со своей стороны, то nginx закрывал это
2279 соединение только по истечении таймаута на передачу.
2280
2281 *) Исправление: nginx не собирался на платформах, отличных от i386,
2282 amd64, sparc и ppc; ошибка появилась в 0.5.8.
2283
2284
2285 Изменения в nginx 0.5.12 12.02.2007
2286
2287 *) Исправление: nginx не собирался на платформах, отличных от i386,
2288 amd64, sparc и ppc; ошибка появилась в 0.5.8.
2289
2290 *) Исправление: при использовании временных файлов в время работы с
2291 FastCGI-сервером в рабочем процессе мог произойти segmentation
2292 fault; ошибка появилась в 0.5.8.
2293
2294 *) Исправление: если переменная $fastcgi_script_name записывалась в
2295 лог, то в рабочем процессе мог произойти segmentation fault.
2296
2297 *) Исправление: ngx_http_perl_module не собирался на Solaris.
2298
2299
2300 Изменения в nginx 0.5.11 05.02.2007
2301
2302 *) Добавление: теперь configure определяет библиотеку PCRE в
2303 MacPorts.
2304 Спасибо Chris McGrath.
2305
2306 *) Исправление: ответ был неверным, если запрашивалось несколько
2307 диапазонов; ошибка появилась в 0.5.6.
2308
2309 *) Исправление: директива create_full_put_path не могла создавать
2310 промежуточные каталоги, если не была установлена директива
2311 dav_access.
2312 Спасибо Evan Miller.
2313
2314 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
2315 записываться код "0".
2316
2317 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
2318 произойти segmentation fault.
2319
2320
2321 Изменения в nginx 0.5.10 26.01.2007
2322
2323 *) Исправление: во время обновления исполняемого файла новый процесс не
2324 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
2325
2326 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
2327 произойти segmentation fault; ошибка появилась в 0.5.1.
2328
2329
2330 Изменения в nginx 0.5.9 25.01.2007
2331
2332 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
2333 использует значение переменной $memcached_key.
2334
2335 *) Добавление: переменная $memcached_key.
2336
2337 *) Добавление: параметр clean в директиве client_body_in_file_only.
2338
2339 *) Добавление: директива env.
2340
2341 *) Добавление: директива sendfile работает внутри блока if.
2342
2343 *) Добавление: теперь при ошибке записи в access_log nginx записывает
2344 сообщение в error_log, но не чаще одного раза в минуту.
2345
2346 *) Исправление: директива "access_log off" не всегда запрещала запись в
2347 лог.
2348
2349
2350 Изменения в nginx 0.5.8 19.01.2007
2351
2352 *) Исправление: если использовалась директива
2353 "client_body_in_file_only on" и тело запроса было небольшое, то мог
2354 произойти segmentation fault.
2355
2356 *) Исправление: происходил segmentation fault, если использовались
2357 директивы "client_body_in_file_only on" и
2358 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
2359 делался переход к следующему бэкенду.
2360
2361 *) Исправление: если при использовании директивы "proxy_buffering off"
2362 соединение с клиентом было неактивно, то оно закрывалось по
2363 таймауту, заданному директивой send_timeout; ошибка появилась в
2364 0.4.7.
2365
2366 *) Исправление: если при использовании метода epoll клиент закрывал
2367 преждевременно соединение со своей стороны, то nginx закрывал это
2368 соединение только по истечении таймаута на передачу.
2369
2370 *) Исправление: ошибки "[alert] zero size buf" при работе с
2371 FastCGI-сервером.
2372
2373 *) Исправление ошибок в директиве limit_zone.
2374
2375
2376 Изменения в nginx 0.5.7 15.01.2007
2377
2378 *) Добавление: оптимизация использования памяти в ssl_session_cache.
2379
2380 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
2381
2382 *) Исправление: на старте или во время переконфигурации происходил
2383 segmentation fault, если директивы ssl_session_cache или limit_zone
2384 использовались на 64-битных платформах.
2385
2386 *) Исправление: при использовании директив add_before_body или
2387 add_after_body происходил segmentation fault, если в заголовке
2388 ответа нет строки "Content-Type".
2389
2390 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
2391 потоков.
2392 Спасибо Дену Иванову.
2393
2394 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
2395
2396
2397 Изменения в nginx 0.5.6 09.01.2007
2398
2399 *) Изменение: теперь модуль ngx_http_index_module игнорирует все
2400 методы, кроме GET, HEAD и POST.
2401
2402 *) Добавление: модуль ngx_http_limit_zone_module.
2403
2404 *) Добавление: переменная $binary_remote_addr.
2405
2406 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module
2407 и ngx_imap_ssl_module.
2408
2409 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
2410
2411 *) Исправление: при использовании $r->sendfile() byte-ranges
2412 передавались неверно.
2413
2414
2415 Изменения в nginx 0.5.5 24.12.2006
2416
2417 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
2418
2419 *) Добавление: ключ -V.
2420
2421 *) Добавление: директива worker_rlimit_core поддерживает указание
2422 размера в K, M и G.
2423
2424 *) Исправление: модуль nginx.pm теперь может устанавливаться
2425 непривилегированным пользователем.
2426
2427 *) Исправление: при использовании методов $r->request_body или
2428 $r->request_body_file мог произойти segmentation fault.
2429
2430 *) Исправление: ошибок, специфичных для платформы ppc.
2431
2432
2433 Изменения в nginx 0.5.4 15.12.2006
2434
2435 *) Добавление: директиву perl можно использовать внутри блока
2436 limit_except.
2437
2438 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
2439 заголовке запроса для метода DELETE.
2440
2441 *) Исправление: при использовании одного параметра в директиве
2442 dav_access nginx мог сообщить об ошибке в конфигурации.
2443
2444 *) Исправление: при использовании переменной $host мог произойти
2445 segmentation fault; ошибка появилась в 0.4.14.
2446
2447
2448 Изменения в nginx 0.5.3 13.12.2006
2449
2450 *) Добавление: модуль ngx_http_perl_module поддерживает методы
2451 $r->status, $r->log_error и $r->sleep.
2452
2453 *) Добавление: метод $r->variable поддерживает переменные, неописанные
2454 в конфигурации nginx'а.
2455
2456 *) Исправление: метод $r->has_request_body не работал.
2457
2458
2459 Изменения в nginx 0.5.2 11.12.2006
2460
2461 *) Исправление: если в директивах proxy_pass использовалось имя,
2462 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
2463 ошибка появилась в 0.5.1.
2464
2465
2466 Изменения в nginx 0.5.1 11.12.2006
2467
2468 *) Исправление: директива post_action могла не работать после
2469 неудачного завершения запроса.
2470
2471 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в
2472 0.4.11.
2473 Спасибо Bron Gondwana.
2474
2475 *) Исправление: при указании в директиве fastcgi_pass имени описанного
2476 upstream'а выдавалось сообщение "no port in upstream"; ошибка
2477 появилась в 0.5.0.
2478
2479 *) Исправление: если в директивах proxy_pass и fastcgi_pass
2480 использовались одинаковых имена серверов, но с разными портами, то
2481 эти директивы использовали первый описанный порт; ошибка появилась в
2482 0.5.0.
2483
2484 *) Исправление: если в директивах proxy_pass и fastcgi_pass
2485 использовались unix domain сокеты, то эти директивы использовали
2486 первый описанный сокет; ошибка появилась в 0.5.0.
2487
2488 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
2489 если он был указан в последней строке файла паролей и после пароля
2490 не было перевода строки, возврата каретки или символа ":".
2491
2492 *) Исправление: переменная $upstream_response_time могла быть равна
2493 "0.000", хотя время обработки было больше 1 миллисекунды.
2494
2495
2496 Изменения в nginx 0.5.0 04.12.2006
2497
2498 *) Изменение: параметры в виде "%name" в директиве log_format больше не
2499 поддерживаются.
2500
2501 *) Изменение: директивы proxy_upstream_max_fails,
2502 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
2503 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
2504 memcached_upstream_fail_timeout больше не поддерживаются.
2505
2506 *) Добавление: директива server в блоке upstream поддерживает параметры
2507 max_fails, fail_timeout и down.
2508
2509 *) Добавление: директива ip_hash в блоке upstream.
2510
2511 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
2512 сервера аутентификации IMAP/POP3 прокси.
2513
2514 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
2515 появилась в 0.4.14.
2516
2517
2518 Изменения в nginx 0.4.14 27.11.2006
2519
2520 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
2521
2522 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
2523 Linux и NetBSD.
2524
2525 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
2526 поддержкой потоков; ошибка появилась в 0.3.38.
2527
2528 *) Исправление: ngx_http_perl_module не работал корректно, если перл
2529 вызывался рекурсивно.
2530
2531 *) Исправление: nginx игнорировал имя сервера в строке запроса.
2532
2533 *) Исправление: если FastCGI сервер передавал много в stderr, то
2534 рабочий процесс мог зациклиться.
2535
2536 *) Исправление: при изменении системного времени переменная
2537 $upstream_response_time могла быть отрицательной.
2538
2539 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
2540 прокси не передавался параметр Auth-Login-Attempt.
2541
2542 *) Исправление: при ошибке соединения с сервером аутентификации
2543 IMAP/POP3 прокси мог произойти segmentation fault.
2544
2545
2546 Изменения в nginx 0.4.13 15.11.2006
2547
2548 *) Добавление: директиву proxy_pass можно использовать внутри блока
2549 limit_except.
2550
2551 *) Добавление: директива limit_except поддерживает все WebDAV методы.
2552
2553 *) Исправление: при использовании директивы add_before_body без
2554 директивы add_after_body ответ передавался не полностью.
2555
2556 *) Исправление: большое тело запроса не принималось, если
2557 использовались метод epoll и deferred accept().
2558
2559 *) Исправление: для ответов модуля ngx_http_autoindex_module не
2560 выставлялась кодировка; ошибка появилась в 0.3.50.
2561
2562 *) Исправление: ошибки "[alert] zero size buf" при работе с
2563 FastCGI-сервером;
2564
2565 *) Исправление: параметр конфигурации --group= игнорировался.
2566 Спасибо Thomas Moschny.
2567
2568 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка
2569 появилась в 0.3.50.
2570
2571
2572 Изменения в nginx 0.4.12 31.10.2006
2573
2574 *) Добавление: модуль ngx_http_perl_module поддерживает метод
2575 $r->variable.
2576
2577 *) Исправление: при включении в ответ большого статического файла с
2578 помощью SSI ответ мог передаваться не полностью.
2579
2580 *) Исправление: nginx не убирал "#fragment" в URI.
2581
2582
2583 Изменения в nginx 0.4.11 25.10.2006
2584
2585 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
2586
2587 *) Добавление: модуль ngx_http_perl_module поддерживает метод
2588 $r->allow_ranges.
2589
2590 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
2591 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
2592
2593
2594 Изменения в nginx 0.4.10 23.10.2006
2595
2596 *) Добавление: POP3 прокси поддерживает APOP.
2597
2598 *) Исправление: при использовании методов select, poll и /dev/poll во
2599 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
2600 нагружал процессор.
2601
2602 *) Исправление: при использовании переменной $server_addr в директиве
2603 map мог произойти segmentation fault.
2604
2605 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
2606 для полных ответов; ошибка появилась в 0.4.7.
2607
2608 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
2609 0.4.9.
2610
2611
2612 Изменения в nginx 0.4.9 13.10.2006
2613
2614 *) Добавление: параметр set в команде SSI include.
2615
2616 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
2617 модуля nginx.pm.
2618
2619
2620 Изменения в nginx 0.4.8 11.10.2006
2621
2622 *) Исправление: если до команды SSI include с параметром wait
2623 выполнялась ещё одна команда SSI include, то параметр wait мог не
2624 работать.
2625
2626 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
2627 полных ответов.
2628 Спасибо Алексею Ковырину.
2629
2630
2631 Изменения в nginx 0.4.7 10.10.2006
2632
2633 *) Добавление: модуль ngx_http_flv_module.
2634
2635 *) Добавление: переменная $request_body_file.
2636
2637 *) Добавление: директивы charset и source_charset поддерживают
2638 переменные.
2639
2640 *) Исправление: если до команды SSI include с параметром wait
2641 выполнялась ещё одна команда SSI include, то параметр wait мог не
2642 работать.
2643
2644 *) Исправление: при использовании директивы "proxy_buffering off" или
2645 при работе с memcached соединения могли не закрываться по таймауту.
2646
2647 *) Исправление: nginx не запускался на 64-битных платформах, отличных
2648 от amd64, sparc64 и ppc64.
2649
2650
2651 Изменения в nginx 0.4.6 06.10.2006
2652
2653 *) Исправление: nginx не запускался на 64-битных платформах, отличных
2654 от amd64, sparc64 и ppc64.
2655
2656 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
2657 chunk'ами, если длина ответа в методе
2658 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
2659
2660 *) Исправление: после перенаправления ошибки с помощью директивы
2661 error_page любая директива модуля ngx_http_rewrite_module возвращала
2662 эту ошибку; ошибка появилась в 0.4.4.
2663
2664
2665 Изменения в nginx 0.4.5 02.10.2006
2666
2667 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
2668 в 0.4.4.
2669
2670
2671 Изменения в nginx 0.4.4 02.10.2006
2672
2673 *) Добавление: переменная $scheme.
2674
2675 *) Добавление: директива expires поддерживает параметр max.
2676
2677 *) Добавление: директива include поддерживает маску "*".
2678 Спасибо Jonathan Dance.
2679
2680 *) Исправление: директива return всегда изменяла код ответа,
2681 перенаправленного директивой error_page.
2682
2683 *) Исправление: происходил segmentation fault, если в методе PUT
2684 передавалось тело нулевой длины.
2685
2686 *) Исправление: при использовании переменных в директиве proxy_redirect
2687 редирект изменялся неверно.
2688
2689
2690 Изменения в nginx 0.4.3 26.09.2006
2691
2692 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью
2693 директивы error_page.
2694
2695 *) Добавление: поддержка Solaris 10 event ports.
2696
2697 *) Добавление: модуль ngx_http_browser_module.
2698
2699 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
2700 помощью директивы error_page мог произойти segmentation fault.
2701
2702 *) Исправление: происходил segmentation fault, если в директиве
2703 proxy_pass использовался unix domain сокет; ошибка появилась в
2704 0.3.47.
2705
2706 *) Исправление: SSI не работал с ответами memcached и
2707 небуферизированными проксированными ответами.
2708
2709 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
2710
2711
2712 Изменения в nginx 0.4.2 14.09.2006
2713
2714 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
2715 появилась в 0.4.1.
2716
2717
2718 Изменения в nginx 0.4.1 14.09.2006
2719
2720 *) Исправление: совместимость с DragonFlyBSD.
2721 Спасибо Павлу Назарову.
2722
2723 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
2724 файлов больше 2G.
2725
2726 *) Добавление: теперь на Linux nginx для статических запросов
2727 использует флаг O_NOATIME.
2728 Спасибо Yusuf Goolamabbas.
2729
2730
2731 Изменения в nginx 0.4.0 30.08.2006
2732
2733 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена
2734 из фазы init module в фазу HTTP postconfiguration.
2735
2736 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
2737 считывается заранее: нужно явно инициировать чтение с помощью метода
2738 $r->has_request_body.
2739
2740 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
2741 DECLINED.
2742
2743 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
2744 заголовка "Date" для метода PUT.
2745
2746 *) Добавление: директива ssi работает внутри блока if.
2747
2748 *) Исправление: происходил segmentation fault, если в директиве index
2749 использовалась переменные и при этом первое имя индексного файла
2750 было без переменных; ошибка появилась в 0.1.29.
2751
2752
2753 Изменения в nginx 0.3.61 28.08.2006
2754
2755 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
2756
2757 *) Добавление: директива msie_refresh.
2758
2759 *) Добавление: директива recursive_error_pages.
2760
2761 *) Исправление: директива rewrite возвращала неправильный редирект,
2762 если редирект включал в себя выделенные закодированные символы из
2763 оригинального URI.
2764
2765
2766 Изменения в nginx 0.3.60 18.08.2006
2767
2768 *) Исправление: во время перенаправления ошибки рабочий процесс мог
2769 зациклиться; ошибка появилась в 0.3.59.
2770
2771
2772 Изменения в nginx 0.3.59 16.08.2006
2773
2774 *) Добавление: теперь можно делать несколько перенаправлений через
2775 директиву error_page.
2776
2777 *) Исправление: директива dav_access не поддерживала три параметра.
2778
2779 *) Исправление: директива error_page не изменяла строку "Content-Type"
2780 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
2781 в 0.3.58.
2782
2783
2784 Изменения в nginx 0.3.58 14.08.2006
2785
2786 *) Добавление: директива error_page поддерживает переменные.
2787
2788 *) Изменение: теперь на Linux используется интерфейс procfs вместо
2789 sysctl.
2790
2791 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
2792 "Content-Type" наследуется из первоначального ответа.
2793
2794 *) Исправление: директива error_page не перенаправляла ошибку 413.
2795
2796 *) Исправление: завершающий "?" не удалял старые аргументы, если в
2797 переписанном URI не было новых аргументов.
2798
2799 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
2800
2801
2802 Изменения в nginx 0.3.57 09.08.2006
2803
2804 *) Добавление: переменная $ssl_client_serial.
2805
2806 *) Исправление: в операторе "!-e" в директиве if.
2807 Спасибо Андриану Буданцову.
2808
2809 *) Исправление: при проверке клиентского сертификата nginx не передавал
2810 клиенту информацию о требуемых сертификатах.
2811
2812 *) Исправление: переменная $document_root не поддерживала переменные в
2813 директиве root.
2814
2815
2816 Изменения в nginx 0.3.56 04.08.2006
2817
2818 *) Добавление: директива dav_access.
2819
2820 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
2821 "!-e", "-x" и "!-x".
2822
2823 *) Исправление: при записи в access_log некоторых передаваемых клиенту
2824 строк заголовков происходил segmentation fault, если запрос
2825 возвращал редирект.
2826
2827
2828 Изменения в nginx 0.3.55 28.07.2006
2829
2830 *) Добавление: параметр stub в команде SSI include.
2831
2832 *) Добавление: команда SSI block.
2833
2834 *) Добавление: скрипт unicode2nginx добавлен в contrib.
2835
2836 *) Исправление: если root был задан только переменной, то корень
2837 задавался относительно префикса сервера.
2838
2839 *) Исправление: если в запросе был "//" или "/.", и после этого
2840 закодированные символы в виде "%XX", то проксируемый запрос
2841 передавался незакодированным.
2842
2843 *) Исправление: метод $r->header_in("Cookie") модуля
2844 ngx_http_perl_module теперь возвращает все строки "Cookie" в
2845 заголовке запроса.
2846
2847 *) Исправление: происходил segmentation fault, если использовался
2848 "client_body_in_file_only on" и делался переход к следующему бэкенду.
2849
2850 *) Исправление: при некоторых условиях во время переконфигурации коды
2851 символов внутри директивы charset_map могли считаться неверными;
2852 ошибка появилась в 0.3.50.
2853
2854
2855 Изменения в nginx 0.3.54 11.07.2006
2856
2857 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
2858
2859 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
2860 memcached_next_upstream поддерживают параметр off.
2861
2862 *) Добавление: директива debug_connection поддерживает запись адресов в
2863 формате CIDR.
2864
2865 *) Исправление: при перекодировании ответа проксированного сервера или
2866 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
2867 полностью.
2868
2869 *) Исправление: переменная $upstream_response_time содержала время
2870 только первого обращения к бэкенду.
2871
2872 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
2873 в 0.3.53.
2874
2875
2876 Изменения в nginx 0.3.53 07.07.2006
2877
2878 *) Изменение: директива add_header добавляет строки в ответы с кодом
2879 204, 301 и 302.
2880
2881 *) Добавление: директива server в блоке upstream поддерживает параметр
2882 weight.
2883
2884 *) Добавление: директива server_name поддерживает маску "*".
2885
2886 *) Добавление: nginx поддерживает тело запроса больше 2G.
2887
2888 *) Исправление: если при использовании "satisfy_any on" клиент успешно
2889 проходил аутентификацию, в лог всё равно записалоcь сообщение
2890 "access forbidden by rule".
2891
2892 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
2893 409.
2894
2895 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
2896 ошибку, nginx продолжал проксирование.
2897
2898
2899 Изменения в nginx 0.3.52 03.07.2006
2900
2901 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
2902 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
2903 ошибку 405.
2904
2905 *) Исправление: при использовании ограничения скорости рабочий процесс
2906 мог зациклиться; ошибка появилась в 0.3.37.
2907
2908 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
2909 "unknown charset", даже если перекодировка не требовалась; ошибка
2910 появилась в 0.3.50.
2911
2912 *) Исправление: если в результате запроса PUT возвращался код 409, то
2913 временный файл не удалялся.
2914
2915
2916 Изменения в nginx 0.3.51 30.06.2006
2917
2918 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
2919 ошибка появилась в 0.3.50.
2920
2921
2922 Изменения в nginx 0.3.50 28.06.2006
2923
2924 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
2925 переименованы соответственно в proxy_intercept_errors и
2926 fastcgi_intercept_errors.
2927
2928 *) Добавление: модуль ngx_http_charset_module поддерживает
2929 перекодирование из однобайтных кодировок в UTF-8 и обратно.
2930
2931 *) Добавление: в режиме прокси и FastCGI поддерживается строка
2932 заголовка "X-Accel-Charset" в ответе бэкенда.
2933
2934 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
2935 только если также использовался символ "$".
2936
2937 *) Исправление: при некоторых условиях в SSI после вставки могла быть
2938 добавлена строка "<!--".
2939
2940 *) Исправление: если в заголовке ответа была строка
2941 "Content-Length: 0", то при использовании небуферизированного
2942 проксировании не закрывалось соединение с клиентом.
2943
2944
2945 Изменения в nginx 0.3.49 31.05.2006
2946
2947 *) Исправление: в директиве set.
2948
2949 *) Исправление: при включении в ssi двух и более подзапросов,
2950 обрабатываемых через FastCGI, вместо вывода второго и остальных
2951 подзапросов в ответ включался вывод первого подзапроса.
2952
2953
2954 Изменения в nginx 0.3.48 29.05.2006
2955
2956 *) Изменение: теперь модуль ngx_http_charset_module работает для
2957 подзапросов, в ответах которых нет строки заголовка "Content-Type".
2958
2959 *) Исправление: если в директиве proxy_pass не было URI, то директива
2960 "proxy_redirect default" добавляла в переписанный редирект в начало
2961 лишний слэш.
2962
2963 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
2964 GET, теперь это делается только для редиректов, выполняемых с
2965 помощью X-Accel-Redirect, и у которых метод не равен HEAD; ошибка
2966 появилась в 0.3.42.
2967
2968 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
2969 с поддержкой потоков; ошибка появилась в 0.3.46.
2970
2971
2972 Изменения в nginx 0.3.47 23.05.2006
2973
2974 *) Добавление: директива upstream.
2975
2976 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
2977 всегда убирается.
2978
2979
2980 Изменения в nginx 0.3.46 11.05.2006
2981
2982 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
2983 fastcgi_hide_header и fastcgi_pass_header.
2984
2985 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
2986 proxy_pass_server упразднены.
2987
2988 *) Добавление: в режиме прокси поддерживается строка заголовка
2989 "X-Accel-Buffering" в ответе бэкенда.
2990
2991 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
2992 ngx_http_perl_module.
2993
2994
2995 Изменения в nginx 0.3.45 06.05.2006
2996
2997 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
2998 ssl_client_certificate.
2999
3000 *) Изменение: теперь переменная $request_method возвращает метод только
3001 основного запроса.
3002
3003 *) Изменение: в таблице перекодировки koi-win изменены коды символа
3004 &deg;.
3005
3006 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
3007 номера.
3008
3009 *) Исправление: если nginx распределял запросы на несколько машин, то
3010 при падении одной из них запросы, предназначенные для этой машины,
3011 перенаправлялись только на одну машину вместо того, чтобы равномерно
3012 распределяться между остальными.
3013
3014
3015 Изменения в nginx 0.3.44 04.05.2006
3016
3017 *) Добавление: параметр wait в команде SSI include.
3018
3019 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
3020 белорусские символы.
3021
3022 *) Исправление: в SSI.
3023
3024
3025 Изменения в nginx 0.3.43 26.04.2006
3026
3027 *) Исправление: в SSI.
3028
3029
3030 Изменения в nginx 0.3.42 26.04.2006
3031
3032 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
3033
3034 *) Исправление: ошибки при использовании в директиве rewrite одного и
3035 того же выделения более одного раза.
3036
3037 *) Исправление: в лог не записывались переменные
3038 $sent_http_content_type, $sent_http_content_length,
3039 $sent_http_last_modified, $sent_http_connection,
3040 $sent_http_keep_alive и $sent_http_transfer_encoding.
3041
3042 *) Исправление: переменная $sent_http_cache_control возвращала
3043 содержимое только одной строки "Cache-Control" в заголовке ответа.
3044
3045
3046 Изменения в nginx 0.3.41 21.04.2006
3047
3048 *) Добавление: ключ -v.
3049
3050 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
3051 segmentation fault.
3052
3053 *) Исправление: в обработке FastCGI.
3054
3055 *) Исправление: если путь к перловым модулям не был указан с помощью
3056 --with-perl_modules_path=PATH или директивы perl_modules, то на
3057 старте происходил segmentation fault.
3058
3059
3060 Изменения в nginx 0.3.40 19.04.2006
3061
3062 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
3063
3064 *) Добавление: директива create_full_put_path.
3065
3066 *) Добавление: переменная $limit_rate.
3067
3068
3069 Изменения в nginx 0.3.39 17.04.2006
3070
3071 *) Добавление: директива uninitialized_variable_warn; уровень
3072 логгирования сообщения о неинициализированной переменной понижен с
3073 уровня alert на warn.
3074
3075 *) Добавление: директива override_charset.
3076
3077 *) Изменение: при использовании неизвестной переменной в SSI-командах
3078 echo и if expr='$name' теперь не записывается в лог сообщение о
3079 неизвестной переменной.
3080
3081 *) Исправление: счётчик активных соединений рос при превышении лимита
3082 соединений, заданного директивой worker_connections; ошибка
3083 появилась в 0.2.0.
3084
3085 *) Исправление: при некоторых условия ограничение скорости соединения
3086 могло не работать; ошибка появилась в 0.3.38.
3087
3088
3089 Изменения в nginx 0.3.38 14.04.2006
3090
3091 *) Добавление: модуль ngx_http_dav_module.
3092
3093 *) Изменение: оптимизация модуля ngx_http_perl_module.
3094 Спасибо Сергею Скворцову.
3095
3096 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3097 $r->request_body_file.
3098
3099 *) Добавление: директива client_body_in_file_only.
3100
3101 *) Изменение: теперь при переполнении диска nginx пытается писать
3102 access_log'и только раз в секунду.
3103 Спасибо Антону Южанинову и Максиму Дунину.
3104
3105 *) Исправление: теперь директива limit_rate точнее ограничивает
3106 скорость при значениях больше 100 Kbyte/s.
3107 Спасибо ForJest.
3108
3109 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
3110 символы "\r" и "\n" в логине и пароле в закодированном виде.
3111 Спасибо Максиму Дунину.
3112
3113
3114 Изменения в nginx 0.3.37 07.04.2006
3115
3116 *) Добавление: директива limit_except.
3117
3118 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
3119 "!-f".
3120
3121 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3122 $r->request_body.
3123
3124 *) Исправление: в модуле ngx_http_addition_filter_module.
3125
3126
3127 Изменения в nginx 0.3.36 05.04.2006
3128
3129 *) Добавление: модуль ngx_http_addition_filter_module.
3130
3131 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
3132 внутри блока if.
3133
3134 *) Добавление: директивы proxy_ignore_client_abort и
3135 fastcgi_ignore_client_abort.
3136
3137 *) Добавление: переменная $request_completion.
3138
3139 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3140 $r->request_method и $r->remote_addr.
3141
3142 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
3143
3144 *) Исправление: строка "\/" в начале выражения команды if модуля
3145 ngx_http_ssi_module воспринималась неверно.
3146
3147 *) Исправление: в использовании регулярных выражениях в команде if
3148 модуля ngx_http_ssi_module.
3149
3150 *) Исправление: при задании относительного пути в директивах
3151 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
3152 perl_modules использовался каталог относительно текущего каталога, а
3153 не относительно префикса сервера.
3154
3155
3156 Изменения в nginx 0.3.35 22.03.2006
3157
3158 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
3159 для первой директивы listen; ошибка появилась в 0.3.31.
3160
3161 *) Исправление: в директиве proxy_pass без URI при использовании в
3162 подзапросе.
3163
3164
3165 Изменения в nginx 0.3.34 21.03.2006
3166
3167 *) Добавление: директива add_header поддерживает переменные.
3168
3169
3170 Изменения в nginx 0.3.33 15.03.2006
3171
3172 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
3173 fastcgi_next_upstream.
3174
3175 *) Исправление: ngx_http_perl_module не работал со встроенным в
3176 конфигурационный файл кодом, если он не начинался сразу же с "sub".
3177
3178 *) Исправление: в директиве post_action.
3179
3180
3181 Изменения в nginx 0.3.32 11.03.2006
3182
3183 *) Исправление: удаление отладочного логгирования на старте и при
3184 переконфигурации; ошибка появилась в 0.3.31.
3185
3186
3187 Изменения в nginx 0.3.31 10.03.2006
3188
3189 *) Изменение: теперь nginx передаёт неверные ответы проксированного
3190 бэкенда.
3191
3192 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
3193
3194 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
3195
3196 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
3197 64-битном ядре MacOSX.
3198 Спасибо Андрею Нигматулину.
3199
3200 *) Исправление: если внутри одного сервера описаны несколько директив
3201 listen, слушающих на разных адресах, то имена серверов вида
3202 "*.domain.tld" работали только для первого адреса; ошибка появилась
3203 в 0.3.18.
3204
3205 *) Исправление: при использовании протокола HTTPS в директиве
3206 proxy_pass не передавались запросы с телом, записанным во временный
3207 файл.
3208
3209 *) Исправление: совместимость с perl 5.8.8.
3210
3211
3212 Изменения в nginx 0.3.30 22.02.2006
3213
3214 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
3215 с уровня crit.
3216
3217 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
3218 ngx_http_ssi_filter_module.
3219
3220 *) Исправление: nginx не собирался на i386 платформе, если
3221 использовался PIC; ошибка появилась в 0.3.27.
3222
3223
3224 Изменения в nginx 0.3.29 20.02.2006
3225
3226 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
3227 FastCGI передаёт большое количество предупреждений перед ответом.
3228
3229 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
3230 строка заголовка "Transfer-Encoding: chunked".
3231
3232 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
3233 передавал полные строки заголовка ответа в отдельных FastCGI записях.
3234
3235 *) Исправление: если в директиве post_action был указан проксируемый
3236 URI, то он выполнялся только после успешного завершения запроса.
3237
3238
3239 Изменения в nginx 0.3.28 16.02.2006
3240
3241 *) Добавление: директива restrict_host_names упразднена.
3242
3243 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
3244
3245 *) Исправление: при некоторых условиях проксированное соединение с
3246 клиентом завершалось преждевременно.
3247 Спасибо Владимиру Шутову.
3248
3249 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась
3250 для запросов, перенаправленных с помощью строки "X-Accel-Redirect".
3251
3252 *) Исправление: директива post_action работала только после успешного
3253 завершения запроса.
3254
3255 *) Исправление: тело проксированного ответа, создаваемого директивой
3256 post_action, передавалось клиенту.
3257
3258
3259 Изменения в nginx 0.3.27 08.02.2006
3260
3261 *) Изменение: директивы variables_hash_max_size и
3262 variables_hash_bucket_size.
3263
3264 *) Добавление: переменная $body_bytes_sent доступна не только в
3265 директиве log_format.
3266
3267 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
3268
3269 *) Добавление: определение размера строки кэша распространённых
3270 процессоров при старте.
3271
3272 *) Добавление: директива accept_mutex теперь поддерживается посредством
3273 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
3274
3275 *) Добавление: директива lock_file и параметр автоконфигурации
3276 --with-lock-path=PATH.
3277
3278 *) Исправление: при использовании протокола HTTPS в директиве
3279 proxy_pass не передавались запросы с телом.
3280
3281
3282 Изменения в nginx 0.3.26 03.02.2006
3283
3284 *) Изменение: директива optimize_host_names переименована в
3285 optimize_server_names.
3286
3287 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
3288 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
3289
3290
3291 Изменения в nginx 0.3.25 01.02.2006
3292
3293 *) Исправление: при неверной конфигурации на старте или во время
3294 переконфигурации происходил segmentation fault; ошибка появилась в
3295 0.3.24.
3296
3297
3298 Изменения в nginx 0.3.24 01.02.2006
3299
3300 *) Изменение: обход ошибки в kqueue во FreeBSD.
3301
3302 *) Исправление: ответ, создаваемый директивой post_action, теперь не
3303 передаётся клиенту.
3304
3305 *) Исправление: при использовании большого количества лог-файлов
3306 происходила утечка памяти.
3307
3308 *) Исправление: внутри одного location работала только первая директива
3309 proxy_redirect.
3310
3311 *) Исправление: на 64-битных платформах при старте мог произойти
3312 segmentation fault, если использовалось большое количество имён в
3313 директивах server_name; ошибка появилась в 0.3.18.
3314
3315
3316 Изменения в nginx 0.3.23 24.01.2006
3317
3318 *) Добавление: директива optimize_host_names.
3319
3320 *) Исправление: ошибки при использовании переменных в директивах path и
3321 alias.
3322
3323 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
3324 Linux и Solaris.
3325
3326
3327 Изменения в nginx 0.3.22 17.01.2006
3328
3329 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
3330 и $r->unescape.
3331
3332 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
3333 упразднён.
3334
3335 *) Исправление: если в директиве valid_referers указаны только none или
3336 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
3337
3338
3339 Изменения в nginx 0.3.21 16.01.2006
3340
3341 *) Добавление: модуль ngx_http_perl_module.
3342
3343 *) Изменение: директива valid_referers разрешает использовать рефереры
3344 совсем без URI.
3345
3346
3347 Изменения в nginx 0.3.20 11.01.2006
3348
3349 *) Исправление: ошибки в обработке SSI.
3350
3351 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
3352 виде /uri?args.
3353
3354
3355 Изменения в nginx 0.3.19 28.12.2005
3356
3357 *) Добавление: директивы path и alias поддерживают переменные.
3358
3359 *) Изменение: теперь директива valid_referers опять учитывает URI.
3360
3361 *) Исправление: ошибки в обработке SSI.
3362
3363
3364 Изменения в nginx 0.3.18 26.12.2005
3365
3366 *) Добавление: директива server_names поддерживает имена вида
3367 ".domain.tld".
3368
3369 *) Добавление: директива server_names использует хэш для имён вида
3370 "*.domain.tld" и более эффективный хэш для обычных имён.
3371
3372 *) Изменение: директивы server_names_hash_max_size и
3373 server_names_hash_bucket_size.
3374
3375 *) Изменение: директивы server_names_hash и server_names_hash_threshold
3376 упразднены.
3377
3378 *) Добавление: директива valid_referers использует хэш для имён сайтов.
3379
3380 *) Изменение: теперь директива valid_referers проверяет только имена
3381 сайтов без учёта URI.
3382
3383 *) Исправление: некоторые имена вида ".domain.tld" неверно
3384 обрабатывались модулем ngx_http_map_module.
3385
3386 *) Исправление: если конфигурационного файла не было, то происходил
3387 segmentation fault; ошибка появилась в 0.3.12.
3388
3389 *) Исправление: на 64-битных платформах при старте мог произойти
3390 segmentation fault; ошибка появилась в 0.3.16.
3391
3392
3393 Изменения в nginx 0.3.17 18.12.2005
3394
3395 *) Изменение: на Linux configure теперь проверяет наличие epoll и
3396 sendfile64() в ядре.
3397
3398 *) Добавление: директива map поддерживает доменные имена в формате
3399 ".domain.tld".
3400
3401 *) Исправление: во время SSL handshake не иcпользовались таймауты;
3402 ошибка появилась в 0.2.4.
3403
3404 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
3405
3406 *) Исправление: при использовании протокола HTTPS в директиве
3407 proxy_pass по умолчанию использовался порт 80.
3408
3409
3410 Изменения в nginx 0.3.16 16.12.2005
3411
3412 *) Добавление: модуль ngx_http_map_module.
3413
3414 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
3415
3416 *) Добавление: директива ssi_value_length.
3417
3418 *) Добавление: директива worker_rlimit_core.
3419
3420 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
3421 Pentium 4 номер соединения в логах всегда был равен 1.
3422
3423 *) Исправление: команда config timefmt в SSI задавала неверный формат
3424 времени.
3425
3426 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
3427 использовании SSL соединений; ошибка появилась в 0.3.13.
3428 Спасибо Rob Mueller.
3429
3430 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
3431 ошибка появилась в 0.3.13.
3432
3433
3434 Изменения в nginx 0.3.15 07.12.2005
3435
3436 *) Добавление: новой код 444 в директиве return для закрытия соединения.
3437
3438 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
3439
3440 *) Исправление: nginx теперь вызывает abort() при обнаружении
3441 незакрытых соединений только при планом выходе и включённой
3442 директиве debug_points.
3443
3444
3445 Изменения в nginx 0.3.14 05.12.2005
3446
3447 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
3448 в 0.3.13.
3449
3450
3451 Изменения в nginx 0.3.13 05.12.2005
3452
3453 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
3454
3455 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
3456 /dev/poll.
3457
3458 *) Исправление: ошибки в обработке SSI.
3459
3460 *) Исправление: sendfilev() в Solaris теперь не используется при
3461 передаче тела запроса FastCGI-серверу через unix domain сокет.
3462
3463 *) Исправление: директива auth_basic не запрещала аутентификацию;
3464 ошибка появилась в 0.3.11.
3465
3466
3467 Изменения в nginx 0.3.12 26.11.2005
3468
3469 *) Безопасность: если nginx был собран с модулем
3470 ngx_http_realip_module, то при использовании директивы "satisfy_any
3471 on" директивы доступа и аутентификации не работали. Модуль
3472 ngx_http_realip_module не собирался и не собирается по умолчанию.
3473
3474 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
3475
3476 *) Изменение: директивы proxy_header_buffer_size и
3477 fastcgi_header_buffer_size переименованы соответственно в
3478 proxy_buffer_size и fastcgi_buffer_size.
3479
3480 *) Добавление: модуль ngx_http_memcached_module.
3481
3482 *) Добавление: директива proxy_buffering.
3483
3484 *) Исправление: изменение в работе с accept mutex при использовании
3485 метода rtsig; ошибка появилась в 0.3.0.
3486
3487 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
3488 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
3489
3490 *) Исправление: при наследовании директивы auth_basic с уровня http в
3491 строке "WWW-Authenticate" заголовка ответа выводился realm без
3492 текста "Basic realm".
3493
3494 *) Исправление: если в директиве access_log был явно указан формат
3495 combined, то в лог записывались пустые строки; ошибка появилась в
3496 0.3.8.
3497
3498 *) Исправление: nginx не работал на платформе sparc под любыми OS,
3499 кроме Solaris.
3500
3501 *) Исправление: в директиве if теперь не нужно разделять пробелом
3502 строку в кавычках и закрывающую скобку.
3503
3504
3505 Изменения в nginx 0.3.11 15.11.2005
3506
3507 *) Исправление: nginx не передавал при проксировании тело запроса и
3508 строки заголовка клиента; ошибка появилась в 0.3.10.
3509
3510
3511 Изменения в nginx 0.3.10 15.11.2005
3512
3513 *) Изменение: директива valid_referers и переменная $invalid_referer
3514 перенесены из модуля ngx_http_rewrite_module в новый модуль
3515 ngx_http_referer_module.
3516
3517 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
3518 "$body_bytes_sent".
3519
3520 *) Добавление: переменные "$sent_http_...".
3521
3522 *) Добавление: директива if поддерживает операции "=" и "!=".
3523
3524 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
3525
3526 *) Добавление: директива proxy_set_body.
3527
3528 *) Добавление: директива post_action.
3529
3530 *) Добавление: модуль ngx_http_empty_gif_module.
3531
3532 *) Добавление: директива worker_cpu_affinity для Linux.
3533
3534 *) Исправление: директива rewrite не раскодировала символы в редиректах
3535 в URI, теперь символы раскодируются, кроме символов %00-%25 и
3536 %7F-%FF.
3537
3538 *) Исправление: nginx не собирался компилятором icc 9.0.
3539
3540 *) Исправление: если для статического файла нулевого размера был
3541 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
3542
3543
3544 Изменения в nginx 0.3.9 10.11.2005
3545
3546 *) Исправление: nginx считал небезопасными URI, в которых между двумя
3547 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
3548
3549
3550 Изменения в nginx 0.3.8 09.11.2005
3551
3552 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
3553 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
3554 наличие путей "/../" и нулей.
3555
3556 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
3557 строке "Authorization" в заголовке запроса.
3558
3559 *) Добавление: директива ssl_session_timeout модулей
3560 ngx_http_ssl_module и ngx_imap_ssl_module.
3561
3562 *) Добавление: директива auth_http_header модуля
3563 ngx_imap_auth_http_module.
3564
3565 *) Добавление: директива add_header.
3566
3567 *) Добавление: модуль ngx_http_realip_module.
3568
3569 *) Добавление: новые переменные для использования в директиве
3570 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
3571 $uri, $request_time, $request_length, $upstream_status,
3572 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
3573 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
3574 упразднены.
3575
3576 *) Изменение: в директиве "if" ложными значениями переменных теперь
3577 являются пустая строка "" и строки, начинающиеся на "0".
3578
3579 *) Исправление: при работает с проксированными или FastCGI-серверами
3580 nginx мог оставлять открытыми соединения и временные файлы с
3581 запросами клиентов.
3582
3583 *) Исправление: рабочие процессы не сбрасывали буферизированные логи
3584 при плавном выходе.
3585
3586 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
3587 запрос проксировался в location, заданном регулярным выражением, то
3588 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
3589
3590 *) Исправление: директива expires не удаляла уже установленную строку
3591 заголовка "Expires".
3592
3593 *) Исправление: при использовании метода rtsig и нескольких рабочих
3594 процессах nginx мог перестать принимать запросы.
3595
3596 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
3597 "\'".
3598
3599 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
3600 при использовании сжатия ответ передавался не до конца или не
3601 передавался вообще.
3602
3603
3604 Изменения в nginx 0.3.7 27.10.2005
3605
3606 *) Добавление: директива access_log поддерживает параметр buffer=.
3607
3608 *) Исправление: nginx не собирался на платформах, отличных от i386,
3609 amd64, sparc и ppc; ошибка появилась в 0.3.2.
3610
3611
3612 Изменения в nginx 0.3.6 24.10.2005
3613
3614 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
3615 пустой логин.
3616
3617 *) Добавление: директива log_format поддерживает переменные в виде
3618 $name.
3619
3620 *) Исправление: если хотя бы в одном сервере не было описано ни одной
3621 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
3622 0.3.3.
3623
3624 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
3625 использовался порт 80.
3626
3627
3628 Изменения в nginx 0.3.5 21.10.2005
3629
3630 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
3631 мог произойти segmentation fault; ошибка появилась в 0.2.2.
3632
3633 *) Исправление: accept mutex не работал, все соединения обрабатывались
3634 одним рабочим процессом; ошибка появилась в 0.3.3.
3635
3636 *) Исправление: при использовании метода rtsig и директивы
3637 timer_resolution не работали таймауты.
3638
3639
3640 Изменения в nginx 0.3.4 19.10.2005
3641
3642 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
3643 появилась в 0.3.3.
3644
3645
3646 Изменения в nginx 0.3.3 19.10.2005
3647
3648 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
3649 "backlog" и "accept_filter".
3650
3651 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
3652
3653 *) Изменение: параметр лога $msec теперь не требует дополнительного
3654 системного вызова gettimeofday().
3655
3656 *) Добавление: ключ -t теперь проверяет директивы listen.
3657
3658 *) Исправление: если в директиве listen был указан неверный адрес, то
3659 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
3660
3661 *) Исправление: для индексных файлов, содержащих в имени переменную,
3662 мог неверно выставляться тип mime по умолчанию; ошибка появилась в
3663 0.3.0.
3664
3665 *) Добавление: директива timer_resolution.
3666
3667 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
3668
3669 *) Исправление: временный файл с телом запроса клиента теперь удаляется
3670 сразу после того, как клиенту передан заголовок ответа.
3671
3672 *) Исправление: совместимость с OpenSSL 0.9.6.
3673
3674 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
3675 относительными.
3676
3677 *) Исправление: директива ssl_prefer_server_ciphers не работала для
3678 модуля ngx_imap_ssl_module.
3679
3680 *) Исправление: директива ssl_protocols позволяла задать только один
3681 протокол.
3682
3683
3684 Изменения в nginx 0.3.2 12.10.2005
3685
3686 *) Добавление: поддержка Sun Studio 10 C compiler.
3687
3688 *) Добавление: директивы proxy_upstream_max_fails,
3689 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
3690 fastcgi_upstream_fail_timeout.
3691
3692
3693 Изменения в nginx 0.3.1 10.10.2005
3694
3695 *) Исправление: во время переполнения очереди сигналов при
3696 использовании метода rtsig происходил segmentation fault; ошибка
3697 появилась в 0.2.0.
3698
3699 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
3700
3701
3702 Изменения в nginx 0.3.0 07.10.2005
3703
3704 *) Изменение: убрано десятидневное ограничение времени работы рабочего
3705 процесса. Ограничение было введено из-за переполнения миллисекундных
3706 таймеров.
3707
3708
3709 Изменения в nginx 0.2.6 05.10.2005
3710
3711 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
3712 бэкенду при использовании распределения нагрузки.
3713
3714 *) Изменение: директива proxy_pass_unparsed_uri упразднена,
3715 оригинальный запрос теперь передаётся, если в директиве proxy_pass
3716 отсутствует URI.
3717
3718 *) Добавление: директива error_page поддерживает редиректы и позволяет
3719 более гибко менять код ошибки.
3720
3721 *) Изменение: в проксированных подзапросах теперь игнорируется
3722 переданный charset.
3723
3724 *) Исправление: если после изменения URI в блоке if для запроса не
3725 находилась новая конфигурация, то правила модуля
3726 ngx_http_rewrite_module выполнялись снова.
3727
3728 *) Исправление: если директива set устанавливала переменную модуля
3729 ngx_http_geo_module в какой-либо части конфигурации, то эта
3730 переменная не была доступна в других частях конфигурации и
3731 выдавалась ошибка "using uninitialized variable"; ошибка появилась в
3732 0.2.2.
3733
3734
3735 Изменения в nginx 0.2.5 04.10.2005
3736
3737 *) Изменение: дублирующее значение переменной модуля
3738 ngx_http_geo_module теперь выдаёт предупреждение и изменяет старое
3739 значение.
3740
3741 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
3742
3743 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
3744 команде include.
3745
3746 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
3747 значений переменных в выражениях команды if.
3748
3749
3750 Изменения в nginx 0.2.4 03.10.2005
3751
3752 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
3753 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
3754 if.
3755
3756 *) Исправление: ошибки при проксировании location без слэша в конце;
3757 ошибка появилась в 0.1.44.
3758
3759 *) Исправление: при использовании метода rtsig мог произойти
3760 segmentation fault; ошибка появилась в 0.2.0.
3761
3762
3763 Изменения в nginx 0.2.3 30.09.2005
3764
3765 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
3766 появилась в 0.2.2.
3767
3768
3769 Изменения в nginx 0.2.2 30.09.2005
3770
3771 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
3772
3773 *) Изменение: переменные модуля ngx_http_geo_module можно
3774 переопределять директивой set.
3775
3776 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
3777 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
3778
3779 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
3780 длинных имён файлов;
3781
3782 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
3783 файлы, начинающиеся на точку.
3784
3785 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
3786 привести также к закрытию другого соединения.
3787 Спасибо Rob Mueller.
3788
3789 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
3790 HTTPS.
3791
3792
3793 Изменения в nginx 0.2.1 23.09.2005
3794
3795 *) Исправление: если все бэкенды, используемые для балансировки
3796 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
3797 nginx мог зациклится; ошибка появилась в 0.2.0.
3798
3799
3800 Изменения в nginx 0.2.0 23.09.2005
3801
3802 *) Изменились имена pid-файлов, используемые во время обновления
3803 исполняемого файла. Ручное переименование теперь не нужно. Старый
3804 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
3805 запускает новый исполняемый файл. Новый основной процесс создаёт
3806 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
3807 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
3808 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
3809 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
3810 0.2.0 - используют pid-файл без суффиксов.
3811
3812 *) Изменение: директива worker_connections, новое название директивы
3813 connections; директива теперь задаёт максимальное число соединений,
3814 а не максимально возможный номер дескриптора для сокета.
3815
3816 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
3817 рабочего процесса.
3818
3819 *) Добавление: директива satisfy_any.
3820
3821 *) Изменение: модули ngx_http_access_module и
3822 ngx_http_auth_basic_module не работают для подзапросов.
3823
3824 *) Добавление: директивы worker_rlimit_nofile и
3825 worker_rlimit_sigpending.
3826
3827 *) Исправление: если все бэкенды, используемые для балансировки
3828 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
3829 nginx не обращался к ним в течение 60 секунд.
3830
3831 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
3832 Спасибо Rob Mueller.
3833
3834 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
3835
3836 *) Исправление: ошибки при использовании SSI и сжатия.
3837
3838 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
3839 "Expires" и "Cache-Control".
3840 Спасибо Александру Кукушкину.
3841
3842
3843 Изменения в nginx 0.1.45 08.09.2005
3844
3845 *) Изменение: директива ssl_engine упразднена в модуле
3846 ngx_http_ssl_module и перенесена на глобальный уровень.
3847
3848 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
3849 передавались через SSL соединение.
3850
3851 *) Разные исправления в IMAP/POP3 прокси.
3852
3853
3854 Изменения в nginx 0.1.44 06.09.2005
3855
3856 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
3857
3858 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
3859
3860 *) Добавление: директива userid_mark.
3861
3862 *) Добавление: значение переменной $remote_user определяется независимо
3863 от того, используется ли авторизация или нет.
3864
3865
3866 Изменения в nginx 0.1.43 30.08.2005
3867
3868 *) Добавление: listen(2) backlog в директиве listen можно менять по
3869 сигналу -HUP.
3870
3871 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
3872
3873 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
3874 серверу.
3875
3876 *) Исправление: если в ответе проксированного сервера или FastCGI
3877 сервера была строка "Cache-Control", то при использовании директивы
3878 expires происходил segmentation fault или рабочий процесс мог
3879 зациклится; в режиме прокси ошибка появилась в 0.1.29.
3880
3881
3882 Изменения в nginx 0.1.42 23.08.2005
3883
3884 *) Исправление: если URI запроса получался нулевой длины после
3885 обработки модулем ngx_http_rewrite_module, то в модуле
3886 ngx_http_proxy_module происходил segmentation fault или bus error.
3887
3888 *) Исправление: директива limit_rate не работала внутри блока if;
3889 ошибка появилась в 0.1.38.
3890
3891
3892 Изменения в nginx 0.1.41 25.07.2005
3893
3894 *) Исправление: если переменная использовалась в файле конфигурации, то
3895 она не могла использоваться в SSI.
3896
3897
3898 Изменения в nginx 0.1.40 22.07.2005
3899
3900 *) Исправление: если клиент слал очень длинную строку заголовка, то в
3901 логе не помещалась информация, связанная с этим запросом.
3902
3903 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
3904 строка "Set-Cookie"; ошибка появилась в 0.1.39.
3905
3906 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
3907 строка "Content-Disposition".
3908
3909 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
3910 на которых он слушал.
3911
3912 *) Исправление: после обновления исполняемого файла на лету на Linux и
3913 Solaris название процесса в команде ps становилось короче.
3914
3915
3916 Изменения в nginx 0.1.39 14.07.2005
3917
3918 *) Изменения в модуле ngx_http_charset_module: директива
3919 default_charset упразднена; директива charset задаёт кодировку
3920 ответа; директива source_charset задаёт только исходную кодировку.
3921
3922 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
3923 не передавалась строка заголовка "WWW-Authenticate".
3924
3925 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
3926 могли закрыть соединение до того, как что-нибудь было передано
3927 клиенту; ошибка появилась в 0.1.38.
3928
3929 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
3930
3931 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
3932 URI в команде include virtual.
3933
3934 *) Исправление: если в строке заголовка ответа бэкенда была строка
3935 "Location", которую nginx не должен был изменять, то в ответе
3936 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
3937
3938 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
3939 ngx_http_fastcgi_module не наследовались с уровня server на уровень
3940 location; ошибка появилась в 0.1.29.
3941
3942 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
3943 сертификатов.
3944
3945 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
3946 длинных имён файлов; ошибка появилась в 0.1.38.
3947
3948 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
3949 стадии login.
3950
3951
3952 Изменения в nginx 0.1.38 08.07.2005
3953
3954 *) Добавление: директива limit_rate поддерживается в режиме прокси и
3955 FastCGI.
3956
3957 *) Добавление: в режиме прокси и FastCGI поддерживается строка
3958 заголовка "X-Accel-Limit-Rate" в ответе бэкенда.
3959
3960 *) Добавление: директива break.
3961
3962 *) Добавление: директива log_not_found.
3963
3964 *) Исправление: при перенаправлении запроса с помощью строки заголовка
3965 "X-Accel-Redirect" не изменялся код ответа.
3966
3967 *) Исправление: переменные, установленные директивой set не могли
3968 использоваться в SSI.
3969
3970 *) Исправление: при включении в SSI более одного удалённого подзапроса
3971 мог произойти segmentation fault.
3972
3973 *) Исправление: если статусная строка в ответе бэкенда передавалась в
3974 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
3975 0.1.29.
3976
3977 *) Добавление: директива ssi_types.
3978
3979 *) Добавление: директива autoindex_exact_size.
3980
3981 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
3982 имена файлов в UTF-8.
3983
3984 *) Добавление: IMAP/POP3 прокси.
3985
3986
3987 Изменения в nginx 0.1.37 23.06.2005
3988
3989 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
3990
3991 *) Исправление: при включении большого количества вставок или
3992 нескольких больших вставок с помощью SSI ответ мог передаваться не
3993 полностью.
3994
3995 *) Исправление: если все бэкенды возвращали ответ 404, то при
3996 использовании параметра http_404 в директивах proxy_next_upstream
3997 или fastcgi_next_upstream, nginx начинал запрашивать все бэкенды
3998 снова.
3999
4000
4001 Изменения в nginx 0.1.36 15.06.2005
4002
4003 *) Изменение: если в заголовке запросе есть дублирующиеся строки
4004 "Host", "Connection", "Content-Length" и "Authorization", то nginx
4005 теперь выдаёт ошибку 400.
4006
4007 *) Изменение: директива post_accept_timeout упразднена.
4008
4009 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
4010 listen.
4011
4012 *) Добавление: поддержка accept фильтров во FreeBSD.
4013
4014 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
4015
4016 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
4017 файлов в UTF-8.
4018
4019 *) Исправление: после добавления новый лог-файл ротация этого лога по
4020 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
4021 раза по сигналу -HUP.
4022
4023
4024 Изменения в nginx 0.1.35 07.06.2005
4025
4026 *) Добавление: директива working_directory.
4027
4028 *) Добавление: директива port_in_redirect.
4029
4030 *) Исправление: если заголовок ответа бэкенда не помещался в один
4031 пакет, то происходил segmentation fault; ошибка появилась в 0.1.29.
4032
4033 *) Исправление: если было сконфигурировано более 10 серверов или в
4034 сервере не описана директива "listen", то при запуске мог произойти
4035 segmentation fault.
4036
4037 *) Исправление: если ответ не помещался во временный файл, то мог
4038 произойти segmentation fault.
4039
4040 *) Исправление: nginx возвращал ошибку 400 на запросы вида
4041 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
4042
4043
4044 Изменения в nginx 0.1.34 26.05.2005
4045
4046 *) Исправление: при включении больших ответов с помощью SSI рабочий
4047 процесс мог зациклиться.
4048
4049 *) Исправление: переменные, устанавливаемые директивой "set", не были
4050 доступны в SSI.
4051
4052 *) Добавление: директива autoindex_localtime.
4053
4054 *) Исправление: пустое значение в директиве proxy_set_header запрещает
4055 передачу заголовка.
4056
4057
4058 Изменения в nginx 0.1.33 23.05.2005
4059
4060 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
4061 появилась в 0.1.29.
4062
4063 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
4064 вызывали bus fault при запуске.
4065
4066 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
4067 HTTP.
4068
4069 *) Исправление: если директива rewrite использовала выделения внутри
4070 директивы if, то возвращалась ошибка 500.
4071
4072
4073 Изменения в nginx 0.1.32 19.05.2005
4074
4075 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite,
4076 не передавались аргументы; ошибка появилась в 0.1.29.
4077
4078 *) Добавление: директива if поддерживает выделения в регулярных
4079 выражениях.
4080
4081 *) Добавление: директива set поддерживает переменные и выделения из
4082 регулярных выражений.
4083
4084 *) Добавление: в режиме прокси и FastCGI поддерживается строка
4085 заголовка "X-Accel-Redirect" в ответе бэкенда.
4086
4087
4088 Изменения в nginx 0.1.31 16.05.2005
4089
4090 *) Исправление: при использовании SSL ответ мог передаваться не до
4091 конца.
4092
4093 *) Исправление: ошибки при обработке SSI в ответе, полученного от
4094 FastCGI-сервера.
4095
4096 *) Исправление: ошибки при использовании SSI и сжатия.
4097
4098 *) Исправление: редирект с кодом 301 передавался без тела ответа;
4099 ошибка появилась в 0.1.30.
4100
4101
4102 Изменения в nginx 0.1.30 14.05.2005
4103
4104 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
4105
4106 *) Исправление: при использовании SSL ответ мог передаваться не до
4107 конца.
4108
4109 *) Исправление: если длина части ответа, полученного за один раз от
4110 проксируемого или FastCGI сервера была равна 500 байт, то nginx
4111 возвращал код ответа 500; в режиме прокси ошибка появилась только в
4112 0.1.29.
4113
4114 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
4115 параметрами.
4116
4117 *) Добавление: директива return может возвращать код ответа 204.
4118
4119 *) Добавление: директива ignore_invalid_headers.
4120
4121
4122 Изменения в nginx 0.1.29 12.05.2005
4123
4124 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
4125 virtual.
4126
4127 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
4128 вида 'if expr="$NAME"' и команды else и endif. Допускается только
4129 один уровень вложенности.
4130
4131 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
4132 DATE_LOCAL и DATE_GMT и команду config timefmt.
4133
4134 *) Добавление: директива ssi_ignore_recycled_buffers.
4135
4136 *) Исправление: если переменная QUERY_STRING не была определена, то в
4137 команде echo не ставилось значение по умолчанию.
4138
4139 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
4140
4141 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
4142 proxy_pass_request_body и proxy_method.
4143
4144 *) Добавление: директива proxy_set_header. Директива proxy_x_var
4145 упразднена и должна быть заменена директивой proxy_set_header.
4146
4147 *) Изменение: директива proxy_preserve_host упразднена и должна быть
4148 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
4149 off" или директивой "proxy_set_header Host $host:$proxy_port" и
4150 соответствующими ей директивами proxy_redirect.
4151
4152 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
4153 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
4154
4155 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
4156 быть заменена директивой
4157 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
4158
4159 *) Изменение: директива proxy_set_x_url упразднена и должна быть
4160 заменена директивой
4161 "proxy_set_header X-URL http://$host:$server_port$request_uri".
4162
4163 *) Добавление: директива fastcgi_param.
4164
4165 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
4166 упразднены и должны быть замены директивами fastcgi_param.
4167
4168 *) Добавление: директива index может использовать переменные.
4169
4170 *) Добавление: директива index может быть указана на уровне http и
4171 server.
4172
4173 *) Изменение: только последний параметр в директиве index может быть
4174 абсолютным.
4175
4176 *) Добавление: в директиве rewrite могут использоваться переменные.
4177
4178 *) Добавление: директива internal.
4179
4180 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
4181 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
4182 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
4183
4184 *) Изменение: nginx теперь передаёт неверные строки в заголовках
4185 запроса клиента и ответа бэкенда.
4186
4187 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
4188 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
4189
4190 *) Исправление: если бэкенд передавал неверную строку в заголовке
4191 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
4192
4193 *) Исправление: при использовании отказоустойчивой конфигурации в
4194 FastCGI мог происходить segmentation fault.
4195
4196 *) Исправление: директива expires не удаляла уже установленные строки
4197 заголовка "Expires" и "Cache-Control".
4198
4199 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
4200 запроса "Host".
4201
4202 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
4203
4204 *) Исправление: директива rewrite неверно работала, если в запросе
4205 присутствовали аргументы.
4206
4207 *) Исправление: nginx не собирался на MacOS X.
4208
4209
4210 Изменения в nginx 0.1.28 08.04.2005
4211
4212 *) Исправление: при проксировании больших файлов nginx сильно нагружал
4213 процессор.
4214
4215 *) Исправление: nginx не собирался gcc 4.0 на Linux.
4216
4217
4218 Изменения в nginx 0.1.27 28.03.2005
4219
4220 *) Добавление: параметр blocked в директиве valid_referers.
4221
4222 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
4223 уровне info, в лог также записывается имя сервера и строки заголовка
4224 запроса "Host" и "Referer".
4225
4226 *) Изменение: при записи ошибок в лог записывается также строка
4227 заголовка запроса "Host".
4228
4229 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
4230 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
4231
4232 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
4233 параметр конфигурации --without-ngx_http_auth_basic_module.
4234
4235
4236 Изменения в nginx 0.1.26 22.03.2005
4237
4238 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
4239 игнорируется и записываются в error_log на уровне info.
4240
4241 *) Изменение: при записи ошибок в лог записывается также имя сервера,
4242 при обращении к которому произошла ошибка.
4243
4244 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
4245 и auth_basic_user_file.
4246
4247
4248 Изменения в nginx 0.1.25 19.03.2005
4249
4250 *) Исправление: nginx не работал на Linux parisc.
4251
4252 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
4253 sysctl kern.ipc.somaxconn слишком большое.
4254
4255 *) Исправление: если модуль ngx_http_index_module делал внутреннее
4256 перенаправление запроса в модули ngx_http_proxy_module или
4257 ngx_http_fastcgi_module, то файл индекса не закрывался после
4258 обслуживания запроса.
4259
4260 *) Добавление: директива proxy_pass может использоваться в location,
4261 заданных регулярным выражением.
4262
4263 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
4264 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
4265
4266 *) Исправление: nginx очень медленно запускался при большом количестве
4267 адресов и использовании текстовых значений в директиве geo.
4268
4269 *) Изменение: имя переменной в директиве geo нужно указывать, как
4270 $name. Прежний вариант без "$" пока работает, но вскоре будет убран.
4271
4272 *) Добавление: параметр лога "%{VARIABLE}v".
4273
4274 *) Добавление: директива "set $name value".
4275
4276 *) Исправление: совместимость с gcc 4.0.
4277
4278 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
4279
4280
4281 Изменения в nginx 0.1.24 04.03.2005
4282
4283 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает
4284 переменные QUERY_STRING и DOCUMENT_URI.
4285
4286 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
4287 на существующий каталог, если этот каталог был указан как alias.
4288
4289 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
4290 при больших ответах.
4291
4292 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
4293 правильным referrer'ом.
4294
4295
4296 Изменения в nginx 0.1.23 01.03.2005
4297
4298 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
4299 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
4300 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
4301
4302 *) Добавление: параметр лога %request_time.
4303
4304 *) Добавление: если запрос пришёл без строки заголовка "Host", то
4305 директива proxy_preserve_host устанавливает в качестве этого
4306 заголовка первое имя сервера из директивы server_name.
4307
4308 *) Исправление: nginx не собирался на платформах, отличных от i386,
4309 amd64, sparc и ppc; ошибка появилась в 0.1.22.
4310
4311 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
4312 информацию не о символическом линке, а о файле или каталоге, на
4313 который он указывает.
4314
4315 *) Исправление: если клиенту ничего не передавалось, то параметр
4316 %apache_length записывал в лог отрицательную длину заголовка ответа.
4317
4318
4319 Изменения в nginx 0.1.22 22.02.2005
4320
4321 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
4322 статистику для обработанных соединений, если использовалось
4323 проксирование или FastCGI-сервер.
4324
4325 *) Исправление: на Linux и Solaris установочные пути были неверно
4326 заключены в кавычки; ошибка появилась в 0.1.21.
4327
4328
4329 Изменения в nginx 0.1.21 22.02.2005
4330
4331 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
4332 статистику при использовании метода rtsig или при использовании
4333 нескольких рабочих процессов на SMP машине.
4334
4335 *) Исправление: nginx не собирался компилятором icc под Линуксом или
4336 если библиотека zlib-1.2.x собиралась из исходных текстов.
4337
4338 *) Исправление: nginx не собирался под NetBSD 2.0.
4339
4340
4341 Изменения в nginx 0.1.20 17.02.2005
4342
4343 *) Добавление: новые параметры script_filename и remote_port в
4344 директиве fastcgi_params.
4345
4346 *) Исправление: неправильно обрабатывался поток stderr от
4347 FastCGI-сервера.
4348
4349
4350 Изменения в nginx 0.1.19 16.02.2005
4351
4352 *) Исправление: если в запросе есть нуль, то для локальных запросов
4353 теперь возвращается ошибка 404.
4354
4355 *) Исправление: nginx не собирался под NetBSD 2.0.
4356
4357 *) Исправление: во время чтения тела запроса клиента в SSL соединении
4358 мог произойти таймаут.
4359
4360
4361 Изменения в nginx 0.1.18 09.02.2005
4362
4363 *) Изменение: для совместимости с Solaris 10 в директивах
4364 devpoll_events и devpoll_changes значения по умолчанию уменьшены с
4365 512 до 32.
4366
4367 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
4368 наследовались.
4369
4370 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
4371 присоединялись к URI через символ "&" вместо "?".
4372
4373 *) Исправление: строки для модуля ngx_http_geo_module без символа ";"
4374 во включённом файле игнорировались.
4375
4376 *) Добавление: модуль ngx_http_stub_status_module.
4377
4378 *) Исправление: неизвестный формат лог-файла в директиве access_log
4379 вызывал segmentation fault.
4380
4381 *) Добавление: новый параметр document_root в директиве fastcgi_params.
4382
4383 *) Добавление: директива fastcgi_redirect_errors.
4384
4385 *) Добавление: новый модификатор break в директиве rewrite позволяет
4386 прекратить цикл rewrite/location и устанавливает текущую
4387 конфигурацию для запроса.
4388
4389
4390 Изменения в nginx 0.1.17 03.02.2005
4391
4392 *) Изменение: модуль ngx_http_rewrite_module полностью переписан.
4393 Теперь можно делать редиректы, возвращать коды ошибок и проверять
4394 переменные и рефереры. Эти директивы можно использовать внутри
4395 location. Директива redirect упразднена.
4396
4397 *) Добавление: модуль ngx_http_geo_module.
4398
4399 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
4400
4401 *) Исправление: конфигурация location с модификатором "=" могла
4402 использоваться в другом location.
4403
4404 *) Исправление: правильный тип ответа выставлялся только для запросов,
4405 у которых в расширении были только маленькие буквы.
4406
4407 *) Исправление: если для location установлен proxy_pass или
4408 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
4409 на статическую страницу, то происходил segmentation fault.
4410
4411 *) Исправление: если в проксированном ответе в заголовке "Location"
4412 передавался относительный URL, то к нему добавлялось имя хоста и
4413 слэш; ошибка появилась в 0.1.14.
4414
4415 *) Исправление: на Linux в лог не записывался текст системной ошибки.
4416
4417
4418 Изменения в nginx 0.1.16 25.01.2005
4419
4420 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
4421 выдавался завершающий chunk.
4422
4423 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
4424 директива keepalive_timeout запрещала использование keep-alive.
4425
4426 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
4427 segmentation fault.
4428
4429 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
4430 до конца.
4431
4432 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
4433 для TCP сокетов, не используются для unix domain сокетов.
4434
4435 *) Добавление: директива rewrite поддерживает перезаписывание
4436 аргументов.
4437
4438 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
4439 возвращался ответ 400; ошибка появилась в 0.1.14.
4440
4441
4442 Изменения в nginx 0.1.15 19.01.2005
4443
4444 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
4445 segmentation fault.
4446
4447 *) Исправление: корректная обработка регулярного выражения, в котором
4448 число выделенных частей не совпадает с числом подстановок.
4449
4450 *) Добавление: location, который передаётся FastCGI-серверу, может быть
4451 задан с помощью регулярного выражения.
4452
4453 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
4454 аргументами и в том виде, в котором был получен от клиента.
4455
4456 *) Исправление: для использования регулярных выражений в location нужно
4457 было собирать nginx вместе с ngx_http_rewrite_module.
4458
4459 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
4460 директивы "proxy_preserve_host on" в заголовке "Host" указывался
4461 также порт 80; ошибка появилась в 0.1.14.
4462
4463 *) Исправление: если задать одинаковые пути в параметрах
4464 автоконфигурации --http-client-body-temp-path=PATH и
4465 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
4466 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
4467
4468
4469 Изменения в nginx 0.1.14 18.01.2005
4470
4471 *) Добавление: параметры автоконфигурации
4472 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
4473 --http-fastcgi-temp-path=PATH
4474
4475 *) Изменение: имя каталога с временными файлами, содержащие тело
4476 запроса клиента, задаётся директивой client_body_temp_path, по
4477 умолчанию <prefix>/client_body_temp.
4478
4479 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
4480 fastcgi_root, fastcgi_index, fastcgi_params,
4481 fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
4482 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
4483 fastcgi_busy_buffers_size, fastcgi_temp_path,
4484 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
4485 fastcgi_next_upstream и fastcgi_x_powered_by.
4486
4487 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
4488 0.1.3.
4489
4490 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
4491 после имени хоста.
4492
4493 *) Изменение: если в URI встречался символ %3F, то он считался началом
4494 строки аргументов.
4495
4496 *) Добавление: поддержка unix domain сoкетов в модуле
4497 ngx_http_proxy_module.
4498
4499 *) Добавление: директивы ssl_engine и ssl_ciphers.
4500 Спасибо Сергею Скворцову за SSL-акселератор.
4501
4502
4503 Изменения в nginx 0.1.13 21.12.2004
4504
4505 *) Добавление: директивы server_names_hash и
4506 server_names_hash_threshold.
4507
4508 *) Исправление: имена *.domain.tld в директиве server_name не работали.
4509
4510 *) Исправление: параметр лога %request_length записывал неверную длину.
4511
4512
4513 Изменения в nginx 0.1.12 06.12.2004
4514
4515 *) Добавление: параметр лога %request_length.
4516
4517 *) Исправление: при использовании /dev/poll, select и poll на
4518 платформах, где возможны ложные срабатывания указанных методов,
4519 могли быть длительные задержки при обработке запроса по keep-alive
4520 соединению. Наблюдалось по крайней мере на Solaris с использованием
4521 /dev/poll.
4522
4523 *) Исправление: директива send_lowat игнорируется на Linux, так как
4524 Linux не поддерживает опцию SO_SNDLOWAT.
4525
4526
4527 Изменения в nginx 0.1.11 02.12.2004
4528
4529 *) Добавление: директива worker_priority.
4530
4531 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
4532 влияют на передачу ответа.
4533
4534 *) Исправление: nginx не вызывал initgroups().
4535 Спасибо Андрею Ситникову и Андрею Нигматулину.
4536
4537 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
4538 байтах.
4539
4540 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
4541 каталоге есть битый symlink.
4542
4543 *) Исправление: файлы больше 4G не передавались с использованием
4544 sendfile.
4545
4546 *) Исправление: если бэкенд резолвился в несколько адресов и при
4547 ожидании от него ответа происходила ошибка, то процесс зацикливался.
4548
4549 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
4550 завершиться с сообщением "unknown cycle".
4551
4552 *) Исправление: ошибки "close() channel failed".
4553
4554 *) Исправление: автоматическое определение групп nobody и nogroup.
4555
4556 *) Исправление: директива send_lowat не работала на Linux.
4557
4558 *) Исправление: если в конфигурации не было раздела events, то
4559 происходил segmentation fault.
4560
4561 *) Исправление: nginx не собирался под OpenBSD.
4562
4563 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
4564
4565
4566 Изменения в nginx 0.1.10 26.11.2004
4567
4568 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
4569 или "%XX", то терялся последний символ в строке запроса; ошибка
4570 появилась в 0.1.9.
4571
4572 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на
4573 Linux не работало.
4574
4575
4576 Изменения в nginx 0.1.9 25.11.2004
4577
4578 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
4579 проксируемый запрос передавался без аргументов.
4580
4581 *) Исправление: при сжатии больших ответов иногда они передавались не
4582 полностью.
4583
4584 *) Исправление: не передавались файлы больше 2G на Linux,
4585 неподдерживающем sendfile64().
4586
4587 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
4588 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
4589
4590
4591 Изменения в nginx 0.1.8 20.11.2004
4592
4593 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4594 длинных имён файлов.
4595
4596 *) Добавление: модификатор "^~" в директиве location.
4597
4598 *) Добавление: директива proxy_max_temp_file_size.
4599
4600
4601 Изменения в nginx 0.1.7 12.11.2004
4602
4603 *) Исправление: при использовании sendfile, если передаваемый файл
4604 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
4605 появилась в 0.1.5.
4606
4607
4608 Изменения в nginx 0.1.6 11.11.2004
4609
4610 *) Исправление: при некоторых комбинациях директив location c
4611 регулярными выражениями использовалась конфигурация не из того
4612 location.
4613
4614
4615 Изменения в nginx 0.1.5 11.11.2004
4616
4617 *) Исправление: на Solaris и Linux могло быть очень много сообщений
4618 "recvmsg() returned not enough data".
4619
4620 *) Исправление: в режиме прокси без использования sendfile на Solaris
4621 возникала ошибка "writev() failed (22: Invalid argument)". На других
4622 платформах, не поддерживающих sendfile, процесс зацикливался.
4623
4624 *) Исправление: при использовании sendfile в режиме прокси на Solaris
4625 возникал segmentation fault.
4626
4627 *) Исправление: segmentation fault на Solaris.
4628
4629 *) Исправление: обновление исполняемого файла на лету не работало на
4630 Linux.
4631
4632 *) Исправление: в списке файлов, выдаваемом модулем
4633 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
4634 знаки процента.
4635
4636 *) Изменение: уменьшение операций копирования.
4637
4638 *) Добавление: директива userid_p3p.
4639
4640
4641 Изменения в nginx 0.1.4 26.10.2004
4642
4643 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
4644
4645
4646 Изменения в nginx 0.1.3 25.10.2004
4647
4648 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
4649
4650 *) Добавление: директива proxy_set_x_url.
4651
4652 *) Исправление: модуль проксировании мог привести к зацикливанию, если
4653 не использовался sendfile.
4654
4655
4656 Изменения в nginx 0.1.2 21.10.2004
4657
4658 *) Добавление: параметры --user=USER, --group=GROUP и
4659 --with-ld-opt=OPTIONS в configure.
4660
4661 *) Добавление: директива server_name поддерживает *.domain.tld.
4662
4663 *) Исправление: улучшена переносимость на неизвестные платформы.
4664
4665 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
4666 файл указан в командной строке; ошибка появилась в 0.1.1.
4667
4668 *) Исправление: модуль проксировании мог привести к зацикливанию, если
4669 не использовался sendfile.
4670
4671 *) Исправление: при использовании sendfile текст ответа не
4672 перекодировался согласно директивам модуля charset; ошибка появилась
4673 в 0.1.1.
4674
4675 *) Исправление: очень редкая ошибка при обработке kqueue.
4676
4677 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
4678 проксировании.
4679
4680
4681 Изменения в nginx 0.1.1 11.10.2004
4682
4683 *) Добавление: директива gzip_types.
4684
4685 *) Добавление: директива tcp_nodelay.
4686
4687 *) Добавление: директива send_lowat работает не только на платформах,
4688 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
4689 SO_SNDLOWAT.
4690
4691 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
4692
4693 *) Исправление: ошибка при переписывании заголовка "Location" при
4694 проксировании.
4695
4696 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
4697 зацикливанию.
4698
4699 *) Исправление: ошибки в модуле /dev/poll.
4700
4701 *) Исправление: при проксировании и использовании временных файлов
4702 ответы портились.
4703
4704 *) Исправление: бэкенду передавались запросы с неперекодированными
4705 символами.
4706
4707 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
4708 обязательно использовать параметр --with-poll_module.
4709
4710
4711 Изменения в nginx 0.1.0 04.10.2004
4712
4713 *) Первая публично доступная версия.
4714