comparison text/ru/CHANGES.ru-0.5 @ 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.5.38 14.09.2009
3
4 *) Безопасность: при обработке специально созданного запроса в рабочем
5 процессе мог произойти segmentation fault.
6 Спасибо Chris Ries.
7
8 *) Исправление: при использовании error_log на уровне info или debug в
9 рабочем процессе мог произойти segmentation fault.
10 Спасибо Сергею Боченкову.
11
12
13 Изменения в nginx 0.5.37 07.07.2008
14
15 *) Исправление: при совместном использовании sub_filter и SSI ответы
16 могли передаваться неверно.
17
18 *) Исправление: большие включения в SSI могли передавались не полностью.
19
20 *) Исправление: рабочие процессы могли не реагировать на сигналы
21 переконфигурации и ротации логов.
22
23 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
24 Спасибо Roxis.
25
26 *) Исправление: при использовании keepalive на Linux в рабочем процессе
27 мог произойти segmentation fault.
28
29 *) Исправление: во время переконфигурации на некоторых 64-битном
30 платформах в лог записывался alert "sendmsg() failed (9: Bad file
31 descriptor)".
32
33
34 Изменения в nginx 0.5.36 04.05.2008
35
36 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
37 вывод.
38
39 *) Исправление: при повторном использовании в SSI пустого block'а в
40 качестве заглушки в рабочем процессе происходил segmentation fault.
41
42 *) Исправление: директивы proxy_store и fastcgi_store не проверяли
43 длину ответа.
44
45 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown()
46 failed (SSL: )"; ошибка появилась в 0.5.35.
47
48 *) Исправление: при использовании HTTPS запросы могли завершаться с
49 ошибкой "bad write retry"; ошибка появилась в 0.5.35.
50
51 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
52 теперь она возвращает ошибку 502, которую можно направить на
53 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
54
55 *) Исправление: при использовании директивы fastcgi_catch_stderr в
56 основном процессе происходил segmentation fault; ошибка появилась в
57 0.5.32.
58 Спасибо Manlio Perillo.
59
60
61 Изменения в nginx 0.5.35 08.01.2008
62
63 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с
64 номером процесса добавляет микросекунды на время старта.
65
66 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
67 Спасибо Илье Новикову.
68
69 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
70 Спасибо Александру Инюхину.
71
72 *) Исправление: при использовании HTTPS запросы могли завершаться с
73 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
74
75 *) Исправление: STARTTLS в режиме SMTP не работал.
76 Спасибо Олегу Мотиенко.
77
78 *) Исправление: large_client_header_buffers не освобождались перед
79 переходом в состояние keep-alive.
80 Спасибо Олександру Штепе.
81
82 *) Исправление: директива limit_rate не позволяла передавать на полной
83 скорости, даже если был указан очень большой лимит.
84
85 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
86 то переменная $status была равна 0.
87
88 *) Исправление: если в директиве error_page использовался символ "?",
89 то он экранировался при проксировании запроса; ошибка появилась в
90 0.5.32.
91
92
93 Изменения в nginx 0.5.34 13.12.2007
94
95 *) Изменение: в error_log теперь записывается полная строка запроса
96 вместо только URI.
97
98 *) Добавление: совместимость с Cygwin.
99 Спасибо Владимиру Кутакову.
100
101 *) Добавление: директива merge_slashes.
102
103 *) Добавление: директива gzip_vary.
104
105 *) Добавление: директива server_tokens.
106
107 *) Добавление: директиву access_log можно использовать внутри блока
108 limit_except.
109
110 *) Исправление: При использовании переменной $server_protocol в
111 FastCGI-параметрах и запросе, длина которого была близка к значению
112 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
113 the request record is too big".
114
115 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
116 nginx возвращал обычный ответ.
117
118 *) Исправление: при использовании директивы msie_refresh повторно
119 экранировались уже экранированные символы; ошибка появилась в 0.5.28.
120
121 *) Исправление: при использовании подзапросов в рабочем процессе мог
122 произойти segmentation fault.
123
124 *) Исправление: при использовании SSL и gzip большие ответы могли
125 передаваться не полностью.
126
127 *) Исправление: совместимость с mget.
128
129 *) Исправление: nginx не раскодировал URI в команде SSI include.
130
131 *) Исправление: при использовании переменной в директивах charset или
132 source_charset на старте или во время переконфигурации происходил
133 segmentation fault,
134
135 *) Исправление: nginx возвращал ошибку 400 на запросы вида
136 "GET http://www.domain.com HTTP/1.0".
137 Спасибо James Oakley.
138
139 *) Исправление: при использовании переменных $date_local и $date_gmt
140 вне модуля ngx_http_ssi_filter_module в рабочем процессе происходил
141 segmentation fault.
142
143 *) Исправление: при использовании включённом отладочном логе в рабочем
144 процессе мог произойти segmentation fault.
145 Спасибо Андрею Нигматулину.
146
147 *) Исправление: ngx_http_memcached_module не устанавливал
148 upstream_response_time.
149 Спасибо Максиму Дунину.
150
151 *) Исправление: рабочий процесс мог зациклиться при использовании
152 memcached.
153
154
155 Изменения в nginx 0.5.33 07.11.2007
156
157 *) Изменение: теперь по умолчанию команда SSI echo использует
158 кодирование entity.
159
160 *) Добавление: параметр encoding в команде SSI echo.
161
162 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
163 и smtp.
164
165 *) Добавление: параметры конфигурации --without-mail_pop3_module,
166 --without-mail_imap_module и --without-mail_smtp_module.
167
168 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer
169 модуля ngx_mail_smtp_module.
170
171 *) Добавление: директивы server_name и valid_referers поддерживают
172 регулярные выражения.
173
174 *) Добавление: директивы "server_name", "map", and "valid_referers"
175 поддерживают маски вида "www.example.*".
176
177 *) Исправление: sub_filter не работал с пустой строкой замены.
178
179 *) Исправление: в парсинге sub_filter.
180
181 *) Исправление: рабочий процесс мог зациклиться при использовании
182 memcached.
183
184 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
185 строке "Connection" в заголовке запроса только, если они были в
186 нижнем регистре; ошибка появилась в 0.5.32.
187
188 *) Исправление: при использовании разделяемой библиотеки PCRE,
189 расположенной в нестандартном месте, nginx не запускался на Solaris.
190
191
192 Изменения в nginx 0.5.32 24.09.2007
193
194 *) Изменение: теперь nginx пытается установить директивы
195 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
196 worker_rlimit_sigpending без привилегий root'а.
197
198 *) Изменение: теперь nginx экранирует символы пробела и "%" при
199 передаче запроса серверу аутентификации почтового прокси-сервера.
200
201 *) Изменение: теперь nginx экранирует символ "%" в переменной
202 $memcached_key.
203
204 *) Изменение: для обновления на лету версий 0.1.x создан специальный
205 сценарий make upgrade1.
206
207 *) Добавление: директива "add_header Last-Modified ..." меняет строку
208 "Last-Modified" в заголовке ответа.
209
210 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в
211 режиме IMAP.
212 Спасибо Максиму Дунину.
213
214 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
215 SMTP.
216 Спасибо Максиму Дунину.
217
218 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
219 использовался autoindex
220 Спасибо Arkadiusz Patyk.
221
222 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
223 скрывали строки заголовка ответа с именем больше 32 символов.
224 Спасибо Manlio Perillo.
225
226 *) Исправление: счётчик активных соединений всегда рос при
227 использовании почтового прокси-сервера.
228
229 *) Исправление: если бэкенд возвращал только заголовок ответа при
230 небуферизированном проксировании, то nginx закрывал соединение с
231 бэкендом по таймауту.
232
233 *) Исправление: nginx не поддерживал несколько строк "Connection" в
234 заголовке запроса.
235
236 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
237 методе $r->send_http_header(), не добавлялась кодировка, указанная в
238 директиве charset.
239
240 *) Исправление: при использовании метода /dev/poll в рабочем процессе
241 мог произойти segmentation fault.
242
243 *) Исправление: nginx не работал на FreeBSD/sparc64.
244
245 *) Исправление: если в директиве auth_http был задан неправильный
246 адрес, то в рабочем процессе происходил segmentation fault.
247
248 *) Исправление: теперь по умолчанию nginx использует значение 511 для
249 listen backlog на всех платформах, кроме FreeBSD.
250 Спасибо Jiang Hong.
251
252 *) Исправление: sendfilev() в Solaris теперь не используется при
253 передаче тела запроса FastCGI-серверу через unix domain сокет.
254
255 *) Исправление: при использовании одного хоста в качестве бэкендов для
256 протоколов HTTP и HTTPS без явного указания портов, nginx
257 использовал только один порт - 80 или 443.
258
259 *) Исправление: директивы proxy_ignore_client_abort и
260 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
261
262
263 Изменения в nginx 0.5.31 15.08.2007
264
265 *) Добавление: именованные location'ы.
266
267 *) Добавление: директивы proxy_store и fastcgi_store.
268
269 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
270
271
272 Изменения в nginx 0.5.30 30.07.2007
273
274 *) Добавление: переменную $args можно устанавливать с помощью set.
275
276 *) Добавление: переменная $is_args.
277
278 *) Исправление: если клиент в почтовом прокси-сервере закрывал
279 соединение, то nginx мог не закрывать соединение с бэкендом.
280
281 *) Исправление: теперь nginx экранирует пробел в переменной
282 $memcached_key.
283
284 *) Исправление: при использовании протокола HTTPS в директиве
285 proxy_pass в рабочем процессе мог произойти segmentation fault.
286
287 *) Исправление: значение perl'овой переменной $$ модуля
288 ngx_http_perl_module было равно номеру главного процесса.
289
290 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
291 более ранними версиями; ошибка появилась в 0.5.29.
292
293
294 Изменения в nginx 0.5.29 23.07.2007
295
296 *) Добавление: переменная $nginx_version.
297 Спасибо Николаю Гречуху.
298
299 *) Исправление: если заголовок ответа был разделён в FastCGI-записях,
300 то nginx передавал клиенту мусор в таких заголовках.
301
302 *) Исправление: совместимость с Sun Studio на Solaris/amd64 и
303 Solaris/sparc64.
304 Спасибо Jiang Hong и Андрею Нигматулину.
305
306 *) Исправление: незначительных потенциальных ошибок.
307 Спасибо Coverity's Scan.
308
309
310 Изменения в nginx 0.5.28 17.07.2007
311
312 *) Безопасность: при использовании директивы msie_refresh был возможен
313 XSS.
314 Спасибо Максиму Богуку.
315
316 *) Исправление: при использовании директивы auth_http_header в рабочем
317 процессе мог произойти segmentation fault.
318 Спасибо Максиму Дунину.
319
320 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
321 не был разрешён, то в рабочем процессе происходил segmentation fault.
322
323 *) Исправление: в рабочем процессе мог произойти segmentation fault,
324 если использовался метод eventport.
325
326
327 Изменения в nginx 0.5.27 09.07.2007
328
329 *) Исправление: при использовании удалённого подзапроса в SSI
330 последующий подзапрос локального файла мог отдаваться клиенту в
331 неверном порядке.
332
333 *) Исправление: большие включения в SSI, сохранённые во временные
334 файлы, передавались не полностью.
335
336
337 Изменения в nginx 0.5.26 17.06.2007
338
339 *) Исправление: в парсинге SSI.
340
341
342 Изменения в nginx 0.5.25 11.06.2007
343
344 *) Исправление: nginx не собирался с параметром
345 --without-http_rewrite_module; ошибка появилась в 0.5.24.
346
347
348 Изменения в nginx 0.5.24 06.06.2007
349
350 *) Безопасность: директива ssl_verify_client не работала, если запрос
351 выполнялся по протоколу HTTP/0.9.
352
353 *) Исправление: при использовании сжатия часть ответа могла
354 передаваться несжатой; ошибка появилась в 0.5.23.
355
356
357 Изменения в nginx 0.5.23 04.06.2007
358
359 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
360 Server Name Indication.
361
362 *) Добавление: директива fastcgi_catch_stderr.
363 Спасибо Николаю Гречуху, проект OWOX.
364
365 *) Исправление: на Линуксе в основном процессе происходил segmentation
366 fault, если два виртуальных сервера должны bind()ится к
367 пересекающимся портам.
368
369 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
370 perl поддерживал потоки, то во время второй переконфигурации
371 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
372
373 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
374
375
376 Изменения в nginx 0.5.22 29.05.2007
377
378 *) Исправление: большое тело запроса могло не передаваться бэкенду;
379 ошибка появилась в 0.5.21.
380
381
382 Изменения в nginx 0.5.21 28.05.2007
383
384 *) Исправление: если внутри сервера описано больше примерно десяти
385 location'ов, то location'ы, заданные с помощью регулярного
386 выражения, могли выполняться не в том, порядке, в каком они описаны.
387
388 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
389 если 33-тий по счёту или последующий бэкенд упал.
390 Спасибо Антону Поварову.
391
392 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64
393 мог произойти bus error.
394 Спасибо Андрею Нигматулину.
395
396 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
397
398
399 Изменения в nginx 0.5.20 07.05.2007
400
401 *) Добавление: директива sendfile_max_chunk.
402
403 *) Добавление: переменные "$http_...", "$sent_http_..." и
404 "$upstream_http_..." можно менять директивой set.
405
406 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
407 рабочем процессе мог произойти segmentation fault.
408
409 *) Исправление: завершающая строка multipart range ответа передавалась
410 неверно.
411 Спасибо Evan Miller.
412
413 *) Исправление: nginx не работал на Solaris/sparc64, если был собран
414 Sun Studio.
415 Спасибо Андрею Нигматулину.
416
417 *) Исправление: модуль ngx_http_perl_module не собирался make в
418 Solaris.
419 Спасибо Андрею Нигматулину.
420
421
422 Изменения в nginx 0.5.19 24.04.2007
423
424 *) Изменение: значение переменной $request_time теперь записывается с
425 точностью до миллисекунд.
426
427 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
428 переименован в $r->flush.
429
430 *) Добавление: переменная $upstream_addr.
431
432 *) Добавление: директивы proxy_headers_hash_max_size и
433 proxy_headers_hash_bucket_size.
434 Спасибо Володымыру Костырко.
435
436 *) Исправление: при использовании sendfile и limit_rate на 64-битных
437 платформах нельзя было передавать файлы больше 2G.
438
439 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
440 было передавать файлы больше 2G.
441
442
443 Изменения в nginx 0.5.18 19.04.2007
444
445 *) Добавление: модуль ngx_http_sub_filter_module.
446
447 *) Добавление: переменные "$upstream_http_...".
448
449 *) Добавление: теперь переменные $upstream_status и
450 $upstream_response_time содержат данные о всех обращениях к
451 апстримам, сделанным до X-Accel-Redirect.
452
453 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
454 perl не поддерживал multiplicity, то после первой переконфигурации и
455 после получения любого сигнала в основном процессе происходил
456 segmentation fault; ошибка появилась в 0.5.9.
457
458 *) Исправление: если perl не поддерживал multiplicity, то после
459 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
460
461
462 Изменения в nginx 0.5.17 02.04.2007
463
464 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
465
466 *) Добавление: теперь nginx поддерживает директиву include внутри блока
467 types.
468
469 *) Исправление: использование переменной $document_root в директиве
470 root и alias запрещено: оно вызывало рекурсивное переполнение стека.
471
472 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
473
474 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
475 $uri) возвращали старое закэшированное значение.
476
477
478 Изменения в nginx 0.5.16 26.03.2007
479
480 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
481 использовалась сеть класса С.
482 Спасибо Павлу Ярковому.
483
484 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
485 был указан charset и строка завершалась символом ";", то в рабочем
486 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
487
488 *) Исправление: ошибки "[alert] zero size buf" при работе с
489 FastCGI-сервером, если тело запроса, записанное во временный файл,
490 было кратно 32K.
491
492 *) Исправление: nginx не собирался на Solaris без параметра
493 --with-debug; ошибка появилась в 0.5.15.
494
495
496 Изменения в nginx 0.5.15 19.03.2007
497
498 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
499 SMTP-проксирование и директивы smtp_auth, smtp_capablities и
500 xclient.
501 Спасибо Антону Южанинову и Максиму Дунину.
502
503 *) Добавление: теперь keep-alive соединения закрываются сразу же по
504 получении сигнала переконфигурации.
505
506 *) Изменение: директивы imap и auth переименованы соответственно в mail
507 и pop3_auth.
508
509 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
510 был разрешён метод APOP, то в рабочем процессе происходил
511 segmentation fault.
512
513 *) Исправление: при использовании директивы starttls only в протоколе
514 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
515
516 *) Исправление: рабочие процессы не выходили после переконфигурации и
517 не переоткрывали логи, если использовался метод eventport.
518
519 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
520 зациклиться.
521
522 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
523 используются методы eventport или /dev/poll.
524
525
526 Изменения в nginx 0.5.14 23.02.2007
527
528 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
529 конфигурационного файла.
530
531
532 Изменения в nginx 0.5.13 19.02.2007
533
534 *) Добавление: методы COPY и MOVE.
535
536 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
537 запросов, переданных по keep-alive соединению.
538
539 *) Исправление: nginx не работал на 64-битном big-endian Linux.
540 Спасибо Андрею Нигматулину.
541
542 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
543 теперь сразу закрывает соединение, а не по таймауту.
544
545 *) Исправление: если при использовании метода epoll клиент закрывал
546 преждевременно соединение со своей стороны, то nginx закрывал это
547 соединение только по истечении таймаута на передачу.
548
549 *) Исправление: nginx не собирался на платформах, отличных от i386,
550 amd64, sparc и ppc; ошибка появилась в 0.5.8.
551
552
553 Изменения в nginx 0.5.12 12.02.2007
554
555 *) Исправление: nginx не собирался на платформах, отличных от i386,
556 amd64, sparc и ppc; ошибка появилась в 0.5.8.
557
558 *) Исправление: при использовании временных файлов в время работы с
559 FastCGI-сервером в рабочем процессе мог произойти segmentation
560 fault; ошибка появилась в 0.5.8.
561
562 *) Исправление: если переменная $fastcgi_script_name записывалась в
563 лог, то в рабочем процессе мог произойти segmentation fault.
564
565 *) Исправление: ngx_http_perl_module не собирался на Solaris.
566
567
568 Изменения в nginx 0.5.11 05.02.2007
569
570 *) Добавление: теперь configure определяет библиотеку PCRE в
571 MacPorts.
572 Спасибо Chris McGrath.
573
574 *) Исправление: ответ был неверным, если запрашивалось несколько
575 диапазонов; ошибка появилась в 0.5.6.
576
577 *) Исправление: директива create_full_put_path не могла создавать
578 промежуточные каталоги, если не была установлена директива
579 dav_access.
580 Спасибо Evan Miller.
581
582 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
583 записываться код "0".
584
585 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
586 произойти segmentation fault.
587
588
589 Изменения в nginx 0.5.10 26.01.2007
590
591 *) Исправление: во время обновления исполняемого файла новый процесс не
592 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
593
594 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
595 произойти segmentation fault; ошибка появилась в 0.5.1.
596
597
598 Изменения в nginx 0.5.9 25.01.2007
599
600 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
601 использует значение переменной $memcached_key.
602
603 *) Добавление: переменная $memcached_key.
604
605 *) Добавление: параметр clean в директиве client_body_in_file_only.
606
607 *) Добавление: директива env.
608
609 *) Добавление: директива sendfile работает внутри блока if.
610
611 *) Добавление: теперь при ошибке записи в access_log nginx записывает
612 сообщение в error_log, но не чаще одного раза в минуту.
613
614 *) Исправление: директива "access_log off" не всегда запрещала запись в
615 лог.
616
617
618 Изменения в nginx 0.5.8 19.01.2007
619
620 *) Исправление: если использовалась директива
621 "client_body_in_file_only on" и тело запроса было небольшое, то мог
622 произойти segmentation fault.
623
624 *) Исправление: происходил segmentation fault, если использовались
625 директивы "client_body_in_file_only on" и
626 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
627 делался переход к следующему бэкенду.
628
629 *) Исправление: если при использовании директивы "proxy_buffering off"
630 соединение с клиентом было неактивно, то оно закрывалось по
631 таймауту, заданному директивой send_timeout; ошибка появилась в
632 0.4.7.
633
634 *) Исправление: если при использовании метода epoll клиент закрывал
635 преждевременно соединение со своей стороны, то nginx закрывал это
636 соединение только по истечении таймаута на передачу.
637
638 *) Исправление: ошибки "[alert] zero size buf" при работе с
639 FastCGI-сервером.
640
641 *) Исправление ошибок в директиве limit_zone.
642
643
644 Изменения в nginx 0.5.7 15.01.2007
645
646 *) Добавление: оптимизация использования памяти в ssl_session_cache.
647
648 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
649
650 *) Исправление: на старте или во время переконфигурации происходил
651 segmentation fault, если директивы ssl_session_cache или limit_zone
652 использовались на 64-битных платформах.
653
654 *) Исправление: при использовании директив add_before_body или
655 add_after_body происходил segmentation fault, если в заголовке
656 ответа нет строки "Content-Type".
657
658 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
659 потоков.
660 Спасибо Дену Иванову.
661
662 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
663
664
665 Изменения в nginx 0.5.6 09.01.2007
666
667 *) Изменение: теперь модуль ngx_http_index_module игнорирует все
668 методы, кроме GET, HEAD и POST.
669
670 *) Добавление: модуль ngx_http_limit_zone_module.
671
672 *) Добавление: переменная $binary_remote_addr.
673
674 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module
675 и ngx_imap_ssl_module.
676
677 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
678
679 *) Исправление: при использовании $r->sendfile() byte-ranges
680 передавались неверно.
681
682
683 Изменения в nginx 0.5.5 24.12.2006
684
685 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
686
687 *) Добавление: ключ -V.
688
689 *) Добавление: директива worker_rlimit_core поддерживает указание
690 размера в K, M и G.
691
692 *) Исправление: модуль nginx.pm теперь может устанавливаться
693 непривилегированным пользователем.
694
695 *) Исправление: при использовании методов $r->request_body или
696 $r->request_body_file мог произойти segmentation fault.
697
698 *) Исправление: ошибок, специфичных для платформы ppc.
699
700
701 Изменения в nginx 0.5.4 15.12.2006
702
703 *) Добавление: директиву perl можно использовать внутри блока
704 limit_except.
705
706 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
707 заголовке запроса для метода DELETE.
708
709 *) Исправление: при использовании одного параметра в директиве
710 dav_access nginx мог сообщить об ошибке в конфигурации.
711
712 *) Исправление: при использовании переменной $host мог произойти
713 segmentation fault; ошибка появилась в 0.4.14.
714
715
716 Изменения в nginx 0.5.3 13.12.2006
717
718 *) Добавление: модуль ngx_http_perl_module поддерживает методы
719 $r->status, $r->log_error и $r->sleep.
720
721 *) Добавление: метод $r->variable поддерживает переменные, неописанные
722 в конфигурации nginx'а.
723
724 *) Исправление: метод $r->has_request_body не работал.
725
726
727 Изменения в nginx 0.5.2 11.12.2006
728
729 *) Исправление: если в директивах proxy_pass использовалось имя,
730 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
731 ошибка появилась в 0.5.1.
732
733
734 Изменения в nginx 0.5.1 11.12.2006
735
736 *) Исправление: директива post_action могла не работать после
737 неудачного завершения запроса.
738
739 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в
740 0.4.11.
741 Спасибо Bron Gondwana.
742
743 *) Исправление: при указании в директиве fastcgi_pass имени описанного
744 upstream'а выдавалось сообщение "no port in upstream"; ошибка
745 появилась в 0.5.0.
746
747 *) Исправление: если в директивах proxy_pass и fastcgi_pass
748 использовались одинаковых имена серверов, но с разными портами, то
749 эти директивы использовали первый описанный порт; ошибка появилась в
750 0.5.0.
751
752 *) Исправление: если в директивах proxy_pass и fastcgi_pass
753 использовались unix domain сокеты, то эти директивы использовали
754 первый описанный сокет; ошибка появилась в 0.5.0.
755
756 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
757 если он был указан в последней строке файла паролей и после пароля
758 не было перевода строки, возврата каретки или символа ":".
759
760 *) Исправление: переменная $upstream_response_time могла быть равна
761 "0.000", хотя время обработки было больше 1 миллисекунды.
762
763
764 Изменения в nginx 0.5.0 04.12.2006
765
766 *) Изменение: параметры в виде "%name" в директиве log_format больше не
767 поддерживаются.
768
769 *) Изменение: директивы proxy_upstream_max_fails,
770 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
771 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
772 memcached_upstream_fail_timeout больше не поддерживаются.
773
774 *) Добавление: директива server в блоке upstream поддерживает параметры
775 max_fails, fail_timeout и down.
776
777 *) Добавление: директива ip_hash в блоке upstream.
778
779 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
780 сервера аутентификации IMAP/POP3 прокси.
781
782 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
783 появилась в 0.4.14.
784
785
786 Изменения в nginx 0.4.14 27.11.2006
787
788 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
789
790 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
791 Linux и NetBSD.
792
793 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
794 поддержкой потоков; ошибка появилась в 0.3.38.
795
796 *) Исправление: ngx_http_perl_module не работал корректно, если перл
797 вызывался рекурсивно.
798
799 *) Исправление: nginx игнорировал имя сервера в строке запроса.
800
801 *) Исправление: если FastCGI сервер передавал много в stderr, то
802 рабочий процесс мог зациклиться.
803
804 *) Исправление: при изменении системного времени переменная
805 $upstream_response_time могла быть отрицательной.
806
807 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
808 прокси не передавался параметр Auth-Login-Attempt.
809
810 *) Исправление: при ошибке соединения с сервером аутентификации
811 IMAP/POP3 прокси мог произойти segmentation fault.
812
813
814 Изменения в nginx 0.4.13 15.11.2006
815
816 *) Добавление: директиву proxy_pass можно использовать внутри блока
817 limit_except.
818
819 *) Добавление: директива limit_except поддерживает все WebDAV методы.
820
821 *) Исправление: при использовании директивы add_before_body без
822 директивы add_after_body ответ передавался не полностью.
823
824 *) Исправление: большое тело запроса не принималось, если
825 использовались метод epoll и deferred accept().
826
827 *) Исправление: для ответов модуля ngx_http_autoindex_module не
828 выставлялась кодировка; ошибка появилась в 0.3.50.
829
830 *) Исправление: ошибки "[alert] zero size buf" при работе с
831 FastCGI-сервером;
832
833 *) Исправление: параметр конфигурации --group= игнорировался.
834 Спасибо Thomas Moschny.
835
836 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка
837 появилась в 0.3.50.
838
839
840 Изменения в nginx 0.4.12 31.10.2006
841
842 *) Добавление: модуль ngx_http_perl_module поддерживает метод
843 $r->variable.
844
845 *) Исправление: при включении в ответ большого статического файла с
846 помощью SSI ответ мог передаваться не полностью.
847
848 *) Исправление: nginx не убирал "#fragment" в URI.
849
850
851 Изменения в nginx 0.4.11 25.10.2006
852
853 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
854
855 *) Добавление: модуль ngx_http_perl_module поддерживает метод
856 $r->allow_ranges.
857
858 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
859 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
860
861
862 Изменения в nginx 0.4.10 23.10.2006
863
864 *) Добавление: POP3 прокси поддерживает APOP.
865
866 *) Исправление: при использовании методов select, poll и /dev/poll во
867 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
868 нагружал процессор.
869
870 *) Исправление: при использовании переменной $server_addr в директиве
871 map мог произойти segmentation fault.
872
873 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
874 для полных ответов; ошибка появилась в 0.4.7.
875
876 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
877 0.4.9.
878
879
880 Изменения в nginx 0.4.9 13.10.2006
881
882 *) Добавление: параметр set в команде SSI include.
883
884 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
885 модуля nginx.pm.
886
887
888 Изменения в nginx 0.4.8 11.10.2006
889
890 *) Исправление: если до команды SSI include с параметром wait
891 выполнялась ещё одна команда SSI include, то параметр wait мог не
892 работать.
893
894 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
895 полных ответов.
896 Спасибо Алексею Ковырину.
897
898
899 Изменения в nginx 0.4.7 10.10.2006
900
901 *) Добавление: модуль ngx_http_flv_module.
902
903 *) Добавление: переменная $request_body_file.
904
905 *) Добавление: директивы charset и source_charset поддерживают
906 переменные.
907
908 *) Исправление: если до команды SSI include с параметром wait
909 выполнялась ещё одна команда SSI include, то параметр wait мог не
910 работать.
911
912 *) Исправление: при использовании директивы "proxy_buffering off" или
913 при работе с memcached соединения могли не закрываться по таймауту.
914
915 *) Исправление: nginx не запускался на 64-битных платформах, отличных
916 от amd64, sparc64 и ppc64.
917
918
919 Изменения в nginx 0.4.6 06.10.2006
920
921 *) Исправление: nginx не запускался на 64-битных платформах, отличных
922 от amd64, sparc64 и ppc64.
923
924 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
925 chunk'ами, если длина ответа в методе
926 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
927
928 *) Исправление: после перенаправления ошибки с помощью директивы
929 error_page любая директива модуля ngx_http_rewrite_module возвращала
930 эту ошибку; ошибка появилась в 0.4.4.
931
932
933 Изменения в nginx 0.4.5 02.10.2006
934
935 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
936 в 0.4.4.
937
938
939 Изменения в nginx 0.4.4 02.10.2006
940
941 *) Добавление: переменная $scheme.
942
943 *) Добавление: директива expires поддерживает параметр max.
944
945 *) Добавление: директива include поддерживает маску "*".
946 Спасибо Jonathan Dance.
947
948 *) Исправление: директива return всегда изменяла код ответа,
949 перенаправленного директивой error_page.
950
951 *) Исправление: происходил segmentation fault, если в методе PUT
952 передавалось тело нулевой длины.
953
954 *) Исправление: при использовании переменных в директиве proxy_redirect
955 редирект изменялся неверно.
956
957
958 Изменения в nginx 0.4.3 26.09.2006
959
960 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью
961 директивы error_page.
962
963 *) Добавление: поддержка Solaris 10 event ports.
964
965 *) Добавление: модуль ngx_http_browser_module.
966
967 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
968 помощью директивы error_page мог произойти segmentation fault.
969
970 *) Исправление: происходил segmentation fault, если в директиве
971 proxy_pass использовался unix domain сокет; ошибка появилась в
972 0.3.47.
973
974 *) Исправление: SSI не работал с ответами memcached и
975 небуферизированными проксированными ответами.
976
977 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
978
979
980 Изменения в nginx 0.4.2 14.09.2006
981
982 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
983 появилась в 0.4.1.
984
985
986 Изменения в nginx 0.4.1 14.09.2006
987
988 *) Исправление: совместимость с DragonFlyBSD.
989 Спасибо Павлу Назарову.
990
991 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
992 файлов больше 2G.
993
994 *) Добавление: теперь на Linux nginx для статических запросов
995 использует флаг O_NOATIME.
996 Спасибо Yusuf Goolamabbas.
997
998
999 Изменения в nginx 0.4.0 30.08.2006
1000
1001 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена
1002 из фазы init module в фазу HTTP postconfiguration.
1003
1004 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
1005 считывается заранее: нужно явно инициировать чтение с помощью метода
1006 $r->has_request_body.
1007
1008 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
1009 DECLINED.
1010
1011 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
1012 заголовка "Date" для метода PUT.
1013
1014 *) Добавление: директива ssi работает внутри блока if.
1015
1016 *) Исправление: происходил segmentation fault, если в директиве index
1017 использовалась переменные и при этом первое имя индексного файла
1018 было без переменных; ошибка появилась в 0.1.29.
1019
1020
1021 Изменения в nginx 0.3.61 28.08.2006
1022
1023 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
1024
1025 *) Добавление: директива msie_refresh.
1026
1027 *) Добавление: директива recursive_error_pages.
1028
1029 *) Исправление: директива rewrite возвращала неправильный редирект,
1030 если редирект включал в себя выделенные закодированные символы из
1031 оригинального URI.
1032
1033
1034 Изменения в nginx 0.3.60 18.08.2006
1035
1036 *) Исправление: во время перенаправления ошибки рабочий процесс мог
1037 зациклиться; ошибка появилась в 0.3.59.
1038
1039
1040 Изменения в nginx 0.3.59 16.08.2006
1041
1042 *) Добавление: теперь можно делать несколько перенаправлений через
1043 директиву error_page.
1044
1045 *) Исправление: директива dav_access не поддерживала три параметра.
1046
1047 *) Исправление: директива error_page не изменяла строку "Content-Type"
1048 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
1049 в 0.3.58.
1050
1051
1052 Изменения в nginx 0.3.58 14.08.2006
1053
1054 *) Добавление: директива error_page поддерживает переменные.
1055
1056 *) Изменение: теперь на Linux используется интерфейс procfs вместо
1057 sysctl.
1058
1059 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
1060 "Content-Type" наследуется из первоначального ответа.
1061
1062 *) Исправление: директива error_page не перенаправляла ошибку 413.
1063
1064 *) Исправление: завершающий "?" не удалял старые аргументы, если в
1065 переписанном URI не было новых аргументов.
1066
1067 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
1068
1069
1070 Изменения в nginx 0.3.57 09.08.2006
1071
1072 *) Добавление: переменная $ssl_client_serial.
1073
1074 *) Исправление: в операторе "!-e" в директиве if.
1075 Спасибо Андриану Буданцову.
1076
1077 *) Исправление: при проверке клиентского сертификата nginx не передавал
1078 клиенту информацию о требуемых сертификатах.
1079
1080 *) Исправление: переменная $document_root не поддерживала переменные в
1081 директиве root.
1082
1083
1084 Изменения в nginx 0.3.56 04.08.2006
1085
1086 *) Добавление: директива dav_access.
1087
1088 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
1089 "!-e", "-x" и "!-x".
1090
1091 *) Исправление: при записи в access_log некоторых передаваемых клиенту
1092 строк заголовков происходил segmentation fault, если запрос
1093 возвращал редирект.
1094
1095
1096 Изменения в nginx 0.3.55 28.07.2006
1097
1098 *) Добавление: параметр stub в команде SSI include.
1099
1100 *) Добавление: команда SSI block.
1101
1102 *) Добавление: скрипт unicode2nginx добавлен в contrib.
1103
1104 *) Исправление: если root был задан только переменной, то корень
1105 задавался относительно префикса сервера.
1106
1107 *) Исправление: если в запросе был "//" или "/.", и после этого
1108 закодированные символы в виде "%XX", то проксируемый запрос
1109 передавался незакодированным.
1110
1111 *) Исправление: метод $r->header_in("Cookie") модуля
1112 ngx_http_perl_module теперь возвращает все строки "Cookie" в
1113 заголовке запроса.
1114
1115 *) Исправление: происходил segmentation fault, если использовался
1116 "client_body_in_file_only on" и делался переход к следующему бэкенду.
1117
1118 *) Исправление: при некоторых условиях во время переконфигурации коды
1119 символов внутри директивы charset_map могли считаться неверными;
1120 ошибка появилась в 0.3.50.
1121
1122
1123 Изменения в nginx 0.3.54 11.07.2006
1124
1125 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
1126
1127 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
1128 memcached_next_upstream поддерживают параметр off.
1129
1130 *) Добавление: директива debug_connection поддерживает запись адресов в
1131 формате CIDR.
1132
1133 *) Исправление: при перекодировании ответа проксированного сервера или
1134 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
1135 полностью.
1136
1137 *) Исправление: переменная $upstream_response_time содержала время
1138 только первого обращения к бэкенду.
1139
1140 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
1141 в 0.3.53.
1142
1143
1144 Изменения в nginx 0.3.53 07.07.2006
1145
1146 *) Изменение: директива add_header добавляет строки в ответы с кодом
1147 204, 301 и 302.
1148
1149 *) Добавление: директива server в блоке upstream поддерживает параметр
1150 weight.
1151
1152 *) Добавление: директива server_name поддерживает маску "*".
1153
1154 *) Добавление: nginx поддерживает тело запроса больше 2G.
1155
1156 *) Исправление: если при использовании "satisfy_any on" клиент успешно
1157 проходил аутентификацию, в лог всё равно записалоcь сообщение
1158 "access forbidden by rule".
1159
1160 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
1161 409.
1162
1163 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
1164 ошибку, nginx продолжал проксирование.
1165
1166
1167 Изменения в nginx 0.3.52 03.07.2006
1168
1169 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
1170 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
1171 ошибку 405.
1172
1173 *) Исправление: при использовании ограничения скорости рабочий процесс
1174 мог зациклиться; ошибка появилась в 0.3.37.
1175
1176 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
1177 "unknown charset", даже если перекодировка не требовалась; ошибка
1178 появилась в 0.3.50.
1179
1180 *) Исправление: если в результате запроса PUT возвращался код 409, то
1181 временный файл не удалялся.
1182
1183
1184 Изменения в nginx 0.3.51 30.06.2006
1185
1186 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
1187 ошибка появилась в 0.3.50.
1188
1189
1190 Изменения в nginx 0.3.50 28.06.2006
1191
1192 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
1193 переименованы соответственно в proxy_intercept_errors и
1194 fastcgi_intercept_errors.
1195
1196 *) Добавление: модуль ngx_http_charset_module поддерживает
1197 перекодирование из однобайтных кодировок в UTF-8 и обратно.
1198
1199 *) Добавление: в режиме прокси и FastCGI поддерживается строка
1200 заголовка "X-Accel-Charset" в ответе бэкенда.
1201
1202 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
1203 только если также использовался символ "$".
1204
1205 *) Исправление: при некоторых условиях в SSI после вставки могла быть
1206 добавлена строка "<!--".
1207
1208 *) Исправление: если в заголовке ответа была строка
1209 "Content-Length: 0", то при использовании небуферизированного
1210 проксировании не закрывалось соединение с клиентом.
1211
1212
1213 Изменения в nginx 0.3.49 31.05.2006
1214
1215 *) Исправление: в директиве set.
1216
1217 *) Исправление: при включении в ssi двух и более подзапросов,
1218 обрабатываемых через FastCGI, вместо вывода второго и остальных
1219 подзапросов в ответ включался вывод первого подзапроса.
1220
1221
1222 Изменения в nginx 0.3.48 29.05.2006
1223
1224 *) Изменение: теперь модуль ngx_http_charset_module работает для
1225 подзапросов, в ответах которых нет строки заголовка "Content-Type".
1226
1227 *) Исправление: если в директиве proxy_pass не было URI, то директива
1228 "proxy_redirect default" добавляла в переписанный редирект в начало
1229 лишний слэш.
1230
1231 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
1232 GET, теперь это делается только для редиректов, выполняемых с
1233 помощью X-Accel-Redirect, и у которых метод не равен HEAD; ошибка
1234 появилась в 0.3.42.
1235
1236 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
1237 с поддержкой потоков; ошибка появилась в 0.3.46.
1238
1239
1240 Изменения в nginx 0.3.47 23.05.2006
1241
1242 *) Добавление: директива upstream.
1243
1244 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
1245 всегда убирается.
1246
1247
1248 Изменения в nginx 0.3.46 11.05.2006
1249
1250 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
1251 fastcgi_hide_header и fastcgi_pass_header.
1252
1253 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
1254 proxy_pass_server упразднены.
1255
1256 *) Добавление: в режиме прокси поддерживается строка заголовка
1257 "X-Accel-Buffering" в ответе бэкенда.
1258
1259 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
1260 ngx_http_perl_module.
1261
1262
1263 Изменения в nginx 0.3.45 06.05.2006
1264
1265 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
1266 ssl_client_certificate.
1267
1268 *) Изменение: теперь переменная $request_method возвращает метод только
1269 основного запроса.
1270
1271 *) Изменение: в таблице перекодировки koi-win изменены коды символа
1272 &deg;.
1273
1274 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
1275 номера.
1276
1277 *) Исправление: если nginx распределял запросы на несколько машин, то
1278 при падении одной из них запросы, предназначенные для этой машины,
1279 перенаправлялись только на одну машину вместо того, чтобы равномерно
1280 распределяться между остальными.
1281
1282
1283 Изменения в nginx 0.3.44 04.05.2006
1284
1285 *) Добавление: параметр wait в команде SSI include.
1286
1287 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
1288 белорусские символы.
1289
1290 *) Исправление: в SSI.
1291
1292
1293 Изменения в nginx 0.3.43 26.04.2006
1294
1295 *) Исправление: в SSI.
1296
1297
1298 Изменения в nginx 0.3.42 26.04.2006
1299
1300 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
1301
1302 *) Исправление: ошибки при использовании в директиве rewrite одного и
1303 того же выделения более одного раза.
1304
1305 *) Исправление: в лог не записывались переменные
1306 $sent_http_content_type, $sent_http_content_length,
1307 $sent_http_last_modified, $sent_http_connection,
1308 $sent_http_keep_alive и $sent_http_transfer_encoding.
1309
1310 *) Исправление: переменная $sent_http_cache_control возвращала
1311 содержимое только одной строки "Cache-Control" в заголовке ответа.
1312
1313
1314 Изменения в nginx 0.3.41 21.04.2006
1315
1316 *) Добавление: ключ -v.
1317
1318 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
1319 segmentation fault.
1320
1321 *) Исправление: в обработке FastCGI.
1322
1323 *) Исправление: если путь к перловым модулям не был указан с помощью
1324 --with-perl_modules_path=PATH или директивы perl_modules, то на
1325 старте происходил segmentation fault.
1326
1327
1328 Изменения в nginx 0.3.40 19.04.2006
1329
1330 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
1331
1332 *) Добавление: директива create_full_put_path.
1333
1334 *) Добавление: переменная $limit_rate.
1335
1336
1337 Изменения в nginx 0.3.39 17.04.2006
1338
1339 *) Добавление: директива uninitialized_variable_warn; уровень
1340 логгирования сообщения о неинициализированной переменной понижен с
1341 уровня alert на warn.
1342
1343 *) Добавление: директива override_charset.
1344
1345 *) Изменение: при использовании неизвестной переменной в SSI-командах
1346 echo и if expr='$name' теперь не записывается в лог сообщение о
1347 неизвестной переменной.
1348
1349 *) Исправление: счётчик активных соединений рос при превышении лимита
1350 соединений, заданного директивой worker_connections; ошибка
1351 появилась в 0.2.0.
1352
1353 *) Исправление: при некоторых условия ограничение скорости соединения
1354 могло не работать; ошибка появилась в 0.3.38.
1355
1356
1357 Изменения в nginx 0.3.38 14.04.2006
1358
1359 *) Добавление: модуль ngx_http_dav_module.
1360
1361 *) Изменение: оптимизация модуля ngx_http_perl_module.
1362 Спасибо Сергею Скворцову.
1363
1364 *) Добавление: модуль ngx_http_perl_module поддерживает метод
1365 $r->request_body_file.
1366
1367 *) Добавление: директива client_body_in_file_only.
1368
1369 *) Изменение: теперь при переполнении диска nginx пытается писать
1370 access_log'и только раз в секунду.
1371 Спасибо Антону Южанинову и Максиму Дунину.
1372
1373 *) Исправление: теперь директива limit_rate точнее ограничивает
1374 скорость при значениях больше 100 Kbyte/s.
1375 Спасибо ForJest.
1376
1377 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
1378 символы "\r" и "\n" в логине и пароле в закодированном виде.
1379 Спасибо Максиму Дунину.
1380
1381
1382 Изменения в nginx 0.3.37 07.04.2006
1383
1384 *) Добавление: директива limit_except.
1385
1386 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
1387 "!-f".
1388
1389 *) Добавление: модуль ngx_http_perl_module поддерживает метод
1390 $r->request_body.
1391
1392 *) Исправление: в модуле ngx_http_addition_filter_module.
1393
1394
1395 Изменения в nginx 0.3.36 05.04.2006
1396
1397 *) Добавление: модуль ngx_http_addition_filter_module.
1398
1399 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
1400 внутри блока if.
1401
1402 *) Добавление: директивы proxy_ignore_client_abort и
1403 fastcgi_ignore_client_abort.
1404
1405 *) Добавление: переменная $request_completion.
1406
1407 *) Добавление: модуль ngx_http_perl_module поддерживает методы
1408 $r->request_method и $r->remote_addr.
1409
1410 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
1411
1412 *) Исправление: строка "\/" в начале выражения команды if модуля
1413 ngx_http_ssi_module воспринималась неверно.
1414
1415 *) Исправление: в использовании регулярных выражениях в команде if
1416 модуля ngx_http_ssi_module.
1417
1418 *) Исправление: при задании относительного пути в директивах
1419 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
1420 perl_modules использовался каталог относительно текущего каталога, а
1421 не относительно префикса сервера.
1422
1423
1424 Изменения в nginx 0.3.35 22.03.2006
1425
1426 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
1427 для первой директивы listen; ошибка появилась в 0.3.31.
1428
1429 *) Исправление: в директиве proxy_pass без URI при использовании в
1430 подзапросе.
1431
1432
1433 Изменения в nginx 0.3.34 21.03.2006
1434
1435 *) Добавление: директива add_header поддерживает переменные.
1436
1437
1438 Изменения в nginx 0.3.33 15.03.2006
1439
1440 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
1441 fastcgi_next_upstream.
1442
1443 *) Исправление: ngx_http_perl_module не работал со встроенным в
1444 конфигурационный файл кодом, если он не начинался сразу же с "sub".
1445
1446 *) Исправление: в директиве post_action.
1447
1448
1449 Изменения в nginx 0.3.32 11.03.2006
1450
1451 *) Исправление: удаление отладочного логгирования на старте и при
1452 переконфигурации; ошибка появилась в 0.3.31.
1453
1454
1455 Изменения в nginx 0.3.31 10.03.2006
1456
1457 *) Изменение: теперь nginx передаёт неверные ответы проксированного
1458 бэкенда.
1459
1460 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
1461
1462 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
1463
1464 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
1465 64-битном ядре MacOSX.
1466 Спасибо Андрею Нигматулину.
1467
1468 *) Исправление: если внутри одного сервера описаны несколько директив
1469 listen, слушающих на разных адресах, то имена серверов вида
1470 "*.domain.tld" работали только для первого адреса; ошибка появилась
1471 в 0.3.18.
1472
1473 *) Исправление: при использовании протокола HTTPS в директиве
1474 proxy_pass не передавались запросы с телом, записанным во временный
1475 файл.
1476
1477 *) Исправление: совместимость с perl 5.8.8.
1478
1479
1480 Изменения в nginx 0.3.30 22.02.2006
1481
1482 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
1483 с уровня crit.
1484
1485 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
1486 ngx_http_ssi_filter_module.
1487
1488 *) Исправление: nginx не собирался на i386 платформе, если
1489 использовался PIC; ошибка появилась в 0.3.27.
1490
1491
1492 Изменения в nginx 0.3.29 20.02.2006
1493
1494 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
1495 FastCGI передаёт большое количество предупреждений перед ответом.
1496
1497 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
1498 строка заголовка "Transfer-Encoding: chunked".
1499
1500 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
1501 передавал полные строки заголовка ответа в отдельных FastCGI записях.
1502
1503 *) Исправление: если в директиве post_action был указан проксируемый
1504 URI, то он выполнялся только после успешного завершения запроса.
1505
1506
1507 Изменения в nginx 0.3.28 16.02.2006
1508
1509 *) Добавление: директива restrict_host_names упразднена.
1510
1511 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
1512
1513 *) Исправление: при некоторых условиях проксированное соединение с
1514 клиентом завершалось преждевременно.
1515 Спасибо Владимиру Шутову.
1516
1517 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась
1518 для запросов, перенаправленных с помощью строки "X-Accel-Redirect".
1519
1520 *) Исправление: директива post_action работала только после успешного
1521 завершения запроса.
1522
1523 *) Исправление: тело проксированного ответа, создаваемого директивой
1524 post_action, передавалось клиенту.
1525
1526
1527 Изменения в nginx 0.3.27 08.02.2006
1528
1529 *) Изменение: директивы variables_hash_max_size и
1530 variables_hash_bucket_size.
1531
1532 *) Добавление: переменная $body_bytes_sent доступна не только в
1533 директиве log_format.
1534
1535 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
1536
1537 *) Добавление: определение размера строки кэша распространённых
1538 процессоров при старте.
1539
1540 *) Добавление: директива accept_mutex теперь поддерживается посредством
1541 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
1542
1543 *) Добавление: директива lock_file и параметр автоконфигурации
1544 --with-lock-path=PATH.
1545
1546 *) Исправление: при использовании протокола HTTPS в директиве
1547 proxy_pass не передавались запросы с телом.
1548
1549
1550 Изменения в nginx 0.3.26 03.02.2006
1551
1552 *) Изменение: директива optimize_host_names переименована в
1553 optimize_server_names.
1554
1555 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
1556 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
1557
1558
1559 Изменения в nginx 0.3.25 01.02.2006
1560
1561 *) Исправление: при неверной конфигурации на старте или во время
1562 переконфигурации происходил segmentation fault; ошибка появилась в
1563 0.3.24.
1564
1565
1566 Изменения в nginx 0.3.24 01.02.2006
1567
1568 *) Изменение: обход ошибки в kqueue во FreeBSD.
1569
1570 *) Исправление: ответ, создаваемый директивой post_action, теперь не
1571 передаётся клиенту.
1572
1573 *) Исправление: при использовании большого количества лог-файлов
1574 происходила утечка памяти.
1575
1576 *) Исправление: внутри одного location работала только первая директива
1577 proxy_redirect.
1578
1579 *) Исправление: на 64-битных платформах при старте мог произойти
1580 segmentation fault, если использовалось большое количество имён в
1581 директивах server_name; ошибка появилась в 0.3.18.
1582
1583
1584 Изменения в nginx 0.3.23 24.01.2006
1585
1586 *) Добавление: директива optimize_host_names.
1587
1588 *) Исправление: ошибки при использовании переменных в директивах path и
1589 alias.
1590
1591 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
1592 Linux и Solaris.
1593
1594
1595 Изменения в nginx 0.3.22 17.01.2006
1596
1597 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
1598 и $r->unescape.
1599
1600 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
1601 упразднён.
1602
1603 *) Исправление: если в директиве valid_referers указаны только none или
1604 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
1605
1606
1607 Изменения в nginx 0.3.21 16.01.2006
1608
1609 *) Добавление: модуль ngx_http_perl_module.
1610
1611 *) Изменение: директива valid_referers разрешает использовать рефереры
1612 совсем без URI.
1613
1614
1615 Изменения в nginx 0.3.20 11.01.2006
1616
1617 *) Исправление: ошибки в обработке SSI.
1618
1619 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
1620 виде /uri?args.
1621
1622
1623 Изменения в nginx 0.3.19 28.12.2005
1624
1625 *) Добавление: директивы path и alias поддерживают переменные.
1626
1627 *) Изменение: теперь директива valid_referers опять учитывает URI.
1628
1629 *) Исправление: ошибки в обработке SSI.
1630
1631
1632 Изменения в nginx 0.3.18 26.12.2005
1633
1634 *) Добавление: директива server_names поддерживает имена вида
1635 ".domain.tld".
1636
1637 *) Добавление: директива server_names использует хэш для имён вида
1638 "*.domain.tld" и более эффективный хэш для обычных имён.
1639
1640 *) Изменение: директивы server_names_hash_max_size и
1641 server_names_hash_bucket_size.
1642
1643 *) Изменение: директивы server_names_hash и server_names_hash_threshold
1644 упразднены.
1645
1646 *) Добавление: директива valid_referers использует хэш для имён сайтов.
1647
1648 *) Изменение: теперь директива valid_referers проверяет только имена
1649 сайтов без учёта URI.
1650
1651 *) Исправление: некоторые имена вида ".domain.tld" неверно
1652 обрабатывались модулем ngx_http_map_module.
1653
1654 *) Исправление: если конфигурационного файла не было, то происходил
1655 segmentation fault; ошибка появилась в 0.3.12.
1656
1657 *) Исправление: на 64-битных платформах при старте мог произойти
1658 segmentation fault; ошибка появилась в 0.3.16.
1659
1660
1661 Изменения в nginx 0.3.17 18.12.2005
1662
1663 *) Изменение: на Linux configure теперь проверяет наличие epoll и
1664 sendfile64() в ядре.
1665
1666 *) Добавление: директива map поддерживает доменные имена в формате
1667 ".domain.tld".
1668
1669 *) Исправление: во время SSL handshake не иcпользовались таймауты;
1670 ошибка появилась в 0.2.4.
1671
1672 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
1673
1674 *) Исправление: при использовании протокола HTTPS в директиве
1675 proxy_pass по умолчанию использовался порт 80.
1676
1677
1678 Изменения в nginx 0.3.16 16.12.2005
1679
1680 *) Добавление: модуль ngx_http_map_module.
1681
1682 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
1683
1684 *) Добавление: директива ssi_value_length.
1685
1686 *) Добавление: директива worker_rlimit_core.
1687
1688 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
1689 Pentium 4 номер соединения в логах всегда был равен 1.
1690
1691 *) Исправление: команда config timefmt в SSI задавала неверный формат
1692 времени.
1693
1694 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
1695 использовании SSL соединений; ошибка появилась в 0.3.13.
1696 Спасибо Rob Mueller.
1697
1698 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
1699 ошибка появилась в 0.3.13.
1700
1701
1702 Изменения в nginx 0.3.15 07.12.2005
1703
1704 *) Добавление: новой код 444 в директиве return для закрытия соединения.
1705
1706 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
1707
1708 *) Исправление: nginx теперь вызывает abort() при обнаружении
1709 незакрытых соединений только при планом выходе и включённой
1710 директиве debug_points.
1711
1712
1713 Изменения в nginx 0.3.14 05.12.2005
1714
1715 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
1716 в 0.3.13.
1717
1718
1719 Изменения в nginx 0.3.13 05.12.2005
1720
1721 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
1722
1723 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
1724 /dev/poll.
1725
1726 *) Исправление: ошибки в обработке SSI.
1727
1728 *) Исправление: sendfilev() в Solaris теперь не используется при
1729 передаче тела запроса FastCGI-серверу через unix domain сокет.
1730
1731 *) Исправление: директива auth_basic не запрещала аутентификацию;
1732 ошибка появилась в 0.3.11.
1733
1734
1735 Изменения в nginx 0.3.12 26.11.2005
1736
1737 *) Безопасность: если nginx был собран с модулем
1738 ngx_http_realip_module, то при использовании директивы "satisfy_any
1739 on" директивы доступа и аутентификации не работали. Модуль
1740 ngx_http_realip_module не собирался и не собирается по умолчанию.
1741
1742 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
1743
1744 *) Изменение: директивы proxy_header_buffer_size и
1745 fastcgi_header_buffer_size переименованы соответственно в
1746 proxy_buffer_size и fastcgi_buffer_size.
1747
1748 *) Добавление: модуль ngx_http_memcached_module.
1749
1750 *) Добавление: директива proxy_buffering.
1751
1752 *) Исправление: изменение в работе с accept mutex при использовании
1753 метода rtsig; ошибка появилась в 0.3.0.
1754
1755 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
1756 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
1757
1758 *) Исправление: при наследовании директивы auth_basic с уровня http в
1759 строке "WWW-Authenticate" заголовка ответа выводился realm без
1760 текста "Basic realm".
1761
1762 *) Исправление: если в директиве access_log был явно указан формат
1763 combined, то в лог записывались пустые строки; ошибка появилась в
1764 0.3.8.
1765
1766 *) Исправление: nginx не работал на платформе sparc под любыми OS,
1767 кроме Solaris.
1768
1769 *) Исправление: в директиве if теперь не нужно разделять пробелом
1770 строку в кавычках и закрывающую скобку.
1771
1772
1773 Изменения в nginx 0.3.11 15.11.2005
1774
1775 *) Исправление: nginx не передавал при проксировании тело запроса и
1776 строки заголовка клиента; ошибка появилась в 0.3.10.
1777
1778
1779 Изменения в nginx 0.3.10 15.11.2005
1780
1781 *) Изменение: директива valid_referers и переменная $invalid_referer
1782 перенесены из модуля ngx_http_rewrite_module в новый модуль
1783 ngx_http_referer_module.
1784
1785 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
1786 "$body_bytes_sent".
1787
1788 *) Добавление: переменные "$sent_http_...".
1789
1790 *) Добавление: директива if поддерживает операции "=" и "!=".
1791
1792 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
1793
1794 *) Добавление: директива proxy_set_body.
1795
1796 *) Добавление: директива post_action.
1797
1798 *) Добавление: модуль ngx_http_empty_gif_module.
1799
1800 *) Добавление: директива worker_cpu_affinity для Linux.
1801
1802 *) Исправление: директива rewrite не раскодировала символы в редиректах
1803 в URI, теперь символы раскодируются, кроме символов %00-%25 и
1804 %7F-%FF.
1805
1806 *) Исправление: nginx не собирался компилятором icc 9.0.
1807
1808 *) Исправление: если для статического файла нулевого размера был
1809 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
1810
1811
1812 Изменения в nginx 0.3.9 10.11.2005
1813
1814 *) Исправление: nginx считал небезопасными URI, в которых между двумя
1815 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
1816
1817
1818 Изменения в nginx 0.3.8 09.11.2005
1819
1820 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
1821 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
1822 наличие путей "/../" и нулей.
1823
1824 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
1825 строке "Authorization" в заголовке запроса.
1826
1827 *) Добавление: директива ssl_session_timeout модулей
1828 ngx_http_ssl_module и ngx_imap_ssl_module.
1829
1830 *) Добавление: директива auth_http_header модуля
1831 ngx_imap_auth_http_module.
1832
1833 *) Добавление: директива add_header.
1834
1835 *) Добавление: модуль ngx_http_realip_module.
1836
1837 *) Добавление: новые переменные для использования в директиве
1838 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
1839 $uri, $request_time, $request_length, $upstream_status,
1840 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
1841 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
1842 упразднены.
1843
1844 *) Изменение: в директиве "if" ложными значениями переменных теперь
1845 являются пустая строка "" и строки, начинающиеся на "0".
1846
1847 *) Исправление: при работает с проксированными или FastCGI-серверами
1848 nginx мог оставлять открытыми соединения и временные файлы с
1849 запросами клиентов.
1850
1851 *) Исправление: рабочие процессы не сбрасывали буферизированные логи
1852 при плавном выходе.
1853
1854 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
1855 запрос проксировался в location, заданном регулярным выражением, то
1856 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
1857
1858 *) Исправление: директива expires не удаляла уже установленную строку
1859 заголовка "Expires".
1860
1861 *) Исправление: при использовании метода rtsig и нескольких рабочих
1862 процессах nginx мог перестать принимать запросы.
1863
1864 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
1865 "\'".
1866
1867 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
1868 при использовании сжатия ответ передавался не до конца или не
1869 передавался вообще.
1870
1871
1872 Изменения в nginx 0.3.7 27.10.2005
1873
1874 *) Добавление: директива access_log поддерживает параметр buffer=.
1875
1876 *) Исправление: nginx не собирался на платформах, отличных от i386,
1877 amd64, sparc и ppc; ошибка появилась в 0.3.2.
1878
1879
1880 Изменения в nginx 0.3.6 24.10.2005
1881
1882 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
1883 пустой логин.
1884
1885 *) Добавление: директива log_format поддерживает переменные в виде
1886 $name.
1887
1888 *) Исправление: если хотя бы в одном сервере не было описано ни одной
1889 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
1890 0.3.3.
1891
1892 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
1893 использовался порт 80.
1894
1895
1896 Изменения в nginx 0.3.5 21.10.2005
1897
1898 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
1899 мог произойти segmentation fault; ошибка появилась в 0.2.2.
1900
1901 *) Исправление: accept mutex не работал, все соединения обрабатывались
1902 одним рабочим процессом; ошибка появилась в 0.3.3.
1903
1904 *) Исправление: при использовании метода rtsig и директивы
1905 timer_resolution не работали таймауты.
1906
1907
1908 Изменения в nginx 0.3.4 19.10.2005
1909
1910 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
1911 появилась в 0.3.3.
1912
1913
1914 Изменения в nginx 0.3.3 19.10.2005
1915
1916 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
1917 "backlog" и "accept_filter".
1918
1919 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
1920
1921 *) Изменение: параметр лога $msec теперь не требует дополнительного
1922 системного вызова gettimeofday().
1923
1924 *) Добавление: ключ -t теперь проверяет директивы listen.
1925
1926 *) Исправление: если в директиве listen был указан неверный адрес, то
1927 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
1928
1929 *) Исправление: для индексных файлов, содержащих в имени переменную,
1930 мог неверно выставляться тип mime по умолчанию; ошибка появилась в
1931 0.3.0.
1932
1933 *) Добавление: директива timer_resolution.
1934
1935 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
1936
1937 *) Исправление: временный файл с телом запроса клиента теперь удаляется
1938 сразу после того, как клиенту передан заголовок ответа.
1939
1940 *) Исправление: совместимость с OpenSSL 0.9.6.
1941
1942 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
1943 относительными.
1944
1945 *) Исправление: директива ssl_prefer_server_ciphers не работала для
1946 модуля ngx_imap_ssl_module.
1947
1948 *) Исправление: директива ssl_protocols позволяла задать только один
1949 протокол.
1950
1951
1952 Изменения в nginx 0.3.2 12.10.2005
1953
1954 *) Добавление: поддержка Sun Studio 10 C compiler.
1955
1956 *) Добавление: директивы proxy_upstream_max_fails,
1957 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
1958 fastcgi_upstream_fail_timeout.
1959
1960
1961 Изменения в nginx 0.3.1 10.10.2005
1962
1963 *) Исправление: во время переполнения очереди сигналов при
1964 использовании метода rtsig происходил segmentation fault; ошибка
1965 появилась в 0.2.0.
1966
1967 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
1968
1969
1970 Изменения в nginx 0.3.0 07.10.2005
1971
1972 *) Изменение: убрано десятидневное ограничение времени работы рабочего
1973 процесса. Ограничение было введено из-за переполнения миллисекундных
1974 таймеров.
1975
1976
1977 Изменения в nginx 0.2.6 05.10.2005
1978
1979 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
1980 бэкенду при использовании распределения нагрузки.
1981
1982 *) Изменение: директива proxy_pass_unparsed_uri упразднена,
1983 оригинальный запрос теперь передаётся, если в директиве proxy_pass
1984 отсутствует URI.
1985
1986 *) Добавление: директива error_page поддерживает редиректы и позволяет
1987 более гибко менять код ошибки.
1988
1989 *) Изменение: в проксированных подзапросах теперь игнорируется
1990 переданный charset.
1991
1992 *) Исправление: если после изменения URI в блоке if для запроса не
1993 находилась новая конфигурация, то правила модуля
1994 ngx_http_rewrite_module выполнялись снова.
1995
1996 *) Исправление: если директива set устанавливала переменную модуля
1997 ngx_http_geo_module в какой-либо части конфигурации, то эта
1998 переменная не была доступна в других частях конфигурации и
1999 выдавалась ошибка "using uninitialized variable"; ошибка появилась в
2000 0.2.2.
2001
2002
2003 Изменения в nginx 0.2.5 04.10.2005
2004
2005 *) Изменение: дублирующее значение переменной модуля
2006 ngx_http_geo_module теперь выдаёт предупреждение и изменяет старое
2007 значение.
2008
2009 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
2010
2011 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
2012 команде include.
2013
2014 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
2015 значений переменных в выражениях команды if.
2016
2017
2018 Изменения в nginx 0.2.4 03.10.2005
2019
2020 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
2021 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
2022 if.
2023
2024 *) Исправление: ошибки при проксировании location без слэша в конце;
2025 ошибка появилась в 0.1.44.
2026
2027 *) Исправление: при использовании метода rtsig мог произойти
2028 segmentation fault; ошибка появилась в 0.2.0.
2029
2030
2031 Изменения в nginx 0.2.3 30.09.2005
2032
2033 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
2034 появилась в 0.2.2.
2035
2036
2037 Изменения в nginx 0.2.2 30.09.2005
2038
2039 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
2040
2041 *) Изменение: переменные модуля ngx_http_geo_module можно
2042 переопределять директивой set.
2043
2044 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
2045 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
2046
2047 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
2048 длинных имён файлов;
2049
2050 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
2051 файлы, начинающиеся на точку.
2052
2053 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
2054 привести также к закрытию другого соединения.
2055 Спасибо Rob Mueller.
2056
2057 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
2058 HTTPS.
2059
2060
2061 Изменения в nginx 0.2.1 23.09.2005
2062
2063 *) Исправление: если все бэкенды, используемые для балансировки
2064 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
2065 nginx мог зациклится; ошибка появилась в 0.2.0.
2066
2067
2068 Изменения в nginx 0.2.0 23.09.2005
2069
2070 *) Изменились имена pid-файлов, используемые во время обновления
2071 исполняемого файла. Ручное переименование теперь не нужно. Старый
2072 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
2073 запускает новый исполняемый файл. Новый основной процесс создаёт
2074 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
2075 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
2076 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
2077 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
2078 0.2.0 - используют pid-файл без суффиксов.
2079
2080 *) Изменение: директива worker_connections, новое название директивы
2081 connections; директива теперь задаёт максимальное число соединений,
2082 а не максимально возможный номер дескриптора для сокета.
2083
2084 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
2085 рабочего процесса.
2086
2087 *) Добавление: директива satisfy_any.
2088
2089 *) Изменение: модули ngx_http_access_module и
2090 ngx_http_auth_basic_module не работают для подзапросов.
2091
2092 *) Добавление: директивы worker_rlimit_nofile и
2093 worker_rlimit_sigpending.
2094
2095 *) Исправление: если все бэкенды, используемые для балансировки
2096 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
2097 nginx не обращался к ним в течение 60 секунд.
2098
2099 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
2100 Спасибо Rob Mueller.
2101
2102 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
2103
2104 *) Исправление: ошибки при использовании SSI и сжатия.
2105
2106 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
2107 "Expires" и "Cache-Control".
2108 Спасибо Александру Кукушкину.
2109
2110
2111 Изменения в nginx 0.1.45 08.09.2005
2112
2113 *) Изменение: директива ssl_engine упразднена в модуле
2114 ngx_http_ssl_module и перенесена на глобальный уровень.
2115
2116 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
2117 передавались через SSL соединение.
2118
2119 *) Разные исправления в IMAP/POP3 прокси.
2120
2121
2122 Изменения в nginx 0.1.44 06.09.2005
2123
2124 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
2125
2126 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
2127
2128 *) Добавление: директива userid_mark.
2129
2130 *) Добавление: значение переменной $remote_user определяется независимо
2131 от того, используется ли авторизация или нет.
2132
2133
2134 Изменения в nginx 0.1.43 30.08.2005
2135
2136 *) Добавление: listen(2) backlog в директиве listen можно менять по
2137 сигналу -HUP.
2138
2139 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
2140
2141 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
2142 серверу.
2143
2144 *) Исправление: если в ответе проксированного сервера или FastCGI
2145 сервера была строка "Cache-Control", то при использовании директивы
2146 expires происходил segmentation fault или рабочий процесс мог
2147 зациклится; в режиме прокси ошибка появилась в 0.1.29.
2148
2149
2150 Изменения в nginx 0.1.42 23.08.2005
2151
2152 *) Исправление: если URI запроса получался нулевой длины после
2153 обработки модулем ngx_http_rewrite_module, то в модуле
2154 ngx_http_proxy_module происходил segmentation fault или bus error.
2155
2156 *) Исправление: директива limit_rate не работала внутри блока if;
2157 ошибка появилась в 0.1.38.
2158
2159
2160 Изменения в nginx 0.1.41 25.07.2005
2161
2162 *) Исправление: если переменная использовалась в файле конфигурации, то
2163 она не могла использоваться в SSI.
2164
2165
2166 Изменения в nginx 0.1.40 22.07.2005
2167
2168 *) Исправление: если клиент слал очень длинную строку заголовка, то в
2169 логе не помещалась информация, связанная с этим запросом.
2170
2171 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
2172 строка "Set-Cookie"; ошибка появилась в 0.1.39.
2173
2174 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
2175 строка "Content-Disposition".
2176
2177 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
2178 на которых он слушал.
2179
2180 *) Исправление: после обновления исполняемого файла на лету на Linux и
2181 Solaris название процесса в команде ps становилось короче.
2182
2183
2184 Изменения в nginx 0.1.39 14.07.2005
2185
2186 *) Изменения в модуле ngx_http_charset_module: директива
2187 default_charset упразднена; директива charset задаёт кодировку
2188 ответа; директива source_charset задаёт только исходную кодировку.
2189
2190 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
2191 не передавалась строка заголовка "WWW-Authenticate".
2192
2193 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
2194 могли закрыть соединение до того, как что-нибудь было передано
2195 клиенту; ошибка появилась в 0.1.38.
2196
2197 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
2198
2199 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
2200 URI в команде include virtual.
2201
2202 *) Исправление: если в строке заголовка ответа бэкенда была строка
2203 "Location", которую nginx не должен был изменять, то в ответе
2204 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
2205
2206 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
2207 ngx_http_fastcgi_module не наследовались с уровня server на уровень
2208 location; ошибка появилась в 0.1.29.
2209
2210 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
2211 сертификатов.
2212
2213 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
2214 длинных имён файлов; ошибка появилась в 0.1.38.
2215
2216 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
2217 стадии login.
2218
2219
2220 Изменения в nginx 0.1.38 08.07.2005
2221
2222 *) Добавление: директива limit_rate поддерживается в режиме прокси и
2223 FastCGI.
2224
2225 *) Добавление: в режиме прокси и FastCGI поддерживается строка
2226 заголовка "X-Accel-Limit-Rate" в ответе бэкенда.
2227
2228 *) Добавление: директива break.
2229
2230 *) Добавление: директива log_not_found.
2231
2232 *) Исправление: при перенаправлении запроса с помощью строки заголовка
2233 "X-Accel-Redirect" не изменялся код ответа.
2234
2235 *) Исправление: переменные, установленные директивой set не могли
2236 использоваться в SSI.
2237
2238 *) Исправление: при включении в SSI более одного удалённого подзапроса
2239 мог произойти segmentation fault.
2240
2241 *) Исправление: если статусная строка в ответе бэкенда передавалась в
2242 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
2243 0.1.29.
2244
2245 *) Добавление: директива ssi_types.
2246
2247 *) Добавление: директива autoindex_exact_size.
2248
2249 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
2250 имена файлов в UTF-8.
2251
2252 *) Добавление: IMAP/POP3 прокси.
2253
2254
2255 Изменения в nginx 0.1.37 23.06.2005
2256
2257 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
2258
2259 *) Исправление: при включении большого количества вставок или
2260 нескольких больших вставок с помощью SSI ответ мог передаваться не
2261 полностью.
2262
2263 *) Исправление: если все бэкенды возвращали ответ 404, то при
2264 использовании параметра http_404 в директивах proxy_next_upstream
2265 или fastcgi_next_upstream, nginx начинал запрашивать все бэкенды
2266 снова.
2267
2268
2269 Изменения в nginx 0.1.36 15.06.2005
2270
2271 *) Изменение: если в заголовке запросе есть дублирующиеся строки
2272 "Host", "Connection", "Content-Length" и "Authorization", то nginx
2273 теперь выдаёт ошибку 400.
2274
2275 *) Изменение: директива post_accept_timeout упразднена.
2276
2277 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
2278 listen.
2279
2280 *) Добавление: поддержка accept фильтров во FreeBSD.
2281
2282 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
2283
2284 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
2285 файлов в UTF-8.
2286
2287 *) Исправление: после добавления новый лог-файл ротация этого лога по
2288 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
2289 раза по сигналу -HUP.
2290
2291
2292 Изменения в nginx 0.1.35 07.06.2005
2293
2294 *) Добавление: директива working_directory.
2295
2296 *) Добавление: директива port_in_redirect.
2297
2298 *) Исправление: если заголовок ответа бэкенда не помещался в один
2299 пакет, то происходил segmentation fault; ошибка появилась в 0.1.29.
2300
2301 *) Исправление: если было сконфигурировано более 10 серверов или в
2302 сервере не описана директива "listen", то при запуске мог произойти
2303 segmentation fault.
2304
2305 *) Исправление: если ответ не помещался во временный файл, то мог
2306 произойти segmentation fault.
2307
2308 *) Исправление: nginx возвращал ошибку 400 на запросы вида
2309 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
2310
2311
2312 Изменения в nginx 0.1.34 26.05.2005
2313
2314 *) Исправление: при включении больших ответов с помощью SSI рабочий
2315 процесс мог зациклиться.
2316
2317 *) Исправление: переменные, устанавливаемые директивой "set", не были
2318 доступны в SSI.
2319
2320 *) Добавление: директива autoindex_localtime.
2321
2322 *) Исправление: пустое значение в директиве proxy_set_header запрещает
2323 передачу заголовка.
2324
2325
2326 Изменения в nginx 0.1.33 23.05.2005
2327
2328 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
2329 появилась в 0.1.29.
2330
2331 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
2332 вызывали bus fault при запуске.
2333
2334 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
2335 HTTP.
2336
2337 *) Исправление: если директива rewrite использовала выделения внутри
2338 директивы if, то возвращалась ошибка 500.
2339
2340
2341 Изменения в nginx 0.1.32 19.05.2005
2342
2343 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite,
2344 не передавались аргументы; ошибка появилась в 0.1.29.
2345
2346 *) Добавление: директива if поддерживает выделения в регулярных
2347 выражениях.
2348
2349 *) Добавление: директива set поддерживает переменные и выделения из
2350 регулярных выражений.
2351
2352 *) Добавление: в режиме прокси и FastCGI поддерживается строка
2353 заголовка "X-Accel-Redirect" в ответе бэкенда.
2354
2355
2356 Изменения в nginx 0.1.31 16.05.2005
2357
2358 *) Исправление: при использовании SSL ответ мог передаваться не до
2359 конца.
2360
2361 *) Исправление: ошибки при обработке SSI в ответе, полученного от
2362 FastCGI-сервера.
2363
2364 *) Исправление: ошибки при использовании SSI и сжатия.
2365
2366 *) Исправление: редирект с кодом 301 передавался без тела ответа;
2367 ошибка появилась в 0.1.30.
2368
2369
2370 Изменения в nginx 0.1.30 14.05.2005
2371
2372 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
2373
2374 *) Исправление: при использовании SSL ответ мог передаваться не до
2375 конца.
2376
2377 *) Исправление: если длина части ответа, полученного за один раз от
2378 проксируемого или FastCGI сервера была равна 500 байт, то nginx
2379 возвращал код ответа 500; в режиме прокси ошибка появилась только в
2380 0.1.29.
2381
2382 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
2383 параметрами.
2384
2385 *) Добавление: директива return может возвращать код ответа 204.
2386
2387 *) Добавление: директива ignore_invalid_headers.
2388
2389
2390 Изменения в nginx 0.1.29 12.05.2005
2391
2392 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
2393 virtual.
2394
2395 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
2396 вида 'if expr="$NAME"' и команды else и endif. Допускается только
2397 один уровень вложенности.
2398
2399 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
2400 DATE_LOCAL и DATE_GMT и команду config timefmt.
2401
2402 *) Добавление: директива ssi_ignore_recycled_buffers.
2403
2404 *) Исправление: если переменная QUERY_STRING не была определена, то в
2405 команде echo не ставилось значение по умолчанию.
2406
2407 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
2408
2409 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
2410 proxy_pass_request_body и proxy_method.
2411
2412 *) Добавление: директива proxy_set_header. Директива proxy_x_var
2413 упразднена и должна быть заменена директивой proxy_set_header.
2414
2415 *) Изменение: директива proxy_preserve_host упразднена и должна быть
2416 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
2417 off" или директивой "proxy_set_header Host $host:$proxy_port" и
2418 соответствующими ей директивами proxy_redirect.
2419
2420 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
2421 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
2422
2423 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
2424 быть заменена директивой
2425 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
2426
2427 *) Изменение: директива proxy_set_x_url упразднена и должна быть
2428 заменена директивой
2429 "proxy_set_header X-URL http://$host:$server_port$request_uri".
2430
2431 *) Добавление: директива fastcgi_param.
2432
2433 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
2434 упразднены и должны быть замены директивами fastcgi_param.
2435
2436 *) Добавление: директива index может использовать переменные.
2437
2438 *) Добавление: директива index может быть указана на уровне http и
2439 server.
2440
2441 *) Изменение: только последний параметр в директиве index может быть
2442 абсолютным.
2443
2444 *) Добавление: в директиве rewrite могут использоваться переменные.
2445
2446 *) Добавление: директива internal.
2447
2448 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
2449 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
2450 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
2451
2452 *) Изменение: nginx теперь передаёт неверные строки в заголовках
2453 запроса клиента и ответа бэкенда.
2454
2455 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
2456 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
2457
2458 *) Исправление: если бэкенд передавал неверную строку в заголовке
2459 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
2460
2461 *) Исправление: при использовании отказоустойчивой конфигурации в
2462 FastCGI мог происходить segmentation fault.
2463
2464 *) Исправление: директива expires не удаляла уже установленные строки
2465 заголовка "Expires" и "Cache-Control".
2466
2467 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
2468 запроса "Host".
2469
2470 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
2471
2472 *) Исправление: директива rewrite неверно работала, если в запросе
2473 присутствовали аргументы.
2474
2475 *) Исправление: nginx не собирался на MacOS X.
2476
2477
2478 Изменения в nginx 0.1.28 08.04.2005
2479
2480 *) Исправление: при проксировании больших файлов nginx сильно нагружал
2481 процессор.
2482
2483 *) Исправление: nginx не собирался gcc 4.0 на Linux.
2484
2485
2486 Изменения в nginx 0.1.27 28.03.2005
2487
2488 *) Добавление: параметр blocked в директиве valid_referers.
2489
2490 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
2491 уровне info, в лог также записывается имя сервера и строки заголовка
2492 запроса "Host" и "Referer".
2493
2494 *) Изменение: при записи ошибок в лог записывается также строка
2495 заголовка запроса "Host".
2496
2497 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
2498 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
2499
2500 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
2501 параметр конфигурации --without-ngx_http_auth_basic_module.
2502
2503
2504 Изменения в nginx 0.1.26 22.03.2005
2505
2506 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
2507 игнорируется и записываются в error_log на уровне info.
2508
2509 *) Изменение: при записи ошибок в лог записывается также имя сервера,
2510 при обращении к которому произошла ошибка.
2511
2512 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
2513 и auth_basic_user_file.
2514
2515
2516 Изменения в nginx 0.1.25 19.03.2005
2517
2518 *) Исправление: nginx не работал на Linux parisc.
2519
2520 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
2521 sysctl kern.ipc.somaxconn слишком большое.
2522
2523 *) Исправление: если модуль ngx_http_index_module делал внутреннее
2524 перенаправление запроса в модули ngx_http_proxy_module или
2525 ngx_http_fastcgi_module, то файл индекса не закрывался после
2526 обслуживания запроса.
2527
2528 *) Добавление: директива proxy_pass может использоваться в location,
2529 заданных регулярным выражением.
2530
2531 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
2532 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
2533
2534 *) Исправление: nginx очень медленно запускался при большом количестве
2535 адресов и использовании текстовых значений в директиве geo.
2536
2537 *) Изменение: имя переменной в директиве geo нужно указывать, как
2538 $name. Прежний вариант без "$" пока работает, но вскоре будет убран.
2539
2540 *) Добавление: параметр лога "%{VARIABLE}v".
2541
2542 *) Добавление: директива "set $name value".
2543
2544 *) Исправление: совместимость с gcc 4.0.
2545
2546 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
2547
2548
2549 Изменения в nginx 0.1.24 04.03.2005
2550
2551 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает
2552 переменные QUERY_STRING и DOCUMENT_URI.
2553
2554 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
2555 на существующий каталог, если этот каталог был указан как alias.
2556
2557 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
2558 при больших ответах.
2559
2560 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
2561 правильным referrer'ом.
2562
2563
2564 Изменения в nginx 0.1.23 01.03.2005
2565
2566 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
2567 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
2568 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
2569
2570 *) Добавление: параметр лога %request_time.
2571
2572 *) Добавление: если запрос пришёл без строки заголовка "Host", то
2573 директива proxy_preserve_host устанавливает в качестве этого
2574 заголовка первое имя сервера из директивы server_name.
2575
2576 *) Исправление: nginx не собирался на платформах, отличных от i386,
2577 amd64, sparc и ppc; ошибка появилась в 0.1.22.
2578
2579 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
2580 информацию не о символическом линке, а о файле или каталоге, на
2581 который он указывает.
2582
2583 *) Исправление: если клиенту ничего не передавалось, то параметр
2584 %apache_length записывал в лог отрицательную длину заголовка ответа.
2585
2586
2587 Изменения в nginx 0.1.22 22.02.2005
2588
2589 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
2590 статистику для обработанных соединений, если использовалось
2591 проксирование или FastCGI-сервер.
2592
2593 *) Исправление: на Linux и Solaris установочные пути были неверно
2594 заключены в кавычки; ошибка появилась в 0.1.21.
2595
2596
2597 Изменения в nginx 0.1.21 22.02.2005
2598
2599 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
2600 статистику при использовании метода rtsig или при использовании
2601 нескольких рабочих процессов на SMP машине.
2602
2603 *) Исправление: nginx не собирался компилятором icc под Линуксом или
2604 если библиотека zlib-1.2.x собиралась из исходных текстов.
2605
2606 *) Исправление: nginx не собирался под NetBSD 2.0.
2607
2608
2609 Изменения в nginx 0.1.20 17.02.2005
2610
2611 *) Добавление: новые параметры script_filename и remote_port в
2612 директиве fastcgi_params.
2613
2614 *) Исправление: неправильно обрабатывался поток stderr от
2615 FastCGI-сервера.
2616
2617
2618 Изменения в nginx 0.1.19 16.02.2005
2619
2620 *) Исправление: если в запросе есть нуль, то для локальных запросов
2621 теперь возвращается ошибка 404.
2622
2623 *) Исправление: nginx не собирался под NetBSD 2.0.
2624
2625 *) Исправление: во время чтения тела запроса клиента в SSL соединении
2626 мог произойти таймаут.
2627
2628
2629 Изменения в nginx 0.1.18 09.02.2005
2630
2631 *) Изменение: для совместимости с Solaris 10 в директивах
2632 devpoll_events и devpoll_changes значения по умолчанию уменьшены с
2633 512 до 32.
2634
2635 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
2636 наследовались.
2637
2638 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
2639 присоединялись к URI через символ "&" вместо "?".
2640
2641 *) Исправление: строки для модуля ngx_http_geo_module без символа ";"
2642 во включённом файле игнорировались.
2643
2644 *) Добавление: модуль ngx_http_stub_status_module.
2645
2646 *) Исправление: неизвестный формат лог-файла в директиве access_log
2647 вызывал segmentation fault.
2648
2649 *) Добавление: новый параметр document_root в директиве fastcgi_params.
2650
2651 *) Добавление: директива fastcgi_redirect_errors.
2652
2653 *) Добавление: новый модификатор break в директиве rewrite позволяет
2654 прекратить цикл rewrite/location и устанавливает текущую
2655 конфигурацию для запроса.
2656
2657
2658 Изменения в nginx 0.1.17 03.02.2005
2659
2660 *) Изменение: модуль ngx_http_rewrite_module полностью переписан.
2661 Теперь можно делать редиректы, возвращать коды ошибок и проверять
2662 переменные и рефереры. Эти директивы можно использовать внутри
2663 location. Директива redirect упразднена.
2664
2665 *) Добавление: модуль ngx_http_geo_module.
2666
2667 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
2668
2669 *) Исправление: конфигурация location с модификатором "=" могла
2670 использоваться в другом location.
2671
2672 *) Исправление: правильный тип ответа выставлялся только для запросов,
2673 у которых в расширении были только маленькие буквы.
2674
2675 *) Исправление: если для location установлен proxy_pass или
2676 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
2677 на статическую страницу, то происходил segmentation fault.
2678
2679 *) Исправление: если в проксированном ответе в заголовке "Location"
2680 передавался относительный URL, то к нему добавлялось имя хоста и
2681 слэш; ошибка появилась в 0.1.14.
2682
2683 *) Исправление: на Linux в лог не записывался текст системной ошибки.
2684
2685
2686 Изменения в nginx 0.1.16 25.01.2005
2687
2688 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
2689 выдавался завершающий chunk.
2690
2691 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
2692 директива keepalive_timeout запрещала использование keep-alive.
2693
2694 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
2695 segmentation fault.
2696
2697 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
2698 до конца.
2699
2700 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
2701 для TCP сокетов, не используются для unix domain сокетов.
2702
2703 *) Добавление: директива rewrite поддерживает перезаписывание
2704 аргументов.
2705
2706 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
2707 возвращался ответ 400; ошибка появилась в 0.1.14.
2708
2709
2710 Изменения в nginx 0.1.15 19.01.2005
2711
2712 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
2713 segmentation fault.
2714
2715 *) Исправление: корректная обработка регулярного выражения, в котором
2716 число выделенных частей не совпадает с числом подстановок.
2717
2718 *) Добавление: location, который передаётся FastCGI-серверу, может быть
2719 задан с помощью регулярного выражения.
2720
2721 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
2722 аргументами и в том виде, в котором был получен от клиента.
2723
2724 *) Исправление: для использования регулярных выражений в location нужно
2725 было собирать nginx вместе с ngx_http_rewrite_module.
2726
2727 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
2728 директивы "proxy_preserve_host on" в заголовке "Host" указывался
2729 также порт 80; ошибка появилась в 0.1.14.
2730
2731 *) Исправление: если задать одинаковые пути в параметрах
2732 автоконфигурации --http-client-body-temp-path=PATH и
2733 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
2734 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
2735
2736
2737 Изменения в nginx 0.1.14 18.01.2005
2738
2739 *) Добавление: параметры автоконфигурации
2740 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
2741 --http-fastcgi-temp-path=PATH
2742
2743 *) Изменение: имя каталога с временными файлами, содержащие тело
2744 запроса клиента, задаётся директивой client_body_temp_path, по
2745 умолчанию <prefix>/client_body_temp.
2746
2747 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
2748 fastcgi_root, fastcgi_index, fastcgi_params,
2749 fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
2750 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
2751 fastcgi_busy_buffers_size, fastcgi_temp_path,
2752 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
2753 fastcgi_next_upstream и fastcgi_x_powered_by.
2754
2755 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
2756 0.1.3.
2757
2758 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
2759 после имени хоста.
2760
2761 *) Изменение: если в URI встречался символ %3F, то он считался началом
2762 строки аргументов.
2763
2764 *) Добавление: поддержка unix domain сoкетов в модуле
2765 ngx_http_proxy_module.
2766
2767 *) Добавление: директивы ssl_engine и ssl_ciphers.
2768 Спасибо Сергею Скворцову за SSL-акселератор.
2769
2770
2771 Изменения в nginx 0.1.13 21.12.2004
2772
2773 *) Добавление: директивы server_names_hash и
2774 server_names_hash_threshold.
2775
2776 *) Исправление: имена *.domain.tld в директиве server_name не работали.
2777
2778 *) Исправление: параметр лога %request_length записывал неверную длину.
2779
2780
2781 Изменения в nginx 0.1.12 06.12.2004
2782
2783 *) Добавление: параметр лога %request_length.
2784
2785 *) Исправление: при использовании /dev/poll, select и poll на
2786 платформах, где возможны ложные срабатывания указанных методов,
2787 могли быть длительные задержки при обработке запроса по keep-alive
2788 соединению. Наблюдалось по крайней мере на Solaris с использованием
2789 /dev/poll.
2790
2791 *) Исправление: директива send_lowat игнорируется на Linux, так как
2792 Linux не поддерживает опцию SO_SNDLOWAT.
2793
2794
2795 Изменения в nginx 0.1.11 02.12.2004
2796
2797 *) Добавление: директива worker_priority.
2798
2799 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
2800 влияют на передачу ответа.
2801
2802 *) Исправление: nginx не вызывал initgroups().
2803 Спасибо Андрею Ситникову и Андрею Нигматулину.
2804
2805 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
2806 байтах.
2807
2808 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
2809 каталоге есть битый symlink.
2810
2811 *) Исправление: файлы больше 4G не передавались с использованием
2812 sendfile.
2813
2814 *) Исправление: если бэкенд резолвился в несколько адресов и при
2815 ожидании от него ответа происходила ошибка, то процесс зацикливался.
2816
2817 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
2818 завершиться с сообщением "unknown cycle".
2819
2820 *) Исправление: ошибки "close() channel failed".
2821
2822 *) Исправление: автоматическое определение групп nobody и nogroup.
2823
2824 *) Исправление: директива send_lowat не работала на Linux.
2825
2826 *) Исправление: если в конфигурации не было раздела events, то
2827 происходил segmentation fault.
2828
2829 *) Исправление: nginx не собирался под OpenBSD.
2830
2831 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
2832
2833
2834 Изменения в nginx 0.1.10 26.11.2004
2835
2836 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
2837 или "%XX", то терялся последний символ в строке запроса; ошибка
2838 появилась в 0.1.9.
2839
2840 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на
2841 Linux не работало.
2842
2843
2844 Изменения в nginx 0.1.9 25.11.2004
2845
2846 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
2847 проксируемый запрос передавался без аргументов.
2848
2849 *) Исправление: при сжатии больших ответов иногда они передавались не
2850 полностью.
2851
2852 *) Исправление: не передавались файлы больше 2G на Linux,
2853 неподдерживающем sendfile64().
2854
2855 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
2856 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
2857
2858
2859 Изменения в nginx 0.1.8 20.11.2004
2860
2861 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
2862 длинных имён файлов.
2863
2864 *) Добавление: модификатор "^~" в директиве location.
2865
2866 *) Добавление: директива proxy_max_temp_file_size.
2867
2868
2869 Изменения в nginx 0.1.7 12.11.2004
2870
2871 *) Исправление: при использовании sendfile, если передаваемый файл
2872 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
2873 появилась в 0.1.5.
2874
2875
2876 Изменения в nginx 0.1.6 11.11.2004
2877
2878 *) Исправление: при некоторых комбинациях директив location c
2879 регулярными выражениями использовалась конфигурация не из того
2880 location.
2881
2882
2883 Изменения в nginx 0.1.5 11.11.2004
2884
2885 *) Исправление: на Solaris и Linux могло быть очень много сообщений
2886 "recvmsg() returned not enough data".
2887
2888 *) Исправление: в режиме прокси без использования sendfile на Solaris
2889 возникала ошибка "writev() failed (22: Invalid argument)". На других
2890 платформах, не поддерживающих sendfile, процесс зацикливался.
2891
2892 *) Исправление: при использовании sendfile в режиме прокси на Solaris
2893 возникал segmentation fault.
2894
2895 *) Исправление: segmentation fault на Solaris.
2896
2897 *) Исправление: обновление исполняемого файла на лету не работало на
2898 Linux.
2899
2900 *) Исправление: в списке файлов, выдаваемом модулем
2901 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
2902 знаки процента.
2903
2904 *) Изменение: уменьшение операций копирования.
2905
2906 *) Добавление: директива userid_p3p.
2907
2908
2909 Изменения в nginx 0.1.4 26.10.2004
2910
2911 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
2912
2913
2914 Изменения в nginx 0.1.3 25.10.2004
2915
2916 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
2917
2918 *) Добавление: директива proxy_set_x_url.
2919
2920 *) Исправление: модуль проксировании мог привести к зацикливанию, если
2921 не использовался sendfile.
2922
2923
2924 Изменения в nginx 0.1.2 21.10.2004
2925
2926 *) Добавление: параметры --user=USER, --group=GROUP и
2927 --with-ld-opt=OPTIONS в configure.
2928
2929 *) Добавление: директива server_name поддерживает *.domain.tld.
2930
2931 *) Исправление: улучшена переносимость на неизвестные платформы.
2932
2933 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
2934 файл указан в командной строке; ошибка появилась в 0.1.1.
2935
2936 *) Исправление: модуль проксировании мог привести к зацикливанию, если
2937 не использовался sendfile.
2938
2939 *) Исправление: при использовании sendfile текст ответа не
2940 перекодировался согласно директивам модуля charset; ошибка появилась
2941 в 0.1.1.
2942
2943 *) Исправление: очень редкая ошибка при обработке kqueue.
2944
2945 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
2946 проксировании.
2947
2948
2949 Изменения в nginx 0.1.1 11.10.2004
2950
2951 *) Добавление: директива gzip_types.
2952
2953 *) Добавление: директива tcp_nodelay.
2954
2955 *) Добавление: директива send_lowat работает не только на платформах,
2956 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
2957 SO_SNDLOWAT.
2958
2959 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
2960
2961 *) Исправление: ошибка при переписывании заголовка "Location" при
2962 проксировании.
2963
2964 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
2965 зацикливанию.
2966
2967 *) Исправление: ошибки в модуле /dev/poll.
2968
2969 *) Исправление: при проксировании и использовании временных файлов
2970 ответы портились.
2971
2972 *) Исправление: бэкенду передавались запросы с неперекодированными
2973 символами.
2974
2975 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
2976 обязательно использовать параметр --with-poll_module.
2977
2978
2979 Изменения в nginx 0.1.0 04.10.2004
2980
2981 *) Первая публично доступная версия.
2982