comparison CHANGES.ru @ 635:e67b227c8dbb default tip

Merge with current.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 25 Apr 2011 04:07:55 +0400
parents b4dcae568a2a
children
comparison
equal deleted inserted replaced
578:f3a9e57d2e17 635:e67b227c8dbb
1
2 Изменения в nginx 1.0.0 12.04.2011
3
4 *) Исправление: cache manager мог нагружать процессор после
5 переконфигурации.
6 Спасибо Максиму Дунину.
7
8 *) Исправление: директива "image_filter crop" неправильно работала в
9 сочетании с "image_filter rotate 180".
10
11 *) Исправление: директива "satisfy any" запрещала выдачу
12 пользовательской страницы для 401 кода.
13
14
15 Изменения в nginx 0.9.7 04.04.2011
16
17 *) Добавление: теперь соединения в состоянии keepalive могут быть
18 закрыты преждевременно, если у воркера нет свободных соединений.
19 Спасибо Максиму Дунину.
20
21 *) Добавление: параметр rotate директивы image_filter.
22 Спасибо Adam Bocim.
23
24 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
25 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
26 upstream.
27
28
29 Изменения в nginx 0.9.6 21.03.2011
30
31 *) Добавление: директива map поддерживает регулярные выражения в
32 качестве значения первого параметра.
33
34 *) Добавление: переменная $time_iso8601 для access_log.
35 Спасибо Michael Lustfield.
36
37
38 Изменения в nginx 0.9.5 21.02.2011
39
40 *) Изменение: теперь по умолчанию nginx использует значение -1 для
41 listen backlog на Linux.
42 Спасибо Андрею Нигматулину.
43
44 *) Добавление: параметр utf8 в директивах geoip_country и
45 geoip_city.
46 Спасибо Денису Латыпову.
47
48 *) Исправление: исправление в умолчательной директиве proxy_redirect,
49 если в директиве proxy_pass не был описан URI.
50 Спасибо Максиму Дунину.
51
52 *) Исправление: директива error_page не работала с нестандартными
53 кодами ошибок; ошибка появилась в 0.8.53.
54 Спасибо Максиму Дунину.
55
56
57 Изменения в nginx 0.9.4 21.01.2011
58
59 *) Добавление: директива server_name поддерживает переменную $hostname.
60
61 *) Добавление: 494 код для ошибки "Request Header Too Large".
62
63
64 Изменения в nginx 0.9.3 13.12.2010
65
66 *) Исправление: если для пары IPv6-адрес:порт описан только один
67 сервер, то выделения в регулярных выражениях в директиве server_name
68 не работали.
69
70 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
71 0.9.0.
72
73
74 Изменения в nginx 0.9.2 06.12.2010
75
76 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
77 запросе клиента.
78
79 *) Изменение: использование accept(), если accept4() не реализован;
80 ошибка появилась в 0.9.0.
81
82 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
83
84 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
85 Спасибо Максиму Дунину.
86
87
88 Изменения в nginx 0.9.1 30.11.2010
89
90 *) Исправление: директивы вида "return CODE message" не работали;
91 ошибка появилась в 0.9.0.
92
93
94 Изменения в nginx 0.9.0 29.11.2010
95
96 *) Добавление: директива keepalive_disable.
97
98 *) Добавление: директива map поддерживает переменные в качестве
99 значения определяемой переменной.
100
101 *) Добавление: директива map поддерживает пустые строки в качестве
102 значения первого параметра.
103
104 *) Добавление: директива map поддерживает выражения в первом параметре.
105
106 *) Добавление: страница руководства nginx(8).
107 Спасибо Сергею Осокину.
108
109 *) Добавление: поддержка accept4() в Linux.
110 Спасибо Simon Liu.
111
112 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
113 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
114
115 *) Исправление: при использовании директивы auth_basic в рабочем
116 процессе мог произойти segmentation fault.
117 Спасибо Михаилу Лалетину.
118
119 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
120 появилась в 0.8.42.
121
122
123 Изменения в nginx 0.8.53 18.10.2010
124
125 *) Добавление: теперь директива error_page позволяет менять код статуса
126 у редиректа.
127
128 *) Добавление: директива gzip_disable поддерживает специальную маску
129 degradation.
130
131 *) Исправление: при использовании файлового AIO могла происходить
132 утечка сокетов.
133 Спасибо Максиму Дунину.
134
135 *) Исправление: если в первом сервере не была описана директива listen
136 и нигде явно не описан сервер по умолчанию, то сервером по умолчанию
137 становился следующий сервер с директивой listen; ошибка появилась в
138 0.8.21.
139
140
141 Изменения в nginx 0.8.52 28.09.2010
142
143 *) Исправление: nginx использовал режим SSL для listen сокета, если для
144 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
145
146
147 Изменения в nginx 0.8.51 27.09.2010
148
149 *) Изменение: директива secure_link_expires упразднена.
150
151 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
152 alert на error.
153
154 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
155 несколько раз.
156
157
158 Изменения в nginx 0.8.50 02.09.2010
159
160 *) Добавление: директивы secure_link, secure_link_md5 и
161 secure_link_expires модуля ngx_http_secure_link_module.
162
163 *) Добавление: ключ -q.
164 Спасибо Геннадию Махомеду.
165
166 *) Исправление: при использовании кэширования рабочие процессы и могли
167 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
168
169 *) Исправление: в директиве gzip_disable.
170 Спасибо Derrick Petzold.
171
172 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
173 reopen, reload процессу, запущенному в другой сессии.
174
175
176 Изменения в nginx 0.8.49 09.08.2010
177
178 *) Добавление: директива image_filter_jpeg_quality поддерживает
179 переменные.
180
181 *) Исправление: при использовании переменной $geoip_region_name в
182 рабочем процессе мог произойти segmentation fault; ошибка появилась
183 в 0.8.48.
184
185 *) Исправление: ошибки, перехваченные error_page, кэшировались только
186 до следующего запроса; ошибка появилась в 0.8.48.
187
188
189 Изменения в nginx 0.8.48 03.08.2010
190
191 *) Изменение: теперь по умолчанию директива server_name имеет значение
192 пустое имя "".
193 Спасибо Геннадию Махомеду.
194
195 *) Изменение: теперь по умолчанию директива server_name_in_redirect
196 имеет значение off.
197
198 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
199 $geoip_region_name.
200 Спасибо Christine McGonagle.
201
202 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
203 scgi_pass не наследовались в блоки limit_except.
204
205 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
206 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
207 появилась в 0.8.46.
208
209 *) Исправление: директива fastcgi_split_path_info неверно использовала
210 выделения, если в выделения попадала только часть URI.
211 Спасибо Юрию Тарадаю и Frank Enderle.
212
213 *) Исправление: директива rewrite не экранировала символ ";" при
214 копировании из URI в аргументы.
215 Спасибо Daisuke Murase.
216
217 *) Исправление: модуль ngx_http_image_filter_module закрывал
218 соединение, если изображение было больше размера image_filter_buffer.
219
220
221 Изменения в nginx 0.8.47 28.07.2010
222
223 *) Исправление: переменная $request_time имела неверные значения для
224 подзапросов.
225
226 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
227
228 *) Исправление: если использовался параметр max_size, то cache manager
229 мог зациклиться; ошибка появилась в 0.8.46.
230
231
232 Изменения в nginx 0.8.46 19.07.2010
233
234 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache,
235 uwsgi_no_cache и scgi_no_cache теперь влияют только на сохранение
236 закэшированного ответа.
237
238 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
239 uwsgi_cache_bypass и scgi_cache_bypass.
240
241 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
242 ошибки работы с бэкендом: память освобождалась только по истечении
243 времени неактивности или при недостатке памяти.
244
245
246 Изменения в nginx 0.8.45 13.07.2010
247
248 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
249 Спасибо Laurence Rowe.
250
251 *) Исправление: ответ SSI модуля мог передаваться не полностью после
252 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
253 Спасибо Максиму Дунину.
254
255 *) Исправление: директива listen не поддерживала параметр setfib=0.
256
257
258 Изменения в nginx 0.8.44 05.07.2010
259
260 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
261 заголовке которых есть строка "Set-Cookie".
262
263 *) Добавление: директива listen поддерживает параметр setfib.
264 Спасибо Андрею Филонову.
265
266 *) Исправление: директива sub_filter могла изменять регистр букв при
267 частичном совпадении.
268
269 *) Исправление: совместимость с HP/UX.
270
271 *) Исправление: совместимость с компилятором AIX xlC_r.
272
273 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
274 запросы.
275 Спасибо Miroslaw Jaworski.
276
277
278 Изменения в nginx 0.8.43 30.06.2010
279
280 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
281
282 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
283 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
284 0.8.42.
285
286 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
287 переконфигурации.
288 Спасибо Максиму Дунину.
289
290 *) Исправление: переменную $uid_set можно использовать на любой стадии
291 обработки запроса.
292
293
294 Изменения в nginx 0.8.42 21.06.2010
295
296 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
297 выражениями, если запрос полностью совпал с location'ом, заданным
298 строкой префикса. Предыдущее поведение появилось в 0.7.1.
299
300 *) Добавление: модуль ngx_http_scgi_module.
301 Спасибо Manlio Perillo.
302
303 *) Добавление: в директиве return можно добавлять текст ответа.
304
305
306 Изменения в nginx 0.8.41 15.06.2010
307
308 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
309 при запросе файла с неверной кодировкой UTF-8.
310
311 *) Изменение: теперь nginx разрешает использовать пробелы в строке
312 запроса.
313
314 *) Исправление: директива proxy_redirect неправильно изменяла строку
315 "Refresh" в заголовке ответа бэкенда.
316 Спасибо Андрею Андрееву и Максиму Согину.
317
318 *) Исправление: nginx не поддерживал путь без имени хоста в строке
319 "Destination" в заголовке запроса.
320
321
322 Изменения в nginx 0.8.40 07.06.2010
323
324 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
325 умолчанию.
326 Спасибо Jose Antonio Vazquez Gonzalez.
327
328 *) Добавление: модуль ngx_http_uwsgi_module.
329 Спасибо Roberto De Ioris.
330
331 *) Добавление: директива fastcgi_param со значением, начинающимся со
332 строки "HTTP_", изменяет строку заголовка в запросе клиента.
333
334 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
335 заголовке запроса клиента передавались FastCGI-серверу при
336 кэшировании.
337
338 *) Исправление: listen unix domain сокет нельзя было изменить во время
339 переконфигурации.
340 Спасибо Максиму Дунину.
341
342
343 Изменения в nginx 0.8.39 31.05.2010
344
345 *) Исправление: наследуемая директива alias неправильно работала во
346 вложенном location'е.
347
348 *) Исправление: в комбинации директив alias с переменными и try_files;
349
350 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
351 время обновления без перерыва.
352 Спасибо Максиму Дунину.
353
354
355 Изменения в nginx 0.8.38 24.05.2010
356
357 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
358
359 *) Добавление: теперь при использовании переменной $scheme в директиве
360 rewrite автоматически делается редирект.
361 Спасибо Piotr Sikora.
362
363 *) Исправление: теперь задержки в директиве limit_req соответствует
364 описанному алгоритму.
365 Спасибо Максиму Дунину.
366
367 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
368 перловом модулях.
369
370
371 Изменения в nginx 0.8.37 17.05.2010
372
373 *) Добавление: модуль ngx_http_split_clients_module.
374
375 *) Добавление: директива map поддерживает ключи больше 255 символов.
376
377 *) Исправление: nginx игнорировал значения "private" и "no-store" в
378 строке "Cache-Control" в заголовке ответа бэкенда.
379
380 *) Исправление: параметр stub в SSI-директиве include не использовался,
381 если пустой ответ имел код 200.
382
383 *) Исправление: если проксированный или FastCGI запрос внутренне
384 перенаправлялся в другой проксированный или FastCGI location, то в
385 рабочем процессе мог произойти segmentation fault; ошибка появилась
386 в 0.8.33.
387 Спасибо Yichun Zhang.
388
389 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
390 таймаута.
391 Спасибо Alan Batie.
392
393
394 Изменения в nginx 0.8.36 22.04.2010
395
396 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
397 методы DELETE, COPY и MOVE для симлинков.
398
399 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
400 основном запросе значения переменных $query_string, $arg_... и им
401 подобных.
402
403 *) Исправление: значение переменной повторно экранировалось после
404 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
405
406 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
407 Спасибо Vicente Aguilar и Максиму Дунину.
408
409 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
410 Спасибо Максиму Дунину.
411
412 *) Исправление: nginx не собирался с параметром --without-http-cache;
413 ошибка появилась в 0.8.35.
414
415
416 Изменения в nginx 0.8.35 01.04.2010
417
418 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
419
420 *) Добавление: директива chunked_transfer_encoding.
421
422 *) Исправление: символ "&" при копировании в аргументы в правилах
423 rewrite не экранировался.
424
425 *) Исправление: nginx мог завершаться аварийно во время обработки
426 сигнала или при использовании директивы timer_resolution на
427 платформах, не поддерживающих методы kqueue или eventport.
428 Спасибо George Xie и Максиму Дунину.
429
430 *) Исправление: если временные файлы и постоянное место хранения
431 располагались на разных файловых системах, то у постоянных файлов
432 время изменения было неверным.
433 Спасибо Максиму Дунину.
434
435 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
436 "memcached sent invalid trailer".
437 Спасибо Максиму Дунину.
438
439 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
440 текстов.
441 Спасибо Максиму Дунину.
442
443 *) Исправление: в рабочем процессе происходил segmentation fault, если
444 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
445 появилась в 0.8.34.
446 Спасибо Максиму Дунину.
447
1 448
2 Изменения в nginx 0.8.34 03.03.2010 449 Изменения в nginx 0.8.34 03.03.2010
3 450
4 *) Исправление: nginx не поддерживал все шифры, используемые в 451 *) Исправление: nginx не поддерживал все шифры, используемые в
5 клиентских сертификатах. 452 клиентских сертификатах.
9 ответом было много вывода в stderr. 456 ответом было много вывода в stderr.
10 457
11 *) Исправление: nginx не поддерживал HTTPS-рефереры. 458 *) Исправление: nginx не поддерживал HTTPS-рефереры.
12 459
13 *) Исправление: nginx/Windows мог не находить файлы, если путь в 460 *) Исправление: nginx/Windows мог не находить файлы, если путь в
14 конфигурации был задан в другом регистре; ошибка появилась в 0.8.34. 461 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
15 462
16 *) Исправление: переменная $date_local выдавала неверное время, если 463 *) Исправление: переменная $date_local выдавала неверное время, если
17 использовался формат "%s". 464 использовался формат "%s".
18 Спасибо Максиму Дунину. 465 Спасибо Максиму Дунину.
19 466
216 Изменения в nginx 0.8.23 11.11.2009 663 Изменения в nginx 0.8.23 11.11.2009
217 664
218 *) Безопасность: теперь SSL/TLS renegotiation запрещён. 665 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
219 Спасибо Максиму Дунину. 666 Спасибо Максиму Дунину.
220 667
221 *) Исправление: listen unix domain сокет не наследовались во время 668 *) Исправление: listen unix domain сокет не наследовался во время
222 обновления без перерыва. 669 обновления без перерыва.
223 670
224 *) Исправление: параметр "unix:" в директиве set_real_ip_from не 671 *) Исправление: параметр "unix:" в директиве set_real_ip_from не
225 работал без ещё одной директивы с любым IP-адресом. 672 работал без ещё одной директивы с любым IP-адресом.
226 673
292 739
293 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации 740 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
294 --error-log-path; ошибка появилась в 0.7.53. 741 --error-log-path; ошибка появилась в 0.7.53.
295 742
296 *) Исправление: nginx не считал запятую разделителем в строке 743 *) Исправление: nginx не считал запятую разделителем в строке
297 "Cache-Control" в строке заголовка бэкенда. 744 "Cache-Control" в заголовке ответа бэкенда.
298 745
299 *) Исправление: nginx/Windows мог не создать временный файл, файл в 746 *) Исправление: nginx/Windows мог не создать временный файл, файл в
300 кэше или файл с помощью директив proxy/fastcgi_store, если рабочий 747 кэше или файл с помощью директив proxy/fastcgi_store, если рабочий
301 процесс не имел достаточно прав для работы с каталогами верхнего 748 процесс не имел достаточно прав для работы с каталогами верхнего
302 уровня. 749 уровня.
326 *) Добавление: теперь можно использовать несколько директив 773 *) Добавление: теперь можно использовать несколько директив
327 perl_modules. 774 perl_modules.
328 775
329 *) Добавление: директивы limit_req_log_level и limit_conn_log_level. 776 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
330 777
331 *) Исправление: Теперь директива limit_req соответствует алгоритму 778 *) Исправление: теперь директива limit_req соответствует алгоритму
332 leaky bucket. 779 leaky bucket.
333 Спасибо Максиму Дунину. 780 Спасибо Максиму Дунину.
334 781
335 *) Исправление: nginx не работал на Linux/sparc. 782 *) Исправление: nginx не работал на Linux/sparc.
336 Спасибо Marcus Ramberg. 783 Спасибо Marcus Ramberg.
1692 в рабочем процессе происходил segmentation fault. 2139 в рабочем процессе происходил segmentation fault.
1693 Спасибо Joaquin Cuenca Abela. 2140 Спасибо Joaquin Cuenca Abela.
1694 2141
1695 *) Исправление: nginx неверно определял длину строки кэша на 2142 *) Исправление: nginx неверно определял длину строки кэша на
1696 Pentium 4. 2143 Pentium 4.
1697 Спасибо Gena Makhomed. 2144 Спасибо Геннадию Махомеду.
1698 2145
1699 *) Исправление: в проксированных подзапросах и подзапросах к 2146 *) Исправление: в проксированных подзапросах и подзапросах к
1700 FastCGI-серверу вместо метода GET использовался оригинальный метод 2147 FastCGI-серверу вместо метода GET использовался оригинальный метод
1701 клиента. 2148 клиента.
1702 2149
1960 *) Исправление: при использовании включённом отладочном логе в рабочем 2407 *) Исправление: при использовании включённом отладочном логе в рабочем
1961 процессе мог произойти segmentation fault. 2408 процессе мог произойти segmentation fault.
1962 Спасибо Андрею Нигматулину. 2409 Спасибо Андрею Нигматулину.
1963 2410
1964 *) Исправление: ngx_http_memcached_module не устанавливал 2411 *) Исправление: ngx_http_memcached_module не устанавливал
1965 upstream_response_time. 2412 $upstream_response_time.
1966 Спасибо Максиму Дунину. 2413 Спасибо Максиму Дунину.
1967 2414
1968 *) Исправление: рабочий процесс мог зациклиться при использовании 2415 *) Исправление: рабочий процесс мог зациклиться при использовании
1969 memcached. 2416 memcached.
1970 2417