Kouhei Sutou
null+****@clear*****
Sat Nov 22 17:25:19 JST 2014
Kouhei Sutou 2014-11-22 17:25:19 +0900 (Sat, 22 Nov 2014) New Revision: 2332a036b27de9112df77ee2c83304f4d605ebe6 https://github.com/groonga/groonga/commit/2332a036b27de9112df77ee2c83304f4d605ebe6 Message: Use nginx in repository not tar.gz Because tar.gz doesn't have Windows related code. We can't use Git repository at https://github.com/nginx/nginx because it just push tar.gz-ed code... Added files: vendor/nginx-1.7.7/docs/GNUmakefile vendor/nginx-1.7.7/docs/dtd/change_log_conf.dtd vendor/nginx-1.7.7/docs/dtd/changes.dtd vendor/nginx-1.7.7/docs/xml/change_log_conf.xml vendor/nginx-1.7.7/docs/xml/nginx/changes.xml vendor/nginx-1.7.7/docs/xsls/changes.xsls vendor/nginx-1.7.7/docs/xslt/changes.xslt vendor/nginx-1.7.7/misc/GNUmakefile vendor/nginx-1.7.7/misc/README vendor/nginx-1.7.7/src/event/modules/ngx_iocp_module.c vendor/nginx-1.7.7/src/event/modules/ngx_iocp_module.h vendor/nginx-1.7.7/src/event/ngx_event_acceptex.c vendor/nginx-1.7.7/src/event/ngx_event_connectex.c vendor/nginx-1.7.7/src/mysql/config vendor/nginx-1.7.7/src/mysql/ngx_http_mysql_test.c vendor/nginx-1.7.7/src/mysql/ngx_mysql.c vendor/nginx-1.7.7/src/mysql/ngx_mysql.h vendor/nginx-1.7.7/src/os/win32/nginx.ico vendor/nginx-1.7.7/src/os/win32/nginx.rc vendor/nginx-1.7.7/src/os/win32/nginx_icon16.xpm vendor/nginx-1.7.7/src/os/win32/nginx_icon32.xpm vendor/nginx-1.7.7/src/os/win32/nginx_icon48.xpm vendor/nginx-1.7.7/src/os/win32/ngx_alloc.c vendor/nginx-1.7.7/src/os/win32/ngx_atomic.h vendor/nginx-1.7.7/src/os/win32/ngx_errno.c vendor/nginx-1.7.7/src/os/win32/ngx_errno.h vendor/nginx-1.7.7/src/os/win32/ngx_event_log.c vendor/nginx-1.7.7/src/os/win32/ngx_files.c vendor/nginx-1.7.7/src/os/win32/ngx_files.h vendor/nginx-1.7.7/src/os/win32/ngx_process.c vendor/nginx-1.7.7/src/os/win32/ngx_process.h vendor/nginx-1.7.7/src/os/win32/ngx_process_cycle.c vendor/nginx-1.7.7/src/os/win32/ngx_service.c vendor/nginx-1.7.7/src/os/win32/ngx_shmem.c vendor/nginx-1.7.7/src/os/win32/ngx_socket.c vendor/nginx-1.7.7/src/os/win32/ngx_socket.h vendor/nginx-1.7.7/src/os/win32/ngx_stat.c vendor/nginx-1.7.7/src/os/win32/ngx_thread.c vendor/nginx-1.7.7/src/os/win32/ngx_thread.h vendor/nginx-1.7.7/src/os/win32/ngx_time.c vendor/nginx-1.7.7/src/os/win32/ngx_time.h vendor/nginx-1.7.7/src/os/win32/ngx_udp_wsarecv.c vendor/nginx-1.7.7/src/os/win32/ngx_user.c vendor/nginx-1.7.7/src/os/win32/ngx_win32_config.h vendor/nginx-1.7.7/src/os/win32/ngx_win32_init.c vendor/nginx-1.7.7/src/os/win32/ngx_wsarecv.c vendor/nginx-1.7.7/src/os/win32/ngx_wsarecv_chain.c vendor/nginx-1.7.7/src/os/win32/ngx_wsasend.c vendor/nginx-1.7.7/src/os/win32/ngx_wsasend_chain.c Copied files: vendor/nginx-1.7.7/src/os/unix/ngx_alloc.h (from vendor/nginx-1.7.6/src/os/unix/ngx_alloc.h) vendor/nginx-1.7.7/src/os/unix/ngx_os.h (from vendor/nginx-1.7.6/src/os/unix/ngx_os.h) vendor/nginx-1.7.7/src/os/unix/ngx_process_cycle.h (from vendor/nginx-1.7.6/src/os/unix/ngx_process_cycle.h) vendor/nginx-1.7.7/src/os/unix/ngx_shmem.h (from vendor/nginx-1.7.6/src/os/unix/ngx_shmem.h) vendor/nginx-1.7.7/src/os/unix/ngx_user.h (from vendor/nginx-1.7.6/src/os/unix/ngx_user.h) Removed files: vendor/nginx-1.7.6/CHANGES vendor/nginx-1.7.6/CHANGES.ru Modified files: nginx_version src/httpd/configure vendor/update_nginx.sh Renamed files: vendor/nginx-1.7.7/auto/cc/acc (from vendor/nginx-1.7.6/auto/cc/acc) vendor/nginx-1.7.7/auto/cc/bcc (from vendor/nginx-1.7.6/auto/cc/bcc) vendor/nginx-1.7.7/auto/cc/ccc (from vendor/nginx-1.7.6/auto/cc/ccc) vendor/nginx-1.7.7/auto/cc/clang (from vendor/nginx-1.7.6/auto/cc/clang) vendor/nginx-1.7.7/auto/cc/conf (from vendor/nginx-1.7.6/auto/cc/conf) vendor/nginx-1.7.7/auto/cc/gcc (from vendor/nginx-1.7.6/auto/cc/gcc) vendor/nginx-1.7.7/auto/cc/icc (from vendor/nginx-1.7.6/auto/cc/icc) vendor/nginx-1.7.7/auto/cc/msvc (from vendor/nginx-1.7.6/auto/cc/msvc) vendor/nginx-1.7.7/auto/cc/name (from vendor/nginx-1.7.6/auto/cc/name) vendor/nginx-1.7.7/auto/cc/owc (from vendor/nginx-1.7.6/auto/cc/owc) vendor/nginx-1.7.7/auto/cc/sunc (from vendor/nginx-1.7.6/auto/cc/sunc) vendor/nginx-1.7.7/auto/configure (from vendor/nginx-1.7.6/configure) vendor/nginx-1.7.7/auto/define (from vendor/nginx-1.7.6/auto/define) vendor/nginx-1.7.7/auto/endianness (from vendor/nginx-1.7.6/auto/endianness) vendor/nginx-1.7.7/auto/feature (from vendor/nginx-1.7.6/auto/feature) vendor/nginx-1.7.7/auto/have (from vendor/nginx-1.7.6/auto/have) vendor/nginx-1.7.7/auto/have_headers (from vendor/nginx-1.7.6/auto/have_headers) vendor/nginx-1.7.7/auto/headers (from vendor/nginx-1.7.6/auto/headers) vendor/nginx-1.7.7/auto/include (from vendor/nginx-1.7.6/auto/include) vendor/nginx-1.7.7/auto/init (from vendor/nginx-1.7.6/auto/init) vendor/nginx-1.7.7/auto/install (from vendor/nginx-1.7.6/auto/install) vendor/nginx-1.7.7/auto/lib/conf (from vendor/nginx-1.7.6/auto/lib/conf) vendor/nginx-1.7.7/auto/lib/geoip/conf (from vendor/nginx-1.7.6/auto/lib/geoip/conf) vendor/nginx-1.7.7/auto/lib/google-perftools/conf (from vendor/nginx-1.7.6/auto/lib/google-perftools/conf) vendor/nginx-1.7.7/auto/lib/libatomic/conf (from vendor/nginx-1.7.6/auto/lib/libatomic/conf) vendor/nginx-1.7.7/auto/lib/libatomic/make (from vendor/nginx-1.7.6/auto/lib/libatomic/make) vendor/nginx-1.7.7/auto/lib/libgd/conf (from vendor/nginx-1.7.6/auto/lib/libgd/conf) vendor/nginx-1.7.7/auto/lib/libxslt/conf (from vendor/nginx-1.7.6/auto/lib/libxslt/conf) vendor/nginx-1.7.7/auto/lib/make (from vendor/nginx-1.7.6/auto/lib/make) vendor/nginx-1.7.7/auto/lib/md5/conf (from vendor/nginx-1.7.6/auto/lib/md5/conf) vendor/nginx-1.7.7/auto/lib/md5/make (from vendor/nginx-1.7.6/auto/lib/md5/make) vendor/nginx-1.7.7/auto/lib/md5/makefile.bcc (from vendor/nginx-1.7.6/auto/lib/md5/makefile.bcc) vendor/nginx-1.7.7/auto/lib/md5/makefile.msvc (from vendor/nginx-1.7.6/auto/lib/md5/makefile.msvc) vendor/nginx-1.7.7/auto/lib/md5/makefile.owc (from vendor/nginx-1.7.6/auto/lib/md5/makefile.owc) vendor/nginx-1.7.7/auto/lib/openssl/conf (from vendor/nginx-1.7.6/auto/lib/openssl/conf) vendor/nginx-1.7.7/auto/lib/openssl/make (from vendor/nginx-1.7.6/auto/lib/openssl/make) vendor/nginx-1.7.7/auto/lib/openssl/makefile.bcc (from vendor/nginx-1.7.6/auto/lib/openssl/makefile.bcc) vendor/nginx-1.7.7/auto/lib/openssl/makefile.msvc (from vendor/nginx-1.7.6/auto/lib/openssl/makefile.msvc) vendor/nginx-1.7.7/auto/lib/pcre/conf (from vendor/nginx-1.7.6/auto/lib/pcre/conf) vendor/nginx-1.7.7/auto/lib/pcre/make (from vendor/nginx-1.7.6/auto/lib/pcre/make) vendor/nginx-1.7.7/auto/lib/pcre/makefile.bcc (from vendor/nginx-1.7.6/auto/lib/pcre/makefile.bcc) vendor/nginx-1.7.7/auto/lib/pcre/makefile.msvc (from vendor/nginx-1.7.6/auto/lib/pcre/makefile.msvc) vendor/nginx-1.7.7/auto/lib/pcre/makefile.owc (from vendor/nginx-1.7.6/auto/lib/pcre/makefile.owc) vendor/nginx-1.7.7/auto/lib/perl/conf (from vendor/nginx-1.7.6/auto/lib/perl/conf) vendor/nginx-1.7.7/auto/lib/perl/make (from vendor/nginx-1.7.6/auto/lib/perl/make) vendor/nginx-1.7.7/auto/lib/sha1/conf (from vendor/nginx-1.7.6/auto/lib/sha1/conf) vendor/nginx-1.7.7/auto/lib/sha1/make (from vendor/nginx-1.7.6/auto/lib/sha1/make) vendor/nginx-1.7.7/auto/lib/sha1/makefile.bcc (from vendor/nginx-1.7.6/auto/lib/sha1/makefile.bcc) vendor/nginx-1.7.7/auto/lib/sha1/makefile.msvc (from vendor/nginx-1.7.6/auto/lib/sha1/makefile.msvc) vendor/nginx-1.7.7/auto/lib/sha1/makefile.owc (from vendor/nginx-1.7.6/auto/lib/sha1/makefile.owc) vendor/nginx-1.7.7/auto/lib/test (from vendor/nginx-1.7.6/auto/lib/test) vendor/nginx-1.7.7/auto/lib/zlib/conf (from vendor/nginx-1.7.6/auto/lib/zlib/conf) vendor/nginx-1.7.7/auto/lib/zlib/make (from vendor/nginx-1.7.6/auto/lib/zlib/make) vendor/nginx-1.7.7/auto/lib/zlib/makefile.bcc (from vendor/nginx-1.7.6/auto/lib/zlib/makefile.bcc) vendor/nginx-1.7.7/auto/lib/zlib/makefile.msvc (from vendor/nginx-1.7.6/auto/lib/zlib/makefile.msvc) vendor/nginx-1.7.7/auto/lib/zlib/makefile.owc (from vendor/nginx-1.7.6/auto/lib/zlib/makefile.owc) vendor/nginx-1.7.7/auto/make (from vendor/nginx-1.7.6/auto/make) vendor/nginx-1.7.7/auto/modules (from vendor/nginx-1.7.6/auto/modules) vendor/nginx-1.7.7/auto/nohave (from vendor/nginx-1.7.6/auto/nohave) vendor/nginx-1.7.7/auto/options (from vendor/nginx-1.7.6/auto/options) vendor/nginx-1.7.7/auto/os/conf (from vendor/nginx-1.7.6/auto/os/conf) vendor/nginx-1.7.7/auto/os/darwin (from vendor/nginx-1.7.6/auto/os/darwin) vendor/nginx-1.7.7/auto/os/freebsd (from vendor/nginx-1.7.6/auto/os/freebsd) vendor/nginx-1.7.7/auto/os/linux (from vendor/nginx-1.7.6/auto/os/linux) vendor/nginx-1.7.7/auto/os/solaris (from vendor/nginx-1.7.6/auto/os/solaris) vendor/nginx-1.7.7/auto/os/win32 (from vendor/nginx-1.7.6/auto/os/win32) vendor/nginx-1.7.7/auto/sources (from vendor/nginx-1.7.6/auto/sources) vendor/nginx-1.7.7/auto/stubs (from vendor/nginx-1.7.6/auto/stubs) vendor/nginx-1.7.7/auto/summary (from vendor/nginx-1.7.6/auto/summary) vendor/nginx-1.7.7/auto/types/sizeof (from vendor/nginx-1.7.6/auto/types/sizeof) vendor/nginx-1.7.7/auto/types/typedef (from vendor/nginx-1.7.6/auto/types/typedef) vendor/nginx-1.7.7/auto/types/uintptr_t (from vendor/nginx-1.7.6/auto/types/uintptr_t) vendor/nginx-1.7.7/auto/types/value (from vendor/nginx-1.7.6/auto/types/value) vendor/nginx-1.7.7/auto/unix (from vendor/nginx-1.7.6/auto/unix) vendor/nginx-1.7.7/conf/fastcgi.conf (from vendor/nginx-1.7.6/conf/fastcgi.conf) vendor/nginx-1.7.7/conf/fastcgi_params (from vendor/nginx-1.7.6/conf/fastcgi_params) vendor/nginx-1.7.7/conf/koi-utf (from vendor/nginx-1.7.6/conf/koi-utf) vendor/nginx-1.7.7/conf/koi-win (from vendor/nginx-1.7.6/conf/koi-win) vendor/nginx-1.7.7/conf/mime.types (from vendor/nginx-1.7.6/conf/mime.types) vendor/nginx-1.7.7/conf/nginx.conf (from vendor/nginx-1.7.6/conf/nginx.conf) vendor/nginx-1.7.7/conf/scgi_params (from vendor/nginx-1.7.6/conf/scgi_params) vendor/nginx-1.7.7/conf/uwsgi_params (from vendor/nginx-1.7.6/conf/uwsgi_params) vendor/nginx-1.7.7/conf/win-utf (from vendor/nginx-1.7.6/conf/win-utf) vendor/nginx-1.7.7/contrib/README (from vendor/nginx-1.7.6/contrib/README) vendor/nginx-1.7.7/contrib/geo2nginx.pl (from vendor/nginx-1.7.6/contrib/geo2nginx.pl) vendor/nginx-1.7.7/contrib/unicode2nginx/koi-utf (from vendor/nginx-1.7.6/contrib/unicode2nginx/koi-utf) vendor/nginx-1.7.7/contrib/unicode2nginx/unicode-to-nginx.pl (from vendor/nginx-1.7.6/contrib/unicode2nginx/unicode-to-nginx.pl) vendor/nginx-1.7.7/contrib/unicode2nginx/win-utf (from vendor/nginx-1.7.6/contrib/unicode2nginx/win-utf) vendor/nginx-1.7.7/contrib/vim/ftdetect/nginx.vim (from vendor/nginx-1.7.6/contrib/vim/ftdetect/nginx.vim) vendor/nginx-1.7.7/contrib/vim/indent/nginx.vim (from vendor/nginx-1.7.6/contrib/vim/indent/nginx.vim) vendor/nginx-1.7.7/contrib/vim/syntax/nginx.vim (from vendor/nginx-1.7.6/contrib/vim/syntax/nginx.vim) vendor/nginx-1.7.7/docs/html/50x.html (from vendor/nginx-1.7.6/html/50x.html) vendor/nginx-1.7.7/docs/html/index.html (from vendor/nginx-1.7.6/html/index.html) vendor/nginx-1.7.7/docs/man/nginx.8 (from vendor/nginx-1.7.6/man/nginx.8) vendor/nginx-1.7.7/docs/text/LICENSE (from vendor/nginx-1.7.6/LICENSE) vendor/nginx-1.7.7/docs/text/README (from vendor/nginx-1.7.6/README) vendor/nginx-1.7.7/src/core/nginx.c (from vendor/nginx-1.7.6/src/core/nginx.c) vendor/nginx-1.7.7/src/core/nginx.h (from vendor/nginx-1.7.6/src/core/nginx.h) vendor/nginx-1.7.7/src/core/ngx_array.c (from vendor/nginx-1.7.6/src/core/ngx_array.c) vendor/nginx-1.7.7/src/core/ngx_array.h (from vendor/nginx-1.7.6/src/core/ngx_array.h) vendor/nginx-1.7.7/src/core/ngx_buf.c (from vendor/nginx-1.7.6/src/core/ngx_buf.c) vendor/nginx-1.7.7/src/core/ngx_buf.h (from vendor/nginx-1.7.6/src/core/ngx_buf.h) vendor/nginx-1.7.7/src/core/ngx_conf_file.c (from vendor/nginx-1.7.6/src/core/ngx_conf_file.c) vendor/nginx-1.7.7/src/core/ngx_conf_file.h (from vendor/nginx-1.7.6/src/core/ngx_conf_file.h) vendor/nginx-1.7.7/src/core/ngx_config.h (from vendor/nginx-1.7.6/src/core/ngx_config.h) vendor/nginx-1.7.7/src/core/ngx_connection.c (from vendor/nginx-1.7.6/src/core/ngx_connection.c) vendor/nginx-1.7.7/src/core/ngx_connection.h (from vendor/nginx-1.7.6/src/core/ngx_connection.h) vendor/nginx-1.7.7/src/core/ngx_core.h (from vendor/nginx-1.7.6/src/core/ngx_core.h) vendor/nginx-1.7.7/src/core/ngx_cpuinfo.c (from vendor/nginx-1.7.6/src/core/ngx_cpuinfo.c) vendor/nginx-1.7.7/src/core/ngx_crc.h (from vendor/nginx-1.7.6/src/core/ngx_crc.h) vendor/nginx-1.7.7/src/core/ngx_crc32.c (from vendor/nginx-1.7.6/src/core/ngx_crc32.c) vendor/nginx-1.7.7/src/core/ngx_crc32.h (from vendor/nginx-1.7.6/src/core/ngx_crc32.h) vendor/nginx-1.7.7/src/core/ngx_crypt.c (from vendor/nginx-1.7.6/src/core/ngx_crypt.c) vendor/nginx-1.7.7/src/core/ngx_crypt.h (from vendor/nginx-1.7.6/src/core/ngx_crypt.h) vendor/nginx-1.7.7/src/core/ngx_cycle.c (from vendor/nginx-1.7.6/src/core/ngx_cycle.c) vendor/nginx-1.7.7/src/core/ngx_cycle.h (from vendor/nginx-1.7.6/src/core/ngx_cycle.h) vendor/nginx-1.7.7/src/core/ngx_file.c (from vendor/nginx-1.7.6/src/core/ngx_file.c) vendor/nginx-1.7.7/src/core/ngx_file.h (from vendor/nginx-1.7.6/src/core/ngx_file.h) vendor/nginx-1.7.7/src/core/ngx_hash.c (from vendor/nginx-1.7.6/src/core/ngx_hash.c) vendor/nginx-1.7.7/src/core/ngx_hash.h (from vendor/nginx-1.7.6/src/core/ngx_hash.h) vendor/nginx-1.7.7/src/core/ngx_inet.c (from vendor/nginx-1.7.6/src/core/ngx_inet.c) vendor/nginx-1.7.7/src/core/ngx_inet.h (from vendor/nginx-1.7.6/src/core/ngx_inet.h) vendor/nginx-1.7.7/src/core/ngx_list.c (from vendor/nginx-1.7.6/src/core/ngx_list.c) vendor/nginx-1.7.7/src/core/ngx_list.h (from vendor/nginx-1.7.6/src/core/ngx_list.h) vendor/nginx-1.7.7/src/core/ngx_log.c (from vendor/nginx-1.7.6/src/core/ngx_log.c) vendor/nginx-1.7.7/src/core/ngx_log.h (from vendor/nginx-1.7.6/src/core/ngx_log.h) vendor/nginx-1.7.7/src/core/ngx_md5.c (from vendor/nginx-1.7.6/src/core/ngx_md5.c) vendor/nginx-1.7.7/src/core/ngx_md5.h (from vendor/nginx-1.7.6/src/core/ngx_md5.h) vendor/nginx-1.7.7/src/core/ngx_murmurhash.c (from vendor/nginx-1.7.6/src/core/ngx_murmurhash.c) vendor/nginx-1.7.7/src/core/ngx_murmurhash.h (from vendor/nginx-1.7.6/src/core/ngx_murmurhash.h) vendor/nginx-1.7.7/src/core/ngx_open_file_cache.c (from vendor/nginx-1.7.6/src/core/ngx_open_file_cache.c) vendor/nginx-1.7.7/src/core/ngx_open_file_cache.h (from vendor/nginx-1.7.6/src/core/ngx_open_file_cache.h) vendor/nginx-1.7.7/src/core/ngx_output_chain.c (from vendor/nginx-1.7.6/src/core/ngx_output_chain.c) vendor/nginx-1.7.7/src/core/ngx_palloc.c (from vendor/nginx-1.7.6/src/core/ngx_palloc.c) vendor/nginx-1.7.7/src/core/ngx_palloc.h (from vendor/nginx-1.7.6/src/core/ngx_palloc.h) vendor/nginx-1.7.7/src/core/ngx_parse.c (from vendor/nginx-1.7.6/src/core/ngx_parse.c) vendor/nginx-1.7.7/src/core/ngx_parse.h (from vendor/nginx-1.7.6/src/core/ngx_parse.h) vendor/nginx-1.7.7/src/core/ngx_proxy_protocol.c (from vendor/nginx-1.7.6/src/core/ngx_proxy_protocol.c) vendor/nginx-1.7.7/src/core/ngx_proxy_protocol.h (from vendor/nginx-1.7.6/src/core/ngx_proxy_protocol.h) vendor/nginx-1.7.7/src/core/ngx_queue.c (from vendor/nginx-1.7.6/src/core/ngx_queue.c) vendor/nginx-1.7.7/src/core/ngx_queue.h (from vendor/nginx-1.7.6/src/core/ngx_queue.h) vendor/nginx-1.7.7/src/core/ngx_radix_tree.c (from vendor/nginx-1.7.6/src/core/ngx_radix_tree.c) vendor/nginx-1.7.7/src/core/ngx_radix_tree.h (from vendor/nginx-1.7.6/src/core/ngx_radix_tree.h) vendor/nginx-1.7.7/src/core/ngx_rbtree.c (from vendor/nginx-1.7.6/src/core/ngx_rbtree.c) vendor/nginx-1.7.7/src/core/ngx_rbtree.h (from vendor/nginx-1.7.6/src/core/ngx_rbtree.h) vendor/nginx-1.7.7/src/core/ngx_regex.c (from vendor/nginx-1.7.6/src/core/ngx_regex.c) vendor/nginx-1.7.7/src/core/ngx_regex.h (from vendor/nginx-1.7.6/src/core/ngx_regex.h) vendor/nginx-1.7.7/src/core/ngx_resolver.c (from vendor/nginx-1.7.6/src/core/ngx_resolver.c) vendor/nginx-1.7.7/src/core/ngx_resolver.h (from vendor/nginx-1.7.6/src/core/ngx_resolver.h) vendor/nginx-1.7.7/src/core/ngx_sha1.h (from vendor/nginx-1.7.6/src/core/ngx_sha1.h) vendor/nginx-1.7.7/src/core/ngx_shmtx.c (from vendor/nginx-1.7.6/src/core/ngx_shmtx.c) vendor/nginx-1.7.7/src/core/ngx_shmtx.h (from vendor/nginx-1.7.6/src/core/ngx_shmtx.h) vendor/nginx-1.7.7/src/core/ngx_slab.c (from vendor/nginx-1.7.6/src/core/ngx_slab.c) vendor/nginx-1.7.7/src/core/ngx_slab.h (from vendor/nginx-1.7.6/src/core/ngx_slab.h) vendor/nginx-1.7.7/src/core/ngx_spinlock.c (from vendor/nginx-1.7.6/src/core/ngx_spinlock.c) vendor/nginx-1.7.7/src/core/ngx_string.c (from vendor/nginx-1.7.6/src/core/ngx_string.c) vendor/nginx-1.7.7/src/core/ngx_string.h (from vendor/nginx-1.7.6/src/core/ngx_string.h) vendor/nginx-1.7.7/src/core/ngx_syslog.c (from vendor/nginx-1.7.6/src/core/ngx_syslog.c) vendor/nginx-1.7.7/src/core/ngx_syslog.h (from vendor/nginx-1.7.6/src/core/ngx_syslog.h) vendor/nginx-1.7.7/src/core/ngx_times.c (from vendor/nginx-1.7.6/src/core/ngx_times.c) vendor/nginx-1.7.7/src/core/ngx_times.h (from vendor/nginx-1.7.6/src/core/ngx_times.h) vendor/nginx-1.7.7/src/event/modules/ngx_aio_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_aio_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_devpoll_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_devpoll_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_epoll_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_epoll_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_eventport_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_eventport_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_kqueue_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_kqueue_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_poll_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_poll_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_rtsig_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_rtsig_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_select_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_select_module.c) vendor/nginx-1.7.7/src/event/modules/ngx_win32_select_module.c (from vendor/nginx-1.7.6/src/event/modules/ngx_win32_select_module.c) vendor/nginx-1.7.7/src/event/ngx_event.c (from vendor/nginx-1.7.6/src/event/ngx_event.c) vendor/nginx-1.7.7/src/event/ngx_event.h (from vendor/nginx-1.7.6/src/event/ngx_event.h) vendor/nginx-1.7.7/src/event/ngx_event_accept.c (from vendor/nginx-1.7.6/src/event/ngx_event_accept.c) vendor/nginx-1.7.7/src/event/ngx_event_busy_lock.c (from vendor/nginx-1.7.6/src/event/ngx_event_busy_lock.c) vendor/nginx-1.7.7/src/event/ngx_event_busy_lock.h (from vendor/nginx-1.7.6/src/event/ngx_event_busy_lock.h) vendor/nginx-1.7.7/src/event/ngx_event_connect.c (from vendor/nginx-1.7.6/src/event/ngx_event_connect.c) vendor/nginx-1.7.7/src/event/ngx_event_connect.h (from vendor/nginx-1.7.6/src/event/ngx_event_connect.h) vendor/nginx-1.7.7/src/event/ngx_event_mutex.c (from vendor/nginx-1.7.6/src/event/ngx_event_mutex.c) vendor/nginx-1.7.7/src/event/ngx_event_openssl.c (from vendor/nginx-1.7.6/src/event/ngx_event_openssl.c) vendor/nginx-1.7.7/src/event/ngx_event_openssl.h (from vendor/nginx-1.7.6/src/event/ngx_event_openssl.h) vendor/nginx-1.7.7/src/event/ngx_event_openssl_stapling.c (from vendor/nginx-1.7.6/src/event/ngx_event_openssl_stapling.c) vendor/nginx-1.7.7/src/event/ngx_event_pipe.c (from vendor/nginx-1.7.6/src/event/ngx_event_pipe.c) vendor/nginx-1.7.7/src/event/ngx_event_pipe.h (from vendor/nginx-1.7.6/src/event/ngx_event_pipe.h) vendor/nginx-1.7.7/src/event/ngx_event_posted.c (from vendor/nginx-1.7.6/src/event/ngx_event_posted.c) vendor/nginx-1.7.7/src/event/ngx_event_posted.h (from vendor/nginx-1.7.6/src/event/ngx_event_posted.h) vendor/nginx-1.7.7/src/event/ngx_event_timer.c (from vendor/nginx-1.7.6/src/event/ngx_event_timer.c) vendor/nginx-1.7.7/src/event/ngx_event_timer.h (from vendor/nginx-1.7.6/src/event/ngx_event_timer.h) vendor/nginx-1.7.7/src/http/modules/ngx_http_access_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_access_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_addition_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_addition_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_auth_basic_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_auth_basic_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_auth_request_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_auth_request_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_autoindex_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_autoindex_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_browser_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_browser_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_charset_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_charset_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_chunked_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_chunked_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_dav_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_dav_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_degradation_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_degradation_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_empty_gif_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_empty_gif_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_fastcgi_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_fastcgi_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_flv_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_flv_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_geo_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_geo_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_geoip_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_geoip_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_gunzip_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_gunzip_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_gzip_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_gzip_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_gzip_static_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_gzip_static_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_headers_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_headers_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_image_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_image_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_index_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_index_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_limit_conn_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_limit_conn_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_limit_req_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_limit_req_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_log_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_log_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_map_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_map_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_memcached_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_memcached_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_mp4_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_mp4_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_not_modified_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_not_modified_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_proxy_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_proxy_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_random_index_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_random_index_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_range_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_range_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_realip_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_realip_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_referer_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_referer_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_rewrite_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_rewrite_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_scgi_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_scgi_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_secure_link_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_secure_link_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_split_clients_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_split_clients_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_ssi_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_ssi_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_ssi_filter_module.h (from vendor/nginx-1.7.6/src/http/modules/ngx_http_ssi_filter_module.h) vendor/nginx-1.7.7/src/http/modules/ngx_http_ssl_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_ssl_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_ssl_module.h (from vendor/nginx-1.7.6/src/http/modules/ngx_http_ssl_module.h) vendor/nginx-1.7.7/src/http/modules/ngx_http_static_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_static_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_stub_status_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_stub_status_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_sub_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_sub_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_upstream_hash_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_upstream_hash_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_upstream_ip_hash_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_upstream_ip_hash_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_upstream_keepalive_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_upstream_keepalive_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_upstream_least_conn_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_upstream_least_conn_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_userid_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_userid_filter_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_uwsgi_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_uwsgi_module.c) vendor/nginx-1.7.7/src/http/modules/ngx_http_xslt_filter_module.c (from vendor/nginx-1.7.6/src/http/modules/ngx_http_xslt_filter_module.c) vendor/nginx-1.7.7/src/http/modules/perl/Makefile.PL (from vendor/nginx-1.7.6/src/http/modules/perl/Makefile.PL) vendor/nginx-1.7.7/src/http/modules/perl/nginx.pm (from vendor/nginx-1.7.6/src/http/modules/perl/nginx.pm) vendor/nginx-1.7.7/src/http/modules/perl/nginx.xs (from vendor/nginx-1.7.6/src/http/modules/perl/nginx.xs) vendor/nginx-1.7.7/src/http/modules/perl/ngx_http_perl_module.c (from vendor/nginx-1.7.6/src/http/modules/perl/ngx_http_perl_module.c) vendor/nginx-1.7.7/src/http/modules/perl/ngx_http_perl_module.h (from vendor/nginx-1.7.6/src/http/modules/perl/ngx_http_perl_module.h) vendor/nginx-1.7.7/src/http/modules/perl/typemap (from vendor/nginx-1.7.6/src/http/modules/perl/typemap) vendor/nginx-1.7.7/src/http/ngx_http.c (from vendor/nginx-1.7.6/src/http/ngx_http.c) vendor/nginx-1.7.7/src/http/ngx_http.h (from vendor/nginx-1.7.6/src/http/ngx_http.h) vendor/nginx-1.7.7/src/http/ngx_http_busy_lock.c (from vendor/nginx-1.7.6/src/http/ngx_http_busy_lock.c) vendor/nginx-1.7.7/src/http/ngx_http_busy_lock.h (from vendor/nginx-1.7.6/src/http/ngx_http_busy_lock.h) vendor/nginx-1.7.7/src/http/ngx_http_cache.h (from vendor/nginx-1.7.6/src/http/ngx_http_cache.h) vendor/nginx-1.7.7/src/http/ngx_http_config.h (from vendor/nginx-1.7.6/src/http/ngx_http_config.h) vendor/nginx-1.7.7/src/http/ngx_http_copy_filter_module.c (from vendor/nginx-1.7.6/src/http/ngx_http_copy_filter_module.c) vendor/nginx-1.7.7/src/http/ngx_http_core_module.c (from vendor/nginx-1.7.6/src/http/ngx_http_core_module.c) vendor/nginx-1.7.7/src/http/ngx_http_core_module.h (from vendor/nginx-1.7.6/src/http/ngx_http_core_module.h) vendor/nginx-1.7.7/src/http/ngx_http_file_cache.c (from vendor/nginx-1.7.6/src/http/ngx_http_file_cache.c) vendor/nginx-1.7.7/src/http/ngx_http_header_filter_module.c (from vendor/nginx-1.7.6/src/http/ngx_http_header_filter_module.c) vendor/nginx-1.7.7/src/http/ngx_http_parse.c (from vendor/nginx-1.7.6/src/http/ngx_http_parse.c) vendor/nginx-1.7.7/src/http/ngx_http_parse_time.c (from vendor/nginx-1.7.6/src/http/ngx_http_parse_time.c) vendor/nginx-1.7.7/src/http/ngx_http_postpone_filter_module.c (from vendor/nginx-1.7.6/src/http/ngx_http_postpone_filter_module.c) vendor/nginx-1.7.7/src/http/ngx_http_request.c (from vendor/nginx-1.7.6/src/http/ngx_http_request.c) vendor/nginx-1.7.7/src/http/ngx_http_request.h (from vendor/nginx-1.7.6/src/http/ngx_http_request.h) vendor/nginx-1.7.7/src/http/ngx_http_request_body.c (from vendor/nginx-1.7.6/src/http/ngx_http_request_body.c) vendor/nginx-1.7.7/src/http/ngx_http_script.c (from vendor/nginx-1.7.6/src/http/ngx_http_script.c) vendor/nginx-1.7.7/src/http/ngx_http_script.h (from vendor/nginx-1.7.6/src/http/ngx_http_script.h) vendor/nginx-1.7.7/src/http/ngx_http_spdy.c (from vendor/nginx-1.7.6/src/http/ngx_http_spdy.c) vendor/nginx-1.7.7/src/http/ngx_http_spdy.h (from vendor/nginx-1.7.6/src/http/ngx_http_spdy.h) vendor/nginx-1.7.7/src/http/ngx_http_spdy_filter_module.c (from vendor/nginx-1.7.6/src/http/ngx_http_spdy_filter_module.c) vendor/nginx-1.7.7/src/http/ngx_http_spdy_module.c (from vendor/nginx-1.7.6/src/http/ngx_http_spdy_module.c) vendor/nginx-1.7.7/src/http/ngx_http_spdy_module.h (from vendor/nginx-1.7.6/src/http/ngx_http_spdy_module.h) vendor/nginx-1.7.7/src/http/ngx_http_special_response.c (from vendor/nginx-1.7.6/src/http/ngx_http_special_response.c) vendor/nginx-1.7.7/src/http/ngx_http_upstream.c (from vendor/nginx-1.7.6/src/http/ngx_http_upstream.c) vendor/nginx-1.7.7/src/http/ngx_http_upstream.h (from vendor/nginx-1.7.6/src/http/ngx_http_upstream.h) vendor/nginx-1.7.7/src/http/ngx_http_upstream_round_robin.c (from vendor/nginx-1.7.6/src/http/ngx_http_upstream_round_robin.c) vendor/nginx-1.7.7/src/http/ngx_http_upstream_round_robin.h (from vendor/nginx-1.7.6/src/http/ngx_http_upstream_round_robin.h) vendor/nginx-1.7.7/src/http/ngx_http_variables.c (from vendor/nginx-1.7.6/src/http/ngx_http_variables.c) vendor/nginx-1.7.7/src/http/ngx_http_variables.h (from vendor/nginx-1.7.6/src/http/ngx_http_variables.h) vendor/nginx-1.7.7/src/http/ngx_http_write_filter_module.c (from vendor/nginx-1.7.6/src/http/ngx_http_write_filter_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail.c (from vendor/nginx-1.7.6/src/mail/ngx_mail.c) vendor/nginx-1.7.7/src/mail/ngx_mail.h (from vendor/nginx-1.7.6/src/mail/ngx_mail.h) vendor/nginx-1.7.7/src/mail/ngx_mail_auth_http_module.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_auth_http_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail_core_module.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_core_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail_handler.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_handler.c) vendor/nginx-1.7.7/src/mail/ngx_mail_imap_handler.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_imap_handler.c) vendor/nginx-1.7.7/src/mail/ngx_mail_imap_module.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_imap_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail_imap_module.h (from vendor/nginx-1.7.6/src/mail/ngx_mail_imap_module.h) vendor/nginx-1.7.7/src/mail/ngx_mail_parse.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_parse.c) vendor/nginx-1.7.7/src/mail/ngx_mail_pop3_handler.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_pop3_handler.c) vendor/nginx-1.7.7/src/mail/ngx_mail_pop3_module.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_pop3_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail_pop3_module.h (from vendor/nginx-1.7.6/src/mail/ngx_mail_pop3_module.h) vendor/nginx-1.7.7/src/mail/ngx_mail_proxy_module.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_proxy_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail_smtp_handler.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_smtp_handler.c) vendor/nginx-1.7.7/src/mail/ngx_mail_smtp_module.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_smtp_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail_smtp_module.h (from vendor/nginx-1.7.6/src/mail/ngx_mail_smtp_module.h) vendor/nginx-1.7.7/src/mail/ngx_mail_ssl_module.c (from vendor/nginx-1.7.6/src/mail/ngx_mail_ssl_module.c) vendor/nginx-1.7.7/src/mail/ngx_mail_ssl_module.h (from vendor/nginx-1.7.6/src/mail/ngx_mail_ssl_module.h) vendor/nginx-1.7.7/src/misc/ngx_cpp_test_module.cpp (from vendor/nginx-1.7.6/src/misc/ngx_cpp_test_module.cpp) vendor/nginx-1.7.7/src/misc/ngx_google_perftools_module.c (from vendor/nginx-1.7.6/src/misc/ngx_google_perftools_module.c) vendor/nginx-1.7.7/src/os/unix/ngx_aio_read.c (from vendor/nginx-1.7.6/src/os/unix/ngx_aio_read.c) vendor/nginx-1.7.7/src/os/unix/ngx_aio_read_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_aio_read_chain.c) vendor/nginx-1.7.7/src/os/unix/ngx_aio_write.c (from vendor/nginx-1.7.6/src/os/unix/ngx_aio_write.c) vendor/nginx-1.7.7/src/os/unix/ngx_aio_write_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_aio_write_chain.c) vendor/nginx-1.7.7/src/os/unix/ngx_alloc.c (from vendor/nginx-1.7.6/src/os/unix/ngx_alloc.c) vendor/nginx-1.7.7/src/os/unix/ngx_atomic.h (from vendor/nginx-1.7.6/src/os/unix/ngx_atomic.h) vendor/nginx-1.7.7/src/os/unix/ngx_channel.c (from vendor/nginx-1.7.6/src/os/unix/ngx_channel.c) vendor/nginx-1.7.7/src/os/unix/ngx_channel.h (from vendor/nginx-1.7.6/src/os/unix/ngx_channel.h) vendor/nginx-1.7.7/src/os/unix/ngx_daemon.c (from vendor/nginx-1.7.6/src/os/unix/ngx_daemon.c) vendor/nginx-1.7.7/src/os/unix/ngx_darwin.h (from vendor/nginx-1.7.6/src/os/unix/ngx_darwin.h) vendor/nginx-1.7.7/src/os/unix/ngx_darwin_config.h (from vendor/nginx-1.7.6/src/os/unix/ngx_darwin_config.h) vendor/nginx-1.7.7/src/os/unix/ngx_darwin_init.c (from vendor/nginx-1.7.6/src/os/unix/ngx_darwin_init.c) vendor/nginx-1.7.7/src/os/unix/ngx_darwin_sendfile_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_darwin_sendfile_chain.c) vendor/nginx-1.7.7/src/os/unix/ngx_errno.c (from vendor/nginx-1.7.6/src/os/unix/ngx_errno.c) vendor/nginx-1.7.7/src/os/unix/ngx_errno.h (from vendor/nginx-1.7.6/src/os/unix/ngx_errno.h) vendor/nginx-1.7.7/src/os/unix/ngx_file_aio_read.c (from vendor/nginx-1.7.6/src/os/unix/ngx_file_aio_read.c) vendor/nginx-1.7.7/src/os/unix/ngx_files.c (from vendor/nginx-1.7.6/src/os/unix/ngx_files.c) vendor/nginx-1.7.7/src/os/unix/ngx_files.h (from vendor/nginx-1.7.6/src/os/unix/ngx_files.h) vendor/nginx-1.7.7/src/os/unix/ngx_freebsd.h (from vendor/nginx-1.7.6/src/os/unix/ngx_freebsd.h) vendor/nginx-1.7.7/src/os/unix/ngx_freebsd_config.h (from vendor/nginx-1.7.6/src/os/unix/ngx_freebsd_config.h) vendor/nginx-1.7.7/src/os/unix/ngx_freebsd_init.c (from vendor/nginx-1.7.6/src/os/unix/ngx_freebsd_init.c) vendor/nginx-1.7.7/src/os/unix/ngx_freebsd_rfork_thread.c (from vendor/nginx-1.7.6/src/os/unix/ngx_freebsd_rfork_thread.c) vendor/nginx-1.7.7/src/os/unix/ngx_freebsd_rfork_thread.h (from vendor/nginx-1.7.6/src/os/unix/ngx_freebsd_rfork_thread.h) vendor/nginx-1.7.7/src/os/unix/ngx_freebsd_sendfile_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_freebsd_sendfile_chain.c) vendor/nginx-1.7.7/src/os/unix/ngx_gcc_atomic_amd64.h (from vendor/nginx-1.7.6/src/os/unix/ngx_gcc_atomic_amd64.h) vendor/nginx-1.7.7/src/os/unix/ngx_gcc_atomic_ppc.h (from vendor/nginx-1.7.6/src/os/unix/ngx_gcc_atomic_ppc.h) vendor/nginx-1.7.7/src/os/unix/ngx_gcc_atomic_sparc64.h (from vendor/nginx-1.7.6/src/os/unix/ngx_gcc_atomic_sparc64.h) vendor/nginx-1.7.7/src/os/unix/ngx_gcc_atomic_x86.h (from vendor/nginx-1.7.6/src/os/unix/ngx_gcc_atomic_x86.h) vendor/nginx-1.7.7/src/os/unix/ngx_linux.h (from vendor/nginx-1.7.6/src/os/unix/ngx_linux.h) vendor/nginx-1.7.7/src/os/unix/ngx_linux_aio_read.c (from vendor/nginx-1.7.6/src/os/unix/ngx_linux_aio_read.c) vendor/nginx-1.7.7/src/os/unix/ngx_linux_config.h (from vendor/nginx-1.7.6/src/os/unix/ngx_linux_config.h) vendor/nginx-1.7.7/src/os/unix/ngx_linux_init.c (from vendor/nginx-1.7.6/src/os/unix/ngx_linux_init.c) vendor/nginx-1.7.7/src/os/unix/ngx_linux_sendfile_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_linux_sendfile_chain.c) vendor/nginx-1.7.7/src/os/unix/ngx_posix_config.h (from vendor/nginx-1.7.6/src/os/unix/ngx_posix_config.h) vendor/nginx-1.7.7/src/os/unix/ngx_posix_init.c (from vendor/nginx-1.7.6/src/os/unix/ngx_posix_init.c) vendor/nginx-1.7.7/src/os/unix/ngx_process.c (from vendor/nginx-1.7.6/src/os/unix/ngx_process.c) vendor/nginx-1.7.7/src/os/unix/ngx_process.h (from vendor/nginx-1.7.6/src/os/unix/ngx_process.h) vendor/nginx-1.7.7/src/os/unix/ngx_process_cycle.c (from vendor/nginx-1.7.6/src/os/unix/ngx_process_cycle.c) vendor/nginx-1.7.7/src/os/unix/ngx_pthread_thread.c (from vendor/nginx-1.7.6/src/os/unix/ngx_pthread_thread.c) vendor/nginx-1.7.7/src/os/unix/ngx_readv_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_readv_chain.c) vendor/nginx-1.7.7/src/os/unix/ngx_recv.c (from vendor/nginx-1.7.6/src/os/unix/ngx_recv.c) vendor/nginx-1.7.7/src/os/unix/ngx_send.c (from vendor/nginx-1.7.6/src/os/unix/ngx_send.c) vendor/nginx-1.7.7/src/os/unix/ngx_setaffinity.c (from vendor/nginx-1.7.6/src/os/unix/ngx_setaffinity.c) vendor/nginx-1.7.7/src/os/unix/ngx_setaffinity.h (from vendor/nginx-1.7.6/src/os/unix/ngx_setaffinity.h) vendor/nginx-1.7.7/src/os/unix/ngx_setproctitle.c (from vendor/nginx-1.7.6/src/os/unix/ngx_setproctitle.c) vendor/nginx-1.7.7/src/os/unix/ngx_setproctitle.h (from vendor/nginx-1.7.6/src/os/unix/ngx_setproctitle.h) vendor/nginx-1.7.7/src/os/unix/ngx_shmem.c (from vendor/nginx-1.7.6/src/os/unix/ngx_shmem.c) vendor/nginx-1.7.7/src/os/unix/ngx_socket.c (from vendor/nginx-1.7.6/src/os/unix/ngx_socket.c) vendor/nginx-1.7.7/src/os/unix/ngx_socket.h (from vendor/nginx-1.7.6/src/os/unix/ngx_socket.h) vendor/nginx-1.7.7/src/os/unix/ngx_solaris.h (from vendor/nginx-1.7.6/src/os/unix/ngx_solaris.h) vendor/nginx-1.7.7/src/os/unix/ngx_solaris_config.h (from vendor/nginx-1.7.6/src/os/unix/ngx_solaris_config.h) vendor/nginx-1.7.7/src/os/unix/ngx_solaris_init.c (from vendor/nginx-1.7.6/src/os/unix/ngx_solaris_init.c) vendor/nginx-1.7.7/src/os/unix/ngx_solaris_sendfilev_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_solaris_sendfilev_chain.c) vendor/nginx-1.7.7/src/os/unix/ngx_sunpro_amd64.il (from vendor/nginx-1.7.6/src/os/unix/ngx_sunpro_amd64.il) vendor/nginx-1.7.7/src/os/unix/ngx_sunpro_atomic_sparc64.h (from vendor/nginx-1.7.6/src/os/unix/ngx_sunpro_atomic_sparc64.h) vendor/nginx-1.7.7/src/os/unix/ngx_sunpro_sparc64.il (from vendor/nginx-1.7.6/src/os/unix/ngx_sunpro_sparc64.il) vendor/nginx-1.7.7/src/os/unix/ngx_sunpro_x86.il (from vendor/nginx-1.7.6/src/os/unix/ngx_sunpro_x86.il) vendor/nginx-1.7.7/src/os/unix/ngx_thread.h (from vendor/nginx-1.7.6/src/os/unix/ngx_thread.h) vendor/nginx-1.7.7/src/os/unix/ngx_time.c (from vendor/nginx-1.7.6/src/os/unix/ngx_time.c) vendor/nginx-1.7.7/src/os/unix/ngx_time.h (from vendor/nginx-1.7.6/src/os/unix/ngx_time.h) vendor/nginx-1.7.7/src/os/unix/ngx_udp_recv.c (from vendor/nginx-1.7.6/src/os/unix/ngx_udp_recv.c) vendor/nginx-1.7.7/src/os/unix/ngx_user.c (from vendor/nginx-1.7.6/src/os/unix/ngx_user.c) vendor/nginx-1.7.7/src/os/unix/ngx_writev_chain.c (from vendor/nginx-1.7.6/src/os/unix/ngx_writev_chain.c) vendor/nginx-1.7.7/src/os/unix/rfork_thread.S (from vendor/nginx-1.7.6/src/os/unix/rfork_thread.S) vendor/nginx-1.7.7/src/os/win32/ngx_alloc.h (from vendor/nginx-1.7.6/src/os/unix/ngx_alloc.h) vendor/nginx-1.7.7/src/os/win32/ngx_os.h (from vendor/nginx-1.7.6/src/os/unix/ngx_os.h) vendor/nginx-1.7.7/src/os/win32/ngx_process_cycle.h (from vendor/nginx-1.7.6/src/os/unix/ngx_process_cycle.h) vendor/nginx-1.7.7/src/os/win32/ngx_shmem.h (from vendor/nginx-1.7.6/src/os/unix/ngx_shmem.h) vendor/nginx-1.7.7/src/os/win32/ngx_user.h (from vendor/nginx-1.7.6/src/os/unix/ngx_user.h) Modified: nginx_version (+1 -1) =================================================================== --- nginx_version 2014-11-21 22:03:26 +0900 (de28578) +++ nginx_version 2014-11-22 17:25:19 +0900 (91c74a5) @@ -1 +1 @@ -1.7.6 +1.7.7 Modified: src/httpd/configure (+1 -1) =================================================================== --- src/httpd/configure 2014-11-21 22:03:26 +0900 (cd6fc0e) +++ src/httpd/configure 2014-11-22 17:25:19 +0900 (b9f0b03) @@ -68,7 +68,7 @@ fi cd "${nginx_directory_in_build_directory}" -./configure \ +auto/configure \ --prefix="${GROONGA_HTTPD_PREFIX}" \ --sbin-path="${GROONGA_HTTPD_BIN_PATH}" \ --conf-path="${GROONGA_HTTPD_CONF_PATH}" \ Deleted: vendor/nginx-1.7.6/CHANGES (+0 -6822) 100644 =================================================================== --- vendor/nginx-1.7.6/CHANGES 2014-11-21 22:03:26 +0900 (ddfb800) +++ /dev/null @@ -1,6822 +0,0 @@ - -Changes with nginx 1.7.6 30 Sep 2014 - - *) Change: the deprecated "limit_zone" directive is not supported - anymore. - - *) Feature: the "limit_conn_zone" and "limit_req_zone" directives now - can be used with combinations of multiple variables. - - *) Bugfix: request body might be transmitted incorrectly when retrying a - FastCGI request to the next upstream server. - - *) Bugfix: in logging to syslog. - - -Changes with nginx 1.7.5 16 Sep 2014 - - *) Security: it was possible to reuse SSL sessions in unrelated contexts - if a shared SSL session cache or the same TLS session ticket key was - used for multiple "server" blocks (CVE-2014-3616). - Thanks to Antoine Delignat-Lavaud. - - *) Change: now the "stub_status" directive does not require a parameter. - - *) Feature: the "always" parameter of the "add_header" directive. - - *) Feature: the "proxy_next_upstream_tries", - "proxy_next_upstream_timeout", "fastcgi_next_upstream_tries", - "fastcgi_next_upstream_timeout", "memcached_next_upstream_tries", - "memcached_next_upstream_timeout", "scgi_next_upstream_tries", - "scgi_next_upstream_timeout", "uwsgi_next_upstream_tries", and - "uwsgi_next_upstream_timeout" directives. - - *) Bugfix: in the "if" parameter of the "access_log" directive. - - *) Bugfix: in the ngx_http_perl_module. - Thanks to Piotr Sikora. - - *) Bugfix: the "listen" directive of the mail proxy module did not allow - to specify more than two parameters. - - *) Bugfix: the "sub_filter" directive did not work with a string to - replace consisting of a single character. - - *) Bugfix: requests might hang if resolver was used and a timeout - occurred during a DNS request. - - *) Bugfix: in the ngx_http_spdy_module when using with AIO. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "set" directive was used to change the "$http_...", "$sent_http_...", - or "$upstream_http_..." variables. - - *) Bugfix: in memory allocation error handling. - Thanks to Markus Linnala and Feng Gu. - - -Changes with nginx 1.7.4 05 Aug 2014 - - *) Security: pipelined commands were not discarded after STARTTLS - command in SMTP proxy (CVE-2014-3556); the bug had appeared in 1.5.6. - Thanks to Chris Boulton. - - *) Change: URI escaping now uses uppercase hexadecimal digits. - Thanks to Piotr Sikora. - - *) Feature: now nginx can be build with BoringSSL and LibreSSL. - Thanks to Piotr Sikora. - - *) Bugfix: requests might hang if resolver was used and a DNS server - returned a malformed response; the bug had appeared in 1.5.8. - - *) Bugfix: in the ngx_http_spdy_module. - Thanks to Piotr Sikora. - - *) Bugfix: the $uri variable might contain garbage when returning errors - with code 400. - Thanks to Sergey Bobrov. - - *) Bugfix: in error handling in the "proxy_store" directive and the - ngx_http_dav_module. - Thanks to Feng Gu. - - *) Bugfix: a segmentation fault might occur if logging of errors to - syslog was used; the bug had appeared in 1.7.1. - - *) Bugfix: the $geoip_latitude, $geoip_longitude, $geoip_dma_code, and - $geoip_area_code variables might not work. - Thanks to Yichun Zhang. - - *) Bugfix: in memory allocation error handling. - Thanks to Tatsuhiko Kubo and Piotr Sikora. - - -Changes with nginx 1.7.3 08 Jul 2014 - - *) Feature: weak entity tags are now preserved on response - modifications, and strong ones are changed to weak. - - *) Feature: cache revalidation now uses If-None-Match header if - possible. - - *) Feature: the "ssl_password_file" directive. - - *) Bugfix: the If-None-Match request header line was ignored if there - was no Last-Modified header in a response returned from cache. - - *) Bugfix: "peer closed connection in SSL handshake" messages were - logged at "info" level instead of "error" while connecting to - backends. - - *) Bugfix: in the ngx_http_dav_module module in nginx/Windows. - - *) Bugfix: SPDY connections might be closed prematurely if caching was - used. - - -Changes with nginx 1.7.2 17 Jun 2014 - - *) Feature: the "hash" directive inside the "upstream" block. - - *) Feature: defragmentation of free shared memory blocks. - Thanks to Wandenberg Peixoto and Yichun Zhang. - - *) Bugfix: a segmentation fault might occur in a worker process if the - default value of the "access_log" directive was used; the bug had - appeared in 1.7.0. - Thanks to Piotr Sikora. - - *) Bugfix: trailing slash was mistakenly removed from the last parameter - of the "try_files" directive. - - *) Bugfix: nginx could not be built on OS X in some cases. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.7.1 27 May 2014 - - *) Feature: the "$upstream_cookie_..." variables. - - *) Feature: the $ssl_client_fingerprint variable. - - *) Feature: the "error_log" and "access_log" directives now support - logging to syslog. - - *) Feature: the mail proxy now logs client port on connect. - - *) Bugfix: memory leak if the "ssl_stapling" directive was used. - Thanks to Filipe da Silva. - - *) Bugfix: the "alias" directive used inside a location given by a - regular expression worked incorrectly if the "if" or "limit_except" - directives were used. - - *) Bugfix: the "charset" directive did not set a charset to encoded - backend responses. - - *) Bugfix: a "proxy_pass" directive without URI part might use original - request after the $args variable was set. - Thanks to Yichun Zhang. - - *) Bugfix: in the "none" parameter in the "smtp_auth" directive; the bug - had appeared in 1.5.6. - Thanks to Svyatoslav Nikolsky. - - *) Bugfix: if sub_filter and SSI were used together, then responses - might be transferred incorrectly. - - *) Bugfix: nginx could not be built with the --with-file-aio option on - Linux/aarch64. - - -Changes with nginx 1.7.0 24 Apr 2014 - - *) Feature: backend SSL certificate verification. - - *) Feature: support for SNI while working with SSL backends. - - *) Feature: the $ssl_server_name variable. - - *) Feature: the "if" parameter of the "access_log" directive. - - -Changes with nginx 1.5.13 08 Apr 2014 - - *) Change: improved hash table handling; the default values of the - "variables_hash_max_size" and "types_hash_bucket_size" were changed - to 1024 and 64 respectively. - - *) Feature: the ngx_http_mp4_module now supports the "end" argument. - - *) Feature: byte ranges support in the ngx_http_mp4_module and while - saving responses to cache. - - *) Bugfix: alerts "ngx_slab_alloc() failed: no memory" no longer logged - when using shared memory in the "ssl_session_cache" directive and in - the ngx_http_limit_req_module. - - *) Bugfix: the "underscores_in_headers" directive did not allow - underscore as a first character of a header. - Thanks to Piotr Sikora. - - *) Bugfix: cache manager might hog CPU on exit in nginx/Windows. - - *) Bugfix: nginx/Windows terminated abnormally if the - "ssl_session_cache" directive was used with the "shared" parameter. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.12 18 Mar 2014 - - *) Security: a heap memory buffer overflow might occur in a worker - process while handling a specially crafted request by - ngx_http_spdy_module, potentially resulting in arbitrary code - execution (CVE-2014-0133). - Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. - Manuel Sadosky, Buenos Aires, Argentina. - - *) Feature: the "proxy_protocol" parameters of the "listen" and - "real_ip_header" directives, the $proxy_protocol_addr variable. - - *) Bugfix: in the "fastcgi_next_upstream" directive. - Thanks to Lucas Molas. - - -Changes with nginx 1.5.11 04 Mar 2014 - - *) Security: memory corruption might occur in a worker process on 32-bit - platforms while handling a specially crafted request by - ngx_http_spdy_module, potentially resulting in arbitrary code - execution (CVE-2014-0088); the bug had appeared in 1.5.10. - Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. - Manuel Sadosky, Buenos Aires, Argentina. - - *) Feature: the $ssl_session_reused variable. - - *) Bugfix: the "client_max_body_size" directive might not work when - reading a request body using chunked transfer encoding; the bug had - appeared in 1.3.9. - Thanks to Lucas Molas. - - *) Bugfix: a segmentation fault might occur in a worker process when - proxying WebSocket connections. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_spdy_module was used on 32-bit platforms; the bug had - appeared in 1.5.10. - - *) Bugfix: the $upstream_status variable might contain wrong data if the - "proxy_cache_use_stale" or "proxy_cache_revalidate" directives were - used. - Thanks to Piotr Sikora. - - *) Bugfix: a segmentation fault might occur in a worker process if - errors with code 400 were redirected to a named location using the - "error_page" directive. - - *) Bugfix: nginx/Windows could not be built with Visual Studio 2013. - - -Changes with nginx 1.5.10 04 Feb 2014 - - *) Feature: the ngx_http_spdy_module now uses SPDY 3.1 protocol. - Thanks to Automattic and MaxCDN for sponsoring this work. - - *) Feature: the ngx_http_mp4_module now skips tracks too short for a - seek requested. - - *) Bugfix: a segmentation fault might occur in a worker process if the - $ssl_session_id variable was used in logs; the bug had appeared in - 1.5.9. - - *) Bugfix: the $date_local and $date_gmt variables used wrong format - outside of the ngx_http_ssi_filter_module. - - *) Bugfix: client connections might be immediately closed if deferred - accept was used; the bug had appeared in 1.3.15. - - *) Bugfix: alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs - during binary upgrade on Linux; the bug had appeared in 1.5.8. - Thanks to Piotr Sikora. - - -Changes with nginx 1.5.9 22 Jan 2014 - - *) Change: now nginx expects escaped URIs in "X-Accel-Redirect" headers. - - *) Feature: the "ssl_buffer_size" directive. - - *) Feature: the "limit_rate" directive can now be used to rate limit - responses sent in SPDY connections. - - *) Feature: the "spdy_chunk_size" directive. - - *) Feature: the "ssl_session_tickets" directive. - Thanks to Dirkjan Bussink. - - *) Bugfix: the $ssl_session_id variable contained full session - serialized instead of just a session id. - Thanks to Ivan Ristić. - - *) Bugfix: nginx incorrectly handled escaped "?" character in the - "include" SSI command. - - *) Bugfix: the ngx_http_dav_module did not unescape destination URI of - the COPY and MOVE methods. - - *) Bugfix: resolver did not understand domain names with a trailing dot. - Thanks to Yichun Zhang. - - *) Bugfix: alerts "zero size buf in output" might appear in logs while - proxying; the bug had appeared in 1.3.9. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_spdy_module was used. - - *) Bugfix: proxied WebSocket connections might hang right after - handshake if the select, poll, or /dev/poll methods were used. - - *) Bugfix: the "xclient" directive of the mail proxy module incorrectly - handled IPv6 client addresses. - - -Changes with nginx 1.5.8 17 Dec 2013 - - *) Feature: IPv6 support in resolver. - - *) Feature: the "listen" directive supports the "fastopen" parameter. - Thanks to Mathew Rodley. - - *) Feature: SSL support in the ngx_http_uwsgi_module. - Thanks to Roberto De Ioris. - - *) Feature: vim syntax highlighting scripts were added to contrib. - Thanks to Evan Miller. - - *) Bugfix: a timeout might occur while reading client request body in an - SSL connection using chunked transfer encoding. - - *) Bugfix: the "master_process" directive did not work correctly in - nginx/Windows. - - *) Bugfix: the "setfib" parameter of the "listen" directive might not - work. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.7 19 Nov 2013 - - *) Security: a character following an unescaped space in a request line - was handled incorrectly (CVE-2013-4547); the bug had appeared in - 0.8.41. - Thanks to Ivan Fratric of the Google Security Team. - - *) Change: a logging level of auth_basic errors about no user/password - provided has been lowered from "error" to "info". - - *) Feature: the "proxy_cache_revalidate", "fastcgi_cache_revalidate", - "scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives. - - *) Feature: the "ssl_session_ticket_key" directive. - Thanks to Piotr Sikora. - - *) Bugfix: the directive "add_header Cache-Control ''" added a - "Cache-Control" response header line with an empty value. - - *) Bugfix: the "satisfy any" directive might return 403 error instead of - 401 if auth_request and auth_basic directives were used. - Thanks to Jan Marc Hoffmann. - - *) Bugfix: the "accept_filter" and "deferred" parameters of the "listen" - directive were ignored for listen sockets created during binary - upgrade. - Thanks to Piotr Sikora. - - *) Bugfix: some data received from a backend with unbufferred proxy - might not be sent to a client immediately if "gzip" or "gunzip" - directives were used. - Thanks to Yichun Zhang. - - *) Bugfix: in error handling in ngx_http_gunzip_filter_module. - - *) Bugfix: responses might hang if the ngx_http_spdy_module was used - with the "auth_request" directive. - - *) Bugfix: memory leak in nginx/Windows. - - -Changes with nginx 1.5.6 01 Oct 2013 - - *) Feature: the "fastcgi_buffering" directive. - - *) Feature: the "proxy_ssl_protocols" and "proxy_ssl_ciphers" - directives. - Thanks to Piotr Sikora. - - *) Feature: optimization of SSL handshakes when using long certificate - chains. - - *) Feature: the mail proxy supports SMTP pipelining. - - *) Bugfix: in the ngx_http_auth_basic_module when using "$apr1$" - password encryption method. - Thanks to Markus Linnala. - - *) Bugfix: in MacOSX, Cygwin, and nginx/Windows incorrect location might - be used to process a request if locations were given using characters - in different cases. - - *) Bugfix: automatic redirect with appended trailing slash for proxied - locations might not work. - - *) Bugfix: in the mail proxy server. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.5 17 Sep 2013 - - *) Change: now nginx assumes HTTP/1.0 by default if it is not able to - detect protocol reliably. - - *) Feature: the "disable_symlinks" directive now uses O_PATH on Linux. - - *) Feature: now nginx uses EPOLLRDHUP events to detect premature - connection close by clients if the "epoll" method is used. - - *) Bugfix: in the "valid_referers" directive if the "server_names" - parameter was used. - - *) Bugfix: the $request_time variable did not work in nginx/Windows. - - *) Bugfix: in the "image_filter" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: OpenSSL 1.0.1f compatibility. - Thanks to Piotr Sikora. - - -Changes with nginx 1.5.4 27 Aug 2013 - - *) Change: the "js" extension MIME type has been changed to - "application/javascript"; default value of the "charset_types" - directive was changed accordingly. - - *) Change: now the "image_filter" directive with the "size" parameter - returns responses with the "application/json" MIME type. - - *) Feature: the ngx_http_auth_request_module. - - *) Bugfix: a segmentation fault might occur on start or during - reconfiguration if the "try_files" directive was used with an empty - parameter. - - *) Bugfix: memory leak if relative paths were specified using variables - in the "root" or "auth_basic_user_file" directives. - - *) Bugfix: the "valid_referers" directive incorrectly executed regular - expressions if a "Referer" header started with "https://". - Thanks to Liangbin Li. - - *) Bugfix: responses might hang if subrequests were used and an SSL - handshake error happened during subrequest processing. - Thanks to Aviram Cohen. - - *) Bugfix: in the ngx_http_autoindex_module. - - *) Bugfix: in the ngx_http_spdy_module. - - -Changes with nginx 1.5.3 30 Jul 2013 - - *) Change in internal API: now u->length defaults to -1 if working with - backends in unbuffered mode. - - *) Change: now after receiving an incomplete response from a backend - server nginx tries to send an available part of the response to a - client, and then closes client connection. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_spdy_module was used with the "client_body_in_file_only" - directive. - - *) Bugfix: the "so_keepalive" parameter of the "listen" directive might - be handled incorrectly on DragonFlyBSD. - Thanks to Sepherosa Ziehau. - - *) Bugfix: in the ngx_http_xslt_filter_module. - - *) Bugfix: in the ngx_http_sub_filter_module. - - -Changes with nginx 1.5.2 02 Jul 2013 - - *) Feature: now several "error_log" directives can be used. - - *) Bugfix: the $r->header_in() embedded perl method did not return value - of the "Cookie" and "X-Forwarded-For" request header lines; the bug - had appeared in 1.3.14. - - *) Bugfix: in the ngx_http_spdy_module. - Thanks to Jim Radford. - - *) Bugfix: nginx could not be built on Linux with x32 ABI. - Thanks to Serguei Ivantsov. - - -Changes with nginx 1.5.1 04 Jun 2013 - - *) Feature: the "ssi_last_modified", "sub_filter_last_modified", and - "xslt_last_modified" directives. - Thanks to Alexey Kolpakov. - - *) Feature: the "http_403" parameter of the "proxy_next_upstream", - "fastcgi_next_upstream", "scgi_next_upstream", and - "uwsgi_next_upstream" directives. - - *) Feature: the "allow" and "deny" directives now support unix domain - sockets. - - *) Bugfix: nginx could not be built with the ngx_mail_ssl_module, but - without ngx_http_ssl_module; the bug had appeared in 1.3.14. - - *) Bugfix: in the "proxy_set_body" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: in the "lingering_time" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: the "fail_timeout" parameter of the "server" directive in the - "upstream" context might not work if "max_fails" parameter was used; - the bug had appeared in 1.3.0. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "ssl_stapling" directive was used. - Thanks to Piotr Sikora. - - *) Bugfix: in the mail proxy server. - Thanks to Filipe Da Silva. - - *) Bugfix: nginx/Windows might stop accepting connections if several - worker processes were used. - - -Changes with nginx 1.5.0 07 May 2013 - - *) Security: a stack-based buffer overflow might occur in a worker - process while handling a specially crafted request, potentially - resulting in arbitrary code execution (CVE-2013-2028); the bug had - appeared in 1.3.9. - Thanks to Greg MacManus, iSIGHT Partners Labs. - - -Changes with nginx 1.4.0 24 Apr 2013 - - *) Bugfix: nginx could not be built with the ngx_http_perl_module if the - --with-openssl option was used; the bug had appeared in 1.3.16. - - *) Bugfix: in a request body handling in the ngx_http_perl_module; the - bug had appeared in 1.3.9. - - -Changes with nginx 1.3.16 16 Apr 2013 - - *) Bugfix: a segmentation fault might occur in a worker process if - subrequests were used; the bug had appeared in 1.3.9. - - *) Bugfix: the "tcp_nodelay" directive caused an error if a WebSocket - connection was proxied into a unix domain socket. - - *) Bugfix: the $upstream_response_length variable has an incorrect value - "0" if buffering was not used. - Thanks to Piotr Sikora. - - *) Bugfix: in the eventport and /dev/poll methods. - - -Changes with nginx 1.3.15 26 Mar 2013 - - *) Change: opening and closing a connection without sending any data in - it is no longer logged to access_log with error code 400. - - *) Feature: the ngx_http_spdy_module. - Thanks to Automattic for sponsoring this work. - - *) Feature: the "limit_req_status" and "limit_conn_status" directives. - Thanks to Nick Marden. - - *) Feature: the "image_filter_interlace" directive. - Thanks to Ian Babrou. - - *) Feature: $connections_waiting variable in the - ngx_http_stub_status_module. - - *) Feature: the mail proxy module now supports IPv6 backends. - - *) Bugfix: request body might be transmitted incorrectly when retrying a - request to the next upstream server; the bug had appeared in 1.3.9. - Thanks to Piotr Sikora. - - *) Bugfix: in the "client_body_in_file_only" directive; the bug had - appeared in 1.3.9. - - *) Bugfix: responses might hang if subrequests were used and a DNS error - happened during subrequest processing. - Thanks to Lanshun Zhou. - - *) Bugfix: in backend usage accounting. - - -Changes with nginx 1.3.14 05 Mar 2013 - - *) Feature: $connections_active, $connections_reading, and - $connections_writing variables in the ngx_http_stub_status_module. - - *) Feature: support of WebSocket connections in the - ngx_http_uwsgi_module and ngx_http_scgi_module. - - *) Bugfix: in virtual servers handling with SNI. - - *) Bugfix: new sessions were not always stored if the "ssl_session_cache - shared" directive was used and there was no free space in shared - memory. - Thanks to Piotr Sikora. - - *) Bugfix: multiple X-Forwarded-For headers were handled incorrectly. - Thanks to Neal Poole for sponsoring this work. - - *) Bugfix: in the ngx_http_mp4_module. - Thanks to Gernot Vormayr. - - -Changes with nginx 1.3.13 19 Feb 2013 - - *) Change: a compiler with name "cc" is now used by default. - - *) Feature: support for proxying of WebSocket connections. - Thanks to Apcera and CloudBees for sponsoring this work. - - *) Feature: the "auth_basic_user_file" directive supports "{SHA}" - password encryption method. - Thanks to Louis Opter. - - -Changes with nginx 1.3.12 05 Feb 2013 - - *) Feature: variables support in the "proxy_bind", "fastcgi_bind", - "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. - - *) Feature: the $pipe, $request_length, $time_iso8601, and $time_local - variables can now be used not only in the "log_format" directive. - Thanks to Kiril Kalchev. - - *) Feature: IPv6 support in the ngx_http_geoip_module. - Thanks to Gregor Kališnik. - - *) Bugfix: in the "proxy_method" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if - resolver was used with the poll method. - - *) Bugfix: nginx might hog CPU during SSL handshake with a backend if - the select, poll, or /dev/poll methods were used. - - *) Bugfix: the "[crit] SSL_write() failed (SSL:)" error. - - *) Bugfix: in the "client_body_in_file_only" directive; the bug had - appeared in 1.3.9. - - *) Bugfix: in the "fastcgi_keep_conn" directive. - - -Changes with nginx 1.3.11 10 Jan 2013 - - *) Bugfix: a segmentation fault might occur if logging was used; the bug - had appeared in 1.3.10. - - *) Bugfix: the "proxy_pass" directive did not work with IP addresses - without port specified; the bug had appeared in 1.3.10. - - *) Bugfix: a segmentation fault occurred on start or during - reconfiguration if the "keepalive" directive was specified more than - once in a single upstream block. - - *) Bugfix: parameter "default" of the "geo" directive did not set - default value for IPv6 addresses. - - -Changes with nginx 1.3.10 25 Dec 2012 - - *) Change: domain names specified in configuration file are now resolved - to IPv6 addresses as well as IPv4 ones. - - *) Change: now if the "include" directive with mask is used on Unix - systems, included files are sorted in alphabetical order. - - *) Change: the "add_header" directive adds headers to 201 responses. - - *) Feature: the "geo" directive now supports IPv6 addresses in CIDR - notation. - - *) Feature: the "flush" and "gzip" parameters of the "access_log" - directive. - - *) Feature: variables support in the "auth_basic" directive. - - *) Bugfix: nginx could not be built with the ngx_http_perl_module in - some cases. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_xslt_module was used. - - *) Bugfix: nginx could not be built on MacOSX in some cases. - Thanks to Piotr Sikora. - - *) Bugfix: the "limit_rate" directive with high rates might result in - truncated responses on 32-bit platforms. - Thanks to Alexey Antropov. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "if" directive was used. - Thanks to Piotr Sikora. - - *) Bugfix: a "100 Continue" response was issued with "413 Request Entity - Too Large" responses. - - *) Bugfix: the "image_filter", "image_filter_jpeg_quality" and - "image_filter_sharpen" directives might be inherited incorrectly. - Thanks to Ian Babrou. - - *) Bugfix: "crypt_r() failed" errors might appear if the "auth_basic" - directive was used on Linux. - - *) Bugfix: in backup servers handling. - Thanks to Thomas Chen. - - *) Bugfix: proxied HEAD requests might return incorrect response if the - "gzip" directive was used. - - -Changes with nginx 1.3.9 27 Nov 2012 - - *) Feature: support for chunked transfer encoding while reading client - request body. - - *) Feature: the $request_time and $msec variables can now be used not - only in the "log_format" directive. - - *) Bugfix: cache manager and cache loader processes might not be able to - start if more than 512 listen sockets were used. - - *) Bugfix: in the ngx_http_dav_module. - - -Changes with nginx 1.3.8 30 Oct 2012 - - *) Feature: the "optional_no_ca" parameter of the "ssl_verify_client" - directive. - Thanks to Mike Kazantsev and Eric O'Connor. - - *) Feature: the $bytes_sent, $connection, and $connection_requests - variables can now be used not only in the "log_format" directive. - Thanks to Benjamin Grössing. - - *) Feature: the "auto" parameter of the "worker_processes" directive. - - *) Bugfix: "cache file ... has md5 collision" alert. - - *) Bugfix: in the ngx_http_gunzip_filter_module. - - *) Bugfix: in the "ssl_stapling" directive. - - -Changes with nginx 1.3.7 02 Oct 2012 - - *) Feature: OCSP stapling support. - Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work. - - *) Feature: the "ssl_trusted_certificate" directive. - - *) Feature: resolver now randomly rotates addresses returned from cache. - Thanks to Anton Jouline. - - *) Bugfix: OpenSSL 0.9.7 compatibility. - - -Changes with nginx 1.3.6 12 Sep 2012 - - *) Feature: the ngx_http_gunzip_filter_module. - - *) Feature: the "memcached_gzip_flag" directive. - - *) Feature: the "always" parameter of the "gzip_static" directive. - - *) Bugfix: in the "limit_req" directive; the bug had appeared in 1.1.14. - Thanks to Charles Chen. - - *) Bugfix: nginx could not be built by gcc 4.7 with -O2 optimization if - the --with-ipv6 option was used. - - -Changes with nginx 1.3.5 21 Aug 2012 - - *) Change: the ngx_http_mp4_module module no longer skips tracks in - formats other than H.264 and AAC. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "map" directive was used with variables as values. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "geo" directive was used with the "ranges" parameter but without the - "default" parameter; the bug had appeared in 0.8.43. - Thanks to Zhen Chen and Weibin Yao. - - *) Bugfix: in the -p command-line parameter handling. - - *) Bugfix: in the mail proxy server. - - *) Bugfix: of minor potential bugs. - Thanks to Coverity. - - *) Bugfix: nginx/Windows could not be built with Visual Studio 2005 - Express. - Thanks to HAYASHI Kentaro. - - -Changes with nginx 1.3.4 31 Jul 2012 - - *) Change: the "ipv6only" parameter is now turned on by default for - listening IPv6 sockets. - - *) Feature: the Clang compiler support. - - *) Bugfix: extra listening sockets might be created. - Thanks to Roman Odaisky. - - *) Bugfix: nginx/Windows might hog CPU if a worker process failed to - start. - Thanks to Ricardo Villalobos Guevara. - - *) Bugfix: the "proxy_pass_header", "fastcgi_pass_header", - "scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header", - "fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header" - directives might be inherited incorrectly. - - -Changes with nginx 1.3.3 10 Jul 2012 - - *) Feature: entity tags support and the "etag" directive. - - *) Bugfix: trailing dot in a source value was not ignored if the "map" - directive was used with the "hostnames" parameter. - - *) Bugfix: incorrect location might be used to process a request if a - URI was changed via a "rewrite" directive before an internal redirect - to a named location. - - -Changes with nginx 1.3.2 26 Jun 2012 - - *) Change: the "single" parameter of the "keepalive" directive is now - ignored. - - *) Change: SSL compression is now disabled when using all versions of - OpenSSL, including ones prior to 1.0.0. - - *) Feature: it is now possible to use the "ip_hash" directive to balance - IPv6 clients. - - *) Feature: the $status variable can now be used not only in the - "log_format" directive. - - *) Bugfix: a segmentation fault might occur in a worker process on - shutdown if the "resolver" directive was used. - - *) Bugfix: a segmentation fault might occur in a worker process if the - ngx_http_mp4_module was used. - - *) Bugfix: in the ngx_http_mp4_module. - - *) Bugfix: a segmentation fault might occur in a worker process if - conflicting wildcard server names were used. - - *) Bugfix: nginx might be terminated abnormally on a SIGBUS signal on - ARM platform. - - *) Bugfix: an alert "sendmsg() failed (9: Bad file number)" on HP-UX - while reconfiguration. - - -Changes with nginx 1.3.1 05 Jun 2012 - - *) Security: now nginx/Windows ignores trailing dot in URI path - component, and does not allow URIs with ":$" in it. - Thanks to Vladimir Kochetkov, Positive Research Center. - - *) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" - directives, and the "server" directive inside the "upstream" block, - now support IPv6 addresses. - - *) Feature: the "resolver" directive now supports IPv6 addresses and an - optional port specification. - - *) Feature: the "least_conn" directive inside the "upstream" block. - - *) Feature: it is now possible to specify a weight for servers while - using the "ip_hash" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "image_filter" directive was used; the bug had appeared in 1.3.0. - - *) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug - had appeared in 1.1.12. - - *) Bugfix: access to variables from SSI and embedded perl module might - not work after reconfiguration. - Thanks to Yichun Zhang. - - *) Bugfix: in the ngx_http_xslt_filter_module. - Thanks to Kuramoto Eiji. - - *) Bugfix: memory leak if $geoip_org variable was used. - Thanks to Denis F. Latypoff. - - *) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path" - directives. - - -Changes with nginx 1.3.0 15 May 2012 - - *) Feature: the "debug_connection" directive now supports IPv6 addresses - and the "unix:" parameter. - - *) Feature: the "set_real_ip_from" directive and the "proxy" parameter - of the "geo" directive now support IPv6 addresses. - - *) Feature: the "real_ip_recursive", "geoip_proxy", and - "geoip_proxy_recursive" directives. - - *) Feature: the "proxy_recursive" parameter of the "geo" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "resolver" directive was used. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and - backend returned incorrect response. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "rewrite" directive was used and new request arguments in a - replacement used variables. - - *) Bugfix: nginx might hog CPU if the open file resource limit was - reached. - - *) Bugfix: nginx might loop infinitely over backends if the - "proxy_next_upstream" directive with the "http_404" parameter was - used and there were backup servers specified in an upstream block. - - *) Bugfix: adding the "down" parameter of the "server" directive might - cause unneeded client redistribution among backend servers if the - "ip_hash" directive was used. - - *) Bugfix: socket leak. - Thanks to Yichun Zhang. - - *) Bugfix: in the ngx_http_fastcgi_module. - - -Changes with nginx 1.2.0 23 Apr 2012 - - *) Bugfix: a segmentation fault might occur in a worker process if the - "try_files" directive was used; the bug had appeared in 1.1.19. - - *) Bugfix: response might be truncated if there were more than IOV_MAX - buffers used. - - *) Bugfix: in the "crop" parameter of the "image_filter" directive. - Thanks to Maxim Bublis. - - -Changes with nginx 1.1.19 12 Apr 2012 - - *) Security: specially crafted mp4 file might allow to overwrite memory - locations in a worker process if the ngx_http_mp4_module was used, - potentially resulting in arbitrary code execution (CVE-2012-2089). - Thanks to Matthew Daley. - - *) Bugfix: nginx/Windows might be terminated abnormally. - Thanks to Vincent Lee. - - *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as - "backup". - - *) Bugfix: the "allow" and "deny" directives might be inherited - incorrectly if they were used with IPv6 addresses. - - *) Bugfix: the "modern_browser" and "ancient_browser" directives might - be inherited incorrectly. - - *) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC. - - *) Bugfix: in the ngx_http_mp4_module. - - -Changes with nginx 1.1.18 28 Mar 2012 - - *) Change: keepalive connections are no longer disabled for Safari by - default. - - *) Feature: the $connection_requests variable. - - *) Feature: $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and - $tcpinfo_rcv_space variables. - - *) Feature: the "worker_cpu_affinity" directive now works on FreeBSD. - - *) Feature: the "xslt_param" and "xslt_string_param" directives. - Thanks to Samuel Behan. - - *) Bugfix: in configure tests. - Thanks to Piotr Sikora. - - *) Bugfix: in the ngx_http_xslt_filter_module. - - *) Bugfix: nginx could not be built on Debian GNU/Hurd. - - -Changes with nginx 1.1.17 15 Mar 2012 - - *) Security: content of previously freed memory might be sent to a - client if backend returned specially crafted response. - Thanks to Matthew Daley. - - *) Bugfix: in the embedded perl module if used from SSI. - Thanks to Matthew Daley. - - *) Bugfix: in the ngx_http_uwsgi_module. - - -Changes with nginx 1.1.16 29 Feb 2012 - - *) Change: the simultaneous subrequest limit has been raised to 200. - - *) Feature: the "from" parameter of the "disable_symlinks" directive. - - *) Feature: the "return" and "error_page" directives can now be used to - return 307 redirections. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "resolver" directive was used and there was no "error_log" directive - specified at global level. - Thanks to Roman Arutyunyan. - - *) Bugfix: a segmentation fault might occur in a worker process if the - "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were - used. - - *) Bugfix: memory leaks. - Thanks to Lanshun Zhou. - - *) Bugfix: in the "disable_symlinks" directive. - - *) Bugfix: on ZFS filesystem disk cache size might be calculated - incorrectly; the bug had appeared in 1.0.1. - - *) Bugfix: nginx could not be built by the icc 12.1 compiler. - - *) Bugfix: nginx could not be built by gcc on Solaris; the bug had - appeared in 1.1.15. - - -Changes with nginx 1.1.15 15 Feb 2012 - - *) Feature: the "disable_symlinks" directive. - - *) Feature: the "proxy_cookie_domain" and "proxy_cookie_path" - directives. - - *) Bugfix: nginx might log incorrect error "upstream prematurely closed - connection" instead of correct "upstream sent too big header" one. - Thanks to Feibo Li. - - *) Bugfix: nginx could not be built with the ngx_http_perl_module if the - --with-openssl option was used. - - *) Bugfix: the number of internal redirects to named locations was not - limited. - - *) Bugfix: calling $r->flush() multiple times might cause errors in the - ngx_http_gzip_filter_module. - - *) Bugfix: temporary files might be not removed if the "proxy_store" - directive was used with SSI includes. - - *) Bugfix: in some cases non-cacheable variables (such as the $args - variable) returned old empty cached value. - - *) Bugfix: a segmentation fault might occur in a worker process if too - many SSI subrequests were issued simultaneously; the bug had appeared - in 0.7.25. - - -Changes with nginx 1.1.14 30 Jan 2012 - - *) Feature: multiple "limit_req" limits may be used simultaneously. - - *) Bugfix: in error handling while connecting to a backend. - Thanks to Piotr Sikora. - - *) Bugfix: in AIO error handling on FreeBSD. - - *) Bugfix: in the OpenSSL library initialization. - - *) Bugfix: the "proxy_redirect" directives might be inherited - incorrectly. - - *) Bugfix: memory leak during reconfiguration if the "pcre_jit" - directive was used. - - -Changes with nginx 1.1.13 16 Jan 2012 - - *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the - "ssl_protocols" directive. - - *) Bugfix: the "limit_req" directive parameters were not inherited - correctly; the bug had appeared in 1.1.12. - - *) Bugfix: the "proxy_redirect" directive incorrectly processed - "Refresh" header if regular expression were used. - - *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter - did not return answer from cache if there were no live upstreams. - - *) Bugfix: the "worker_cpu_affinity" directive might not work. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 1.1.12. - - *) Bugfix: in the ngx_http_mp4_module. - - -Changes with nginx 1.1.12 26 Dec 2011 - - *) Change: a "proxy_pass" directive without URI part now uses changed - URI after redirection with the "error_page" directive. - Thanks to Lanshun Zhou. - - *) Feature: the "proxy/fastcgi/scgi/uwsgi_cache_lock", - "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives. - - *) Feature: the "pcre_jit" directive. - - *) Feature: the "if" SSI command supports captures in regular - expressions. - - *) Bugfix: the "if" SSI command did not work inside the "block" command. - - *) Bugfix: the "limit_conn_log_level" and "limit_req_log_level" - directives might not work. - - *) Bugfix: the "limit_rate" directive did not allow to use full - throughput, even if limit value was very high. - - *) Bugfix: the "sendfile_max_chunk" directive did not work, if the - "limit_rate" directive was used. - - *) Bugfix: a "proxy_pass" directive without URI part always used - original request URI if variables were used. - - *) Bugfix: a "proxy_pass" directive without URI part might use original - request after redirection with the "try_files" directive. - Thanks to Lanshun Zhou. - - *) Bugfix: in the ngx_http_scgi_module. - - *) Bugfix: in the ngx_http_mp4_module. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 1.1.9. - - -Changes with nginx 1.1.11 12 Dec 2011 - - *) Feature: the "so_keepalive" parameter of the "listen" directive. - Thanks to Vsevolod Stakhov. - - *) Feature: the "if_not_empty" parameter of the - "fastcgi/scgi/uwsgi_param" directives. - - *) Feature: the $https variable. - - *) Feature: the "proxy_redirect" directive supports variables in the - first parameter. - - *) Feature: the "proxy_redirect" directive supports regular expressions. - - *) Bugfix: the $sent_http_cache_control variable might contain a wrong - value if the "expires" directive was used. - Thanks to Yichun Zhang. - - *) Bugfix: the "read_ahead" directive might not work combined with - "try_files" and "open_file_cache". - - *) Bugfix: a segmentation fault might occur in a worker process if small - time was used in the "inactive" parameter of the "proxy_cache_path" - directive. - - *) Bugfix: responses from cache might hang. - - -Changes with nginx 1.1.10 30 Nov 2011 - - *) Bugfix: a segmentation fault occured in a worker process if AIO was - used on Linux; the bug had appeared in 1.1.9. - - -Changes with nginx 1.1.9 28 Nov 2011 - - *) Change: now double quotes are encoded in an "echo" SSI-command - output. - Thanks to Zaur Abasmirzoev. - - *) Feature: the "valid" parameter of the "resolver" directive. By - default TTL returned by a DNS server is used. - Thanks to Kirill A. Korinskiy. - - *) Bugfix: nginx might hang after a worker process abnormal termination. - - *) Bugfix: a segmentation fault might occur in a worker process if SNI - was used; the bug had appeared in 1.1.2. - - *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in - 1.1.8. - Thanks to Alexander Usov. - - *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the - bug had appeared in 1.1.1. - - *) Bugfix: backend responses with length not matching "Content-Length" - header line are no longer cached. - - *) Bugfix: in the "scgi_param" directive, if complex parameters were - used. - - *) Bugfix: in the "epoll" event method. - Thanks to Yichun Zhang. - - *) Bugfix: in the ngx_http_flv_module. - Thanks to Piotr Sikora. - - *) Bugfix: in the ngx_http_mp4_module. - - *) Bugfix: IPv6 addresses are now handled properly in a request line and - in a "Host" request header line. - - *) Bugfix: "add_header" and "expires" directives did not work if a - request was proxied and response status code was 206. - - *) Bugfix: nginx could not be built on FreeBSD 10. - - *) Bugfix: nginx could not be built on AIX. - - -Changes with nginx 1.1.8 14 Nov 2011 - - *) Change: the ngx_http_limit_zone_module was renamed to the - ngx_http_limit_conn_module. - - *) Change: the "limit_zone" directive was superseded by the - "limit_conn_zone" directive with a new syntax. - - *) Feature: support for multiple "limit_conn" limits on the same level. - - *) Feature: the "image_filter_sharpen" directive. - - *) Bugfix: a segmentation fault might occur in a worker process if - resolver got a big DNS response. - Thanks to Ben Hawkes. - - *) Bugfix: in cache key calculation if internal MD5 implementation was - used; the bug had appeared in 1.0.4. - - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request - header lines might be passed to backend while caching; or not passed - without caching if caching was enabled in another part of the - configuration. - - *) Bugfix: the module ngx_http_mp4_module sent incorrect - "Content-Length" response header line if the "start" argument was - used. - Thanks to Piotr Sikora. - - -Changes with nginx 1.1.7 31 Oct 2011 - - *) Feature: support of several DNS servers in the "resolver" directive. - Thanks to Kirill A. Korinskiy. - - *) Bugfix: a segmentation fault occurred on start or during - reconfiguration if the "ssl" directive was used at http level and - there was no "ssl_certificate" defined. - - *) Bugfix: reduced memory consumption while proxying big files if they - were buffered to disk. - - *) Bugfix: a segmentation fault might occur in a worker process if - "proxy_http_version 1.1" directive was used. - - *) Bugfix: in the "expires @time" directive. - - -Changes with nginx 1.1.6 17 Oct 2011 - - *) Change in internal API: now module context data are cleared while - internal redirect to named location. - Requested by Yichun Zhang. - - *) Change: if a server in an upstream failed, only one request will be - sent to it after fail_timeout; the server will be considered alive if - it will successfully respond to the request. - - *) Change: now the 0x7F-0x1F characters are escaped as \xXX in an - access_log. - - *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support - the following additional values: X-Accel-Limit-Rate, - X-Accel-Buffering, X-Accel-Charset. - - *) Feature: decrease of memory consumption if SSL is used. - - *) Bugfix: some UTF-8 characters were processed incorrectly. - Thanks to Alexey Kuts. - - *) Bugfix: the ngx_http_rewrite_module directives specified at "server" - level were executed twice if no matching locations were defined. - - *) Bugfix: a socket leak might occurred if "aio sendfile" was used. - - *) Bugfix: connections with fast clients might be closed after - send_timeout if file AIO was used. - - *) Bugfix: in the ngx_http_autoindex_module. - - *) Bugfix: the module ngx_http_mp4_module did not support seeking on - 32-bit platforms. - - -Changes with nginx 1.1.5 05 Oct 2011 - - *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives. - Thanks to Peter Smit. - - *) Bugfix: non-cacheable responses might be cached if - "proxy_cache_bypass" directive was used. - Thanks to John Ferlito. - - *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module. - - *) Bugfix: cached responses with an empty body were returned - incorrectly; the bug had appeared in 0.8.31. - - *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the - bug had appeared in 0.8.32. - - *) Bugfix: in the "return" directive. - - *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation - fault; the bug had appeared in 1.1.1. - - -Changes with nginx 1.1.4 20 Sep 2011 - - *) Feature: the ngx_http_upstream_keepalive module. - - *) Feature: the "proxy_http_version" directive. - - *) Feature: the "fastcgi_keep_conn" directive. - - *) Feature: the "worker_aio_requests" directive. - - *) Bugfix: if nginx was built --with-file-aio it could not be run on - Linux kernel which did not support AIO. - - *) Bugfix: in Linux AIO error processing. - Thanks to Hagai Avrahami. - - *) Bugfix: reduced memory consumption for long-lived requests. - - *) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4 - "co64" atom. - - -Changes with nginx 1.1.3 14 Sep 2011 - - *) Feature: the module ngx_http_mp4_module. - - *) Bugfix: in Linux AIO combined with open_file_cache. - - *) Bugfix: open_file_cache did not update file info on retest if file - was not atomically changed. - - *) Bugfix: nginx could not be built on MacOSX 10.7. - - -Changes with nginx 1.1.2 05 Sep 2011 - - *) Change: now if total size of all ranges is greater than source - response size, then nginx disables ranges and returns just the source - response. - - *) Feature: the "max_ranges" directive. - - *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and - "ssl_prefer_server_ciphers" directives might work incorrectly if SNI - was used. - - *) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" - directives. - - -Changes with nginx 1.1.1 22 Aug 2011 - - *) Change: now cache loader processes either as many files as specified - by "loader_files" parameter or works no longer than time specified by - the "loader_threshold" parameter during each iteration. - - *) Change: now SIGWINCH signal works only in daemon mode. - - *) Feature: now shared zones and caches use POSIX semaphores on Solaris. - Thanks to Den Ivanov. - - *) Feature: accept filters are now supported on NetBSD. - - *) Bugfix: nginx could not be built on Linux 3.0. - - *) Bugfix: nginx did not use gzipping in some cases; the bug had - appeared in 1.1.0. - - *) Bugfix: request body might be processed incorrectly if client used - pipelining. - - *) Bugfix: in the "request_body_in_single_buf" directive. - - *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives - if SSL connection to backend was used. - - *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as - "down". - - *) Bugfix: a segmentation fault might occur during reconfiguration if - ssl_session_cache was defined but not used in previous configuration. - - *) Bugfix: a segmentation fault might occur in a worker process if many - backup servers were used in an upstream. - - *) Bugfix: a segmentation fault might occur in a worker process if - "fastcgi/scgi/uwsgi_param" directives were used with values starting - with "HTTP_"; the bug had appeared in 0.8.40. - - -Changes with nginx 1.1.0 01 Aug 2011 - - *) Feature: cache loader run time decrease. - - *) Feature: "loader_files", "loader_sleep", and "loader_threshold" - options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives. - - *) Feature: loading time decrease of configuration with large number of - HTTPS sites. - - *) Feature: now nginx supports ECDHE key exchange ciphers. - Thanks to Adrian Kotelba. - - *) Feature: the "lingering_close" directive. - Thanks to Maxim Dounin. - - *) Bugfix: in closing connection for pipelined requests. - Thanks to Maxim Dounin. - - *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in - "Accept-Encoding" request header line. - - *) Bugfix: in timeout in unbuffered proxied mode. - Thanks to Maxim Dounin. - - *) Bugfix: memory leaks when a "proxy_pass" directive contains variables - and proxies to an HTTPS backend. - Thanks to Maxim Dounin. - - *) Bugfix: in parameter validaiton of a "proxy_pass" directive with - variables. - Thanks to Lanshun Zhou. - - *) Bugfix: SSL did not work on QNX. - Thanks to Maxim Dounin. - - *) Bugfix: SSL modules could not be built by gcc 4.6 without - --with-debug option. - - -Changes with nginx 1.0.5 19 Jul 2011 - - *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5". - Thanks to Rob Stradling. - - *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size" - directives. - Thanks to Witold Filipczyk. - - *) Feature: $uid_reset variable. - - *) Bugfix: a segmentation fault might occur in a worker process, if a - caching was used. - Thanks to Lanshun Zhou. - - *) Bugfix: worker processes may got caught in an endless loop during - reconfiguration, if a caching was used; the bug had appeared in - 0.8.48. - Thanks to Maxim Dounin. - - *) Bugfix: "stalled cache updating" alert. - Thanks to Maxim Dounin. - - -Changes with nginx 1.0.4 01 Jun 2011 - - *) Change: now regular expressions case sensitivity in the "map" - directive is given by prefixes "~" or "~*". - - *) Feature: now shared zones and caches use POSIX semaphores on Linux. - Thanks to Denis F. Latypoff. - - *) Bugfix: "stalled cache updating" alert. - - *) Bugfix: nginx could not be built --without-http_auth_basic_module; - the bug had appeared in 1.0.3. - - -Changes with nginx 1.0.3 25 May 2011 - - *) Feature: the "auth_basic_user_file" directive supports "$apr1", - "{PLAIN}", and "{SSHA}" password encryption methods. - Thanks to Maxim Dounin. - - *) Feature: the "geoip_org" directive and $geoip_org variable. - Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. - - *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4 - addresses mapped to IPv6 addresses. - - *) Bugfix: a segmentation fault occurred in a worker process during - testing IPv4 address mapped to IPv6 address, if access or deny rules - were defined only for IPv6; the bug had appeared in 0.8.22. - - *) Bugfix: a cached response may be broken if "proxy/fastcgi/scgi/ - uwsgi_cache_bypass" and "proxy/fastcgi/scgi/uwsgi_no_cache" directive - values were different; the bug had appeared in 0.8.46. - - -Changes with nginx 1.0.2 10 May 2011 - - *) Feature: now shared zones and caches use POSIX semaphores. - - *) Bugfix: in the "rotate" parameter of the "image_filter" directive. - Thanks to Adam Bocim. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 1.0.1. - - -Changes with nginx 1.0.1 03 May 2011 - - *) Change: now the "split_clients" directive uses MurmurHash2 algorithm - because of better distribution. - Thanks to Oleg Mamontov. - - *) Change: now long strings starting with zero are not considered as - false values. - Thanks to Maxim Dounin. - - *) Change: now nginx uses a default listen backlog value 511 on Linux. - - *) Feature: the $upstream_... variables may be used in the SSI and perl - modules. - - *) Bugfix: now nginx limits better disk cache size. - Thanks to Oleg Mamontov. - - *) Bugfix: a segmentation fault might occur while parsing incorrect IPv4 - address; the bug had appeared in 0.9.3. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug - option. - - *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug - had appeared in 0.9.3. - Thanks to Dagobert Michelsen. - - *) Bugfix: $request_time variable had invalid values if subrequests were - used; the bug had appeared in 0.8.47. - Thanks to Igor A. Valcov. - - -Changes with nginx 1.0.0 12 Apr 2011 - - *) Bugfix: a cache manager might hog CPU after reload. - Thanks to Maxim Dounin. - - *) Bugfix: an "image_filter crop" directive worked incorrectly coupled - with an "image_filter rotate 180" directive. - - *) Bugfix: a "satisfy any" directive disabled custom 401 error page. - - -Changes with nginx 0.9.7 04 Apr 2011 - - *) Feature: now keepalive connections may be closed premature, if there - are no free worker connections. - Thanks to Maxim Dounin. - - *) Feature: the "rotate" parameter of the "image_filter" directive. - Thanks to Adam Bocim. - - *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or - "uwsgi_pass" directives is given by expression and refers to a - defined upstream. - - -Changes with nginx 0.9.6 21 Mar 2011 - - *) Feature: the "map" directive supports regular expressions as value of - the first parameter. - - *) Feature: $time_iso8601 access_log variable. - Thanks to Michael Lustfield. - - -Changes with nginx 0.9.5 21 Feb 2011 - - *) Change: now nginx uses a default listen backlog value -1 on Linux. - Thanks to Andrei Nigmatulin. - - *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city" - directives. - Thanks to Denis F. Latypoff. - - *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass" - directive has no URI part. - Thanks to Maxim Dounin. - - *) Bugfix: an "error_page" directive did not work with nonstandard error - codes; the bug had appeared in 0.8.53. - Thanks to Maxim Dounin. - - -Changes with nginx 0.9.4 21 Jan 2011 - - *) Feature: the "server_name" directive supports the $hostname variable. - - *) Feature: 494 code for "Request Header Too Large" error. - - -Changes with nginx 0.9.3 13 Dec 2010 - - *) Bugfix: if there was a single server for given IPv6 address:port - pair, then captures in regular expressions in a "server_name" - directive did not work. - - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in - 0.9.0. - - -Changes with nginx 0.9.2 06 Dec 2010 - - *) Feature: the "If-Unmodified-Since" client request header line - support. - - *) Workaround: fallback to accept() syscall if accept4() was not - implemented; the issue had appeared in 0.9.0. - - *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in - 0.9.0. - - *) Bugfix: for OpenSSL vulnerability CVE-2010-4180. - Thanks to Maxim Dounin. - - -Changes with nginx 0.9.1 30 Nov 2010 - - *) Bugfix: "return CODE message" directives did not work; the bug had - appeared in 0.9.0. - - -Changes with nginx 0.9.0 29 Nov 2010 - - *) Feature: the "keepalive_disable" directive. - - *) Feature: the "map" directive supports variables as value of a defined - variable. - - *) Feature: the "map" directive supports empty strings as value of the - first parameter. - - *) Feature: the "map" directive supports expressions as the first - parameter. - - *) Feature: nginx(8) manual page. - Thanks to Sergey Osokin. - - *) Feature: Linux accept4() support. - Thanks to Simon Liu. - - *) Workaround: elimination of Linux linker warning about "sys_errlist" - and "sys_nerr"; the warning had appeared in 0.8.35. - - *) Bugfix: a segmentation fault might occur in a worker process, if the - "auth_basic" directive was used. - Thanks to Michail Laletin. - - *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared - in 0.8.42. - - -Changes with nginx 0.8.53 18 Oct 2010 - - *) Feature: now the "error_page" directive allows to change a status - code in a redirect. - - *) Feature: the "gzip_disable" directive supports special "degradation" - mask. - - *) Bugfix: a socket leak might occurred if file AIO was used. - Thanks to Maxim Dounin. - - *) Bugfix: if the first server had no "listen" directive and there was - no explicit default server, then a next server with a "listen" - directive became the default server; the bug had appeared in 0.8.21. - - -Changes with nginx 0.8.52 28 Sep 2010 - - *) Bugfix: nginx used SSL mode for a listen socket if any listen option - was set; the bug had appeared in 0.8.51. - - -Changes with nginx 0.8.51 27 Sep 2010 - - *) Change: the "secure_link_expires" directive has been canceled. - - *) Change: a logging level of resolver errors has been lowered from - "alert" to "error". - - *) Feature: now a listen socket "ssl" parameter may be set several - times. - - -Changes with nginx 0.8.50 02 Sep 2010 - - *) Feature: the "secure_link", "secure_link_md5", and - "secure_link_expires" directives of the ngx_http_secure_link_module. - - *) Feature: the -q switch. - Thanks to Gena Makhomed. - - *) Bugfix: worker processes may got caught in an endless loop during - reconfiguration, if a caching was used; the bug had appeared in - 0.8.48. - - *) Bugfix: in the "gzip_disable" directive. - Thanks to Derrick Petzold. - - *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload - signals to a process run in other session. - - -Changes with nginx 0.8.49 09 Aug 2010 - - *) Feature: the "image_filter_jpeg_quality" directive supports - variables. - - *) Bugfix: a segmentation fault might occur in a worker process, if the - $geoip_region_name variables was used; the bug had appeared in - 0.8.48. - - *) Bugfix: errors intercepted by error_page were cached only for next - request; the bug had appeared in 0.8.48. - - -Changes with nginx 0.8.48 03 Aug 2010 - - *) Change: now the "server_name" directive default value is an empty - name "". - Thanks to Gena Makhomed. - - *) Change: now the "server_name_in_redirect" directive default value is - "off". - - *) Feature: the $geoip_dma_code, $geoip_area_code, and - $geoip_region_name variables. - Thanks to Christine McGonagle. - - *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and - "scgi_pass" directives were not inherited inside "limit_except" - blocks. - - *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses" - "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not - work; the bug had appeared in 0.8.46. - - *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly - captures, if only parts of an URI were captured. - Thanks to Yuriy Taraday and Frank Enderle. - - *) Bugfix: the "rewrite" directive did not escape a ";" character during - copying from URI to query string. - Thanks to Daisuke Murase. - - *) Bugfix: the ngx_http_image_filter_module closed a connection, if an - image was larger than "image_filter_buffer" size. - - -Changes with nginx 0.8.47 28 Jul 2010 - - *) Bugfix: $request_time variable had invalid values for subrequests. - - *) Bugfix: errors intercepted by error_page could not be cached. - - *) Bugfix: a cache manager process may got caught in an endless loop, if - max_size parameter was used; the bug had appeared in 0.8.46. - - -Changes with nginx 0.8.46 19 Jul 2010 - - *) Change: now the "proxy_no_cache", "fastcgi_no_cache", - "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached - response saving only. - - *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass", - "uwsgi_cache_bypass", and "scgi_cache_bypass" directives. - - *) Bugfix: nginx did not free memory in cache keys zones if there was an - error during working with backend: the memory was freed only after - inactivity time or on memory low condition. - - -Changes with nginx 0.8.45 13 Jul 2010 - - *) Feature: ngx_http_xslt_filter improvements. - Thanks to Laurence Rowe. - - *) Bugfix: SSI response might be truncated after include with - wait="yes"; the bug had appeared in 0.7.25. - Thanks to Maxim Dounin. - - *) Bugfix: the "listen" directive did not support the "setfib=0" - parameter. - - -Changes with nginx 0.8.44 05 Jul 2010 - - *) Change: now nginx does not cache by default backend responses, if - they have a "Set-Cookie" header line. - - *) Feature: the "listen" directive supports the "setfib" parameter. - Thanks to Andrew Filonov. - - *) Bugfix: the "sub_filter" directive might change character case on - partial match. - - *) Bugfix: compatibility with HP/UX. - - *) Bugfix: compatibility with AIX xlC_r compiler. - - *) Bugfix: nginx treated large SSLv2 packets as plain requests. - Thanks to Miroslaw Jaworski. - - -Changes with nginx 0.8.43 30 Jun 2010 - - *) Feature: large geo ranges base loading speed-up. - - *) Bugfix: an error_page redirection to "location /zero {return 204;}" - without changing status code kept the error body; the bug had - appeared in 0.8.42. - - *) Bugfix: nginx might close IPv6 listen socket during reconfiguration. - Thanks to Maxim Dounin. - - *) Bugfix: the $uid_set variable may be used at any request processing - stage. - - -Changes with nginx 0.8.42 21 Jun 2010 - - *) Change: now nginx tests locations given by regular expressions, if - request was matched exactly by a location given by a prefix string. - The previous behavior has been introduced in 0.7.1. - - *) Feature: the ngx_http_scgi_module. - Thanks to Manlio Perillo. - - *) Feature: a text answer may be added to a "return" directive. - - -Changes with nginx 0.8.41 15 Jun 2010 - - *) Security: nginx/Windows worker might be terminated abnormally if a - requested file name has invalid UTF-8 encoding. - - *) Change: now nginx allows to use spaces in a request line. - - *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend - "Refresh" response header line. - Thanks to Andrey Andreew and Max Sogin. - - *) Bugfix: nginx did not support path without host name in "Destination" - request header line. - - -Changes with nginx 0.8.40 07 Jun 2010 - - *) Security: now nginx/Windows ignores default file stream name. - Thanks to Jose Antonio Vazquez Gonzalez. - - *) Feature: the ngx_http_uwsgi_module. - Thanks to Roberto De Ioris. - - *) Feature: a "fastcgi_param" directive with value starting with "HTTP_" - overrides a client request header line. - - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request - header lines were passed to FastCGI-server while caching. - - *) Bugfix: listen unix domain socket could not be changed during - reconfiguration. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.39 31 May 2010 - - *) Bugfix: an inherited "alias" directive worked incorrectly in - inclusive location. - - *) Bugfix: in "alias" with variables and "try_files" directives - combination. - - *) Bugfix: listen unix domain and IPv6 sockets did not inherit while - online upgrade. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.38 24 May 2010 - - *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives. - - *) Feature: now the "rewrite" directive does a redirect automatically if - the $scheme variable is used. - Thanks to Piotr Sikora. - - *) Bugfix: now "limit_req" delay directive conforms to the described - algorithm. - Thanks to Maxim Dounin. - - *) Bugfix: the $uid_got variable might not be used in the SSI and perl - modules. - - -Changes with nginx 0.8.37 17 May 2010 - - *) Feature: the ngx_http_split_clients_module. - - *) Feature: the "map" directive supports keys more than 255 characters. - - *) Bugfix: nginx ignored the "private" and "no-store" values in the - "Cache-Control" backend response header line. - - *) Bugfix: a "stub" parameter of an "include" SSI directive was not - used, if empty response has 200 status code. - - *) Bugfix: if a proxied or FastCGI request was internally redirected to - another proxied or FastCGI location, then a segmentation fault might - occur in a worker process; the bug had appeared in 0.8.33. - Thanks to Yichun Zhang. - - *) Bugfix: IMAP connections may hang until they timed out while talking - to Zimbra server. - Thanks to Alan Batie. - - -Changes with nginx 0.8.36 22 Apr 2010 - - *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, COPY, - and MOVE methods for symlinks. - - *) Bugfix: values of the $query_string, $arg_..., etc. variables cached - in main request were used by the SSI module in subrequests. - - *) Bugfix: a variable value was repeatedly encoded after each an "echo" - SSI-command output; the bug had appeared in 0.6.14. - - *) Bugfix: a worker process hung if a FIFO file was requested. - Thanks to Vicente Aguilar and Maxim Dounin. - - *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.8.35. - - -Changes with nginx 0.8.35 01 Apr 2010 - - *) Change: now the charset filter runs before the SSI filter. - - *) Feature: the "chunked_transfer_encoding" directive. - - *) Bugfix: an "&" character was not escaped when it was copied in - arguments part in a rewrite rule. - - *) Bugfix: nginx might be terminated abnormally while a signal - processing or if the directive "timer_resolution" was used on - platforms which do not support kqueue or eventport notification - methods. - Thanks to George Xie and Maxim Dounin. - - *) Bugfix: if temporary files and permanent storage area resided at - different file systems, then permanent file modification times were - incorrect. - Thanks to Maxim Dounin. - - *) Bugfix: ngx_http_memcached_module might issue the error message - "memcached sent invalid trailer". - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not built zlib-1.2.4 library using the library - sources. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault occurred in a worker process, if there - was large stderr output before FastCGI response; the bug had appeared - in 0.8.34. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.34 03 Mar 2010 - - *) Bugfix: nginx did not support all ciphers and digests used in client - certificates. - Thanks to Innocenty Enikeew. - - *) Bugfix: nginx cached incorrectly FastCGI responses if there was large - stderr output before response. - - *) Bugfix: nginx did not support HTTPS referrers. - - *) Bugfix: nginx/Windows might not find file if path in configuration - was given in other character case; the bug had appeared in 0.8.33. - - *) Bugfix: the $date_local variable has an incorrect value, if the "%s" - format was used. - Thanks to Maxim Dounin. - - *) Bugfix: if ssl_session_cache was not set or was set to "none", then - during client certificate verify the error "session id context - uninitialized" might occur; the bug had appeared in 0.7.1. - - *) Bugfix: a geo range returned default value if the range included two - or more /16 networks and did not begin at /16 network boundary. - - *) Bugfix: a block used in a "stub" parameter of an "include" SSI - directive was output with "text/plain" MIME type. - - *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.33 01 Feb 2010 - - *) Security: now nginx/Windows ignores trailing spaces in URI. - Thanks to Dan Crowley, Core Security Technologies. - - *) Security: now nginx/Windows ignores short files names. - Thanks to Dan Crowley, Core Security Technologies. - - *) Change: now keepalive connections after POST requests are not - disabled for MSIE 7.0+. - Thanks to Adam Lounds. - - *) Workaround: now keepalive connections are disabled for Safari. - Thanks to Joshua Sierles. - - *) Bugfix: if a proxied or FastCGI request was internally redirected to - another proxied or FastCGI location, then $upstream_response_time - variable may have abnormally large value; the bug had appeared in - 0.8.7. - - *) Bugfix: a segmentation fault might occur in a worker process, while - discarding a request body; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.32 11 Jan 2010 - - *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module. - Thanks to Maxim Dounin. - - *) Bugfix: regular expression named captures worked for two names only. - Thanks to Maxim Dounin. - - *) Bugfix: now the "localhost" name is used in the "Host" request header - line, if an unix domain socket is defined in the "auth_http" - directive. - Thanks to Maxim Dounin. - - *) Bugfix: nginx did not support chunked transfer encoding for 201 - responses. - Thanks to Julian Reich. - - *) Bugfix: if the "expires modified" set date in the past, then a - negative number was set in the "Cache-Control" response header line. - Thanks to Alex Kapranoff. - - -Changes with nginx 0.8.31 23 Dec 2009 - - *) Feature: now the "error_page" directive may redirect the 301 and 302 - responses. - - *) Feature: the $geoip_city_continent_code, $geoip_latitude, and - $geoip_longitude variables. - Thanks to Arvind Sundararajan. - - *) Feature: now the ngx_http_image_filter_module deletes always EXIF and - other application specific data if the data consume more than 5% of a - JPEG file. - - *) Bugfix: nginx closed a connection if a cached response had an empty - body. - Thanks to Piotr Sikora. - - *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher - optimization option was used. - Thanks to Maxim Dounin and Denis F. Latypoff. - - *) Bugfix: regular expressions in location were always tested in - case-sensitive mode; the bug had appeared in 0.8.25. - - *) Bugfix: nginx cached a 304 response if there was the "If-None-Match" - header line in a proxied request. - Thanks to Tim Dettrick and David Kostal. - - *) Bugfix: nginx/Windows tried to delete a temporary file twice if the - file should replace an already existent file. - - -Changes with nginx 0.8.30 15 Dec 2009 - - *) Change: now the default buffer size of the - "large_client_header_buffers" directive is 8K. - Thanks to Andrew Cholakian. - - *) Feature: the conf/fastcgi.conf for simple FastCGI configurations. - - *) Bugfix: nginx/Windows tried to rename a temporary file twice if the - file should replace an already existent file. - - *) Bugfix: of "double free or corruption" error issued if host could not - be resolved; the bug had appeared in 0.8.22. - Thanks to Konstantin Svist. - - *) Bugfix: in libatomic usage on some platforms. - Thanks to W-Mark Kubacki. - - -Changes with nginx 0.8.29 30 Nov 2009 - - *) Change: now the "009" status code is written to an access log for - proxied HTTP/0.9 responses. - - *) Feature: the "addition_types", "charset_types", "gzip_types", - "ssi_types", "sub_filter_types", and "xslt_types" directives support - an "*" parameter. - - *) Feature: GCC 4.1+ built-in atomic operations usage. - Thanks to W-Mark Kubacki. - - *) Feature: the --with-libatomic[=DIR] option in the configure. - Thanks to W-Mark Kubacki. - - *) Bugfix: listen unix domain socket had limited access rights. - - *) Bugfix: cached HTTP/0.9 responses were handled incorrectly. - - *) Bugfix: regular expression named captures given by "?P<...>" did not - work in a "server_name" directive. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.28 23 Nov 2009 - - *) Bugfix: nginx could not be built with the --without-pcre parameter; - the bug had appeared in 0.8.25. - - -Changes with nginx 0.8.27 17 Nov 2009 - - *) Bugfix: regular expressions did not work in nginx/Windows; the bug - had appeared in 0.8.25. - - -Changes with nginx 0.8.26 16 Nov 2009 - - *) Bugfix: in captures usage in "rewrite" directive; the bug had - appeared in 0.8.25. - - *) Bugfix: nginx could not be built without the --with-debug option; the - bug had appeared in 0.8.25. - - -Changes with nginx 0.8.25 16 Nov 2009 - - *) Change: now no message is written in an error log if a variable is - not found by $r->variable() method. - - *) Feature: the ngx_http_degradation_module. - - *) Feature: regular expression named captures. - - *) Feature: now URI part is not required a "proxy_pass" directive if - variables are used. - - *) Feature: now the "msie_padding" directive works for Chrome too. - - *) Bugfix: a segmentation fault occurred in a worker process on low - memory condition; the bug had appeared in 0.8.18. - - *) Bugfix: nginx sent gzipped responses to clients those do not support - gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared - in 0.8.16. - - -Changes with nginx 0.8.24 11 Nov 2009 - - *) Bugfix: nginx always added "Content-Encoding: gzip" response header - line in 304 responses sent by ngx_http_gzip_static_module. - - *) Bugfix: nginx could not be built without the --with-debug option; the - bug had appeared in 0.8.23. - - *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive - inherited incorrectly from previous level. - - *) Bugfix: in resolving empty name. - - -Changes with nginx 0.8.23 11 Nov 2009 - - *) Security: now SSL/TLS renegotiation is disabled. - Thanks to Maxim Dounin. - - *) Bugfix: listen unix domain socket did not inherit while online - upgrade. - - *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did - not without yet another directive with any IP address. - - *) Bugfix: segmentation fault and infinite looping in resolver. - - *) Bugfix: in resolver. - Thanks to Artem Bokhan. - - -Changes with nginx 0.8.22 03 Nov 2009 - - *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind" - directives. - - *) Feature: the "access" and the "deny" directives support IPv6. - - *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in - request headers. - - *) Feature: the "unix:" parameter of the "set_real_ip_from" directive. - - *) Bugfix: nginx did not delete unix domain socket after configuration - testing. - - *) Bugfix: nginx deleted unix domain socket while online upgrade. - - *) Bugfix: the "!-x" operator did not work. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault might occur in a worker process, if - limit_rate was used in HTTPS server. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault might occur in a worker process while - $limit_rate logging. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault might occur in a worker process, if - there was no "listen" directive in "server" block; the bug had - appeared in 0.8.21. - - -Changes with nginx 0.8.21 26 Oct 2009 - - *) Feature: now the "-V" switch shows TLS SNI support. - - *) Feature: the "listen" directive of the HTTP module supports unix - domain sockets. - Thanks to Hongli Lai. - - *) Feature: the "default_server" parameter of the "listen" directive. - - *) Feature: now a "default" parameter is not required to set listen - socket options. - - *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms; - - *) Bugfix: socket leak; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.20 14 Oct 2009 - - *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5". - - *) Bugfix: the ngx_http_autoindex_module did not show the trailing slash - in links to a directory; the bug had appeared in 0.7.15. - - *) Bugfix: nginx did not close a log file set by the --error-log-path - configuration option; the bug had appeared in 0.7.53. - - *) Bugfix: nginx did not treat a comma as separator in the - "Cache-Control" backend response header line. - - *) Bugfix: nginx/Windows might not create temporary file, a cache file, - or "proxy/fastcgi_store"d file if a worker had no enough access - rights for top level directories. - - *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were - not hidden while caching if no "fastcgi_hide_header" directives were - used with any parameters. - - *) Bugfix: nginx counted incorrectly disk cache size. - - -Changes with nginx 0.8.19 06 Oct 2009 - - *) Change: now SSLv2 protocol is disabled by default. - - *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". - - *) Bugfix: a "limit_req" directive did not work; the bug had appeared in - 0.8.18. - - -Changes with nginx 0.8.18 06 Oct 2009 - - *) Feature: the "read_ahead" directive. - - *) Feature: now several "perl_modules" directives may be used. - - *) Feature: the "limit_req_log_level" and "limit_conn_log_level" - directives. - - *) Bugfix: now "limit_req" directive conforms to the leaky bucket - algorithm. - Thanks to Maxim Dounin. - - *) Bugfix: nginx did not work on Linux/sparc. - Thanks to Marcus Ramberg. - - *) Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL - request. - Thanks to Xie Zhenye. - - *) Bugfix: zero status code was logged instead of 499 status code; the - bug had appeared in 0.8.11. - - *) Bugfix: socket leak; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.17 28 Sep 2009 - - *) Security: now "/../" are disabled in "Destination" request header - line. - - *) Change: now $host variable value is always low case. - - *) Feature: the $ssl_session_id variable. - - *) Bugfix: socket leak; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.16 22 Sep 2009 - - *) Feature: the "image_filter_transparency" directive. - - *) Bugfix: "addition_types" directive was incorrectly named - "addtion_types". - - *) Bugfix: resolver cache poisoning. - Thanks to Matthew Dempsky. - - *) Bugfix: memory leak in resolver. - Thanks to Matthew Dempsky. - - *) Bugfix: invalid request line in $request variable was written in - access_log only if error_log was set to "info" or "debug" level. - - *) Bugfix: in PNG alpha-channel support in the - ngx_http_image_filter_module. - - *) Bugfix: nginx always added "Vary: Accept-Encoding" response header - line, if both "gzip_static" and "gzip_vary" were on. - - *) Bugfix: in UTF-8 encoding support by "try_files" directive in - nginx/Windows. - - *) Bugfix: in "post_action" directive usage; the bug had appeared in - 0.8.11. - Thanks to Igor Artemiev. - - -Changes with nginx 0.8.15 14 Sep 2009 - - *) Security: a segmentation fault might occur in worker process while - specially crafted request handling. - Thanks to Chris Ries. - - *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld - were defined, then the name .sub.domain.tld was matched by - .domain.tld. - - *) Bugfix: in transparency support in the ngx_http_image_filter_module. - - *) Bugfix: in file AIO. - - *) Bugfix: in X-Accel-Redirect usage; the bug had appeared in 0.8.11. - - *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.14 07 Sep 2009 - - *) Bugfix: an expired cached response might stick in the "UPDATING" - state. - - *) Bugfix: a segmentation fault might occur in worker process, if - error_log was set to info or debug level. - Thanks to Sergey Bochenkov. - - *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11. - - *) Bugfix: an "error_page" directive did not redirect a 413 error; the - bug had appeared in 0.6.10. - - -Changes with nginx 0.8.13 31 Aug 2009 - - *) Bugfix: in the "aio sendfile" directive; the bug had appeared in - 0.8.12. - - *) Bugfix: nginx could not be built without the --with-file-aio option - on FreeBSD; the bug had appeared in 0.8.12. - - -Changes with nginx 0.8.12 31 Aug 2009 - - *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD. - - *) Bugfix: in try_files; the bug had appeared in 0.8.11. - - *) Bugfix: in memcached; the bug had appeared in 0.8.11. - - -Changes with nginx 0.8.11 28 Aug 2009 - - *) Change: now directive "gzip_disable msie6" does not disable gzipping - for MSIE 6.0 SV1. - - *) Feature: file AIO support on FreeBSD and Linux. - - *) Feature: the "directio_alignment" directive. - - -Changes with nginx 0.8.10 24 Aug 2009 - - *) Bugfix: memory leaks if GeoIP City database was used. - - *) Bugfix: in copying temporary files to permanent storage area; the bug - had appeared in 0.8.9. - - -Changes with nginx 0.8.9 17 Aug 2009 - - *) Feature: now the start cache loader runs in a separate process; this - should improve large caches handling. - - *) Feature: now temporary files and permanent storage area may reside at - different file systems. - - -Changes with nginx 0.8.8 10 Aug 2009 - - *) Bugfix: in handling FastCGI headers split in records. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - was handled in two proxied or FastCGIed locations and a caching was - enabled in the first location; the bug had appeared in 0.8.7. - - -Changes with nginx 0.8.7 27 Jul 2009 - - *) Change: minimum supported OpenSSL version is 0.9.7. - - *) Change: the "ask" parameter of the "ssl_verify_client" directive was - changed to the "optional" parameter and now it checks a client - certificate if it was offered. - Thanks to Brice Figureau. - - *) Feature: the $ssl_client_verify variable. - Thanks to Brice Figureau. - - *) Feature: the "ssl_crl" directive. - Thanks to Brice Figureau. - - *) Feature: the "proxy" parameter of the "geo" directive. - - *) Feature: the "image_filter" directive supports variables for setting - size. - - *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug - had appeared in 0.7.7. - Thanks to Sergey Zhuravlev. - - *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did - not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", - "X-Accel-Buffering", and "X-Accel-Charset" lines from backend - response header. - Thanks to Maxim Dounin. - - *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend - response header lines; the bug had appeared in 0.7.44. - Thanks to Maxim Dounin. - - *) Bugfix: the "[alert] zero size buf" error if subrequest returns an - empty response; the bug had appeared in 0.8.5. - - -Changes with nginx 0.8.6 20 Jul 2009 - - *) Feature: the ngx_http_geoip_module. - - *) Bugfix: XSLT filter may fail with message "not well formed XML - document" for valid XML document. - Thanks to Kuramoto Eiji. - - *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a - regular expression are always tested in case insensitive mode. - - *) Bugfix: now nginx/Windows ignores trailing dots in URI. - Thanks to Hugo Leisink. - - *) Bugfix: name of file specified in --conf-path was not honored during - installation; the bug had appeared in 0.6.6. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.5 13 Jul 2009 - - *) Bugfix: now nginx allows underscores in a request method. - - *) Bugfix: a 500 error code was returned for invalid login/password - while HTTP Basic authentication on Windows. - - *) Bugfix: ngx_http_perl_module responses did not work in subrequests. - - *) Bugfix: in ngx_http_limit_req_module. - Thanks to Maxim Dounin. - - -Changes with nginx 0.8.4 22 Jun 2009 - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.8.3. - - -Changes with nginx 0.8.3 19 Jun 2009 - - *) Feature: the $upstream_cache_status variable. - - *) Bugfix: nginx could not be built on MacOSX 10.6. - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.8.2. - - *) Bugfix: a segmentation fault occurred in worker process, if a backend - 401 error was intercepted and the backend did not set the - "WWW-Authenticate" response header line. - Thanks to Eugene Mychlo. - - -Changes with nginx 0.8.2 15 Jun 2009 - - *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on - start up. - - *) Bugfix: open_file_cache might cache open file descriptors too long; - the bug had appeared in 0.7.4. - - -Changes with nginx 0.8.1 08 Jun 2009 - - *) Feature: the "updating" parameter in "proxy_cache_use_stale" and - "fastcgi_cache_use_stale" directives. - - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request - header lines were passed to backend while caching if no - "proxy_set_header" directive was used with any parameters. - - *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not - hidden while caching if no "proxy_hide_header/fastcgi_hide_header" - directives were used with any parameters. - - *) Bugfix: the ngx_http_image_filter_module did not support GIF87a - format. - Thanks to Denis Ilyinyh. - - *) Bugfix: nginx could not be built modules on Solaris 10 and early; the - bug had appeared in 0.7.56. - - -Changes with nginx 0.8.0 02 Jun 2009 - - *) Feature: the "keepalive_requests" directive. - - *) Feature: the "limit_rate_after" directive. - Thanks to Ivan Debnar. - - *) Bugfix: XLST filter did not work in subrequests. - - *) Bugfix: in relative paths handling in nginx/Windows. - - *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache - in nginx/Windows. - - *) Bugfix: in memory allocation error handling. - Thanks to Maxim Dounin and Kirill A. Korinskiy. - - -Changes with nginx 0.7.59 25 May 2009 - - *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods" - directives. - - *) Bugfix: socket leak; the bug had appeared in 0.7.25. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - had no body and the $request_body variable was used; - the bug had appeared in 0.7.58. - - *) Bugfix: the SSL modules might not built on Solaris and Linux; - the bug had appeared in 0.7.56. - - *) Bugfix: ngx_http_xslt_filter_module responses were not handled by - SSI, charset, and gzip filters. - - *) Bugfix: a "charset" directive did not set a charset to - ngx_http_gzip_static_module responses. - - -Changes with nginx 0.7.58 18 May 2009 - - *) Feature: a "listen" directive of the mail proxy module supports IPv6. - - *) Feature: the "image_filter_jpeg_quality" directive. - - *) Feature: the "client_body_in_single_buffer" directive. - - *) Feature: the $request_body variable. - - *) Bugfix: in ngx_http_autoindex_module in file name links having a ":" - symbol in the name. - - *) Bugfix: "make upgrade" procedure did not work; the bug had appeared - in 0.7.53. - Thanks to Denis F. Latypoff. - - -Changes with nginx 0.7.57 12 May 2009 - - *) Bugfix: a floating-point fault occurred in worker process, if the - ngx_http_image_filter_module errors were redirected to named - location; the bug had appeared in 0.7.56. - - -Changes with nginx 0.7.56 11 May 2009 - - *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the - HTTP module. - - *) Bugfix: in ngx_http_image_filter_module. - - -Changes with nginx 0.7.55 06 May 2009 - - *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and - "fastcgi_cache_use_stale" directives did not work. - - *) Bugfix: fastcgi cache did not cache header only responses. - - *) Bugfix: of "select() failed (9: Bad file descriptor)" error in - nginx/Unix and "select() failed (10038: ...)" error in nginx/Windows. - - *) Bugfix: a segmentation fault might occur in worker process, if an - "debug_connection" directive was used; the bug had appeared in - 0.7.54. - - *) Bugfix: fix ngx_http_image_filter_module building errors. - - *) Bugfix: the files bigger than 2G could not be transferred using - $r->sendfile. - Thanks to Maxim Dounin. - - -Changes with nginx 0.7.54 01 May 2009 - - *) Feature: the ngx_http_image_filter_module. - - *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers" - directives. - - *) Bugfix: a segmentation fault might occur in worker process, if an - "open_file_cache_errors off" directive was used; the bug had appeared - in 0.7.53. - - *) Bugfix: the "port_in_redirect off" directive did not work; the bug - had appeared in 0.7.39. - - *) Bugfix: improve handling of "select" method errors. - - *) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows. - - *) Bugfix: in error text descriptions in nginx/Windows; the bug had - appeared in 0.7.53. - - -Changes with nginx 0.7.53 27 Apr 2009 - - *) Change: now a log set by --error-log-path is created from the very - start-up. - - *) Feature: now the start up errors and warnings are outputted to an - error_log and stderr. - - *) Feature: the empty --prefix= configure parameter forces nginx to use - a directory where it was run as prefix. - - *) Feature: the -p switch. - - *) Feature: the -s switch on Unix platforms. - - *) Feature: the -? and -h switches. - Thanks to Jerome Loyet. - - *) Feature: now switches may be set in condensed form. - - *) Bugfix: nginx/Windows did not work if configuration file was given by - the -c switch. - - *) Bugfix: temporary files might be not removed if the "proxy_store", - "fastcgi_store", "proxy_cache", or "fastcgi_cache" were used. - Thanks to Maxim Dounin. - - *) Bugfix: an incorrect value was passed to mail proxy authentication - server in "Auth-Method" header line; the bug had appeared - in 0.7.34. - Thanks to Simon Lecaille. - - *) Bugfix: system error text descriptions were not logged on Linux; - the bug had appeared in 0.7.45. - - *) Bugfix: the "fastcgi_cache_min_uses" directive did not work. - Thanks to Andrew Vorobyoff. - - -Changes with nginx 0.7.52 20 Apr 2009 - - *) Feature: the first native Windows binary release. - - *) Bugfix: in processing HEAD method while caching. - - *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc. - client request header lines while caching. - - *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in - cacheable responses. - - *) Bugfix: if nginx was built with the ngx_http_perl_module and with a - perl which supports threads, then during a master process exit the - message "panic: MUTEX_LOCK" might be issued. - - *) Bugfix: nginx could not be built --without-http-cache; the bug had - appeared in 0.7.48. - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.7.42. - - -Changes with nginx 0.7.51 12 Apr 2009 - - *) Feature: the "try_files" directive supports a response code in the - fallback parameter. - - *) Feature: now any response code can be used in the "return" directive. - - *) Bugfix: the "error_page" directive made an external redirect without - query string; the bug had appeared in 0.7.44. - - *) Bugfix: if servers listened on several defined explicitly addresses, - then virtual servers might not work; the bug had appeared in 0.7.39. - - -Changes with nginx 0.7.50 06 Apr 2009 - - *) Bugfix: the $arg_... variables did not work; the bug had appeared in - 0.7.49. - - -Changes with nginx 0.7.49 06 Apr 2009 - - *) Bugfix: a segmentation fault might occur in worker process, if the - $arg_... variables were used; the bug had appeared in 0.7.48. - - -Changes with nginx 0.7.48 06 Apr 2009 - - *) Feature: the "proxy_cache_key" directive. - - *) Bugfix: now nginx takes into account the "X-Accel-Expires", - "Expires", and "Cache-Control" header lines in a backend response. - - *) Bugfix: now nginx caches responses for the GET requests only. - - *) Bugfix: the "fastcgi_cache_key" directive was not inherited. - - *) Bugfix: the $arg_... variables did not work with SSI subrequests. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built with uclibc library. - Thanks to Timothy Redaelli. - - *) Bugfix: nginx could not be built on OpenBSD; the bug had - appeared in 0.7.46. - - -Changes with nginx 0.7.47 01 Apr 2009 - - *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; the - bug had appeared in 0.7.46. - - *) Bugfix: nginx could not be built on MacOSX; the bug had - appeared in 0.7.46. - - *) Bugfix: if the "max_size" parameter was set, then the cache manager - might purge a whole cache; the bug had appeared in 0.7.46. - - *) Change: a segmentation fault might occur in worker process, if the - "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/ - "fastcgi_cache_valid" were set on different levels; the bug had - appeared in 0.7.46. - - *) Bugfix: a segmentation fault might occur in worker process, if a - request was redirected to a proxied or FastCGI server via error_page - or try_files; the bug had appeared in 0.7.44. - - -Changes with nginx 0.7.46 30 Mar 2009 - - *) Bugfix: the previous release tarball was incorrect. - - -Changes with nginx 0.7.45 30 Mar 2009 - - *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives - can be set on different levels. - - *) Change: the "clean_time" parameter of the "proxy_cache_path" - directive is canceled. - - *) Feature: the "max_size" parameter of the "proxy_cache_path" - directive. - - *) Feature: the ngx_http_fastcgi_module preliminary cache support. - - *) Feature: now on shared memory allocation errors directive and zone - names are logged. - - *) Bugfix: the directive "add_header last-modified ''" did not delete a - "Last-Modified" response header line; the bug had appeared in 0.7.44. - - *) Bugfix: a relative path in the "auth_basic_user_file" directive given - without variables did not work; the bug had appeared in 0.7.44. - Thanks to Jerome Loyet. - - *) Bugfix: in an "alias" directive given using variables without - references to captures of regular expressions; the bug had appeared - in 0.7.42. - - -Changes with nginx 0.7.44 23 Mar 2009 - - *) Feature: the ngx_http_proxy_module preliminary cache support. - - *) Feature: the --with-pcre option in the configure. - - *) Feature: the "try_files" directive is now allowed on the server block - level. - - *) Bugfix: the "try_files" directive handled incorrectly a query string - in a fallback parameter. - - *) Bugfix: the "try_files" directive might test incorrectly directories. - - *) Bugfix: if there was a single server for given address:port pair, - then captures in regular expressions in a "server_name" directive did - not work. - - -Changes with nginx 0.7.43 18 Mar 2009 - - *) Bugfix: a request was handled incorrectly, if a "root" directive used - variables; the bug had appeared in 0.7.42. - - *) Bugfix: if a server listened on wildcard address, then the - $server_addr variable value was "0.0.0.0"; the bug had appeared in - 0.7.36. - - -Changes with nginx 0.7.42 16 Mar 2009 - - *) Change: now the "Invalid argument" error returned by - setsockopt(TCP_NODELAY) on Solaris, is ignored. - - *) Change: now if a file specified in a "auth_basic_user_file" directive - is absent, then the 403 error is returned instead of the 500 one. - - *) Feature: the "auth_basic_user_file" directive supports variables. - Thanks to Kirill A. Korinskiy. - - *) Feature: the "listen" directive supports the "ipv6only" parameter. - Thanks to Zhang Hua. - - *) Bugfix: in an "alias" directive with references to captures of - regular expressions; the bug had appeared in 0.7.40. - - *) Bugfix: compatibility with Tru64 UNIX. - Thanks to Dustin Marquess. - - *) Bugfix: nginx could not be built without PCRE library; the bug had - appeared in 0.7.41. - - -Changes with nginx 0.7.41 11 Mar 2009 - - *) Bugfix: a segmentation fault might occur in worker process, if a - "server_name" or a "location" directives had captures in regular - expressions; the issue had appeared in 0.7.40. - Thanks to Vladimir Sopot. - - -Changes with nginx 0.7.40 09 Mar 2009 - - *) Feature: the "location" directive supports captures in regular - expressions. - - *) Feature: an "alias" directive with capture references may be used - inside a location given by a regular expression with captures. - - *) Feature: the "server_name" directive supports captures in regular - expressions. - - *) Workaround: the ngx_http_autoindex_module did not show the trailing - slash in directories on XFS filesystem; the issue had appeared in - 0.7.15. - Thanks to Dmitry Kuzmenko. - - -Changes with nginx 0.7.39 02 Mar 2009 - - *) Bugfix: large response with SSI might hang, if gzipping was enabled; - the bug had appeared in 0.7.28. - Thanks to Artem Bokhan. - - *) Bugfix: a segmentation fault might occur in worker process, if short - static variants are used in a "try_files" directive. - - -Changes with nginx 0.7.38 23 Feb 2009 - - *) Feature: authentication failures logging. - - *) Bugfix: name/password in auth_basic_user_file were ignored after odd - number of empty lines. - Thanks to Alexander Zagrebin. - - *) Bugfix: a segmentation fault occurred in a master process, if long - path was used in unix domain socket; the bug had appeared in 0.7.36. - - -Changes with nginx 0.7.37 21 Feb 2009 - - *) Bugfix: directives using upstreams did not work; the bug had appeared - in 0.7.36. - - -Changes with nginx 0.7.36 21 Feb 2009 - - *) Feature: a preliminary IPv6 support; the "listen" directive of the - HTTP module supports IPv6. - - *) Bugfix: the $ancient_browser variable did not work for browsers - preset by a "modern_browser" directives. - - -Changes with nginx 0.7.35 16 Feb 2009 - - *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for - asymmetric ciphers. - Thanks to Marcin Gozdalik. - - *) Bugfix: a "try_files" directive set MIME type depending on an - original request extension. - - *) Bugfix: "*domain.tld" names were handled incorrectly in - "server_name", "valid_referers", and "map" directives, if - ".domain.tld" and ".subdomain.domain.tld" wildcards were used; - the bug had appeared in 0.7.9. - - -Changes with nginx 0.7.34 10 Feb 2009 - - *) Feature: the "off" parameter of the "if_modified_since" directive. - - *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT - command. - Thanks to Maxim Dounin. - - *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support - in mail proxy server. - Thanks to Maxim Dounin. - - *) Bugfix: in a redirect rewrite directive original arguments were - concatenated with new arguments by a "?" rather than an "&"; - the bug had appeared in 0.1.18. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built on AIX. - - -Changes with nginx 0.7.33 02 Feb 2009 - - *) Bugfix: a double response might be returned if the epoll or rtsig - methods are used and a redirect was returned to a request with body. - Thanks to Eden Li. - - *) Bugfix: the $sent_http_location variable was empty for some redirects - types. - - *) Bugfix: a segmentation fault might occur in worker process if - "resolver" directive was used in SMTP proxy. - - -Changes with nginx 0.7.32 26 Jan 2009 - - *) Feature: now a directory existence testing can be set explicitly in - the "try_files" directive. - - *) Bugfix: fastcgi_store stored files not always. - - *) Bugfix: in geo ranges. - - *) Bugfix: in shared memory allocations if nginx was built without - debugging. - Thanks to Andrey Kvasov. - - -Changes with nginx 0.7.31 19 Jan 2009 - - *) Change: now the "try_files" directive tests files only and ignores - directories. - - *) Feature: the "fastcgi_split_path_info" directive. - - *) Bugfixes in an "Expect" request header line support. - - *) Bugfixes in geo ranges. - - *) Bugfix: in a miss case ngx_http_memcached_module returned the "END" - line as response body instead of default 404 page body; the bug had - appeared in 0.7.18. - Thanks to Maxim Dounin. - - *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK" - instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22. - Thanks to Maxim Dounin. - - -Changes with nginx 0.7.30 24 Dec 2008 - - *) Bugfix: a segmentation fault occurred in worker process, if variables - were used in the "fastcgi_pass" or "proxy_pass" directives and host - name must be resolved; the bug had appeared in 0.7.29. - - -Changes with nginx 0.7.29 24 Dec 2008 - - *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not - support variables if unix domain sockets were used. - - *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25. - - *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests; - Thanks to Maxim Dounin. - - *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on - Cygwin. - - -Changes with nginx 0.7.28 22 Dec 2008 - - *) Change: in memory allocation in the ngx_http_gzip_filter_module. - - *) Change: the default "gzip_buffers" directive values have been changed - to 32 4k or 16 8k from 4 4k/8k. - - -Changes with nginx 0.7.27 15 Dec 2008 - - *) Feature: the "try_files" directive. - - *) Feature: variables support in the "fastcgi_pass" directive. - - *) Feature: now the $geo variable may get an address from a variable. - Thanks to Andrei Nigmatulin. - - *) Feature: now a location's modifier may be used without space before - name. - - *) Feature: the $upstream_response_length variable. - - *) Bugfix: now a "add_header" directive does not add an empty value. - - *) Bugfix: if zero length static file was requested, then nginx just - closed connection; the bug had appeared in 0.7.25. - - *) Bugfix: a MOVE method could not move file in non-existent directory. - - *) Bugfix: a segmentation fault occurred in worker process, if no one - named location was defined in server, but some one was used in an - error_page directive. - Thanks to Sergey Bochenkov. - - -Changes with nginx 0.7.26 08 Dec 2008 - - *) Bugfix: in subrequest processing; the bug had appeared in 0.7.25. - - -Changes with nginx 0.7.25 08 Dec 2008 - - *) Change: in subrequest processing. - - *) Change: now POSTs without "Content-Length" header line are allowed. - - *) Bugfix: now the "limit_req" and "limit_conn" directives log a - prohibition reason. - - *) Bugfix: in the "delete" parameter of the "geo" directive. - - -Changes with nginx 0.7.24 01 Dec 2008 - - *) Feature: the "if_modified_since" directive. - - *) Bugfix: nginx did not process a FastCGI server response, if the - server send too many messages to stderr before response. - - *) Bugfix: the "$cookie_..." variables did not work in the SSI and the - perl module. - - -Changes with nginx 0.7.23 27 Nov 2008 - - *) Feature: the "delete" and "ranges" parameters in the "geo" directive. - - *) Feature: speeding up loading of geo base with large number of values. - - *) Feature: decrease of memory required for geo base load. - - -Changes with nginx 0.7.22 20 Nov 2008 - - *) Feature: the "none" parameter in the "smtp_auth" directive. - Thanks to Maxim Dounin. - - *) Feature: the "$cookie_..." variables. - - *) Bugfix: the "directio" directive did not work in XFS filesystem. - - *) Bugfix: the resolver did not understand big DNS responses. - Thanks to Zyb. - - -Changes with nginx 0.7.21 11 Nov 2008 - - *) Changes in the ngx_http_limit_req_module. - - *) Feature: the EXSLT support in the ngx_http_xslt_module. - Thanks to Denis F. Latypoff. - - *) Workaround: compatibility with glibc 2.3. - Thanks to Eric Benson and Maxim Dounin. - - *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had - appeared in 0.7.6. - - -Changes with nginx 0.7.20 10 Nov 2008 - - *) Changes in the ngx_http_gzip_filter_module. - - *) Feature: the ngx_http_limit_req_module. - - *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and - ppc platforms; the bug had appeared in 0.7.3. - Thanks to Maxim Dounin. - - *) Bugfix: the "proxy_pass http://host/some:uri" directives did not - work; the bug had appeared in 0.7.12. - - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" - error. - - *) Bugfix: the ngx_http_secure_link_module did not work inside - locations, whose names are less than 3 characters. - - *) Bugfix: $server_addr variable might have no value. - - -Changes with nginx 0.7.19 13 Oct 2008 - - *) Bugfix: version number update. - - -Changes with nginx 0.7.18 13 Oct 2008 - - *) Change: the "underscores_in_headers" directive; now nginx does not - allows underscores in a client request header line names. - - *) Feature: the ngx_http_secure_link_module. - - *) Feature: the "real_ip_header" directive supports any header. - - *) Feature: the "log_subrequest" directive. - - *) Feature: the $realpath_root variable. - - *) Feature: the "http_502" and "http_504" parameters of the - "proxy_next_upstream" directive. - - *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or - "fastcgi_next_upstream" directives did not work. - - *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line - for HEAD requests. - - *) Bugfix: now accept threshold depends on worker_connections. - - -Changes with nginx 0.7.17 15 Sep 2008 - - *) Feature: now the "directio" directive works on Linux. - - *) Feature: the $pid variable. - - *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did - not work with open_file_cache. - - *) Bugfix: the "access_log" with variables did not work on Linux; the - bug had appeared in 0.7.7. - - *) Bugfix: the ngx_http_charset_module did not understand quoted charset - name received from backend. - - -Changes with nginx 0.7.16 08 Sep 2008 - - *) Bugfix: nginx could not be built on 64-bit platforms; the bug had - appeared in 0.7.15. - - -Changes with nginx 0.7.15 08 Sep 2008 - - *) Feature: the ngx_http_random_index_module. - - *) Feature: the "directio" directive has been optimized for file - requests starting from arbitrary position. - - *) Feature: the "directio" directive turns off sendfile if it is - necessary. - - *) Feature: now nginx allows underscores in a client request header line - names. - - -Changes with nginx 0.7.14 01 Sep 2008 - - *) Change: now the ssl_certificate and ssl_certificate_key directives - have no default values. - - *) Feature: the "listen" directive supports the "ssl" parameter. - - *) Feature: now nginx takes into account a time zone change while - reconfiguration on FreeBSD and Linux. - - *) Bugfix: the "listen" directive parameters such as "backlog", - "rcvbuf", etc. were not set, if a default server was not the first - one. - - *) Bugfix: if URI part captured by a "rewrite" directive was used as a - query string, then the query string was not escaped. - - *) Bugfix: configuration file validity test improvements. - - -Changes with nginx 0.7.13 26 Aug 2008 - - *) Bugfix: nginx could not be built on Linux and Solaris; the bug had - appeared in 0.7.12. - - -Changes with nginx 0.7.12 26 Aug 2008 - - *) Feature: the "server_name" directive supports empty name "". - - *) Feature: the "gzip_disable" directive supports special "msie6" mask. - - *) Bugfix: if the "max_fails=0" parameter was used in upstream with - several servers, then a worker process exited on a SIGFPE signal. - Thanks to Maxim Dounin. - - *) Bugfix: a request body was dropped while redirection via an - "error_page" directive. - - *) Bugfix: a full response was returned for request method HEAD while - redirection via an "error_page" directive. - - *) Bugfix: the $r->header_in() method did not return value of the - "Host", "User-Agent", and "Connection" request header lines; the bug - had appeared in 0.7.0. - - -Changes with nginx 0.7.11 18 Aug 2008 - - *) Change: now ngx_http_charset_module does not work by default with - text/css MIME type. - - *) Feature: now nginx returns the 405 status code for POST method - requesting a static file only if the file exists. - - *) Feature: the "proxy_ssl_session_reuse" directive. - - *) Bugfix: a "proxy_pass" directive without URI part might use original - request after the "X-Accel-Redirect" redirection was used; - - *) Bugfix: if a directory has search only rights and the first index - file was absent, then nginx returned the 500 status code. - - *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1. - - -Changes with nginx 0.7.10 13 Aug 2008 - - *) Bugfix: in the "addition_types", "charset_types", "gzip_types", - "ssi_types", "sub_filter_types", and "xslt_types" directives; the - bugs had appeared in 0.7.9. - - *) Bugfix: of recursive error_page for 500 status code. - - *) Bugfix: now the ngx_http_realip_module sets address not for whole - keepalive connection, but for each request passed via the connection. - - -Changes with nginx 0.7.9 12 Aug 2008 - - *) Change: now ngx_http_charset_module works by default with following - MIME types: text/html, text/css, text/xml, text/plain, - text/vnd.wap.wml, application/x-javascript, and application/rss+xml. - - *) Feature: the "charset_types" and "addition_types" directives. - - *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types" - directives use hash. - - *) Feature: the ngx_cpp_test_module. - - *) Feature: the "expires" directive supports daily time. - - *) Feature: the ngx_http_xslt_module improvements and bug fixing. - Thanks to Denis F. Latypoff and Maxim Dounin. - - *) Bugfix: the "log_not_found" directive did not work for index files - tests. - - *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or - eventport methods were used; the bug had appeared in 0.7.7. - - *) Bugfix: if the "server_name", "valid_referers", and "map" directives - used an "*.domain.tld" wildcard and exact name "domain.tld" was not - set, then the exact name was matched by the wildcard; the bug had - appeared in 0.3.18. - - -Changes with nginx 0.7.8 04 Aug 2008 - - *) Feature: the ngx_http_xslt_module. - - *) Feature: the "$arg_..." variables. - - *) Feature: Solaris directio support. - Thanks to Ivan Debnar. - - *) Bugfix: now if FastCGI server sends a "Location" header line without - status line, then nginx uses 302 status code. - Thanks to Maxim Dounin. - - -Changes with nginx 0.7.7 30 Jul 2008 - - *) Change: now the EAGAIN error returned by connect() is not considered - as temporary error. - - *) Change: now the $ssl_client_cert variable value is a certificate with - TAB character intended before each line except first one; an - unchanged certificate is available in the $ssl_client_raw_cert - variable. - - *) Feature: the "ask" parameter in the "ssl_verify_client" directive. - - *) Feature: byte-range processing improvements. - Thanks to Maxim Dounin. - - *) Feature: the "directio" directive. - Thanks to Jiang Hong. - - *) Feature: MacOSX 10.5 sendfile() support. - - *) Bugfix: now in MacOSX and Cygwin locations are tested in case - insensitive mode; however, the compare is provided by single-byte - locales only. - - *) Bugfix: mail proxy SSL connections hanged, if select, poll, or - /dev/poll methods were used. - - *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module. - - -Changes with nginx 0.7.6 07 Jul 2008 - - *) Bugfix: now if variables are used in the "access_log" directive a - request root existence is always tested. - - *) Bugfix: the ngx_http_flv_module did not support several values in a - query string. - - -Changes with nginx 0.7.5 01 Jul 2008 - - *) Bugfixes in variables support in the "access_log" directive; the bugs - had appeared in 0.7.4. - - *) Bugfix: nginx could not be built --without-http_gzip_module; the bug - had appeared in 0.7.3. - Thanks to Kirill A. Korinskiy. - - *) Bugfix: if sub_filter and SSI were used together, then responses - might were transferred incorrectly. - - -Changes with nginx 0.7.4 30 Jun 2008 - - *) Feature: variables support in the "access_log" directive. - - *) Feature: the "open_log_file_cache" directive. - - *) Feature: the -g switch. - - *) Feature: the "Expect" request header line support. - - *) Bugfix: large SSI inclusions might be truncated. - - -Changes with nginx 0.7.3 23 Jun 2008 - - *) Change: the "rss" extension MIME type has been changed to - "application/rss+xml". - - *) Change: now the "gzip_vary" directive turned on issues a - "Vary: Accept-Encoding" header line for uncompressed responses too. - - *) Feature: now the "rewrite" directive does a redirect automatically if - the "https://" protocol is used. - - *) Bugfix: the "proxy_pass" directive did not work with the HTTPS - protocol; the bug had appeared in 0.6.9. - - -Changes with nginx 0.7.2 16 Jun 2008 - - *) Feature: now nginx supports EDH key exchange ciphers. - - *) Feature: the "ssl_dhparam" directive. - - *) Feature: the $ssl_client_cert variable. - Thanks to Manlio Perillo. - - *) Bugfix: after changing URI via a "rewrite" directive nginx did not - search a new location; the bug had appeared in 0.7.1. - Thanks to Maxim Dounin. - - *) Bugfix: nginx could not be built without PCRE library; the bug had - appeared in 0.7.1. - - *) Bugfix: when a request to a directory was redirected with the slash - added, nginx dropped a query string from the original request. - - -Changes with nginx 0.7.1 26 May 2008 - - *) Change: now locations are searched in a tree. - - *) Change: the "optimize_server_names" directive was canceled due to the - "server_name_in_redirect" directive introduction. - - *) Change: some long deprecated directives are not supported anymore. - - *) Change: the "none" parameter in the "ssl_session_cache" directive; - now this is default parameter. - Thanks to Rob Mueller. - - *) Bugfix: worker processes might not catch reconfiguration and log - rotation signals. - - *) Bugfix: nginx could not be built on latest Fedora 9 Linux. - Thanks to Roxis. - - -Changes with nginx 0.7.0 19 May 2008 - - *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX - in an access_log. - Thanks to Maxim Dounin. - - *) Change: now nginx allows several "Host" request header line. - - *) Feature: the "modified" flag in the "expires" directive. - - *) Feature: the $uid_got and $uid_set variables may be used at any - request processing stage. - - *) Feature: the $hostname variable. - Thanks to Andrei Nigmatulin. - - *) Feature: DESTDIR support. - Thanks to Todd A. Fisher and Andras Voroskoi. - - *) Bugfix: a segmentation fault might occur in worker process on Linux, - if keepalive was enabled. - - -Changes with nginx 0.6.31 12 May 2008 - - *) Bugfix: nginx did not process FastCGI response if header was at the - end of FastCGI record; the bug had appeared in 0.6.2. - Thanks to Sergey Serov. - - *) Bugfix: a segmentation fault might occur in worker process if a file - was deleted and the "open_file_cache_errors" directive was off. - - -Changes with nginx 0.6.30 29 Apr 2008 - - *) Change: now if an "include" directive pattern does not match any - file, then nginx does not issue an error. - - *) Feature: now the time in directives may be specified without spaces, - for example, "1h50m". - - *) Bugfix: memory leaks if the "ssl_verify_client" directive was on. - Thanks to Chavelle Vincent. - - *) Bugfix: the "sub_filter" directive might set text to change into - output. - - *) Bugfix: the "error_page" directive did not take into account - arguments in redirected URI. - - *) Bugfix: now nginx always opens files in binary mode under Cygwin. - - *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in - 0.6.15. - - -Changes with nginx 0.6.29 18 Mar 2008 - - *) Feature: the ngx_google_perftools_module. - - *) Bugfix: the ngx_http_perl_module could not be built on 64-bit - platforms; the bug had appeared in 0.6.27. - - -Changes with nginx 0.6.28 13 Mar 2008 - - *) Bugfix: the rtsig method could not be built; the bug had appeared in - 0.6.27. - - -Changes with nginx 0.6.27 12 Mar 2008 - - *) Change: now by default the rtsig method is not built on - Linux 2.6.18+. - - *) Change: now a request method is not changed while redirection to a - named location via an "error_page" directive. - - *) Feature: the "resolver" and "resolver_timeout" directives in SMTP - proxy. - - *) Feature: the "post_action" directive supports named locations. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - was redirected from proxy, FastCGI, or memcached location to static - named locations. - - *) Bugfix: browsers did not repeat SSL handshake if there is no valid - client certificate in first handshake. - Thanks to Alexander V. Inyukhin. - - *) Bugfix: if response code 495-497 was redirected via an "error_page" - directive without code change, then nginx tried to allocate too many - memory. - - *) Bugfix: memory leak in long-lived non buffered connections. - - *) Bugfix: memory leak in resolver. - - *) Bugfix: a segmentation fault occurred in worker process, if a request - was redirected from proxy, FastCGI, or memcached location to static - named locations. - - *) Bugfix: in the $proxy_host and $proxy_port variables caching. - Thanks to Sergey Bochenkov. - - *) Bugfix: a "proxy_pass" directive with variables used incorrectly the - same port as in another "proxy_pass" directive with the same host - name and without variables. - Thanks to Sergey Bochenkov. - - *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some - 64-bit platforms while reconfiguration. - - *) Bugfix: a segmentation fault occurred in worker process, if empty - stub block was used second time in SSI. - - *) Bugfix: in copying URI part contained escaped symbols into arguments. - - -Changes with nginx 0.6.26 11 Feb 2008 - - *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not - check a response length. - - *) Bugfix: a segmentation fault occurred in worker process, if big value - was used in a "expires" directive. - Thanks to Joaquin Cuenca Abela. - - *) Bugfix: nginx incorrectly detected cache line size on Pentium 4. - Thanks to Gena Makhomed. - - *) Bugfix: in proxied or FastCGI subrequests a client original method - was used instead of the GET method. - - *) Bugfix: socket leak in HTTPS mode if deferred accept was used. - Thanks to Ben Maurer. - - *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed - (SSL: )"; the bug had appeared in 0.6.23. - - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" - error; the bug had appeared in 0.6.23. - - -Changes with nginx 0.6.25 08 Jan 2008 - - *) Change: now the "server_name_in_redirect" directive is used instead - of the "server_name" directive's special "*" parameter. - - *) Change: now wildcard and regex names can be used as main name in a - "server_name" directive. - - *) Change: the "satisfy_any" directive was replaced by the "satisfy" - directive. - - *) Workaround: old worker processes might hog CPU after reconfiguration - if they was run under Linux OpenVZ. - - *) Feature: the "min_delete_depth" directive. - - *) Bugfix: the COPY and MOVE methods did not work with single files. - - *) Bugfix: the ngx_http_gzip_static_module did not allow the - ngx_http_dav_module to work; the bug had appeared in 0.6.23. - - *) Bugfix: socket leak in HTTPS mode if deferred accept was used. - Thanks to Ben Maurer. - - *) Bugfix: nginx could not be built without PCRE library; the bug had - appeared in 0.6.23. - - -Changes with nginx 0.6.24 27 Dec 2007 - - *) Bugfix: a segmentation fault might occur in worker process if HTTPS - was used; the bug had appeared in 0.6.23. - - -Changes with nginx 0.6.23 27 Dec 2007 - - *) Change: the "off" parameter in the "ssl_session_cache" directive; now - this is default parameter. - - *) Change: the "open_file_cache_retest" directive was renamed to the - "open_file_cache_valid". - - *) Feature: the "open_file_cache_min_uses" directive. - - *) Feature: the ngx_http_gzip_static_module. - - *) Feature: the "gzip_disable" directive. - - *) Feature: the "memcached_pass" directive may be used inside the "if" - block. - - *) Bugfix: a segmentation fault occurred in worker process, if the - "memcached_pass" and "if" directives were used in the same location. - - *) Bugfix: if a "satisfy_any on" directive was used and not all access - and auth modules directives were set, then other given access and - auth directives were not tested; - - *) Bugfix: regex parameters in a "valid_referers" directive were not - inherited from previous level. - - *) Bugfix: a "post_action" directive did run if a request was completed - with 499 status code. - - *) Bugfix: optimization of 16K buffer usage in a SSL connection. - Thanks to Ben Maurer. - - *) Bugfix: the STARTTLS in SMTP mode did not work. - Thanks to Oleg Motienko. - - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" - error; the bug had appeared in 0.5.13. - - -Changes with nginx 0.6.22 19 Dec 2007 - - *) Change: now all ngx_http_perl_module methods return values copied to - perl's allocated memory. - - *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before - 5.8.6 was used, and perl supported threads, then during - reconfiguration the master process aborted; the bug had appeared in - 0.5.9. - Thanks to Boris Zhmurov. - - *) Bugfix: the ngx_http_perl_module methods may get invalid values of - the regex captures. - - *) Bugfix: a segmentation fault occurred in worker process, if the - $r->has_request_body() method was called for a request whose small - request body was already received. - - *) Bugfix: large_client_header_buffers did not freed before going to - keep-alive state. - Thanks to Olexander Shtepa. - - *) Bugfix: the last address was missed in the $upstream_addr variable; - the bug had appeared in 0.6.18. - - *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; - now it returns 502 code, that can be rerouted to a next server using - the "fastcgi_next_upstream invalid_header" directive. - - *) Bugfix: a segmentation fault occurred in master process if the - "fastcgi_catch_stderr" directive was used; the bug had appeared in - 0.6.10. - Thanks to Manlio Perillo. - - -Changes with nginx 0.6.21 03 Dec 2007 - - *) Change: if variable values used in a "proxy_pass" directive contain - IP-addresses only, then a "resolver" directive is not mandatory. - - *) Bugfix: a segmentation fault might occur in worker process if a - "proxy_pass" directive with URI-part was used; the bug had appeared - in 0.6.19. - - *) Bugfix: if resolver was used on platform that does not support - kqueue, then nginx issued an alert "name is out of response". - Thanks to Andrei Nigmatulin. - - *) Bugfix: if the $server_protocol was used in FastCGI parameters and a - request line length was near to the "client_header_buffer_size" - directive value, then nginx issued an alert "fastcgi: the request - record is too big". - - *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS - server, then nginx returned usual response. - - -Changes with nginx 0.6.20 28 Nov 2007 - - *) Bugfix: a segmentation fault might occur in worker process if a - "proxy_pass" directive with URI-part was used; the bug had appeared - in 0.6.19. - - -Changes with nginx 0.6.19 27 Nov 2007 - - *) Bugfix: the 0.6.18 version could not be built. - - -Changes with nginx 0.6.18 27 Nov 2007 - - *) Change: now the ngx_http_userid_module adds start time microseconds - to the cookie field contains a pid value. - - *) Change: now the full request line instead of URI only is written to - error_log. - - *) Feature: variables support in the "proxy_pass" directive. - - *) Feature: the "resolver" and "resolver_timeout" directives. - - *) Feature: now the directive "add_header last-modified ''" deletes a - "Last-Modified" response header line. - - *) Bugfix: the "limit_rate" directive did not allow to use full - throughput, even if limit value was very high. - - -Changes with nginx 0.6.17 15 Nov 2007 - - *) Feature: the "If-Range" request header line support. - Thanks to Alexander V. Inyukhin. - - *) Bugfix: URL double escaping in a redirect of the "msie_refresh" - directive; the bug had appeared in 0.6.4. - - *) Bugfix: the "autoindex" directive did not work with the "alias /" - directive. - - *) Bugfix: a segmentation fault might occur in worker process if - subrequests were used. - - *) Bugfix: the big responses may be transferred truncated if SSL and - gzip were used. - - *) Bugfix: the $status variable was equal to 0 if a proxied server - returned response in HTTP/0.9 version. - - -Changes with nginx 0.6.16 29 Oct 2007 - - *) Change: now the uname(2) is used on Linux instead of procfs. - Thanks to Ilya Novikov. - - *) Bugfix: if the "?" character was in a "error_page" directive, then it - was escaped in a proxied request; the bug had appeared in 0.6.11. - - *) Bugfix: compatibility with mget. - - -Changes with nginx 0.6.15 22 Oct 2007 - - *) Feature: Cygwin compatibility. - Thanks to Vladimir Kutakov. - - *) Feature: the "merge_slashes" directive. - - *) Feature: the "gzip_vary" directive. - - *) Feature: the "server_tokens" directive. - - *) Bugfix: nginx did not unescape URI in the "include" SSI command. - - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if variable was used in the "charset" or - "source_charset" directives. - - *) Bugfix: nginx returned the 400 response on requests like - "GET http://www.domain.com HTTP/1.0". - Thanks to James Oakley. - - *) Bugfix: if request with request body was redirected using the - "error_page" directive, then nginx tried to read the request body - again; the bug had appeared in 0.6.7. - - *) Bugfix: a segmentation fault occurred in worker process if no - server_name was explicitly defined for server processing request; the - bug had appeared in 0.6.7. - - -Changes with nginx 0.6.14 15 Oct 2007 - - *) Change: now by default the "echo" SSI command uses entity encoding. - - *) Feature: the "encoding" parameter in the "echo" SSI command. - - *) Feature: the "access_log" directive may be used inside the - "limit_except" block. - - *) Bugfix: if all upstream servers were failed, then all servers had got - weight the was equal one until servers became alive; the bug had - appeared in 0.6.6. - - *) Bugfix: a segmentation fault occurred in worker process if - $date_local and $date_gmt were used outside the - ngx_http_ssi_filter_module. - - *) Bugfix: a segmentation fault might occur in worker process if debug - log was enabled. - Thanks to Andrei Nigmatulin. - - *) Bugfix: ngx_http_memcached_module did not set - $upstream_response_time. - Thanks to Maxim Dounin. - - *) Bugfix: a worker process may got caught in an endless loop, if the - memcached was used. - - *) Bugfix: nginx supported low case only "close" and "keep-alive" values - in the "Connection" request header line; the bug had appeared in - 0.6.11. - - *) Bugfix: sub_filter did not work with empty substitution. - - *) Bugfix: in sub_filter parsing. - - -Changes with nginx 0.6.13 24 Sep 2007 - - *) Bugfix: nginx did not close directory file on HEAD request if - autoindex was used. - Thanks to Arkadiusz Patyk. - - -Changes with nginx 0.6.12 21 Sep 2007 - - *) Change: mail proxy was split on three modules: pop3, imap and smtp. - - *) Feature: the --without-mail_pop3_module, --without-mail_imap_module, - and --without-mail_smtp_module configuration parameters. - - *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" - directives of the ngx_mail_smtp_module. - - *) Bugfix: the trailing wildcards did not work; the bug had appeared in - 0.6.9. - - *) Bugfix: nginx could not start on Solaris if the shared PCRE library - located in non-standard place was used. - - *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives - did not hide response header lines whose name was longer than 32 - characters. - Thanks to Manlio Perillo. - - -Changes with nginx 0.6.11 11 Sep 2007 - - *) Bugfix: active connection counter always increased if mail proxy was - used. - - *) Bugfix: if backend returned response header only using non-buffered - proxy, then nginx closed backend connection on timeout. - - *) Bugfix: nginx did not support several "Connection" request header - lines. - - *) Bugfix: if the "max_fails" was set for upstream server, then after - first failure server weight was always one; the bug had appeared in - 0.6.6. - - -Changes with nginx 0.6.10 03 Sep 2007 - - *) Feature: the "open_file_cache", "open_file_cache_retest", and - "open_file_cache_errors" directives. - - *) Bugfix: socket leak; the bug had appeared in 0.6.7. - - *) Bugfix: a charset set by the "charset" directive was not appended to - the "Content-Type" header set by $r->send_http_header(). - - *) Bugfix: a segmentation fault might occur in worker process if - /dev/poll method was used. - - -Changes with nginx 0.6.9 28 Aug 2007 - - *) Bugfix: a worker process may got caught in an endless loop, if the - HTTPS protocol was used; the bug had appeared in 0.6.7. - - *) Bugfix: if server listened on two addresses or ports and trailing - wildcard was used, then nginx did not run. - - *) Bugfix: the "ip_hash" directive might incorrectly mark servers as - down. - - *) Bugfix: nginx could not be built on amd64; the bug had appeared in - 0.6.8. - - -Changes with nginx 0.6.8 20 Aug 2007 - - *) Change: now nginx tries to set the "worker_priority", - "worker_rlimit_nofile", "worker_rlimit_core", and - "worker_rlimit_sigpending" without super-user privileges. - - *) Change: now nginx escapes space and "%" in request to a mail proxy - authentication server. - - *) Change: now nginx escapes "%" in $memcached_key variable. - - *) Bugfix: nginx used path relative to configuration prefix for - non-absolute configuration file path specified in the "-c" key; the - bug had appeared in 0.6.6. - - *) Bugfix: nginx did not work on FreeBSD/sparc64. - - -Changes with nginx 0.6.7 15 Aug 2007 - - *) Change: now the paths specified in the "include", - "auth_basic_user_file", "perl_modules", "ssl_certificate", - "ssl_certificate_key", and "ssl_client_certificate" directives are - relative to directory of nginx configuration file nginx.conf, but not - to nginx prefix directory. - - *) Change: the --sysconfdir=PATH option in configure was canceled. - - *) Change: the special make target "upgrade1" was defined for online - upgrade of 0.1.x versions. - - *) Feature: the "server_name" and "valid_referers" directives support - regular expressions. - - *) Feature: the "server" directive in the "upstream" context supports - the "backup" parameter. - - *) Feature: the ngx_http_perl_module supports the - $r->discard_request_body. - - *) Feature: the "add_header Last-Modified ..." directive changes the - "Last-Modified" response header line. - - *) Bugfix: if a response different than 200 was returned to a request - with body and connection went to the keep-alive state after the - request, then nginx returned 400 for the next request. - - *) Bugfix: a segmentation fault occurred in worker process if invalid - address was set in the "auth_http" directive. - - *) Bugfix: now nginx uses default listen backlog value 511 on all - platforms except FreeBSD. - Thanks to Jiang Hong. - - *) Bugfix: a worker process may got caught in an endless loop, if a - "server" inside "upstream" block was marked as "down"; the bug had - appeared in 0.6.6. - - *) Bugfix: now Solaris sendfilev() is not used to transfer the client - request body to FastCGI-server via the unix domain socket. - - -Changes with nginx 0.6.6 30 Jul 2007 - - *) Feature: the --sysconfdir=PATH option in configure. - - *) Feature: named locations. - - *) Feature: the $args variable can be set with the "set" directive. - - *) Feature: the $is_args variable. - - *) Bugfix: fair big weight upstream balancer. - - *) Bugfix: if a client has closed connection to mail proxy then nginx - might not close connection to backend. - - *) Bugfix: if the same host without specified port was used as backend - for HTTP and HTTPS, then nginx used only one port - 80 or 443. - - *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early - versions; the bug had appeared in 0.6.4. - - -Changes with nginx 0.6.5 23 Jul 2007 - - *) Feature: $nginx_version variable. - Thanks to Nick S. Grechukh. - - *) Feature: the mail proxy supports AUTHENTICATE in IMAP mode. - Thanks to Maxim Dounin. - - *) Feature: the mail proxy supports STARTTLS in SMTP mode. - Thanks to Maxim Dounin. - - *) Bugfix: now nginx escapes space in $memcached_key variable. - - *) Bugfix: nginx was incorrectly built by Sun Studio on Solaris/amd64. - Thanks to Jiang Hong. - - *) Bugfix: of minor potential bugs. - Thanks to Coverity's Scan. - - -Changes with nginx 0.6.4 17 Jul 2007 - - *) Security: the "msie_refresh" directive allowed XSS. - Thanks to Maxim Boguk. - - *) Change: the "proxy_store" and "fastcgi_store" directives were - changed. - - *) Feature: the "proxy_store_access" and "fastcgi_store_access" - directives. - - *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun - Studio. - Thanks to Andrei Nigmatulin. - - *) Workaround: for Sun Studio 12. - Thanks to Jiang Hong. - - -Changes with nginx 0.6.3 12 Jul 2007 - - *) Feature: the "proxy_store" and "fastcgi_store" directives. - - *) Bugfix: a segmentation fault might occur in worker process if the - "auth_http_header" directive was used. - Thanks to Maxim Dounin. - - *) Bugfix: a segmentation fault occurred in worker process if the - CRAM-MD5 authentication method was used, but it was not enabled. - - *) Bugfix: a segmentation fault might occur in worker process when the - HTTPS protocol was used in the "proxy_pass" directive. - - *) Bugfix: a segmentation fault might occur in worker process if the - eventport method was used. - - *) Bugfix: the "proxy_ignore_client_abort" and - "fastcgi_ignore_client_abort" directives did not work; the bug had - appeared in 0.5.13. - - -Changes with nginx 0.6.2 09 Jul 2007 - - *) Bugfix: if the FastCGI header was split in records, then nginx passed - garbage in the header to a client. - - -Changes with nginx 0.6.1 17 Jun 2007 - - *) Bugfix: in SSI parsing. - - *) Bugfix: if remote SSI subrequest was used, then posterior local file - subrequest might transferred to client in wrong order. - - *) Bugfix: large SSI inclusions buffered in temporary files were - truncated. - - *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal - to the master process identification number. - - -Changes with nginx 0.6.0 14 Jun 2007 - - *) Feature: the "server_name", "map", and "valid_referers" directives - support the "www.example.*" wildcards. - - -Changes with nginx 0.5.25 11 Jun 2007 - - *) Bugfix: nginx could not be built with the - --without-http_rewrite_module parameter; the bug had appeared in - 0.5.24. - - -Changes with nginx 0.5.24 06 Jun 2007 - - *) Security: the "ssl_verify_client" directive did not work if request - was made using HTTP/0.9. - - *) Bugfix: a part of response body might be passed uncompressed if gzip - was used; the bug had appeared in 0.5.23. - - -Changes with nginx 0.5.23 04 Jun 2007 - - *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS - extension. - - *) Feature: the "fastcgi_catch_stderr" directive. - Thanks to Nick S. Grechukh, OWOX project. - - *) Bugfix: a segmentation fault occurred in master process if two - virtual servers should bind() to the overlapping ports. - - *) Bugfix: if nginx was built with ngx_http_perl_module and perl - supported threads, then during second reconfiguration the error - messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued. - - *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - - -Changes with nginx 0.5.22 29 May 2007 - - *) Bugfix: a big request body might not be passed to backend; the bug - had appeared in 0.5.21. - - -Changes with nginx 0.5.21 28 May 2007 - - *) Bugfix: if server has more than about ten locations, then regex - locations might be choosen not in that order as they were specified. - - *) Bugfix: a worker process may got caught in an endless loop on 64-bit - platform, if the 33-rd or next in succession backend has failed. - Thanks to Anton Povarov. - - *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE - library was used. - Thanks to Andrei Nigmatulin. - - *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - - -Changes with nginx 0.5.20 07 May 2007 - - *) Feature: the "sendfile_max_chunk" directive. - - *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..." - variables may be changed using the "set" directive. - - *) Bugfix: a segmentation fault might occur in worker process if the SSI - command 'if expr="$var = /"' was used. - - *) Bugfix: trailing boundary of multipart range response was transferred - incorrectly. - Thanks to Evan Miller. - - *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun - Studio. - Thanks to Andrei Nigmatulin. - - *) Bugfix: the ngx_http_perl_module could not be built by Solaris make. - Thanks to Andrei Nigmatulin. - - -Changes with nginx 0.5.19 24 Apr 2007 - - *) Change: now the $request_time variable has millisecond precision. - - *) Change: the method $r->rflush of ngx_http_perl_module was renamed to - the $r->flush. - - *) Feature: the $upstream_addr variable. - - *) Feature: the "proxy_headers_hash_max_size" and - "proxy_headers_hash_bucket_size" directives. - Thanks to Volodymyr Kostyrko. - - *) Bugfix: the files more than 2G could not be transferred using - sendfile and limit_rate on 64-bit platforms. - - *) Bugfix: the files more than 2G could not be transferred using - sendfile on 64-bit Linux. - - -Changes with nginx 0.5.18 19 Apr 2007 - - *) Feature: the ngx_http_sub_filter_module. - - *) Feature: the "$upstream_http_..." variables. - - *) Feature: now the $upstream_status and $upstream_response_time - variables keep data about all upstreams before X-Accel-Redirect. - - *) Bugfix: a segmentation fault occurred in master process after first - reconfiguration and receiving any signal if nginx was built with - ngx_http_perl_module and perl did not support multiplicity; the bug - had appeared in 0.5.9. - - *) Bugfix: if perl did not support multiplicity, then after - reconfiguration perl code did not work; the bug had appeared in - 0.3.38. - - -Changes with nginx 0.5.17 02 Apr 2007 - - *) Change: now nginx always returns the 405 status for the TRACE method. - - *) Feature: now nginx supports the "include" directive inside the - "types" block. - - *) Bugfix: the $document_root variable usage in the "root" and "alias" - directives is disabled: this caused recursive stack overflow. - - *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - - *) Bugfix: in some cases non-cachable variables (such as $uri variable) - returned old cached value. - - -Changes with nginx 0.5.16 26 Mar 2007 - - *) Bugfix: the C-class network was not used as hash key in the "ip_hash" - directive. - Thanks to Pavel Yarkovoy. - - *) Bugfix: a segmentation fault might occur in worker process if a - charset was set in the "Content-Type" header line and the line has - trailing ";"; the bug had appeared in 0.3.50. - - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was - used and a request body written in a temporary file was multiple of - 32K. - - *) Bugfix: nginx could not be built on Solaris without the --with-debug - option; the bug had appeared in 0.5.15. - - -Changes with nginx 0.5.15 19 Mar 2007 - - *) Feature: the mail proxy supports authenticated SMTP proxying and the - "smtp_auth", "smtp_capablities", and "xclient" directives. - Thanks to Anton Yuzhaninov and Maxim Dounin. - - *) Feature: now the keep-alive connections are closed just after - receiving the reconfiguration signal. - - *) Change: the "imap" and "auth" directives were renamed to the "mail" - and "pop3_auth" directives. - - *) Bugfix: a segmentation fault occurred in worker process if the - CRAM-MD5 authentication method was used and the APOP method was - disabled. - - *) Bugfix: if the "starttls only" directive was used in POP3 protocol, - then nginx allowed authentication without switching to the SSL mode. - - *) Bugfix: worker processes did not exit after reconfiguration and did - not rotate logs if the eventport method was used. - - *) Bugfix: a worker process may got caught in an endless loop, if the - "ip_hash" directive was used. - - *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll - methods are used. - - -Changes with nginx 0.5.14 23 Feb 2007 - - *) Bugfix: nginx ignored superfluous closing "}" in the end of - configuration file. - - -Changes with nginx 0.5.13 19 Feb 2007 - - *) Feature: the COPY and MOVE methods. - - *) Bugfix: the ngx_http_realip_module set garbage for requests passed - via keep-alive connection. - - *) Bugfix: nginx did not work on big-endian 64-bit Linux. - Thanks to Andrei Nigmatulin. - - *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes - the connection right away, but not after timeout. - - *) Bugfix: if the "epoll" method was used and a client closed a - connection prematurely, then nginx closed the connection after a send - timeout only. - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.5.8. - - -Changes with nginx 0.5.12 12 Feb 2007 - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.5.8. - - *) Bugfix: a segmentation fault might occur in worker process if the - temporary files were used while working with FastCGI server; the bug - had appeared in 0.5.8. - - *) Bugfix: a segmentation fault might occur in worker process if the - $fastcgi_script_name variable was logged. - - *) Bugfix: ngx_http_perl_module could not be built on Solaris. - - -Changes with nginx 0.5.11 05 Feb 2007 - - *) Feature: now configure detects system PCRE library in MacPorts. - Thanks to Chris McGrath. - - *) Bugfix: the response was incorrect if several ranges were requested; - the bug had appeared in 0.5.6. - - *) Bugfix: the "create_full_put_path" directive could not create the - intermediate directories if no "dav_access" directive was set. - Thanks to Evan Miller. - - *) Bugfix: the "0" response code might be logged in the access_log - instead of the "400" and "408" error codes. - - *) Bugfix: a segmentation fault might occur in worker process if nginx - was built with -O2 optimization. - - -Changes with nginx 0.5.10 26 Jan 2007 - - *) Bugfix: while online executable file upgrade the new master process - did not inherit the listening sockets; the bug had appeared in 0.5.9. - - *) Bugfix: a segmentation fault might occur in worker process if nginx - was built with -O2 optimization; the bug had appeared in 0.5.1. - - -Changes with nginx 0.5.9 25 Jan 2007 - - *) Change: now the ngx_http_memcached_module uses the $memcached_key - variable value as a key. - - *) Feature: the $memcached_key variable. - - *) Feature: the "clean" parameter in the "client_body_in_file_only" - directive. - - *) Feature: the "env" directive. - - *) Feature: the "sendfile" directive is available inside the "if" block. - - *) Feature: now on failure of the writing to access nginx logs a message - to error_log, but not more often than once a minute. - - *) Bugfix: the "access_log off" directive did not always turn off the - logging. - - -Changes with nginx 0.5.8 19 Jan 2007 - - *) Bugfix: a segmentation fault might occur if - "client_body_in_file_only on" was used and a request body was small. - - *) Bugfix: a segmentation fault occurred if - "client_body_in_file_only on" and "proxy_pass_request_body off" or - "fastcgi_pass_request_body off" directives were used, and nginx - switched to a next upstream. - - *) Bugfix: if the "proxy_buffering off" directive was used and a client - connection was non-active, then the connection was closed after send - timeout; the bug had appeared in 0.4.7. - - *) Bugfix: if the "epoll" method was used and a client closed a - connection prematurely, then nginx closed the connection after a send - timeout only. - - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was - used. - - *) Bugfixes in the "limit_zone" directive. - - -Changes with nginx 0.5.7 15 Jan 2007 - - *) Feature: the ssl_session_cache storage optimization. - - *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives. - - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if the "ssl_session_cache" or "limit_zone" directives - were used on 64-bit platforms. - - *) Bugfix: a segmentation fault occurred if the "add_before_body" or - "add_after_body" directives were used and there was no "Content-Type" - header line in response. - - *) Bugfix: the OpenSSL library was always built with the threads - support. - Thanks to Den Ivanov. - - *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility. - - -Changes with nginx 0.5.6 09 Jan 2007 - - *) Change: now the ngx_http_index_module ignores all methods except the - GET, HEAD, and POST methods. - - *) Feature: the ngx_http_limit_zone_module. - - *) Feature: the $binary_remote_addr variable. - - *) Feature: the "ssl_session_cache" directives of the - ngx_http_ssl_module and ngx_imap_ssl_module. - - *) Feature: the DELETE method supports recursive removal. - - *) Bugfix: the byte-ranges were transferred incorrectly if the - $r->sendfile() was used. - - -Changes with nginx 0.5.5 24 Dec 2006 - - *) Change: the -v switch does not show compiler information any more. - - *) Feature: the -V switch. - - *) Feature: the "worker_rlimit_core" directive supports size in K, M, - and G. - - *) Bugfix: the nginx.pm module now could be installed by an unprivileged - user. - - *) Bugfix: a segmentation fault might occur if the $r->request_body or - $r->request_body_file methods were used. - - *) Bugfix: the ppc platform specific bugs. - - -Changes with nginx 0.5.4 15 Dec 2006 - - *) Feature: the "perl" directive may be used inside the "limit_except" - block. - - *) Bugfix: the ngx_http_dav_module required the "Date" request header - line for the DELETE method. - - *) Bugfix: if one only parameter was used in the "dav_access" directive, - then nginx might report about configuration error. - - *) Bugfix: a segmentation fault might occur if the $host variable was - used; the bug had appeared in 0.4.14. - - -Changes with nginx 0.5.3 13 Dec 2006 - - *) Feature: the ngx_http_perl_module supports the $r->status, - $r->log_error, and $r->sleep methods. - - *) Feature: the $r->variable method supports variables that do not exist - in nginx configuration. - - *) Bugfix: the $r->has_request_body method did not work. - - -Changes with nginx 0.5.2 11 Dec 2006 - - *) Bugfix: if the "proxy_pass" directive used the name of the "upstream" - block, then nginx tried to resolve the name; the bug had appeared in - 0.5.1. - - -Changes with nginx 0.5.1 11 Dec 2006 - - *) Bugfix: the "post_action" directive might not run after a - unsuccessful completion of a request. - - *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11. - Thanks to Bron Gondwana. - - *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then - the message "no port in upstream" was issued; the bug had appeared in - 0.5.0. - - *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the - same servers but different ports, then these directives uses the - first described port; the bug had appeared in 0.5.0. - - *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the - unix domain sockets, then these directives used first described - socket; the bug had appeared in 0.5.0. - - *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the - last line in the password file and there was no the carriage return, - the line feed, or the ":" symbol after the password. - - *) Bugfix: the $upstream_response_time variable might be equal to - "0.000", although response time was more than 1 millisecond. - - -Changes with nginx 0.5.0 04 Dec 2006 - - *) Change: the parameters in the "%name" form in the "log_format" - directive are not supported anymore. - - *) Change: the "proxy_upstream_max_fails", - "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", - "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and - "memcached_upstream_fail_timeout" directives are not supported - anymore. - - *) Feature: the "server" directive in the "upstream" context supports - the "max_fails", "fail_timeout", and "down" parameters. - - *) Feature: the "ip_hash" directive inside the "upstream" block. - - *) Feature: the WAIT status in the "Auth-Status" header line of the - IMAP/POP3 proxy authentication server response. - - *) Bugfix: nginx could not be built on 64-bit platforms; the bug had - appeared in 0.4.14. - - -Changes with nginx 0.4.14 27 Nov 2006 - - *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. - - *) Feature: now configure detects system PCRE library on FreeBSD, Linux, - and NetBSD. - - *) Bugfix: ngx_http_perl_module did not work with perl built with the - threads support; the bug had appeared in 0.3.38. - - *) Bugfix: ngx_http_perl_module did not work if perl was called - recursively. - - *) Bugfix: nginx ignored a host name in a request line. - - *) Bugfix: a worker process may got caught in an endless loop, if a - FastCGI server sent too many data to the stderr. - - *) Bugfix: the $upstream_response_time variable may be negative if the - system time was changed backward. - - *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 - proxy authentication server when POP3 was used. - - *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 - proxy authentication server failed. - - -Changes with nginx 0.4.13 15 Nov 2006 - - *) Feature: the "proxy_pass" directive may be used inside the - "limit_except" block. - - *) Feature: the "limit_except" directive supports all WebDAV methods. - - *) Bugfix: if the "add_before_body" directive was used without the - "add_after_body" directive, then a response did not transferred - complete. - - *) Bugfix: a large request body did not receive if the epoll method and - the deferred accept() were used. - - *) Bugfix: a charset could not be set for ngx_http_autoindex_module - responses; the bug had appeared in 0.3.50. - - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was - used; - - *) Bugfix: the --group= configuration parameter was ignored. - Thanks to Thomas Moschny. - - *) Bugfix: the 50th subrequest in SSI response did not work; the bug had - appeared in 0.3.50. - - -Changes with nginx 0.4.12 31 Oct 2006 - - *) Feature: the ngx_http_perl_module supports the $r->variable method. - - *) Bugfix: if a big static file was included using SSI in a response, - then the response may be transferred incomplete. - - *) Bugfix: nginx did not omit the "#fragment" part in URI. - - -Changes with nginx 0.4.11 25 Oct 2006 - - *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. - - *) Feature: the ngx_http_perl_module supports the $r->allow_ranges - method. - - *) Bugfix: if the APOP was enabled in the POP3 proxy, then the USER/PASS - commands might not work; the bug had appeared in 0.4.10. - - -Changes with nginx 0.4.10 23 Oct 2006 - - *) Feature: the POP3 proxy supports the APOP command. - - *) Bugfix: if the select, poll or /dev/poll methods were used, then - while waiting authentication server response the IMAP/POP3 proxy - hogged CPU. - - *) Bugfix: a segmentation fault might occur if the $server_addr variable - was used in the "map" directive. - - *) Bugfix: the ngx_http_flv_module did not support the byte ranges for - full responses; the bug had appeared in 0.4.7. - - *) Bugfix: nginx could not be built on Debian amd64; the bug had - appeared in 0.4.9. - - -Changes with nginx 0.4.9 13 Oct 2006 - - *) Feature: the "set" parameter in the "include" SSI command. - - *) Feature: the ngx_http_perl_module now tests the nginx.pm module - version. - - -Changes with nginx 0.4.8 11 Oct 2006 - - *) Bugfix: if an "include" SSI command were before another "include" SSI - command with a "wait" parameter, then the "wait" parameter might not - work. - - *) Bugfix: the ngx_http_flv_module added the FLV header to the full - responses. - Thanks to Alexey Kovyrin. - - -Changes with nginx 0.4.7 10 Oct 2006 - - *) Feature: the ngx_http_flv_module. - - *) Feature: the $request_body_file variable. - - *) Feature: the "charset" and "source_charset" directives support the - variables. - - *) Bugfix: if an "include" SSI command were before another "include" SSI - command with a "wait" parameter, then the "wait" parameter might not - work. - - *) Bugfix: if the "proxy_buffering off" directive was used or while - working with memcached the connections might not be closed on - timeout. - - *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, - and ppc64. - - -Changes with nginx 0.4.6 06 Oct 2006 - - *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, - and ppc64. - - *) Bugfix: nginx sent the chunked response for HTTP/1.1 request, - if its length was set by text string in the - $r->headers_out("Content-Length", ...) method. - - *) Bugfix: after redirecting error by an "error_page" directive any - ngx_http_rewrite_module directive returned this error code; the bug - had appeared in 0.4.4. - - -Changes with nginx 0.4.5 02 Oct 2006 - - *) Bugfix: nginx could not be built on Linux and Solaris; the bug had - appeared in 0.4.4. - - -Changes with nginx 0.4.4 02 Oct 2006 - - *) Feature: the $scheme variable. - - *) Feature: the "expires" directive supports the "max" parameter. - - *) Feature: the "include" directive supports the "*" mask. - Thanks to Jonathan Dance. - - *) Bugfix: the "return" directive always overrode the "error_page" - response code redirected by the "error_page" directive. - - *) Bugfix: a segmentation fault occurred if zero-length body was in PUT - method. - - *) Bugfix: the redirect was changed incorrectly if the variables were - used in the "proxy_redirect" directive. - - -Changes with nginx 0.4.3 26 Sep 2006 - - *) Change: now the 499 error could not be redirected using an - "error_page" directive. - - *) Feature: the Solaris 10 event ports support. - - *) Feature: the ngx_http_browser_module. - - *) Bugfix: a segmentation fault may occur while redirecting the 400 - error to the proxied server using a "proxy_pass" directive. - - *) Bugfix: a segmentation fault occurred if an unix domain socket was - used in a "proxy_pass" directive; the bug had appeared in 0.3.47. - - *) Bugfix: SSI did work with memcached and nonbuffered responses. - - *) Workaround: of the Sun Studio PAUSE hardware capability bug. - - -Changes with nginx 0.4.2 14 Sep 2006 - - *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug had - appeared in 0.4.1. - - -Changes with nginx 0.4.1 14 Sep 2006 - - *) Bugfix: the DragonFlyBSD compatibility. - Thanks to Pavel Nazarov. - - *) Workaround: of bug in 64-bit Linux sendfile(), when file is more than - 2G. - - *) Feature: now on Linux nginx uses O_NOATIME flag for static requests. - Thanks to Yusuf Goolamabbas. - - -Changes with nginx 0.4.0 30 Aug 2006 - - *) Change in internal API: the HTTP modules initialization was moved - from the init module phase to the HTTP postconfiguration phase. - - *) Change: now the request body is not read beforehand for the - ngx_http_perl_module: it's required to start the reading using the - $r->has_request_body method. - - *) Feature: the ngx_http_perl_module supports the DECLINED return code. - - *) Feature: the ngx_http_dav_module supports the incoming "Date" header - line for the PUT method. - - *) Feature: the "ssi" directive is available inside the "if" block. - - *) Bugfix: a segmentation fault occurred if there was an "index" - directive with variables and the first index name was without - variables; the bug had appeared in 0.1.29. - - -Changes with nginx 0.3.61 28 Aug 2006 - - *) Change: now the "tcp_nodelay" directive is turned on by default. - - *) Feature: the "msie_refresh" directive. - - *) Feature: the "recursive_error_pages" directive. - - *) Bugfix: the "rewrite" directive returned incorrect redirect, if the - redirect had the captured escaped symbols from original URI. - - -Changes with nginx 0.3.60 18 Aug 2006 - - *) Bugfix: a worker process may got caught in an endless loop while an - error redirection; the bug had appeared in 0.3.59. - - -Changes with nginx 0.3.59 16 Aug 2006 - - *) Feature: now is possible to do several redirection using the - "error_page" directive. - - *) Bugfix: the "dav_access" directive did not support three parameters. - - *) Bugfix: the "error_page" directive did not changes the "Content-Type" - header line after the "X-Accel-Redirect" was used; the bug had - appeared in 0.3.58. - - -Changes with nginx 0.3.58 14 Aug 2006 - - *) Feature: the "error_page" directive supports the variables. - - *) Change: now the procfs interface instead of sysctl is used on Linux. - - *) Change: now the "Content-Type" header line is inherited from first - response when the "X-Accel-Redirect" was used. - - *) Bugfix: the "error_page" directive did not redirect the 413 error. - - *) Bugfix: the trailing "?" did not remove old arguments if no new - arguments were added to a rewritten URI. - - *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT. - - -Changes with nginx 0.3.57 09 Aug 2006 - - *) Feature: the $ssl_client_serial variable. - - *) Bugfix: in the "!-e" operator of the "if" directive. - Thanks to Andrian Budanstov. - - *) Bugfix: while a client certificate verification nginx did not send to - a client the required certificates information. - - *) Bugfix: the $document_root variable did not support the variables in - the "root" directive. - - -Changes with nginx 0.3.56 04 Aug 2006 - - *) Feature: the "dav_access" directive. - - *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e", - "-x", and "!-x" operators. - - *) Bugfix: a segmentation fault occurred if a request returned a - redirect and some sent to client header lines were logged in the - access log. - - -Changes with nginx 0.3.55 28 Jul 2006 - - *) Feature: the "stub" parameter in the "include" SSI command. - - *) Feature: the "block" SSI command. - - *) Feature: the unicode2nginx script was added to contrib. - - *) Bugfix: if a "root" was specified by variable only, then the root was - relative to a server prefix. - - *) Bugfix: if the request contained "//" or "/./" and escaped symbols - after them, then the proxied request was sent unescaped. - - *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now - returns all "Cookie" header lines. - - *) Bugfix: a segmentation fault occurred if - "client_body_in_file_only on" was used and nginx switched to a next - upstream. - - *) Bugfix: on some condition while reconfiguration character codes - inside the "charset_map" may be treated invalid; the bug had appeared - in 0.3.50. - - -Changes with nginx 0.3.54 11 Jul 2006 - - *) Feature: nginx now logs the subrequest information to the error log. - - *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and - "memcached_next_upstream" directives support the "off" parameter. - - *) Feature: the "debug_connection" directive supports the CIDR address - form. - - *) Bugfix: if a response of proxied server or FastCGI server was - converted from UTF-8 or back, then it may be transferred incomplete. - - *) Bugfix: the $upstream_response_time variable had the time of the - first request to a backend only. - - *) Bugfix: nginx could not be built on amd64 platform; the bug had - appeared in 0.3.53. - - -Changes with nginx 0.3.53 07 Jul 2006 - - *) Change: the "add_header" directive adds the string to 204, 301, and - 302 responses. - - *) Feature: the "server" directive in the "upstream" context supports - the "weight" parameter. - - *) Feature: the "server_name" directive supports the "*" wildcard. - - *) Feature: nginx supports the request body size more than 2G. - - *) Bugfix: if a client was successfully authorized using "satisfy_any - on", then anyway the message "access forbidden by rule" was written - in the log. - - *) Bugfix: the "PUT" method may erroneously not create a file and return - the 409 code. - - *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx - continued proxying anyway. - - -Changes with nginx 0.3.52 03 Jul 2006 - - *) Change: the ngx_http_index_module behavior for the "POST /" requests - is reverted to the 0.3.40 version state: the module now does not - return the 405 error. - - *) Bugfix: the worker process may got caught in an endless loop if the - limit rate was used; the bug had appeared in 0.3.37. - - *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even - if the recoding was not needed; the bug had appeared in 0.3.50. - - *) Bugfix: if a code response of the PUT request was 409, then a - temporary file was not removed. - - -Changes with nginx 0.3.51 30 Jun 2006 - - *) Bugfix: the "<" symbols might disappeared some conditions in the SSI; - the bug had appeared in 0.3.50. - - -Changes with nginx 0.3.50 28 Jun 2006 - - *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" - directives was renamed to the "proxy_intercept_errors" and - "fastcgi_intercept_errors" directives. - - *) Feature: the ngx_http_charset_module supports the recoding from the - single byte encodings to the UTF-8 encoding and back. - - *) Feature: the "X-Accel-Charset" response header line is supported in - proxy and FastCGI mode. - - *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI - command was removed only if the command also has the "$" symbol. - - *) Bugfix: the "<!--" string might be added on some conditions in the - SSI after inclusion. - - *) Bugfix: if the "Content-Length: 0" header line was in response, then - in nonbuffered proxying mode the client connection was not closed. - - -Changes with nginx 0.3.49 31 May 2006 - - *) Bugfix: in the "set" directive. - - *) Bugfix: if two or more FastCGI subrequests was in SSI, then first - subrequest output was included instead of second and following - subrequests. - - -Changes with nginx 0.3.48 29 May 2006 - - *) Change: now the ngx_http_charset_module works for subrequests, if the - response has no "Content-Type" header line. - - *) Bugfix: if the "proxy_pass" directive has no URI part, then the - "proxy_redirect default" directive add the unnecessary slash in start - of the rewritten redirect. - - *) Bugfix: the internal redirect always transform client's HTTP method - to GET, now the transformation is made for the "X-Accel-Redirect" - redirects only and if the method is not HEAD; the bug had appeared in - 0.3.42. - - *) Bugfix: the ngx_http_perl_module could not be built, if the perl was - built with the threads support; the bug had appeared in 0.3.46. - - -Changes with nginx 0.3.47 23 May 2006 - - *) Feature: the "upstream" directive. - - *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the - SSI command is always removed. - - -Changes with nginx 0.3.46 11 May 2006 - - *) Feature: the "proxy_hide_header", "proxy_pass_header", - "fastcgi_hide_header", and "fastcgi_pass_header" directives. - - *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and - "proxy_pass_server" directives were canceled. - - *) Feature: the "X-Accel-Buffering" response header line is supported in - proxy mode. - - *) Bugfix: the reconfiguration bug and memory leaks in the - ngx_http_perl_module. - - -Changes with nginx 0.3.45 06 May 2006 - - *) Feature: the "ssl_verify_client", "ssl_verify_depth", and - "ssl_client_certificate" directives. - - *) Change: the $request_method variable now returns the main request - method. - - *) Change: the ° symbol codes were changed in koi-win conversion - table. - - *) Feature: the euro and N symbols were added to koi-win conversion - table. - - *) Bugfix: if nginx distributed the requests among several backends and - some backend failed, then requests intended for this backend was - directed to one live backend only instead of being distributed among - the rest. - - -Changes with nginx 0.3.44 04 May 2006 - - *) Feature: the "wait" parameter in the "include" SSI command. - - *) Feature: the Ukrainian and Byelorussian characters were added to - koi-win conversion table. - - *) Bugfix: in the SSI. - - -Changes with nginx 0.3.43 26 Apr 2006 - - *) Bugfix: in the SSI. - - -Changes with nginx 0.3.42 26 Apr 2006 - - *) Feature: the "bind" option of the "listen" directive in IMAP/POP3 - proxy. - - *) Bugfix: if the same capture in the "rewrite" directive was used more - then once. - - *) Bugfix: the $sent_http_content_type, $sent_http_content_length, - $sent_http_last_modified, $sent_http_connection, - $sent_http_keep_alive, and $sent_http_transfer_encoding variables - were not written to access log. - - *) Bugfix: the $sent_http_cache_control returned value of the single - "Cache-Control" response header line. - - -Changes with nginx 0.3.41 21 Apr 2006 - - *) Feature: the -v switch. - - *) Bugfix: the segmentation fault may occurred if the SSI page has - remote subrequests. - - *) Bugfix: in FastCGI handling. - - *) Bugfix: if the perl modules path was not set using - --with-perl_modules_path=PATH or the "perl_modules", then the - segmentation fault was occurred. - - -Changes with nginx 0.3.40 19 Apr 2006 - - *) Feature: the ngx_http_dav_module supports the MKCOL method. - - *) Feature: the "create_full_put_path" directive. - - *) Feature: the "$limit_rate" variable. - - -Changes with nginx 0.3.39 17 Apr 2006 - - *) Feature: the "uninitialized_variable_warn" directive; the logging - level of the "uninitialized variable" message was lowered from - "alert" to "warn". - - *) Feature: the "override_charset" directive. - - *) Change: now if the unknown variable is used in the "echo" and "if - expr='$name'" SSI-commands, then the "unknown variable" message is - not logged. - - *) Bugfix: the active connection counter increased on the exceeding of - the connection limit specified by the "worker_connections" directive; - the bug had appeared in 0.2.0. - - *) Bugfix: the limit rate might not work on some condition; the bug had - appeared in 0.3.38. - - -Changes with nginx 0.3.38 14 Apr 2006 - - *) Feature: the ngx_http_dav_module. - - *) Change: the ngx_http_perl_module optimizations. - Thanks to Sergey Skvortsov. - - *) Feature: the ngx_http_perl_module supports the $r->request_body_file - method. - - *) Feature: the "client_body_in_file_only" directive. - - *) Workaround: now on disk overflow nginx tries to write access logs - once a second only. - Thanks to Anton Yuzhaninov and Maxim Dounin. - - *) Bugfix: now the "limit_rate" directive more precisely limits rate if - rate is more than 100 Kbyte/s. - Thanks to ForJest. - - *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in - login and password to pass authorization server. - Thanks to Maxim Dounin. - - -Changes with nginx 0.3.37 07 Apr 2006 - - *) Feature: the "limit_except" directive. - - *) Feature: the "if" directive supports the "!~", "!~*", "-f", and "!-f" - operators. - - *) Feature: the ngx_http_perl_module supports the $r->request_body - method. - - *) Bugfix: in the ngx_http_addition_filter_module. - - -Changes with nginx 0.3.36 05 Apr 2006 - - *) Feature: the ngx_http_addition_filter_module. - - *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used - inside the "if" block. - - *) Feature: the "proxy_ignore_client_abort" and - "fastcgi_ignore_client_abort" directives. - - *) Feature: the "$request_completion" variable. - - *) Feature: the ngx_http_perl_module supports the $r->request_method and - $r->remote_addr. - - *) Feature: the ngx_http_ssi_module supports the "elif" command. - - *) Bugfix: the "\/" string in the expression of the "if" command of the - ngx_http_ssi_module was treated incorrectly. - - *) Bugfix: in the regular expressions in the "if" command of the - ngx_http_ssi_module. - - *) Bugfix: if the relative path was specified in the - "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and - "perl_modules" directives, then the directory was used relatively to - a current path but not to a server prefix. - - -Changes with nginx 0.3.35 22 Mar 2006 - - *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set - for first "listen" directive only; the bug had appeared in 0.3.31. - - *) Bugfix: in the "proxy_pass" directive without the URI part in a - subrequest. - - -Changes with nginx 0.3.34 21 Mar 2006 - - *) Feature: the "add_header" directive supports the variables. - - -Changes with nginx 0.3.33 15 Mar 2006 - - *) Feature: the "http_503" parameter of the "proxy_next_upstream" or - "fastcgi_next_upstream" directives. - - *) Bugfix: ngx_http_perl_module did not work with inlined in the - configuration code, if it was not started with the "sub" word. - - *) Bugfix: in the "post_action" directive. - - -Changes with nginx 0.3.32 11 Mar 2006 - - *) Bugfix: the debug logging on startup and reconfiguration time was - removed; the bug had appeared in 0.3.31. - - -Changes with nginx 0.3.31 10 Mar 2006 - - *) Change: now nginx passes the malformed proxied backend responses. - - *) Feature: the "listen" directives support the address in the "*:port" - form. - - *) Feature: the EVFILER_TIMER support in MacOSX 10.4. - - *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout bug. - Thanks to Andrei Nigmatulin. - - *) Bugfix: if there were several "listen" directives listening one - various addresses inside one server, then server names like - "*.domain.tld" worked for first address only; the bug had appeared in - 0.3.18. - - *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive - and the request body was in temporary file then the request was not - transferred. - - *) Bugfix: perl 5.8.8 compatibility. - - -Changes with nginx 0.3.30 22 Feb 2006 - - *) Change: the ECONNABORTED error log level was changed to "error" from - "crit". - - *) Bugfix: the ngx_http_perl_module could not be build without the - ngx_http_ssi_filter_module. - - *) Bugfix: nginx could not be built on i386 platform, if the PIC was - used; the bug had appeared in 0.3.27. - - -Changes with nginx 0.3.29 20 Feb 2006 - - *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends - many warnings before the response. - - *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in - the 204 responses for the HTTP/1.1 requests. - - *) Bugfix: nginx returned the 502 response, if the complete response - header lines were transferred in a separate FastCGI records. - - *) Bugfix: if the proxied URI was specified in the "post_action" - directive, then it ran only after a successful completion of a - request. - - -Changes with nginx 0.3.28 16 Feb 2006 - - *) Feature: the "restrict_host_names" directive was canceled. - - *) Feature: the --with-cpu-opt=ppc64 configuration parameter. - - *) Bugfix: on some condition the proxied connection with a client was - terminated prematurely. - Thanks to Vladimir Shutoff. - - *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into - account if the request was redirected using the "X-Accel-Redirect" - header line. - - *) Bugfix: the "post_action" directive ran only after a successful - completion of a request. - - *) Bugfix: the proxied response body generated by the "post_action" - directive was transferred to a client. - - -Changes with nginx 0.3.27 08 Feb 2006 - - *) Change: the "variables_hash_max_size" and - "variables_hash_bucket_size" directives. - - *) Feature: the $body_bytes_sent variable can be used not only in the - "log_format" directive. - - *) Feature: the $ssl_protocol and $ssl_cipher variables. - - *) Feature: the cache line size detection for widespread CPUs at start - time. - - *) Feature: now the "accept_mutex" directive is supported using fcntl(2) - on platforms different from i386, amd64, sparc64, and ppc. - - *) Feature: the "lock_file" directive and the --with-lock-path=PATH - autoconfiguration directive. - - *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive - then the requests with the body was not transferred. - - -Changes with nginx 0.3.26 03 Feb 2006 - - *) Change: the "optimize_host_names" directive was renamed to the - "optimize_server_names". - - *) Bugfix: if in the "proxy_pass" directive was no the URI part, then - the main request URI was transferred to a backend while proxying the - SSI subrequest. - - -Changes with nginx 0.3.25 01 Feb 2006 - - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if there was invalid configuration; the bug had - appeared in 0.3.24. - - -Changes with nginx 0.3.24 01 Feb 2006 - - *) Workaround: for bug in FreeBSD kqueue. - - *) Bugfix: now a response generated by the "post_action" directive is - not transferred to a client. - - *) Bugfix: the memory leaks were occurring if many log files were used. - - *) Bugfix: the first "proxy_redirect" directive was working inside one - location. - - *) Bugfix: on 64-bit platforms segmentation fault may occurred on start - if the many names were used in the "server_name" directives; the bug - had appeared in 0.3.18. - - -Changes with nginx 0.3.23 24 Jan 2006 - - *) Feature: the "optimize_host_names" directive. - - *) Bugfix: in using of the variables in the "path" and "alias" - directives. - - *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and - Solaris. - - -Changes with nginx 0.3.22 17 Jan 2006 - - *) Feature: the ngx_http_perl_module supports the $r->args and - $r->unescape methods. - - *) Feature: the method $r->query_string of ngx_http_perl_module was - canceled. - - *) Bugfix: segmentation fault was occurred if the "none" or "blocked" - values was specified in the "valid_referers" directive; the bug had - appeared in 0.3.18. - - -Changes with nginx 0.3.21 16 Jan 2006 - - *) Feature: the ngx_http_perl_module. - - *) Change: the "valid_referers" directive allows the referreres without - URI part. - - -Changes with nginx 0.3.20 11 Jan 2006 - - *) Bugfix: in SSI handling. - - *) Bugfix: the ngx_http_memcached_module did not support the keys in the - "/usr?args" form. - - -Changes with nginx 0.3.19 28 Dec 2005 - - *) Feature: the "path" and "alias" directives support the variables. - - *) Change: now the "valid_referers" directive again checks the URI part. - - *) Bugfix: in SSI handling. - - -Changes with nginx 0.3.18 26 Dec 2005 - - *) Feature: the "server_names" directive supports the ".domain.tld" - names. - - *) Feature: the "server_names" directive uses the hash for the - "*.domain.tld" names and more effective hash for usual names. - - *) Change: the "server_names_hash_max_size" and - "server_names_hash_bucket_size" directives. - - *) Change: the "server_names_hash" and "server_names_hash_threshold" - directives were canceled. - - *) Feature: the "valid_referers" directive uses the hash site names. - - *) Change: now the "valid_referers" directive checks the site names only - without the URI part. - - *) Bugfix: some ".domain.tld" names incorrectly processed by the - ngx_http_map_module. - - *) Bugfix: segmentation fault was occurred if configuration file did not - exist; the bug had appeared in 0.3.12. - - *) Bugfix: on 64-bit platforms segmentation fault may occurred on start; - the bug had appeared in 0.3.16. - - -Changes with nginx 0.3.17 18 Dec 2005 - - *) Change: now on Linux configure checks the presence of epoll and - sendfile64() in kernel. - - *) Feature: the "map" directive supports domain names in the - ".domain.tld" form. - - *) Bugfix: the timeouts were not used in SSL handshake; the bug had - appeared in 0.2.4. - - *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - - *) Bugfix: when the HTTPS protocol was used in the "proxy_pass" - directive the port 80 was used by default. - - -Changes with nginx 0.3.16 16 Dec 2005 - - *) Feature: the ngx_http_map_module. - - *) Feature: the "types_hash_max_size" and "types_hash_bucket_size" - directives. - - *) Feature: the "ssi_value_length" directive. - - *) Feature: the "worker_rlimit_core" directive. - - *) Workaround: the connection number in logs was always 1 if nginx was - built by the icc 8.1 or 9.0 compilers with optimization for - Pentium 4. - - *) Bugfix: the "config timefmt" SSI command set incorrect time format. - - *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the - SSL connections; the bug had appeared in 0.3.13. - Thanks to Rob Mueller. - - *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug - had appeared in 0.3.13. - - -Changes with nginx 0.3.15 07 Dec 2005 - - *) Feature: the new 444 code of the "return" directive to close - connection. - - *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy. - - *) Bugfix: if there are unclosed connection nginx now calls abort() only - on gracefull quit and active "debug_points" directive. - - -Changes with nginx 0.3.14 05 Dec 2005 - - *) Bugfix: in the 304 response the body was transferred; the bug had - appeared in 0.3.13. - - -Changes with nginx 0.3.13 05 Dec 2005 - - *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS. - - *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and - /dev/poll methods. - - *) Bugfix: in SSI handling. - - *) Bugfix: now Solaris sendfilev() is not used to transfer the client - request body to FastCGI-server via the unix domain socket. - - *) Bugfix: the "auth_basic" directive did not disable the authorization; - the bug had appeared in 0.3.11. - - -Changes with nginx 0.3.12 26 Nov 2005 - - *) Security: if nginx was built with the ngx_http_realip_module and the - "satisfy_any on" directive was used, then access and authorization - directives did not work. The ngx_http_realip_module was not built and - is not built by default. - - *) Change: the "$time_gmt" variable name was changed to "$time_local". - - *) Change: the "proxy_header_buffer_size" and - "fastcgi_header_buffer_size" directives was renamed to the - "proxy_buffer_size" and "fastcgi_buffer_size" directives. - - *) Feature: the ngx_http_memcached_module. - - *) Feature: the "proxy_buffering" directive. - - *) Bugfix: the changes in accept mutex handling when the "rtsig" method - was used; the bug had appeared in 0.3.0. - - *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header - line, then nginx returns the 411 error. - - *) Bugfix: if the "auth_basic" directive was inherited from the http - level, then the realm in the "WWW-Authenticate" header line was - without the "Basic realm" text. - - *) Bugfix: if the "combined" format was explicitly specified in the - "access_log" directive, then the empty lines was written to the log; - the bug had appeared in 0.3.8. - - *) Bugfix: nginx did not run on the sparc platform under any OS except - Solaris. - - *) Bugfix: now it is not necessary to place space between the quoted - string and closing bracket in the "if" directive. - - -Changes with nginx 0.3.11 15 Nov 2005 - - *) Bugfix: nginx did not pass the client request headers and body while - proxying; the bug had appeared in 0.3.10. - - -Changes with nginx 0.3.10 15 Nov 2005 - - *) Change: the "valid_referers" directive and the "$invalid_referer" - variable were moved to the new ngx_http_referer_module from the - ngx_http_rewrite_module. - - *) Change: the "$apache_bytes_sent" variable name was changed to - "$body_bytes_sent". - - *) Feature: the "$sent_http_..." variables. - - *) Feature: the "if" directive supports the "=" and "!=" operations. - - *) Feature: the "proxy_pass" directive supports the HTTPS protocol. - - *) Feature: the "proxy_set_body" directive. - - *) Feature: the "post_action" directive. - - *) Feature: the ngx_http_empty_gif_module. - - *) Feature: the "worker_cpu_affinity" directive for Linux. - - *) Bugfix: the "rewrite" directive did not unescape URI part in - redirect, now it is unescaped except the %00-%25 and %7F-%FF - characters. - - *) Bugfix: nginx could not be built by the icc 9.0 compiler. - - *) Bugfix: if the SSI was enabled for zero size static file, then the - chunked response was encoded incorrectly. - - -Changes with nginx 0.3.9 10 Nov 2005 - - *) Bugfix: nginx considered URI as unsafe if two any symbols was between - two slashes; the bug had appeared in 0.3.8. - - -Changes with nginx 0.3.8 09 Nov 2005 - - *) Security: nginx now checks URI got from a backend in - "X-Accel-Redirect" header line or in SSI file for the "/../" paths - and zeroes. - - *) Change: nginx now does not treat the empty user name in the - "Authorization" header line as valid one. - - *) Feature: the "ssl_session_timeout" directives of the - ngx_http_ssl_module and ngx_imap_ssl_module. - - *) Feature: the "auth_http_header" directive of the - ngx_imap_auth_http_module. - - *) Feature: the "add_header" directive. - - *) Feature: the ngx_http_realip_module. - - *) Feature: the new variables to use in the "log_format" directive: - $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri, - $request_time, $request_length, $upstream_status, - $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, - $connection, $pipe, and $msec. The parameters in the "%name" form - will be canceled soon. - - *) Change: now the false variable values in the "if" directive are the - empty string "" and string starting with "0". - - *) Bugfix: while using proxied or FastCGI-server nginx may leave - connections and temporary files with client requests in open state. - - *) Bugfix: the worker processes did not flush the buffered logs on - graceful exit. - - *) Bugfix: if the request URI was changes by the "rewrite" directive and - the request was proxied in location given by regular expression, then - the incorrect request was transferred to backend; the bug had - appeared in 0.2.6. - - *) Bugfix: the "expires" directive did not remove the previous "Expires" - header. - - *) Bugfix: nginx may stop to accept requests if the "rtsig" method and - several worker processes were used. - - *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in - SSI commands. - - *) Bugfix: if the response was ended just after the SSI command and - gzipping was used, then the response did not transferred complete or - did not transferred at all. - - -Changes with nginx 0.3.7 27 Oct 2005 - - *) Feature: the "access_log" supports the "buffer=" parameter. - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.3.2. - - -Changes with nginx 0.3.6 24 Oct 2005 - - *) Change: now the IMAP/POP3 proxy do not send the empty login to - authorization server. - - *) Feature: the "log_format" supports the variables in the $name form. - - *) Bugfix: if at least in one server was no the "listen" directive, then - nginx did not listen on the 80 port; the bug had appeared in 0.3.3. - - *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the 80 - port was always used. - - -Changes with nginx 0.3.5 21 Oct 2005 - - *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login - was changed by authorization server; the bug had appeared in 0.2.2. - - *) Bugfix: the accept mutex did not work and all connections were - handled by one process; the bug had appeared in 0.3.3. - - *) Bugfix: the timeout did not work if the "rtsig" method and the - "timer_resolution" directive were used. - - -Changes with nginx 0.3.4 19 Oct 2005 - - *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug - had appeared in 0.3.3. - - -Changes with nginx 0.3.3 19 Oct 2005 - - *) Change: the "bl" and "af" parameters of the "listen" directive was - renamed to the "backlog" and "accept_filter". - - *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" - directive. - - *) Change: the "$msec" log parameter does not require now the additional - the gettimeofday() system call. - - *) Feature: the -t switch now tests the "listen" directives. - - *) Bugfix: if the invalid address was specified in the "listen" - directive, then after the -HUP signal nginx left an open socket in - the CLOSED state. - - *) Bugfix: the mime type may be incorrectly set to default value for - index file with variable in the name; the bug had appeared in 0.3.0. - - *) Feature: the "timer_resolution" directive. - - *) Feature: the millisecond "$upstream_response_time" log parameter. - - *) Bugfix: a temporary file with client request body now is removed just - after the response header was transferred to a client. - - *) Bugfix: OpenSSL 0.9.6 compatibility. - - *) Bugfix: the SSL certificate and key file paths could not be relative. - - *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in the - ngx_imap_ssl_module. - - *) Bugfix: the "ssl_protocols" directive allowed to specify the single - protocol only. - - -Changes with nginx 0.3.2 12 Oct 2005 - - *) Feature: the Sun Studio 10 C compiler support. - - *) Feature: the "proxy_upstream_max_fails", - "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and - "fastcgi_upstream_fail_timeout" directives. - - -Changes with nginx 0.3.1 10 Oct 2005 - - *) Bugfix: the segmentation fault occurred when the signal queue - overflowed if the "rtsig" method was used; the bug had appeared in - 0.2.0. - - *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in - SSI. - - -Changes with nginx 0.3.0 07 Oct 2005 - - *) Change: the 10-days live time limit of worker process was eliminated. - The limit was introduced because of millisecond timers overflow. - - -Changes with nginx 0.2.6 05 Oct 2005 - - *) Change: while using load-balancing the time before the failed backend - retry was decreased from 60 to 10 seconds. - - *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI - now passed, if the URI part is omitted in "proxy_pass" directive. - - *) Feature: the "error_page" directive supports redirects and allows - more flexible to change an error code. - - *) Change: the charset in the "Content-Type" header line now is ignored - in proxied subrequests. - - *) Bugfix: if the URI was changed in the "if" block and request did not - found new configuration, then the ngx_http_rewrite_module rules ran - again. - - *) Bugfix: if the "set" directive set the ngx_http_geo_module variable - in some configuration part, the this variable was not available in - other configuration parts and the "using uninitialized variable" - error was occurred; the bug had appeared in 0.2.2. - - -Changes with nginx 0.2.5 04 Oct 2005 - - *) Change: the duplicate value of the ngx_http_geo_module variable now - causes the warning and changes old value. - - *) Feature: the ngx_http_ssi_module supports the "set" command. - - *) Feature: the ngx_http_ssi_module supports the "file" parameter in the - "include" command. - - *) Feature: the ngx_http_ssi_module supports the variable value - substitutions in expressions of the "if" command. - - -Changes with nginx 0.2.4 03 Oct 2005 - - *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", - "$var=/text/", and "$var!=/text/" expressions in the "if" command. - - *) Bugfix: in proxying location without trailing slash; the bug had - appeared in 0.1.44. - - *) Bugfix: the segmentation fault may occurred if the "rtsig" method was - used; the bug had appeared in 0.2.0. - - -Changes with nginx 0.2.3 30 Sep 2005 - - *) Bugfix: nginx could not be built without the --with-debug option; the - bug had appeared in 0.2.2. - - -Changes with nginx 0.2.2 30 Sep 2005 - - *) Feature: the "config errmsg" command of the ngx_http_ssi_module. - - *) Change: the ngx_http_geo_module variables can be overridden by the - "set" directive. - - *) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers" - directives of the ngx_http_ssl_module and ngx_imap_ssl_module. - - *) Bugfix: the ngx_http_autoindex_module did not show correctly the long - file names; - - *) Bugfix: the ngx_http_autoindex_module now do not show the files - starting by dot. - - *) Bugfix: if the SSL handshake failed then another connection may be - closed too. - Thanks to Rob Mueller. - - *) Bugfix: the export versions of MSIE 5.x could not connect via HTTPS. - - -Changes with nginx 0.2.1 23 Sep 2005 - - *) Bugfix: if all backend using in load-balancing failed after one - error, then nginx may got caught in an endless loop; the bug had - appeared in 0.2.0. - - -Changes with nginx 0.2.0 23 Sep 2005 - - *) The pid-file names used during online upgrade was changed and now is - not required a manual rename operation. The old master process adds - the ".oldbin" suffix to its pid-file and executes a new binary file. - The new master process creates usual pid-file without the ".newbin" - suffix. If the master process exits, then old master process renames - back its pid-file with the ".oldbin" suffix to the pid-file without - suffix. - - *) Change: the "worker_connections" directive, new name of the - "connections" directive; now the directive specifies maximum number - of connections, but not maximum socket descriptor number. - - *) Feature: SSL supports the session cache inside one worker process. - - *) Feature: the "satisfy_any" directive. - - *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do - not run for subrequests. - - *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending" - directives. - - *) Bugfix: if all backend using in load-balancing failed after one - error, then nginx did not try do connect to them during 60 seconds. - - *) Bugfix: in IMAP/POP3 command argument parsing. - Thanks to Rob Mueller. - - *) Bugfix: errors while using SSL in IMAP/POP3 proxy. - - *) Bugfix: errors while using SSI and gzipping. - - *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted - from the 304 responses. - Thanks to Alexandr Kukushkin. - - -Changes with nginx 0.1.45 08 Sep 2005 - - *) Change: the "ssl_engine" directive was canceled in the - ngx_http_ssl_module and now is introduced at global level. - - *) Bugfix: the responses with SSI subrequests did not transferred via - SSL connection. - - *) Various bug fixes in the IMAP/POP3 proxy. - - -Changes with nginx 0.1.44 06 Sep 2005 - - *) Feature: the IMAP/POP3 proxy supports SSL. - - *) Feature: the "proxy_timeout" directive of the ngx_imap_proxy_module. - - *) Feature: the "userid_mark" directive. - - *) Feature: the $remote_user variable value is determined independently - of authorization use. - - -Changes with nginx 0.1.43 30 Aug 2005 - - *) Feature: the listen(2) backlog in the "listen" directive can be - changed using the -HUP signal. - - *) Feature: the geo2nginx.pl script was added to contrib. - - *) Change: the FastCGI parameters with the empty values now are passed - to a server. - - *) Bugfix: the segmentation fault occurred or the worker process may got - caught in an endless loop if the proxied or FastCGI server sent the - "Cache-Control" header line and the "expires" directive was used; in - the proxied mode the bug had appeared in 0.1.29. - - -Changes with nginx 0.1.42 23 Aug 2005 - - *) Bugfix: if the request URI had a zero length after the processing in - the ngx_http_proxy_module, then the segmentation fault or bus error - occurred in the ngx_http_proxy_module. - - *) Bugfix: the "limit_rate" directive did not work inside the "if" - block; the bug had appeared in 0.1.38. - - -Changes with nginx 0.1.41 25 Jul 2005 - - *) Bugfix: if the variable was used in the configuration file, then it - can not be used in SSI. - - -Changes with nginx 0.1.40 22 Jul 2005 - - *) Bugfix: if a client sent too long header line, then the request - information did not logged in the error log. - - *) Bugfix: the "Set-Cookie" header line was not transferred when the - "X-Accel-Redirect" was used; the bug had appeared in 0.1.39. - - *) Bugfix: the "Content-Disposition" header line was not transferred - when the "X-Accel-Redirect" was used. - - *) Bugfix: the master process did not close the listen socket on the - SIGQUIT signal. - - *) Bugfix: after on-line upgrade on Linux and Solaris the process name - became shorter in the "ps" command. - - -Changes with nginx 0.1.39 14 Jul 2005 - - *) The changes in the ngx_http_charset_module: the "default_charset" - directive was canceled; the "charset" directive sets the response - charset; the "source_charset" directive sets the source charset only. - - *) Bugfix: the backend "WWW-Authenticate" header line did not - transferred while the 401 response code redirecting. - - *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may - close a connection before anything was transferred to a client; the - bug had appeared in 0.1.38. - - *) Workaround: the Linux glibc crypt_r() initialization bug. - - *) Bugfix: the ngx_http_ssi_module did not support the relative URI in - the "include virtual" command. - - *) Bugfix: if the backend response had the "Location" header line and - nginx should not rewrite this line, then the 500 code response body - was transferred; the bug had appeared in 0.1.29. - - *) Bugfix: some directives of the ngx_http_proxy_module and - ngx_http_fastcgi_module were not inherited from the server to the - location level; the bug had appeared in 0.1.29. - - *) Bugfix: the ngx_http_ssl_module did not support the certificate - chain. - - *) Bugfix: the ngx_http_autoindex_module did not show correctly the long - file names; the bug had appeared in 0.1.38. - - *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the - login state. - - -Changes with nginx 0.1.38 08 Jul 2005 - - *) Feature: the "limit_rate" directive is supported in proxy and FastCGI - mode. - - *) Feature: the "X-Accel-Limit-Rate" response header line is supported - in proxy and FastCGI mode. - - *) Feature: the "break" directive. - - *) Feature: the "log_not_found" directive. - - *) Bugfix: the response status code was not changed when request was - redirected by the ""X-Accel-Redirect" header line. - - *) Bugfix: the variables set by the "set" directive could not be used in - SSI. - - *) Bugfix: the segmentation fault may occurred if the SSI page has more - than one remote subrequest. - - *) Bugfix: nginx treated the backend response as invalid if the status - line in the header was transferred in two packets; the bug had - appeared in 0.1.29. - - *) Feature: the "ssi_types" directive. - - *) Feature: the "autoindex_exact_size" directive. - - *) Bugfix: the ngx_http_autoindex_module did not support the long file - names in UTF-8. - - *) Feature: the IMAP/POP3 proxy. - - -Changes with nginx 0.1.37 23 Jun 2005 - - *) Change: now the "\n" is added to the end of the "nginx.pid" file. - - *) Bugfix: the responses may be transferred not completely, if many - parts or the big parts were included by SSI. - - *) Bugfix: if all backends had returned the 404 reponse and the - "http_404" parameter of the "proxy_next_upstream" or - "fastcgi_next_upstream" directives was used, then nginx started to - request all backends again. - - -Changes with nginx 0.1.36 15 Jun 2005 - - *) Change: if the request header has duplicate the "Host", "Connection", - "Content-Length", or "Authorization" lines, then nginx now returns - the 400 error. - - *) Change: the "post_accept_timeout" directive was canceled. - - *) Feature: the "default", "af=", "bl=", "deferred", and "bind" - parameters of the "listen" directive. - - *) Feature: the FreeBSD accept filters support. - - *) Feature: the Linux TCP_DEFER_ACCEPT support. - - *) Bugfix: the ngx_http_autoindex_module did not support the file names - in UTF-8. - - *) Bugfix: the new log file can be rotated by the -USR1 signal only if - the reconfiguration by the -HUP signal was made twice. - - -Changes with nginx 0.1.35 07 Jun 2005 - - *) Feature: the "working_directory" directive. - - *) Feature: the "port_in_redirect" directive. - - *) Bugfix: the segmentation fault was occurred if the backend response - header was in several packets; the bug had appeared in 0.1.29. - - *) Bugfix: if more than 10 servers were configured or some server did - not use the "listen" directive, then the segmentation fault was - occurred on the start. - - *) Bugfix: the segmentation fault might occur if the response was bigger - than the temporary file. - - *) Bugfix: nginx returned the 400 response on requests like - "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in - 0.1.28. - - -Changes with nginx 0.1.34 26 May 2005 - - *) Bugfix: the worker process may got caught in an endless loop if the - big response part were include by SSI. - - *) Bugfix: the variables set by the "set" directive were not available - in SSI. - - *) Feature: the "autoindex_localtime" directive. - - *) Bugfix: the empty value of the "proxy_set_header" directive forbids - the client request header line passing. - - -Changes with nginx 0.1.33 23 May 2005 - - *) Bugfix: nginx could not be built with the --without-pcre parameter; - the bug had appeared in 0.1.29. - - *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one level - cause the bus fault on start up. - - *) Bugfix: the HTTP protocol was specified in the HTTPS redirects. - - *) Bugfix: if the "rewrite" directive used the captures inside the "if" - directive, then the 500 error code was returned. - - -Changes with nginx 0.1.32 19 May 2005 - - *) Bugfix: the arguments were omitted in the redirects, issued by the - "rewrite" directive; the bug had appeared in 0.1.29. - - *) Feature: the "if" directive supports the captures in regular - expressions. - - *) Feature: the "set" directive supports the variables and the captures - of regular expressions. - - *) Feature: the "X-Accel-Redirect" response header line is supported in - proxy and FastCGI mode. - - -Changes with nginx 0.1.31 16 May 2005 - - *) Bugfix: the response encrypted by SSL may not transferred complete. - - *) Bugfix: errors while processing FastCGI response by SSI. - - *) Bugfix: errors while using SSI and gzipping. - - *) Bugfix: the redirect with the 301 code was transferred without - response body; the bug had appeared in 0.1.30. - - -Changes with nginx 0.1.30 14 May 2005 - - *) Bugfix: the worker process may got caught in an endless loop if the - SSI was used. - - *) Bugfix: the response encrypted by SSL may not transferred complete. - - *) Bugfix: if the length of the response part received at once from - proxied or FastCGI server was equal to 500, then nginx returns the - 500 response code; in proxy mode the bug had appeared in 0.1.29 only. - - *) Bugfix: nginx did not consider the directives with 8 or 9 parameters - as invalid. - - *) Feature: the "return" directive can return the 204 response code. - - *) Feature: the "ignore_invalid_headers" directive. - - -Changes with nginx 0.1.29 12 May 2005 - - *) Feature: the ngx_http_ssi_module supports "include virtual" command. - - *) Feature: the ngx_http_ssi_module supports the condition command like - 'if expr="$NAME"' and "else" and "endif" commands. Only one nested - level is supported. - - *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT - variables and "config timefmt" command. - - *) Feature: the "ssi_ignore_recycled_buffers" directive. - - *) Bugfix: the "echo" command did not show the default value for the - empty QUERY_STRING variable. - - *) Change: the ngx_http_proxy_module was rewritten. - - *) Feature: the "proxy_redirect", "proxy_pass_request_headers", - "proxy_pass_request_body", and "proxy_method" directives. - - *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was - canceled and must be replaced with the proxy_set_header directive. - - *) Change: the "proxy_preserve_host" is canceled and must be replaced - with the "proxy_set_header Host $host" and the "proxy_redirect off" - directives, the "proxy_set_header Host $host:$proxy_port" directive - and the appropriate proxy_redirect directives. - - *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced - with the "proxy_set_header X-Real-IP $remote_addr" directive. - - *) Change: the "proxy_add_x_forwarded_for" is canceled and must be - replaced with - the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" - directive. - - *) Change: the "proxy_set_x_url" is canceled and must be replaced with - the "proxy_set_header X-URL http://$host:$server_port$request_uri" - directive. - - *) Feature: the "fastcgi_param" directive. - - *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" - directive are canceled and must be replaced with the fastcgi_param - directives. - - *) Feature: the "index" directive can use the variables. - - *) Feature: the "index" directive can be used at http and server levels. - - *) Change: the last index only in the "index" directive can be absolute. - - *) Feature: the "rewrite" directive can use the variables. - - *) Feature: the "internal" directive. - - *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, - SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, - REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. - - *) Change: nginx now passes the invalid lines in a client request - headers or a backend response header. - - *) Bugfix: if the backend did not transfer response for a long time and - the "send_timeout" was less than "proxy_read_timeout", then nginx - returned the 408 response. - - *) Bugfix: the segmentation fault was occurred if the backend sent an - invalid line in response header; the bug had appeared in 0.1.26. - - *) Bugfix: the segmentation fault may occurred in FastCGI fault - tolerance configuration. - - *) Bugfix: the "expires" directive did not remove the previous "Expires" - and "Cache-Control" headers. - - *) Bugfix: nginx did not take into account trailing dot in "Host" header - line. - - *) Bugfix: the ngx_http_auth_module did not work under Linux. - - *) Bugfix: the rewrite directive worked incorrectly, if the arguments - were in a request. - - *) Bugfix: nginx could not be built on MacOS X. - - -Changes with nginx 0.1.28 08 Apr 2005 - - *) Bugfix: nginx hogs CPU while proxying the huge files. - - *) Bugfix: nginx could not be built by gcc 4.0 on Linux. - - -Changes with nginx 0.1.27 28 Mar 2005 - - *) Feature: the "blocked" parameter of the "valid_referers" directive. - - *) Change: the errors while handling the request header now logged at - "info" level. The server name and the "Host" and "Referer" header - lines also logged. - - *) Change: the "Host" header line is also logged in error log. - - *) Feature: the proxy_pass_unparsed_uri directive. The special handling - of the "://" symbols in URI, appeared in 0.1.11 version, now is - canceled. - - *) Bugfix: nginx could not be built on FreeBSD and Linux, if the - --without-ngx_http_auth_basic_module configuration parameter was - used. - - -Changes with nginx 0.1.26 22 Mar 2005 - - *) Change: the invalid client header lines are now ignored and logged at - the info level. - - *) Change: the server name is also logged in error log. - - *) Feature: the ngx_http_auth_basic_module module and the auth_basic and - auth_basic_user_file directives. - - -Changes with nginx 0.1.25 19 Mar 2005 - - *) Bugfix: nginx did run on Linux parisc. - - *) Feature: nginx now does not start under FreeBSD if the sysctl - kern.ipc.somaxconn value is too big. - - *) Bugfix: if a request was internally redirected by the - ngx_http_index_module module to the ngx_http_proxy_module or - ngx_http_fastcgi_module modules, then the index file was not closed - after request completion. - - *) Feature: the "proxy_pass" can be used in location with regular - expression. - - *) Feature: the ngx_http_rewrite_filter_module module supports the - condition like "if ($HTTP_USER_AGENT ~ MSIE)". - - *) Bugfix: nginx started too slow if the large number of addresses and - text values were used in the "geo" directive. - - *) Change: a variable name must be declared as "$name" in the "geo" - directive. The previous variant without "$" is still supported, but - will be removed soon. - - *) Feature: the "%{VARIABLE}v" logging parameter. - - *) Feature: the "set $name value" directive. - - *) Bugfix: gcc 4.0 compatibility. - - *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive. - - -Changes with nginx 0.1.24 04 Mar 2005 - - *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING and - DOCUMENT_URI variables. - - *) Bugfix: the ngx_http_autoindex_module may some times return the 404 - response for existent directory, if this directory was used in - "alias" directive. - - *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large - responses. - - *) Bugfix: the lack of the "Referer" header line was always accounted as - valid referrer. - - -Changes with nginx 0.1.23 01 Mar 2005 - - *) Feature: the ngx_http_ssi_filter_module and the ssi, - ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo - var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are - supported. - - *) Feature: the %request_time log parameter. - - *) Feature: if the request has no the "Host" header line, then the - "proxy_preserve_host" directive set this header line to the first - server name of the "server_name" directive. - - *) Bugfix: nginx could not be built on platforms different from i386, - amd64, sparc, and ppc; the bug had appeared in 0.1.22. - - *) Bugfix: the ngx_http_autoindex_module now shows the information not - about the symlink, but about file or directory it points to. - - *) Bugfix: the %apache_length parameter logged the negative length of - the response header if the no response was transferred to a client. - - -Changes with nginx 0.1.22 22 Feb 2005 - - *) Bugfix: the ngx_http_stub_status_module showed incorrect handled - connections statistics if the proxying or FastCGI server were used. - - *) Bugfix: the installation paths were incorrectly quoted on Linux and - Solaris; the bug had appeared in 0.1.21. - - -Changes with nginx 0.1.21 22 Feb 2005 - - *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics - if "rtsig" method was used or if several worker process ran on SMP. - - *) Bugfix: nginx could not be built by the icc compiler on Linux or if - the zlib-1.2.x library was building from sources. - - *) Bugfix: nginx could not be built on NetBSD 2.0. - - -Changes with nginx 0.1.20 17 Feb 2005 - - *) Feature: the new "script_filename" and "remote_port" parameters of - the fastcgi_params directive. - - *) Bugfix: the FastCGI stderr stream was handled incorrectly. - - -Changes with nginx 0.1.19 16 Feb 2005 - - *) Bugfix: now, if request contains the zero, then the 404 error is - returned for the local requests. - - *) Bugfix: nginx could not be built on NetBSD 2.0. - - *) Bugfix: the timeout may occur while reading of the client request - body via SSL connections. - - -Changes with nginx 0.1.18 09 Feb 2005 - - *) Workaround: the default values of the devpoll_events and the - devpoll_changes directives changed from 512 to 32 to be compatible - with Solaris 10. - - *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not - inherited. - - *) Bugfix: in a redirect rewrite directive arguments were concatenated - with URI by an "&" rather than a "?". - - *) Bugfix: the lines without trailing ";" in the file being included by - the ngx_http_geo_module were silently ignored. - - *) Feature: the ngx_http_stub_status_module. - - *) Bugfix: the unknown log format in the access_log directive caused the - segmentation fault. - - *) Feature: the new "document_root" parameter of the fastcgi_params - directive. - - *) Feature: the fastcgi_redirect_errors directive. - - *) Feature: the new "break" modifier of the "rewrite" directive allows - to stop the rewrite/location cycle and sets the current configuration - to the request. - - -Changes with nginx 0.1.17 03 Feb 2005 - - *) Change: the ngx_http_rewrite_module was rewritten from the scratch. - Now it is possible to redirect, to return the error codes, to check - the variables and referrers. The directives can be used inside - locations. The redirect directive was canceled. - - *) Feature: the ngx_http_geo_module. - - *) Feature: the proxy_set_x_var and fastcgi_set_var directives. - - *) Bugfix: the location configuration with "=" modifier may be used in - another location. - - *) Bugfix: the correct content type was set only for requests that use - small caps letters in extension. - - *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the - location, and access was denied, and the error was redirected to a - static page, then the segmentation fault occurred. - - *) Bugfix: if in a proxied "Location" header was a relative URL, then a - host name and a slash were added to them; the bug had appeared in - 0.1.14. - - *) Bugfix: the system error message was not logged on Linux. - - -Changes with nginx 0.1.16 25 Jan 2005 - - *) Bugfix: if the response were transferred by chunks, then on the HEAD - request the final chunk was issued. - - *) Bugfix: the "Connection: keep-alive" header were issued, even if the - keepalive_timeout directive forbade the keep-alive use. - - *) Bugfix: the errors in the ngx_http_fastcgi_module caused the - segmentation faults. - - *) Bugfix: the compressed response encrypted by SSL may not transferred - complete. - - *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPUSH, and TCP_CORK - options, are not used for the unix domain sockets. - - *) Feature: the rewrite directive supports the arguments rewriting. - - *) Bugfix: the response code 400 was returned for the POST request with - the "Content-Length: 0" header; the bug had appeared in 0.1.14. - - -Changes with nginx 0.1.15 19 Jan 2005 - - *) Bugfix: the error while the connecting to the FastCGI server caused - segmentation fault. - - *) Bugfix: the correct handling of the regular expression, that has - different number of the captures and substitutions. - - *) Feature: the location, that is passed to the FastCGI server, can be - regular expression. - - *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the - arguments and in the original state. - - *) Bugfix: the ngx_http_rewrite_module module was required to be built - to use the regular expressions in locations. - - *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the - "Host" headers, if upstream listen on port 80; the bug had appeared - in 0.1.14. - - *) Bugfix: the same paths in autoconfiguration parameters - --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, or - --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH - caused segmentation fault. - - -Changes with nginx 0.1.14 18 Jan 2005 - - *) Feature: the autoconfiguration directives: - --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and - --http-fastcgi-temp-path=PATH - - *) Change: the directory name for the temporary files with the client - request body is specified by directive client_body_temp_path, by - default it is <prefix>/client_body_temp. - - *) Feature: the ngx_http_fastcgi_module and the directives: - fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params, - fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, - fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, - fastcgi_busy_buffers_size, fastcgi_temp_path, - fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, - fastcgi_next_upstream, and fastcgi_x_powered_by. - - *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in - 0.1.3. - - *) Change: the URI must be specified after the host name in the - proxy_pass directive. - - *) Change: the %3F symbol in the URI was considered as the argument - string start. - - *) Feature: the unix domain sockets support in the - ngx_http_proxy_module. - - *) Feature: the ssl_engine and ssl_ciphers directives. - Thanks to Sergey Skvortsov for SSL-accelerator. - - -Changes with nginx 0.1.13 21 Dec 2004 - - *) Feature: the server_names_hash and server_names_hash_threshold - directives. - - *) Bugfix: the *.domain.tld names in the "server_name" directive did not - work. - - *) Bugfix: the %request_length log parameter logged the incorrect - length. - - -Changes with nginx 0.1.12 06 Dec 2004 - - *) Feature: the %request_length log parameter. - - *) Bugfix: when using the /dev/poll, select and poll on the platforms, - where these methods may do the false reports, there may be the long - delay when the request was passed via the keep-alive connection. It - may be at least on Solaris when using the /dev/poll. - - *) Bugfix: the send_lowat directive is ignored on Linux because Linux - does not support the SO_SNDLOWAT option. - - -Changes with nginx 0.1.11 02 Dec 2004 - - *) Feature: the worker_priority directive. - - *) Change: both tcp_nopush and tcp_nodelay directives affect the - transferred response. - - *) Bugfix: nginx did not call initgroups(). - Thanks to Andrew Sitnikov and Andrei Nigmatulin. - - *) Change: now the ngx_http_autoindex_module shows the file size in the - bytes. - - *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the - broken symlink was in a directory. - - *) Bugfix: the files bigger than 4G could not be transferred using - sendfile. - - *) Bugfix: if the backend was resolved to several backends and there was - an error while the response waiting then process may got caught in an - endless loop. - - *) Bugfix: the worker process may exit with the "unknown cycle" message - when the /dev/poll method was used. - - *) Bugfix: "close() channel failed" errors. - - *) Bugfix: the autodetection of the "nobody" and "nogroup" groups. - - *) Bugfix: the send_lowat directive did not work on Linux. - - *) Bugfix: the segmentation fault occurred if there was no events - section in configuration. - - *) Bugfix: nginx could not be built on OpenBSD. - - *) Bugfix: the double slashes in "://" in the URI were converted to - ":/". - - -Changes with nginx 0.1.10 26 Nov 2004 - - *) Bugfix: if the request without arguments contains "//", "/./", "/../" - or "%XX" then the last character in the request line was lost; the - bug had appeared in 0.1.9. - - *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did - not work. - - -Changes with nginx 0.1.9 25 Nov 2004 - - *) Bugfix: the proxied request was sent without arguments if the request - contains "//", "/./", "/../" or "%XX". - - *) Bugfix: the large compressed responses may be transferred not - completely. - - *) Bugfix: the files bigger than 2G was not transferred on Linux that - does not support sendfile64(). - - *) Bugfix: while the build configuration on Linux the --with-poll_module - parameter was required; the bug had appeared in 0.1.8. - - -Changes with nginx 0.1.8 20 Nov 2004 - - *) Bugfix: in the ngx_http_autoindex_module if the long file names were - in the listing. - - *) Feature: the "^~" modifier in the location directive. - - *) Feature: the proxy_max_temp_file_size directive. - - -Changes with nginx 0.1.7 12 Nov 2004 - - *) Bugfix: on FreeBSD the segmentation fault may occur if the size of - the transferred file was changed; the bug had appeared in 0.1.5. - - -Changes with nginx 0.1.6 11 Nov 2004 - - *) Bugfix: some location directive combinations with the regular - expressions caused the wrong configuration choose. - - -Changes with nginx 0.1.5 11 Nov 2004 - - *) Bugfix: on Solaris and Linux there may be too many "recvmsg() - returned not enough data" alerts. - - *) Bugfix: there were the "writev() failed (22: Invalid argument)" - errors on Solaris in proxy mode without sendfile. On other platforms - that do not support sendfile at all the process got caught in an - endless loop. - - *) Bugfix: segmentation fault on Solaris in proxy mode and using - sendfile. - - *) Bugfix: segmentation fault on Solaris. - - *) Bugfix: on-line upgrade did not work on Linux. - - *) Bugfix: the ngx_http_autoindex_module module did not escape the - spaces, the quotes, and the percent signs in the directory listing. - - *) Change: the decrease of the copy operations. - - *) Feature: the userid_p3p directive. - - -Changes with nginx 0.1.4 26 Oct 2004 - - *) Bugfix: in the ngx_http_autoindex_module. - - -Changes with nginx 0.1.3 25 Oct 2004 - - *) Feature: the ngx_http_autoindex_module and the autoindex directive. - - *) Feature: the proxy_set_x_url directive. - - *) Bugfix: proxy module may get caught in an endless loop when sendfile - is not used. - - -Changes with nginx 0.1.2 21 Oct 2004 - - *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS - options in configure. - - *) Feature: the server_name directive supports *.domain.tld. - - *) Bugfix: the portability improvements. - - *) Bugfix: if configuration file was set in command line, the - reconfiguration was impossible; the bug had appeared in 0.1.1. - - *) Bugfix: proxy module may get caught in an endless loop when sendfile - is not used. - - *) Bugfix: with sendfile the response was not recoded according to the - charset module directives; the bug had appeared in 0.1.1. - - *) Bugfix: very seldom bug in the kqueue processing. - - *) Bugfix: the gzip module compressed the proxied responses that was - already compressed. - - -Changes with nginx 0.1.1 11 Oct 2004 - - *) Feature: the gzip_types directive. - - *) Feature: the tcp_nodelay directive. - - *) Feature: the send_lowat directive is working not only on OSes that - support kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT. - - *) Feature: the setproctitle() emulation for Linux and Solaris. - - *) Bugfix: the "Location" header rewrite bug fixed while the proxying. - - *) Bugfix: the ngx_http_chunked_module module may get caught in an - endless loop. - - *) Bugfix: the /dev/poll module bugs fixed. - - *) Bugfix: the responses were corrupted when the temporary files were - used while the proxying. - - *) Bugfix: the unescaped requests were passed to the backend. - - *) Bugfix: while the build configuration on Linux 2.4 the - --with-poll_module parameter was required. - - -Changes with nginx 0.1.0 04 Oct 2004 - - *) The first public version. - Deleted: vendor/nginx-1.7.6/CHANGES.ru (+0 -6933) 100644 =================================================================== --- vendor/nginx-1.7.6/CHANGES.ru 2014-11-21 22:03:26 +0900 (4eff3cc) +++ /dev/null @@ -1,6933 +0,0 @@ - -Изменения в nginx 1.7.6 30.09.2014 - - *) Изменение: устаревшая директива limit_zone больше не поддерживается. - - *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь - можно использовать комбинации нескольких переменных. - - *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело - запроса могло передаваться неправильно. - - *) Исправление: в логгировании в syslog. - - -Изменения в nginx 1.7.5 16.09.2014 - - *) Безопасность: при использовании общего для нескольких блоков server - разделяемого кэша SSL-сессий или общего ключа для шифрования TLS - session tickets было возможно повторно использовать SSL-сессию в - контексте другого блока server (CVE-2014-3616). - Спасибо Antoine Delignat-Lavaud. - - *) Изменение: директиву stub_status теперь можно указывать без - параметров. - - *) Добавление: параметр always директивы add_header. - - *) Добавление: директивы proxy_next_upstream_tries, - proxy_next_upstream_timeout, fastcgi_next_upstream_tries, - fastcgi_next_upstream_timeout, memcached_next_upstream_tries, - memcached_next_upstream_timeout, scgi_next_upstream_tries, - scgi_next_upstream_timeout, uwsgi_next_upstream_tries и - uwsgi_next_upstream_timeout. - - *) Исправление: в параметре if директивы access_log. - - *) Исправление: в модуле ngx_http_perl_module. - Спасибо Piotr Sikora. - - *) Исправление: директива listen почтового прокси-сервера не позволяла - указать более двух параметров. - - *) Исправление: директива sub_filter не работала с заменяемой строкой из - одного символа. - - *) Исправление: запросы могли зависать, если использовался resolver и в - процессе обращения к DNS-серверу происходил таймаут. - - *) Исправление: в модуле ngx_http_spdy_module при использовании - совместно с AIO. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если с помощью директивы set изменялись переменные "$http_...", - "$sent_http_..." или "$upstream_http_...". - - *) Исправление: в обработке ошибок выделения памяти. - Спасибо Markus Linnala и Feng Gu. - - -Изменения в nginx 1.7.4 05.08.2014 - - *) Безопасность: pipelined-команды не отбрасывались после команды - STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в - 1.5.6. - Спасибо Chris Boulton. - - *) Изменение: экранирование символов в URI теперь использует - шестнадцатеричные цифры в верхнем регистре. - Спасибо Piotr Sikora. - - *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL. - Спасибо Piotr Sikora. - - *) Исправление: запросы могли зависать, если использовался resolver и - DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8. - - *) Исправление: в модуле ngx_http_spdy_module. - Спасибо Piotr Sikora. - - *) Исправление: переменная $uri могла содержать мусор при возврате - ошибок с кодом 400. - Спасибо Сергею Боброву. - - *) Исправление: в обработке ошибок в директиве proxy_store и в модуле - ngx_http_dav_module. - Спасибо Feng Gu. - - *) Исправление: при логгировании ошибок в syslog мог происходить - segmentation fault; ошибка появилась в 1.7.1. - - *) Исправление: переменные $geoip_latitude, $geoip_longitude, - $geoip_dma_code и $geoip_area_code могли не работать. - Спасибо Yichun Zhang. - - *) Исправление: в обработке ошибок выделения памяти. - Спасибо Tatsuhiko Kubo и Piotr Sikora. - - -Изменения в nginx 1.7.3 08.07.2014 - - *) Добавление: weak entity tags теперь не удаляются при изменениях - ответа, а strong entity tags преобразуются в weak. - - *) Добавление: ревалидация элементов кэша теперь, если это возможно, - использует заголовок If-None-Match. - - *) Добавление: директива ssl_password_file. - - *) Исправление: при возврате ответа из кэша заголовок запроса - If-None-Match игнорировался, если в ответе не было заголовка - Last-Modified. - - *) Исправление: сообщения "peer closed connection in SSL handshake" при - соединении с бэкендами логгировались на уровне info вместо error. - - *) Исправление: в модуле ngx_http_dav_module в nginx/Windows. - - *) Исправление: SPDY-соединения могли неожиданно закрываться, если - использовалось кэширование. - - -Изменения в nginx 1.7.2 17.06.2014 - - *) Добавление: директива hash в блоке upstream. - - *) Добавление: дефрагментация свободных блоков разделяемой памяти. - Спасибо Wandenberg Peixoto и Yichun Zhang. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалось значение access_log по умолчанию; ошибка - появилась в 1.7.0. - Спасибо Piotr Sikora. - - *) Исправление: завершающий слэш ошибочно удалялся из последнего - параметра директивы try_files. - - *) Исправление: nginx мог не собираться на OS X. - - *) Исправление: в модуле ngx_http_spdy_module. - - -Изменения в nginx 1.7.1 27.05.2014 - - *) Добавление: переменные "$upstream_cookie_...". - - *) Добавление: переменная $ssl_client_fingerprint. - - *) Добавление: директивы error_log и access_log теперь поддерживают - логгирование в syslog. - - *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при - соединении. - - *) Исправление: утечки памяти при использовании директивы - "ssl_stapling". - Спасибо Filipe da Silva. - - *) Исправление: директива alias внутри location'а, заданного регулярным - выражением, работала неправильно, если использовались директивы if - или limit_except. - - *) Исправление: директива charset не ставила кодировку для сжатых - ответов бэкендов. - - *) Исправление: директива proxy_pass без URI могла использовать - оригинальный запрос после установки переменной $args. - Спасибо Yichun Zhang. - - *) Исправление: в работе параметра none директивы smtp_auth; ошибка - появилась в 1.5.6. - Спасибо Святославу Никольскому. - - *) Исправление: при совместном использовании sub_filter и SSI ответы - могли передаваться неверно. - - *) Исправление: nginx не собирался с параметром --with-file-aio на - Linux/aarch64. - - -Изменения в nginx 1.7.0 24.04.2014 - - *) Добавление: проверка SSL-сертификатов бэкендов. - - *) Добавление: поддержка SNI при работе с бэкендами по SSL. - - *) Добавление: переменная $ssl_server_name. - - *) Добавление: параметр if директивы access_log. - - -Изменения в nginx 1.5.13 08.04.2014 - - *) Изменение: улучшена обработка хэш-таблиц; в директивах - variables_hash_max_size и types_hash_bucket_size значения по - умолчанию изменены на 1024 и 64 соответственно. - - *) Добавление: модуль ngx_http_mp4_module теперь понимает аргумент end. - - *) Добавление: поддержка byte ranges модулем ngx_http_mp4_module и при - сохранении ответов в кэш. - - *) Исправление: теперь nginx не пишет в лог сообщения "ngx_slab_alloc() - failed: no memory" при использовании разделяемой памяти в - ssl_session_cache и в модуле ngx_http_limit_req_module. - - *) Исправление: директива underscores_in_headers не разрешала - подчёркивание в первом символе заголовка. - Спасибо Piotr Sikora. - - *) Исправление: cache manager мог нагружать процессор при выходе в - nginx/Windows. - - *) Исправление: при использовании ssl_session_cache с параметром shared - рабочий процесс nginx/Windows завершался аварийно. - - *) Исправление: в модуле ngx_http_spdy_module. - - -Изменения в nginx 1.5.12 18.03.2014 - - *) Безопасность: при обработке специально созданного запроса модулем - ngx_http_spdy_module могло происходить переполнение буфера в рабочем - процессе, что потенциально могло приводить к выполнению произвольного - кода (CVE-2014-0133). - Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky, - Buenos Aires, Argentina. - - *) Добавление: параметр proxy_protocol в директивах listen и - real_ip_header, переменная $proxy_protocol_addr. - - *) Исправление: в директиве fastcgi_next_upstream. - Спасибо Lucas Molas. - - -Изменения в nginx 1.5.11 04.03.2014 - - *) Безопасность: при обработке специально созданного запроса модулем - ngx_http_spdy_module на 32-битных платформах могла повреждаться - память рабочего процесса, что потенциально могло приводить к - выполнению произвольного кода (CVE-2014-0088); ошибка появилась в - 1.5.10. - Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky, - Buenos Aires, Argentina. - - *) Добавление: переменная $ssl_session_reused. - - *) Исправление: директива client_max_body_size могла не работать при - чтении тела запроса с использованием chunked transfer encoding; - ошибка появилась в 1.3.9. - Спасибо Lucas Molas. - - *) Исправление: при проксировании WebSocket-соединений в рабочем - процессе мог произойти segmentation fault. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовался модуль ngx_http_spdy_module на 32-битных - платформах; ошибка появилась в 1.5.10. - - *) Исправление: значение переменной $upstream_status могло быть - неверным, если использовались директивы proxy_cache_use_stale или - proxy_cache_revalidate. - Спасибо Piotr Sikora. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если ошибки с кодом 400 с помощью директивы error_page - перенаправлялись в именованный location. - - *) Исправление: nginx/Windows не собирался с Visual Studio 2013. - - -Изменения в nginx 1.5.10 04.02.2014 - - *) Добавление: модуль ngx_http_spdy_module теперь использует протокол - SPDY 3.1. - Спасибо Automattic и MaxCDN за спонсирование разработки. - - *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки, - имеющие меньшую длину, чем запрошенная перемотка. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если переменная $ssl_session_id использовалась при логгировании; - ошибка появилась в 1.5.9. - - *) Исправление: переменные $date_local и $date_gmt использовали неверный - формат вне модуля ngx_http_ssi_filter_module. - - *) Исправление: клиентские соединения могли сразу закрываться, если - использовался отложенный accept; ошибка появилась в 1.3.15. - - *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed" - записывались в лог в процессе обновления исполняемого файла на Linux; - ошибка появилась в 1.5.8. - Спасибо Piotr Sikora. - - -Изменения в nginx 1.5.9 22.01.2014 - - *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает - закодированный URI. - - *) Добавление: директива ssl_buffer_size. - - *) Добавление: директиву limit_rate теперь можно использовать для - ограничения скорости передачи ответов клиенту в SPDY-соединениях. - - *) Добавление: директива spdy_chunk_size. - - *) Добавление: директива ssl_session_tickets. - Спасибо Dirkjan Bussink. - - *) Исправление: переменная $ssl_session_id содержала всю сессию в - сериализованном виде вместо её идентификатора. - Спасибо Ivan Ristić. - - *) Исправление: nginx неправильно обрабатывал закодированный символ "?" - в команде SSI include. - - *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI - при обработке методов COPY и MOVE. - - *) Исправление: resolver не понимал доменные имена с точкой в конце. - Спасибо Yichun Zhang. - - *) Исправление: при проксировании в логах могли появляться сообщения - "zero size buf in output"; ошибка появилась в 1.3.9. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовался модуль ngx_http_spdy_module. - - *) Исправление: при использовании методов обработки соединений select, - poll и /dev/poll проксируемые WebSocket-соединения могли зависать - сразу после открытия. - - *) Исправление: директива xclient почтового прокси-сервера некорректно - передавала IPv6-адреса. - - -Изменения в nginx 1.5.8 17.12.2013 - - *) Добавление: теперь resolver поддерживает IPv6. - - *) Добавление: директива listen поддерживает параметр fastopen. - Спасибо Mathew Rodley. - - *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module. - Спасибо Roberto De Ioris. - - *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib. - Спасибо Evan Miller. - - *) Исправление: при чтении тела запроса с использованием chunked - transfer encoding по SSL-соединению мог произойти таймаут. - - *) Исправление: директива master_process работала неправильно в - nginx/Windows. - - *) Исправление: параметр setfib директивы listen мог не работать. - - *) Исправление: в модуле ngx_http_spdy_module. - - -Изменения в nginx 1.5.7 19.11.2013 - - *) Безопасность: символ, следующий за незакодированным пробелом в строке - запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась - в 0.8.41. - Спасибо Ivan Fratric из Google Security Team. - - *) Изменение: уровень логгирования ошибок auth_basic об отсутствии - пароля понижен с уровня error до info. - - *) Добавление: директивы proxy_cache_revalidate, - fastcgi_cache_revalidate, scgi_cache_revalidate и - uwsgi_cache_revalidate. - - *) Добавление: директива ssl_session_ticket_key. - Спасибо Piotr Sikora. - - *) Исправление: директива "add_header Cache-Control ''" добавляла строку - заголовка ответа "Cache-Control" с пустым значением. - - *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо - 401 при использовании директив auth_request и auth_basic. - Спасибо Jan Marc Hoffmann. - - *) Исправление: параметры accept_filter и deferred директивы listen - игнорировались для listen-сокетов, создаваемых в процессе обновления - исполняемого файла. - Спасибо Piotr Sikora. - - *) Исправление: часть данных, полученных от бэкенда при - небуферизированном проксировании, могла не отправляться клиенту - сразу, если использовались директивы gzip или gunzip. - Спасибо Yichun Zhang. - - *) Исправление: в обработке ошибок в модуле - ngx_http_gunzip_filter_module. - - *) Исправление: ответы могли зависать, если использовался модуль - ngx_http_spdy_module и директива auth_request. - - *) Исправление: утечки памяти в nginx/Windows. - - -Изменения в nginx 1.5.6 01.10.2013 - - *) Добавление: директива fastcgi_buffering. - - *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers. - Спасибо Piotr Sikora. - - *) Добавление: оптимизация SSL handshake при использовании длинных - цепочек сертификатов. - - *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining. - - *) Исправление: в модуле ngx_http_auth_basic_module при использовании - метода шифрования паролей "$apr1$". - Спасибо Markus Linnala. - - *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса - мог использоваться неверный location, если для задания location'ов - использовались символы разных регистров. - - *) Исправление: автоматическое перенаправление с добавлением - завершающего слэша для проксированных location'ов могло не работать. - - *) Исправление: в почтовом прокси-сервере. - - *) Исправление: в модуле ngx_http_spdy_module. - - -Изменения в nginx 1.5.5 17.09.2013 - - *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно - определить протокол не удалось. - - *) Добавление: директива disable_symlinks теперь использует O_PATH на - Linux. - - *) Добавление: для определения того, что клиент закрыл соединение, при - использовании метода epoll теперь используются события EPOLLRDHUP. - - *) Исправление: в директиве valid_referers при использовании параметра - server_names. - - *) Исправление: переменная $request_time не работала в nginx/Windows. - - *) Исправление: в директиве image_filter. - Спасибо Lanshun Zhou. - - *) Исправление: совместимость с OpenSSL 1.0.1f. - Спасибо Piotr Sikora. - - -Изменения в nginx 1.5.4 27.08.2013 - - *) Изменение: MIME-тип для расширения js изменён на - "application/javascript"; значение по умолчанию директивы - charset_types изменено соответственно. - - *) Изменение: теперь директива image_filter с параметром size возвращает - ответ с MIME-типом "application/json". - - *) Добавление: модуль ngx_http_auth_request_module. - - *) Исправление: на старте или во время переконфигурации мог произойти - segmentation fault, если использовалась директива try_files с пустым - параметром. - - *) Исправление: утечки памяти при использовании в директивах root и - auth_basic_user_file относительных путей, заданных с помощью - переменных. - - *) Исправление: директива valid_referers неправильно выполняла - регулярные выражения, если заголовок Referer начинался с "https://". - Спасибо Liangbin Li. - - *) Исправление: ответы могли зависать, если использовались подзапросы и - при обработке подзапроса происходила ошибка во время SSL handshake с - бэкендом. - Спасибо Aviram Cohen. - - *) Исправление: в модуле ngx_http_autoindex_module. - - *) Исправление: в модуле ngx_http_spdy_module. - - -Изменения в nginx 1.5.3 30.07.2013 - - *) Изменение во внутреннем API: теперь при небуферизированной работе с - бэкендами u->length по умолчанию устанавливается в -1. - - *) Изменение: теперь при получении неполного ответа от бэкенда nginx - отправляет полученную часть ответа, после чего закрывает соединение с - клиентом. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовался модуль ngx_http_spdy_module и директива - client_body_in_file_only. - - *) Исправление: параметр so_keepalive директивы listen мог работать - некорректно на DragonFlyBSD. - Спасибо Sepherosa Ziehau. - - *) Исправление: в модуле ngx_http_xslt_filter_module. - - *) Исправление: в модуле ngx_http_sub_filter_module. - - -Изменения в nginx 1.5.2 02.07.2013 - - *) Добавление: теперь можно использовать несколько директив error_log. - - *) Исправление: метод $r->header_in() встроенного перла не возвращал - значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса; - ошибка появилась в 1.3.14. - - *) Исправление: в модуле ngx_http_spdy_module. - Спасибо Jim Radford. - - *) Исправление: nginx не собирался на Linux при использовании x32 ABI. - Спасибо Сергею Иванцову. - - -Изменения в nginx 1.5.1 04.06.2013 - - *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и - xslt_last_modified. - Спасибо Алексею Колпакову. - - *) Добавление: параметр http_403 в директивах proxy_next_upstream, - fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream. - - *) Добавление: директивы allow и deny теперь поддерживают unix domain - сокеты. - - *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без - модуля ngx_http_ssl_module; ошибка появилась в 1.3.14. - - *) Исправление: в директиве proxy_set_body. - Спасибо Lanshun Zhou. - - *) Исправление: в директиве lingering_time. - Спасибо Lanshun Zhou. - - *) Исправление: параметр fail_timeout директивы server в блоке upstream - мог не работать, если использовался параметр max_fails; ошибка - появилась в 1.3.0. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива ssl_stapling. - Спасибо Piotr Sikora. - - *) Исправление: в почтовом прокси-сервере. - Спасибо Filipe Da Silva. - - *) Исправление: nginx/Windows мог перестать принимать соединения, если - использовалось несколько рабочих процессов. - - -Изменения в nginx 1.5.0 07.05.2013 - - *) Безопасность: при обработке специально созданного запроса мог - перезаписываться стек рабочего процесса, что могло приводить к - выполнению произвольного кода (CVE-2013-2028); ошибка появилась в - 1.3.9. - Спасибо Greg MacManus, iSIGHT Partners Labs. - - -Изменения в nginx 1.4.0 24.04.2013 - - *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если - использовался параметр --with-openssl; ошибка появилась в 1.3.16. - - *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module; - ошибка появилась в 1.3.9. - - -Изменения в nginx 1.3.16 16.04.2013 - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовались подзапросы; ошибка появилась в 1.3.9. - - *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании - WebSocket-соединений в unix domain сокет. - - *) Исправление: переменная $upstream_response_length возвращала значение - "0", если не использовалась буферизация. - Спасибо Piotr Sikora. - - *) Исправление: в методах обработки соединений eventport и /dev/poll. - - -Изменения в nginx 1.3.15 26.03.2013 - - *) Изменение: открытие и закрытие соединения без отправки в нём - каких-либо данных больше не записывается в access_log с кодом ошибки - 400. - - *) Добавление: модуль ngx_http_spdy_module. - Спасибо Automattic за спонсирование разработки. - - *) Добавление: директивы limit_req_status и limit_conn_status. - Спасибо Nick Marden. - - *) Добавление: директива image_filter_interlace. - Спасибо Ивану Боброву. - - *) Добавление: переменная $connections_waiting в модуле - ngx_http_stub_status_module. - - *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды. - - *) Исправление: при повторной отправке запроса на бэкенд тело запроса - могло передаваться неправильно; ошибка появилась в 1.3.9. - Спасибо Piotr Sikora. - - *) Исправление: в директиве client_body_in_file_only; ошибка появилась в - 1.3.9. - - *) Исправление: ответы могли зависать, если использовались подзапросы и - при обработке подзапроса происходила DNS-ошибка. - Спасибо Lanshun Zhou. - - *) Исправление: в процедуре учёта использования бэкендов. - - -Изменения в nginx 1.3.14 05.03.2013 - - *) Добавление: переменные $connections_active, $connections_reading и - $connections_writing в модуле ngx_http_stub_status_module. - - *) Добавление: поддержка WebSocket-соединений в модулях - ngx_http_uwsgi_module и ngx_http_scgi_module. - - *) Исправление: в обработке виртуальных серверов при использовании SNI. - - *) Исправление: при использовании директивы "ssl_session_cache shared" - новые сессии могли не сохраняться, если заканчивалось место в - разделяемой памяти. - Спасибо Piotr Sikora. - - *) Исправление: несколько заголовков X-Forwarded-For обрабатывались - неправильно. - Спасибо Neal Poole за спонсирование разработки. - - *) Исправление: в модуле ngx_http_mp4_module. - Спасибо Gernot Vormayr. - - -Изменения в nginx 1.3.13 19.02.2013 - - *) Изменение: теперь для сборки по умолчанию используется компилятор с - именем "cc". - - *) Добавление: поддержка проксирования WebSocket-соединений. - Спасибо Apcera и CloudBees за спонсирование разработки. - - *) Добавление: директива auth_basic_user_file поддерживает шифрование - паролей методом "{SHA}". - Спасибо Louis Opter. - - -Изменения в nginx 1.3.12 05.02.2013 - - *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind, - scgi_bind и uwsgi_bind поддерживают переменные. - - *) Добавление: переменные $pipe, $request_length, $time_iso8601 и - $time_local теперь можно использовать не только в директиве - log_format. - Спасибо Kiril Kalchev. - - *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module. - Спасибо Gregor Kališnik. - - *) Исправление: директива proxy_method работала неверно, если была - указана на уровне http. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовался resolver и метод poll. - - *) Исправление: nginx мог нагружать процессор во время SSL handshake с - бэкендом при использовании методов обработки соединений select, poll - и /dev/poll. - - *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)". - - *) Исправление: в директиве client_body_in_file_only; ошибка появилась в - 1.3.9. - - *) Исправление: в директиве fastcgi_keep_conn. - - -Изменения в nginx 1.3.11 10.01.2013 - - *) Исправление: при записи в лог мог происходить segmentation fault; - ошибка появилась в 1.3.10. - - *) Исправление: директива proxy_pass не работала с IP-адресами без - явного указания порта; ошибка появилась в 1.3.10. - - *) Исправление: на старте или во время переконфигурации происходил - segmentation fault, если директива keepalive была указана несколько - раз в одном блоке upstream. - - *) Исправление: параметр default директивы geo не определял значение по - умолчанию для IPv6-адресов. - - -Изменения в nginx 1.3.10 25.12.2012 - - *) Изменение: для указанных в конфигурационном файле доменных имён - теперь используются не только IPv4, но и IPv6 адреса. - - *) Изменение: теперь при использовании директивы include с маской на - Unix-системах включаемые файлы сортируются в алфавитном порядке. - - *) Изменение: директива add_header добавляет строки в ответы с кодом - 201. - - *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате - CIDR. - - *) Добавление: параметры flush и gzip в директиве access_log. - - *) Добавление: директива auth_basic поддерживает переменные. - - *) Исправление: nginx в некоторых случаях не собирался с модулем - ngx_http_perl_module. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовался модуль ngx_http_xslt_module. - - *) Исправление: nginx мог не собираться на MacOSX. - Спасибо Piotr Sikora. - - *) Исправление: при использовании директивы limit_rate с большими - значениями скорости на 32-битных системах ответ мог возвращаться не - целиком. - Спасибо Алексею Антропову. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива if. - Спасибо Piotr Sikora. - - *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413 - Request Entity Too Large". - - *) Исправление: директивы image_filter, image_filter_jpeg_quality и - image_filter_sharpen могли наследоваться некорректно. - Спасибо Ивану Боброву. - - *) Исправление: при использовании директивы auth_basic под Linux могли - возникать ошибки "crypt_r() failed". - - *) Исправление: в обработке backup-серверов. - Спасибо Thomas Chen. - - *) Исправление: при проксировании HEAD-запросов мог возвращаться - некорректный ответ, если использовалась директива gzip. - - -Изменения в nginx 1.3.9 27.11.2012 - - *) Добавление: поддержка chunked transfer encoding при получении тела - запроса. - - *) Добавление: переменные $request_time и $msec теперь можно - использовать не только в директиве log_format. - - *) Исправление: cache manager и cache loader могли не запускаться, если - использовалось более 512 listen-сокетов. - - *) Исправление: в модуле ngx_http_dav_module. - - -Изменения в nginx 1.3.8 30.10.2012 - - *) Добавление: параметр optional_no_ca директивы ssl_verify_client. - Спасибо Михаилу Казанцеву и Eric O'Connor. - - *) Добавление: переменные $bytes_sent, $connection и - $connection_requests теперь можно использовать не только в директиве - log_format. - Спасибо Benjamin Grössing. - - *) Добавление: параметр auto директивы worker_processes. - - *) Исправление: сообщения "cache file ... has md5 collision". - - *) Исправление: в модуле ngx_http_gunzip_filter_module. - - *) Исправление: в директиве ssl_stapling. - - -Изменения в nginx 1.3.7 02.10.2012 - - *) Добавление: поддержка OCSP stapling. - Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки. - - *) Добавление: директива ssl_trusted_certificate. - - *) Добавление: теперь resolver случайным образом меняет порядок - возвращаемых закэшированных адресов. - Спасибо Антону Жулину. - - *) Исправление: совместимость с OpenSSL 0.9.7. - - -Изменения в nginx 1.3.6 12.09.2012 - - *) Добавление: модуль ngx_http_gunzip_filter_module. - - *) Добавление: директива memcached_gzip_flag. - - *) Добавление: параметр always директивы gzip_static. - - *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14. - Спасибо Charles Chen. - - *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если - использовался параметр --with-ipv6. - - -Изменения в nginx 1.3.5 21.08.2012 - - *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает - дорожки в форматах, отличных от H.264 и AAC. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если в директиве map в качестве значений использовались переменные. - - *) Исправление: в рабочем процессе мог произойти segmentation fault при - использовании директивы geo с параметром ranges, но без параметра - default; ошибка появилась в 0.8.43. - Спасибо Zhen Chen и Weibin Yao. - - *) Исправление: в обработке параметра командной строки -p. - - *) Исправление: в почтовом прокси-сервере. - - *) Исправление: незначительных потенциальных ошибок. - Спасибо Coverity. - - *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express. - Спасибо HAYASHI Kentaro. - - -Изменения в nginx 1.3.4 31.07.2012 - - *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён - по умолчанию. - - *) Добавление: поддержка компилятора Clang. - - *) Исправление: могли создаваться лишние слушающие сокеты. - Спасибо Роману Одайскому. - - *) Исправление: nginx/Windows мог нагружать процессор, если при запуске - рабочего процесса происходила ошибка. - Спасибо Ricardo Villalobos Guevara. - - *) Исправление: директивы proxy_pass_header, fastcgi_pass_header, - scgi_pass_header, uwsgi_pass_header, proxy_hide_header, - fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли - наследоваться некорректно. - - -Изменения в nginx 1.3.3 10.07.2012 - - *) Добавление: поддержка entity tags и директива etag. - - *) Исправление: при использовании директивы map с параметром hostnames - не игнорировалась конечная точка в исходном значении. - - *) Исправление: для обработки запроса мог использоваться неверный - location, если переход в именованный location происходил после - изменения URI с помощью директивы rewrite. - - -Изменения в nginx 1.3.2 26.06.2012 - - *) Изменение: параметр single директивы keepalive теперь игнорируется. - - *) Изменение: сжатие SSL теперь отключено в том числе при использовании - OpenSSL старее 1.0.0. - - *) Добавление: директиву "ip_hash" теперь можно использовать для - балансировки IPv6 клиентов. - - *) Добавление: переменную $status теперь можно использовать не только в - директиве log_format. - - *) Исправление: при завершении рабочего процесса мог произойти - segmentation fault, если использовалась директива resolver. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовался модуль ngx_http_mp4_module. - - *) Исправление: в модуле ngx_http_mp4_module. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовались конфликтующие имена серверов с масками. - - *) Исправление: на платформе ARM nginx мог аварийно завершаться по - сигналу SIGBUS. - - *) Исправление: во время переконфигурации на HP-UX в лог записывался - alert "sendmsg() failed (9: Bad file number)". - - -Изменения в nginx 1.3.1 05.06.2012 - - *) Безопасность: теперь nginx/Windows игнорирует точку в конце - компонента URI и не разрешает URI, содержащие последовательность - ":$". - Спасибо Владимиру Кочеткову, Positive Research Center. - - *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass - и директива server в блоке upstream теперь поддерживают IPv6-адреса. - - *) Добавление: в директиве resolver теперь можно указывать порт и - задавать IPv6-адреса DNS-серверов. - - *) Добавление: директива least_conn в блоке upstream. - - *) Добавление: при использовании директивы ip_hash теперь можно задавать - веса серверов. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива image_filter; ошибка появилась в 1.3.0. - - *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка - появилась в 1.1.12. - - *) Исправление: доступ к переменным из SSI и встроенного перла мог не - работать после переконфигурации. - Спасибо Yichun Zhang. - - *) Исправление: в модуле ngx_http_xslt_filter_module. - Спасибо Kuramoto Eiji. - - *) Исправление: утечки памяти при использовании переменной $geoip_org. - Спасибо Денису Латыпову. - - *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path. - - -Изменения в nginx 1.3.0 15.05.2012 - - *) Добавление: директива debug_connection теперь поддерживает - IPv6-адреса и параметр "unix:". - - *) Добавление: директива set_real_ip_from и параметр proxy директивы geo - теперь поддерживают IPv6-адреса. - - *) Добавление: директивы real_ip_recursive, geoip_proxy и - geoip_proxy_recursive. - - *) Добавление: параметр proxy_recursive директивы geo. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива resolver. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass - и бэкенд возвращал некорректный ответ. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива rewrite и в новых аргументах запроса в - строке замены использовались переменные. - - *) Исправление: nginx мог нагружать процессор, если было достигнуто - ограничение на количество открытых файлов. - - *) Исправление: при использовании директивы proxy_next_upstream с - параметром http_404 nginx мог бесконечно перебирать бэкенды, если в - блоке upstream был хотя бы один сервер с флагом backup. - - *) Исправление: при использовании директивы ip_hash установка параметра - down директивы server могла приводить к ненужному перераспределению - клиентов между бэкендами. - - *) Исправление: утечки сокетов. - Спасибо Yichun Zhang. - - *) Исправление: в модуле ngx_http_fastcgi_module. - - -Изменения в nginx 1.2.0 23.04.2012 - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива try_files; ошибка появилась в 1.1.19. - - *) Исправление: ответ мог быть передан не полностью, если использовалось - больше IOV_MAX буферов. - - *) Исправление: в работе параметра crop директивы image_filter. - Спасибо Maxim Bublis. - - -Изменения в nginx 1.1.19 12.04.2012 - - *) Безопасность: при обработке специально созданного mp4 файла модулем - ngx_http_mp4_module могли перезаписываться области памяти рабочего - процесса, что могло приводить к выполнению произвольного кода - (CVE-2012-2089). - Спасибо Matthew Daley. - - *) Исправление: nginx/Windows мог завершаться аварийно. - Спасибо Vincent Lee. - - *) Исправление: nginx нагружал процессор, если все серверы в upstream'е - были помечены флагом backup. - - *) Исправление: директивы allow и deny могли наследоваться некорректно, - если в них использовались IPv6 адреса. - - *) Исправление: директивы modern_browser и ancient_browser могли - наследоваться некорректно. - - *) Исправление: таймауты могли работать некорректно на Solaris/SPARC. - - *) Исправление: в модуле ngx_http_mp4_module. - - -Изменения в nginx 1.1.18 28.03.2012 - - *) Изменение: теперь keepalive соединения не запрещены для Safari по - умолчанию. - - *) Добавление: переменная $connection_requests. - - *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar, - $tcpinfo_snd_cwnd и $tcpinfo_rcv_space. - - *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD. - - *) Добавление: директивы xslt_param и xslt_string_param. - Спасибо Samuel Behan. - - *) Исправление: в configure. - Спасибо Piotr Sikora. - - *) Исправление: в модуле ngx_http_xslt_filter_module. - - *) Исправление: nginx не собирался на Debian GNU/Hurd. - - -Изменения в nginx 1.1.17 15.03.2012 - - *) Безопасность: содержимое ранее освобождённой памяти могло быть - отправлено клиенту, если бэкенд возвращал специально созданный ответ. - Спасибо Matthew Daley. - - *) Исправление: при использовании встроенного перла из SSI. - Спасибо Matthew Daley. - - *) Исправление: в модуле ngx_http_uwsgi_module. - - -Изменения в nginx 1.1.16 29.02.2012 - - *) Изменение: ограничение на количество одновременных подзапросов - поднято до 200. - - *) Добавление: параметр from в директиве disable_symlinks. - - *) Добавление: директивы return и error_page теперь могут использоваться - для возврата перенаправлений с кодом 307. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива resolver и на глобальном уровне не была - задана директива error_log. - Спасибо Роману Арутюняну. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовались директивы "proxy_http_version 1.1" или - "fastcgi_keep_conn on". - - *) Исправление: утечек памяти. - Спасибо Lanshun Zhou. - - *) Исправление: в директиве disable_symlinks. - - *) Исправление: при использовании ZFS размер кэша на диске мог считаться - некорректно; ошибка появилась в 1.0.1. - - *) Исправление: nginx не собирался компилятором icc 12.1. - - *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в - 1.1.15. - - -Изменения в nginx 1.1.15 15.02.2012 - - *) Добавление: директива disable_symlinks. - - *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path. - - *) Исправление: nginx мог некорректно сообщать об ошибке "upstream - prematurely closed connection" вместо "upstream sent too big header". - Спасибо Feibo Li. - - *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если - использовался параметр --with-openssl. - - *) Исправление: количество внутренних перенаправлений в именованные - location'ы не ограничивалось. - - *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к - ошибкам в модуле ngx_http_gzip_filter_module. - - *) Исправление: при использовании директивы proxy_store с - SSI-подзапросами временные файлы могли не удаляться. - - *) Исправление: в некоторых случаях некэшируемые переменные (такие, как - $args) возвращали старое пустое закэшированное значение. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если одновременно создавалось слишком много SSI-подзапросов; ошибка - появилась в 0.7.25. - - -Изменения в nginx 1.1.14 30.01.2012 - - *) Добавление: теперь можно указать несколько ограничений limit_req - одновременно. - - *) Исправление: в обработке ошибок при соединении с бэкендом. - Спасибо Piotr Sikora. - - *) Исправление: в обработке ошибок при использовании AIO на FreeBSD. - - *) Исправление: в инициализации библиотеки OpenSSL. - - *) Исправление: директивы proxy_redirect могли наследоваться - некорректно. - - *) Исправление: утечки памяти при переконфигурации, если использовалась - директива pcre_jit. - - -Изменения в nginx 1.1.13 16.01.2012 - - *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols. - - *) Исправление: параметры директивы limit_req наследовались некорректно; - ошибка появилась в 1.1.12. - - *) Исправление: директива proxy_redirect некорректно обрабатывала - заголовок Refresh при использовании регулярных выражений. - - *) Исправление: директива proxy_cache_use_stale с параметром error не - возвращала ответ из кэша, если все бэкенды были признаны - неработающими. - - *) Исправление: директива worker_cpu_affinity могла не работать. - - *) Исправление: nginx не собирался на Solaris; ошибка появилась в - 1.1.12. - - *) Исправление: в модуле ngx_http_mp4_module. - - -Изменения в nginx 1.1.12 26.12.2011 - - *) Изменение: после перенаправления запроса с помощью директивы - error_page директива proxy_pass без URI теперь использует изменённый - URI. - Спасибо Lanshun Zhou. - - *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock, - proxy/fastcgi/scgi/uwsgi_cache_lock_timeout. - - *) Добавление: директива pcre_jit. - - *) Добавление: SSI команда if поддерживает выделения в регулярных - выражениях. - - *) Исправление: SSI команда if не работала внутри команды block. - - *) Исправление: директивы limit_conn_log_level и limit_req_log_level - могли не работать. - - *) Исправление: директива limit_rate не позволяла передавать на полной - скорости, даже если был указан очень большой лимит. - - *) Исправление: директива sendfile_max_chunk не работала, если - использовалась директива limit_rate. - - *) Исправление: если в директиве proxy_pass использовались переменные и - не был указан URI, всегда использовался URI исходного запроса. - - *) Исправление: после перенаправления запроса с помощью директивы - try_files директива proxy_pass без URI могла использовать URI - исходного запроса. - Спасибо Lanshun Zhou. - - *) Исправление: в модуле ngx_http_scgi_module. - - *) Исправление: в модуле ngx_http_mp4_module. - - *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9. - - -Изменения в nginx 1.1.11 12.12.2011 - - *) Добавление: параметр so_keepalive в директиве listen. - Спасибо Всеволоду Стахову. - - *) Добавление: параметр if_not_empty в директивах - fastcgi/scgi/uwsgi_param. - - *) Добавление: переменная $https. - - *) Добавление: директива proxy_redirect поддерживает переменные в первом - параметре. - - *) Добавление: директива proxy_redirect поддерживает регулярные - выражения. - - *) Исправление: переменная $sent_http_cache_control могла содержать - неверное значение при использовании директивы expires. - Спасибо Yichun Zhang. - - *) Исправление: директива read_ahead могла не работать при использовании - совместно с try_files и open_file_cache. - - *) Исправление: если в параметре inactive директивы proxy_cache_path - было указано малое время, в рабочем процессе мог произойти - segmentation fault. - - *) Исправление: ответы из кэша могли зависать. - - -Изменения в nginx 1.1.10 30.11.2011 - - *) Исправление: при использовании AIO на Linux в рабочем процессе - происходил segmentation fault; ошибка появилась в 1.1.9. - - -Изменения в nginx 1.1.9 28.11.2011 - - *) Изменение: теперь двойные кавычки экранируется при выводе - SSI-командой echo. - Спасибо Зауру Абасмирзоеву. - - *) Добавление: параметр valid в директиве resolver. По умолчанию теперь - используется TTL, возвращённый DNS-сервером. - Спасибо Кириллу Коринскому. - - *) Исправление: nginx мог перестать отвечать, если рабочий процесс - завершался аварийно. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалось SNI; ошибка появилась в 1.1.2. - - *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8. - Спасибо Александру Усову. - - *) Исправление: сигнал SIGWINCH переставал работать после первого - обновления исполняемого файла; ошибка появилась в 1.1.1. - - *) Исправление: теперь ответы бэкендов, длина которых не соответствует - заголовку Content-Length, не кэширутся. - - *) Исправление: в директиве scgi_param при использовании составных - параметров. - - *) Исправление: в методе epoll. - Спасибо Yichun Zhang. - - *) Исправление: в модуле ngx_http_flv_module. - Спасибо Piotr Sikora. - - *) Исправление: в модуле ngx_http_mp4_module. - - *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в - заголовке Host. - - *) Исправление: директивы add_header и expires не работали для ответов с - кодом 206, если запрос проксировался. - - *) Исправление: nginx не собирался на FreeBSD 10. - - *) Исправление: nginx не собирался на AIX. - - -Изменения в nginx 1.1.8 14.11.2011 - - *) Изменение: модуль ngx_http_limit_zone_module переименован в - ngx_http_limit_conn_module. - - *) Изменение: директива limit_zone заменена директивой limit_conn_zone с - новым синтаксисом. - - *) Добавление: поддержка ограничения по нескольким limit_conn на одном - уровне. - - *) Добавление: директива image_filter_sharpen. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если resolver получил большой DNS-ответ. - Спасибо Ben Hawkes. - - *) Исправление: в вычислении ключа для кэширования, если использовалась - внутренняя реализация MD5; ошибка появилась в 1.0.4. - - *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в - заголовке запроса клиента могли передаваться бэкенду при кэшировании; - или не передаваться при выключенном кэшировании, если кэширование - было включено в другой части конфигурации. - - *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку - "Content-Length" в заголовке ответа, использовался аргумент start. - Спасибо Piotr Sikora. - - -Изменения в nginx 1.1.7 31.10.2011 - - *) Добавление: поддержка нескольких DNS серверов в директиве "resolver". - Спасибо Кириллу Коринскому. - - *) Исправление: на старте или во время переконфигурации происходил - segmentation fault, если директива ssl использовалась на уровне http - и не был указан ssl_certificate. - - *) Исправление: уменьшено потребление памяти при проксировании больших - файлов, если они буферизировались на диск. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовалась директива "proxy_http_version 1.1". - - *) Исправление: в директиве "expires @time". - - -Изменения в nginx 1.1.6 17.10.2011 - - *) Изменение во внутреннем API: теперь при внутреннем редиректе в - именованный location контексты модулей очищаются. - По запросу Yichun Zhang. - - *) Изменение: теперь если сервер, описанный в блоке upstream, был - признан неработающим, то после истечения fail_timeout на него будет - отправлен только один запрос; сервер будет считаться работающим, если - успешно ответит на этот запрос. - - *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде - \xXX. - - *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" - теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и - X-Accel-Charset. - - *) Добавление: уменьшение потребления памяти при использовании SSL. - - *) Исправление: некоторые UTF-8 символы обрабатывались неправильно. - Спасибо Алексею Куцу. - - *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на - уровне server, применялись повторно, если для запроса не находилось - ни одного location'а. - - *) Исправление: при использовании "aio sendfile" могла происходить - утечка сокетов. - - *) Исправление: при использовании файлового AIO соединения с быстрыми - клиентами могли быть закрыты по истечению send_timeout. - - *) Исправление: в модуле ngx_http_autoindex_module. - - *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на - 32-битных платформах. - - -Изменения в nginx 1.1.5 05.10.2011 - - *) Добавление: директивы uwsgi_buffering и scgi_buffering. - Спасибо Peter Smit. - - *) Исправление: при использовании proxy_cache_bypass могли быть - закэшированы некэшируемые ответы. - Спасибо John Ferlito. - - *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по - HTTP/1.1. - - *) Исправление: закэшированные ответы с пустым телом возвращались - некорректно; ошибка появилась в 0.8.31. - - *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были - некорректны; ошибка появилась в 0.8.32. - - *) Исправление: в директиве return. - - *) Исправление: при использовании директивы "ssl_session_cache builtin" - происходил segmentation fault; ошибка появилась в 1.1.1. - - -Изменения в nginx 1.1.4 20.09.2011 - - *) Добавление: модуль ngx_http_upstream_keepalive. - - *) Добавление: директива proxy_http_version. - - *) Добавление: директива fastcgi_keep_conn. - - *) Добавление: директива worker_aio_requests. - - *) Исправление: если nginx был собран с файловым AIO, он не мог - запускаться на Linux без поддержки AIO. - - *) Исправление: в обработке ошибок при работе с Linux AIO. - Спасибо Hagai Avrahami. - - *) Исправление: уменьшено потребление памяти для долгоживущих запросов. - - *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный - MP4-атом co64. - - -Изменения в nginx 1.1.3 14.09.2011 - - *) Добавление: модуль ngx_http_mp4_module. - - *) Исправление: в Linux AIO, используемым совместно с open_file_cache. - - *) Исправление: open_file_cache не обновлял информацию о файле, если - файл был изменён не атомарно. - - *) Исправление: nginx не собирался на MacOSX 10.7. - - -Изменения в nginx 1.1.2 05.09.2011 - - *) Изменение: теперь, если суммарный размер всех диапазонов больше - размера исходного ответа, то nginx возвращает только исходный ответ, - не обрабатывая диапазоны. - - *) Добавление: директива max_ranges. - - *) Исправление: директивы ssl_verify_client, ssl_verify_depth и - ssl_prefer_server_cipher могли работать некорректно, если - использовался SNI. - - *) Исправление: в директивах proxy/fastcgi/scgi/ - uwsgi_ignore_client_abort. - - -Изменения в nginx 1.1.1 22.08.2011 - - *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает - число файлов, указанное в параметре load_files, либо работает не - дольше времени, указанного в параметре loader_threshold. - - *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона. - - *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX - на Solaris. - Спасибо Денису Иванову. - - *) Добавление: теперь на NetBSD поддерживаются accept фильтры. - - *) Исправление: nginx не собирался на Linux 3.0. - - *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка - появилась в 1.1.0. - - *) Исправление: обработка тела запроса могла быть неверной, если клиент - использовал pipelining. - - *) Исправление: в директиве request_body_in_single_buf. - - *) Исправление: в директивах proxy_set_body и proxy_pass_request_body - при использовании SSL-соединения с бэкендом. - - *) Исправление: nginx нагружал процессор, если все серверы в upstream'е - были помечены флагом down. - - *) Исправление: при переконфигурации мог произойти segmentation fault, - если в предыдущей конфигурации был определён, но не использовался - ssl_session_cache. - - *) Исправление: при использовании большого количества backup-серверов в - рабочем процессе мог произойти segmentation fault. - - *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со - значениями, начинающимися со строки "HTTP_", в рабочем процессе мог - произойти segmentation fault; ошибка появилась в 0.8.40. - - -Изменения в nginx 1.1.0 01.08.2011 - - *) Добавление: уменьшение времени работы загрузчика кэша. - - *) Добавление: параметры loader_files, loader_sleep и loader_threshold - директив proxy/fastcgi/scgi/uwsgi_cache_path. - - *) Добавление: уменьшение времени загрузки конфигураций с большим - количеством HTTPS серверов. - - *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами. - Спасибо Adrian Kotelba. - - *) Добавление: директива lingering_close. - Спасибо Максиму Дунину. - - *) Исправление: закрытия соединения для pipelined-запросов. - Спасибо Максиму Дунину. - - *) Исправление: nginx не запрещал сжатие при получении значения - "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента. - - *) Исправление: таймаута при небуферизированном проксировании. - Спасибо Максиму Дунину. - - *) Исправление: утечки памяти при использовании переменных в директиве - proxy_pass при работе с бэкендом по HTTPS. - Спасибо Максиму Дунину. - - *) Исправление: в проверке параметра директивы proxy_pass, заданного - переменными. - Спасибо Lanshun Zhou. - - *) Исправление: SSL не работал на QNX. - Спасибо Максиму Дунину. - - *) Исправление: SSL модули не собирались gcc 4.6 без параметра - --with-debug. - - -Изменения в nginx 1.0.5 19.07.2011 - - *) Изменение: теперь по умолчанию используются следующие шифры SSL: - "HIGH:!aNULL:!MD5". - Спасибо Rob Stradling. - - *) Добавление: директивы referer_hash_max_size и - referer_hash_bucket_size. - Спасибо Witold Filipczyk. - - *) Добавление: переменная $uid_reset. - - *) Исправление: при использовании кэширования в рабочем процессе мог - произойти segmentation fault. - Спасибо Lanshun Zhou. - - *) Исправление: при использовании кэширования рабочие процессы могли - зациклиться во время переконфигурации; ошибка появилась в 0.8.48. - Спасибо Максиму Дунину. - - *) Исправление: сообщения "stalled cache updating". - Спасибо Максиму Дунину. - - -Изменения в nginx 1.0.4 01.06.2011 - - *) Изменение: теперь в регулярных выражениях в директиве map можно - задать чувствительность к регистру с помощью префиксов "~" и "~*". - - *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX - на Linux. - Спасибо Денису Латыпову. - - *) Исправление: сообщения "stalled cache updating". - - *) Исправление: nginx не собирался с параметром - --without-http_auth_basic_module; ошибка появилась в 1.0.3. - - -Изменения в nginx 1.0.3 25.05.2011 - - *) Добавление: директива auth_basic_user_file поддерживает шифрование - пароля методами "$apr1", "{PLAIN}" и "{SSHA}". - Спасибо Максиму Дунину. - - *) Добавление: директива geoip_org и переменная $geoip_org. - Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. - - *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module - поддерживают адреса IPv4, отображённые на IPv6 адреса. - - *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в - рабочем процессе происходил segmentation fault, если директивы access - или deny были определены только для адресов IPv6; ошибка появилась в - 0.8.22. - - *) Исправление: закэшированный ответ мог быть испорчен, если значения - директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ - uwsgi_no_cache были разными; ошибка появилась в 0.8.46. - - -Изменения в nginx 1.0.2 10.05.2011 - - *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX. - - *) Исправление: в работе параметра rotate директивы image_filter. - Спасибо Adam Bocim. - - *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1. - - -Изменения в nginx 1.0.1 03.05.2011 - - *) Изменение: теперь директива split_clients использует алгоритм - MurmurHash2 из-за лучшего распределения. - Спасибо Олегу Мамонтову. - - *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются - ложными значениями. - Спасибо Максиму Дунину. - - *) Изменение: теперь по умолчанию nginx использует значение 511 для - listen backlog на Linux. - - *) Добавление: переменные $upstream_... можно использовать в SSI и - перловом модулях. - - *) Исправление: теперь nginx лучше ограничивает размер кэша на диске. - Спасибо Олегу Мамонтову. - - *) Исправление: при парсинге неправильного IPv4 адреса мог произойти - segmentation fault; ошибка появилась в 0.8.22. - Спасибо Максиму Дунину. - - *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug. - - *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка - появилась в 0.9.3. - Спасибо Dagobert Michelsen. - - *) Исправление: переменная $request_time имела неверные значения, если - использовались подзапросы; ошибка появилась в 0.8.47. - Спасибо Игорю А. Валькову. - - -Изменения в nginx 1.0.0 12.04.2011 - - *) Исправление: cache manager мог нагружать процессор после - переконфигурации. - Спасибо Максиму Дунину. - - *) Исправление: директива "image_filter crop" неправильно работала в - сочетании с "image_filter rotate 180". - - *) Исправление: директива "satisfy any" запрещала выдачу - пользовательской страницы для 401 кода. - - -Изменения в nginx 0.9.7 04.04.2011 - - *) Добавление: теперь соединения в состоянии keepalive могут быть - закрыты преждевременно, если у воркера нет свободных соединений. - Спасибо Максиму Дунину. - - *) Добавление: параметр rotate директивы image_filter. - Спасибо Adam Bocim. - - *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass, - scgi_pass или uwsgi_pass задан выражением и ссылается на описанный - upstream. - - -Изменения в nginx 0.9.6 21.03.2011 - - *) Добавление: директива map поддерживает регулярные выражения в - качестве значения первого параметра. - - *) Добавление: переменная $time_iso8601 для access_log. - Спасибо Michael Lustfield. - - -Изменения в nginx 0.9.5 21.02.2011 - - *) Изменение: теперь по умолчанию nginx использует значение -1 для - listen backlog на Linux. - Спасибо Андрею Нигматулину. - - *) Добавление: параметр utf8 в директивах geoip_country и geoip_city. - Спасибо Денису Латыпову. - - *) Исправление: исправление в умолчательной директиве proxy_redirect, - если в директиве proxy_pass не был описан URI. - Спасибо Максиму Дунину. - - *) Исправление: директива error_page не работала с нестандартными кодами - ошибок; ошибка появилась в 0.8.53. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.9.4 21.01.2011 - - *) Добавление: директива server_name поддерживает переменную $hostname. - - *) Добавление: 494 код для ошибки "Request Header Too Large". - - -Изменения в nginx 0.9.3 13.12.2010 - - *) Исправление: если для пары IPv6-адрес:порт описан только один сервер, - то выделения в регулярных выражениях в директиве server_name не - работали. - - *) Исправление: nginx не собирался под Solaris; ошибка появилась в - 0.9.0. - - -Изменения в nginx 0.9.2 06.12.2010 - - *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке - запроса клиента. - - *) Изменение: использование accept(), если accept4() не реализован; - ошибка появилась в 0.9.0. - - *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0. - - *) Исправление: уязвимости в OpenSSL CVE-2010-4180. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.9.1 30.11.2010 - - *) Исправление: директивы вида "return CODE message" не работали; ошибка - появилась в 0.9.0. - - -Изменения в nginx 0.9.0 29.11.2010 - - *) Добавление: директива keepalive_disable. - - *) Добавление: директива map поддерживает переменные в качестве значения - определяемой переменной. - - *) Добавление: директива map поддерживает пустые строки в качестве - значения первого параметра. - - *) Добавление: директива map поддерживает выражения в первом параметре. - - *) Добавление: страница руководства nginx(8). - Спасибо Сергею Осокину. - - *) Добавление: поддержка accept4() в Linux. - Спасибо Simon Liu. - - *) Изменение: устранение предупреждения линкера о "sys_errlist" и - "sys_nerr" под Linux; предупреждение появилось в 0.8.35. - - *) Исправление: при использовании директивы auth_basic в рабочем - процессе мог произойти segmentation fault. - Спасибо Михаилу Лалетину. - - *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка - появилась в 0.8.42. - - -Изменения в nginx 0.8.53 18.10.2010 - - *) Добавление: теперь директива error_page позволяет менять код статуса - у редиректа. - - *) Добавление: директива gzip_disable поддерживает специальную маску - degradation. - - *) Исправление: при использовании файлового AIO могла происходить утечка - сокетов. - Спасибо Максиму Дунину. - - *) Исправление: если в первом сервере не была описана директива listen и - нигде явно не описан сервер по умолчанию, то сервером по умолчанию - становился следующий сервер с директивой listen; ошибка появилась в - 0.8.21. - - -Изменения в nginx 0.8.52 28.09.2010 - - *) Исправление: nginx использовал режим SSL для listen сокета, если для - него был установлен любой listen-параметр; ошибка появилась в 0.8.51. - - -Изменения в nginx 0.8.51 27.09.2010 - - *) Изменение: директива secure_link_expires упразднена. - - *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня - alert на error. - - *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать - несколько раз. - - -Изменения в nginx 0.8.50 02.09.2010 - - *) Добавление: директивы secure_link, secure_link_md5 и - secure_link_expires модуля ngx_http_secure_link_module. - - *) Добавление: ключ -q. - Спасибо Геннадию Махомеду. - - *) Исправление: при использовании кэширования рабочие процессы и могли - зациклиться во время переконфигурации; ошибка появилась в 0.8.48. - - *) Исправление: в директиве gzip_disable. - Спасибо Derrick Petzold. - - *) Исправление: nginx/Windows не мог посылать сигналы stop, quit, - reopen, reload процессу, запущенному в другой сессии. - - -Изменения в nginx 0.8.49 09.08.2010 - - *) Добавление: директива image_filter_jpeg_quality поддерживает - переменные. - - *) Исправление: при использовании переменной $geoip_region_name в - рабочем процессе мог произойти segmentation fault; ошибка появилась в - 0.8.48. - - *) Исправление: ошибки, перехваченные error_page, кэшировались только до - следующего запроса; ошибка появилась в 0.8.48. - - -Изменения в nginx 0.8.48 03.08.2010 - - *) Изменение: теперь по умолчанию директива server_name имеет значение - пустое имя "". - Спасибо Геннадию Махомеду. - - *) Изменение: теперь по умолчанию директива server_name_in_redirect - имеет значение off. - - *) Добавление: переменные $geoip_dma_code, $geoip_area_code и - $geoip_region_name. - Спасибо Christine McGonagle. - - *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и - scgi_pass не наследовались в блоки limit_except. - - *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses - uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка - появилась в 0.8.46. - - *) Исправление: директива fastcgi_split_path_info неверно использовала - выделения, если в выделения попадала только часть URI. - Спасибо Юрию Тарадаю и Frank Enderle. - - *) Исправление: директива rewrite не экранировала символ ";" при - копировании из URI в аргументы. - Спасибо Daisuke Murase. - - *) Исправление: модуль ngx_http_image_filter_module закрывал соединение, - если изображение было больше размера image_filter_buffer. - - -Изменения в nginx 0.8.47 28.07.2010 - - *) Исправление: переменная $request_time имела неверные значения для - подзапросов. - - *) Исправление: ошибки, перехваченные error_page, не кэшировались. - - *) Исправление: если использовался параметр max_size, то cache manager - мог зациклиться; ошибка появилась в 0.8.46. - - -Изменения в nginx 0.8.46 19.07.2010 - - *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache - и scgi_no_cache теперь влияют только на сохранение закэшированного - ответа. - - *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass, - uwsgi_cache_bypass и scgi_cache_bypass. - - *) Исправление: nginx не освобождал память в keys_zone кэшей в случае - ошибки работы с бэкендом: память освобождалась только по истечении - времени неактивности или при недостатке памяти. - - -Изменения в nginx 0.8.45 13.07.2010 - - *) Добавление: улучшения в модуле ngx_http_xslt_filter. - Спасибо Laurence Rowe. - - *) Исправление: ответ SSI модуля мог передаваться не полностью после - команды include с параметром wait="yes"; ошибка появилась в 0.7.25. - Спасибо Максиму Дунину. - - *) Исправление: директива listen не поддерживала параметр setfib=0. - - -Изменения в nginx 0.8.44 05.07.2010 - - *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в - заголовке которых есть строка "Set-Cookie". - - *) Добавление: директива listen поддерживает параметр setfib. - Спасибо Андрею Филонову. - - *) Исправление: директива sub_filter могла изменять регистр букв при - частичном совпадении. - - *) Исправление: совместимость с HP/UX. - - *) Исправление: совместимость с компилятором AIX xlC_r. - - *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые - запросы. - Спасибо Miroslaw Jaworski. - - -Изменения в nginx 0.8.43 30.06.2010 - - *) Добавление: ускорение загрузки больших баз geo-диапазонов. - - *) Исправление: перенаправление ошибки в "location /zero {return 204;}" - без изменения кода ответа оставляло тело ошибки; ошибка появилась в - 0.8.42. - - *) Исправление: nginx мог закрывать IPv6 listen сокет во время - переконфигурации. - Спасибо Максиму Дунину. - - *) Исправление: переменную $uid_set можно использовать на любой стадии - обработки запроса. - - -Изменения в nginx 0.8.42 21.06.2010 - - *) Изменение: теперь nginx проверяет location'ы, заданные регулярными - выражениями, если запрос полностью совпал с location'ом, заданным - строкой префикса. Предыдущее поведение появилось в 0.7.1. - - *) Добавление: модуль ngx_http_scgi_module. - Спасибо Manlio Perillo. - - *) Добавление: в директиве return можно добавлять текст ответа. - - -Изменения в nginx 0.8.41 15.06.2010 - - *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно - при запросе файла с неверной кодировкой UTF-8. - - *) Изменение: теперь nginx разрешает использовать пробелы в строке - запроса. - - *) Исправление: директива proxy_redirect неправильно изменяла строку - "Refresh" в заголовке ответа бэкенда. - Спасибо Андрею Андрееву и Максиму Согину. - - *) Исправление: nginx не поддерживал путь без имени хоста в строке - "Destination" в заголовке запроса. - - -Изменения в nginx 0.8.40 07.06.2010 - - *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по - умолчанию. - Спасибо Jose Antonio Vazquez Gonzalez. - - *) Добавление: модуль ngx_http_uwsgi_module. - Спасибо Roberto De Ioris. - - *) Добавление: директива fastcgi_param со значением, начинающимся со - строки "HTTP_", изменяет строку заголовка в запросе клиента. - - *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в - заголовке запроса клиента передавались FastCGI-серверу при - кэшировании. - - *) Исправление: listen unix domain сокет нельзя было изменить во время - переконфигурации. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.8.39 31.05.2010 - - *) Исправление: наследуемая директива alias неправильно работала во - вложенном location'е. - - *) Исправление: в комбинации директив alias с переменными и try_files; - - *) Исправление: listen unix domain и IPv6 сокеты не наследовались во - время обновления без перерыва. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.8.38 24.05.2010 - - *) Добавление: директивы proxy_no_cache и fastcgi_no_cache. - - *) Добавление: теперь при использовании переменной $scheme в директиве - rewrite автоматически делается редирект. - Спасибо Piotr Sikora. - - *) Исправление: теперь задержки в директиве limit_req соответствует - описанному алгоритму. - Спасибо Максиму Дунину. - - *) Исправление: переменную $uid_got нельзя было использовать в SSI и - перловом модулях. - - -Изменения в nginx 0.8.37 17.05.2010 - - *) Добавление: модуль ngx_http_split_clients_module. - - *) Добавление: директива map поддерживает ключи больше 255 символов. - - *) Исправление: nginx игнорировал значения "private" и "no-store" в - строке "Cache-Control" в заголовке ответа бэкенда. - - *) Исправление: параметр stub в SSI-директиве include не использовался, - если пустой ответ имел код 200. - - *) Исправление: если проксированный или FastCGI запрос внутренне - перенаправлялся в другой проксированный или FastCGI location, то в - рабочем процессе мог произойти segmentation fault; ошибка появилась в - 0.8.33. - Спасибо Yichun Zhang. - - *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до - таймаута. - Спасибо Alan Batie. - - -Изменения в nginx 0.8.36 22.04.2010 - - *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал - методы DELETE, COPY и MOVE для симлинков. - - *) Исправление: модуль SSI в подзапросах использовал закэшированные в - основном запросе значения переменных $query_string, $arg_... и им - подобных. - - *) Исправление: значение переменной повторно экранировалось после - каждого вывода SSI-команды echo; ошибка появилась в 0.6.14. - - *) Исправление: рабочий процесс зависал при запросе файла FIFO. - Спасибо Vicente Aguilar и Максиму Дунину. - - *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux. - Спасибо Максиму Дунину. - - *) Исправление: nginx не собирался с параметром --without-http-cache; - ошибка появилась в 0.8.35. - - -Изменения в nginx 0.8.35 01.04.2010 - - *) Изменение: теперь charset-фильтр работает до SSI-фильтра. - - *) Добавление: директива chunked_transfer_encoding. - - *) Исправление: символ "&" при копировании в аргументы в правилах - rewrite не экранировался. - - *) Исправление: nginx мог завершаться аварийно во время обработки - сигнала или при использовании директивы timer_resolution на - платформах, не поддерживающих методы kqueue или eventport. - Спасибо George Xie и Максиму Дунину. - - *) Исправление: если временные файлы и постоянное место хранения - располагались на разных файловых системах, то у постоянных файлов - время изменения было неверным. - Спасибо Максиму Дунину. - - *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку - "memcached sent invalid trailer". - Спасибо Максиму Дунину. - - *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных - текстов. - Спасибо Максиму Дунину. - - *) Исправление: в рабочем процессе происходил segmentation fault, если - перед ответом FastCGI-сервера было много вывода в stderr; ошибка - появилась в 0.8.34. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.8.34 03.03.2010 - - *) Исправление: nginx не поддерживал все шифры, используемые в - клиентских сертификатах. - Спасибо Иннокентию Еникееву. - - *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед - ответом было много вывода в stderr. - - *) Исправление: nginx не поддерживал HTTPS-рефереры. - - *) Исправление: nginx/Windows мог не находить файлы, если путь в - конфигурации был задан в другом регистре; ошибка появилась в 0.8.33. - - *) Исправление: переменная $date_local выдавала неверное время, если - использовался формат "%s". - Спасибо Максиму Дунину. - - *) Исправление: если ssl_session_cache не был установлен или установлен - в none, то при проверке клиентского сертификаты могла происходить - ошибка "session id context uninitialized"; ошибка появилась в 0.7.1. - - *) Исправление: geo-диапазон возвращал значение по умолчанию, если - диапазон включал в себя одну и более сетей размером /16 и не - начинался на границе сети размером /16. - - *) Исправление: блок, используемый в параметре stub в SSI-директиве - include, выводился с MIME-типом "text/plain". - - *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11. - - -Изменения в nginx 0.8.33 01.02.2010 - - *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI. - Спасибо Dan Crowley, Core Security Technologies. - - *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов. - Спасибо Dan Crowley, Core Security Technologies. - - *) Изменение: теперь keepalive соединения после запросов POST не - запрещаются для MSIE 7.0+. - Спасибо Adam Lounds. - - *) Изменение: теперь keepalive соединения запрещены для Safari. - Спасибо Joshua Sierles. - - *) Исправление: если проксированный или FastCGI запрос внутренне - перенаправлялся в другой проксированный или FastCGI location, то - переменная $upstream_response_time могла иметь ненормально большое - значение; ошибка появилась в 0.8.7. - - *) Исправление: в рабочем процессе мог произойти segmentation fault при - отбрасывания тела запроса; ошибка появилась в 0.8.11. - - -Изменения в nginx 0.8.32 11.01.2010 - - *) Исправление: ошибки при использовании кодировки UTF-8 в - ngx_http_autoindex_module. - Спасибо Максиму Дунину. - - *) Исправление: именованные выделения в регулярных выражениях работали - только для двух переменных. - Спасибо Максиму Дунину. - - *) Исправление: теперь в строке заголовка запроса "Host" используется - имя "localhost", если в директиве auth_http указан unix domain сокет. - Спасибо Максиму Дунину. - - *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых - ответов. - Спасибо Julian Reich. - - *) Исправление: если директива "expires modified" выставляла дату в - прошлом, то в строке заголовка ответа "Cache-Control" выдавалось - отрицательное число. - Спасибо Алексею Капранову. - - -Изменения в nginx 0.8.31 23.12.2009 - - *) Добавление: теперь директива error_page может перенаправлять ответы - со статусом 301 и 302. - - *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и - $geoip_longitude. - Спасибо Arvind Sundararajan. - - *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет - EXIF и другие данные, если они занимают больше 5% в JPEG-файле. - - *) Исправление: nginx закрывал соединение при запросе закэшированного - ответа с пустым телом. - Спасибо Piotr Sikora. - - *) Исправление: nginx мог не собираться gcc 4.x при использовании - оптимизации -O2 и выше. - Спасибо Максиму Дунину и Денису Латыпову. - - *) Исправление: регулярные выражения в location всегда тестировались с - учётом регистра; ошибка появилась в 0.8.25. - - *) Исправление: nginx кэшировал 304 ответ, если в заголовке - проксируемого запроса была строка "If-None-Match". - Спасибо Tim Dettrick и David Kostal. - - *) Исправление: nginx/Windows пытался дважды удалить временный файл при - перезаписи уже существующего файла. - - -Изменения в nginx 0.8.30 15.12.2009 - - *) Изменение: теперь по умолчанию размер буфера директивы - large_client_header_buffers равен 8K. - Спасибо Andrew Cholakian. - - *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI. - - *) Исправление: nginx/Windows пытался дважды переименовать временный - файл при перезаписи уже существующего файла. - - *) Исправление: ошибки double free or corruption, возникающей, если имя - хоста не было найдено; ошибка появилась в 0.8.22. - Спасибо Константину Свисту. - - *) Исправление: в использовании libatomic на некоторых платформах. - Спасибо W-Mark Kubacki. - - -Изменения в nginx 0.8.29 30.11.2009 - - *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код - ответа "009". - - *) Добавление: директивы addition_types, charset_types, gzip_types, - ssi_types, sub_filter_types и xslt_types поддерживают параметр "*". - - *) Добавление: использование встроенных атомарных операций GCC 4.1+. - Спасибо W-Mark Kubacki. - - *) Добавление: параметр --with-libatomic[=DIR] в configure. - Спасибо W-Mark Kubacki. - - *) Исправление: listen unix domain сокет имели ограниченные права - доступа. - - *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно - обрабатывались. - - *) Исправление: именованные выделения в регулярных выражениях, заданные - как "?P<...>", не работали в директиве server_name. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.8.28 23.11.2009 - - *) Исправление: nginx не собирался с параметром --without-pcre; ошибка - появилась в 0.8.25. - - -Изменения в nginx 0.8.27 17.11.2009 - - *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка - появилась в 0.8.25. - - -Изменения в nginx 0.8.26 16.11.2009 - - *) Исправление: ошибки при использовании выделений в директиве rewrite; - ошибка появилась в 0.8.25. - - *) Исправление: nginx не собирался без параметра --with-debug; ошибка - появилась в 0.8.25. - - -Изменения в nginx 0.8.25 16.11.2009 - - *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная - не найдена с помощью метода $r->variable(). - - *) Добавление: модуль ngx_http_degradation_module. - - *) Добавление: именованные выделения в регулярных выражениях. - - *) Добавление: теперь при использовании переменных в директиве - proxy_pass не требуется задавать URI. - - *) Добавление: теперь директива msie_padding работает и для Chrome. - - *) Исправление: в рабочем процессе происходил segmentation fault при - недостатке памяти; ошибка появилась в 0.8.18. - - *) Исправление: nginx передавал сжатые ответы клиентам, не - поддерживающим сжатие, при настройках gzip_static on и gzip_vary off; - ошибка появилась в 0.8.16. - - -Изменения в nginx 0.8.24 11.11.2009 - - *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в - заголовок 304-ых ответов модуля ngx_http_gzip_static_module. - - *) Исправление: nginx не собирался без параметра --with-debug; ошибка - появилась в 0.8.23. - - *) Исправление: параметр "unix:" в директиве set_real_ip_from - неправильно наследовался с предыдущего уровня. - - *) Исправление: в resolver'е при определении пустого имени. - - -Изменения в nginx 0.8.23 11.11.2009 - - *) Безопасность: теперь SSL/TLS renegotiation запрещён. - Спасибо Максиму Дунину. - - *) Исправление: listen unix domain сокет не наследовался во время - обновления без перерыва. - - *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал - без ещё одной директивы с любым IP-адресом. - - *) Исправление: segmentation fault и зацикливания в resolver'е. - - *) Исправление: в resolver'е. - Спасибо Артёму Бохану. - - -Изменения в nginx 0.8.22 03.11.2009 - - *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind. - - *) Добавление: директивы access и deny поддерживают IPv6. - - *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в - заголовках запроса. - - *) Добавление: параметр "unix:" в директиве set_real_ip_from. - - *) Исправление: nginx не удалял unix domain сокет после тестирования - конфигурации. - - *) Исправление: nginx удалял unix domain сокет во время обновления без - перерыва. - - *) Исправление: оператор "!-x" не работал. - Спасибо Максиму Дунину. - - *) Исправление: в рабочем процессе мог произойти segmentation fault при - использовании limit_rate в HTTPS сервере. - Спасибо Максиму Дунину. - - *) Исправление: при записи в лог переменной $limit_rate в рабочем - процессе происходил segmentation fault. - Спасибо Максиму Дунину. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если внутри блока server не было директивы listen; ошибка появилась в - 0.8.21. - - -Изменения в nginx 0.8.21 26.10.2009 - - *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI. - - *) Добавление: директива listen модуля HTTP поддерживает unix domain - сокеты. - Спасибо Hongli Lai. - - *) Добавление: параметр "default_server" в директиве listen. - - *) Добавление: теперь параметр "default" не обязателен для установки - параметров listen-сокета. - - *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных - платформах; - - *) Исправление: утечки сокетов; ошибка появилась в 0.8.11. - - -Изменения в nginx 0.8.20 14.10.2009 - - *) Изменение: теперь по умолчанию используются следующие шифры SSL: - "HIGH:!ADH:!MD5". - - *) Исправление: модуль ngx_http_autoindex_module не показывал последний - слэш для линков на каталоги; ошибка появилась в 0.7.15. - - *) Исправление: nginx не закрывал лог, заданный параметром конфигурации - --error-log-path; ошибка появилась в 0.7.53. - - *) Исправление: nginx не считал запятую разделителем в строке - "Cache-Control" в заголовке ответа бэкенда. - - *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше - или файл с помощью директив proxy/fastcgi_store, если рабочий процесс - не имел достаточно прав для работы с каталогами верхнего уровня. - - *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа - FastCGI-сервера не скрывались при кэшировании, если не использовались - директивы fastcgi_hide_header с любыми параметрами. - - *) Исправление: nginx неверно считал размер кэша на диске. - - -Изменения в nginx 0.8.19 06.10.2009 - - *) Изменение: теперь протокол SSLv2 по умолчанию запрещён. - - *) Изменение: теперь по умолчанию используются следующие шифры SSL: - "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". - - *) Исправление: директива limit_req не работала; ошибка появилась в - 0.8.18. - - -Изменения в nginx 0.8.18 06.10.2009 - - *) Добавление: директива read_ahead. - - *) Добавление: теперь можно использовать несколько директив - perl_modules. - - *) Добавление: директивы limit_req_log_level и limit_conn_log_level. - - *) Исправление: теперь директива limit_req соответствует алгоритму leaky - bucket. - Спасибо Максиму Дунину. - - *) Исправление: nginx не работал на Linux/sparc. - Спасибо Marcus Ramberg. - - *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в - ответе на запрос MKCOL. - Спасибо Xie Zhenye. - - *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка - появилась в 0.8.11. - - *) Исправление: утечки сокетов; ошибка появилась в 0.8.11. - - -Изменения в nginx 0.8.17 28.09.2009 - - *) Безопасность: теперь символы "/../" запрещены в строке "Destination" - в заголовке запроса. - - *) Изменение: теперь значение переменной $host всегда в нижнем регистре. - - *) Добавление: переменная $ssl_session_id. - - *) Исправление: утечки сокетов; ошибка появилась в 0.8.11. - - -Изменения в nginx 0.8.16 22.09.2009 - - *) Добавление: директива image_filter_transparency. - - *) Исправление: директива "addition_types" была неверно названа - "addtion_types". - - *) Исправление: порчи кэша resolver'а. - Спасибо Matthew Dempsky. - - *) Исправление: утечки памяти в resolver'е. - Спасибо Matthew Dempsky. - - *) Исправление: неверная строка запроса в переменной $request - записывалась в access_log только при использовании error_log на - уровне info или debug. - - *) Исправление: в поддержке альфа-канала PNG в модуле - ngx_http_image_filter_module. - - *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в - заголовок ответа, если обе директивы gzip_static и gzip_vary были - включены. - - *) Исправление: в поддержке кодировки UTF-8 директивой try_files в - nginx/Windows. - - *) Исправление: ошибки при использовании post_action; ошибка появилась в - 0.8.11. - Спасибо Игорю Артемьеву. - - -Изменения в nginx 0.8.15 14.09.2009 - - *) Безопасность: при обработке специально созданного запроса в рабочем - процессе мог произойти segmentation fault. - Спасибо Chris Ries. - - *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и - .domain-some.tld, то имя .sub.domain.tld попадало под маску - .domain.tld. - - *) Исправление: в поддержке прозрачности в модуле - ngx_http_image_filter_module. - - *) Исправление: в файловом AIO. - - *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка - появилась в 0.8.11. - - *) Исправление: ошибки при использовании встроенного перла; ошибка - появилась в 0.8.11. - - -Изменения в nginx 0.8.14 07.09.2009 - - *) Исправление: устаревший закэшированный запрос мог залипнуть в - состоянии "UPDATING". - - *) Исправление: при использовании error_log на уровне info или debug в - рабочем процессе мог произойти segmentation fault. - Спасибо Сергею Боченкову. - - *) Исправление: ошибки при использовании встроенного перла; ошибка - появилась в 0.8.11. - - *) Исправление: директива error_page не перенаправляла ошибку 413; - ошибка появилась в 0.6.10. - - -Изменения в nginx 0.8.13 31.08.2009 - - *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12. - - *) Исправление: nginx не собирался без параметра --with-file-aio на - FreeBSD; ошибка появилась в 0.8.12. - - -Изменения в nginx 0.8.12 31.08.2009 - - *) Добавление: параметр sendfile в директиве aio во FreeBSD. - - *) Исправление: ошибки при использовании try_files; ошибка появилась в - 0.8.11. - - *) Исправление: ошибки при использовании memcached; ошибка появилась в - 0.8.11. - - -Изменения в nginx 0.8.11 28.08.2009 - - *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие - для MSIE 6.0 SV1. - - *) Добавление: поддержка файлового AIO во FreeBSD и Linux. - - *) Добавление: директива directio_alignment. - - -Изменения в nginx 0.8.10 24.08.2009 - - *) Исправление: утечек памяти при использовании базы GeoIP City. - - *) Исправление: ошибки при копировании временных файлов в постоянное - место хранения; ошибка появилась в 0.8.9. - - -Изменения в nginx 0.8.9 17.08.2009 - - *) Добавление: теперь стартовый загрузчик кэша работает в отдельном - процесс; это должно улучшить обработку больших кэшей. - - *) Добавление: теперь временные файлы и постоянное место хранения могут - располагаться на разных файловых системах. - - -Изменения в nginx 0.8.8 10.08.2009 - - *) Исправление: в обработке заголовков ответа, разделённых в - FastCGI-записях. - - *) Исправление: если запрос обрабатывался в двух проксированных или - FastCGI location'ах и в первом из них использовалось кэширование, то - в рабочем процессе происходил segmentation fault; ошибка появилась в - 0.8.7. - - -Изменения в nginx 0.8.7 27.07.2009 - - *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7. - - *) Изменение: параметр ask директивы ssl_verify_client изменён на - параметр optional и теперь он проверяет клиентский сертификат, если - он был предложен. - Спасибо Brice Figureau. - - *) Добавление: переменная $ssl_client_verify. - Спасибо Brice Figureau. - - *) Добавление: директива ssl_crl. - Спасибо Brice Figureau. - - *) Добавление: параметр proxy директивы geo. - - *) Добавление: директива image_filter поддерживает переменные для - задания размеров. - - *) Исправление: использование переменной $ssl_client_cert портило - память; ошибка появилась в 0.7.7. - Спасибо Сергею Журавлёву. - - *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не - передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate", - "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда. - Спасибо Максиму Дунину. - - *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в - заголовке ответа бэкенда; ошибка появилась в 0.7.44. - Спасибо Максиму Дунину. - - *) Исправление: ошибки "[alert] zero size buf" при получении пустых - ответы в подзапросах; ошибка появилась в 0.8.5. - - -Изменения в nginx 0.8.6 20.07.2009 - - *) Добавление: модуль ngx_http_geoip_module. - - *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML - document" для правильного документа. - Спасибо Kuramoto Eiji. - - *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке - location'ов, заданных регулярным выражением, теперь всегда делается - сравнение без учёта регистра символов. - - *) Исправление: теперь nginx/Windows игнорирует точки в конце URI. - Спасибо Hugo Leisink. - - *) Исправление: имя файла указанного в --conf-path игнорировалось при - установке; ошибка появилась в 0.6.6. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.8.5 13.07.2009 - - *) Исправление: теперь nginx разрешает подчёркивания в методе запроса. - - *) Исправление: при использовании HTTP Basic-аутентификации на Windows - для неверных имени/пароля возвращалась 500-ая ошибка. - - *) Исправление: ответы модуля ngx_http_perl_module не работали в - подзапросах. - - *) Исправление: в модуле ngx_http_limit_req_module. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.8.4 22.06.2009 - - *) Исправление: nginx не собирался с параметром --without-http-cache; - ошибка появилась в 0.8.3. - - -Изменения в nginx 0.8.3 19.06.2009 - - *) Добавление: переменная $upstream_cache_status. - - *) Исправление: nginx не собирался на MacOSX 10.6. - - *) Исправление: nginx не собирался с параметром --without-http-cache; - ошибка появилась в 0.8.2. - - *) Исправление: если использовался перехват 401 ошибки от бэкенда и - бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то - в рабочем процессе происходил segmentation fault. - Спасибо Евгению Мычло. - - -Изменения в nginx 0.8.2 15.06.2009 - - *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша - на старте. - - *) Исправление: open_file_cache мог кэшировать открытые файлы очень - долго; ошибка появилась в 0.7.4. - - -Изменения в nginx 0.8.1 08.06.2009 - - *) Добавление: параметр updating в директивах proxy_cache_use_stale и - fastcgi_cache_use_stale. - - *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в - заголовке запроса клиента передавались бэкенду при кэшировании, если - не использовалась директива proxy_set_header с любыми параметрами. - - *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда - не скрывались при кэшировании, если не использовались директивы - proxy_hide_header/fastcgi_hide_header с любыми параметрами. - - *) Исправление: модуль ngx_http_image_filter_module не понимал формат - GIF87a. - Спасибо Денису Ильиных. - - *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка - появилась в 0.7.56. - - -Изменения в nginx 0.8.0 02.06.2009 - - *) Добавление: директива keepalive_requests. - - *) Добавление: директива limit_rate_after. - Спасибо Ivan Debnar. - - *) Исправление: XSLT-фильтр не работал в подзапросах. - - *) Исправление: обработке относительных путей в nginx/Windows. - - *) Исправление: в proxy_store, fastcgi_store, proxy_cache и - fastcgi_cache в nginx/Windows. - - *) Исправление: в обработке ошибок выделения памяти. - Спасибо Максиму Дунину и Кириллу Коринскому. - - -Изменения в nginx 0.7.59 25.05.2009 - - *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods. - - *) Исправление: утечки сокетов; ошибка появилась в 0.7.25. - Спасибо Максиму Дунину. - - *) Исправление: при использовании переменной $request_body в рабочем - процессе происходил segmentation fault, если в запросе не было тела; - ошибка появилась в 0.7.58. - - *) Исправление: SSL-модули могли не собираться на Solaris и Linux; - ошибка появилась в 0.7.56. - - *) Исправление: ответы модуля ngx_http_xslt_filter_module не - обрабатывались SSI-, charset- и gzip-фильтрами. - - *) Исправление: директива charset не ставила кодировку для ответов - модуля ngx_http_gzip_static_module. - - -Изменения в nginx 0.7.58 18.05.2009 - - *) Добавление: директива listen почтового прокси-сервера поддерживает - IPv6. - - *) Добавление: директива image_filter_jpeg_quality. - - *) Добавление: директива client_body_in_single_buffer. - - *) Добавление: переменная $request_body. - - *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена - файлов, содержащих символ ":". - - *) Исправление: процедура "make upgrade" не работала; ошибка появилась в - 0.7.53. - Спасибо Денису Латыпову. - - -Изменения в nginx 0.7.57 12.05.2009 - - *) Исправление: при перенаправлении ошибок модуля - ngx_http_image_filter_module в именованный location в рабочем - процессе происходил floating-point fault; ошибка появилась в 0.7.56. - - -Изменения в nginx 0.7.56 11.05.2009 - - *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля - HTTP. - - *) Исправление: в модуле ngx_http_image_filter_module. - - -Изменения в nginx 0.7.55 06.05.2009 - - *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и - fastcgi_cache_use_stale не работали. - - *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из - заголовка. - - *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в - nginx/Unix и "select() failed (10038: ...)" в nginx/Windows. - - *) Исправление: при использовании директивы debug_connection в рабочем - процессе мог произойти segmentation fault; ошибка появилась в 0.7.54. - - *) Исправление: в сборке модуля ngx_http_image_filter_module. - - *) Исправление: файлы больше 2G не передавались с использованием - $r->sendfile. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.7.54 01.05.2009 - - *) Добавление: модуль ngx_http_image_filter_module. - - *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers. - - *) Исправление: при использовании переменных "open_file_cache_errors on" - в рабочем процессе мог произойти segmentation fault; ошибка появилась - в 0.7.53. - - *) Исправление: директива "port_in_redirect off" не работала; ошибка - появилась в 0.7.39. - - *) Исправление: улучшение обработки ошибок метода select. - - *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows. - - *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows; - ошибка появилась в 0.7.53. - - -Изменения в nginx 0.7.53 27.04.2009 - - *) Изменение: теперь лог, указанный в --error-log-path, создаётся с - самого начала работы. - - *) Добавление: теперь ошибки и предупреждения при старте записываются в - error_log и выводятся на stderr. - - *) Добавление: при сборке с пустым параметром --prefix= nginx использует - как префикс каталог, в котором он был запущен. - - *) Добавление: ключ -p. - - *) Добавление: ключ -s на Unix-платформах. - - *) Добавление: ключи -? и -h. - Спасибо Jerome Loyet. - - *) Добавление: теперь ключи можно задавать в сжатой форме. - - *) Исправление: nginx/Windows не работал, если файл конфигурации был - задан ключом -c. - - *) Исправление: при использовании директив proxy_store, fastcgi_store, - proxy_cache или fastcgi_cache временные файлы могли не удаляться. - Спасибо Максиму Дунину. - - *) Исправление: в заголовке Auth-Method запроса серверу аутентификации - почтового прокси-сервера передавалось неверное значение; ошибка - появилась в 0.7.34. - Спасибо Simon Lecaille. - - *) Исправление: при логгировании на Linux не писались текстовые описания - системных ошибок; ошибка появилась в 0.7.45. - - *) Исправление: директива fastcgi_cache_min_uses не работала. - Спасибо Андрею Воробьёву. - - -Изменения в nginx 0.7.52 20.04.2009 - - *) Добавление: первая бинарная версия под Windows. - - *) Исправление: корректная обработка метода HEAD при кэшировании. - - *) Исправление: корректная обработка строк "If-Modified-Since", - "If-Range" и им подобных в заголовке запроса клиента при кэшировании. - - *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в - заголовке ответа для закэшированных ответов. - - *) Исправление: если nginx был собран с модулем ngx_http_perl_module и - perl поддерживал потоки, то при выходе основного процесса могла - выдаваться ошибка "panic: MUTEX_LOCK". - - *) Исправление: nginx не собирался с параметром --without-http-cache; - ошибка появилась в 0.7.48. - - *) Исправление: nginx не собирался на платформах, отличных от i386, - amd64, sparc и ppc; ошибка появилась в 0.7.42. - - -Изменения в nginx 0.7.51 12.04.2009 - - *) Добавление: директива try_files поддерживает код ответа в последнем - параметре. - - *) Добавление: теперь в директиве return можно использовать любой код - ответа. - - *) Исправление: директива error_page делала внешний редирект без строки - запроса; ошибка появилась в 0.7.44. - - *) Исправление: если сервера слушали на нескольких явно описанных - адресах, то виртуальные сервера могли не работать; ошибка появилась в - 0.7.39. - - -Изменения в nginx 0.7.50 06.04.2009 - - *) Исправление: переменные $arg_... не работали; ошибка появилась в - 0.7.49. - - -Изменения в nginx 0.7.49 06.04.2009 - - *) Исправление: при использовании переменных $arg_... в рабочем процессе - мог произойти segmentation fault; ошибка появилась в 0.7.48. - - -Изменения в nginx 0.7.48 06.04.2009 - - *) Добавление: директива proxy_cache_key. - - *) Исправление: теперь nginx учитывает при кэшировании строки - "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа - бэкенда. - - *) Исправление: теперь nginx кэширует только ответы на запросы GET. - - *) Исправление: директива fastcgi_cache_key не наследовалась. - - *) Исправление: переменные $arg_... не работали с SSI-подзапросами. - Спасибо Максиму Дунину. - - *) Исправление: nginx не собирался с библиотекой uclibc. - Спасибо Timothy Redaelli. - - *) Исправление: nginx не собирался на OpenBSD; ошибка появилась - в 0.7.46. - - -Изменения в nginx 0.7.47 01.04.2009 - - *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях; - ошибка появилась в 0.7.46. - - *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46. - - *) Исправление: если использовался параметр max_size, то cache manager - мог удалить весь кэш; ошибка появилась в 0.7.46. - - *) Изменение: в рабочем процессе мог произойти segmentation fault, если - директивы proxy_cache/fastcgi_cache и proxy_cache_valid/ - fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась - в 0.7.46. - - *) Исправление: в рабочем процессе мог произойти segmentation fault при - перенаправлении запроса проксированному или FastCGI-серверу с помощью - error_page или try_files; ошибка появилась в 0.7.44. - - -Изменения в nginx 0.7.46 30.03.2009 - - *) Исправление: архив предыдущего релиза был неверным. - - -Изменения в nginx 0.7.45 30.03.2009 - - *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно - задавать на разных уровнях. - - *) Изменение: параметр clean_time в директиве proxy_cache_path удалён. - - *) Добавление: параметр max_size в директиве proxy_cache_path. - - *) Добавление: предварительная поддержка кэширования в модуле - ngx_http_fastcgi_module. - - *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе - указываются названия директивы и зоны. - - *) Исправление: директива "add_header last-modified ''" не удаляла в - заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44. - - *) Исправление: в директиве auth_basic_user_file не работал - относительный путь, заданный строкой без переменных; ошибка появилась - в 0.7.44. - Спасибо Jerome Loyet. - - *) Исправление: в директиве alias, заданной переменными без ссылок на - выделения в регулярных выражениях; ошибка появилась в 0.7.42. - - -Изменения в nginx 0.7.44 23.03.2009 - - *) Добавление: предварительная поддержка кэширования в модуле - ngx_http_proxy_module. - - *) Добавление: параметр --with-pcre в configure. - - *) Добавление: теперь директива try_files может быть использована на - уровне server. - - *) Исправление: директива try_files неправильно обрабатывала строку - запроса в последнем параметре. - - *) Исправление: директива try_files могла неверно тестировать каталоги. - - *) Исправление: если для пары адрес:порт описан только один сервер, то - выделения в регулярных выражениях в директиве server_name не - работали. - - -Изменения в nginx 0.7.43 18.03.2009 - - *) Исправление: запрос обрабатывался неверно, если директива root - использовала переменные; ошибка появилась в 0.7.42. - - *) Исправление: если сервер слушал на адресах типа "*", то значение - переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36. - - -Изменения в nginx 0.7.42 16.03.2009 - - *) Изменение: ошибка "Invalid argument", возвращаемая - setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется. - - *) Изменение: при отсутствии файла, указанного в директиве - auth_basic_user_file, теперь возвращается ошибка 403 вместо 500. - - *) Добавление: директива auth_basic_user_file поддерживает переменные. - Спасибо Кириллу Коринскому. - - *) Добавление: директива listen поддерживает параметр ipv6only. - Спасибо Zhang Hua. - - *) Исправление: в директиве alias со ссылками на выделения в регулярных - выражениях; ошибка появилась в 0.7.40. - - *) Исправление: совместимость с Tru64 UNIX. - Спасибо Dustin Marquess. - - *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась - в 0.7.41. - - -Изменения в nginx 0.7.41 11.03.2009 - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если в server_name или location были выделения в регулярных - выражениях; ошибка появилась в 0.7.40. - Спасибо Владимиру Сопоту. - - -Изменения в nginx 0.7.40 09.03.2009 - - *) Добавление: директива location поддерживает выделения в регулярных - выражениях. - - *) Добавление: директиву alias с ссылками на выделения в регулярных - выражениях можно использовать внутри location'а, заданного регулярным - выражением с выделениями. - - *) Добавление: директива server_name поддерживает выделения в регулярных - выражениях. - - *) Изменение: модуль ngx_http_autoindex_module не показывал последний - слэш для каталогов на файловой системе XFS; ошибка появилась в - 0.7.15. - Спасибо Дмитрию Кузьменко. - - -Изменения в nginx 0.7.39 02.03.2009 - - *) Исправление: при включённом сжатии большие ответы с использованием - SSI могли зависать; ошибка появилась в 0.7.28. - Спасибо Артёму Бохану. - - *) Исправление: при использовании коротких статических вариантов в - директиве try_files в рабочем процессе мог произойти segmentation - fault. - - -Изменения в nginx 0.7.38 23.02.2009 - - *) Добавление: логгирование ошибок аутентификации. - - *) Исправление: имя/пароль, заданные в auth_basic_user_file, - игнорировались после нечётного числа пустых строк. - Спасибо Александру Загребину. - - *) Исправление: при использовании длинного пути в unix domain сокете в - главном процессе происходил segmentation fault; ошибка появилась в - 0.7.36. - - -Изменения в nginx 0.7.37 21.02.2009 - - *) Исправление: директивы, использующие upstream'ы, не работали; ошибка - появилась в 0.7.36. - - -Изменения в nginx 0.7.36 21.02.2009 - - *) Добавление: предварительная поддержка IPv6; директива listen модуля - HTTP поддерживает IPv6. - - *) Исправление: переменная $ancient_browser не работала для браузеров, - заданных директивами modern_browser. - - -Изменения в nginx 0.7.35 16.02.2009 - - *) Исправление: директива ssl_engine не использовала SSL-акселератор для - асимметричных шифров. - Спасибо Marcin Gozdalik. - - *) Исправление: директива try_files выставляла MIME-type, исходя из - расширения первоначального запроса. - - *) Исправление: в директивах server_name, valid_referers и map - неправильно обрабатывались имена вида "*domain.tld", если - использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; - ошибка появилась в 0.7.9. - - -Изменения в nginx 0.7.34 10.02.2009 - - *) Добавление: параметр off в директиве if_modified_since. - - *) Добавление: теперь после команды XCLIENT nginx посылает команду - HELO/EHLO. - Спасибо Максиму Дунину. - - *) Добавление: поддержка Microsoft-специфичного режима - "AUTH LOGIN with User Name" в почтовом прокси-сервере. - Спасибо Максиму Дунину. - - *) Исправление: в директиве rewrite, возвращающей редирект, старые - аргументы присоединялись к новым через символ "?" вместо "&"; - ошибка появилась в 0.1.18. - Спасибо Максиму Дунину. - - *) Исправление: nginx не собирался на AIX. - - -Изменения в nginx 0.7.33 02.02.2009 - - *) Исправление: если на запрос с телом возвращался редирект, то ответ - мог быть двойным при использовании методов epoll или rtsig. - Спасибо Eden Li. - - *) Исправление: для некоторых типов редиректов в переменной - $sent_http_location было пустое значение. - - *) Исправление: при использовании директивы resolver в SMTP - прокси-сервере в рабочем процессе мог произойти segmentation fault. - - -Изменения в nginx 0.7.32 26.01.2009 - - *) Добавление: теперь в директиве try_files можно явно указать проверку - каталога. - - *) Исправление: fastcgi_store не всегда сохранял файлы. - - *) Исправление: в гео-диапазонах. - - *) Исправление: ошибки выделения больших блоков в разделяемой памяти, - если nginx был собран без отладки. - Спасибо Андрею Квасову. - - -Изменения в nginx 0.7.31 19.01.2009 - - *) Изменение: теперь директива try_files проверяет только файлы, - игнорируя каталоги. - - *) Добавление: директива fastcgi_split_path_info. - - *) Исправления в поддержке строки "Expect" в заголовке запроса. - - *) Исправления в гео-диапазонах. - - *) Исправление: при отсутствии ответа ngx_http_memcached_module - возвращал в теле ответа строку "END" вместо 404-ой страницы по - умолчанию; ошибка появилась в 0.7.18. - Спасибо Максиму Дунину. - - *) Исправление: при проксировании SMTP nginx выдавал сообщение - "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.7.30 24.12.2008 - - *) Исправление: в рабочем процессе происходил segmentation fault, если в - директивах fastcgi_pass или proxy_pass использовались переменные и - имя хоста должно было резолвиться; ошибка появилась в 0.7.29. - - -Изменения в nginx 0.7.29 24.12.2008 - - *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали - переменные при использовании unix domain сокетов. - - *) Исправления в обработке подзапросов; ошибки появились в 0.7.25. - - *) Исправление: ответ "100 Continue" выдавался для запросов версии - HTTP/1.0; - Спасибо Максиму Дунину. - - *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module - под Cygwin. - - -Изменения в nginx 0.7.28 22.12.2008 - - *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module. - - *) Изменение: значения по умолчанию для директивы gzip_buffers изменены - с 4 4k/8k на 32 4k или 16 8k. - - -Изменения в nginx 0.7.27 15.12.2008 - - *) Добавление: директива try_files. - - *) Добавление: директива fastcgi_pass поддерживает переменные. - - *) Добавление: теперь директива geo может брать адрес из переменной. - Спасибо Андрею Нигматулину. - - *) Добавление: теперь модификатор location'а можно указывать без пробела - перед названием. - - *) Добавление: переменная $upstream_response_length. - - *) Исправление: теперь директива add_header не добавляет пустое - значение. - - *) Исправление: при запросе файла нулевой длины nginx закрывал - соединение, ничего не передав; ошибка появилась в 0.7.25. - - *) Исправление: метод MOVE не мог перемещать файл в несуществующий - каталог. - - *) Исправление: если в сервере не был описан ни один именованный - location, но такой location использовался в директиве error_page, то - в рабочем процессе происходил segmentation fault. - Спасибо Сергею Боченкову. - - -Изменения в nginx 0.7.26 08.12.2008 - - *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25. - - -Изменения в nginx 0.7.25 08.12.2008 - - *) Изменение: в обработке подзапросов. - - *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в - заголовке запроса. - - *) Исправление: теперь директивы limit_req и limit_conn указывают - причину запрета запроса. - - *) Исправление: в параметре delete директивы geo. - - -Изменения в nginx 0.7.24 01.12.2008 - - *) Добавление: директива if_modified_since. - - *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед - ответом сервер передавал много сообщений в stderr. - - *) Исправление: переменные "$cookie_..." не работали в SSI and в - перловом модуле. - - -Изменения в nginx 0.7.23 27.11.2008 - - *) Добавление: параметры delete и ranges в директиве geo. - - *) Добавление: ускорение загрузки geo-базы с большим числом значений. - - *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы. - - -Изменения в nginx 0.7.22 20.11.2008 - - *) Добавление: параметр none в директиве smtp_auth. - Спасибо Максиму Дунину. - - *) Добавление: переменные "$cookie_...". - - *) Исправление: директива directio не работала с файловой системой XFS. - - *) Исправление: resolver не понимал большие DNS-ответы. - Спасибо Zyb. - - -Изменения в nginx 0.7.21 11.11.2008 - - *) Изменения в модуле ngx_http_limit_req_module. - - *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module. - Спасибо Денису Латыпову. - - *) Изменение: совместимость с glibc 2.3. - Спасибо Eric Benson и Максиму Дунину. - - *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних; - ошибка появилась в 0.7.6. - - -Изменения в nginx 0.7.20 10.11.2008 - - *) Изменения в модуле ngx_http_gzip_filter_module. - - *) Добавление: модуль ngx_http_limit_req_module. - - *) Исправление: на платформах sparc и ppc рабочие процессы могли - выходить по сигналу SIGBUS; ошибка появилась в 0.7.3. - Спасибо Максиму Дунину. - - *) Исправление: директивы вида "proxy_pass http://host/some:uri" не - работали; ошибка появилась в 0.7.12. - - *) Исправление: при использовании HTTPS запросы могли завершаться с - ошибкой "bad write retry". - - *) Исправление: модуль ngx_http_secure_link_module не работал внутри - location'ов с именами меньше 3 символов. - - *) Исправление: переменная $server_addr могла не иметь значения. - - -Изменения в nginx 0.7.19 13.10.2008 - - *) Исправление: обновление номера версии. - - -Изменения в nginx 0.7.18 13.10.2008 - - *) Изменение: директива underscores_in_headers; теперь nginx по - умолчанию не разрешает подчёркивания в именах строк в заголовке - запроса клиента. - - *) Добавление: модуль ngx_http_secure_link_module. - - *) Добавление: директива real_ip_header поддерживает любой заголовок. - - *) Добавление: директива log_subrequest. - - *) Добавление: переменная $realpath_root. - - *) Добавление: параметры http_502 и http_504 в директиве - proxy_next_upstream. - - *) Исправление: параметр http_503 в директивах proxy_next_upstream или - fastcgi_next_upstream не работал. - - *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked" - для запросов HEAD. - - *) Исправление: теперь accept-лимит зависит от числа worker_connections. - - -Изменения в nginx 0.7.17 15.09.2008 - - *) Добавление: директива directio теперь работает на Linux. - - *) Добавление: переменная $pid. - - *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала - при использовании open_file_cache. - - *) Исправление: access_log с переменными не работал на Linux; ошибка - появилась в 0.7.7. - - *) Исправление: модуль ngx_http_charset_module не понимал название - кодировки в кавычках, полученное от бэкенда. - - -Изменения в nginx 0.7.16 08.09.2008 - - *) Исправление: nginx не собирался на 64-битных платформах; ошибка - появилась в 0.7.15. - - -Изменения в nginx 0.7.15 08.09.2008 - - *) Добавление: модуль ngx_http_random_index_module. - - *) Добавление: директива directio оптимизирована для запросов файлов, - начинающихся с произвольной позиции. - - *) Добавление: директива directio при необходимости запрещает - использование sendfile. - - *) Добавление: теперь nginx разрешает подчёркивания в именах строк в - заголовке запроса клиента. - - -Изменения в nginx 0.7.14 01.09.2008 - - *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не - имеют значений по умолчанию. - - *) Добавление: директива listen поддерживает параметр ssl. - - *) Добавление: теперь при переконфигурации nginx учитывает изменение - временной зоны на FreeBSD и Linux. - - *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и - прочие, не устанавливались, если сервером по умолчанию был не первый - сервер. - - *) Исправление: при использовании в качестве аргументов части URI, - выделенного с помощью директивы rewrite, эти аргументы не - экранировались. - - *) Исправление: улучшения тестирования правильности конфигурационного - файла. - - -Изменения в nginx 0.7.13 26.08.2008 - - *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась - в 0.7.12. - - -Изменения в nginx 0.7.12 26.08.2008 - - *) Добавление: директива server_name поддерживает пустое имя "". - - *) Добавление: директива gzip_disable поддерживает специальную маску - msie6. - - *) Исправление: при использовании параметра max_fails=0 в upstream'е с - несколькими серверами рабочий процесс выходил по сигналу SIGFPE. - Спасибо Максиму Дунину. - - *) Исправление: при перенаправлении запроса с помощью директивы - error_page терялось тело запроса. - - *) Исправление: при перенаправлении запроса с методом HEAD с помощью - директивы error_page возвращался полный ответ. - - *) Исправление: метод $r->header_in() не возвращал значения строк - "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка - появилась в 0.7.0. - - -Изменения в nginx 0.7.11 18.08.2008 - - *) Изменение: теперь ngx_http_charset_module по умолчанию не работает - MIME-типом text/css. - - *) Добавление: теперь nginx возвращает код 405 для метода POST при - запросе статического файла, только если файл существует. - - *) Добавление: директива proxy_ssl_session_reuse. - - *) Исправление: после перенаправления запроса с помощью - "X-Accel-Redirect" директива proxy_pass без URI могла использовать - оригинальный запрос. - - *) Исправление: если у каталога были права доступа только на поиск - файлов и первый индексный файл отсутствовал, то nginx возвращал - ошибку 500. - - *) Исправление: ошибок во вложенных location'ах; ошибки появились в - 0.7.1. - - -Изменения в nginx 0.7.10 13.08.2008 - - *) Исправление: ошибок в директивах addition_types, charset_types, - gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки - появились в 0.7.9. - - *) Исправление: рекурсивной error_page для 500 ошибки. - - *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес - не для всего keepalive соединения, а для каждого запроса по этому - соединению. - - -Изменения в nginx 0.7.9 12.08.2008 - - *) Изменение: теперь ngx_http_charset_module по умолчанию работает со - следующими MIME-типами: text/html, text/css, text/xml, text/plain, - text/vnd.wap.wml, application/x-javascript и application/rss+xml. - - *) Добавление: директивы charset_types и addition_types. - - *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types - используют хэш. - - *) Добавление: модуль ngx_cpp_test_module. - - *) Добавление: директива expires поддерживает суточное время. - - *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module. - Спасибо Денису Латыпову и Максиму Дунину. - - *) Исправление: директива log_not_found не работала при поиске индексных - файлов. - - *) Исправление: HTTPS-соединения могли зависнуть, если использовались - методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7. - - *) Исправление: если в директивах server_name, valid_referers и map - использовалась маска вида "*.domain.tld" и при этом полное имя вида - "domain.tld" не было описано, то это имя попадало под маску; ошибка - появилась в 0.3.18. - - -Изменения в nginx 0.7.8 04.08.2008 - - *) Добавление: модуль ngx_http_xslt_module. - - *) Добавление: переменные "$arg_...". - - *) Добавление: поддержка directio в Solaris. - Спасибо Ivan Debnar. - - *) Исправление: теперь, если FastCGI-сервер присылает строку "Location" - в заголовке ответа без строки статуса, то nginx использует код - статуса 302. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.7.7 30.07.2008 - - *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается - временной. - - *) Изменение: значением переменной $ssl_client_cert теперь является - сертификат, перед каждой строкой которого, кроме первой, вставляется - символ табуляции; неизменённый сертификат доступен через переменную - $ssl_client_raw_cert. - - *) Добавление: параметр ask директивы ssl_verify_client. - - *) Добавление: улучшения в обработке byte-range. - Спасибо Максиму Дунину. - - *) Добавление: директива directio. - Спасибо Jiang Hong. - - *) Добавление: поддержка sendfile() в MacOSX 10.5. - - *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь - делается сравнение без учёта регистра символов; однако, сравнение - ограничено только однобайтными locale'ями. - - *) Исправление: соединения почтового прокси-сервера зависали в режиме - SSL, если использовались методы select, poll или /dev/poll. - - *) Исправление: ошибки при использовании кодировки UTF-8 в - ngx_http_autoindex_module. - - -Изменения в nginx 0.7.6 07.07.2008 - - *) Исправление: теперь при использовании переменных в директиве - access_log всегда проверяется существовании root'а для запроса. - - *) Исправление: модуль ngx_http_flv_module не поддерживал несколько - значений в аргументах запроса. - - -Изменения в nginx 0.7.5 01.07.2008 - - *) Исправления в поддержке переменных в директиве access_log; ошибки - появились в 0.7.4. - - *) Исправление: nginx не собирался с параметром - --without-http_gzip_module; ошибка появилась в 0.7.3. - Спасибо Кириллу Коринскому. - - *) Исправление: при совместном использовании sub_filter и SSI ответы - могли передаваться неверно. - - -Изменения в nginx 0.7.4 30.06.2008 - - *) Добавление: директива access_log поддерживает переменные. - - *) Добавление: директива open_log_file_cache. - - *) Добавление: ключ -g. - - *) Добавление: поддержка строки "Expect" в заголовке запроса. - - *) Исправление: большие включения в SSI могли передавались не полностью. - - -Изменения в nginx 0.7.3 23.06.2008 - - *) Изменение: MIME-тип для расширения rss изменён на - "application/rss+xml". - - *) Изменение: теперь директива "gzip_vary on" выдаёт строку - "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов. - - *) Добавление: теперь при использовании протокола "https://" в директиве - rewrite автоматически делается редирект. - - *) Исправление: директива proxy_pass не работала с протоколом HTTPS; - ошибка появилась в 0.6.9. - - -Изменения в nginx 0.7.2 16.06.2008 - - *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами. - - *) Добавление: директива ssl_dhparam. - - *) Добавление: переменная $ssl_client_cert. - Спасибо Manlio Perillo. - - *) Исправление: после изменения URI с помощью директивы rewrite nginx не - искал новый location; ошибка появилась в 0.7.1. - Спасибо Максиму Дунину. - - *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась - в 0.7.1. - - *) Исправление: при редиректе запроса к каталогу с добавлением слэша - nginx не добавлял аргументы из оригинального запроса. - - -Изменения в nginx 0.7.1 26.05.2008 - - *) Изменение: теперь поиск location'а делается с помощью дерева. - - *) Изменение: директива optimize_server_names упразднена в связи с - появлением директивы server_name_in_redirect. - - *) Изменение: некоторые давно устаревшие директивы больше не - поддерживаются. - - *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот - параметр используется по умолчанию. - Спасибо Rob Mueller. - - *) Исправление: рабочие процессы могли не реагировать на сигналы - переконфигурации и ротации логов. - - *) Исправление: nginx не собирался на последних Fedora 9 Linux. - Спасибо Roxis. - - -Изменения в nginx 0.7.0 19.05.2008 - - *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log - записываются в виде \xXX. - Спасибо Максиму Дунину. - - *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке - запроса. - - *) Добавление: директива expires поддерживает флаг modified. - - *) Добавление: переменные $uid_got и $uid_set можно использовать на - любой стадии обработки запроса. - - *) Добавление: переменная $hostname. - Спасибо Андрею Нигматулину. - - *) Добавление: поддержка DESTDIR. - Спасибо Todd A. Fisher и Andras Voroskoi. - - *) Исправление: при использовании keepalive на Linux в рабочем процессе - мог произойти segmentation fault. - - -Изменения в nginx 0.6.31 12.05.2008 - - *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка - заголовка ответа была в конце записи FastCGI; ошибка появилась в - 0.6.2. - Спасибо Сергею Серову. - - *) Исправление: при удалении файла и использовании директивы - open_file_cache_errors off в рабочем процессе мог произойти - segmentation fault. - - -Изменения в nginx 0.6.30 29.04.2008 - - *) Изменение: теперь, если маске, заданной в директиве include, не - соответствует ни один файл, то nginx не выдаёт ошибку. - - *) Добавление: теперь время в директивах можно задавать без пробела, - например, "1h50m". - - *) Исправление: утечек памяти, если директива ssl_verify_client имела - значение on. - Спасибо Chavelle Vincent. - - *) Исправление: директива sub_filter могла вставлять заменяемый текст в - вывод. - - *) Исправление: директива error_page не воспринимала параметры в - перенаправляемом URI. - - *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы - в бинарном режиме. - - *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в - 0.6.15. - - -Изменения в nginx 0.6.29 18.03.2008 - - *) Добавление: модуль ngx_google_perftools_module. - - *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных - платформах; ошибка появилась в 0.6.27. - - -Изменения в nginx 0.6.28 13.03.2008 - - *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27. - - -Изменения в nginx 0.6.27 12.03.2008 - - *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод - rtsig. - - *) Изменение: теперь при перенаправлении запроса в именованный location - с помощью директивы error_page метод запроса не изменяется. - - *) Добавление: директивы resolver и resolver_timeout в SMTP - прокси-сервере. - - *) Добавление: директива post_action поддерживает именованные - location'ы. - - *) Исправление: при перенаправлении запроса из location'а c обработчиком - proxy, FastCGI или memcached в именованный location со статическим - обработчиком в рабочем процессе происходил segmentation fault. - - *) Исправление: браузеры не повторяли SSL handshake, если при первом - handshake не оказалось правильного клиентского сертификата. - Спасибо Александру Инюхину. - - *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы - error_page без изменения кода ошибки nginx пытался выделить очень - много памяти. - - *) Исправление: утечки памяти в долгоживущих небуфферизированных - соединениях. - - *) Исправление: утечки памяти в resolver'е. - - *) Исправление: при перенаправлении запроса из location'а c обработчиком - proxy в другой location с обработчиком proxy в рабочем процессе - происходил segmentation fault. - - *) Исправление: ошибки в кэшировании переменных $proxy_host и - $proxy_port. - Спасибо Сергею Боченкову. - - *) Исправление: директива proxy_pass с переменными использовала порт, - описанной в другой директиве proxy_pass без переменных, но с таким же - именем хоста. - Спасибо Сергею Боченкову. - - *) Исправление: во время переконфигурации на некоторых 64-битном - платформах в лог записывался alert "sendmsg() failed (9: Bad file - descriptor)". - - *) Исправление: при повторном использовании в SSI пустого block'а в - качестве заглушки в рабочем процессе происходил segmentation fault. - - *) Исправление: ошибки при копировании части URI, содержащего - экранированные символы, в аргументы. - - -Изменения в nginx 0.6.26 11.02.2008 - - *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину - ответа. - - *) Исправление: при использовании большого значения в директиве expires - в рабочем процессе происходил segmentation fault. - Спасибо Joaquin Cuenca Abela. - - *) Исправление: nginx неверно определял длину строки кэша на Pentium 4. - Спасибо Геннадию Махомеду. - - *) Исправление: в проксированных подзапросах и подзапросах к - FastCGI-серверу вместо метода GET использовался оригинальный метод - клиента. - - *) Исправление: утечки сокетов в режиме HTTPS при использовании - отложенного accept'а. - Спасибо Ben Maurer. - - *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed - (SSL: )"; ошибка появилась в 0.6.23. - - *) Исправление: при использовании HTTPS запросы могли завершаться с - ошибкой "bad write retry"; ошибка появилась в 0.6.23. - - -Изменения в nginx 0.6.25 08.01.2008 - - *) Изменение: вместо специального параметра "*" в директиве server_name - теперь используется директива server_name_in_redirect. - - *) Изменение: в качестве основного имени в директиве server_name теперь - можно использовать имена с масками и регулярными выражениями. - - *) Изменение: директива satisfy_any заменена директивой satisfy. - - *) Изменение: после переконфигурации старые рабочие процесс могли сильно - нагружать процессор при запуске под Linux OpenVZ. - - *) Добавление: директива min_delete_depth. - - *) Исправление: методы COPY и MOVE не работали с одиночными файлами. - - *) Исправление: модуль ngx_http_gzip_static_module не позволял работать - модулю ngx_http_dav_module; ошибка появилась в 0.6.23. - - *) Исправление: утечки сокетов в режиме HTTPS при использовании - отложенного accept'а. - Спасибо Ben Maurer. - - *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась - в 0.6.23. - - -Изменения в nginx 0.6.24 27.12.2007 - - *) Исправление: при использовании HTTPS в рабочем процессе мог произойти - segmentation fault; ошибка появилась в 0.6.23. - - -Изменения в nginx 0.6.23 27.12.2007 - - *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот - параметр используется по умолчанию. - - *) Изменение: директива open_file_cache_retest переименована в - open_file_cache_valid. - - *) Добавление: директива open_file_cache_min_uses. - - *) Добавление: модуль ngx_http_gzip_static_module. - - *) Добавление: директива gzip_disable. - - *) Добавление: директиву memcached_pass можно использовать внутри блока - if. - - *) Исправление: если внутри одного location'а использовались директивы - "memcached_pass" и "if", то в рабочем процессе происходил - segmentation fault. - - *) Исправление: если при использовании директивы satisfy_any on" были - заданы директивы не всех модулей доступа, то заданные директивы не - проверялись. - - *) Исправление: параметры, заданные регулярным выражением в директиве - valid_referers, не наследовалась с предыдущего уровня. - - *) Исправление: директива post_action не работала, если запрос - завершался с кодом 499. - - *) Исправление: оптимизация использования 16K буфера для SSL-соединения. - Спасибо Ben Maurer. - - *) Исправление: STARTTLS в режиме SMTP не работал. - Спасибо Олегу Мотиенко. - - *) Исправление: при использовании HTTPS запросы могли завершаться с - ошибкой "bad write retry"; ошибка появилась в 0.5.13. - - -Изменения в nginx 0.6.22 19.12.2007 - - *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают - значения, скопированные в память, выделенную perl'ом. - - *) Исправление: если nginx был собран с модулем ngx_http_perl_module, - использовался perl до версии 5.8.6 и perl поддерживал потоки, то во - время переконфигурации основной процесс аварийно выходил; ошибка - появилась в 0.5.9. - Спасибо Борису Жмурову. - - *) Исправление: в методы модуля ngx_http_perl_module могли передаваться - неверные результаты выделения в регулярных выражениях. - - *) Исправление: если метод $r->has_request_body() вызывался для запроса, - у которого небольшое тело запроса было уже полностью получено, то в - рабочем процессе происходил segmentation fault. - - *) Исправление: large_client_header_buffers не освобождались перед - переходом в состояние keep-alive. - Спасибо Олександру Штепе. - - *) Исправление: в переменной $upstream_addr не записывался последний - адрес; ошибка появилась в 0.6.18. - - *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку; - теперь она возвращает ошибку 502, которую можно направить на - следующий сервер с помощью "fastcgi_next_upstream invalid_header". - - *) Исправление: при использовании директивы fastcgi_catch_stderr в - основном процессе происходил segmentation fault; ошибка появилась в - 0.6.10. - Спасибо Manlio Perillo. - - -Изменения в nginx 0.6.21 03.12.2007 - - *) Изменение: если в значениях переменных директивы proxy_pass - используются только IP-адреса, то указывать resolver не нужно. - - *) Исправление: при использовании директивы proxy_pass c URI-частью в - рабочем процессе мог произойти segmentation fault; ошибка появилась в - 0.6.19. - - *) Исправление: если resolver использовался на платформах, не - поддерживающих метод kqueue, то nginx выдавал alert "name is out of - response". - Спасибо Андрею Нигматулину. - - *) Исправление: При использовании переменной $server_protocol в - FastCGI-параметрах и запросе, длина которого была близка к значению - директивы client_header_buffer_size, nginx выдавал alert "fastcgi: - the request record is too big". - - *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу - nginx возвращал обычный ответ. - - -Изменения в nginx 0.6.20 28.11.2007 - - *) Исправление: при использовании директивы proxy_pass c URI-частью в - рабочем процессе мог произойти segmentation fault; ошибка появилась в - 0.6.19. - - -Изменения в nginx 0.6.19 27.11.2007 - - *) Исправление: версия 0.6.18 не собиралась. - - -Изменения в nginx 0.6.18 27.11.2007 - - *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером - процесса добавляет микросекунды на время старта. - - *) Изменение: в error_log теперь записывается полная строка запроса - вместо только URI. - - *) Добавление: директива proxy_pass поддерживает переменные. - - *) Добавление: директивы resolver и resolver_timeout. - - *) Добавление: теперь директива "add_header last-modified ''" удаляет в - заголовке ответа строку "Last-Modified". - - *) Исправление: директива limit_rate не позволяла передавать на полной - скорости, даже если был указан очень большой лимит. - - -Изменения в nginx 0.6.17 15.11.2007 - - *) Добавление: поддержка строки "If-Range" в заголовке запроса. - Спасибо Александру Инюхину. - - *) Исправление: при использовании директивы msie_refresh повторно - экранировались уже экранированные символы; ошибка появилась в 0.6.4. - - *) Исправление: директива autoindex не работала при использовании "alias - /". - - *) Исправление: при использовании подзапросов в рабочем процессе мог - произойти segmentation fault. - - *) Исправление: при использовании SSL и gzip большие ответы могли - передаваться не полностью. - - *) Исправление: если ответ проксированного сервера был версии HTTP/0.9, - то переменная $status была равна 0. - - -Изменения в nginx 0.6.16 29.10.2007 - - *) Изменение: теперь на Linux используется uname(2) вместо procfs. - Спасибо Илье Новикову. - - *) Исправление: если в директиве error_page использовался символ "?", то - он экранировался при проксировании запроса; ошибка появилась в - 0.6.11. - - *) Исправление: совместимость с mget. - - -Изменения в nginx 0.6.15 22.10.2007 - - *) Добавление: совместимость с Cygwin. - Спасибо Владимиру Кутакову. - - *) Добавление: директива merge_slashes. - - *) Добавление: директива gzip_vary. - - *) Добавление: директива server_tokens. - - *) Исправление: nginx не раскодировал URI в команде SSI include. - - *) Исправление: при использовании переменной в директивах charset или - source_charset на старте или во время переконфигурации происходил - segmentation fault, - - *) Исправление: nginx возвращал ошибку 400 на запросы вида - "GET http://www.domain.com HTTP/1.0". - Спасибо James Oakley. - - *) Исправление: после перенаправления запроса с телом запроса с помощью - директивы error_page nginx пытался снова прочитать тело запроса; - ошибка появилась в 0.6.7. - - *) Исправление: в рабочем процессе происходил segmentation fault, если у - сервера, обрабатывающему запрос, не был явно определён server_name; - ошибка появилась в 0.6.7. - - -Изменения в nginx 0.6.14 15.10.2007 - - *) Изменение: теперь по умолчанию команда SSI echo использует - кодирование entity. - - *) Добавление: параметр encoding в команде SSI echo. - - *) Добавление: директиву access_log можно использовать внутри блока - limit_except. - - *) Исправление: если все сервера апстрима оказывались недоступными, то - до восстановления работоспособности у всех серверов вес становился - равным одному; ошибка появилась в 0.6.6. - - *) Исправление: при использовании переменных $date_local и $date_gmt вне - модуля ngx_http_ssi_filter_module в рабочем процессе происходил - segmentation fault. - - *) Исправление: при использовании включённом отладочном логе в рабочем - процессе мог произойти segmentation fault. - Спасибо Андрею Нигматулину. - - *) Исправление: ngx_http_memcached_module не устанавливал - $upstream_response_time. - Спасибо Максиму Дунину. - - *) Исправление: рабочий процесс мог зациклиться при использовании - memcached. - - *) Исправление: nginx распознавал параметры "close" и "keep-alive" в - строке "Connection" в заголовке запроса только, если они были в - нижнем регистре; ошибка появилась в 0.6.11. - - *) Исправление: sub_filter не работал с пустой строкой замены. - - *) Исправление: в парсинге sub_filter. - - -Изменения в nginx 0.6.13 24.09.2007 - - *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если - использовался autoindex - Спасибо Arkadiusz Patyk. - - -Изменения в nginx 0.6.12 21.09.2007 - - *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap - и smtp. - - *) Добавление: параметры конфигурации --without-mail_pop3_module, - --without-mail_imap_module и --without-mail_smtp_module. - - *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля - ngx_mail_smtp_module. - - *) Исправление: wildcard в конце имени сервера не работали; ошибка - появилась в 0.6.9. - - *) Исправление: при использовании разделяемой библиотеки PCRE, - расположенной в нестандартном месте, nginx не запускался на Solaris. - - *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не - скрывали строки заголовка ответа с именем больше 32 символов. - Спасибо Manlio Perillo. - - -Изменения в nginx 0.6.11 11.09.2007 - - *) Исправление: счётчик активных соединений всегда рос при использовании - почтового прокси-сервера. - - *) Исправление: если бэкенд возвращал только заголовок ответа при - небуферизированном проксировании, то nginx закрывал соединение с - бэкендом по таймауту. - - *) Исправление: nginx не поддерживал несколько строк "Connection" в - заголовке запроса. - - *) Исправление: если в сервере апстрима был задан max_fails, то после - первой же неудачной попытки вес сервера навсегда становился равным - одному; ошибка появилась в 0.6.6. - - -Изменения в nginx 0.6.10 03.09.2007 - - *) Добавление: директивы open_file_cache, open_file_cache_retest и - open_file_cache_errors. - - *) Исправление: утечки сокетов; ошибка появилась в 0.6.7. - - *) Исправление: В строку заголовка ответа "Content-Type", указанную в - методе $r->send_http_header(), не добавлялась кодировка, указанная в - директиве charset. - - *) Исправление: при использовании метода /dev/poll в рабочем процессе - мог произойти segmentation fault. - - -Изменения в nginx 0.6.9 28.08.2007 - - *) Исправление: рабочий процесс мог зациклиться при использовании - протокола HTTPS; ошибка появилась в 0.6.7. - - *) Исправление: если сервер слушал на двух адресах или портах, то nginx - не запускался при использовании wildcard в конце имени сервера. - - *) Исправление: директива ip_hash могла неверно помечать сервера как - нерабочие. - - *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8. - - -Изменения в nginx 0.6.8 20.08.2007 - - *) Изменение: теперь nginx пытается установить директивы - worker_priority, worker_rlimit_nofile, worker_rlimit_core, - worker_rlimit_sigpending без привилегий root'а. - - *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче - запроса серверу аутентификации почтового прокси-сервера. - - *) Изменение: теперь nginx экранирует символ "%" в переменной - $memcached_key. - - *) Исправление: при указании относительного пути к конфигурационному - файлу в качестве параметра ключа -c nginx определял путь относительно - конфигурационного префикса; ошибка появилась в 0.6.6. - - *) Исправление: nginx не работал на FreeBSD/sparc64. - - -Изменения в nginx 0.6.7 15.08.2007 - - *) Изменение: теперь пути, указанные в директивах include, - auth_basic_user_file, perl_modules, ssl_certificate, - ssl_certificate_key и ssl_client_certificate, определяются - относительно каталога конфигурационного файла nginx.conf, а не - относительно префикса. - - *) Изменение: параметр --sysconfdir=PATH в configure упразднён. - - *) Изменение: для обновления на лету версий 0.1.x создан специальный - сценарий make upgrade1. - - *) Добавление: директивы server_name и valid_referers поддерживают - регулярные выражения. - - *) Добавление: директива server в блоке upstream поддерживает параметр - backup. - - *) Добавление: модуль ngx_http_perl_module поддерживает метод - $r->discard_request_body. - - *) Добавление: директива "add_header Last-Modified ..." меняет строку - "Last-Modified" в заголовке ответа. - - *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP - отличным от 200, и после этого запроса соединение переходило в - состояние keep-alive, то на следующий запрос nginx возвращал 400. - - *) Исправление: если в директиве auth_http был задан неправильный адрес, - то в рабочем процессе происходил segmentation fault. - - *) Исправление: теперь по умолчанию nginx использует значение 511 для - listen backlog на всех платформах, кроме FreeBSD. - Спасибо Jiang Hong. - - *) Исправление: рабочий процесс мог зациклиться, если server в блоке - upstream был помечен как down; ошибка появилась в 0.6.6. - - *) Исправление: sendfilev() в Solaris теперь не используется при - передаче тела запроса FastCGI-серверу через unix domain сокет. - - -Изменения в nginx 0.6.6 30.07.2007 - - *) Добавление: параметр --sysconfdir=PATH в configure. - - *) Добавление: именованные location'ы. - - *) Добавление: переменную $args можно устанавливать с помощью set. - - *) Добавление: переменная $is_args. - - *) Исправление: равномерное распределение запросов к апстримам с - большими весами. - - *) Исправление: если клиент в почтовом прокси-сервере закрывал - соединение, то nginx мог не закрывать соединение с бэкендом. - - *) Исправление: при использовании одного хоста в качестве бэкендов для - протоколов HTTP и HTTPS без явного указания портов, nginx использовал - только один порт - 80 или 443. - - *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и - более ранними версиями; ошибка появилась в 0.6.4. - - -Изменения в nginx 0.6.5 23.07.2007 - - *) Добавление: переменная $nginx_version. - Спасибо Николаю Гречуху. - - *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме - IMAP. - Спасибо Максиму Дунину. - - *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме - SMTP. - Спасибо Максиму Дунину. - - *) Исправление: теперь nginx экранирует пробел в переменной - $memcached_key. - - *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64. - Спасибо Jiang Hong. - - *) Исправление: незначительных потенциальных ошибок. - Спасибо Coverity's Scan. - - -Изменения в nginx 0.6.4 17.07.2007 - - *) Безопасность: при использовании директивы msie_refresh был возможен - XSS. - Спасибо Максиму Богуку. - - *) Изменение: директивы proxy_store и fastcgi_store изменены. - - *) Добавление: директивы proxy_store_access и fastcgi_store_access. - - *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun - Studio. - Спасибо Андрею Нигматулину. - - *) Изменение: обход ошибки в Sun Studio 12. - Спасибо Jiang Hong. - - -Изменения в nginx 0.6.3 12.07.2007 - - *) Добавление: директивы proxy_store и fastcgi_store. - - *) Исправление: при использовании директивы auth_http_header в рабочем - процессе мог произойти segmentation fault. - Спасибо Максиму Дунину. - - *) Исправление: если использовался метод аутентификации CRAM-MD5, но он - не был разрешён, то в рабочем процессе происходил segmentation fault. - - *) Исправление: при использовании протокола HTTPS в директиве proxy_pass - в рабочем процессе мог произойти segmentation fault. - - *) Исправление: в рабочем процессе мог произойти segmentation fault, - если использовался метод eventport. - - *) Исправление: директивы proxy_ignore_client_abort и - fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13. - - -Изменения в nginx 0.6.2 09.07.2007 - - *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то - nginx передавал клиенту мусор в таких заголовках. - - -Изменения в nginx 0.6.1 17.06.2007 - - *) Исправление: в парсинге SSI. - - *) Исправление: при использовании удалённого подзапроса в SSI - последующий подзапрос локального файла мог отдаваться клиенту в - неверном порядке. - - *) Исправление: большие включения в SSI, сохранённые во временные файлы, - передавались не полностью. - - *) Исправление: значение perl'овой переменной $$ модуля - ngx_http_perl_module было равно номеру главного процесса. - - -Изменения в nginx 0.6.0 14.06.2007 - - *) Добавление: директивы "server_name", "map", and "valid_referers" - поддерживают маски вида "www.example.*". - - -Изменения в nginx 0.5.25 11.06.2007 - - *) Исправление: nginx не собирался с параметром - --without-http_rewrite_module; ошибка появилась в 0.5.24. - - -Изменения в nginx 0.5.24 06.06.2007 - - *) Безопасность: директива ssl_verify_client не работала, если запрос - выполнялся по протоколу HTTP/0.9. - - *) Исправление: при использовании сжатия часть ответа могла передаваться - несжатой; ошибка появилась в 0.5.23. - - -Изменения в nginx 0.5.23 04.06.2007 - - *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS - Server Name Indication. - - *) Добавление: директива fastcgi_catch_stderr. - Спасибо Николаю Гречуху, проект OWOX. - - *) Исправление: на Линуксе в основном процессе происходил segmentation - fault, если два виртуальных сервера должны bind()ится к - пересекающимся портам. - - *) Исправление: если nginx был собран с модулем ngx_http_perl_module и - perl поддерживал потоки, то во время второй переконфигурации - выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". - - *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. - - -Изменения в nginx 0.5.22 29.05.2007 - - *) Исправление: большое тело запроса могло не передаваться бэкенду; - ошибка появилась в 0.5.21. - - -Изменения в nginx 0.5.21 28.05.2007 - - *) Исправление: если внутри сервера описано больше примерно десяти - location'ов, то location'ы, заданные с помощью регулярного выражения, - могли выполняться не в том, порядке, в каком они описаны. - - *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться, - если 33-тий по счёту или последующий бэкенд упал. - Спасибо Антону Поварову. - - *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог - произойти bus error. - Спасибо Андрею Нигматулину. - - *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. - - -Изменения в nginx 0.5.20 07.05.2007 - - *) Добавление: директива sendfile_max_chunk. - - *) Добавление: переменные "$http_...", "$sent_http_..." и - "$upstream_http_..." можно менять директивой set. - - *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в - рабочем процессе мог произойти segmentation fault. - - *) Исправление: завершающая строка multipart range ответа передавалась - неверно. - Спасибо Evan Miller. - - *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun - Studio. - Спасибо Андрею Нигматулину. - - *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris. - Спасибо Андрею Нигматулину. - - -Изменения в nginx 0.5.19 24.04.2007 - - *) Изменение: значение переменной $request_time теперь записывается с - точностью до миллисекунд. - - *) Изменение: метод $r->rflush в модуле ngx_http_perl_module - переименован в $r->flush. - - *) Добавление: переменная $upstream_addr. - - *) Добавление: директивы proxy_headers_hash_max_size и - proxy_headers_hash_bucket_size. - Спасибо Володымыру Костырко. - - *) Исправление: при использовании sendfile и limit_rate на 64-битных - платформах нельзя было передавать файлы больше 2G. - - *) Исправление: при использовании sendfile на 64-битном Linux нельзя - было передавать файлы больше 2G. - - -Изменения в nginx 0.5.18 19.04.2007 - - *) Добавление: модуль ngx_http_sub_filter_module. - - *) Добавление: переменные "$upstream_http_...". - - *) Добавление: теперь переменные $upstream_status и - $upstream_response_time содержат данные о всех обращениях к - апстримам, сделанным до X-Accel-Redirect. - - *) Исправление: если nginx был собран с модулем ngx_http_perl_module и - perl не поддерживал multiplicity, то после первой переконфигурации и - после получения любого сигнала в основном процессе происходил - segmentation fault; ошибка появилась в 0.5.9. - - *) Исправление: если perl не поддерживал multiplicity, то после - переконфигурации перловый код не работал; ошибка появилась в 0.3.38. - - -Изменения в nginx 0.5.17 02.04.2007 - - *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405. - - *) Добавление: теперь nginx поддерживает директиву include внутри блока - types. - - *) Исправление: использование переменной $document_root в директиве root - и alias запрещено: оно вызывало рекурсивное переполнение стека. - - *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. - - *) Исправление: в некоторых случаях некэшируемые переменные (такие, как - $uri) возвращали старое закэшированное значение. - - -Изменения в nginx 0.5.16 26.03.2007 - - *) Исправление: в качестве ключа для хэша в директиве ip_hash не - использовалась сеть класса С. - Спасибо Павлу Ярковому. - - *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда - был указан charset и строка завершалась символом ";", то в рабочем - процессе мог произойти segmentation fault; ошибка появилась в 0.3.50. - - *) Исправление: ошибки "[alert] zero size buf" при работе с - FastCGI-сервером, если тело запроса, записанное во временный файл, - было кратно 32K. - - *) Исправление: nginx не собирался на Solaris без параметра - --with-debug; ошибка появилась в 0.5.15. - - -Изменения в nginx 0.5.15 19.03.2007 - - *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное - SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient. - Спасибо Антону Южанинову и Максиму Дунину. - - *) Добавление: теперь keep-alive соединения закрываются сразу же по - получении сигнала переконфигурации. - - *) Изменение: директивы imap и auth переименованы соответственно в mail - и pop3_auth. - - *) Исправление: если использовался метод аутентификации CRAM-MD5 и не - был разрешён метод APOP, то в рабочем процессе происходил - segmentation fault. - - *) Исправление: при использовании директивы starttls only в протоколе - POP3 nginx разрешал аутентификацию без перехода в режим SSL. - - *) Исправление: рабочие процессы не выходили после переконфигурации и не - переоткрывали логи, если использовался метод eventport. - - *) Исправление: при использовании директивы ip_hash рабочий процесс мог - зациклиться. - - *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если - используются методы eventport или /dev/poll. - - -Изменения в nginx 0.5.14 23.02.2007 - - *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце - конфигурационного файла. - - -Изменения в nginx 0.5.13 19.02.2007 - - *) Добавление: методы COPY и MOVE. - - *) Исправление: модуль ngx_http_realip_module устанавливал мусор для - запросов, переданных по keep-alive соединению. - - *) Исправление: nginx не работал на 64-битном big-endian Linux. - Спасибо Андрею Нигматулину. - - *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси - теперь сразу закрывает соединение, а не по таймауту. - - *) Исправление: если при использовании метода epoll клиент закрывал - преждевременно соединение со своей стороны, то nginx закрывал это - соединение только по истечении таймаута на передачу. - - *) Исправление: nginx не собирался на платформах, отличных от i386, - amd64, sparc и ppc; ошибка появилась в 0.5.8. - - -Изменения в nginx 0.5.12 12.02.2007 - - *) Исправление: nginx не собирался на платформах, отличных от i386, - amd64, sparc и ppc; ошибка появилась в 0.5.8. - - *) Исправление: при использовании временных файлов в время работы с - FastCGI-сервером в рабочем процессе мог произойти segmentation fault; - ошибка появилась в 0.5.8. - - *) Исправление: если переменная $fastcgi_script_name записывалась в лог, - то в рабочем процессе мог произойти segmentation fault. - - *) Исправление: ngx_http_perl_module не собирался на Solaris. - - -Изменения в nginx 0.5.11 05.02.2007 - - *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts. - Спасибо Chris McGrath. - - *) Исправление: ответ был неверным, если запрашивалось несколько - диапазонов; ошибка появилась в 0.5.6. - - *) Исправление: директива create_full_put_path не могла создавать - промежуточные каталоги, если не была установлена директива - dav_access. - Спасибо Evan Miller. - - *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог - записываться код "0". - - *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог - произойти segmentation fault. - - -Изменения в nginx 0.5.10 26.01.2007 - - *) Исправление: во время обновления исполняемого файла новый процесс не - наследовал слушающие сокеты; ошибка появилась в 0.5.9. - - *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог - произойти segmentation fault; ошибка появилась в 0.5.1. - - -Изменения в nginx 0.5.9 25.01.2007 - - *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа - использует значение переменной $memcached_key. - - *) Добавление: переменная $memcached_key. - - *) Добавление: параметр clean в директиве client_body_in_file_only. - - *) Добавление: директива env. - - *) Добавление: директива sendfile работает внутри блока if. - - *) Добавление: теперь при ошибке записи в access_log nginx записывает - сообщение в error_log, но не чаще одного раза в минуту. - - *) Исправление: директива "access_log off" не всегда запрещала запись в - лог. - - -Изменения в nginx 0.5.8 19.01.2007 - - *) Исправление: если использовалась директива - "client_body_in_file_only on" и тело запроса было небольшое, то мог - произойти segmentation fault. - - *) Исправление: происходил segmentation fault, если использовались - директивы "client_body_in_file_only on" и - "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и - делался переход к следующему бэкенду. - - *) Исправление: если при использовании директивы "proxy_buffering off" - соединение с клиентом было неактивно, то оно закрывалось по таймауту, - заданному директивой send_timeout; ошибка появилась в 0.4.7. - - *) Исправление: если при использовании метода epoll клиент закрывал - преждевременно соединение со своей стороны, то nginx закрывал это - соединение только по истечении таймаута на передачу. - - *) Исправление: ошибки "[alert] zero size buf" при работе с - FastCGI-сервером. - - *) Исправление ошибок в директиве limit_zone. - - -Изменения в nginx 0.5.7 15.01.2007 - - *) Добавление: оптимизация использования памяти в ssl_session_cache. - - *) Исправление ошибок в директивах ssl_session_cache и limit_zone. - - *) Исправление: на старте или во время переконфигурации происходил - segmentation fault, если директивы ssl_session_cache или limit_zone - использовались на 64-битных платформах. - - *) Исправление: при использовании директив add_before_body или - add_after_body происходил segmentation fault, если в заголовке ответа - нет строки "Content-Type". - - *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой - потоков. - Спасибо Дену Иванову. - - *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc. - - -Изменения в nginx 0.5.6 09.01.2007 - - *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы, - кроме GET, HEAD и POST. - - *) Добавление: модуль ngx_http_limit_zone_module. - - *) Добавление: переменная $binary_remote_addr. - - *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и - ngx_imap_ssl_module. - - *) Добавление: метод DELETE поддерживает рекурсивное удаление. - - *) Исправление: при использовании $r->sendfile() byte-ranges - передавались неверно. - - -Изменения в nginx 0.5.5 24.12.2006 - - *) Изменение: ключ -v больше не выводит информацию о компиляторе. - - *) Добавление: ключ -V. - - *) Добавление: директива worker_rlimit_core поддерживает указание - размера в K, M и G. - - *) Исправление: модуль nginx.pm теперь может устанавливаться - непривилегированным пользователем. - - *) Исправление: при использовании методов $r->request_body или - $r->request_body_file мог произойти segmentation fault. - - *) Исправление: ошибок, специфичных для платформы ppc. - - -Изменения в nginx 0.5.4 15.12.2006 - - *) Добавление: директиву perl можно использовать внутри блока - limit_except. - - *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в - заголовке запроса для метода DELETE. - - *) Исправление: при использовании одного параметра в директиве - dav_access nginx мог сообщить об ошибке в конфигурации. - - *) Исправление: при использовании переменной $host мог произойти - segmentation fault; ошибка появилась в 0.4.14. - - -Изменения в nginx 0.5.3 13.12.2006 - - *) Добавление: модуль ngx_http_perl_module поддерживает методы - $r->status, $r->log_error и $r->sleep. - - *) Добавление: метод $r->variable поддерживает переменные, неописанные в - конфигурации nginx'а. - - *) Исправление: метод $r->has_request_body не работал. - - -Изменения в nginx 0.5.2 11.12.2006 - - *) Исправление: если в директивах proxy_pass использовалось имя, - указанное в upstream, то nginx пытался найти IP-адрес этого имени; - ошибка появилась в 0.5.1. - - -Изменения в nginx 0.5.1 11.12.2006 - - *) Исправление: директива post_action могла не работать после неудачного - завершения запроса. - - *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11. - Спасибо Bron Gondwana. - - *) Исправление: при указании в директиве fastcgi_pass имени описанного - upstream'а выдавалось сообщение "no port in upstream"; ошибка - появилась в 0.5.0. - - *) Исправление: если в директивах proxy_pass и fastcgi_pass - использовались одинаковых имена серверов, но с разными портами, то - эти директивы использовали первый описанный порт; ошибка появилась в - 0.5.0. - - *) Исправление: если в директивах proxy_pass и fastcgi_pass - использовались unix domain сокеты, то эти директивы использовали - первый описанный сокет; ошибка появилась в 0.5.0. - - *) Исправление: ngx_http_auth_basic_module игнорировал пользователя, - если он был указан в последней строке файла паролей и после пароля не - было перевода строки, возврата каретки или символа ":". - - *) Исправление: переменная $upstream_response_time могла быть равна - "0.000", хотя время обработки было больше 1 миллисекунды. - - -Изменения в nginx 0.5.0 04.12.2006 - - *) Изменение: параметры в виде "%name" в директиве log_format больше не - поддерживаются. - - *) Изменение: директивы proxy_upstream_max_fails, - proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и - fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и - memcached_upstream_fail_timeout больше не поддерживаются. - - *) Добавление: директива server в блоке upstream поддерживает параметры - max_fails, fail_timeout и down. - - *) Добавление: директива ip_hash в блоке upstream. - - *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа - сервера аутентификации IMAP/POP3 прокси. - - *) Исправление: nginx не собирался на 64-битных платформах; ошибка - появилась в 0.4.14. - - -Изменения в nginx 0.4.14 27.11.2006 - - *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси. - - *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD, - Linux и NetBSD. - - *) Исправление: ngx_http_perl_module не работал с перлом, собранным с - поддержкой потоков; ошибка появилась в 0.3.38. - - *) Исправление: ngx_http_perl_module не работал корректно, если перл - вызывался рекурсивно. - - *) Исправление: nginx игнорировал имя сервера в строке запроса. - - *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий - процесс мог зациклиться. - - *) Исправление: при изменении системного времени переменная - $upstream_response_time могла быть отрицательной. - - *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3 - прокси не передавался параметр Auth-Login-Attempt. - - *) Исправление: при ошибке соединения с сервером аутентификации - IMAP/POP3 прокси мог произойти segmentation fault. - - -Изменения в nginx 0.4.13 15.11.2006 - - *) Добавление: директиву proxy_pass можно использовать внутри блока - limit_except. - - *) Добавление: директива limit_except поддерживает все WebDAV методы. - - *) Исправление: при использовании директивы add_before_body без - директивы add_after_body ответ передавался не полностью. - - *) Исправление: большое тело запроса не принималось, если использовались - метод epoll и deferred accept(). - - *) Исправление: для ответов модуля ngx_http_autoindex_module не - выставлялась кодировка; ошибка появилась в 0.3.50. - - *) Исправление: ошибки "[alert] zero size buf" при работе с - FastCGI-сервером; - - *) Исправление: параметр конфигурации --group= игнорировался. - Спасибо Thomas Moschny. - - *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась - в 0.3.50. - - -Изменения в nginx 0.4.12 31.10.2006 - - *) Добавление: модуль ngx_http_perl_module поддерживает метод - $r->variable. - - *) Исправление: при включении в ответ большого статического файла с - помощью SSI ответ мог передаваться не полностью. - - *) Исправление: nginx не убирал "#fragment" в URI. - - -Изменения в nginx 0.4.11 25.10.2006 - - *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5. - - *) Добавление: модуль ngx_http_perl_module поддерживает метод - $r->allow_ranges. - - *) Исправление: при включённой поддержке команды APOP в POP3 прокси - могли не работать команды USER/PASS; ошибка появилась в 0.4.10. - - -Изменения в nginx 0.4.10 23.10.2006 - - *) Добавление: POP3 прокси поддерживает APOP. - - *) Исправление: при использовании методов select, poll и /dev/poll во - время ожидания ответа от сервера аутентификации IMAP/POP3 прокси - нагружал процессор. - - *) Исправление: при использовании переменной $server_addr в директиве - map мог произойти segmentation fault. - - *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges - для полных ответов; ошибка появилась в 0.4.7. - - *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в - 0.4.9. - - -Изменения в nginx 0.4.9 13.10.2006 - - *) Добавление: параметр set в команде SSI include. - - *) Добавление: модуль ngx_http_perl_module теперь проверяет версию - модуля nginx.pm. - - -Изменения в nginx 0.4.8 11.10.2006 - - *) Исправление: если до команды SSI include с параметром wait - выполнялась ещё одна команда SSI include, то параметр wait мог не - работать. - - *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для - полных ответов. - Спасибо Алексею Ковырину. - - -Изменения в nginx 0.4.7 10.10.2006 - - *) Добавление: модуль ngx_http_flv_module. - - *) Добавление: переменная $request_body_file. - - *) Добавление: директивы charset и source_charset поддерживают - переменные. - - *) Исправление: если до команды SSI include с параметром wait - выполнялась ещё одна команда SSI include, то параметр wait мог не - работать. - - *) Исправление: при использовании директивы "proxy_buffering off" или - при работе с memcached соединения могли не закрываться по таймауту. - - *) Исправление: nginx не запускался на 64-битных платформах, отличных от - amd64, sparc64 и ppc64. - - -Изменения в nginx 0.4.6 06.10.2006 - - *) Исправление: nginx не запускался на 64-битных платформах, отличных от - amd64, sparc64 и ppc64. - - *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ - chunk'ами, если длина ответа в методе - $r->headers_out("Content-Length", ...) была задана текстовой строкой. - - *) Исправление: после перенаправления ошибки с помощью директивы - error_page любая директива модуля ngx_http_rewrite_module возвращала - эту ошибку; ошибка появилась в 0.4.4. - - -Изменения в nginx 0.4.5 02.10.2006 - - *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась - в 0.4.4. - - -Изменения в nginx 0.4.4 02.10.2006 - - *) Добавление: переменная $scheme. - - *) Добавление: директива expires поддерживает параметр max. - - *) Добавление: директива include поддерживает маску "*". - Спасибо Jonathan Dance. - - *) Исправление: директива return всегда изменяла код ответа, - перенаправленного директивой error_page. - - *) Исправление: происходил segmentation fault, если в методе PUT - передавалось тело нулевой длины. - - *) Исправление: при использовании переменных в директиве proxy_redirect - редирект изменялся неверно. - - -Изменения в nginx 0.4.3 26.09.2006 - - *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы - error_page. - - *) Добавление: поддержка Solaris 10 event ports. - - *) Добавление: модуль ngx_http_browser_module. - - *) Исправление: при перенаправлении ошибки 400 проксированному серверу - помощью директивы error_page мог произойти segmentation fault. - - *) Исправление: происходил segmentation fault, если в директиве - proxy_pass использовался unix domain сокет; ошибка появилась в - 0.3.47. - - *) Исправление: SSI не работал с ответами memcached и - небуферизированными проксированными ответами. - - *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio. - - -Изменения в nginx 0.4.2 14.09.2006 - - *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка - появилась в 0.4.1. - - -Изменения в nginx 0.4.1 14.09.2006 - - *) Исправление: совместимость с DragonFlyBSD. - Спасибо Павлу Назарову. - - *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче - файлов больше 2G. - - *) Добавление: теперь на Linux nginx для статических запросов использует - флаг O_NOATIME. - Спасибо Yusuf Goolamabbas. - - -Изменения в nginx 0.4.0 30.08.2006 - - *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из - фазы init module в фазу HTTP postconfiguration. - - *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не - считывается заранее: нужно явно инициировать чтение с помощью метода - $r->has_request_body. - - *) Добавление: модуль ngx_http_perl_module поддерживает код возврата - DECLINED. - - *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку - заголовка "Date" для метода PUT. - - *) Добавление: директива ssi работает внутри блока if. - - *) Исправление: происходил segmentation fault, если в директиве index - использовалась переменные и при этом первое имя индексного файла было - без переменных; ошибка появилась в 0.1.29. - - -Изменения в nginx 0.3.61 28.08.2006 - - *) Изменение: директива tcp_nodelay теперь по умолчанию включена. - - *) Добавление: директива msie_refresh. - - *) Добавление: директива recursive_error_pages. - - *) Исправление: директива rewrite возвращала неправильный редирект, если - редирект включал в себя выделенные закодированные символы из - оригинального URI. - - -Изменения в nginx 0.3.60 18.08.2006 - - *) Исправление: во время перенаправления ошибки рабочий процесс мог - зациклиться; ошибка появилась в 0.3.59. - - -Изменения в nginx 0.3.59 16.08.2006 - - *) Добавление: теперь можно делать несколько перенаправлений через - директиву error_page. - - *) Исправление: директива dav_access не поддерживала три параметра. - - *) Исправление: директива error_page не изменяла строку "Content-Type" - после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась - в 0.3.58. - - -Изменения в nginx 0.3.58 14.08.2006 - - *) Добавление: директива error_page поддерживает переменные. - - *) Изменение: теперь на Linux используется интерфейс procfs вместо - sysctl. - - *) Изменение: теперь при использовании "X-Accel-Redirect" строка - "Content-Type" наследуется из первоначального ответа. - - *) Исправление: директива error_page не перенаправляла ошибку 413. - - *) Исправление: завершающий "?" не удалял старые аргументы, если в - переписанном URI не было новых аргументов. - - *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. - - -Изменения в nginx 0.3.57 09.08.2006 - - *) Добавление: переменная $ssl_client_serial. - - *) Исправление: в операторе "!-e" в директиве if. - Спасибо Андриану Буданцову. - - *) Исправление: при проверке клиентского сертификата nginx не передавал - клиенту информацию о требуемых сертификатах. - - *) Исправление: переменная $document_root не поддерживала переменные в - директиве root. - - -Изменения в nginx 0.3.56 04.08.2006 - - *) Добавление: директива dav_access. - - *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e", - "!-e", "-x" и "!-x". - - *) Исправление: при записи в access_log некоторых передаваемых клиенту - строк заголовков происходил segmentation fault, если запрос возвращал - редирект. - - -Изменения в nginx 0.3.55 28.07.2006 - - *) Добавление: параметр stub в команде SSI include. - - *) Добавление: команда SSI block. - - *) Добавление: скрипт unicode2nginx добавлен в contrib. - - *) Исправление: если root был задан только переменной, то корень - задавался относительно префикса сервера. - - *) Исправление: если в запросе был "//" или "/.", и после этого - закодированные символы в виде "%XX", то проксируемый запрос - передавался незакодированным. - - *) Исправление: метод $r->header_in("Cookie") модуля - ngx_http_perl_module теперь возвращает все строки "Cookie" в - заголовке запроса. - - *) Исправление: происходил segmentation fault, если использовался - "client_body_in_file_only on" и делался переход к следующему бэкенду. - - *) Исправление: при некоторых условиях во время переконфигурации коды - символов внутри директивы charset_map могли считаться неверными; - ошибка появилась в 0.3.50. - - -Изменения в nginx 0.3.54 11.07.2006 - - *) Добавление: nginx теперь записывает в лог информацию о подзапросах. - - *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и - memcached_next_upstream поддерживают параметр off. - - *) Добавление: директива debug_connection поддерживает запись адресов в - формате CIDR. - - *) Исправление: при перекодировании ответа проксированного сервера или - сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не - полностью. - - *) Исправление: переменная $upstream_response_time содержала время - только первого обращения к бэкенду. - - *) Исправление: nginx не собирался на платформе amd64; ошибка появилась - в 0.3.53. - - -Изменения в nginx 0.3.53 07.07.2006 - - *) Изменение: директива add_header добавляет строки в ответы с кодом - 204, 301 и 302. - - *) Добавление: директива server в блоке upstream поддерживает параметр - weight. - - *) Добавление: директива server_name поддерживает маску "*". - - *) Добавление: nginx поддерживает тело запроса больше 2G. - - *) Исправление: если при использовании "satisfy_any on" клиент успешно - проходил аутентификацию, в лог всё равно записалоcь сообщение "access - forbidden by rule". - - *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код - 409. - - *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал - ошибку, nginx продолжал проксирование. - - -Изменения в nginx 0.3.52 03.07.2006 - - *) Изменение: восстановлено поведение модуля ngx_http_index_module для - запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт - ошибку 405. - - *) Исправление: при использовании ограничения скорости рабочий процесс - мог зациклиться; ошибка появилась в 0.3.37. - - *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку - "unknown charset", даже если перекодировка не требовалась; ошибка - появилась в 0.3.50. - - *) Исправление: если в результате запроса PUT возвращался код 409, то - временный файл не удалялся. - - -Изменения в nginx 0.3.51 30.06.2006 - - *) Исправление: при некоторых условиях в SSI мог пропадать символы "<"; - ошибка появилась в 0.3.50. - - -Изменения в nginx 0.3.50 28.06.2006 - - *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors - переименованы соответственно в proxy_intercept_errors и - fastcgi_intercept_errors. - - *) Добавление: модуль ngx_http_charset_module поддерживает - перекодирование из однобайтных кодировок в UTF-8 и обратно. - - *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка - "X-Accel-Charset" в ответе бэкенда. - - *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался, - только если также использовался символ "$". - - *) Исправление: при некоторых условиях в SSI после вставки могла быть - добавлена строка "<!--". - - *) Исправление: если в заголовке ответа была строка "Content-Length: 0", - то при использовании небуферизированного проксировании не закрывалось - соединение с клиентом. - - -Изменения в nginx 0.3.49 31.05.2006 - - *) Исправление: в директиве set. - - *) Исправление: при включении в ssi двух и более подзапросов, - обрабатываемых через FastCGI, вместо вывода второго и остальных - подзапросов в ответ включался вывод первого подзапроса. - - -Изменения в nginx 0.3.48 29.05.2006 - - *) Изменение: теперь модуль ngx_http_charset_module работает для - подзапросов, в ответах которых нет строки заголовка "Content-Type". - - *) Исправление: если в директиве proxy_pass не было URI, то директива - "proxy_redirect default" добавляла в переписанный редирект в начало - лишний слэш. - - *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в - GET, теперь это делается только для редиректов, выполняемых с помощью - X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в - 0.3.42. - - *) Исправление: модуль ngx_http_perl_module не собирался, если перл был - с поддержкой потоков; ошибка появилась в 0.3.46. - - -Изменения в nginx 0.3.47 23.05.2006 - - *) Добавление: директива upstream. - - *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь - всегда убирается. - - -Изменения в nginx 0.3.46 11.05.2006 - - *) Добавление: директивы proxy_hide_header, proxy_pass_header, - fastcgi_hide_header и fastcgi_pass_header. - - *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и - proxy_pass_server упразднены. - - *) Добавление: в режиме прокси поддерживается строка заголовка - "X-Accel-Buffering" в ответе бэкенда. - - *) Исправление: ошибок и утечек памяти при переконфигурации в модуле - ngx_http_perl_module. - - -Изменения в nginx 0.3.45 06.05.2006 - - *) Добавление: директивы ssl_verify_client, ssl_verify_depth и - ssl_client_certificate. - - *) Изменение: теперь переменная $request_method возвращает метод только - основного запроса. - - *) Изменение: в таблице перекодировки koi-win изменены коды символа - °. - - *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и - номера. - - *) Исправление: если nginx распределял запросы на несколько машин, то - при падении одной из них запросы, предназначенные для этой машины, - перенаправлялись только на одну машину вместо того, чтобы равномерно - распределяться между остальными. - - -Изменения в nginx 0.3.44 04.05.2006 - - *) Добавление: параметр wait в команде SSI include. - - *) Добавление: в таблицу перекодировки koi-win добавлены украинские и - белорусские символы. - - *) Исправление: в SSI. - - -Изменения в nginx 0.3.43 26.04.2006 - - *) Исправление: в SSI. - - -Изменения в nginx 0.3.42 26.04.2006 - - *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси. - - *) Исправление: ошибки при использовании в директиве rewrite одного и - того же выделения более одного раза. - - *) Исправление: в лог не записывались переменные - $sent_http_content_type, $sent_http_content_length, - $sent_http_last_modified, $sent_http_connection, - $sent_http_keep_alive и $sent_http_transfer_encoding. - - *) Исправление: переменная $sent_http_cache_control возвращала - содержимое только одной строки "Cache-Control" в заголовке ответа. - - -Изменения в nginx 0.3.41 21.04.2006 - - *) Добавление: ключ -v. - - *) Исправление: при включении в SSI удалённых подзапросов мог произойти - segmentation fault. - - *) Исправление: в обработке FastCGI. - - *) Исправление: если путь к перловым модулям не был указан с помощью - --with-perl_modules_path=PATH или директивы perl_modules, то на - старте происходил segmentation fault. - - -Изменения в nginx 0.3.40 19.04.2006 - - *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL. - - *) Добавление: директива create_full_put_path. - - *) Добавление: переменная $limit_rate. - - -Изменения в nginx 0.3.39 17.04.2006 - - *) Добавление: директива uninitialized_variable_warn; уровень - логгирования сообщения о неинициализированной переменной понижен с - уровня alert на warn. - - *) Добавление: директива override_charset. - - *) Изменение: при использовании неизвестной переменной в SSI-командах - echo и if expr='$name' теперь не записывается в лог сообщение о - неизвестной переменной. - - *) Исправление: счётчик активных соединений рос при превышении лимита - соединений, заданного директивой worker_connections; ошибка появилась - в 0.2.0. - - *) Исправление: при некоторых условия ограничение скорости соединения - могло не работать; ошибка появилась в 0.3.38. - - -Изменения в nginx 0.3.38 14.04.2006 - - *) Добавление: модуль ngx_http_dav_module. - - *) Изменение: оптимизация модуля ngx_http_perl_module. - Спасибо Сергею Скворцову. - - *) Добавление: модуль ngx_http_perl_module поддерживает метод - $r->request_body_file. - - *) Добавление: директива client_body_in_file_only. - - *) Изменение: теперь при переполнении диска nginx пытается писать - access_log'и только раз в секунду. - Спасибо Антону Южанинову и Максиму Дунину. - - *) Исправление: теперь директива limit_rate точнее ограничивает скорость - при значениях больше 100 Kbyte/s. - Спасибо ForJest. - - *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации - символы "\r" и "\n" в логине и пароле в закодированном виде. - Спасибо Максиму Дунину. - - -Изменения в nginx 0.3.37 07.04.2006 - - *) Добавление: директива limit_except. - - *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и - "!-f". - - *) Добавление: модуль ngx_http_perl_module поддерживает метод - $r->request_body. - - *) Исправление: в модуле ngx_http_addition_filter_module. - - -Изменения в nginx 0.3.36 05.04.2006 - - *) Добавление: модуль ngx_http_addition_filter_module. - - *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать - внутри блока if. - - *) Добавление: директивы proxy_ignore_client_abort и - fastcgi_ignore_client_abort. - - *) Добавление: переменная $request_completion. - - *) Добавление: модуль ngx_http_perl_module поддерживает методы - $r->request_method и $r->remote_addr. - - *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif. - - *) Исправление: строка "\/" в начале выражения команды if модуля - ngx_http_ssi_module воспринималась неверно. - - *) Исправление: в использовании регулярных выражениях в команде if - модуля ngx_http_ssi_module. - - *) Исправление: при задании относительного пути в директивах - client_body_temp_path, proxy_temp_path, fastcgi_temp_path и - perl_modules использовался каталог относительно текущего каталога, а - не относительно префикса сервера. - - -Изменения в nginx 0.3.35 22.03.2006 - - *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только - для первой директивы listen; ошибка появилась в 0.3.31. - - *) Исправление: в директиве proxy_pass без URI при использовании в - подзапросе. - - -Изменения в nginx 0.3.34 21.03.2006 - - *) Добавление: директива add_header поддерживает переменные. - - -Изменения в nginx 0.3.33 15.03.2006 - - *) Добавление: параметр http_503 в директивах proxy_next_upstream или - fastcgi_next_upstream. - - *) Исправление: ngx_http_perl_module не работал со встроенным в - конфигурационный файл кодом, если он не начинался сразу же с "sub". - - *) Исправление: в директиве post_action. - - -Изменения в nginx 0.3.32 11.03.2006 - - *) Исправление: удаление отладочного логгирования на старте и при - переконфигурации; ошибка появилась в 0.3.31. - - -Изменения в nginx 0.3.31 10.03.2006 - - *) Изменение: теперь nginx передаёт неверные ответы проксированного - бэкенда. - - *) Добавление: директивы listen поддерживают адрес в виде "*:порт". - - *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4. - - *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в - 64-битном ядре MacOSX. - Спасибо Андрею Нигматулину. - - *) Исправление: если внутри одного сервера описаны несколько директив - listen, слушающих на разных адресах, то имена серверов вида - "*.domain.tld" работали только для первого адреса; ошибка появилась в - 0.3.18. - - *) Исправление: при использовании протокола HTTPS в директиве proxy_pass - не передавались запросы с телом, записанным во временный файл. - - *) Исправление: совместимость с perl 5.8.8. - - -Изменения в nginx 0.3.30 22.02.2006 - - *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error - с уровня crit. - - *) Исправление: модуль ngx_http_perl_module не собирался без модуля - ngx_http_ssi_filter_module. - - *) Исправление: nginx не собирался на i386 платформе, если использовался - PIC; ошибка появилась в 0.3.27. - - -Изменения в nginx 0.3.29 20.02.2006 - - *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме - FastCGI передаёт большое количество предупреждений перед ответом. - - *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась - строка заголовка "Transfer-Encoding: chunked". - - *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер - передавал полные строки заголовка ответа в отдельных FastCGI записях. - - *) Исправление: если в директиве post_action был указан проксируемый - URI, то он выполнялся только после успешного завершения запроса. - - -Изменения в nginx 0.3.28 16.02.2006 - - *) Добавление: директива restrict_host_names упразднена. - - *) Добавление: параметр конфигурации --with-cpu-opt=ppc64. - - *) Исправление: при некоторых условиях проксированное соединение с - клиентом завершалось преждевременно. - Спасибо Владимиру Шутову. - - *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для - запросов, перенаправленных с помощью строки "X-Accel-Redirect". - - *) Исправление: директива post_action работала только после успешного - завершения запроса. - - *) Исправление: тело проксированного ответа, создаваемого директивой - post_action, передавалось клиенту. - - -Изменения в nginx 0.3.27 08.02.2006 - - *) Изменение: директивы variables_hash_max_size и - variables_hash_bucket_size. - - *) Добавление: переменная $body_bytes_sent доступна не только в - директиве log_format. - - *) Добавление: переменные $ssl_protocol и $ssl_cipher. - - *) Добавление: определение размера строки кэша распространённых - процессоров при старте. - - *) Добавление: директива accept_mutex теперь поддерживается посредством - fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc. - - *) Добавление: директива lock_file и параметр автоконфигурации - --with-lock-path=PATH. - - *) Исправление: при использовании протокола HTTPS в директиве proxy_pass - не передавались запросы с телом. - - -Изменения в nginx 0.3.26 03.02.2006 - - *) Изменение: директива optimize_host_names переименована в - optimize_server_names. - - *) Исправление: при проксировании подзапроса в SSI бэкенду передавался - URI основного запроса, если в директиве proxy_pass отсутствовал URI. - - -Изменения в nginx 0.3.25 01.02.2006 - - *) Исправление: при неверной конфигурации на старте или во время - переконфигурации происходил segmentation fault; ошибка появилась в - 0.3.24. - - -Изменения в nginx 0.3.24 01.02.2006 - - *) Изменение: обход ошибки в kqueue во FreeBSD. - - *) Исправление: ответ, создаваемый директивой post_action, теперь не - передаётся клиенту. - - *) Исправление: при использовании большого количества лог-файлов - происходила утечка памяти. - - *) Исправление: внутри одного location работала только первая директива - proxy_redirect. - - *) Исправление: на 64-битных платформах при старте мог произойти - segmentation fault, если использовалось большое количество имён в - директивах server_name; ошибка появилась в 0.3.18. - - -Изменения в nginx 0.3.23 24.01.2006 - - *) Добавление: директива optimize_host_names. - - *) Исправление: ошибки при использовании переменных в директивах path и - alias. - - *) Исправление: модуль ngx_http_perl_module неправильно собирался на - Linux и Solaris. - - -Изменения в nginx 0.3.22 17.01.2006 - - *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args - и $r->unescape. - - *) Добавление: метод $r->query_string в модуле ngx_http_perl_module - упразднён. - - *) Исправление: если в директиве valid_referers указаны только none или - blocked, то происходил segmentation fault; ошибка появилась в 0.3.18. - - -Изменения в nginx 0.3.21 16.01.2006 - - *) Добавление: модуль ngx_http_perl_module. - - *) Изменение: директива valid_referers разрешает использовать рефереры - совсем без URI. - - -Изменения в nginx 0.3.20 11.01.2006 - - *) Исправление: ошибки в обработке SSI. - - *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в - виде /uri?args. - - -Изменения в nginx 0.3.19 28.12.2005 - - *) Добавление: директивы path и alias поддерживают переменные. - - *) Изменение: теперь директива valid_referers опять учитывает URI. - - *) Исправление: ошибки в обработке SSI. - - -Изменения в nginx 0.3.18 26.12.2005 - - *) Добавление: директива server_names поддерживает имена вида - ".domain.tld". - - *) Добавление: директива server_names использует хэш для имён вида - "*.domain.tld" и более эффективный хэш для обычных имён. - - *) Изменение: директивы server_names_hash_max_size и - server_names_hash_bucket_size. - - *) Изменение: директивы server_names_hash и server_names_hash_threshold - упразднены. - - *) Добавление: директива valid_referers использует хэш для имён сайтов. - - *) Изменение: теперь директива valid_referers проверяет только имена - сайтов без учёта URI. - - *) Исправление: некоторые имена вида ".domain.tld" неверно - обрабатывались модулем ngx_http_map_module. - - *) Исправление: если конфигурационного файла не было, то происходил - segmentation fault; ошибка появилась в 0.3.12. - - *) Исправление: на 64-битных платформах при старте мог произойти - segmentation fault; ошибка появилась в 0.3.16. - - -Изменения в nginx 0.3.17 18.12.2005 - - *) Изменение: на Linux configure теперь проверяет наличие epoll и - sendfile64() в ядре. - - *) Добавление: директива map поддерживает доменные имена в формате - ".domain.tld". - - *) Исправление: во время SSL handshake не иcпользовались таймауты; - ошибка появилась в 0.2.4. - - *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. - - *) Исправление: при использовании протокола HTTPS в директиве proxy_pass - по умолчанию использовался порт 80. - - -Изменения в nginx 0.3.16 16.12.2005 - - *) Добавление: модуль ngx_http_map_module. - - *) Добавление: директивы types_hash_max_size и types_hash_bucket_size. - - *) Добавление: директива ssi_value_length. - - *) Добавление: директива worker_rlimit_core. - - *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для - Pentium 4 номер соединения в логах всегда был равен 1. - - *) Исправление: команда config timefmt в SSI задавала неверный формат - времени. - - *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при - использовании SSL соединений; ошибка появилась в 0.3.13. - Спасибо Rob Mueller. - - *) Исправление: segmentation fault мог произойти во время SSL shutdown; - ошибка появилась в 0.3.13. - - -Изменения в nginx 0.3.15 07.12.2005 - - *) Добавление: новой код 444 в директиве return для закрытия соединения. - - *) Добавление: директива so_keepalive в IMAP/POP3 прокси. - - *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых - соединений только при планом выходе и включённой директиве - debug_points. - - -Изменения в nginx 0.3.14 05.12.2005 - - *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась - в 0.3.13. - - -Изменения в nginx 0.3.13 05.12.2005 - - *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS. - - *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и - /dev/poll. - - *) Исправление: ошибки в обработке SSI. - - *) Исправление: sendfilev() в Solaris теперь не используется при - передаче тела запроса FastCGI-серверу через unix domain сокет. - - *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка - появилась в 0.3.11. - - -Изменения в nginx 0.3.12 26.11.2005 - - *) Безопасность: если nginx был собран с модулем ngx_http_realip_module, - то при использовании директивы "satisfy_any on" директивы доступа и - аутентификации не работали. Модуль ngx_http_realip_module не - собирался и не собирается по умолчанию. - - *) Изменение: имя переменной "$time_gmt" изменено на "$time_local". - - *) Изменение: директивы proxy_header_buffer_size и - fastcgi_header_buffer_size переименованы соответственно в - proxy_buffer_size и fastcgi_buffer_size. - - *) Добавление: модуль ngx_http_memcached_module. - - *) Добавление: директива proxy_buffering. - - *) Исправление: изменение в работе с accept mutex при использовании - метода rtsig; ошибка появилась в 0.3.0. - - *) Исправление: если клиент передал строку "Transfer-Encoding: chunked" - в заголовке запроса, то nginx теперь выдаёт ошибку 411. - - *) Исправление: при наследовании директивы auth_basic с уровня http в - строке "WWW-Authenticate" заголовка ответа выводился realm без текста - "Basic realm". - - *) Исправление: если в директиве access_log был явно указан формат - combined, то в лог записывались пустые строки; ошибка появилась в - 0.3.8. - - *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме - Solaris. - - *) Исправление: в директиве if теперь не нужно разделять пробелом строку - в кавычках и закрывающую скобку. - - -Изменения в nginx 0.3.11 15.11.2005 - - *) Исправление: nginx не передавал при проксировании тело запроса и - строки заголовка клиента; ошибка появилась в 0.3.10. - - -Изменения в nginx 0.3.10 15.11.2005 - - *) Изменение: директива valid_referers и переменная $invalid_referer - перенесены из модуля ngx_http_rewrite_module в новый модуль - ngx_http_referer_module. - - *) Изменение: имя переменной "$apache_bytes_sent" изменено на - "$body_bytes_sent". - - *) Добавление: переменные "$sent_http_...". - - *) Добавление: директива if поддерживает операции "=" и "!=". - - *) Добавление: директива proxy_pass поддерживает протокол HTTPS. - - *) Добавление: директива proxy_set_body. - - *) Добавление: директива post_action. - - *) Добавление: модуль ngx_http_empty_gif_module. - - *) Добавление: директива worker_cpu_affinity для Linux. - - *) Исправление: директива rewrite не раскодировала символы в редиректах - в URI, теперь символы раскодируются, кроме символов %00-%25 и - %7F-%FF. - - *) Исправление: nginx не собирался компилятором icc 9.0. - - *) Исправление: если для статического файла нулевого размера был - разрешён SSI, то ответ передавался неверно при кодировании chunk'ами. - - -Изменения в nginx 0.3.9 10.11.2005 - - *) Исправление: nginx считал небезопасными URI, в которых между двумя - слэшами находилось два любых символа; ошибка появилась в 0.3.8. - - -Изменения в nginx 0.3.8 09.11.2005 - - *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в - строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на - наличие путей "/../" и нулей. - - *) Изменение: nginx теперь не воспринимает пустое имя как правильное в - строке "Authorization" в заголовке запроса. - - *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module - и ngx_imap_ssl_module. - - *) Добавление: директива auth_http_header модуля - ngx_imap_auth_http_module. - - *) Добавление: директива add_header. - - *) Добавление: модуль ngx_http_realip_module. - - *) Добавление: новые переменные для использования в директиве - log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt, - $uri, $request_time, $request_length, $upstream_status, - $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, - $connection, $pipe и $msec. Параметры в виде "%name" скоро будут - упразднены. - - *) Изменение: в директиве "if" ложными значениями переменных теперь - являются пустая строка "" и строки, начинающиеся на "0". - - *) Исправление: при работает с проксированными или FastCGI-серверами - nginx мог оставлять открытыми соединения и временные файлы с - запросами клиентов. - - *) Исправление: рабочие процессы не сбрасывали буферизированные логи при - плавном выходе. - - *) Исправление: если URI запроса изменялось с помощью rewrite, а затем - запрос проксировался в location, заданном регулярным выражением, то - бэкенду передавался неверный запрос; ошибка появилась в 0.2.6. - - *) Исправление: директива expires не удаляла уже установленную строку - заголовка "Expires". - - *) Исправление: при использовании метода rtsig и нескольких рабочих - процессах nginx мог перестать принимать запросы. - - *) Исправление: в SSI командах неверно обрабатывались строки "\"" и - "\'". - - *) Исправление: если ответ заканчивался сразу же после SSI команды, то - при использовании сжатия ответ передавался не до конца или не - передавался вообще. - - -Изменения в nginx 0.3.7 27.10.2005 - - *) Добавление: директива access_log поддерживает параметр buffer=. - - *) Исправление: nginx не собирался на платформах, отличных от i386, - amd64, sparc и ppc; ошибка появилась в 0.3.2. - - -Изменения в nginx 0.3.6 24.10.2005 - - *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации - пустой логин. - - *) Добавление: директива log_format поддерживает переменные в виде - $name. - - *) Исправление: если хотя бы в одном сервере не было описано ни одной - директивы listen, то nginx не слушал на 80 порту; ошибка появилась в - 0.3.3. - - *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда - использовался порт 80. - - -Изменения в nginx 0.3.5 21.10.2005 - - *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то - мог произойти segmentation fault; ошибка появилась в 0.2.2. - - *) Исправление: accept mutex не работал, все соединения обрабатывались - одним рабочим процессом; ошибка появилась в 0.3.3. - - *) Исправление: при использовании метода rtsig и директивы - timer_resolution не работали таймауты. - - -Изменения в nginx 0.3.4 19.10.2005 - - *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка - появилась в 0.3.3. - - -Изменения в nginx 0.3.3 19.10.2005 - - *) Изменение: параметры "bl" и "af" директивы listen переименованы в - "backlog" и "accept_filter". - - *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen. - - *) Изменение: параметр лога $msec теперь не требует дополнительного - системного вызова gettimeofday(). - - *) Добавление: ключ -t теперь проверяет директивы listen. - - *) Исправление: если в директиве listen был указан неверный адрес, то - nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED. - - *) Исправление: для индексных файлов, содержащих в имени переменную, мог - неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0. - - *) Добавление: директива timer_resolution. - - *) Добавление: параметр лога $upstream_response_time в миллисекундах. - - *) Исправление: временный файл с телом запроса клиента теперь удаляется - сразу после того, как клиенту передан заголовок ответа. - - *) Исправление: совместимость с OpenSSL 0.9.6. - - *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть - относительными. - - *) Исправление: директива ssl_prefer_server_ciphers не работала для - модуля ngx_imap_ssl_module. - - *) Исправление: директива ssl_protocols позволяла задать только один - протокол. - - -Изменения в nginx 0.3.2 12.10.2005 - - *) Добавление: поддержка Sun Studio 10 C compiler. - - *) Добавление: директивы proxy_upstream_max_fails, - proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и - fastcgi_upstream_fail_timeout. - - -Изменения в nginx 0.3.1 10.10.2005 - - *) Исправление: во время переполнения очереди сигналов при использовании - метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0. - - *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI. - - -Изменения в nginx 0.3.0 07.10.2005 - - *) Изменение: убрано десятидневное ограничение времени работы рабочего - процесса. Ограничение было введено из-за переполнения миллисекундных - таймеров. - - -Изменения в nginx 0.2.6 05.10.2005 - - *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к - бэкенду при использовании распределения нагрузки. - - *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный - запрос теперь передаётся, если в директиве proxy_pass отсутствует - URI. - - *) Добавление: директива error_page поддерживает редиректы и позволяет - более гибко менять код ошибки. - - *) Изменение: в проксированных подзапросах теперь игнорируется - переданный charset. - - *) Исправление: если после изменения URI в блоке if для запроса не - находилась новая конфигурация, то правила модуля - ngx_http_rewrite_module выполнялись снова. - - *) Исправление: если директива set устанавливала переменную модуля - ngx_http_geo_module в какой-либо части конфигурации, то эта - переменная не была доступна в других частях конфигурации и выдавалась - ошибка "using uninitialized variable"; ошибка появилась в 0.2.2. - - -Изменения в nginx 0.2.5 04.10.2005 - - *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module - теперь выдаёт предупреждение и изменяет старое значение. - - *) Добавление: модуль ngx_http_ssi_module поддерживает команду set. - - *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в - команде include. - - *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку - значений переменных в выражениях команды if. - - -Изменения в nginx 0.2.4 03.10.2005 - - *) Добавление: модуль ngx_http_ssi_module поддерживает выражения - "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде - if. - - *) Исправление: ошибки при проксировании location без слэша в конце; - ошибка появилась в 0.1.44. - - *) Исправление: при использовании метода rtsig мог произойти - segmentation fault; ошибка появилась в 0.2.0. - - -Изменения в nginx 0.2.3 30.09.2005 - - *) Исправление: nginx не собирался без параметра --with-debug; ошибка - появилась в 0.2.2. - - -Изменения в nginx 0.2.2 30.09.2005 - - *) Добавление: команда config errmsg в модуле ngx_http_ssi_module. - - *) Изменение: переменные модуля ngx_http_geo_module можно переопределять - директивой set. - - *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers - модулей ngx_http_ssl_module и ngx_imap_ssl_module. - - *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе - длинных имён файлов; - - *) Исправление: модуль ngx_http_autoindex_module теперь не показывает - файлы, начинающиеся на точку. - - *) Исправление: если SSL handshake завершался с ошибкой, то это могло - привести также к закрытию другого соединения. - Спасибо Rob Mueller. - - *) Исправление: экспортные версии MSIE 5.x не могли соединиться по - HTTPS. - - -Изменения в nginx 0.2.1 23.09.2005 - - *) Исправление: если все бэкенды, используемые для балансировки - нагрузки, оказывались в нерабочем состоянии после одной ошибки, то - nginx мог зациклится; ошибка появилась в 0.2.0. - - -Изменения в nginx 0.2.0 23.09.2005 - - *) Изменились имена pid-файлов, используемые во время обновления - исполняемого файла. Ручное переименование теперь не нужно. Старый - основной процесс добавляет к своему pid-файл суффикс ".oldbin" и - запускает новый исполняемый файл. Новый основной процесс создаёт - обычный pid-файл без суффикса ".newbin". Если новый основной процесс - выходит, то старый процесс переименовывает свой pid-файл c суффиксом - ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до - 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый - 0.2.0 - используют pid-файл без суффиксов. - - *) Изменение: директива worker_connections, новое название директивы - connections; директива теперь задаёт максимальное число соединений, а - не максимально возможный номер дескриптора для сокета. - - *) Добавление: SSL поддерживает кэширование сессий в пределах одного - рабочего процесса. - - *) Добавление: директива satisfy_any. - - *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module - не работают для подзапросов. - - *) Добавление: директивы worker_rlimit_nofile и - worker_rlimit_sigpending. - - *) Исправление: если все бэкенды, используемые для балансировки - нагрузки, оказывались в нерабочем состоянии после одной ошибки, то - nginx не обращался к ним в течение 60 секунд. - - *) Исправление: в парсинге аргументов IMAP/POP3 команд. - Спасибо Rob Mueller. - - *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси. - - *) Исправление: ошибки при использовании SSI и сжатия. - - *) Исправление: в ответах 304 не добавлялись строки заголовка ответа - "Expires" и "Cache-Control". - Спасибо Александру Кукушкину. - - -Изменения в nginx 0.1.45 08.09.2005 - - *) Изменение: директива ssl_engine упразднена в модуле - ngx_http_ssl_module и перенесена на глобальный уровень. - - *) Исправление: ответы с подзапросами, включённые с помощью SSI, не - передавались через SSL соединение. - - *) Разные исправления в IMAP/POP3 прокси. - - -Изменения в nginx 0.1.44 06.09.2005 - - *) Добавление: IMAP/POP3 прокси поддерживает SSL. - - *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module. - - *) Добавление: директива userid_mark. - - *) Добавление: значение переменной $remote_user определяется независимо - от того, используется ли авторизация или нет. - - -Изменения в nginx 0.1.43 30.08.2005 - - *) Добавление: listen(2) backlog в директиве listen можно менять по - сигналу -HUP. - - *) Добавление: скрипт geo2nginx.pl добавлен в contrib. - - *) Изменение: параметры FastCGI с пустым значениями теперь передаются - серверу. - - *) Исправление: если в ответе проксированного сервера или FastCGI - сервера была строка "Cache-Control", то при использовании директивы - expires происходил segmentation fault или рабочий процесс мог - зациклится; в режиме прокси ошибка появилась в 0.1.29. - - -Изменения в nginx 0.1.42 23.08.2005 - - *) Исправление: если URI запроса получался нулевой длины после обработки - модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module - происходил segmentation fault или bus error. - - *) Исправление: директива limit_rate не работала внутри блока if; ошибка - появилась в 0.1.38. - - -Изменения в nginx 0.1.41 25.07.2005 - - *) Исправление: если переменная использовалась в файле конфигурации, то - она не могла использоваться в SSI. - - -Изменения в nginx 0.1.40 22.07.2005 - - *) Исправление: если клиент слал очень длинную строку заголовка, то в - логе не помещалась информация, связанная с этим запросом. - - *) Исправление: при использовании "X-Accel-Redirect" не передавалась - строка "Set-Cookie"; ошибка появилась в 0.1.39. - - *) Исправление: при использовании "X-Accel-Redirect" не передавалась - строка "Content-Disposition". - - *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты, - на которых он слушал. - - *) Исправление: после обновления исполняемого файла на лету на Linux и - Solaris название процесса в команде ps становилось короче. - - -Изменения в nginx 0.1.39 14.07.2005 - - *) Изменения в модуле ngx_http_charset_module: директива default_charset - упразднена; директива charset задаёт кодировку ответа; директива - source_charset задаёт только исходную кодировку. - - *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда, - не передавалась строка заголовка "WWW-Authenticate". - - *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module - могли закрыть соединение до того, как что-нибудь было передано - клиенту; ошибка появилась в 0.1.38. - - *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc. - - *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные - URI в команде include virtual. - - *) Исправление: если в строке заголовка ответа бэкенда была строка - "Location", которую nginx не должен был изменять, то в ответе - передавалось тело 500 ошибки; ошибка появилась в 0.1.29. - - *) Исправление: некоторые директивы модулей ngx_http_proxy_module и - ngx_http_fastcgi_module не наследовались с уровня server на уровень - location; ошибка появилась в 0.1.29. - - *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки - сертификатов. - - *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе - длинных имён файлов; ошибка появилась в 0.1.38. - - *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на - стадии login. - - -Изменения в nginx 0.1.38 08.07.2005 - - *) Добавление: директива limit_rate поддерживается в режиме прокси и - FastCGI. - - *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка - "X-Accel-Limit-Rate" в ответе бэкенда. - - *) Добавление: директива break. - - *) Добавление: директива log_not_found. - - *) Исправление: при перенаправлении запроса с помощью строки заголовка - "X-Accel-Redirect" не изменялся код ответа. - - *) Исправление: переменные, установленные директивой set не могли - использоваться в SSI. - - *) Исправление: при включении в SSI более одного удалённого подзапроса - мог произойти segmentation fault. - - *) Исправление: если статусная строка в ответе бэкенда передавалась в - двух пакетах, то nginx считал ответ неверным; ошибка появилась в - 0.1.29. - - *) Добавление: директива ssi_types. - - *) Добавление: директива autoindex_exact_size. - - *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные - имена файлов в UTF-8. - - *) Добавление: IMAP/POP3 прокси. - - -Изменения в nginx 0.1.37 23.06.2005 - - *) Изменение: в конце файла nginx.pid теперь добавляется "\n". - - *) Исправление: при включении большого количества вставок или нескольких - больших вставок с помощью SSI ответ мог передаваться не полностью. - - *) Исправление: если все бэкенды возвращали ответ 404, то при - использовании параметра http_404 в директивах proxy_next_upstream или - fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова. - - -Изменения в nginx 0.1.36 15.06.2005 - - *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host", - "Connection", "Content-Length" и "Authorization", то nginx теперь - выдаёт ошибку 400. - - *) Изменение: директива post_accept_timeout упразднена. - - *) Добавление: параметры default, af=, bl=, deferred и bind в директиве - listen. - - *) Добавление: поддержка accept фильтров во FreeBSD. - - *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux. - - *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена - файлов в UTF-8. - - *) Исправление: после добавления новый лог-файл ротация этого лога по - сигналу -USR1 выполнялась, только если переконфигурировать nginx два - раза по сигналу -HUP. - - -Изменения в nginx 0.1.35 07.06.2005 - - *) Добавление: директива working_directory. - - *) Добавление: директива port_in_redirect. - - *) Исправление: если заголовок ответа бэкенда не помещался в один пакет, - то происходил segmentation fault; ошибка появилась в 0.1.29. - - *) Исправление: если было сконфигурировано более 10 серверов или в - сервере не описана директива "listen", то при запуске мог произойти - segmentation fault. - - *) Исправление: если ответ не помещался во временный файл, то мог - произойти segmentation fault. - - *) Исправление: nginx возвращал ошибку 400 на запросы вида - "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28. - - -Изменения в nginx 0.1.34 26.05.2005 - - *) Исправление: при включении больших ответов с помощью SSI рабочий - процесс мог зациклиться. - - *) Исправление: переменные, устанавливаемые директивой "set", не были - доступны в SSI. - - *) Добавление: директива autoindex_localtime. - - *) Исправление: пустое значение в директиве proxy_set_header запрещает - передачу заголовка. - - -Изменения в nginx 0.1.33 23.05.2005 - - *) Исправление: nginx не собирался с параметром --without-pcre; ошибка - появилась в 0.1.29. - - *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне - вызывали bus fault при запуске. - - *) Исправление: в редиректах внутри HTTPS сервера был указан протокол - HTTP. - - *) Исправление: если директива rewrite использовала выделения внутри - директивы if, то возвращалась ошибка 500. - - -Изменения в nginx 0.1.32 19.05.2005 - - *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не - передавались аргументы; ошибка появилась в 0.1.29. - - *) Добавление: директива if поддерживает выделения в регулярных - выражениях. - - *) Добавление: директива set поддерживает переменные и выделения из - регулярных выражений. - - *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка - "X-Accel-Redirect" в ответе бэкенда. - - -Изменения в nginx 0.1.31 16.05.2005 - - *) Исправление: при использовании SSL ответ мог передаваться не до - конца. - - *) Исправление: ошибки при обработке SSI в ответе, полученного от - FastCGI-сервера. - - *) Исправление: ошибки при использовании SSI и сжатия. - - *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка - появилась в 0.1.30. - - -Изменения в nginx 0.1.30 14.05.2005 - - *) Исправление: при использовании SSI рабочий процесс мог зациклиться. - - *) Исправление: при использовании SSL ответ мог передаваться не до - конца. - - *) Исправление: если длина части ответа, полученного за один раз от - проксируемого или FastCGI сервера была равна 500 байт, то nginx - возвращал код ответа 500; в режиме прокси ошибка появилась только в - 0.1.29. - - *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю - параметрами. - - *) Добавление: директива return может возвращать код ответа 204. - - *) Добавление: директива ignore_invalid_headers. - - -Изменения в nginx 0.1.29 12.05.2005 - - *) Добавление: модуль ngx_http_ssi_module поддерживает команду include - virtual. - - *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду - вида 'if expr="$NAME"' и команды else и endif. Допускается только - один уровень вложенности. - - *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные - DATE_LOCAL и DATE_GMT и команду config timefmt. - - *) Добавление: директива ssi_ignore_recycled_buffers. - - *) Исправление: если переменная QUERY_STRING не была определена, то в - команде echo не ставилось значение по умолчанию. - - *) Изменение: модуль ngx_http_proxy_module полностью переписан. - - *) Добавление: директивы proxy_redirect, proxy_pass_request_headers, - proxy_pass_request_body и proxy_method. - - *) Добавление: директива proxy_set_header. Директива proxy_x_var - упразднена и должна быть заменена директивой proxy_set_header. - - *) Изменение: директива proxy_preserve_host упразднена и должна быть - заменена директивами "proxy_set_header Host $host" и "proxy_redirect - off" или директивой "proxy_set_header Host $host:$proxy_port" и - соответствующими ей директивами proxy_redirect. - - *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть - заменена директивой "proxy_set_header X-Real-IP $remote_addr". - - *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна - быть заменена директивой - "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for". - - *) Изменение: директива proxy_set_x_url упразднена и должна быть - заменена директивой - "proxy_set_header X-URL http://$host:$server_port$request_uri". - - *) Добавление: директива fastcgi_param. - - *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params - упразднены и должны быть замены директивами fastcgi_param. - - *) Добавление: директива index может использовать переменные. - - *) Добавление: директива index может быть указана на уровне http и - server. - - *) Изменение: только последний параметр в директиве index может быть - абсолютным. - - *) Добавление: в директиве rewrite могут использоваться переменные. - - *) Добавление: директива internal. - - *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, - SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, - SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER. - - *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса - клиента и ответа бэкенда. - - *) Исправление: если бэкенд долго не передавал ответ и send_timeout был - меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408. - - *) Исправление: если бэкенд передавал неверную строку в заголовке - ответа, то происходил segmentation fault; ошибка появилась в 0.1.26. - - *) Исправление: при использовании отказоустойчивой конфигурации в - FastCGI мог происходить segmentation fault. - - *) Исправление: директива expires не удаляла уже установленные строки - заголовка "Expires" и "Cache-Control". - - *) Исправление: nginx не учитывал завершающую точку в строке заголовка - запроса "Host". - - *) Исправление: модуль ngx_http_auth_module не работал на Linux. - - *) Исправление: директива rewrite неверно работала, если в запросе - присутствовали аргументы. - - *) Исправление: nginx не собирался на MacOS X. - - -Изменения в nginx 0.1.28 08.04.2005 - - *) Исправление: при проксировании больших файлов nginx сильно нагружал - процессор. - - *) Исправление: nginx не собирался gcc 4.0 на Linux. - - -Изменения в nginx 0.1.27 28.03.2005 - - *) Добавление: параметр blocked в директиве valid_referers. - - *) Изменение: ошибки обработки заголовка запроса теперь записываются на - уровне info, в лог также записывается имя сервера и строки заголовка - запроса "Host" и "Referer". - - *) Изменение: при записи ошибок в лог записывается также строка - заголовка запроса "Host". - - *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка - символов "://" в URI, введённая в версии 0.1.11, теперь упразднена. - - *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан - параметр конфигурации --without-ngx_http_auth_basic_module. - - -Изменения в nginx 0.1.26 22.03.2005 - - *) Изменение: неверные строки заголовка, переданные клиентом, теперь - игнорируется и записываются в error_log на уровне info. - - *) Изменение: при записи ошибок в лог записывается также имя сервера, - при обращении к которому произошла ошибка. - - *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic - и auth_basic_user_file. - - -Изменения в nginx 0.1.25 19.03.2005 - - *) Исправление: nginx не работал на Linux parisc. - - *) Добавление: nginx теперь не запускается под FreeBSD, если значение - sysctl kern.ipc.somaxconn слишком большое. - - *) Исправление: если модуль ngx_http_index_module делал внутреннее - перенаправление запроса в модули ngx_http_proxy_module или - ngx_http_fastcgi_module, то файл индекса не закрывался после - обслуживания запроса. - - *) Добавление: директива proxy_pass может использоваться в location, - заданных регулярным выражением. - - *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает - условия вида "if ($HTTP_USER_AGENT ~ MSIE)". - - *) Исправление: nginx очень медленно запускался при большом количестве - адресов и использовании текстовых значений в директиве geo. - - *) Изменение: имя переменной в директиве geo нужно указывать, как $name. - Прежний вариант без "$" пока работает, но вскоре будет убран. - - *) Добавление: параметр лога "%{VARIABLE}v". - - *) Добавление: директива "set $name value". - - *) Исправление: совместимость с gcc 4.0. - - *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS. - - -Изменения в nginx 0.1.24 04.03.2005 - - *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные - QUERY_STRING и DOCUMENT_URI. - - *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404 - на существующий каталог, если этот каталог был указан как alias. - - *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал - при больших ответах. - - *) Исправление: отсутствие строки заголовка "Referer" всегда считалось - правильным referrer'ом. - - -Изменения в nginx 0.1.23 01.03.2005 - - *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi, - ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo - var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'. - - *) Добавление: параметр лога %request_time. - - *) Добавление: если запрос пришёл без строки заголовка "Host", то - директива proxy_preserve_host устанавливает в качестве этого - заголовка первое имя сервера из директивы server_name. - - *) Исправление: nginx не собирался на платформах, отличных от i386, - amd64, sparc и ppc; ошибка появилась в 0.1.22. - - *) Исправление: модуль ngx_http_autoindex_module теперь показывает - информацию не о символическом линке, а о файле или каталоге, на - который он указывает. - - *) Исправление: если клиенту ничего не передавалось, то параметр - %apache_length записывал в лог отрицательную длину заголовка ответа. - - -Изменения в nginx 0.1.22 22.02.2005 - - *) Исправление: модуль ngx_http_stub_status_module показывал неверную - статистику для обработанных соединений, если использовалось - проксирование или FastCGI-сервер. - - *) Исправление: на Linux и Solaris установочные пути были неверно - заключены в кавычки; ошибка появилась в 0.1.21. - - -Изменения в nginx 0.1.21 22.02.2005 - - *) Исправление: модуль ngx_http_stub_status_module показывал неверную - статистику при использовании метода rtsig или при использовании - нескольких рабочих процессов на SMP машине. - - *) Исправление: nginx не собирался компилятором icc под Линуксом или - если библиотека zlib-1.2.x собиралась из исходных текстов. - - *) Исправление: nginx не собирался под NetBSD 2.0. - - -Изменения в nginx 0.1.20 17.02.2005 - - *) Добавление: новые параметры script_filename и remote_port в директиве - fastcgi_params. - - *) Исправление: неправильно обрабатывался поток stderr от - FastCGI-сервера. - - -Изменения в nginx 0.1.19 16.02.2005 - - *) Исправление: если в запросе есть нуль, то для локальных запросов - теперь возвращается ошибка 404. - - *) Исправление: nginx не собирался под NetBSD 2.0. - - *) Исправление: во время чтения тела запроса клиента в SSL соединении - мог произойти таймаут. - - -Изменения в nginx 0.1.18 09.02.2005 - - *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events - и devpoll_changes значения по умолчанию уменьшены с 512 до 32. - - *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не - наследовались. - - *) Исправление: в директиве rewrite, возвращающей редирект, аргументы - присоединялись к URI через символ "&" вместо "?". - - *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во - включённом файле игнорировались. - - *) Добавление: модуль ngx_http_stub_status_module. - - *) Исправление: неизвестный формат лог-файла в директиве access_log - вызывал segmentation fault. - - *) Добавление: новый параметр document_root в директиве fastcgi_params. - - *) Добавление: директива fastcgi_redirect_errors. - - *) Добавление: новый модификатор break в директиве rewrite позволяет - прекратить цикл rewrite/location и устанавливает текущую конфигурацию - для запроса. - - -Изменения в nginx 0.1.17 03.02.2005 - - *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь - можно делать редиректы, возвращать коды ошибок и проверять переменные - и рефереры. Эти директивы можно использовать внутри location. - Директива redirect упразднена. - - *) Добавление: модуль ngx_http_geo_module. - - *) Добавление: директивы proxy_set_x_var и fastcgi_set_var. - - *) Исправление: конфигурация location с модификатором "=" могла - использоваться в другом location. - - *) Исправление: правильный тип ответа выставлялся только для запросов, у - которых в расширении были только маленькие буквы. - - *) Исправление: если для location установлен proxy_pass или - fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась - на статическую страницу, то происходил segmentation fault. - - *) Исправление: если в проксированном ответе в заголовке "Location" - передавался относительный URL, то к нему добавлялось имя хоста и - слэш; ошибка появилась в 0.1.14. - - *) Исправление: на Linux в лог не записывался текст системной ошибки. - - -Изменения в nginx 0.1.16 25.01.2005 - - *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD - выдавался завершающий chunk. - - *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если - директива keepalive_timeout запрещала использование keep-alive. - - *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали - segmentation fault. - - *) Исправление: при использовании SSL сжатый ответ мог передаваться не - до конца. - - *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные - для TCP сокетов, не используются для unix domain сокетов. - - *) Добавление: директива rewrite поддерживает перезаписывание - аргументов. - - *) Исправление: на запрос POST с заголовком "Content-Length: 0" - возвращался ответ 400; ошибка появилась в 0.1.14. - - -Изменения в nginx 0.1.15 19.01.2005 - - *) Исправление: ошибка соединения с FastCGI-сервером вызывала - segmentation fault. - - *) Исправление: корректная обработка регулярного выражения, в котором - число выделенных частей не совпадает с числом подстановок. - - *) Добавление: location, который передаётся FastCGI-серверу, может быть - задан с помощью регулярного выражения. - - *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с - аргументами и в том виде, в котором был получен от клиента. - - *) Исправление: для использования регулярных выражений в location нужно - было собирать nginx вместе с ngx_http_rewrite_module. - - *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании - директивы "proxy_preserve_host on" в заголовке "Host" указывался - также порт 80; ошибка появилась в 0.1.14. - - *) Исправление: если задать одинаковые пути в параметрах - автоконфигурации --http-client-body-temp-path=PATH и - --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и - --http-fastcgi-temp-path=PATH, то происходил segmentation fault. - - -Изменения в nginx 0.1.14 18.01.2005 - - *) Добавление: параметры автоконфигурации - --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и - --http-fastcgi-temp-path=PATH - - *) Изменение: имя каталога с временными файлами, содержащие тело запроса - клиента, задаётся директивой client_body_temp_path, по умолчанию - <prefix>/client_body_temp. - - *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass, - fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout, - fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat, - fastcgi_header_buffer_size, fastcgi_buffers, - fastcgi_busy_buffers_size, fastcgi_temp_path, - fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, - fastcgi_next_upstream и fastcgi_x_powered_by. - - *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в - 0.1.3. - - *) Изменение: в директиве proxy_pass нужно обязательно указывать URI - после имени хоста. - - *) Изменение: если в URI встречался символ %3F, то он считался началом - строки аргументов. - - *) Добавление: поддержка unix domain сокетов в модуле - ngx_http_proxy_module. - - *) Добавление: директивы ssl_engine и ssl_ciphers. - Спасибо Сергею Скворцову за SSL-акселератор. - - -Изменения в nginx 0.1.13 21.12.2004 - - *) Добавление: директивы server_names_hash и - server_names_hash_threshold. - - *) Исправление: имена *.domain.tld в директиве server_name не работали. - - *) Исправление: параметр лога %request_length записывал неверную длину. - - -Изменения в nginx 0.1.12 06.12.2004 - - *) Добавление: параметр лога %request_length. - - *) Исправление: при использовании /dev/poll, select и poll на - платформах, где возможны ложные срабатывания указанных методов, могли - быть длительные задержки при обработке запроса по keep-alive - соединению. Наблюдалось по крайней мере на Solaris с использованием - /dev/poll. - - *) Исправление: директива send_lowat игнорируется на Linux, так как - Linux не поддерживает опцию SO_SNDLOWAT. - - -Изменения в nginx 0.1.11 02.12.2004 - - *) Добавление: директива worker_priority. - - *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе - влияют на передачу ответа. - - *) Исправление: nginx не вызывал initgroups(). - Спасибо Андрею Ситникову и Андрею Нигматулину. - - *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в - байтах. - - *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в - каталоге есть битый symlink. - - *) Исправление: файлы больше 4G не передавались с использованием - sendfile. - - *) Исправление: если бэкенд резолвился в несколько адресов и при - ожидании от него ответа происходила ошибка, то процесс зацикливался. - - *) Исправление: при использовании метода /dev/poll рабочий процесс мог - завершиться с сообщением "unknown cycle". - - *) Исправление: ошибки "close() channel failed". - - *) Исправление: автоматическое определение групп nobody и nogroup. - - *) Исправление: директива send_lowat не работала на Linux. - - *) Исправление: если в конфигурации не было раздела events, то - происходил segmentation fault. - - *) Исправление: nginx не собирался под OpenBSD. - - *) Исправление: двойные слэшы в "://" в URI превращались в ":/". - - -Изменения в nginx 0.1.10 26.11.2004 - - *) Исправление: если в запросе без аргументов есть "//", "/./", "/../" - или "%XX", то терялся последний символ в строке запроса; ошибка - появилась в 0.1.9. - - *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux - не работало. - - -Изменения в nginx 0.1.9 25.11.2004 - - *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то - проксируемый запрос передавался без аргументов. - - *) Исправление: при сжатии больших ответов иногда они передавались не - полностью. - - *) Исправление: не передавались файлы больше 2G на Linux, - неподдерживающем sendfile64(). - - *) Исправление: на Linux при конфигурации сборки нужно было обязательно - использовать параметр --with-poll_module; ошибка появилась в 0.1.8. - - -Изменения в nginx 0.1.8 20.11.2004 - - *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе - длинных имён файлов. - - *) Добавление: модификатор "^~" в директиве location. - - *) Добавление: директива proxy_max_temp_file_size. - - -Изменения в nginx 0.1.7 12.11.2004 - - *) Исправление: при использовании sendfile, если передаваемый файл - менялся, то мог произойти segmentation fault на FreeBSD; ошибка - появилась в 0.1.5. - - -Изменения в nginx 0.1.6 11.11.2004 - - *) Исправление: при некоторых комбинациях директив location c - регулярными выражениями использовалась конфигурация не из того - location. - - -Изменения в nginx 0.1.5 11.11.2004 - - *) Исправление: на Solaris и Linux могло быть очень много сообщений - "recvmsg() returned not enough data". - - *) Исправление: в режиме прокси без использования sendfile на Solaris - возникала ошибка "writev() failed (22: Invalid argument)". На других - платформах, не поддерживающих sendfile, процесс зацикливался. - - *) Исправление: при использовании sendfile в режиме прокси на Solaris - возникал segmentation fault. - - *) Исправление: segmentation fault на Solaris. - - *) Исправление: обновление исполняемого файла на лету не работало на - Linux. - - *) Исправление: в списке файлов, выдаваемом модулем - ngx_http_autoindex_module, не перекодировались пробелы, кавычки и - знаки процента. - - *) Изменение: уменьшение операций копирования. - - *) Добавление: директива userid_p3p. - - -Изменения в nginx 0.1.4 26.10.2004 - - *) Исправление: ошибка в модуле ngx_http_autoindex_module. - - -Изменения в nginx 0.1.3 25.10.2004 - - *) Добавление: модуль ngx_http_autoindex_module и директива autoindex. - - *) Добавление: директива proxy_set_x_url. - - *) Исправление: модуль проксировании мог привести к зацикливанию, если - не использовался sendfile. - - -Изменения в nginx 0.1.2 21.10.2004 - - *) Добавление: параметры --user=USER, --group=GROUP и - --with-ld-opt=OPTIONS в configure. - - *) Добавление: директива server_name поддерживает *.domain.tld. - - *) Исправление: улучшена переносимость на неизвестные платформы. - - *) Исправление: нельзя переконфигурировать nginx, если конфигурационный - файл указан в командной строке; ошибка появилась в 0.1.1. - - *) Исправление: модуль проксировании мог привести к зацикливанию, если - не использовался sendfile. - - *) Исправление: при использовании sendfile текст ответа не - перекодировался согласно директивам модуля charset; ошибка появилась - в 0.1.1. - - *) Исправление: очень редкая ошибка при обработке kqueue. - - *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при - проксировании. - - -Изменения в nginx 0.1.1 11.10.2004 - - *) Добавление: директива gzip_types. - - *) Добавление: директива tcp_nodelay. - - *) Добавление: директива send_lowat работает не только на платформах, - поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих - SO_SNDLOWAT. - - *) Добавление: эмуляция setproctitle() для Linux и Solaris. - - *) Исправление: ошибка при переписывании заголовка "Location" при - проксировании. - - *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к - зацикливанию. - - *) Исправление: ошибки в модуле /dev/poll. - - *) Исправление: при проксировании и использовании временных файлов - ответы портились. - - *) Исправление: бэкенду передавались запросы с неперекодированными - символами. - - *) Исправление: на Linux 2.4 при конфигурации сборки нужно было - обязательно использовать параметр --with-poll_module. - - -Изменения в nginx 0.1.0 04.10.2004 - - *) Первая публично доступная версия. - Renamed: vendor/nginx-1.7.7/auto/cc/acc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/ccc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/clang (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/gcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/icc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/name (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/cc/sunc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/configure (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/define (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/endianness (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/feature (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/have (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/have_headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/headers (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/include (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/init (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/install (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/geoip/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/google-perftools/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/libatomic/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/libatomic/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/libgd/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/libxslt/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/md5/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/md5/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/md5/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/md5/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/md5/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/openssl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/openssl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/openssl/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/openssl/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/pcre/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/pcre/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/pcre/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/pcre/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/pcre/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/perl/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/perl/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/sha1/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/sha1/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/sha1/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/sha1/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/sha1/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/test (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/zlib/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/zlib/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/zlib/makefile.bcc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/zlib/makefile.msvc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/lib/zlib/makefile.owc (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/make (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/modules (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/nohave (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/options (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/os/conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/os/darwin (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/os/freebsd (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/os/linux (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/os/solaris (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/os/win32 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/sources (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/stubs (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/summary (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/types/sizeof (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/types/typedef (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/types/uintptr_t (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/types/value (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/auto/unix (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/fastcgi.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/fastcgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/koi-win (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/mime.types (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/nginx.conf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/scgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/uwsgi_params (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/conf/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/README (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/geo2nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/unicode2nginx/koi-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/unicode2nginx/unicode-to-nginx.pl (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/unicode2nginx/win-utf (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/vim/ftdetect/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/vim/indent/nginx.vim (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/contrib/vim/syntax/nginx.vim (+0 -0) 100% =================================================================== Added: vendor/nginx-1.7.7/docs/GNUmakefile (+41 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.7.7/docs/GNUmakefile 2014-11-22 17:25:19 +0900 (9a920fe) @@ -0,0 +1,41 @@ + +VER= $(shell grep 'define NGINX_VERSION' src/core/nginx.h \ + | sed -e 's/^.*"\(.*\)".*/\1/') +NGINX= nginx-$(VER) +TEMP= tmp +XSLS?= xslscript.pl + + +all: changes + +changes: $(TEMP)/$(NGINX)/CHANGES.ru \ + $(TEMP)/$(NGINX)/CHANGES + + +$(TEMP)/$(NGINX)/CHANGES.ru: docs/dtd/changes.dtd \ + docs/xml/nginx/changes.xml \ + docs/xml/change_log_conf.xml \ + docs/xslt/changes.xslt + + mkdir -p $(TEMP)/$(NGINX) + + xmllint --noout --valid docs/xml/nginx/changes.xml + xsltproc --stringparam lang ru \ + -o $@ docs/xslt/changes.xslt docs/xml/nginx/changes.xml + + +$(TEMP)/$(NGINX)/CHANGES: docs/dtd/changes.dtd \ + docs/xml/nginx/changes.xml \ + docs/xml/change_log_conf.xml \ + docs/xslt/changes.xslt + + mkdir -p $(TEMP)/$(NGINX) + + xmllint --noout --valid docs/xml/nginx/changes.xml + xsltproc --stringparam lang en \ + -o $@ docs/xslt/changes.xslt docs/xml/nginx/changes.xml + + +docs/xslt/changes.xslt: docs/xsls/changes.xsls + + $(XSLS) -o $@ $< Added: vendor/nginx-1.7.7/docs/dtd/change_log_conf.dtd (+22 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.7.7/docs/dtd/change_log_conf.dtd 2014-11-22 17:25:19 +0900 (40a0123) @@ -0,0 +1,22 @@ + +<!ELEMENT configuration (length, start, indent, changes+) > + +<!ELEMENT length (#PCDATA) > +<!ELEMENT start (#PCDATA) > +<!ELEMENT indent (#PCDATA) > + +<!ELEMENT changes (title, length, + bugfix, feature, change, workaround, + (month, month, month, month, month, month, + month, month, month, month, month, month)?) > + +<!ATTLIST changes lang ( ru | en) #REQUIRED> + +<!ELEMENT title (#PCDATA) > + +<!ELEMENT bugfix (#PCDATA) > +<!ELEMENT feature (#PCDATA) > +<!ELEMENT change (#PCDATA) > +<!ELEMENT workaround (#PCDATA) > + +<!ELEMENT month (#PCDATA) > Added: vendor/nginx-1.7.7/docs/dtd/changes.dtd (+22 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.7.7/docs/dtd/changes.dtd 2014-11-22 17:25:19 +0900 (e14518a) @@ -0,0 +1,22 @@ + +<!ENTITY nbsp " " > +<!ENTITY mdash " - " > + + +<!ELEMENT change_log (changes)* > +<!ATTLIST change_log title CDATA #REQUIRED > + +<!ELEMENT changes (change)* > +<!ATTLIST changes ver CDATA #REQUIRED + date CDATA #REQUIRED +> + +<!ELEMENT change (para)* > +<!ATTLIST change type (bugfix | feature | change | security | workaround) #IMPLIED > + +<!ELEMENT para (#PCDATA | at | br | nobr)* > +<!ATTLIST para lang (ru | en) #REQUIRED > + +<!ELEMENT at EMPTY > +<!ELEMENT br EMPTY > +<!ELEMENT nobr (#PCDATA) > Renamed: vendor/nginx-1.7.7/docs/html/50x.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/docs/html/index.html (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/docs/man/nginx.8 (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/docs/text/LICENSE (+0 -0) 100% =================================================================== Renamed: vendor/nginx-1.7.7/docs/text/README (+0 -0) 100% =================================================================== Added: vendor/nginx-1.7.7/docs/xml/change_log_conf.xml (+47 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.7.7/docs/xml/change_log_conf.xml 2014-11-22 17:25:19 +0900 (c03dc34) @@ -0,0 +1,47 @@ +<?xml version="1.0" ?> +<!DOCTYPE configuration SYSTEM "../dtd/change_log_conf.dtd" > + +<configuration> + +<length>76</length> + +<start> *) </start> +<indent> </indent> + +<changes lang="ru"> + <title>Изменения в </title> + <length>66</length> + + <bugfix>Исправление</bugfix> + <feature>Добавление</feature> + <change>Изменение</change> + <security>Безопасность</security> + <workaround>Изменение</workaround> +</changes> + +<changes lang="en"> + <title>Changes with </title> + <length>65</length> + + <bugfix>Bugfix</bugfix> + <feature>Feature</feature> + <change>Change</change> + <security>Security</security> + <workaround>Workaround</workaround> + + <month> Jan </month> + <month> Feb </month> + <month> Mar </month> + <month> Apr </month> + <month> May </month> + <month> Jun </month> + <month> Jul </month> + <month> Aug </month> + <month> Sep </month> + <month> Oct </month> + <month> Nov </month> + <month> Dec </month> + +</changes> + +</configuration> Added: vendor/nginx-1.7.7/docs/xml/nginx/changes.xml (+22478 -0) 100644 =================================================================== --- /dev/null +++ vendor/nginx-1.7.7/docs/xml/nginx/changes.xml 2014-11-22 17:25:19 +0900 (afabe9a) @@ -0,0 +1,22478 @@ +<?xml version="1.0" ?> +<!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" > + + +<change_log title="nginx"> + + +<changes ver="1.7.7" date="28.10.2014"> + +<change type="change"> +<para lang="ru"> +теперь nginx учитывает при кэшировании строку "Vary" +в заголовке ответа бэкенда. +</para> +<para lang="en"> +now nginx takes into account the "Vary" +header line in a backend response while caching. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_force_ranges, fastcgi_force_ranges, +scgi_force_ranges и uwsgi_force_ranges. +</para> +<para lang="en"> +the "proxy_force_ranges", "fastcgi_force_ranges", +"scgi_force_ranges", and "uwsgi_force_ranges" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_limit_rate, fastcgi_limit_rate, +scgi_limit_rate и uwsgi_limit_rate. +</para> +<para lang="en"> +the "proxy_limit_rate", "fastcgi_limit_rate", +"scgi_limit_rate", and "uwsgi_limit_rate" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр Vary директив proxy_ignore_headers, fastcgi_ignore_headers, +scgi_ignore_headers и uwsgi_ignore_headers. +</para> +<para lang="en"> +the "Vary" parameter of the "proxy_ignore_headers", "fastcgi_ignore_headers", +"scgi_ignore_headers", and "uwsgi_ignore_headers" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +последняя часть ответа, полученного от бэкенда +при небуферизированном проксировании, +могла не отправляться клиенту, +если использовались директивы gzip или gunzip. +</para> +<para lang="en"> +the last part of a response received from a backend +with unbufferred proxy +might not be sent to a client +if "gzip" or "gunzip" directives were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве proxy_cache_revalidate.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +in the "proxy_cache_revalidate" directive.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок.<br/> +Спасибо Yichun Zhang и Даниилу Бондареву. +</para> +<para lang="en"> +in error handling.<br/> +Thanks to Yichun Zhang and Daniil Bondarev. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директивах +proxy_next_upstream_tries и proxy_next_upstream_timeout.<br/> +Спасибо Feng Gu. +</para> +<para lang="en"> +in the "proxy_next_upstream_tries" and "proxy_next_upstream_timeout" +directives.<br/> +Thanks to Feng Gu. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows не собирался с MinGW-w64 gcc.<br/> +Спасибо Kouhei Sutou. +</para> +<para lang="en"> +nginx/Windows could not be built with MinGW-w64 gcc.<br/> +Thanks to Kouhei Sutou. +</para> +</change> + +</changes> + + +<changes ver="1.7.6" date="30.09.2014"> + +<change type="change"> +<para lang="ru"> +устаревшая директива limit_zone больше не поддерживается. +</para> +<para lang="en"> +the deprecated "limit_zone" directive is not supported anymore. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +в директивах limit_conn_zone и limit_req_zone теперь можно использовать +комбинации нескольких переменных. +</para> +<para lang="en"> +the "limit_conn_zone" and "limit_req_zone" directives now can be used +with combinations of multiple variables. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при повторной отправке FastCGI-запроса на бэкенд +тело запроса могло передаваться неправильно. +</para> +<para lang="en"> +request body might be transmitted incorrectly +when retrying a FastCGI request to the next upstream server. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в логгировании в syslog. +</para> +<para lang="en"> +in logging to syslog. +</para> +</change> + +</changes> + + +<changes ver="1.7.5" date="16.09.2014"> + +<change type="security"> +<para lang="ru"> +при использовании общего для нескольких блоков server +разделяемого кэша SSL-сессий или общего ключа для шифрования +TLS session tickets было возможно повторно использовать +SSL-сессию в контексте другого блока server (CVE-2014-3616).<br/> +Спасибо Antoine Delignat-Lavaud. +</para> +<para lang="en"> +it was possible to reuse SSL sessions in unrelated contexts +if a shared SSL session cache or the same TLS session ticket key +was used for multiple "server" blocks (CVE-2014-3616).<br/> +Thanks to Antoine Delignat-Lavaud. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директиву stub_status теперь можно указывать без параметров. +</para> +<para lang="en"> +now the "stub_status" directive does not require a parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр always директивы add_header. +</para> +<para lang="en"> +the "always" parameter of the "add_header" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы +proxy_next_upstream_tries, proxy_next_upstream_timeout, +fastcgi_next_upstream_tries, fastcgi_next_upstream_timeout, +memcached_next_upstream_tries, memcached_next_upstream_timeout, +scgi_next_upstream_tries, scgi_next_upstream_timeout, +uwsgi_next_upstream_tries и uwsgi_next_upstream_timeout. +</para> +<para lang="en"> +the +"proxy_next_upstream_tries", "proxy_next_upstream_timeout", +"fastcgi_next_upstream_tries", "fastcgi_next_upstream_timeout", +"memcached_next_upstream_tries", "memcached_next_upstream_timeout", +"scgi_next_upstream_tries", "scgi_next_upstream_timeout", +"uwsgi_next_upstream_tries", and "uwsgi_next_upstream_timeout" +directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в параметре if директивы access_log. +</para> +<para lang="en"> +in the "if" parameter of the "access_log" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_perl_module.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +in the ngx_http_perl_module.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива listen почтового прокси-сервера +не позволяла указать более двух параметров. +</para> +<para lang="en"> +the "listen" directive of the mail proxy module +did not allow to specify more than two parameters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива sub_filter не работала +с заменяемой строкой из одного символа. +</para> +<para lang="en"> +the "sub_filter" directive did not work +with a string to replace consisting of a single character. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +запросы могли зависать, если использовался resolver +и в процессе обращения к DNS-серверу происходил таймаут. +</para> +<para lang="en"> +requests might hang if resolver was used +and a timeout occurred during a DNS request. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module при использовании совместно с AIO. +</para> +<para lang="en"> +in the ngx_http_spdy_module when using with AIO. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если с помощью директивы set изменялись переменные +"$http_...", "$sent_http_..." или "$upstream_http_...". +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "set" directive was used to change the "$http_...", +"$sent_http_...", or "$upstream_http_..." variables. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок выделения памяти.<br/> +Спасибо Markus Linnala и Feng Gu. +</para> +<para lang="en"> +in memory allocation error handling.<br/> +Thanks to Markus Linnala and Feng Gu. +</para> +</change> + +</changes> + + +<changes ver="1.7.4" date="05.08.2014"> + +<change type="security"> +<para lang="ru"> +pipelined-команды не отбрасывались +после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556); +ошибка появилась в 1.5.6.<br/> +Спасибо Chris Boulton. +</para> +<para lang="en"> +pipelined commands were not discarded +after STARTTLS command in SMTP proxy (CVE-2014-3556); +the bug had appeared in 1.5.6.<br/> +Thanks to Chris Boulton. +</para> +</change> + +<change type="change"> +<para lang="ru"> +экранирование символов в URI теперь использует +шестнадцатеричные цифры в верхнем регистре.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +URI escaping now uses +uppercase hexadecimal digits.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь nginx можно собрать с BoringSSL и LibreSSL.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +now nginx can be build with BoringSSL and LibreSSL.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +запросы могли зависать, если использовался resolver +и DNS-сервер возвращал некорректный ответ; +ошибка появилась в 1.5.8. +</para> +<para lang="en"> +requests might hang if resolver was used +and a DNS server returned a malformed response; +the bug had appeared in 1.5.8. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +in the ngx_http_spdy_module.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $uri могла содержать мусор +при возврате ошибок с кодом 400.<br/> +Спасибо Сергею Боброву. +</para> +<para lang="en"> +the $uri variable might contain garbage +when returning errors with code 400.<br/> +Thanks to Sergey Bobrov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок в директиве proxy_store +и в модуле ngx_http_dav_module.<br/> +Спасибо Feng Gu. +</para> +<para lang="en"> +in error handling in the "proxy_store" directive +and the ngx_http_dav_module.<br/> +Thanks to Feng Gu. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при логгировании ошибок в syslog мог происходить segmentation fault; +ошибка появилась в 1.7.1. +</para> +<para lang="en"> +a segmentation fault might occur if logging of errors to syslog was used; +the bug had appeared in 1.7.1. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменные $geoip_latitude, $geoip_longitude, $geoip_dma_code +и $geoip_area_code могли не работать.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +the $geoip_latitude, $geoip_longitude, $geoip_dma_code, +and $geoip_area_code variables might not work.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок выделения памяти.<br/> +Спасибо Tatsuhiko Kubo и Piotr Sikora. +</para> +<para lang="en"> +in memory allocation error handling.<br/> +Thanks to Tatsuhiko Kubo and Piotr Sikora. +</para> +</change> + +</changes> + + +<changes ver="1.7.3" date="08.07.2014"> + +<change type="feature"> +<para lang="ru"> +weak entity tags теперь не удаляются при изменениях ответа, +а strong entity tags преобразуются в weak. +</para> +<para lang="en"> +weak entity tags are now preserved on response modifications, +and strong ones are changed to weak. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ревалидация элементов кэша теперь, если это возможно, +использует заголовок If-None-Match. +</para> +<para lang="en"> +cache revalidation now uses If-None-Match header +if possible. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_password_file. +</para> +<para lang="en"> +the "ssl_password_file" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при возврате ответа из кэша +заголовок запроса If-None-Match игнорировался, +если в ответе не было заголовка Last-Modified. +</para> +<para lang="en"> +the If-None-Match request header line was ignored +if there was no Last-Modified header +in a response returned from cache. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +сообщения "peer closed connection in SSL handshake" +при соединении с бэкендами логгировались на уровне info вместо error. +</para> +<para lang="en"> +"peer closed connection in SSL handshake" messages +were logged at "info" level instead of "error" while connecting to backends. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_dav_module в nginx/Windows. +</para> +<para lang="en"> +in the ngx_http_dav_module module in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +SPDY-соединения могли неожиданно закрываться, +если использовалось кэширование. +</para> +<para lang="en"> +SPDY connections might be closed prematurely +if caching was used. +</para> +</change> + +</changes> + + +<changes ver="1.7.2" date="17.06.2014"> + +<change type="feature"> +<para lang="ru"> +директива hash в блоке upstream. +</para> +<para lang="en"> +the "hash" directive inside the "upstream" block. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +дефрагментация свободных блоков разделяемой памяти.<br/> +Спасибо Wandenberg Peixoto и Yichun Zhang. +</para> +<para lang="en"> +defragmentation of free shared memory blocks.<br/> +Thanks to Wandenberg Peixoto and Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалось значение access_log по умолчанию; +ошибка появилась в 1.7.0.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the default value of the "access_log" directive was used; +the bug had appeared in 1.7.0.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +завершающий слэш ошибочно удалялся +из последнего параметра директивы try_files. +</para> +<para lang="en"> +trailing slash was mistakenly removed +from the last parameter of the "try_files" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог не собираться на OS X. +</para> +<para lang="en"> +nginx could not be built on OS X in some cases. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module. +</para> +<para lang="en"> +in the ngx_http_spdy_module. +</para> +</change> + +</changes> + + +<changes ver="1.7.1" date="27.05.2014"> + +<change type="feature"> +<para lang="ru"> +переменные "$upstream_cookie_...". +</para> +<para lang="en"> +the "$upstream_cookie_..." variables. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $ssl_client_fingerprint. +</para> +<para lang="en"> +the $ssl_client_fingerprint variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы error_log и access_log теперь поддерживают логгирование в syslog. +</para> +<para lang="en"> +the "error_log" and "access_log" directives now support logging to syslog. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +почтовый прокси-сервер теперь логгирует порт клиента при соединении. +</para> +<para lang="en"> +the mail proxy now logs client port on connect. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти при использовании директивы "ssl_stapling".<br/> +Спасибо Filipe da Silva. +</para> +<para lang="en"> +memory leak if the "ssl_stapling" directive was used.<br/> +Thanks to Filipe da Silva. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива alias внутри location'а, заданного регулярным выражением, +работала неправильно, если использовались директивы if или limit_except. +</para> +<para lang="en"> +the "alias" directive used inside a location given by a regular expression +worked incorrectly if the "if" or "limit_except" directives were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива charset не ставила кодировку для сжатых ответов бэкендов. +</para> +<para lang="en"> +the "charset" directive did not set a charset to encoded backend responses. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_pass без URI могла использовать оригинальный запрос +после установки переменной $args.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +a "proxy_pass" directive without URI part might use original request +after the $args variable was set.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в работе параметра none директивы smtp_auth; +ошибка появилась в 1.5.6.<br/> +Спасибо Святославу Никольскому. +</para> +<para lang="en"> +in the "none" parameter in the "smtp_auth" directive; +the bug had appeared in 1.5.6.<br/> +Thanks to Svyatoslav Nikolsky. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при совместном использовании sub_filter и SSI +ответы могли передаваться неверно. +</para> +<para lang="en"> +if sub_filter and SSI were used together, +then responses might be transferred incorrectly. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --with-file-aio на Linux/aarch64. +</para> +<para lang="en"> +nginx could not be built with the --with-file-aio option on Linux/aarch64. +</para> +</change> + +</changes> + + +<changes ver="1.7.0" date="24.04.2014"> + +<change type="feature"> +<para lang="ru"> +проверка SSL-сертификатов бэкендов. +</para> +<para lang="en"> +backend SSL certificate verification. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка SNI при работе с бэкендами по SSL. +</para> +<para lang="en"> +support for SNI while working with SSL backends. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $ssl_server_name. +</para> +<para lang="en"> +the $ssl_server_name variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр if директивы access_log. +</para> +<para lang="en"> +the "if" parameter of the "access_log" directive. +</para> +</change> + +</changes> + + +<changes ver="1.5.13" date="08.04.2014"> + +<change type="change"> +<para lang="ru"> +улучшена обработка хэш-таблиц; +в директивах variables_hash_max_size и types_hash_bucket_size +значения по умолчанию изменены на 1024 и 64 соответственно. +</para> +<para lang="en"> +improved hash table handling; +the default values of the "variables_hash_max_size" and +"types_hash_bucket_size" were changed to 1024 and 64 respectively. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_mp4_module теперь понимает аргумент end. +</para> +<para lang="en"> +the ngx_http_mp4_module now supports the "end" argument. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка byte ranges модулем ngx_http_mp4_module и при сохранении +ответов в кэш. +</para> +<para lang="en"> +byte ranges support in the ngx_http_mp4_module and while saving responses +to cache. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx не пишет в лог сообщения "ngx_slab_alloc() failed: no memory" +при использовании разделяемой памяти в ssl_session_cache +и в модуле ngx_http_limit_req_module. +</para> +<para lang="en"> +alerts "ngx_slab_alloc() failed: no memory" no longer logged +when using shared memory in the "ssl_session_cache" directive +and in the ngx_http_limit_req_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива underscores_in_headers +не разрешала подчёркивание в первом символе заголовка.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +the "underscores_in_headers" directive +did not allow underscore as a first character of a header.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +cache manager мог нагружать процессор при выходе в nginx/Windows. +</para> +<para lang="en"> +cache manager might hog CPU on exit in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании ssl_session_cache с параметром shared +рабочий процесс nginx/Windows завершался аварийно. +</para> +<para lang="en"> +nginx/Windows terminated abnormally +if the "ssl_session_cache" directive was used with the "shared" parameter. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module. +</para> +<para lang="en"> +in the ngx_http_spdy_module. +</para> +</change> + +</changes> + + +<changes ver="1.5.12" date="18.03.2014"> + +<change type="security"> +<para lang="ru"> +при обработке специально созданного запроса модулем ngx_http_spdy_module +могло происходить переполнение буфера в рабочем процессе, +что потенциально могло приводить к выполнению произвольного кода +(CVE-2014-0133).<br/> +Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel +Sadosky, Buenos Aires, Argentina. +</para> +<para lang="en"> +a heap memory buffer overflow might occur in a worker process +while handling a specially crafted request by ngx_http_spdy_module, +potentially resulting in arbitrary code execution +(CVE-2014-0133).<br/> +Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel +Sadosky, Buenos Aires, Argentina. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр proxy_protocol в директивах listen и real_ip_header, +переменная $proxy_protocol_addr. +</para> +<para lang="en"> +the "proxy_protocol" parameters of the "listen" and "real_ip_header" directives, +the $proxy_protocol_addr variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве fastcgi_next_upstream.<br/> +Спасибо Lucas Molas. +</para> +<para lang="en"> +in the "fastcgi_next_upstream" directive.<br/> +Thanks to Lucas Molas. +</para> +</change> + +</changes> + + +<changes ver="1.5.11" date="04.03.2014"> + +<change type="security"> +<para lang="ru"> +при обработке специально созданного запроса модулем ngx_http_spdy_module +на 32-битных платформах могла повреждаться память рабочего процесса, +что потенциально могло приводить к выполнению произвольного кода +(CVE-2014-0088); +ошибка появилась в 1.5.10.<br/> +Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel +Sadosky, Buenos Aires, Argentina. +</para> +<para lang="en"> +memory corruption might occur in a worker process on 32-bit platforms +while handling a specially crafted request by ngx_http_spdy_module, +potentially resulting in arbitrary code execution (CVE-2014-0088); +the bug had appeared in 1.5.10.<br/> +Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel +Sadosky, Buenos Aires, Argentina. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $ssl_session_reused. +</para> +<para lang="en"> +the $ssl_session_reused variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива client_max_body_size могла не работать +при чтении тела запроса с использованием chunked transfer encoding; +ошибка появилась в 1.3.9.<br/> +Спасибо Lucas Molas. +</para> +<para lang="en"> +the "client_max_body_size" directive might not work +when reading a request body using chunked transfer encoding; +the bug had appeared in 1.3.9.<br/> +Thanks to Lucas Molas. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при проксировании WebSocket-соединений +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +when proxying WebSocket connections. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовался модуль ngx_http_spdy_module на 32-битных платформах; +ошибка появилась в 1.5.10. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the ngx_http_spdy_module was used on 32-bit platforms; +the bug had appeared in 1.5.10. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +значение переменной $upstream_status могло быть неверным, +если использовались директивы proxy_cache_use_stale +или proxy_cache_revalidate.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +the $upstream_status variable might contain wrong data +if the "proxy_cache_use_stale" or "proxy_cache_revalidate" directives +were used.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если ошибки с кодом 400 с помощью директивы error_page +перенаправлялись в именованный location. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if errors with code 400 were redirected to a named location +using the "error_page" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows не собирался с Visual Studio 2013. +</para> +<para lang="en"> +nginx/Windows could not be built with Visual Studio 2013. +</para> +</change> + +</changes> + + +<changes ver="1.5.10" date="04.02.2014"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_spdy_module теперь использует протокол SPDY 3.1.<br/> +Спасибо Automattic и MaxCDN за спонсирование разработки. +</para> +<para lang="en"> +the ngx_http_spdy_module now uses SPDY 3.1 protocol.<br/> +Thanks to Automattic and MaxCDN for sponsoring this work. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_mp4_module теперь пропускает дорожки, +имеющие меньшую длину, чем запрошенная перемотка. +</para> +<para lang="en"> +the ngx_http_mp4_module now skips tracks +too short for a seek requested. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если переменная $ssl_session_id использовалась при логгировании; +ошибка появилась в 1.5.9. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the $ssl_session_id variable was used in logs; +the bug had appeared in 1.5.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменные $date_local и $date_gmt использовали неверный формат +вне модуля ngx_http_ssi_filter_module. +</para> +<para lang="en"> +the $date_local and $date_gmt variables used wrong format +outside of the ngx_http_ssi_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +клиентские соединения могли сразу закрываться, +если использовался отложенный accept; +ошибка появилась в 1.3.15. +</para> +<para lang="en"> +client connections might be immediately closed +if deferred accept was used; +the bug had appeared in 1.3.15. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +сообщения "getsockopt(TCP_FASTOPEN) ... failed" записывались в лог +в процессе обновления исполняемого файла на Linux; +ошибка появилась в 1.5.8.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs +during binary upgrade on Linux; +the bug had appeared in 1.5.8.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +</changes> + + +<changes ver="1.5.9" date="22.01.2014"> + +<change type="change"> +<para lang="ru"> +теперь в заголовке X-Accel-Redirect nginx ожидает закодированный URI. +</para> +<para lang="en"> +now nginx expects escaped URIs in "X-Accel-Redirect" headers. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_buffer_size. +</para> +<para lang="en"> +the "ssl_buffer_size" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директиву limit_rate теперь можно использовать для +ограничения скорости передачи ответов клиенту в SPDY-соединениях. +</para> +<para lang="en"> +the "limit_rate" directive can now be used to +rate limit responses sent in SPDY connections. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива spdy_chunk_size. +</para> +<para lang="en"> +the "spdy_chunk_size" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_session_tickets.<br/> +Спасибо Dirkjan Bussink. +</para> +<para lang="en"> +the "ssl_session_tickets" directive.<br/> +Thanks to Dirkjan Bussink. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $ssl_session_id содержала всю сессию в сериализованном виде +вместо её идентификатора.<br/> +Спасибо Ivan Ristić. +</para> +<para lang="en"> +the $ssl_session_id variable contained full session serialized +instead of just a session id.<br/> +Thanks to Ivan Ristić. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx неправильно обрабатывал закодированный символ "?" в команде SSI include. +</para> +<para lang="en"> +nginx incorrectly handled escaped "?" character in the "include" SSI command. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_dav_module не раскодировал целевой URI при +обработке методов COPY и MOVE. +</para> +<para lang="en"> +the ngx_http_dav_module did not unescape destination URI +of the COPY and MOVE methods. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +resolver не понимал доменные имена с точкой в конце. +Спасибо Yichun Zhang. +</para> +<para lang="en"> +resolver did not understand domain names with a trailing dot. +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при проксировании в логах могли появляться сообщения "zero size buf in output"; +ошибка появилась в 1.3.9. +</para> +<para lang="en"> +alerts "zero size buf in output" might appear in logs while proxying; +the bug had appeared in 1.3.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовался модуль ngx_http_spdy_module. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the ngx_http_spdy_module was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании методов обработки соединений select, poll и /dev/poll +проксируемые WebSocket-соединения могли зависать сразу после открытия. +</para> +<para lang="en"> +proxied WebSocket connections might hang right after handshake +if the select, poll, or /dev/poll methods were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива xclient почтового прокси-сервера +некорректно передавала IPv6-адреса. +</para> +<para lang="en"> +the "xclient" directive of the mail proxy module +incorrectly handled IPv6 client addresses. +</para> +</change> + +</changes> + + +<changes ver="1.5.8" date="17.12.2013"> + +<change type="feature"> +<para lang="ru"> +теперь resolver поддерживает IPv6. +</para> +<para lang="en"> +IPv6 support in resolver. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива listen поддерживает параметр fastopen.<br/> +Спасибо Mathew Rodley. +</para> +<para lang="en"> +the "listen" directive supports the "fastopen" parameter.<br/> +Thanks to Mathew Rodley. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка SSL в модуле ngx_http_uwsgi_module.<br/> +Спасибо Roberto De Ioris. +</para> +<para lang="en"> +SSL support in the ngx_http_uwsgi_module.<br/> +Thanks to Roberto De Ioris. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +скрипты подсветки синтаксиса для vim добавлены в contrib.<br/> +Спасибо Evan Miller. +</para> +<para lang="en"> +vim syntax highlighting scripts were added to contrib.<br/> +Thanks to Evan Miller. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при чтении тела запроса с использованием chunked transfer encoding +по SSL-соединению мог произойти таймаут. +</para> +<para lang="en"> +a timeout might occur while reading client request body +in an SSL connection using chunked transfer encoding. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива master_process работала неправильно в nginx/Windows. +</para> +<para lang="en"> +the "master_process" directive did not work correctly in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр setfib директивы listen мог не работать. +</para> +<para lang="en"> +the "setfib" parameter of the "listen" directive might not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module. +</para> +<para lang="en"> +in the ngx_http_spdy_module. +</para> +</change> + +</changes> + + +<changes ver="1.5.7" date="19.11.2013"> + +<change type="security"> +<para lang="ru"> +символ, следующий за незакодированным пробелом в строке запроса, +обрабатывался неправильно (CVE-2013-4547); +ошибка появилась в 0.8.41.<br/> +Спасибо Ivan Fratric из Google Security Team. +</para> +<para lang="en"> +a character following an unescaped space in a request line +was handled incorrectly (CVE-2013-4547); +the bug had appeared in 0.8.41.<br/> +Thanks to Ivan Fratric of the Google Security Team. +</para> +</change> + +<change type="change"> +<para lang="ru"> +уровень логгирования ошибок auth_basic об отсутствии пароля +понижен с уровня error до info. +</para> +<para lang="en"> +a logging level of auth_basic errors about no user/password provided +has been lowered from "error" to "info". +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_cache_revalidate, fastcgi_cache_revalidate, +scgi_cache_revalidate и uwsgi_cache_revalidate. +</para> +<para lang="en"> +the "proxy_cache_revalidate", "fastcgi_cache_revalidate", +"scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_session_ticket_key.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +the "ssl_session_ticket_key" directive.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "add_header Cache-Control ''" +добавляла строку заголовка ответа "Cache-Control" с пустым значением. +</para> +<para lang="en"> +the directive "add_header Cache-Control ''" +added a "Cache-Control" response header line with an empty value. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "satisfy any" могла вернуть ошибку 403 вместо 401 +при использовании директив auth_request и auth_basic.<br/> +Спасибо Jan Marc Hoffmann. +</para> +<para lang="en"> +the "satisfy any" directive might return 403 error instead of 401 +if auth_request and auth_basic directives were used.<br/> +Thanks to Jan Marc Hoffmann. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметры accept_filter и deferred директивы listen игнорировались +для listen-сокетов, создаваемых в процессе обновления исполняемого файла.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +the "accept_filter" and "deferred" parameters of the "listen" directive +were ignored for listen sockets created during binary upgrade.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +часть данных, полученных от бэкенда при небуферизированном проксировании, +могла не отправляться клиенту сразу, +если использовались директивы gzip или gunzip.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +some data received from a backend with unbufferred proxy +might not be sent to a client immediately +if "gzip" or "gunzip" directives were used.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок в модуле ngx_http_gunzip_filter_module. +</para> +<para lang="en"> +in error handling in ngx_http_gunzip_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответы могли зависать, +если использовался модуль ngx_http_spdy_module +и директива auth_request. +</para> +<para lang="en"> +responses might hang +if the ngx_http_spdy_module was used +with the "auth_request" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти в nginx/Windows. +</para> +<para lang="en"> +memory leak in nginx/Windows. +</para> +</change> + +</changes> + + +<changes ver="1.5.6" date="01.10.2013"> + +<change type="feature"> +<para lang="ru"> +директива fastcgi_buffering. +</para> +<para lang="en"> +the "fastcgi_buffering" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_ssl_protocols и proxy_ssl_ciphers.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +the "proxy_ssl_protocols" and "proxy_ssl_ciphers" directives.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +оптимизация SSL handshake при использовании длинных цепочек сертификатов. +</para> +<para lang="en"> +optimization of SSL handshakes when using long certificate chains. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +почтовый прокси-сервер поддерживает SMTP pipelining. +</para> +<para lang="en"> +the mail proxy supports SMTP pipelining. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_auth_basic_module +при использовании метода шифрования паролей "$apr1$".<br/> +Спасибо Markus Linnala. +</para> +<para lang="en"> +in the ngx_http_auth_basic_module +when using "$apr1$" password encryption method.<br/> +Thanks to Markus Linnala. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на MacOSX, Cygwin и nginx/Windows +для обработки запроса мог использоваться неверный location, +если для задания location'ов использовались символы разных регистров. +</para> +<para lang="en"> +in MacOSX, Cygwin, and nginx/Windows +incorrect location might be used to process a request +if locations were given using characters in different cases. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +автоматическое перенаправление с добавлением завершающего слэша +для проксированных location'ов могло не работать. +</para> +<para lang="en"> +automatic redirect with appended trailing slash +for proxied locations might not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в почтовом прокси-сервере. +</para> +<para lang="en"> +in the mail proxy server. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module. +</para> +<para lang="en"> +in the ngx_http_spdy_module. +</para> +</change> + +</changes> + + +<changes ver="1.5.5" date="17.09.2013"> + +<change type="change"> +<para lang="ru"> +теперь nginx по умолчанию использует HTTP/1.0, +если точно определить протокол не удалось. +</para> +<para lang="en"> +now nginx assumes HTTP/1.0 by default +if it is not able to detect protocol reliably. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива disable_symlinks теперь использует O_PATH на Linux. +</para> +<para lang="en"> +the "disable_symlinks" directive now uses O_PATH on Linux. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +для определения того, что клиент закрыл соединение, +при использовании метода epoll +теперь используются события EPOLLRDHUP. +</para> +<para lang="en"> +now nginx uses EPOLLRDHUP events +to detect premature connection close by clients +if the "epoll" method is used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве valid_referers при использовании параметра server_names. +</para> +<para lang="en"> +in the "valid_referers" directive if the "server_names" parameter was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $request_time не работала в nginx/Windows. +</para> +<para lang="en"> +the $request_time variable did not work in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве image_filter.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +in the "image_filter" directive.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с OpenSSL 1.0.1f.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +OpenSSL 1.0.1f compatibility.<br/> +Thanks to Piotr Sikora. +</para> +</change> + + +</changes> + + +<changes ver="1.5.4" date="27.08.2013"> + +<change type="change"> +<para lang="ru"> +MIME-тип для расширения js изменён на "application/javascript"; +значение по умолчанию директивы charset_types изменено соответственно. +</para> +<para lang="en"> +the "js" extension MIME type has been changed to "application/javascript"; +default value of the "charset_types" directive was changed accordingly. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь директива image_filter с параметром size +возвращает ответ с MIME-типом "application/json". +</para> +<para lang="en"> +now the "image_filter" directive with the "size" parameter +returns responses with the "application/json" MIME type. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_auth_request_module. +</para> +<para lang="en"> +the ngx_http_auth_request_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на старте или во время переконфигурации мог произойти segmentation fault, +если использовалась директива try_files с пустым параметром. +</para> +<para lang="en"> +a segmentation fault might occur on start or during reconfiguration +if the "try_files" directive was used with an empty parameter. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти при использовании в директивах root и auth_basic_user_file +относительных путей, заданных с помощью переменных. +</para> +<para lang="en"> +memory leak if relative paths were specified using variables +in the "root" or "auth_basic_user_file" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива valid_referers неправильно выполняла регулярные выражения, +если заголовок Referer начинался с "https://".<br/> +Спасибо Liangbin Li. +</para> +<para lang="en"> +the "valid_referers" directive incorrectly executed regular expressions +if a "Referer" header started with "https://".<br/> +Thanks to Liangbin Li. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответы могли зависать, если использовались подзапросы и при обработке подзапроса +происходила ошибка во время SSL handshake с бэкендом.<br/> +Спасибо Aviram Cohen. +</para> +<para lang="en"> +responses might hang if subrequests were used +and an SSL handshake error happened during subrequest processing.<br/> +Thanks to Aviram Cohen. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_autoindex_module. +</para> +<para lang="en"> +in the ngx_http_autoindex_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module. +</para> +<para lang="en"> +in the ngx_http_spdy_module. +</para> +</change> + +</changes> + + +<changes ver="1.5.3" date="30.07.2013"> + +<change> +<para lang="ru"> +Изменение во внутреннем API: +теперь при небуферизированной работе с бэкендами +u->length по умолчанию устанавливается в -1. +</para> +<para lang="en"> +Change in internal API: +now u->length defaults to -1 +if working with backends in unbuffered mode. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь при получении неполного ответа от бэкенда +nginx отправляет полученную часть ответа, +после чего закрывает соединение с клиентом. +</para> +<para lang="en"> +now after receiving an incomplete response from a backend server +nginx tries to send an available part of the response to a client, +and then closes client connection. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовался модуль ngx_http_spdy_module +и директива client_body_in_file_only. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the ngx_http_spdy_module was used +with the "client_body_in_file_only" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр so_keepalive директивы listen +мог работать некорректно на DragonFlyBSD.<br/> +Спасибо Sepherosa Ziehau. +</para> +<para lang="en"> +the "so_keepalive" parameter of the "listen" directive +might be handled incorrectly on DragonFlyBSD.<br/> +Thanks to Sepherosa Ziehau. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_xslt_filter_module. +</para> +<para lang="en"> +in the ngx_http_xslt_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_sub_filter_module. +</para> +<para lang="en"> +in the ngx_http_sub_filter_module. +</para> +</change> + +</changes> + + +<changes ver="1.5.2" date="02.07.2013"> + +<change type="feature"> +<para lang="ru"> +теперь можно использовать несколько директив error_log. +</para> +<para lang="en"> +now several "error_log" directives can be used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +метод $r->header_in() встроенного перла не возвращал значения строк +"Cookie" и "X-Forwarded-For" из заголовка запроса; +ошибка появилась в 1.3.14. +</para> +<para lang="en"> +the $r->header_in() embedded perl method did not return value of the +"Cookie" and "X-Forwarded-For" request header lines; +the bug had appeared in 1.3.14. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_spdy_module.<br/> +Спасибо Jim Radford. +</para> +<para lang="en"> +in the ngx_http_spdy_module.<br/> +Thanks to Jim Radford. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Linux при использовании x32 ABI.<br/> +Спасибо Сергею Иванцову. +</para> +<para lang="en"> +nginx could not be built on Linux with x32 ABI.<br/> +Thanks to Serguei Ivantsov. +</para> +</change> + +</changes> + + +<changes ver="1.5.1" date="04.06.2013"> + +<change type="feature"> +<para lang="ru"> +директивы ssi_last_modified, sub_filter_last_modified и +xslt_last_modified.<br/> +Спасибо Алексею Колпакову. +</para> +<para lang="en"> +the "ssi_last_modified", "sub_filter_last_modified", and +"xslt_last_modified" directives.<br/> +Thanks to Alexey Kolpakov. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр http_403 в директивах proxy_next_upstream, fastcgi_next_upstream, +scgi_next_upstream и uwsgi_next_upstream. +</para> +<para lang="en"> +the "http_403" parameter of the "proxy_next_upstream", "fastcgi_next_upstream", +"scgi_next_upstream", and "uwsgi_next_upstream" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы allow и deny теперь поддерживают unix domain сокеты. +</para> +<para lang="en"> +the "allow" and "deny" directives now support unix domain sockets. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с модулем ngx_mail_ssl_module, +но без модуля ngx_http_ssl_module; +ошибка появилась в 1.3.14. +</para> +<para lang="en"> +nginx could not be built with the ngx_mail_ssl_module, +but without ngx_http_ssl_module; +the bug had appeared in 1.3.14. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве proxy_set_body.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +in the "proxy_set_body" directive.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве lingering_time.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +in the "lingering_time" directive.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр fail_timeout директивы server +в блоке upstream мог не работать, +если использовался параметр max_fails; +ошибка появилась в 1.3.0. +</para> +<para lang="en"> +the "fail_timeout" parameter of the "server" directive +in the "upstream" context might not work +if "max_fails" parameter was used; +the bug had appeared in 1.3.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива ssl_stapling.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "ssl_stapling" directive was used.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в почтовом прокси-сервере.<br/> +Спасибо Filipe Da Silva. +</para> +<para lang="en"> +in the mail proxy server.<br/> +Thanks to Filipe Da Silva. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows мог перестать принимать соединения, +если использовалось несколько рабочих процессов. +</para> +<para lang="en"> +nginx/Windows might stop accepting connections +if several worker processes were used. +</para> +</change> + +</changes> + + +<changes ver="1.5.0" date="07.05.2013"> + +<change type="security"> +<para lang="ru"> +при обработке специально созданного запроса +мог перезаписываться стек рабочего процесса, +что могло приводить к выполнению произвольного кода (CVE-2013-2028); +ошибка появилась в 1.3.9.<br/> +Спасибо Greg MacManus, iSIGHT Partners Labs. +</para> +<para lang="en"> +a stack-based buffer overflow might occur in a worker process +while handling a specially crafted request, +potentially resulting in arbitrary code execution (CVE-2013-2028); +the bug had appeared in 1.3.9.<br/> +Thanks to Greg MacManus, iSIGHT Partners Labs. +</para> +</change> + +</changes> + + +<changes ver="1.4.0" date="24.04.2013"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с модулем ngx_http_perl_module, +если использовался параметр --with-openssl; +ошибка появилась в 1.3.16. +</para> +<para lang="en"> +nginx could not be built with the ngx_http_perl_module +if the --with-openssl option was used; +the bug had appeared in 1.3.16. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в работе с телом запроса из модуля ngx_http_perl_module; +ошибка появилась в 1.3.9. +</para> +<para lang="en"> +in a request body handling in the ngx_http_perl_module; +the bug had appeared in 1.3.9. +</para> +</change> + +</changes> + + +<changes ver="1.3.16" date="16.04.2013"> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовались подзапросы; +ошибка появилась в 1.3.9. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if subrequests were used; +the bug had appeared in 1.3.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива tcp_nodelay вызывала ошибку +при проксировании WebSocket-соединений в unix domain сокет. +</para> +<para lang="en"> +the "tcp_nodelay" directive caused an error +if a WebSocket connection was proxied into a unix domain socket. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $upstream_response_length возвращала значение "0", +если не использовалась буферизация.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +the $upstream_response_length variable has an incorrect value "0" +if buffering was not used.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в методах обработки соединений eventport и /dev/poll. +</para> +<para lang="en"> +in the eventport and /dev/poll methods. +</para> +</change> + +</changes> + + +<changes ver="1.3.15" date="26.03.2013"> + +<change type="change"> +<para lang="ru"> +открытие и закрытие соединения без отправки в нём каких-либо данных +больше не записывается в access_log с кодом ошибки 400. +</para> +<para lang="en"> +opening and closing a connection without sending any data in it +is no longer logged to access_log with error code 400. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_spdy_module.<br/> +Спасибо Automattic за спонсирование разработки. +</para> +<para lang="en"> +the ngx_http_spdy_module.<br/> +Thanks to Automattic for sponsoring this work. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы limit_req_status и limit_conn_status.<br/> +Спасибо Nick Marden. +</para> +<para lang="en"> +the "limit_req_status" and "limit_conn_status" directives.<br/> +Thanks to Nick Marden. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива image_filter_interlace.<br/> +Спасибо Ивану Боброву. +</para> +<para lang="en"> +the "image_filter_interlace" directive.<br/> +Thanks to Ian Babrou. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $connections_waiting в модуле ngx_http_stub_status_module. +</para> +<para lang="en"> +$connections_waiting variable in the ngx_http_stub_status_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь почтовый прокси-сервер поддерживает IPv6-бэкенды. +</para> +<para lang="en"> +the mail proxy module now supports IPv6 backends. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при повторной отправке запроса на бэкенд +тело запроса могло передаваться неправильно; +ошибка появилась в 1.3.9.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +request body might be transmitted incorrectly +when retrying a request to the next upstream server; +the bug had appeared in 1.3.9.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве client_body_in_file_only; +ошибка появилась в 1.3.9. +</para> +<para lang="en"> +in the "client_body_in_file_only" directive; +the bug had appeared in 1.3.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответы могли зависать, +если использовались подзапросы +и при обработке подзапроса происходила DNS-ошибка.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +responses might hang +if subrequests were used +and a DNS error happened during subrequest processing.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в процедуре учёта использования бэкендов. +</para> +<para lang="en"> +in backend usage accounting. +</para> +</change> + +</changes> + + +<changes ver="1.3.14" date="05.03.2013"> + +<change type="feature"> +<para lang="ru"> +переменные $connections_active, $connections_reading и $connections_writing +в модуле ngx_http_stub_status_module. +</para> +<para lang="en"> +$connections_active, $connections_reading, and $connections_writing variables +in the ngx_http_stub_status_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка WebSocket-соединений +в модулях ngx_http_uwsgi_module и ngx_http_scgi_module. +</para> +<para lang="en"> +support of WebSocket connections +in the ngx_http_uwsgi_module and ngx_http_scgi_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке виртуальных серверов при использовании SNI. +</para> +<para lang="en"> +in virtual servers handling with SNI. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы "ssl_session_cache shared" +новые сессии могли не сохраняться, +если заканчивалось место в разделяемой памяти.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +new sessions were not always stored +if the "ssl_session_cache shared" directive was used +and there was no free space in shared memory.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +несколько заголовков X-Forwarded-For обрабатывались неправильно.<br/> +Спасибо Neal Poole за спонсирование разработки. +</para> +<para lang="en"> +multiple X-Forwarded-For headers were handled incorrectly.<br/> +Thanks to Neal Poole for sponsoring this work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_mp4_module.<br/> +Спасибо Gernot Vormayr. +</para> +<para lang="en"> +in the ngx_http_mp4_module.<br/> +Thanks to Gernot Vormayr. +</para> +</change> + +</changes> + + +<changes ver="1.3.13" date="19.02.2013"> + +<change type="change"> +<para lang="ru"> +теперь для сборки по умолчанию используется компилятор с именем "cc". +</para> +<para lang="en"> +a compiler with name "cc" is now used by default. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка проксирования WebSocket-соединений.<br/> +Спасибо Apcera и CloudBees за спонсирование разработки. +</para> +<para lang="en"> +support for proxying of WebSocket connections.<br/> +Thanks to Apcera and CloudBees for sponsoring this work. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива auth_basic_user_file поддерживает шифрование паролей +методом "{SHA}".<br/> +Спасибо Louis Opter. +</para> +<para lang="en"> +the "auth_basic_user_file" directive supports "{SHA}" +password encryption method.<br/> +Thanks to Louis Opter. +</para> +</change> + +</changes> + + +<changes ver="1.3.12" date="05.02.2013"> + +<change type="feature"> +<para lang="ru"> +директивы proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind +поддерживают переменные. +</para> +<para lang="en"> +variables support in the "proxy_bind", "fastcgi_bind", "memcached_bind", +"scgi_bind", and "uwsgi_bind" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $pipe, $request_length, $time_iso8601 и $time_local +теперь можно использовать не только в директиве log_format.<br/> +Спасибо Kiril Kalchev. +</para> +<para lang="en"> +the $pipe, $request_length, $time_iso8601, and $time_local variables +can now be used not only in the "log_format" directive. +Thanks to Kiril Kalchev. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка IPv6 в модуле ngx_http_geoip_module.<br/> +Спасибо Gregor Kališnik. +</para> +<para lang="en"> +IPv6 support in the ngx_http_geoip_module.<br/> +Thanks to Gregor Kališnik. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_method работала неверно, если была указана на уровне http. +</para> +<para lang="en"> +in the "proxy_method" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовался resolver и метод poll. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if resolver was used with the poll method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог нагружать процессор во время SSL handshake с бэкендом +при использовании методов обработки соединений select, poll и /dev/poll. +</para> +<para lang="en"> +nginx might hog CPU during SSL handshake with a backend +if the select, poll, or /dev/poll methods were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибка "[crit] SSL_write() failed (SSL:)". +</para> +<para lang="en"> +the "[crit] SSL_write() failed (SSL:)" error. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве client_body_in_file_only; +ошибка появилась в 1.3.9. +</para> +<para lang="en"> +in the "client_body_in_file_only" directive; +the bug had appeared in 1.3.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве fastcgi_keep_conn. +</para> +<para lang="en"> +in the "fastcgi_keep_conn" directive. +</para> +</change> + +</changes> + + +<changes ver="1.3.11" date="10.01.2013"> + +<change type="bugfix"> +<para lang="ru"> +при записи в лог мог происходить segmentation fault; +ошибка появилась в 1.3.10. +</para> +<para lang="en"> +a segmentation fault might occur if logging was used; +the bug had appeared in 1.3.10. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_pass не работала с IP-адресами +без явного указания порта; +ошибка появилась в 1.3.10. +</para> +<para lang="en"> +the "proxy_pass" directive did not work with IP addresses +without port specified; +the bug had appeared in 1.3.10. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на старте или во время переконфигурации происходил segmentation fault, +если директива keepalive была указана несколько раз +в одном блоке upstream. +</para> +<para lang="en"> +a segmentation fault occurred on start or during reconfiguration +if the "keepalive" directive was specified more than once +in a single upstream block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр default директивы geo не определял значение по умолчанию +для IPv6-адресов. +</para> +<para lang="en"> +parameter "default" of the "geo" directive did not set default value +for IPv6 addresses. +</para> +</change> + +</changes> + + +<changes ver="1.3.10" date="25.12.2012"> + +<change type="change"> +<para lang="ru"> +для указанных в конфигурационном файле доменных имён теперь +используются не только IPv4, но и IPv6 адреса. +</para> +<para lang="en"> +domain names specified in configuration file +are now resolved to IPv6 addresses as well as IPv4 ones. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь при использовании директивы include с маской на Unix-системах +включаемые файлы сортируются в алфавитном порядке. +</para> +<para lang="en"> +now if the "include" directive with mask is used on Unix systems, +included files are sorted in alphabetical order. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директива add_header добавляет строки в ответы с кодом 201. +</para> +<para lang="en"> +the "add_header" directive adds headers to 201 responses. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива geo теперь поддерживает IPv6 адреса в формате CIDR. +</para> +<para lang="en"> +the "geo" directive now supports IPv6 addresses in CIDR notation. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметры flush и gzip в директиве access_log. +</para> +<para lang="en"> +the "flush" and "gzip" parameters of the "access_log" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива auth_basic поддерживает переменные. +</para> +<para lang="en"> +variables support in the "auth_basic" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx в некоторых случаях не собирался с модулем ngx_http_perl_module. +</para> +<para lang="en"> +nginx could not be built with the ngx_http_perl_module in some cases. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовался модуль ngx_http_xslt_module. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the ngx_http_xslt_module was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог не собираться на MacOSX.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +nginx could not be built on MacOSX in some cases.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы limit_rate с большими значениями скорости +на 32-битных системах ответ мог возвращаться не целиком.<br/> +Спасибо Алексею Антропову. +</para> +<para lang="en"> +the "limit_rate" directive with high rates +might result in truncated responses on 32-bit platforms.<br/> +Thanks to Alexey Antropov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива if.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "if" directive was used.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответ "100 Continue" выдавался +вместе с ответом "413 Request Entity Too Large". +</para> +<para lang="en"> +a "100 Continue" response was issued +with "413 Request Entity Too Large" responses. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы image_filter, image_filter_jpeg_quality и image_filter_sharpen +могли наследоваться некорректно.<br/> +Спасибо Ивану Боброву. +</para> +<para lang="en"> +the "image_filter", "image_filter_jpeg_quality" +and "image_filter_sharpen" directives +might be inherited incorrectly.<br/> +Thanks to Ian Babrou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы auth_basic под Linux +могли возникать ошибки "crypt_r() failed". +</para> +<para lang="en"> +"crypt_r() failed" errors might appear +if the "auth_basic" directive was used on Linux. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке backup-серверов.<br/> +Спасибо Thomas Chen. +</para> +<para lang="en"> +in backup servers handling.<br/> +Thanks to Thomas Chen. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при проксировании HEAD-запросов мог возвращаться некорректный ответ, +если использовалась директива gzip. +</para> +<para lang="en"> +proxied HEAD requests might return incorrect response +if the "gzip" directive was used. +</para> +</change> + +</changes> + + +<changes ver="1.3.9" date="27.11.2012"> + +<change type="feature"> +<para lang="ru"> +поддержка chunked transfer encoding при получении тела запроса. +</para> +<para lang="en"> +support for chunked transfer encoding while reading client request body. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $request_time и $msec +теперь можно использовать не только в директиве log_format. +</para> +<para lang="en"> +the $request_time and $msec variables +can now be used not only in the "log_format" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +cache manager и cache loader могли не запускаться, +если использовалось более 512 listen-сокетов. +</para> +<para lang="en"> +cache manager and cache loader processes might not be able to start +if more than 512 listen sockets were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_dav_module. +</para> +<para lang="en"> +in the ngx_http_dav_module. +</para> +</change> + +</changes> + + +<changes ver="1.3.8" date="30.10.2012"> + +<change type="feature"> +<para lang="ru"> +параметр optional_no_ca директивы ssl_verify_client.<br/> +Спасибо Михаилу Казанцеву и Eric O'Connor. +</para> +<para lang="en"> +the "optional_no_ca" parameter of the "ssl_verify_client" directive.<br/> +Thanks to Mike Kazantsev and Eric O'Connor. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $bytes_sent, $connection и $connection_requests +теперь можно использовать не только в директиве log_format.<br/> +Спасибо Benjamin Grössing. +</para> +<para lang="en"> +the $bytes_sent, $connection, and $connection_requests variables +can now be used not only in the "log_format" directive.<br/> +Thanks to Benjamin Grössing. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр auto директивы worker_processes. +</para> +<para lang="en"> +the "auto" parameter of the "worker_processes" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +сообщения "cache file ... has md5 collision". +</para> +<para lang="en"> +"cache file ... has md5 collision" alert. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_gunzip_filter_module. +</para> +<para lang="en"> +in the ngx_http_gunzip_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве ssl_stapling. +</para> +<para lang="en"> +in the "ssl_stapling" directive. +</para> +</change> + +</changes> + + +<changes ver="1.3.7" date="02.10.2012"> + +<change type="feature"> +<para lang="ru"> +поддержка OCSP stapling.<br/> +Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки. +</para> +<para lang="en"> +OCSP stapling support.<br/> +Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_trusted_certificate. +</para> +<para lang="en"> +the "ssl_trusted_certificate" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь resolver случайным образом меняет порядок +возвращаемых закэшированных адресов.<br/> +Спасибо Антону Жулину. +</para> +<para lang="en"> +resolver now randomly rotates addresses +returned from cache.<br/> +Thanks to Anton Jouline. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с OpenSSL 0.9.7. +</para> +<para lang="en"> +OpenSSL 0.9.7 compatibility. +</para> +</change> + +</changes> + + +<changes ver="1.3.6" date="12.09.2012"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_gunzip_filter_module. +</para> +<para lang="en"> +the ngx_http_gunzip_filter_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива memcached_gzip_flag. +</para> +<para lang="en"> +the "memcached_gzip_flag" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр always директивы gzip_static. +</para> +<para lang="en"> +the "always" parameter of the "gzip_static" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве "limit_req"; +ошибка появилась в 1.1.14.<br/> +Спасибо Charles Chen. +</para> +<para lang="en"> +in the "limit_req" directive; +the bug had appeared in 1.1.14.<br/> +Thanks to Charles Chen. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался gcc 4.7 с оптимизацией -O2 +если использовался параметр --with-ipv6. +</para> +<para lang="en"> +nginx could not be built by gcc 4.7 with -O2 optimization +if the --with-ipv6 option was used. +</para> +</change> + +</changes> + + +<changes ver="1.3.5" date="21.08.2012"> + +<change type="change"> +<para lang="ru"> +модуль ngx_http_mp4_module больше не отфильтровывает дорожки +в форматах, отличных от H.264 и AAC. +</para> +<para lang="en"> +the ngx_http_mp4_module module no longer skips +tracks in formats other than H.264 and AAC. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если в директиве map в качестве значений использовались переменные. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "map" directive was used with variables as values. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault +при использовании директивы geo с параметром ranges, +но без параметра default; ошибка появилась в 0.8.43.<br/> +Спасибо Zhen Chen и Weibin Yao. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "geo" directive was used with the "ranges" parameter +but without the "default" parameter; the bug had appeared in 0.8.43.<br/> +Thanks to Zhen Chen and Weibin Yao. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке параметра командной строки -p. +</para> +<para lang="en"> +in the -p command-line parameter handling. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в почтовом прокси-сервере. +</para> +<para lang="en"> +in the mail proxy server. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +незначительных потенциальных ошибок.<br/> +Спасибо Coverity. +</para> +<para lang="en"> +of minor potential bugs.<br/> +Thanks to Coverity. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows не собирался с Visual Studio 2005 Express.<br/> +Спасибо HAYASHI Kentaro. +</para> +<para lang="en"> +nginx/Windows could not be built with Visual Studio 2005 Express.<br/> +Thanks to HAYASHI Kentaro. +</para> +</change> + +</changes> + + +<changes ver="1.3.4" date="31.07.2012"> + +<change type="change"> +<para lang="ru"> +теперь на слушающих IPv6-сокетах параметр ipv6only +включён по умолчанию. +</para> +<para lang="en"> +the "ipv6only" parameter is now turned on by default for +listening IPv6 sockets. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка компилятора Clang. +</para> +<para lang="en"> +the Clang compiler support. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +могли создаваться лишние слушающие сокеты.<br/> +Спасибо Роману Одайскому. +</para> +<para lang="en"> +extra listening sockets might be created.<br/> +Thanks to Roman Odaisky. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows мог нагружать процессор, если при запуске рабочего процесса +происходила ошибка.<br/> +Спасибо Ricardo Villalobos Guevara. +</para> +<para lang="en"> +nginx/Windows might hog CPU if a worker process failed to start.<br/> +Thanks to Ricardo Villalobos Guevara. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_pass_header, fastcgi_pass_header, scgi_pass_header, +uwsgi_pass_header, proxy_hide_header, fastcgi_hide_header, +scgi_hide_header и uwsgi_hide_header +могли наследоваться некорректно. +</para> +<para lang="en"> +the "proxy_pass_header", "fastcgi_pass_header", "scgi_pass_header", +"uwsgi_pass_header", "proxy_hide_header", "fastcgi_hide_header", +"scgi_hide_header", and "uwsgi_hide_header" directives +might be inherited incorrectly. +</para> +</change> + +</changes> + + +<changes ver="1.3.3" date="10.07.2012"> + +<change type="feature"> +<para lang="ru"> +поддержка entity tags и директива etag. +</para> +<para lang="en"> +entity tags support and the "etag" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы map с параметром hostnames +не игнорировалась конечная точка в исходном значении. +</para> +<para lang="en"> +trailing dot in a source value was not ignored +if the "map" directive was used with the "hostnames" parameter. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +для обработки запроса мог использоваться неверный location, +если переход в именованный location происходил +после изменения URI с помощью директивы rewrite. +</para> +<para lang="en"> +incorrect location might be used to process a request +if a URI was changed via a "rewrite" directive +before an internal redirect to a named location. +</para> +</change> + +</changes> + + +<changes ver="1.3.2" date="26.06.2012"> + +<change type="change"> +<para lang="ru"> +параметр single директивы keepalive теперь игнорируется. +</para> +<para lang="en"> +the "single" parameter of the "keepalive" directive is now ignored. +</para> +</change> + +<change type="change"> +<para lang="ru"> +сжатие SSL теперь отключено +в том числе при использовании OpenSSL старее 1.0.0. +</para> +<para lang="en"> +SSL compression is now disabled when using all versions of OpenSSL, +including ones prior to 1.0.0. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директиву "ip_hash" теперь можно использовать для балансировки IPv6 клиентов. +</para> +<para lang="en"> +it is now possible to use the "ip_hash" directive to balance IPv6 clients. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменную $status теперь можно использовать не только в директиве log_format. +</para> +<para lang="en"> +the $status variable can now be used not only in the "log_format" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при завершении рабочего процесса мог произойти segmentation fault, +если использовалась директива resolver. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process on shutdown +if the "resolver" directive was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовался модуль ngx_http_mp4_module. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the ngx_http_mp4_module was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_mp4_module. +</para> +<para lang="en"> +in the ngx_http_mp4_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовались конфликтующие имена серверов с масками. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if conflicting wildcard server names were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на платформе ARM nginx мог аварийно завершаться по сигналу SIGBUS. +</para> +<para lang="en"> +nginx might be terminated abnormally on a SIGBUS signal on ARM platform. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +во время переконфигурации на HP-UX в лог +записывался alert "sendmsg() failed (9: Bad file number)". +</para> +<para lang="en"> +an alert "sendmsg() failed (9: Bad file number)" on HP-UX +while reconfiguration. +</para> +</change> + +</changes> + + +<changes ver="1.3.1" date="05.06.2012"> + +<change type="security"> +<para lang="ru"> +теперь nginx/Windows игнорирует точку в конце компонента URI +и не разрешает URI, содержащие последовательность ":$".<br/> +Спасибо Владимиру Кочеткову, Positive Research Center. +</para> +<para lang="en"> +now nginx/Windows ignores trailing dot in URI path component, and +does not allow URIs with ":$" in it.<br/> +Thanks to Vladimir Kochetkov, Positive Research Center. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass и +директива server в блоке upstream +теперь поддерживают IPv6-адреса. +</para> +<para lang="en"> +the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" directives, and +the "server" directive inside the "upstream" block, +now support IPv6 addresses. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +в директиве resolver теперь можно указывать порт и +задавать IPv6-адреса DNS-серверов. +</para> +<para lang="en"> +the "resolver" directive now supports IPv6 addresses and +an optional port specification. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива least_conn в блоке upstream. +</para> +<para lang="en"> +the "least_conn" directive inside the "upstream" block. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +при использовании директивы ip_hash +теперь можно задавать веса серверов. +</para> +<para lang="en"> +it is now possible to specify a weight for servers +while using the "ip_hash" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива image_filter; +ошибка появилась в 1.3.0. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "image_filter" directive was used; +the bug had appeared in 1.3.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с модулем ngx_cpp_test_module; +ошибка появилась в 1.1.12. +</para> +<para lang="en"> +nginx could not be built with ngx_cpp_test_module; +the bug had appeared in 1.1.12. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +доступ к переменным из SSI и встроенного перла мог не работать после +переконфигурации.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +access to variables from SSI and embedded perl module might not work after +reconfiguration.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_xslt_filter_module.<br/> +Спасибо Kuramoto Eiji. +</para> +<para lang="en"> +in the ngx_http_xslt_filter_module.<br/> +Thanks to Kuramoto Eiji. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти при использовании переменной $geoip_org.<br/> +Спасибо Денису Латыпову. +</para> +<para lang="en"> +memory leak if $geoip_org variable was used.<br/> +Thanks to Denis F. Latypoff. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директивах proxy_cookie_domain и proxy_cookie_path. +</para> +<para lang="en"> +in the "proxy_cookie_domain" and "proxy_cookie_path" directives. +</para> +</change> + +</changes> + + +<changes ver="1.3.0" date="15.05.2012"> + +<change type="feature"> +<para lang="ru"> +директива debug_connection теперь поддерживает IPv6-адреса +и параметр "unix:". +</para> +<para lang="en"> +the "debug_connection" directive now supports IPv6 addresses +and the "unix:" parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива set_real_ip_from и параметр proxy +директивы geo теперь поддерживают IPv6-адреса. +</para> +<para lang="en"> +the "set_real_ip_from" directive and the "proxy" parameter +of the "geo" directive now support IPv6 addresses. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы real_ip_recursive, geoip_proxy и geoip_proxy_recursive. +</para> +<para lang="en"> +the "real_ip_recursive", "geoip_proxy", and "geoip_proxy_recursive" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр proxy_recursive директивы geo. +</para> +<para lang="en"> +the "proxy_recursive" parameter of the "geo" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива resolver. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "resolver" directive was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass +и бэкенд возвращал некорректный ответ. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used +and backend returned incorrect response. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива rewrite и в новых аргументах запроса в строке +замены использовались переменные. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "rewrite" directive was used and new request arguments +in a replacement used variables. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог нагружать процессор, +если было достигнуто ограничение на количество открытых файлов. +</para> +<para lang="en"> +nginx might hog CPU +if the open file resource limit was reached. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы proxy_next_upstream с параметром http_404 +nginx мог бесконечно перебирать бэкенды, если в блоке upstream был +хотя бы один сервер с флагом backup. +</para> +<para lang="en"> +nginx might loop infinitely over backends +if the "proxy_next_upstream" directive with the "http_404" parameter was used +and there were backup servers specified in an upstream block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы ip_hash +установка параметра down директивы server +могла приводить к ненужному перераспределению клиентов между бэкендами. +</para> +<para lang="en"> +adding the "down" parameter of the "server" directive +might cause unneeded client redistribution among backend servers +if the "ip_hash" directive was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +socket leak.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_fastcgi_module. +</para> +<para lang="en"> +in the ngx_http_fastcgi_module. +</para> +</change> + +</changes> + + +<changes ver="1.2.0" date="23.04.2012"> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива try_files; +ошибка появилась в 1.1.19. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "try_files" directive was used; +the bug had appeared in 1.1.19. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответ мог быть передан не полностью, +если использовалось больше IOV_MAX буферов. +</para> +<para lang="en"> +response might be truncated +if there were more than IOV_MAX buffers used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в работе параметра crop директивы image_filter.<br/> +Спасибо Maxim Bublis. +</para> +<para lang="en"> +in the "crop" parameter of the "image_filter" directive.<br/> +Thanks to Maxim Bublis. +</para> +</change> + +</changes> + + +<changes ver="1.1.19" date="12.04.2012"> + +<change type="security"> +<para lang="ru"> +при обработке специально созданного mp4 файла модулем ngx_http_mp4_module +могли перезаписываться области памяти рабочего процесса, что могло +приводить к выполнению произвольного кода (CVE-2012-2089).<br/> +Спасибо Matthew Daley. +</para> +<para lang="en"> +specially crafted mp4 file might allow to overwrite +memory locations in a worker process +if the ngx_http_mp4_module was used, +potentially resulting in arbitrary code execution (CVE-2012-2089).<br/> +Thanks to Matthew Daley. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows мог завершаться аварийно.<br/> +Спасибо Vincent Lee. +</para> +<para lang="en"> +nginx/Windows might be terminated abnormally.<br/> +Thanks to Vincent Lee. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx нагружал процессор, если все серверы в upstream'е были помечены +флагом backup. +</para> +<para lang="en"> +nginx hogged CPU if all servers in an upstream were marked as "backup". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы allow и deny могли наследоваться некорректно, +если в них использовались IPv6 адреса. +</para> +<para lang="en"> +the "allow" and "deny" directives might be inherited incorrectly +if they were used with IPv6 addresses. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы modern_browser и ancient_browser +могли наследоваться некорректно. +</para> +<para lang="en"> +the "modern_browser" and "ancient_browser" directives +might be inherited incorrectly. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +таймауты могли работать некорректно на Solaris/SPARC. +</para> +<para lang="en"> +timeouts might be handled incorrectly on Solaris/SPARC. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_mp4_module. +</para> +<para lang="en"> +in the ngx_http_mp4_module. +</para> +</change> + +</changes> + + +<changes ver="1.1.18" date="28.03.2012"> + +<change type="change"> +<para lang="ru"> +теперь keepalive соединения не запрещены для Safari по умолчанию. +</para> +<para lang="en"> +keepalive connections are no longer disabled for Safari by default. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $connection_requests. +</para> +<para lang="en"> +the $connection_requests variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd и +$tcpinfo_rcv_space. +</para> +<para lang="en"> +$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and +$tcpinfo_rcv_space variables. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива worker_cpu_affinity теперь работает на FreeBSD. +</para> +<para lang="en"> +the "worker_cpu_affinity" directive now works on FreeBSD. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы xslt_param и xslt_string_param.<br/> +Спасибо Samuel Behan. +</para> +<para lang="en"> +the "xslt_param" and "xslt_string_param" directives.<br/> +Thanks to Samuel Behan. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в configure.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +in configure tests.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_xslt_filter_module. +</para> +<para lang="en"> +in the ngx_http_xslt_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Debian GNU/Hurd. +</para> +<para lang="en"> +nginx could not be built on Debian GNU/Hurd. +</para> +</change> + +</changes> + + +<changes ver="1.1.17" date="15.03.2012"> + +<change type="security"> +<para lang="ru"> +содержимое ранее освобождённой памяти могло быть отправлено клиенту, +если бэкенд возвращал специально созданный ответ.<br/> +Спасибо Matthew Daley. +</para> +<para lang="en"> +content of previously freed memory might be sent to a client +if backend returned specially crafted response.<br/> +Thanks to Matthew Daley. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании встроенного перла из SSI.<br/> +Спасибо Matthew Daley. +</para> +<para lang="en"> +in the embedded perl module if used from SSI.<br/> +Thanks to Matthew Daley. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_uwsgi_module. +</para> +<para lang="en"> +in the ngx_http_uwsgi_module. +</para> +</change> + +</changes> + + +<changes ver="1.1.16" date="29.02.2012"> + +<change type="change"> +<para lang="ru"> +ограничение на количество одновременных подзапросов поднято до 200. +</para> +<para lang="en"> +the simultaneous subrequest limit has been raised to 200. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр from в директиве disable_symlinks. +</para> +<para lang="en"> +the "from" parameter of the "disable_symlinks" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы return и error_page теперь могут использоваться для возврата +перенаправлений с кодом 307. +</para> +<para lang="en"> +the "return" and "error_page" directives can now be used to return 307 +redirections. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива resolver +и на глобальном уровне не была задана директива error_log.<br/> +Спасибо Роману Арутюняну. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "resolver" directive was used +and there was no "error_log" directive specified at global level.<br/> +Thanks to Roman Arutyunyan. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовались директивы "proxy_http_version 1.1" или +"fastcgi_keep_conn on". +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if the "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives +were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечек памяти.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +memory leaks.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве disable_symlinks. +</para> +<para lang="en"> +in the "disable_symlinks" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании ZFS размер кэша на диске мог считаться некорректно; +ошибка появилась в 1.0.1. +</para> +<para lang="en"> +on ZFS filesystem disk cache size might be calculated incorrectly; +the bug had appeared in 1.0.1. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался компилятором icc 12.1. +</para> +<para lang="en"> +nginx could not be built by the icc 12.1 compiler. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался gcc на Solaris; +ошибка появилась в 1.1.15. +</para> +<para lang="en"> +nginx could not be built by gcc on Solaris; +the bug had appeared in 1.1.15. +</para> +</change> + +</changes> + + +<changes ver="1.1.15" date="15.02.2012"> + +<change type="feature"> +<para lang="ru"> +директива disable_symlinks. +</para> +<para lang="en"> +the "disable_symlinks" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_cookie_domain и proxy_cookie_path. +</para> +<para lang="en"> +the "proxy_cookie_domain" and "proxy_cookie_path" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог некорректно сообщать об ошибке "upstream prematurely closed +connection" вместо "upstream sent too big header".<br/> +Спасибо Feibo Li. +</para> +<para lang="en"> +nginx might log incorrect error "upstream prematurely closed connection" +instead of correct "upstream sent too big header" one.<br/> +Thanks to Feibo Li. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с модулем ngx_http_perl_module, +если использовался параметр --with-openssl. +</para> +<para lang="en"> +nginx could not be built with the ngx_http_perl_module +if the --with-openssl option was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +количество внутренних перенаправлений в именованные location'ы +не ограничивалось. +</para> +<para lang="en"> +the number of internal redirects to named locations was not limited. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +вызов $r->flush() несколько раз подряд мог приводить к ошибкам +в модуле ngx_http_gzip_filter_module. +</para> +<para lang="en"> +calling $r->flush() multiple times might cause errors +in the ngx_http_gzip_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы proxy_store с SSI-подзапросами +временные файлы могли не удаляться. +</para> +<para lang="en"> +temporary files might be not removed +if the "proxy_store" directive was used with SSI includes. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в некоторых случаях некэшируемые переменные (такие, как $args) +возвращали старое пустое закэшированное значение. +</para> +<para lang="en"> +in some cases non-cacheable variables (such as the $args variable) +returned old empty cached value. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если одновременно создавалось слишком много SSI-подзапросов; +ошибка появилась в 0.7.25. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if too many SSI subrequests were issued simultaneously; +the bug had appeared in 0.7.25. +</para> +</change> + +</changes> + + +<changes ver="1.1.14" date="30.01.2012"> + +<change type="feature"> +<para lang="ru"> +теперь можно указать несколько ограничений limit_req одновременно. +</para> +<para lang="en"> +multiple "limit_req" limits may be used simultaneously. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок при соединении с бэкендом.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +in error handling while connecting to a backend.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок при использовании AIO на FreeBSD. +</para> +<para lang="en"> +in AIO error handling on FreeBSD. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в инициализации библиотеки OpenSSL. +</para> +<para lang="en"> +in the OpenSSL library initialization. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_redirect могли наследоваться некорректно. +</para> +<para lang="en"> +the "proxy_redirect" directives might be inherited incorrectly. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти при переконфигурации, если использовалась директива pcre_jit. +</para> +<para lang="en"> +memory leak during reconfiguration if the "pcre_jit" directive was used. +</para> +</change> + +</changes> + + +<changes ver="1.1.13" date="16.01.2012"> + +<change type="feature"> +<para lang="ru"> +параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols. +</para> +<para lang="en"> +the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметры директивы limit_req наследовались некорректно; +ошибка появилась в 1.1.12. +</para> +<para lang="en"> +the "limit_req" directive parameters were not inherited correctly; +the bug had appeared in 1.1.12. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_redirect некорректно обрабатывала заголовок Refresh +при использовании регулярных выражений. +</para> +<para lang="en"> +the "proxy_redirect" directive incorrectly processed "Refresh" header +if regular expression were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_cache_use_stale с параметром error не возвращала ответ из +кэша, если все бэкенды были признаны неработающими. +</para> +<para lang="en"> +the "proxy_cache_use_stale" directive with "error" parameter did not return +answer from cache if there were no live upstreams. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива worker_cpu_affinity могла не работать. +</para> +<para lang="en"> +the "worker_cpu_affinity" directive might not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Solaris; +ошибка появилась в 1.1.12. +</para> +<para lang="en"> +nginx could not be built on Solaris; +the bug had appeared in 1.1.12. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_mp4_module. +</para> +<para lang="en"> +in the ngx_http_mp4_module. +</para> +</change> + +</changes> + + +<changes ver="1.1.12" date="26.12.2011"> + +<change type="change"> +<para lang="ru"> +после перенаправления запроса с помощью директивы error_page +директива proxy_pass без URI теперь использует изменённый URI.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +a "proxy_pass" directive without URI part now uses changed URI +after redirection with the "error_page" directive.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy/fastcgi/scgi/uwsgi_cache_lock, +proxy/fastcgi/scgi/uwsgi_cache_lock_timeout. +</para> +<para lang="en"> +the "proxy/fastcgi/scgi/uwsgi_cache_lock", +"proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива pcre_jit. +</para> +<para lang="en"> +the "pcre_jit" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +SSI команда if поддерживает выделения в регулярных выражениях. +</para> +<para lang="en"> +the "if" SSI command supports captures in regular expressions. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +SSI команда if не работала внутри команды block. +</para> +<para lang="en"> +the "if" SSI command did not work inside the "block" command. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы limit_conn_log_level и limit_req_log_level могли не работать. +</para> +<para lang="en"> +the "limit_conn_log_level" and "limit_req_log_level" directives might not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива limit_rate не позволяла передавать на полной скорости, +даже если был указан очень большой лимит. +</para> +<para lang="en"> +the "limit_rate" directive did not allow to use full throughput, +even if limit value was very high. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива sendfile_max_chunk не работала, +если использовалась директива limit_rate. +</para> +<para lang="en"> +the "sendfile_max_chunk" directive did not work, +if the "limit_rate" directive was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директиве proxy_pass использовались переменные и не был указан URI, +всегда использовался URI исходного запроса. +</para> +<para lang="en"> +a "proxy_pass" directive without URI part always used original request URI +if variables were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +после перенаправления запроса с помощью директивы try_files +директива proxy_pass без URI могла использовать URI исходного запроса.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +a "proxy_pass" directive without URI part might use original request +after redirection with the "try_files" directive.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_scgi_module. +</para> +<para lang="en"> +in the ngx_http_scgi_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_mp4_module. +</para> +<para lang="en"> +in the ngx_http_mp4_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Solaris; +ошибка появилась в 1.1.9. +</para> +<para lang="en"> +nginx could not be built on Solaris; +the bug had appeared in 1.1.9. +</para> +</change> + +</changes> + + +<changes ver="1.1.11" date="12.12.2011"> + +<change type="feature"> +<para lang="ru"> +параметр so_keepalive в директиве listen.<br/> +Спасибо Всеволоду Стахову. +</para> +<para lang="en"> +the "so_keepalive" parameter of the "listen" directive.<br/> +Thanks to Vsevolod Stakhov. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр if_not_empty в директивах fastcgi/scgi/uwsgi_param. +</para> +<para lang="en"> +the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $https. +</para> +<para lang="en"> +the $https variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива proxy_redirect поддерживает переменные в первом параметре. +</para> +<para lang="en"> +the "proxy_redirect" directive supports variables in the first parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива proxy_redirect поддерживает регулярные выражения. +</para> +<para lang="en"> +the "proxy_redirect" directive supports regular expressions. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $sent_http_cache_control могла содержать неверное значение при +использовании директивы expires.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +the $sent_http_cache_control variable might contain a wrong value if the +"expires" directive was used.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива read_ahead могла не работать при использовании совместно с +try_files и open_file_cache. +</para> +<para lang="en"> +the "read_ahead" directive might not work combined with "try_files" +and "open_file_cache". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в параметре inactive директивы proxy_cache_path +было указано малое время, +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if small time was used in the "inactive" parameter of +the "proxy_cache_path" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответы из кэша могли зависать. +</para> +<para lang="en"> +responses from cache might hang. +</para> +</change> + +</changes> + + +<changes ver="1.1.10" date="30.11.2011"> + +<change type="bugfix"> +<para lang="ru"> +при использовании AIO на Linux в рабочем процессе происходил segmentation fault; +ошибка появилась в 1.1.9. +</para> +<para lang="en"> +a segmentation fault occured in a worker process if AIO was used on Linux; +the bug had appeared in 1.1.9. +</para> +</change> + +</changes> + + +<changes ver="1.1.9" date="28.11.2011"> + +<change type="change"> +<para lang="ru"> +теперь двойные кавычки экранируется при выводе SSI-командой echo.<br/> +Спасибо Зауру Абасмирзоеву. +</para> +<para lang="en"> +now double quotes are encoded in an "echo" SSI-command output.<br/> +Thanks to Zaur Abasmirzoev. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр valid в директиве resolver. По умолчанию теперь +используется TTL, возвращённый DNS-сервером.<br/> +Спасибо Кириллу Коринскому. +</para> +<para lang="en"> +the "valid" parameter of the "resolver" directive. By default TTL +returned by a DNS server is used.<br/> +Thanks to Kirill A. Korinskiy. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог перестать отвечать, если рабочий процесс завершался аварийно. +</para> +<para lang="en"> +nginx might hang after a worker process abnormal termination. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалось SNI; +ошибка появилась в 1.1.2. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if SNI was used; +the bug had appeared in 1.1.2. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве keepalive_disable; +ошибка появилась в 1.1.8.<br/> +Спасибо Александру Усову. +</para> +<para lang="en"> +in the "keepalive_disable" directive; +the bug had appeared in 1.1.8.<br/> +Thanks to Alexander Usov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +сигнал SIGWINCH переставал работать после первого обновления исполняемого +файла; +ошибка появилась в 1.1.1. +</para> +<para lang="en"> +SIGWINCH signal did not work after first binary upgrade; +the bug had appeared in 1.1.1. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь ответы бэкендов, длина которых не соответствует заголовку +Content-Length, не кэширутся. +</para> +<para lang="en"> +backend responses with length not matching "Content-Length" header line +are no longer cached. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве scgi_param при использовании составных параметров. +</para> +<para lang="en"> +in the "scgi_param" directive, if complex parameters were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в методе epoll.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +in the "epoll" event method.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_flv_module.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +in the ngx_http_flv_module.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_mp4_module. +</para> +<para lang="en"> +in the ngx_http_mp4_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx понимает IPv6-адреса в строке запроса и в заголовке Host. +</para> +<para lang="en"> +IPv6 addresses are now handled properly in a request line and in a "Host" +request header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы add_header и expires не работали для ответов с кодом 206, +если запрос проксировался. +</para> +<para lang="en"> +"add_header" and "expires" directives did not work if a request was proxied +and response status code was 206. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на FreeBSD 10. +</para> +<para lang="en"> +nginx could not be built on FreeBSD 10. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на AIX. +</para> +<para lang="en"> +nginx could not be built on AIX. +</para> +</change> + +</changes> + + +<changes ver="1.1.8" date="14.11.2011"> + +<change type="change"> +<para lang="ru"> +модуль ngx_http_limit_zone_module переименован в ngx_http_limit_conn_module. +</para> +<para lang="en"> +the ngx_http_limit_zone_module was renamed to the ngx_http_limit_conn_module. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директива limit_zone заменена директивой limit_conn_zone с новым синтаксисом. +</para> +<para lang="en"> +the "limit_zone" directive was superseded by the "limit_conn_zone" directive +with a new syntax. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка ограничения по нескольким limit_conn на одном уровне. +</para> +<para lang="en"> +support for multiple "limit_conn" limits on the same level. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива image_filter_sharpen. +</para> +<para lang="en"> +the "image_filter_sharpen" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если resolver получил большой DNS-ответ.<br/> +Спасибо Ben Hawkes. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if resolver got a big DNS response.<br/> +Thanks to Ben Hawkes. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в вычислении ключа для кэширования, +если использовалась внутренняя реализация MD5; +ошибка появилась в 1.0.4. +</para> +<para lang="en"> +in cache key calculation +if internal MD5 implementation was used; +the bug had appeared in 1.0.4. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса +клиента могли передаваться бэкенду при кэшировании; или не передаваться при +выключенном кэшировании, если кэширование было включено в другой части +конфигурации. +</para> +<para lang="en"> +the "If-Modified-Since", "If-Range", etc. client request header lines +might be passed to backend while caching; or not passed without caching +if caching was enabled in another part of the configuration. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_mp4_module выдавал неверную строку "Content-Length" +в заголовке ответа, использовался аргумент start.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +the module ngx_http_mp4_module sent incorrect "Content-Length" response +header line if the "start" argument was used.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +</changes> + + +<changes ver="1.1.7" date="31.10.2011"> + +<change type="feature"> +<para lang="ru"> +поддержка нескольких DNS серверов в директиве "resolver".<br/> +Спасибо Кириллу Коринскому. +</para> +<para lang="en"> +support of several DNS servers in the "resolver" directive.<br/> +Thanks to Kirill A. Korinskiy. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на старте или во время переконфигурации происходил segmentation fault, +если директива ssl использовалась на уровне http и не был указан +ssl_certificate. +</para> +<para lang="en"> +a segmentation fault occurred on start or during reconfiguration +if the "ssl" directive was used at http level and there was +no "ssl_certificate" defined. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +уменьшено потребление памяти при проксировании больших файлов, +если они буферизировались на диск. +</para> +<para lang="en"> +reduced memory consumption while proxying big files +if they were buffered to disk. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовалась директива "proxy_http_version 1.1". +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if "proxy_http_version 1.1" directive was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве "expires @time". +</para> +<para lang="en"> +in the "expires @time" directive. +</para> +</change> + +</changes> + + +<changes ver="1.1.6" date="17.10.2011"> + +<change> +<para lang="ru"> +Изменение во внутреннем API: теперь при внутреннем редиректе +в именованный location контексты модулей очищаются.<br/> +По запросу Yichun Zhang. +</para> +<para lang="en"> +Change in internal API: now module context data are cleared +while internal redirect to named location.<br/> +Requested by Yichun Zhang. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь если сервер, описанный в блоке upstream, был признан неработающим, +то после истечения fail_timeout на него будет отправлен только один запрос; +сервер будет считаться работающим, если успешно ответит на этот запрос. +</para> +<para lang="en"> +if a server in an upstream failed, only one request will be sent to it +after fail_timeout; the server will be considered alive if it will +successfully respond to the request. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь символы 0x7F-0xFF в access_log записываются в виде \xXX. +</para> +<para lang="en"> +now the 0x7F-0x1F characters are escaped as \xXX in an access_log. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" теперь поддерживают +значения X-Accel-Limit-Rate, X-Accel-Buffering и X-Accel-Charset. +</para> +<para lang="en"> +"proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following +additional values: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +уменьшение потребления памяти при использовании SSL. +</para> +<para lang="en"> +decrease of memory consumption if SSL is used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +некоторые UTF-8 символы обрабатывались неправильно.<br/> +Спасибо Алексею Куцу. +</para> +<para lang="en"> +some UTF-8 characters were processed incorrectly.<br/> +Thanks to Alexey Kuts. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы модуля ngx_http_rewrite_module, заданные на уровне server, +применялись повторно, если для запроса не находилось ни одного location'а. +</para> +<para lang="en"> +the ngx_http_rewrite_module directives specified at "server" level were +executed twice if no matching locations were defined. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании "aio sendfile" могла происходить утечка сокетов. +</para> +<para lang="en"> +a socket leak might occurred if "aio sendfile" was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании файлового AIO соединения с быстрыми клиентами +могли быть закрыты по истечению send_timeout. +</para> +<para lang="en"> +connections with fast clients might be closed after send_timeout +if file AIO was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_autoindex_module. +</para> +<para lang="en"> +in the ngx_http_autoindex_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_mp4_module не поддерживал перемотку на 32-битных платформах. +</para> +<para lang="en"> +the module ngx_http_mp4_module did not support seeking on 32-bit platforms. +</para> +</change> + +</changes> + + +<changes ver="1.1.5" date="05.10.2011"> + +<change type="feature"> +<para lang="ru"> +директивы uwsgi_buffering и scgi_buffering.<br/> +Спасибо Peter Smit. +</para> +<para lang="en"> +the "uwsgi_buffering" and "scgi_buffering" directives.<br/> +Thanks to Peter Smit. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании proxy_cache_bypass могли быть закэшированы +некэшируемые ответы.<br/> +Спасибо John Ferlito. +</para> +<para lang="en"> +non-cacheable responses might be cached if "proxy_cache_bypass" directive +was used.<br/> +Thanks to John Ferlito. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_proxy_module при работе с бэкендами по HTTP/1.1. +</para> +<para lang="en"> +in HTTP/1.1 support in the ngx_http_proxy_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +закэшированные ответы с пустым телом возвращались некорректно; +ошибка появилась в 0.8.31. +</para> +<para lang="en"> +cached responses with an empty body were returned incorrectly; +the bug had appeared in 0.8.31. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответы с кодом 201 модуля ngx_http_dav_module были некорректны; +ошибка появилась в 0.8.32. +</para> +<para lang="en"> +201 responses of the ngx_http_dav_module were incorrect; +the bug had appeared in 0.8.32. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве return. +</para> +<para lang="en"> +in the "return" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы "ssl_session_cache builtin" происходил +segmentation fault; +ошибка появилась в 1.1.1. +</para> +<para lang="en"> +the "ssl_session_cache builtin" directive caused segmentation fault; +the bug had appeared in 1.1.1. +</para> +</change> + +</changes> + + +<changes ver="1.1.4" date="20.09.2011"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_upstream_keepalive. +</para> +<para lang="en"> +the ngx_http_upstream_keepalive module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива proxy_http_version. +</para> +<para lang="en"> +the "proxy_http_version" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива fastcgi_keep_conn. +</para> +<para lang="en"> +the "fastcgi_keep_conn" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива worker_aio_requests. +</para> +<para lang="en"> +the "worker_aio_requests" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если nginx был собран с файловым AIO, +он не мог запускаться на Linux без поддержки AIO. +</para> +<para lang="en"> +if nginx was built --with-file-aio it could not be run on Linux +kernel which did not support AIO. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок при работе с Linux AIO. +<br/> +Спасибо Hagai Avrahami. +</para> +<para lang="en"> +in Linux AIO error processing. +<br/> +Thanks to Hagai Avrahami. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +уменьшено потребление памяти для долгоживущих запросов. +</para> +<para lang="en"> +reduced memory consumption for long-lived requests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_mp4_module не поддерживал 64-битный MP4-атом co64. +</para> +<para lang="en"> +the module ngx_http_mp4_module did not support 64-bit MP4 "co64" atom. +</para> +</change> + +</changes> + + +<changes ver="1.1.3" date="14.09.2011"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_mp4_module. +</para> +<para lang="en"> +the module ngx_http_mp4_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в Linux AIO, используемым совместно с open_file_cache. +</para> +<para lang="en"> +in Linux AIO combined with open_file_cache. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +open_file_cache не обновлял информацию о файле, +если файл был изменён не атомарно. +</para> +<para lang="en"> +open_file_cache did not update file info on retest +if file was not atomically changed. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на MacOSX 10.7. +</para> +<para lang="en"> +nginx could not be built on MacOSX 10.7. +</para> +</change> + +</changes> + + +<changes ver="1.1.2" date="05.09.2011"> + +<change type="change"> +<para lang="ru"> +теперь, если суммарный размер всех диапазонов больше размера исходного ответа, +то nginx возвращает только исходный ответ, не обрабатывая диапазоны. +</para> +<para lang="en"> +now if total size of all ranges is greater than source response size, +then nginx disables ranges and returns just the source response. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива max_ranges. +</para> +<para lang="en"> +the "max_ranges" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы ssl_verify_client, ssl_verify_depth и ssl_prefer_server_cipher +могли работать некорректно, если использовался SNI. +</para> +<para lang="en"> +the "ssl_verify_client", "ssl_verify_depth", and "ssl_prefer_server_ciphers" +directives might work incorrectly if SNI was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директивах proxy/fastcgi/scgi/ uwsgi_ignore_client_abort. +</para> +<para lang="en"> +in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" directives. +</para> +</change> + +</changes> + + +<changes ver="1.1.1" date="22.08.2011"> + +<change type="change"> +<para lang="ru"> +теперь загрузчик кэша за каждую итерацию либо обрабатывает число файлов, +указанное в параметре load_files, либо работает не дольше времени, +указанного в параметре loader_threshold. +</para> +<para lang="en"> +now cache loader processes either as many files as specified by "loader_files" +parameter or works no longer than time specified by the "loader_threshold" +parameter during each iteration. +</para> +</change> + +<change type="change"> +<para lang="ru"> +SIGWINCH сигнал теперь работает только в режиме демона. +</para> +<para lang="en"> +now SIGWINCH signal works only in daemon mode. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь разделяемые зоны и кэши используют семафоры POSIX на Solaris.<br/> +Спасибо Денису Иванову. +</para> +<para lang="en"> +now shared zones and caches use POSIX semaphores on Solaris.<br/> +Thanks to Den Ivanov. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь на NetBSD поддерживаются accept фильтры. +</para> +<para lang="en"> +accept filters are now supported on NetBSD. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Linux 3.0. +</para> +<para lang="en"> +nginx could not be built on Linux 3.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в некоторых случаях nginx не использовал сжатие; +ошибка появилась в 1.1.0. +</para> +<para lang="en"> +nginx did not use gzipping in some cases; +the bug had appeared in 1.1.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +обработка тела запроса могла быть неверной, если клиент использовал pipelining. +</para> +<para lang="en"> +request body might be processed incorrectly if client used pipelining. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве request_body_in_single_buf. +</para> +<para lang="en"> +in the "request_body_in_single_buf" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директивах proxy_set_body и proxy_pass_request_body +при использовании SSL-соединения с бэкендом. +</para> +<para lang="en"> +in "proxy_set_body" and "proxy_pass_request_body" directives +if SSL connection to backend was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx нагружал процессор, если все серверы в upstream'е были помечены +флагом down. +</para> +<para lang="en"> +nginx hogged CPU if all servers in an upstream were marked as "down". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при переконфигурации мог произойти segmentation fault, +если в предыдущей конфигурации был определён, но не использовался +ssl_session_cache. +</para> +<para lang="en"> +a segmentation fault might occur during reconfiguration +if ssl_session_cache was defined but not used in previous configuration. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании большого количества backup-серверов +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if many backup servers were used in an upstream. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директив fastcgi/scgi/uwsgi_param +со значениями, начинающимися со строки "HTTP_", +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.8.40. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +if "fastcgi/scgi/uwsgi_param" directives were used +with values starting with "HTTP_"; +the bug had appeared in 0.8.40. +</para> +</change> + +</changes> + + +<changes ver="1.1.0" date="01.08.2011"> + +<change type="feature"> +<para lang="ru"> +уменьшение времени работы загрузчика кэша. +</para> +<para lang="en"> +cache loader run time decrease. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметры loader_files, loader_sleep и loader_threshold +директив proxy/fastcgi/scgi/uwsgi_cache_path. +</para> +<para lang="en"> +"loader_files", "loader_sleep", and "loader_threshold" options +of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов. +</para> +<para lang="en"> +loading time decrease of configuration with large number of HTTPS sites. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь nginx поддерживает шифры с обменом ECDHE-ключами.<br/> +Спасибо Adrian Kotelba. +</para> +<para lang="en"> +now nginx supports ECDHE key exchange ciphers.<br/> +Thanks to Adrian Kotelba. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива lingering_close.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the "lingering_close" directive.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +закрытия соединения для pipelined-запросов.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +in closing connection for pipelined requests.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не запрещал сжатие при получении значения "gzip;q=0" +в строке "Accept-Encoding" в заголовке запроса клиента. +</para> +<para lang="en"> +nginx did not disable gzipping if client sent "gzip;q=0" in +"Accept-Encoding" request header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +таймаута при небуферизированном проксировании.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +in timeout in unbuffered proxied mode.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти при использовании переменных в директиве proxy_pass +при работе с бэкендом по HTTPS.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +memory leaks when a "proxy_pass" directive contains variables and proxies +to an HTTPS backend.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в проверке параметра директивы proxy_pass, заданного переменными.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +in parameter validaiton of a "proxy_pass" directive with variables.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +SSL не работал на QNX.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +SSL did not work on QNX.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +SSL модули не собирались gcc 4.6 без параметра --with-debug. +</para> +<para lang="en"> +SSL modules could not be built by gcc 4.6 without --with-debug option. +</para> +</change> + +</changes> + + +<changes ver="1.0.5" date="19.07.2011"> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/> +Спасибо Rob Stradling. +</para> +<para lang="en"> +now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/> +Thanks to Rob Stradling. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы referer_hash_max_size и referer_hash_bucket_size.<br/> +Спасибо Witold Filipczyk. +</para> +<para lang="en"> +the "referer_hash_max_size" and "referer_hash_bucket_size" +directives.<br/> +Thanks to Witold Filipczyk. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $uid_reset. +</para> +<para lang="en"> +$uid_reset variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании кэширования +в рабочем процессе мог произойти segmentation fault.<br/> +Спасибо Lanshun Zhou. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process, +if a caching was used.<br/> +Thanks to Lanshun Zhou. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании кэширования рабочие процессы +могли зациклиться во время переконфигурации; +ошибка появилась в 0.8.48.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +worker processes may got caught in an endless loop during reconfiguration, +if a caching was used; +the bug had appeared in 0.8.48.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +сообщения "stalled cache updating".<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +"stalled cache updating" alert.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="1.0.4" date="01.06.2011"> + +<change type="change"> +<para lang="ru"> +теперь в регулярных выражениях в директиве map можно задать +чувствительность к регистру с помощью префиксов "~" и "~*". +</para> +<para lang="en"> +now regular expressions case sensitivity in the "map" directive +is given by prefixes "~" or "~*". +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/> +Спасибо Денису Латыпову. +</para> +<para lang="en"> +now shared zones and caches use POSIX semaphores on Linux.<br/> +Thanks to Denis F. Latypoff. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +сообщения "stalled cache updating". +</para> +<para lang="en"> +"stalled cache updating" alert. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-http_auth_basic_module; +ошибка появилась в 1.0.3. +</para> +<para lang="en"> +nginx could not be built --without-http_auth_basic_module; +the bug had appeared in 1.0.3. +</para> +</change> + +</changes> + + +<changes ver="1.0.3" date="25.05.2011"> + +<change type="feature"> +<para lang="ru"> +директива auth_basic_user_file поддерживает шифрование пароля +методами "$apr1", "{PLAIN}" и "{SSHA}".<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}", +and "{SSHA}" password encryption methods.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива geoip_org и переменная $geoip_org.<br/> +Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. +</para> +<para lang="en"> +the "geoip_org" directive and $geoip_org variable.<br/> +Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модули ngx_http_geo_module и ngx_http_geoip_module поддерживают +адреса IPv4, отображённые на IPv6 адреса. +</para> +<para lang="en"> +ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses +mapped to IPv6 addresses. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при проверке адреса IPv4, отображённого на адрес IPv6, +в рабочем процессе происходил segmentation fault, +если директивы access или deny были определены только для адресов IPv6; +ошибка появилась в 0.8.22. +</para> +<para lang="en"> +a segmentation fault occurred in a worker process +during testing IPv4 address mapped to IPv6 address, +if access or deny rules were defined only for IPv6; +the bug had appeared in 0.8.22. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +закэшированный ответ мог быть испорчен, если значения директив +proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache +были разными; +ошибка появилась в 0.8.46. +</para> +<para lang="en"> +a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass" +and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different; +the bug had appeared in 0.8.46. +</para> +</change> + +</changes> + + +<changes ver="1.0.2" date="10.05.2011"> + +<change type="feature"> +<para lang="ru"> +теперь разделяемые зоны и кэши используют семафоры POSIX. +</para> +<para lang="en"> +now shared zones and caches use POSIX semaphores. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в работе параметра rotate директивы image_filter.<br/> +Спасибо Adam Bocim. +</para> +<para lang="en"> +in the "rotate" parameter of the "image_filter" directive.<br/> +Thanks to Adam Bocim. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Solaris; +ошибка появилась в 1.0.1. +</para> +<para lang="en"> +nginx could not be built on Solaris; +the bug had appeared in 1.0.1. +</para> +</change> + +</changes> + + +<changes ver="1.0.1" date="03.05.2011"> + +<change type="change"> +<para lang="ru"> +теперь директива split_clients использует алгоритм MurmurHash2 из-за +лучшего распределения.<br/> +Спасибо Олегу Мамонтову. +</para> +<para lang="en"> +now the "split_clients" directive uses MurmurHash2 algorithm because +of better distribution.<br/> +Thanks to Oleg Mamontov. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь длинные строки, начинающиеся с нуля, не считаются ложными +значениями.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now long strings starting with zero are not considered as false values.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию nginx использует значение 511 для listen backlog на Linux. +</para> +<para lang="en"> +now nginx uses a default listen backlog value 511 on Linux. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $upstream_... можно использовать в SSI и перловом модулях. +</para> +<para lang="en"> +the $upstream_... variables may be used in the SSI and perl modules. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx лучше ограничивает размер кэша на диске.<br/> +Спасибо Олегу Мамонтову. +</para> +<para lang="en"> +now nginx limits better disk cache size.<br/> +Thanks to Oleg Mamontov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при парсинге неправильного IPv4 адреса мог произойти segmentation fault; +ошибка появилась в 0.8.22.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a segmentation fault might occur while parsing incorrect IPv4 address; +the bug had appeared in 0.9.3.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался gcc 4.6 без параметра --with-debug. +</para> +<para lang="en"> +nginx could not be built by gcc 4.6 without --with-debug option. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Solaris 9 и более ранних; +ошибка появилась в 0.9.3.<br/> +Спасибо Dagobert Michelsen. +</para> +<para lang="en"> +nginx could not be built on Solaris 9 and earlier; +the bug had appeared in 0.9.3.<br/> +Thanks to Dagobert Michelsen. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $request_time имела неверные значения, если использовались +подзапросы; +ошибка появилась в 0.8.47.<br/> +Спасибо Игорю А. Валькову. +</para> +<para lang="en"> +$request_time variable had invalid values if subrequests were used; +the bug had appeared in 0.8.47.<br/> +Thanks to Igor A. Valcov. +</para> +</change> + +</changes> + + +<changes ver="1.0.0" date="12.04.2011"> + +<change type="bugfix"> +<para lang="ru"> +cache manager мог нагружать процессор после переконфигурации.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a cache manager might hog CPU after reload.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "image_filter crop" неправильно работала в сочетании с +"image_filter rotate 180". +</para> +<para lang="en"> +an "image_filter crop" directive worked incorrectly coupled with +an "image_filter rotate 180" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "satisfy any" запрещала выдачу пользовательской страницы +для 401 кода. +</para> +<para lang="en"> +a "satisfy any" directive disabled custom 401 error page. +</para> +</change> + +</changes> + + +<changes ver="0.9.7" date="04.04.2011"> + +<change type="feature"> +<para lang="ru"> +теперь соединения в состоянии keepalive могут быть закрыты преждевременно, +если у воркера нет свободных соединений.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now keepalive connections may be closed premature, +if there are no free worker connections.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр rotate директивы image_filter.<br/> +Спасибо Adam Bocim. +</para> +<para lang="en"> +the "rotate" parameter of the "image_filter" directive.<br/> +Thanks to Adam Bocim. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass +задан выражением и ссылается на описанный upstream. +</para> +<para lang="en"> +a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass" +directives is given by expression and refers to a defined upstream. +</para> +</change> + +</changes> + + +<changes ver="0.9.6" date="21.03.2011"> + +<change type="feature"> +<para lang="ru"> +директива map поддерживает регулярные выражения в качестве значения +первого параметра. +</para> +<para lang="en"> +the "map" directive supports regular expressions as value of the first +parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $time_iso8601 для access_log.<br/> +Спасибо Michael Lustfield. +</para> +<para lang="en"> +$time_iso8601 access_log variable.<br/> +Thanks to Michael Lustfield. +</para> +</change> + +</changes> + + +<changes ver="0.9.5" date="21.02.2011"> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию nginx использует значение -1 для listen backlog +на Linux.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +now nginx uses a default listen backlog value -1 on Linux.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр utf8 в директивах geoip_country и geoip_city.<br/> +Спасибо Денису Латыпову. +</para> +<para lang="en"> +the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/> +Thanks to Denis F. Latypoff. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +исправление в умолчательной директиве proxy_redirect, если в директиве +proxy_pass не был описан URI.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +in a default "proxy_redirect" directive if "proxy_pass" directive has no +URI part.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива error_page не работала с нестандартными кодами ошибок; +ошибка появилась в 0.8.53.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +an "error_page" directive did not work with nonstandard error codes; +the bug had appeared in 0.8.53.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.9.4" date="21.01.2011"> + +<change type="feature"> +<para lang="ru"> +директива server_name поддерживает переменную $hostname. +</para> +<para lang="en"> +the "server_name" directive supports the $hostname variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +494 код для ошибки "Request Header Too Large". +</para> +<para lang="en"> +494 code for "Request Header Too Large" error. +</para> +</change> + +</changes> + + +<changes ver="0.9.3" date="13.12.2010"> + +<change type="bugfix"> +<para lang="ru"> +если для пары IPv6-адрес:порт описан только один сервер, то выделения +в регулярных выражениях в директиве server_name не работали. +</para> +<para lang="en"> +if there was a single server for given IPv6 address:port pair, +then captures in regular expressions in a "server_name" directive did not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался под Solaris; +ошибка появилась в 0.9.0. +</para> +<para lang="en"> +nginx could not be built on Solaris; +the bug had appeared in 0.9.0. +</para> +</change> + +</changes> + + +<changes ver="0.9.2" date="06.12.2010"> + +<change type="feature"> +<para lang="ru"> +поддержка строки "If-Unmodified-Since" в заголовке запроса клиента. +</para> +<para lang="en"> +the "If-Unmodified-Since" client request header line support. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +использование accept(), если accept4() не реализован; +ошибка появилась в 0.9.0. +</para> +<para lang="en"> +fallback to accept() syscall if accept4() was not implemented; +the issue had appeared in 0.9.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался под Cygwin; +ошибка появилась в 0.9.0. +</para> +<para lang="en"> +nginx could not be built on Cygwin; +the bug had appeared in 0.9.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +уязвимости в OpenSSL CVE-2010-4180.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +for OpenSSL vulnerability CVE-2010-4180.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.9.1" date="30.11.2010"> + +<change type="bugfix"> +<para lang="ru"> +директивы вида "return CODE message" не работали; +ошибка появилась в 0.9.0. +</para> +<para lang="en"> +"return CODE message" directives did not work; +the bug had appeared in 0.9.0. +</para> +</change> + +</changes> + + +<changes ver="0.9.0" date="29.11.2010"> + +<change type="feature"> +<para lang="ru"> +директива keepalive_disable. +</para> +<para lang="en"> +the "keepalive_disable" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива map поддерживает переменные в качестве значения определяемой +переменной. +</para> +<para lang="en"> +the "map" directive supports variables as value of a defined variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива map поддерживает пустые строки в качестве значения первого параметра. +</para> +<para lang="en"> +the "map" directive supports empty strings as value of the first parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива map поддерживает выражения в первом параметре. +</para> +<para lang="en"> +the "map" directive supports expressions as the first parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +страница руководства nginx(8).<br/> +Спасибо Сергею Осокину. +</para> +<para lang="en"> +nginx(8) manual page.<br/> +Thanks to Sergey Osokin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка accept4() в Linux.<br/> +Спасибо Simon Liu. +</para> +<para lang="en"> +Linux accept4() support.<br/> +Thanks to Simon Liu. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux; +предупреждение появилось в 0.8.35. +</para> +<para lang="en"> +elimination of Linux linker warning about "sys_errlist" and "sys_nerr"; +the warning had appeared in 0.8.35. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы auth_basic +в рабочем процессе мог произойти segmentation fault.<br/> +Спасибо Михаилу Лалетину. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process, +if the "auth_basic" directive was used.<br/> +Thanks to Michail Laletin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с модулем ngx_http_eval_module; +ошибка появилась в 0.8.42. +</para> +<para lang="en"> +compatibility with ngx_http_eval_module; +the bug had appeared in 0.8.42. +</para> +</change> + +</changes> + + +<changes ver="0.8.53" date="18.10.2010"> + +<change type="feature"> +<para lang="ru"> +теперь директива error_page позволяет менять код статуса у редиректа. +</para> +<para lang="en"> +now the "error_page" directive allows to change a status code in a redirect. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива gzip_disable поддерживает специальную маску degradation. +</para> +<para lang="en"> +the "gzip_disable" directive supports special "degradation" mask. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании файлового AIO могла происходить утечка сокетов.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a socket leak might occurred if file AIO was used.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в первом сервере не была описана директива listen и нигде явно +не описан сервер по умолчанию, то сервером по умолчанию становился +следующий сервер с директивой listen; +ошибка появилась в 0.8.21. +</para> +<para lang="en"> +if the first server had no "listen" directive and there was no explicit +default server, then a next server with a "listen" directive became +the default server; +the bug had appeared in 0.8.21. +</para> +</change> + +</changes> + + +<changes ver="0.8.52" date="28.09.2010"> + +<change type="bugfix"> +<para lang="ru"> +nginx использовал режим SSL для listen сокета, если для него был +установлен любой listen-параметр; +ошибка появилась в 0.8.51. +</para> +<para lang="en"> +nginx used SSL mode for a listen socket if any listen option was set; +the bug had appeared in 0.8.51. +</para> +</change> + +</changes> + + +<changes ver="0.8.51" date="27.09.2010"> + +<change type="change"> +<para lang="ru"> +директива secure_link_expires упразднена. +</para> +<para lang="en"> +the "secure_link_expires" directive has been canceled. +</para> +</change> + +<change type="change"> +<para lang="ru"> +уровень логгирования ошибок resolver'а понижен с уровня alert на error. +</para> +<para lang="en"> +a logging level of resolver errors has been lowered from "alert" to "error". +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь параметр "ssl" listen-сокета можно устанавливать несколько раз. +</para> +<para lang="en"> +now a listen socket "ssl" parameter may be set several times. +</para> +</change> + +</changes> + + +<changes ver="0.8.50" date="02.09.2010"> + +<change type="feature"> +<para lang="ru"> +директивы secure_link, secure_link_md5 и secure_link_expires +модуля ngx_http_secure_link_module. +</para> +<para lang="en"> +the "secure_link", "secure_link_md5", and "secure_link_expires" directives of +the ngx_http_secure_link_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ключ -q.<br/> +Спасибо Геннадию Махомеду. +</para> +<para lang="en"> +the -q switch.<br/> +Thanks to Gena Makhomed. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании кэширования рабочие процессы и могли зациклиться +во время переконфигурации; +ошибка появилась в 0.8.48. +</para> +<para lang="en"> +worker processes may got caught in an endless loop during reconfiguration, +if a caching was used; +the bug had appeared in 0.8.48. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве gzip_disable.<br/> +Спасибо Derrick Petzold. +</para> +<para lang="en"> +in the "gzip_disable" directive.<br/> +Thanks to Derrick Petzold. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу, +запущенному в другой сессии. +</para> +<para lang="en"> +nginx/Windows could not send stop, quit, reopen, and reload signals +to a process run in other session. +</para> +</change> + +</changes> + + +<changes ver="0.8.49" date="09.08.2010"> + +<change type="feature"> +<para lang="ru"> +директива image_filter_jpeg_quality поддерживает переменные. +</para> +<para lang="en"> +the "image_filter_jpeg_quality" directive supports variables. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменной $geoip_region_name +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.8.48. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process, +if the $geoip_region_name variables was used; +the bug had appeared in 0.8.48. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки, перехваченные error_page, кэшировались только до следующего запроса; +ошибка появилась в 0.8.48. +</para> +<para lang="en"> +errors intercepted by error_page were cached only for next request; +the bug had appeared in 0.8.48. +</para> +</change> + +</changes> + + +<changes ver="0.8.48" date="03.08.2010"> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию директива server_name имеет значение пустое имя "".<br/> +Спасибо Геннадию Махомеду. +</para> +<para lang="en"> +now the "server_name" directive default value is an empty name "".<br/> +Thanks to Gena Makhomed. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию директива server_name_in_redirect имеет значение off. +</para> +<para lang="en"> +now the "server_name_in_redirect" directive default value is "off". +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/> +Спасибо Christine McGonagle. +</para> +<para lang="en"> +the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/> +Thanks to Christine McGonagle. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались +в блоки limit_except. +</para> +<para lang="en"> +the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives +were not inherited inside "limit_except" blocks. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_cache_min_uses, fastcgi_cache_min_uses +uwsgi_cache_min_uses и scgi_cache_min_uses не работали; +ошибка появилась в 0.8.46. +</para> +<para lang="en"> +the "proxy_cache_min_uses", "fastcgi_cache_min_uses" +"uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work; +the bug had appeared in 0.8.46. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива fastcgi_split_path_info неверно использовала выделения, +если в выделения попадала только часть URI.<br/> +Спасибо Юрию Тарадаю и Frank Enderle. +</para> +<para lang="en"> +the "fastcgi_split_path_info" directive used incorrectly captures, +if only parts of an URI were captured.<br/> +Thanks to Yuriy Taraday and Frank Enderle. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива rewrite не экранировала символ ";" при копировании из URI +в аргументы.<br/> +Спасибо Daisuke Murase. +</para> +<para lang="en"> +the "rewrite" directive did not escape a ";" character during copying +from URI to query string.<br/> +Thanks to Daisuke Murase. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_image_filter_module закрывал соединение, +если изображение было больше размера image_filter_buffer. +</para> +<para lang="en"> +the ngx_http_image_filter_module closed a connection, +if an image was larger than "image_filter_buffer" size. +</para> +</change> + +</changes> + + +<changes ver="0.8.47" date="28.07.2010"> + +<change type="bugfix"> +<para lang="ru"> +переменная $request_time имела неверные значения для подзапросов. +</para> +<para lang="en"> +$request_time variable had invalid values for subrequests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки, перехваченные error_page, не кэшировались. +</para> +<para lang="en"> +errors intercepted by error_page could not be cached. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если использовался параметр max_size, то cache manager мог зациклиться; +ошибка появилась в 0.8.46. +</para> +<para lang="en"> +a cache manager process may got caught in an endless loop, +if max_size parameter was used; +the bug had appeared in 0.8.46. +</para> +</change> + +</changes> + + +<changes ver="0.8.46" date="19.07.2010"> + +<change type="change"> +<para lang="ru"> +директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache +и scgi_no_cache теперь влияют только на сохранение закэшированного ответа. +</para> +<para lang="en"> +now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and +"scgi_no_cache" directives affect on a cached response saving only. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass +и scgi_cache_bypass. +</para> +<para lang="en"> +the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass", +and "scgi_cache_bypass" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не освобождал память в keys_zone кэшей в случае ошибки работы с +бэкендом: память освобождалась только по истечении времени неактивности +или при недостатке памяти. +</para> +<para lang="en"> +nginx did not free memory in cache keys zones if there was an error +during working with backend: the memory was freed only after inactivity +time or on memory low condition. +</para> +</change> + +</changes> + + +<changes ver="0.8.45" date="13.07.2010"> + +<change type="feature"> +<para lang="ru"> +улучшения в модуле ngx_http_xslt_filter.<br/> +Спасибо Laurence Rowe. +</para> +<para lang="en"> +ngx_http_xslt_filter improvements.<br/> +Thanks to Laurence Rowe. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответ SSI модуля мог передаваться не полностью после команды include +с параметром wait="yes"; +ошибка появилась в 0.7.25.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +SSI response might be truncated after include with wait="yes"; +the bug had appeared in 0.7.25.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива listen не поддерживала параметр setfib=0. +</para> +<para lang="en"> +the "listen" directive did not support the "setfib=0" parameter. +</para> +</change> + +</changes> + + +<changes ver="0.8.44" date="05.07.2010"> + +<change type="change"> +<para lang="ru"> +теперь nginx по умолчанию не кэширует ответы бэкендов, +в заголовке которых есть строка "Set-Cookie". +</para> +<para lang="en"> +now nginx does not cache by default backend responses, +if they have a "Set-Cookie" header line. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива listen поддерживает параметр setfib.<br/> +Спасибо Андрею Филонову. +</para> +<para lang="en"> +the "listen" directive supports the "setfib" parameter.<br/> +Thanks to Andrew Filonov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива sub_filter могла изменять регистр букв при частичном совпадении. +</para> +<para lang="en"> +the "sub_filter" directive might change character case on partial match. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с HP/UX. +</para> +<para lang="en"> +compatibility with HP/UX. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с компилятором AIX xlC_r. +</para> +<para lang="en"> +compatibility with AIX xlC_r compiler. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/> +Спасибо Miroslaw Jaworski. +</para> +<para lang="en"> +nginx treated large SSLv2 packets as plain requests.<br/> +Thanks to Miroslaw Jaworski. +</para> +</change> + +</changes> + + +<changes ver="0.8.43" date="30.06.2010"> + +<change type="feature"> +<para lang="ru"> +ускорение загрузки больших баз geo-диапазонов. +</para> +<para lang="en"> +large geo ranges base loading speed-up. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +перенаправление ошибки в "location /zero {return 204;}" без изменения +кода ответа оставляло тело ошибки; +ошибка появилась в 0.8.42. +</para> +<para lang="en"> +an error_page redirection to "location /zero {return 204;}" without +changing status code kept the error body; +the bug had appeared in 0.8.42. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +nginx might close IPv6 listen socket during reconfiguration.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменную $uid_set можно использовать на любой стадии обработки запроса. +</para> +<para lang="en"> +the $uid_set variable may be used at any request processing stage. +</para> +</change> + +</changes> + + +<changes ver="0.8.42" date="21.06.2010"> + +<change type="change"> +<para lang="ru"> +теперь nginx проверяет location'ы, заданные регулярными выражениями, +если запрос полностью совпал с location'ом, заданным строкой префикса. +Предыдущее поведение появилось в 0.7.1. +</para> +<para lang="en"> +now nginx tests locations given by regular expressions, +if request was matched exactly by a location given by a prefix string. +The previous behavior has been introduced in 0.7.1. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_scgi_module.<br/> +Спасибо Manlio Perillo. +</para> +<para lang="en"> +the ngx_http_scgi_module.<br/> +Thanks to Manlio Perillo. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +в директиве return можно добавлять текст ответа. +</para> +<para lang="en"> +a text answer may be added to a "return" directive. +</para> +</change> + +</changes> + + +<changes ver="0.8.41" date="15.06.2010"> + +<change type="security"> +<para lang="ru"> +рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла +с неверной кодировкой UTF-8. +</para> +<para lang="en"> +nginx/Windows worker might be terminated abnormally if a requested file name +has invalid UTF-8 encoding. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь nginx разрешает использовать пробелы в строке запроса. +</para> +<para lang="en"> +now nginx allows to use spaces in a request line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке +ответа бэкенда.<br/> +Спасибо Андрею Андрееву и Максиму Согину. +</para> +<para lang="en"> +the "proxy_redirect" directive changed incorrectly a backend "Refresh" +response header line.<br/> +Thanks to Andrey Andreew and Max Sogin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не поддерживал путь без имени хоста в +строке "Destination" в заголовке запроса. +</para> +<para lang="en"> +nginx did not support path without host name +in "Destination" request header line. +</para> +</change> + +</changes> + + +<changes ver="0.8.40" date="07.06.2010"> + +<change type="security"> +<para lang="ru"> +теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/> +Спасибо Jose Antonio Vazquez Gonzalez. +</para> +<para lang="en"> +now nginx/Windows ignores default file stream name.<br/> +Thanks to Jose Antonio Vazquez Gonzalez. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_uwsgi_module.<br/> +Спасибо Roberto De Ioris. +</para> +<para lang="en"> +the ngx_http_uwsgi_module.<br/> +Thanks to Roberto De Ioris. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива fastcgi_param со значением, начинающимся со строки "HTTP_", +изменяет строку заголовка в запросе клиента. +</para> +<para lang="en"> +a "fastcgi_param" directive with value starting with "HTTP_" overrides +a client request header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса +клиента передавались FastCGI-серверу при кэшировании. +</para> +<para lang="en"> +the "If-Modified-Since", "If-Range", etc. client request header lines +were passed to FastCGI-server while caching. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +listen unix domain сокет нельзя было изменить во время переконфигурации.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +listen unix domain socket could not be changed during reconfiguration.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.8.39" date="31.05.2010"> + +<change type="bugfix"> +<para lang="ru"> +наследуемая директива alias неправильно работала во вложенном location'е. +</para> +<para lang="en"> +an inherited "alias" directive worked incorrectly in inclusive location. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в комбинации директив alias с переменными и try_files; +</para> +<para lang="en"> +in "alias" with variables and "try_files" directives combination. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +listen unix domain и IPv6 сокеты не наследовались во время обновления +без перерыва.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.8.38" date="24.05.2010"> + +<change type="feature"> +<para lang="ru"> +директивы proxy_no_cache и fastcgi_no_cache. +</para> +<para lang="en"> +the "proxy_no_cache" and "fastcgi_no_cache" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь при использовании переменной $scheme в директиве rewrite +автоматически делается редирект.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +now the "rewrite" directive does a redirect automatically +if the $scheme variable is used.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now "limit_req" delay directive conforms to the described algorithm.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменную $uid_got нельзя было использовать в SSI и перловом модулях. +</para> +<para lang="en"> +the $uid_got variable might not be used in the SSI and perl modules. +</para> +</change> + +</changes> + + +<changes ver="0.8.37" date="17.05.2010"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_split_clients_module. +</para> +<para lang="en"> +the ngx_http_split_clients_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива map поддерживает ключи больше 255 символов. +</para> +<para lang="en"> +the "map" directive supports keys more than 255 characters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx игнорировал значения "private" и "no-store" в строке "Cache-Control" +в заголовке ответа бэкенда. +</para> +<para lang="en"> +nginx ignored the "private" and "no-store" values +in the "Cache-Control" backend response header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр stub в SSI-директиве include не использовался, +если пустой ответ имел код 200. +</para> +<para lang="en"> +a "stub" parameter of an "include" SSI directive was not used, +if empty response has 200 status code. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если проксированный или FastCGI запрос внутренне перенаправлялся +в другой проксированный или FastCGI location, +то в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.8.33.<br/> +Спасибо Yichun Zhang. +</para> +<para lang="en"> +if a proxied or FastCGI request was internally redirected +to another proxied or FastCGI location, +then a segmentation fault might occur in a worker process; +the bug had appeared in 0.8.33.<br/> +Thanks to Yichun Zhang. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/> +Спасибо Alan Batie. +</para> +<para lang="en"> +IMAP connections may hang until they timed out +while talking to Zimbra server.<br/> +Thanks to Alan Batie. +</para> +</change> + +</changes> + + +<changes ver="0.8.36" date="22.04.2010"> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE +для симлинков. +</para> +<para lang="en"> +the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods +for symlinks. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль SSI в подзапросах использовал закэшированные в основном запросе +значения переменных $query_string, $arg_... и им подобных. +</para> +<para lang="en"> +values of the $query_string, $arg_..., etc. variables cached in main +request were used by the SSI module in subrequests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +значение переменной повторно экранировалось после каждого вывода +SSI-команды echo; +ошибка появилась в 0.6.14. +</para> +<para lang="en"> +a variable value was repeatedly encoded after each +an "echo" SSI-command output; +the bug had appeared in 0.6.14. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +рабочий процесс зависал при запросе файла FIFO.<br/> +Спасибо Vicente Aguilar и Максиму Дунину. +</para> +<para lang="en"> +a worker process hung if a FIFO file was requested.<br/> +Thanks to Vicente Aguilar and Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-http-cache; +ошибка появилась в 0.8.35. +</para> +<para lang="en"> +nginx could not be built --without-http-cache; +the bug had appeared in 0.8.35. +</para> +</change> + +</changes> + + +<changes ver="0.8.35" date="01.04.2010"> + +<change type="change"> +<para lang="ru"> +теперь charset-фильтр работает до SSI-фильтра. +</para> +<para lang="en"> +now the charset filter runs before the SSI filter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива chunked_transfer_encoding. +</para> +<para lang="en"> +the "chunked_transfer_encoding" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +символ "&" при копировании в аргументы в правилах rewrite не экранировался. +</para> +<para lang="en"> +an "&" character was not escaped when it was copied in arguments part +in a rewrite rule. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог завершаться аварийно во время обработки сигнала или +при использовании директивы timer_resolution на платформах, +не поддерживающих методы kqueue или eventport.<br/> +Спасибо George Xie и Максиму Дунину. +</para> +<para lang="en"> +nginx might be terminated abnormally +while a signal processing or if the directive "timer_resolution" was used +on platforms which do not support kqueue or eventport notification methods.<br/> +Thanks to George Xie and Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если временные файлы и постоянное место хранения располагались на разных +файловых системах, то у постоянных файлов время изменения было неверным.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +if temporary files and permanent storage area resided at different +file systems, then permanent file modification times were incorrect.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid +trailer".<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +ngx_http_memcached_module might issue the error message "memcached sent invalid +trailer".<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +nginx could not built zlib-1.2.4 library using the library sources.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе происходил segmentation fault, +если перед ответом FastCGI-сервера было много вывода в stderr; +ошибка появилась в 0.8.34.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a segmentation fault occurred in a worker process, +if there was large stderr output before FastCGI response; +the bug had appeared in 0.8.34.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.8.34" date="03.03.2010"> + +<change type="bugfix"> +<para lang="ru"> +nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/> +Спасибо Иннокентию Еникееву. +</para> +<para lang="en"> +nginx did not support all ciphers and digests used in client certificates.<br/> +Thanks to Innocenty Enikeew. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx неправильно кэшировал FastCGI-ответы, если перед ответом было +много вывода в stderr. +</para> +<para lang="en"> +nginx cached incorrectly FastCGI responses if there was large stderr output +before response. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не поддерживал HTTPS-рефереры. +</para> +<para lang="en"> +nginx did not support HTTPS referrers. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows мог не находить файлы, если путь в конфигурации был задан +в другом регистре; +ошибка появилась в 0.8.33. +</para> +<para lang="en"> +nginx/Windows might not find file if path in configuration was given +in other character case; +the bug had appeared in 0.8.33. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $date_local выдавала неверное время, +если использовался формат "%s".<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the $date_local variable has an incorrect value, +if the "%s" format was used.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если ssl_session_cache не был установлен или установлен в none, +то при проверке клиентского сертификаты могла происходить +ошибка "session id context uninitialized"; +ошибка появилась в 0.7.1. +</para> +<para lang="en"> +if ssl_session_cache was not set or was set to "none", +then during client certificate verify +the error "session id context uninitialized" might occur; +the bug had appeared in 0.7.1. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +geo-диапазон возвращал значение по умолчанию, если диапазон включал +в себя одну и более сетей размером /16 и не начинался на границе сети +размером /16. +</para> +<para lang="en"> +a geo range returned default value if the range included two or more +/16 networks and did not begin at /16 network boundary. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +блок, используемый в параметре stub в SSI-директиве include, +выводился с MIME-типом "text/plain". +</para> +<para lang="en"> +a block used in a "stub" parameter of an "include" SSI directive +was output with "text/plain" MIME type. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +$r->sleep() не работал; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +$r->sleep() did not work; +the bug had appeared in 0.8.11. +</para> +</change> + +</changes> + + +<changes ver="0.8.33" date="01.02.2010"> + +<change type="security"> +<para lang="ru"> +теперь nginx/Windows игнорирует пробелы в конце URI.<br/> +Спасибо Dan Crowley, Core Security Technologies. +</para> +<para lang="en"> +now nginx/Windows ignores trailing spaces in URI.<br/> +Thanks to Dan Crowley, Core Security Technologies. +</para> +</change> + +<change type="security"> +<para lang="ru"> +теперь nginx/Windows игнорирует короткие имена файлов.<br/> +Спасибо Dan Crowley, Core Security Technologies. +</para> +<para lang="en"> +now nginx/Windows ignores short files names.<br/> +Thanks to Dan Crowley, Core Security Technologies. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь keepalive соединения после запросов POST не запрещаются для +MSIE 7.0+.<br/> +Спасибо Adam Lounds. +</para> +<para lang="en"> +now keepalive connections after POST requests are not disabled for +MSIE 7.0+.<br/> +Thanks to Adam Lounds. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +теперь keepalive соединения запрещены для Safari.<br/> +Спасибо Joshua Sierles. +</para> +<para lang="en"> +now keepalive connections are disabled for Safari.<br/> +Thanks to Joshua Sierles. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если проксированный или FastCGI запрос внутренне перенаправлялся +в другой проксированный или FastCGI location, то переменная +$upstream_response_time могла иметь ненормально большое значение; +ошибка появилась в 0.8.7. +</para> +<para lang="en"> +if a proxied or FastCGI request was internally redirected +to another proxied or FastCGI location, +then $upstream_response_time variable may have abnormally large value; +the bug had appeared in 0.8.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault +при отбрасывания тела запроса; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process, +while discarding a request body; +the bug had appeared in 0.8.11. +</para> +</change> + +</changes> + + +<changes ver="0.8.32" date="11.01.2010"> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +UTF-8 encoding usage in the ngx_http_autoindex_module.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +именованные выделения в регулярных выражениях работали только для +двух переменных.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +regular expression named captures worked for two names only.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь в строке заголовка запроса "Host" используется имя "localhost", +если в директиве auth_http указан unix domain сокет.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now the "localhost" name is used in the "Host" request header line, +if an unix domain socket is defined in the "auth_http" directive.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/> +Спасибо Julian Reich. +</para> +<para lang="en"> +nginx did not support chunked transfer encoding for 201 responses.<br/> +Thanks to Julian Reich. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если директива "expires modified" выставляла дату в прошлом, то в строке +заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/> +Спасибо Алексею Капранову. +</para> +<para lang="en"> +if the "expires modified" set date in the past, then a negative number +was set in the "Cache-Control" response header line.<br/> +Thanks to Alex Kapranoff. +</para> +</change> + +</changes> + + +<changes ver="0.8.31" date="23.12.2009"> + +<change type="feature"> +<para lang="ru"> +теперь директива error_page может перенаправлять ответы со статусом 301 и 302. +</para> +<para lang="en"> +now the "error_page" directive may redirect the 301 and 302 responses. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/> +Спасибо Arvind Sundararajan. +</para> +<para lang="en"> +the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude +variables.<br/> +Thanks to Arvind Sundararajan. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_image_filter_module теперь всегда удаляет +EXIF и другие данные, если они занимают больше 5% в JPEG-файле. +</para> +<para lang="en"> +now the ngx_http_image_filter_module deletes always EXIF and other +application specific data if the data consume more than 5% of a JPEG file. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx закрывал соединение при запросе закэшированного +ответа с пустым телом.<br/> +Спасибо Piotr Sikora. +</para> +<para lang="en"> +nginx closed a connection if a cached response had an empty body.<br/> +Thanks to Piotr Sikora. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/> +Спасибо Максиму Дунину и Денису Латыпову. +</para> +<para lang="en"> +nginx might not be built by gcc 4.x if the -O2 or higher optimization option +was used.<br/> +Thanks to Maxim Dounin and Denis F. Latypoff. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +регулярные выражения в location всегда тестировались с учётом регистра; +ошибка появилась в 0.8.25. +</para> +<para lang="en"> +regular expressions in location were always tested in case-sensitive mode; +the bug had appeared in 0.8.25. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx кэшировал 304 ответ, если в заголовке проксируемого запроса +была строка "If-None-Match".<br/> +Спасибо Tim Dettrick и David Kostal. +</para> +<para lang="en"> +nginx cached a 304 response if there was the "If-None-Match" header line +in a proxied request.<br/> +Thanks to Tim Dettrick and David Kostal. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows пытался дважды удалить временный файл +при перезаписи уже существующего файла. +</para> +<para lang="en"> +nginx/Windows tried to delete a temporary file twice +if the file should replace an already existent file. +</para> +</change> + +</changes> + + +<changes ver="0.8.30" date="15.12.2009"> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию размер буфера директивы large_client_header_buffers +равен 8K.<br/> +Спасибо Andrew Cholakian. +</para> +<para lang="en"> +now the default buffer size of the "large_client_header_buffers" +directive is 8K.<br/> +Thanks to Andrew Cholakian. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +файл conf/fastcgi.conf для простых конфигураций FastCGI. +</para> +<para lang="en"> +the conf/fastcgi.conf for simple FastCGI configurations. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows пытался дважды переименовать временный файл +при перезаписи уже существующего файла. +</para> +<para lang="en"> +nginx/Windows tried to rename a temporary file twice if the file +should replace an already existent file. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки double free or corruption, возникающей, если имя хоста не было найдено; +ошибка появилась в 0.8.22.<br/> +Спасибо Константину Свисту. +</para> +<para lang="en"> +of "double free or corruption" error issued if host could not be resolved; +the bug had appeared in 0.8.22.<br/> +Thanks to Konstantin Svist. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в использовании libatomic на некоторых платформах.<br/> +Спасибо W-Mark Kubacki. +</para> +<para lang="en"> +in libatomic usage on some platforms.<br/> +Thanks to W-Mark Kubacki. +</para> +</change> + +</changes> + + +<changes ver="0.8.29" date="30.11.2009"> + +<change type="change"> +<para lang="ru"> +теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009". +</para> +<para lang="en"> +now the "009" status code is written to an access log for proxied HTTP/0.9 +responses. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы addition_types, charset_types, gzip_types, ssi_types, +sub_filter_types и xslt_types поддерживают параметр "*". +</para> +<para lang="en"> +the "addition_types", "charset_types", "gzip_types", "ssi_types", +"sub_filter_types", and "xslt_types" directives support an "*" parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +использование встроенных атомарных операций GCC 4.1+.<br/> +Спасибо W-Mark Kubacki. +</para> +<para lang="en"> +GCC 4.1+ built-in atomic operations usage.<br/> +Thanks to W-Mark Kubacki. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр --with-libatomic[=DIR] в configure.<br/> +Спасибо W-Mark Kubacki. +</para> +<para lang="en"> +the --with-libatomic[=DIR] option in the configure.<br/> +Thanks to W-Mark Kubacki. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +listen unix domain сокет имели ограниченные права доступа. +</para> +<para lang="en"> +listen unix domain socket had limited access rights. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались. +</para> +<para lang="en"> +cached HTTP/0.9 responses were handled incorrectly. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +именованные выделения в регулярных выражениях, заданные как "?P<...>", +не работали в директиве server_name.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +regular expression named captures given by "?P<...>" did not work +in a "server_name" directive.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.8.28" date="23.11.2009"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-pcre; +ошибка появилась в 0.8.25. +</para> +<para lang="en"> +nginx could not be built with the --without-pcre parameter; +the bug had appeared in 0.8.25. +</para> +</change> + +</changes> + + +<changes ver="0.8.27" date="17.11.2009"> + +<change type="bugfix"> +<para lang="ru"> +регулярные выражения не работали в nginx/Windows; +ошибка появилась в 0.8.25. +</para> +<para lang="en"> +regular expressions did not work in nginx/Windows; +the bug had appeared in 0.8.25. +</para> +</change> + +</changes> + + +<changes ver="0.8.26" date="16.11.2009"> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании выделений в директиве rewrite; +ошибка появилась в 0.8.25. +</para> +<para lang="en"> +in captures usage in "rewrite" directive; +the bug had appeared in 0.8.25. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался без параметра --with-debug; +ошибка появилась в 0.8.25. +</para> +<para lang="en"> +nginx could not be built without the --with-debug option; +the bug had appeared in 0.8.25. +</para> +</change> + +</changes> + + +<changes ver="0.8.25" date="16.11.2009"> + +<change type="change"> +<para lang="ru"> +теперь в лог ошибок не пишется сообщение, если переменная не найдена +с помощью метода $r->variable(). +</para> +<para lang="en"> +now no message is written in an error log if a variable is not found by +$r->variable() method. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_degradation_module. +</para> +<para lang="en"> +the ngx_http_degradation_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +именованные выделения в регулярных выражениях. +</para> +<para lang="en"> +regular expression named captures. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь при использовании переменных в директиве proxy_pass не требуется +задавать URI. +</para> +<para lang="en"> +now URI part is not required a "proxy_pass" directive if variables are used. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь директива msie_padding работает и для Chrome. +</para> +<para lang="en"> +now the "msie_padding" directive works for Chrome too. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе происходил segmentation fault при недостатке памяти; +ошибка появилась в 0.8.18. +</para> +<para lang="en"> +a segmentation fault occurred in a worker process on low memory condition; +the bug had appeared in 0.8.18. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx передавал сжатые ответы клиентам, не поддерживающим сжатие, +при настройках gzip_static on и gzip_vary off; +ошибка появилась в 0.8.16. +</para> +<para lang="en"> +nginx sent gzipped responses to clients those do not support gzip, +if "gzip_static on" and "gzip_vary off"; +the bug had appeared in 0.8.16. +</para> +</change> + +</changes> + + +<changes ver="0.8.24" date="11.11.2009"> + +<change type="bugfix"> +<para lang="ru"> +nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок +304-ых ответов модуля ngx_http_gzip_static_module. +</para> +<para lang="en"> +nginx always added "Content-Encoding: gzip" response header line +in 304 responses sent by ngx_http_gzip_static_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался без параметра --with-debug; +ошибка появилась в 0.8.23. +</para> +<para lang="en"> +nginx could not be built without the --with-debug option; +the bug had appeared in 0.8.23. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр "unix:" в директиве set_real_ip_from неправильно наследовался +с предыдущего уровня. +</para> +<para lang="en"> +the "unix:" parameter of the "set_real_ip_from" directive inherited +incorrectly from previous level. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в resolver'е при определении пустого имени. +</para> +<para lang="en"> +in resolving empty name. +</para> +</change> + +</changes> + + +<changes ver="0.8.23" date="11.11.2009"> + +<change type="security"> +<para lang="ru"> +теперь SSL/TLS renegotiation запрещён.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now SSL/TLS renegotiation is disabled.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +listen unix domain сокет не наследовался во время обновления без перерыва. +</para> +<para lang="en"> +listen unix domain socket did not inherit while online upgrade. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр "unix:" в директиве set_real_ip_from не работал без ещё +одной директивы с любым IP-адресом. +</para> +<para lang="en"> +the "unix:" parameter of the "set_real_ip_from" directive did not without +yet another directive with any IP address. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +segmentation fault и зацикливания в resolver'е. +</para> +<para lang="en"> +segmentation fault and infinite looping in resolver. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в resolver'е.<br/> +Спасибо Артёму Бохану. +</para> +<para lang="en"> +in resolver.<br/> +Thanks to Artem Bokhan. +</para> +</change> + +</changes> + + +<changes ver="0.8.22" date="03.11.2009"> + +<change type="feature"> +<para lang="ru"> +директивы proxy_bind, fastcgi_bind и memcached_bind. +</para> +<para lang="en"> +the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы access и deny поддерживают IPv6. +</para> +<para lang="en"> +the "access" and the "deny" directives support IPv6. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса. +</para> +<para lang="en"> +the "set_real_ip_from" directive supports IPv6 addresses in request headers. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр "unix:" в директиве set_real_ip_from. +</para> +<para lang="en"> +the "unix:" parameter of the "set_real_ip_from" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не удалял unix domain сокет после тестирования конфигурации. +</para> +<para lang="en"> +nginx did not delete unix domain socket after configuration testing. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx удалял unix domain сокет во время обновления без перерыва. +</para> +<para lang="en"> +nginx deleted unix domain socket while online upgrade. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +оператор "!-x" не работал.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the "!-x" operator did not work.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault +при использовании limit_rate в HTTPS сервере.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process, +if limit_rate was used in HTTPS server.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при записи в лог переменной $limit_rate +в рабочем процессе происходил segmentation fault.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process +while $limit_rate logging.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если внутри блока server не было директивы listen; +ошибка появилась в 0.8.21. +</para> +<para lang="en"> +a segmentation fault might occur in a worker process, +if there was no "listen" directive in "server" block; +the bug had appeared in 0.8.21. +</para> +</change> + +</changes> + + +<changes ver="0.8.21" date="26.10.2009"> + +<change type="feature"> +<para lang="ru"> +теперь ключ -V показывает статус поддержки TLS SNI. +</para> +<para lang="en"> +now the "-V" switch shows TLS SNI support. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива listen модуля HTTP поддерживает unix domain сокеты.<br/> +Спасибо Hongli Lai. +</para> +<para lang="en"> +the "listen" directive of the HTTP module supports unix domain sockets.<br/> +Thanks to Hongli Lai. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр "default_server" в директиве listen. +</para> +<para lang="en"> +the "default_server" parameter of the "listen" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь параметр "default" не обязателен для установки параметров listen-сокета. +</para> +<para lang="en"> +now a "default" parameter is not required to set listen socket options. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не поддерживал даты в 2038 году на 32-битных платформах; +</para> +<para lang="en"> +nginx did not support dates in 2038 year on 32-bit platforms; +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +socket leak; +the bug had appeared in 0.8.11. +</para> +</change> + +</changes> + + +<changes ver="0.8.20" date="14.10.2009"> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5". +</para> +<para lang="en"> +now default SSL ciphers are "HIGH:!ADH:!MD5". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_autoindex_module не показывал последний слэш для линков +на каталоги; +ошибка появилась в 0.7.15. +</para> +<para lang="en"> +the ngx_http_autoindex_module did not show the trailing slash in links to +a directory; +the bug had appeared in 0.7.15. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не закрывал лог, заданный параметром конфигурации --error-log-path; +ошибка появилась в 0.7.53. +</para> +<para lang="en"> +nginx did not close a log file set by the --error-log-path configuration option; +the bug had appeared in 0.7.53. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не считал запятую разделителем в строке "Cache-Control" в +заголовке ответа бэкенда. +</para> +<para lang="en"> +nginx did not treat a comma as separator in the "Cache-Control" backend response +header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows мог не создать временный файл, файл в кэше или файл +с помощью директив proxy/fastcgi_store, если рабочий процесс не имел +достаточно прав для работы с каталогами верхнего уровня. +</para> +<para lang="en"> +nginx/Windows might not create temporary file, a cache file, or +"proxy/fastcgi_store"d file if a worker had no enough access rights +for top level directories. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались +при кэшировании, если не использовались директивы fastcgi_hide_header +с любыми параметрами. +</para> +<para lang="en"> +the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden +while caching if no "fastcgi_hide_header" directives were used with +any parameters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx неверно считал размер кэша на диске. +</para> +<para lang="en"> +nginx counted incorrectly disk cache size. +</para> +</change> + +</changes> + + +<changes ver="0.8.19" date="06.10.2009"> + +<change type="change"> +<para lang="ru"> +теперь протокол SSLv2 по умолчанию запрещён. +</para> +<para lang="en"> +now SSLv2 protocol is disabled by default. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию используются следующие шифры SSL: +"ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". +</para> +<para lang="en"> +now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива limit_req не работала; +ошибка появилась в 0.8.18. +</para> +<para lang="en"> +a "limit_req" directive did not work; +the bug had appeared in 0.8.18. +</para> +</change> + +</changes> + + +<changes ver="0.8.18" date="06.10.2009"> + +<change type="feature"> +<para lang="ru"> +директива read_ahead. +</para> +<para lang="en"> +the "read_ahead" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь можно использовать несколько директив perl_modules. +</para> +<para lang="en"> +now several "perl_modules" directives may be used. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы limit_req_log_level и limit_conn_log_level. +</para> +<para lang="en"> +the "limit_req_log_level" and "limit_conn_log_level" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь директива limit_req соответствует алгоритму leaky bucket.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now "limit_req" directive conforms to the leaky bucket algorithm.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не работал на Linux/sparc.<br/> +Спасибо Marcus Ramberg. +</para> +<para lang="en"> +nginx did not work on Linux/sparc.<br/> +Thanks to Marcus Ramberg. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос +MKCOL.<br/> +Спасибо Xie Zhenye. +</para> +<para lang="en"> +nginx sent '\0' in a "Location" response header line on MKCOL request.<br/> +Thanks to Xie Zhenye. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +вместо кода ответа 499 в лог записывался код 0; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +zero status code was logged instead of 499 status code; +the bug had appeared in 0.8.11. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +socket leak; +the bug had appeared in 0.8.11. +</para> +</change> + +</changes> + + +<changes ver="0.8.17" date="28.09.2009"> + +<change type="security"> +<para lang="ru"> +теперь символы "/../" запрещены в строке "Destination" в заголовке запроса. +</para> +<para lang="en"> +now "/../" are disabled in "Destination" request header line. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь значение переменной $host всегда в нижнем регистре. +</para> +<para lang="en"> +now $host variable value is always low case. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $ssl_session_id. +</para> +<para lang="en"> +the $ssl_session_id variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +socket leak; +the bug had appeared in 0.8.11. +</para> +</change> + +</changes> + + +<changes ver="0.8.16" date="22.09.2009"> + +<change type="feature"> +<para lang="ru"> +директива image_filter_transparency. +</para> +<para lang="en"> +the "image_filter_transparency" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "addition_types" была неверно названа "addtion_types". +</para> +<para lang="en"> +"addition_types" directive was incorrectly named "addtion_types". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +порчи кэша resolver'а.<br/> +Спасибо Matthew Dempsky. +</para> +<para lang="en"> +resolver cache poisoning.<br/> +Thanks to Matthew Dempsky. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти в resolver'е.<br/> +Спасибо Matthew Dempsky. +</para> +<para lang="en"> +memory leak in resolver.<br/> +Thanks to Matthew Dempsky. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +неверная строка запроса в переменной $request записывалась в access_log +только при использовании error_log на уровне info или debug. +</para> +<para lang="en"> +invalid request line in $request variable was written in access_log +only if error_log was set to "info" or "debug" level. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module. +</para> +<para lang="en"> +in PNG alpha-channel support in the ngx_http_image_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа, +если обе директивы gzip_static и gzip_vary были включены. +</para> +<para lang="en"> +nginx always added "Vary: Accept-Encoding" response header line, +if both "gzip_static" and "gzip_vary" were on. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в поддержке кодировки UTF-8 директивой try_files в nginx/Windows. +</para> +<para lang="en"> +in UTF-8 encoding support by "try_files" directive in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании post_action; +ошибка появилась в 0.8.11.<br/> +Спасибо Игорю Артемьеву. +</para> +<para lang="en"> +in "post_action" directive usage; +the bug had appeared in 0.8.11.<br/> +Thanks to Igor Artemiev. +</para> +</change> + +</changes> + + +<changes ver="0.8.15" date="14.09.2009"> + +<change type="security"> +<para lang="ru"> +при обработке специально созданного запроса +в рабочем процессе мог произойти segmentation fault.<br/> +Спасибо Chris Ries. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +while specially crafted request handling.<br/> +Thanks to Chris Ries. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld, +то имя .sub.domain.tld попадало под маску .domain.tld. +</para> +<para lang="en"> +if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined, +then the name .sub.domain.tld was matched by .domain.tld. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в поддержке прозрачности в модуле ngx_http_image_filter_module. +</para> +<para lang="en"> +in transparency support in the ngx_http_image_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в файловом AIO. +</para> +<para lang="en"> +in file AIO. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании X-Accel-Redirect; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +in X-Accel-Redirect usage; +the bug had appeared in 0.8.11. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании встроенного перла; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +in embedded perl module; +the bug had appeared in 0.8.11. +</para> +</change> + +</changes> + + +<changes ver="0.8.14" date="07.09.2009"> + +<change type="bugfix"> +<para lang="ru"> +устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING". +</para> +<para lang="en"> +an expired cached response might stick in the "UPDATING" state. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании error_log на уровне info или debug +в рабочем процессе мог произойти segmentation fault.<br/> +Спасибо Сергею Боченкову. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if error_log was set to info or debug level.<br/> +Thanks to Sergey Bochenkov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании встроенного перла; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +in embedded perl module; +the bug had appeared in 0.8.11. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива error_page не перенаправляла ошибку 413; +ошибка появилась в 0.6.10. +</para> +<para lang="en"> +an "error_page" directive did not redirect a 413 error; +the bug had appeared in 0.6.10. +</para> +</change> + +</changes> + + +<changes ver="0.8.13" date="31.08.2009"> + +<change type="bugfix"> +<para lang="ru"> +в директиве "aio sendfile"; +ошибка появилась в 0.8.12. +</para> +<para lang="en"> +in the "aio sendfile" directive; +the bug had appeared in 0.8.12. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался без параметра --with-file-aio на FreeBSD; +ошибка появилась в 0.8.12. +</para> +<para lang="en"> +nginx could not be built without the --with-file-aio option on FreeBSD; +the bug had appeared in 0.8.12. +</para> +</change> + +</changes> + + +<changes ver="0.8.12" date="31.08.2009"> + +<change type="feature"> +<para lang="ru"> +параметр sendfile в директиве aio во FreeBSD. +</para> +<para lang="en"> +the "sendfile" parameter in the "aio" directive on FreeBSD. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании try_files; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +in try_files; +the bug had appeared in 0.8.11. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании memcached; +ошибка появилась в 0.8.11. +</para> +<para lang="en"> +in memcached; +the bug had appeared in 0.8.11. +</para> +</change> + +</changes> + +<changes ver="0.8.11" date="28.08.2009"> + +<change type="change"> +<para lang="ru"> +теперь директива "gzip_disable msie6" не запрещает сжатие для +<nobr>MSIE 6.0 SV1.</nobr> +</para> +<para lang="en"> +now directive "gzip_disable msie6" does not disable gzipping for +<nobr>MSIE 6.0 SV1.</nobr> +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка файлового AIO во FreeBSD и Linux. +</para> +<para lang="en"> +file AIO support on FreeBSD and Linux. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива directio_alignment. +</para> +<para lang="en"> +the "directio_alignment" directive. +</para> +</change> + +</changes> + + +<changes ver="0.8.10" date="24.08.2009"> + +<change type="bugfix"> +<para lang="ru"> +утечек памяти при использовании базы GeoIP City. +</para> +<para lang="en"> +memory leaks if GeoIP City database was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при копировании временных файлов в постоянное место хранения; +ошибка появилась в 0.8.9. +</para> +<para lang="en"> +in copying temporary files to permanent storage area; +the bug had appeared in 0.8.9. +</para> +</change> + +</changes> + + +<changes ver="0.8.9" date="17.08.2009"> + +<change type="feature"> +<para lang="ru"> +теперь стартовый загрузчик кэша работает в отдельном процесс; +это должно улучшить обработку больших кэшей. +</para> +<para lang="en"> +now the start cache loader runs in a separate process; +this should improve large caches handling. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь временные файлы и постоянное место хранения могут располагаться +на разных файловых системах. +</para> +<para lang="en"> +now temporary files and permanent storage area may reside at +different file systems. +</para> +</change> + +</changes> + + +<changes ver="0.8.8" date="10.08.2009"> + +<change type="bugfix"> +<para lang="ru"> +в обработке заголовков ответа, разделённых в FastCGI-записях. +</para> +<para lang="en"> +in handling FastCGI headers split in records. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если запрос обрабатывался в двух проксированных или FastCGI location'ах +и в первом из них использовалось кэширование, +то в рабочем процессе происходил segmentation fault; +ошибка появилась в 0.8.7. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if a request was handled in two proxied or FastCGIed locations +and a caching was enabled in the first location; +the bug had appeared in 0.8.7. +</para> +</change> + +</changes> + + +<changes ver="0.8.7" date="27.07.2009"> + +<change type="change"> +<para lang="ru"> +минимальная поддерживаемая версия OpenSSL—0.9.7. +</para> +<para lang="en"> +minimum supported OpenSSL version is 0.9.7. +</para> +</change> + +<change type="change"> +<para lang="ru"> +параметр ask директивы ssl_verify_client изменён на параметр optional +и теперь он проверяет клиентский сертификат, если он был предложен.<br/> +Спасибо Brice Figureau. +</para> +<para lang="en"> +the "ask" parameter of the "ssl_verify_client" directive was changed +to the "optional" parameter and now it checks a client certificate if it was +offered.<br/> +Thanks to Brice Figureau. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $ssl_client_verify.<br/> +Спасибо Brice Figureau. +</para> +<para lang="en"> +the $ssl_client_verify variable.<br/> +Thanks to Brice Figureau. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_crl.<br/> +Спасибо Brice Figureau. +</para> +<para lang="en"> +the "ssl_crl" directive.<br/> +Thanks to Brice Figureau. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр proxy директивы geo. +</para> +<para lang="en"> +the "proxy" parameter of the "geo" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива image_filter поддерживает переменные для задания размеров. +</para> +<para lang="en"> +the "image_filter" directive supports variables for setting size. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +использование переменной $ssl_client_cert портило память; +ошибка появилась в 0.7.7.<br/> +Спасибо Сергею Журавлёву. +</para> +<para lang="en"> +the $ssl_client_cert variable usage corrupted memory; +the bug had appeared in 0.7.7.<br/> +Thanks to Sergey Zhuravlev. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту +строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и +"X-Accel-Charset" из заголовка ответа бэкенда.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +"proxy_pass_header" and "fastcgi_pass_header" directives did not pass to +a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering", +and "X-Accel-Charset" lines from backend response header.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда; +ошибка появилась в 0.7.44.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +in handling "Last-Modified" and "Accept-Ranges" backend response header lines; +the bug had appeared in 0.7.44.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах; +ошибка появилась в 0.8.5. +</para> +<para lang="en"> +the "[alert] zero size buf" error if subrequest returns an empty response; +the bug had appeared in 0.8.5. +</para> +</change> + +</changes> + + +<changes ver="0.8.6" date="20.07.2009"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_geoip_module. +</para> +<para lang="en"> +the ngx_http_geoip_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +XSLT-фильтр мог выдавать ошибку "not well formed XML document" для +правильного документа.<br/> +Спасибо Kuramoto Eiji. +</para> +<para lang="en"> +XSLT filter may fail with message "not well formed XML document" +for valid XML document.<br/> +Thanks to Kuramoto Eiji. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных +регулярным выражением, теперь всегда делается сравнение без учёта +регистра символов. +</para> +<para lang="en"> +now in MacOSX, Cygwin, and nginx/Windows locations given by a regular +expression are always tested in case insensitive mode. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx/Windows игнорирует точки в конце URI.<br/> +Спасибо Hugo Leisink. +</para> +<para lang="en"> +now nginx/Windows ignores trailing dots in URI.<br/> +Thanks to Hugo Leisink. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +имя файла указанного в --conf-path игнорировалось при установке; +ошибка появилась в 0.6.6.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +name of file specified in --conf-path was not honored during installation; +the bug had appeared in 0.6.6.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.8.5" date="13.07.2009"> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx разрешает подчёркивания в методе запроса. +</para> +<para lang="en"> +now nginx allows underscores in a request method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании HTTP Basic-аутентификации на Windows +для неверных имени/пароля возвращалась 500-ая ошибка. +</para> +<para lang="en"> +a 500 error code was returned for invalid login/password while HTTP +Basic authentication on Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответы модуля ngx_http_perl_module не работали в подзапросах. +</para> +<para lang="en"> +ngx_http_perl_module responses did not work in subrequests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_limit_req_module.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +in ngx_http_limit_req_module.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.8.4" date="22.06.2009"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-http-cache; +ошибка появилась в 0.8.3. +</para> +<para lang="en"> +nginx could not be built --without-http-cache; +the bug had appeared in 0.8.3. +</para> +</change> + +</changes> + + +<changes ver="0.8.3" date="19.06.2009"> + +<change type="feature"> +<para lang="ru"> +переменная $upstream_cache_status. +</para> +<para lang="en"> +the $upstream_cache_status variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на MacOSX 10.6. +</para> +<para lang="en"> +nginx could not be built on MacOSX 10.6. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-http-cache; +ошибка появилась в 0.8.2. +</para> +<para lang="en"> +nginx could not be built --without-http-cache; +the bug had appeared in 0.8.2. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если использовался перехват 401 ошибки от бэкенда и бэкенд +не возвращал строку "WWW-Authenticate" в заголовке ответа, +то в рабочем процессе происходил segmentation fault.<br/> +Спасибо Евгению Мычло. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if a backend 401 error was intercepted and the backend did not set +the "WWW-Authenticate" response header line.<br/> +Thanks to Eugene Mychlo. +</para> +</change> + +</changes> + + +<changes ver="0.8.2" date="15.06.2009"> + +<change type="bugfix"> +<para lang="ru"> +во взаимодействии open_file_cache и proxy/fastcgi кэша на старте. +</para> +<para lang="en"> +in open_file_cache and proxy/fastcgi cache interaction on start up. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +open_file_cache мог кэшировать открытые файлы очень долго; +ошибка появилась в 0.7.4. +</para> +<para lang="en"> +open_file_cache might cache open file descriptors too long; +the bug had appeared in 0.7.4. +</para> +</change> + +</changes> + + +<changes ver="0.8.1" date="08.06.2009"> + +<change type="feature"> +<para lang="ru"> +параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale. +</para> +<para lang="en"> +the "updating" parameter in "proxy_cache_use_stale" and +"fastcgi_cache_use_stale" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса +клиента передавались бэкенду при кэшировании, если не использовалась +директива proxy_set_header с любыми параметрами. +</para> +<para lang="en"> +the "If-Modified-Since", "If-Range", etc. client request header lines +were passed to backend while caching if no "proxy_set_header" directive +was used with any parameters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались +при кэшировании, если не использовались директивы +proxy_hide_header/fastcgi_hide_header с любыми параметрами. +</para> +<para lang="en"> +the "Set-Cookie" and "P3P" response header lines were not hidden while caching +if no "proxy_hide_header/fastcgi_hide_header" directives were used with +any parameters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/> +Спасибо Денису Ильиных. +</para> +<para lang="en"> +the ngx_http_image_filter_module did not support GIF87a format.<br/> +Thanks to Denis Ilyinyh. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Solaris 10 и более ранних; +ошибка появилась в 0.7.56. +</para> +<para lang="en"> +nginx could not be built modules on Solaris 10 and early; +the bug had appeared in 0.7.56. +</para> +</change> + +</changes> + + +<changes ver="0.8.0" date="02.06.2009"> + +<change type="feature"> +<para lang="ru"> +директива keepalive_requests. +</para> +<para lang="en"> +the "keepalive_requests" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива limit_rate_after.<br/> +Спасибо Ivan Debnar. +</para> +<para lang="en"> +the "limit_rate_after" directive.<br/> +Thanks to Ivan Debnar. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +XSLT-фильтр не работал в подзапросах. +</para> +<para lang="en"> +XLST filter did not work in subrequests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +обработке относительных путей в nginx/Windows. +</para> +<para lang="en"> +in relative paths handling in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows. +</para> +<para lang="en"> +in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке ошибок выделения памяти.<br/> +Спасибо Максиму Дунину и Кириллу Коринскому. +</para> +<para lang="en"> +in memory allocation error handling.<br/> +Thanks to Maxim Dounin and Kirill A. Korinskiy. +</para> +</change> + +</changes> + + +<changes ver="0.7.59" date="25.05.2009"> + +<change type="feature"> +<para lang="ru"> +директивы proxy_cache_methods и fastcgi_cache_methods. +</para> +<para lang="en"> +the "proxy_cache_methods" and "fastcgi_cache_methods" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов; +ошибка появилась в 0.7.25.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +socket leak; +the bug had appeared in 0.7.25.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменной $request_body +в рабочем процессе происходил segmentation fault, +если в запросе не было тела; +ошибка появилась в 0.7.58. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +<nobr>if a request</nobr> had no body and the $request_body +variable was used;<br/> +the bug had appeared in 0.7.58. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +SSL-модули могли не собираться на Solaris и Linux; +ошибка появилась в 0.7.56. +</para> +<para lang="en"> +the SSL modules might not built on Solaris and Linux;<br/> +the bug had appeared in 0.7.56. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответы модуля ngx_http_xslt_filter_module не обрабатывались +SSI-, charset- и gzip-фильтрами. +</para> +<para lang="en"> +ngx_http_xslt_filter_module responses were not handled by SSI, charset, +and gzip filters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива charset не ставила кодировку для ответов модуля +ngx_http_gzip_static_module. +</para> +<para lang="en"> +a "charset" directive did not set a charset to ngx_http_gzip_static_module +responses. +</para> +</change> + +</changes> + + +<changes ver="0.7.58" date="18.05.2009"> + +<change type="feature"> +<para lang="ru"> +директива listen почтового прокси-сервера поддерживает IPv6. +</para> +<para lang="en"> +a "listen" directive of the mail proxy module supports IPv6. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива image_filter_jpeg_quality. +</para> +<para lang="en"> +the "image_filter_jpeg_quality" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива client_body_in_single_buffer. +</para> +<para lang="en"> +the "client_body_in_single_buffer" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $request_body. +</para> +<para lang="en"> +the $request_body variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_autoindex_module в ссылках на имена файлов, +содержащих символ ":". +</para> +<para lang="en"> +in ngx_http_autoindex_module in file name links +having a ":" symbol in the name. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +процедура "make upgrade" не работала; +ошибка появилась в 0.7.53.<br/> +Спасибо Денису Латыпову. +</para> +<para lang="en"> +"make upgrade" procedure did not work; +the bug had appeared in 0.7.53.<br/> +Thanks to Denis F. Latypoff. +</para> +</change> + +</changes> + + +<changes ver="0.7.57" date="12.05.2009"> + +<change type="bugfix"> +<para lang="ru"> +при перенаправлении ошибок модуля ngx_http_image_filter_module +в именованный location в рабочем процессе происходил floating-point fault; +ошибка появилась в 0.7.56. +</para> +<para lang="en"> +a floating-point fault occurred in worker process, +if the ngx_http_image_filter_module errors were redirected to named location; +the bug had appeared in 0.7.56. +</para> +</change> + +</changes> + + +<changes ver="0.7.56" date="11.05.2009"> + +<change type="feature"> +<para lang="ru"> +nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP. +</para> +<para lang="en"> +nginx/Windows supports IPv6 in a "listen" directive of the HTTP module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_image_filter_module. +</para> +<para lang="en"> +in ngx_http_image_filter_module. +</para> +</change> + +</changes> + + +<changes ver="0.7.55" date="06.05.2009"> + +<change type="bugfix"> +<para lang="ru"> +параметры http_XXX в директивах proxy_cache_use_stale +и fastcgi_cache_use_stale не работали. +</para> +<para lang="en"> +the http_XXX parameters in "proxy_cache_use_stale" and +"fastcgi_cache_use_stale" directives did not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +fastcgi кэш не кэшировал ответы, состоящие только из заголовка. +</para> +<para lang="en"> +fastcgi cache did not cache header only responses. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix +и "select() failed (10038: ...)" в nginx/Windows. +</para> +<para lang="en"> +of "select() failed (9: Bad file descriptor)" error in nginx/Unix +and "select() failed (10038: ...)" error in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы debug_connection +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.7.54. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if an "debug_connection" directive was used; +the bug had appeared in 0.7.54. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в сборке модуля ngx_http_image_filter_module. +</para> +<para lang="en"> +fix ngx_http_image_filter_module building errors. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +файлы больше 2G не передавались с использованием $r->sendfile.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the files bigger than 2G could not be transferred using $r->sendfile.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.7.54" date="01.05.2009"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_image_filter_module. +</para> +<para lang="en"> +the ngx_http_image_filter_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_ignore_headers и fastcgi_ignore_headers. +</para> +<para lang="en"> +the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменных "open_file_cache_errors on" +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.7.53. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if an "open_file_cache_errors off" directive was used; +the bug had appeared in 0.7.53. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "port_in_redirect off" не работала; +ошибка появилась в 0.7.39. +</para> +<para lang="en"> +the "port_in_redirect off" directive did not work; +the bug had appeared in 0.7.39. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +улучшение обработки ошибок метода select. +</para> +<para lang="en"> +improve handling of "select" method errors. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки "select() failed (10022: ...)" в nginx/Windows. +</para> +<para lang="en"> +of "select() failed (10022: ...)" error in nginx/Windows. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в текстовых сообщениях об ошибках в nginx/Windows; +ошибка появилась в 0.7.53. +</para> +<para lang="en"> +in error text descriptions in nginx/Windows; +the bug had appeared in 0.7.53. +</para> +</change> + +</changes> + + +<changes ver="0.7.53" date="27.04.2009"> + +<change type="change"> +<para lang="ru"> +теперь лог, указанный в --error-log-path, создаётся с самого начала работы. +</para> +<para lang="en"> +now a log set by --error-log-path is created from the very start-up. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь ошибки и предупреждения при старте записываются в error_log +и выводятся на stderr. +</para> +<para lang="en"> +now the start up errors and warnings are outputted to an error_log and stderr. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +при сборке с пустым параметром --prefix= nginx использует как префикс каталог, +в котором он был запущен. +</para> +<para lang="en"> +the empty --prefix= configure parameter forces nginx to use a directory +where it was run as prefix. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ключ -p. +</para> +<para lang="en"> +the -p switch. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ключ -s на Unix-платформах. +</para> +<para lang="en"> +the -s switch on Unix platforms. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ключи -? и -h.<br/> +Спасибо Jerome Loyet. +</para> +<para lang="en"> +the -? and -h switches.<br/> +Thanks to Jerome Loyet. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь ключи можно задавать в сжатой форме. +</para> +<para lang="en"> +now switches may be set in condensed form. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx/Windows не работал, если файл конфигурации был задан ключом -c. +</para> +<para lang="en"> +nginx/Windows did not work if configuration file was given by the -c switch. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директив proxy_store, fastcgi_store, +proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +temporary files might be not removed if the "proxy_store", "fastcgi_store", +"proxy_cache", or "fastcgi_cache" were used.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в заголовке Auth-Method запроса серверу аутентификации почтового +прокси-сервера передавалось неверное значение; +ошибка появилась в 0.7.34.<br/> +Спасибо Simon Lecaille. +</para> +<para lang="en"> +an incorrect value was passed to mail proxy authentication server +in "Auth-Method" header line; +the bug had appeared<br/> +in 0.7.34.<br/> +Thanks to Simon Lecaille. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при логгировании на Linux не писались текстовые описания системных ошибок; +ошибка появилась в 0.7.45. +</para> +<para lang="en"> +system error text descriptions were not logged on Linux;<br/> +the bug had appeared in 0.7.45. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива fastcgi_cache_min_uses не работала.<br/> +Спасибо Андрею Воробьёву. +</para> +<para lang="en"> +the "fastcgi_cache_min_uses" directive did not work.<br/> +Thanks to Andrew Vorobyoff. +</para> +</change> + +</changes> + + +<changes ver="0.7.52" date="20.04.2009"> + +<change type="feature"> +<para lang="ru"> +первая бинарная версия под Windows. +</para> +<para lang="en"> +the first native Windows binary release. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +корректная обработка метода HEAD при кэшировании. +</para> +<para lang="en"> +in processing HEAD method while caching. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +корректная обработка строк "If-Modified-Since", "If-Range" и им подобных +в заголовке запроса клиента при кэшировании. +</para> +<para lang="en"> +in processing the "If-Modified-Since", "If-Range", etc. client request +header lines while caching. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа +для закэшированных ответов. +</para> +<para lang="en"> +now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если nginx был собран с модулем ngx_http_perl_module и perl +поддерживал потоки, то при выходе основного процесса +могла выдаваться ошибка "panic: MUTEX_LOCK". +</para> +<para lang="en"> +if nginx was built with the ngx_http_perl_module and with a perl which +supports threads, then during a master process exit +the message "panic: MUTEX_LOCK" might be issued. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-http-cache; +ошибка появилась в 0.7.48. +</para> +<para lang="en"> +nginx could not be built --without-http-cache; +the bug had appeared in 0.7.48. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; +ошибка появилась в 0.7.42. +</para> +<para lang="en"> +nginx could not be built on platforms different from i386, amd64, sparc, +and ppc; +the bug had appeared in 0.7.42. +</para> +</change> + +</changes> + + +<changes ver="0.7.51" date="12.04.2009"> + +<change type="feature"> +<para lang="ru"> +директива try_files поддерживает код ответа в последнем параметре. +</para> +<para lang="en"> +the "try_files" directive supports a response code in the fallback parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь в директиве return можно использовать любой код ответа. +</para> +<para lang="en"> +now any response code can be used in the "return" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива error_page делала внешний редирект без строки запроса; +ошибка появилась в 0.7.44. +</para> +<para lang="en"> +the "error_page" directive made an external redirect without query string; +the bug had appeared in 0.7.44. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если сервера слушали на нескольких явно описанных адресах, +то виртуальные сервера могли не работать; +ошибка появилась в 0.7.39. +</para> +<para lang="en"> +if servers listened on several defined explicitly addresses, +then virtual servers might not work; +the bug had appeared in 0.7.39. +</para> +</change> + +</changes> + + +<changes ver="0.7.50" date="06.04.2009"> + +<change type="bugfix"> +<para lang="ru"> +переменные $arg_... не работали; +ошибка появилась в 0.7.49. +</para> +<para lang="en"> +the $arg_... variables did not work; +the bug had appeared in 0.7.49. +</para> +</change> + +</changes> + + +<changes ver="0.7.49" date="06.04.2009"> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменных $arg_... +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.7.48. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if the $arg_... variables were used; +the bug had appeared in 0.7.48. +</para> +</change> + +</changes> + + +<changes ver="0.7.48" date="06.04.2009"> + +<change type="feature"> +<para lang="ru"> +директива proxy_cache_key. +</para> +<para lang="en"> +the "proxy_cache_key" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx учитывает при кэшировании строки "X-Accel-Expires", +"Expires" и "Cache-Control" в заголовке ответа бэкенда. +</para> +<para lang="en"> +now nginx takes into account the "X-Accel-Expires", "Expires", and +"Cache-Control" header lines in a backend response. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx кэширует только ответы на запросы GET. +</para> +<para lang="en"> +now nginx caches responses for the GET requests only. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива fastcgi_cache_key не наследовалась. +</para> +<para lang="en"> +the "fastcgi_cache_key" directive was not inherited. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменные $arg_... не работали с SSI-подзапросами.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the $arg_... variables did not work with SSI subrequests.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с библиотекой uclibc.<br/> +Спасибо Timothy Redaelli. +</para> +<para lang="en"> +nginx could not be built with uclibc library.<br/> +Thanks to Timothy Redaelli. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на OpenBSD; +ошибка появилась <nobr>в 0.7.46.</nobr> +</para> +<para lang="en"> +nginx could not be built on OpenBSD; +the bug had <nobr>appeared in 0.7.46.</nobr> +</para> +</change> + +</changes> + + +<changes ver="0.7.47" date="01.04.2009"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на FreeBSD 6 и более ранних версиях; +ошибка появилась в 0.7.46. +</para> +<para lang="en"> +nginx could not be built on FreeBSD 6 and early versions; +the bug had appeared in 0.7.46. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на MacOSX; +ошибка появилась в 0.7.46. +</para> +<para lang="en"> +nginx could not be built on MacOSX; +the bug had <nobr>appeared in 0.7.46.</nobr> +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если использовался параметр max_size, то cache manager мог удалить весь кэш; +ошибка появилась в 0.7.46. +</para> +<para lang="en"> +if the "max_size" parameter was set, then the cache manager might purge +a whole cache; +the bug had appeared in 0.7.46. +</para> +</change> + +<change type="change"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если директивы proxy_cache/fastcgi_cache +и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне; +ошибка появилась в 0.7.46. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if the "proxy_cache"/"fastcgi_cache" and +the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels; +the bug had appeared in 0.7.46. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault +при перенаправлении запроса проксированному или FastCGI-серверу +с помощью error_page или try_files; +ошибка появилась в 0.7.44. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if a request was redirected to a proxied or FastCGI server via +error_page or try_files; +the bug had appeared in 0.7.44. +</para> +</change> + +</changes> + + +<changes ver="0.7.46" date="30.03.2009"> + +<change type="bugfix"> +<para lang="ru"> +архив предыдущего релиза был неверным. +</para> +<para lang="en"> +the previous release tarball was incorrect. +</para> +</change> + +</changes> + + +<changes ver="0.7.45" date="30.03.2009"> + +<change type="change"> +<para lang="ru"> +теперь директивы proxy_cache и proxy_cache_valid можно задавать +на разных уровнях. +</para> +<para lang="en"> +now the "proxy_cache" and the "proxy_cache_valid" directives can be set on +different levels. +</para> +</change> + +<change type="change"> +<para lang="ru"> +параметр clean_time в директиве proxy_cache_path удалён. +</para> +<para lang="en"> +the "clean_time" parameter of the "proxy_cache_path" directive is canceled. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр max_size в директиве proxy_cache_path. +</para> +<para lang="en"> +the "max_size" parameter of the "proxy_cache_path" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +предварительная поддержка кэширования в модуле ngx_http_fastcgi_module. +</para> +<para lang="en"> +the ngx_http_fastcgi_module preliminary cache support. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь при ошибках выделения в разделяемой памяти в логе указываются +названия директивы и зоны. +</para> +<para lang="en"> +now on shared memory allocation errors directive and zone names are logged. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "add_header last-modified ''" не удаляла в заголовке ответа +строку "Last-Modified"; +ошибка появилась в 0.7.44. +</para> +<para lang="en"> +the directive "add_header last-modified ''" did not delete a "Last-Modified" +response header line; +the bug had appeared in 0.7.44. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве auth_basic_user_file не работал относительный путь, +заданный строкой без переменных; +ошибка появилась в 0.7.44.<br/> +Спасибо Jerome Loyet. +</para> +<para lang="en"> +a relative path in the "auth_basic_user_file" directive given without variables +did not work; +the bug had appeared in 0.7.44.<br/> +Thanks to Jerome Loyet. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве alias, заданной переменными +без ссылок на выделения в регулярных выражениях; +ошибка появилась в 0.7.42. +</para> +<para lang="en"> +in an "alias" directive given using variables +without references to captures of regular expressions; +the bug had appeared in 0.7.42. +</para> +</change> + +</changes> + + +<changes ver="0.7.44" date="23.03.2009"> + +<change type="feature"> +<para lang="ru"> +предварительная поддержка кэширования в модуле ngx_http_proxy_module. +</para> +<para lang="en"> +the ngx_http_proxy_module preliminary cache support. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр --with-pcre в configure. +</para> +<para lang="en"> +the --with-pcre option in the configure. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь директива try_files может быть использована на уровне server. +</para> +<para lang="en"> +the "try_files" directive is now allowed on the server block level. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива try_files неправильно обрабатывала строку запроса в последнем +параметре. +</para> +<para lang="en"> +the "try_files" directive handled incorrectly a query string +in a fallback parameter. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива try_files могла неверно тестировать каталоги. +</para> +<para lang="en"> +the "try_files" directive might test incorrectly directories. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если для пары адрес:порт описан только один сервер, то выделения +в регулярных выражениях в директиве server_name не работали. +</para> +<para lang="en"> +if there was a single server for given address:port pair, +then captures in regular expressions in a "server_name" directive did not work. +</para> +</change> + +</changes> + + +<changes ver="0.7.43" date="18.03.2009"> + +<change type="bugfix"> +<para lang="ru"> +запрос обрабатывался неверно, если директива root использовала переменные; +ошибка появилась в 0.7.42. +</para> +<para lang="en"> +a request was handled incorrectly, if a "root" directive used variables; +the bug had appeared in 0.7.42. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если сервер слушал на адресах типа "*", то значение переменной $server_addr +было "0.0.0.0"; +ошибка появилась в 0.7.36. +</para> +<para lang="en"> +if a server listened on wildcard address, then the $server_addr variable +value was "0.0.0.0"; +the bug had appeared in 0.7.36. +</para> +</change> + +</changes> + + +<changes ver="0.7.42" date="16.03.2009"> + +<change type="change"> +<para lang="ru"> +ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris, +теперь игнорируется. +</para> +<para lang="en"> +now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, +is ignored. +</para> +</change> + +<change type="change"> +<para lang="ru"> +при отсутствии файла, указанного в директиве auth_basic_user_file, +теперь возвращается ошибка 403 вместо 500. +</para> +<para lang="en"> +now if a file specified in a "auth_basic_user_file" directive is absent, +then the 403 error is returned instead of the 500 one. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива auth_basic_user_file поддерживает переменные. +<br/> +Спасибо Кириллу Коринскому. +</para> +<para lang="en"> +the "auth_basic_user_file" directive supports variables.<br/> +Thanks to Kirill A. Korinskiy. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива listen поддерживает параметр ipv6only.<br/> +Спасибо Zhang Hua. +</para> +<para lang="en"> +the "listen" directive supports the "ipv6only" parameter. +<br/> +Thanks to Zhang Hua. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве alias со ссылками на выделения в регулярных выражениях; +ошибка появилась в 0.7.40. +</para> +<para lang="en"> +in an "alias" directive with references to captures of regular expressions; +the bug had appeared in 0.7.40. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с Tru64 UNIX.<br/> +Спасибо Dustin Marquess. +</para> +<para lang="en"> +compatibility with Tru64 UNIX.<br/> +Thanks to Dustin Marquess. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался без библиотеки PCRE; +ошибка появилась в 0.7.41. +</para> +<para lang="en"> +nginx could not be built without PCRE library; +the bug had appeared in 0.7.41. +</para> +</change> + +</changes> + + +<changes ver="0.7.41" date="11.03.2009"> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если в server_name или location были выделения в регулярных выражениях; +ошибка появилась в 0.7.40.<br/> +Спасибо Владимиру Сопоту. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if a "server_name" or a "location" directives had captures +in regular expressions; +the issue had appeared in 0.7.40.<br/> +Thanks to Vladimir Sopot. +</para> +</change> + +</changes> + + +<changes ver="0.7.40" date="09.03.2009"> + +<change type="feature"> +<para lang="ru"> +директива location поддерживает выделения в регулярных выражениях. +</para> +<para lang="en"> +the "location" directive supports captures in regular expressions. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директиву alias с ссылками на выделения в регулярных выражениях +можно использовать внутри location'а, заданного регулярным выражением +с выделениями. +</para> +<para lang="en"> +an "alias" directive with capture references may be used inside +a location given by a regular expression with captures. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива server_name поддерживает выделения в регулярных выражениях. +</para> +<para lang="en"> +the "server_name" directive supports captures in regular expressions. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +модуль ngx_http_autoindex_module не показывал последний слэш для каталогов +на файловой системе XFS; +ошибка появилась в 0.7.15.<br/> +Спасибо Дмитрию Кузьменко. +</para> +<para lang="en"> +the ngx_http_autoindex_module did not show the trailing slash in directories +on XFS filesystem; +the issue had appeared in 0.7.15.<br/> +Thanks to Dmitry Kuzmenko. +</para> +</change> + +</changes> + + +<changes ver="0.7.39" date="02.03.2009"> + +<change type="bugfix"> +<para lang="ru"> +при включённом сжатии большие ответы с использованием SSI могли зависать; +ошибка появилась в 0.7.28.<br/> +Спасибо Артёму Бохану. +</para> +<para lang="en"> +large response with SSI might hang, if gzipping was enabled; +the bug had appeared in 0.7.28.<br/> +Thanks to Artem Bokhan. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании коротких статических вариантов в директиве try_files +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process, +if short static variants are used in a "try_files" directive. +</para> +</change> + +</changes> + + +<changes ver="0.7.38" date="23.02.2009"> + +<change type="feature"> +<para lang="ru"> +логгирование ошибок аутентификации. +</para> +<para lang="en"> +authentication failures logging. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного +числа пустых строк.<br/> +Спасибо Александру Загребину. +</para> +<para lang="en"> +name/password in auth_basic_user_file were ignored after odd number +of empty lines.<br/> +Thanks to Alexander Zagrebin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании длинного пути в unix domain сокете +в главном процессе происходил segmentation fault; +ошибка появилась в 0.7.36. +</para> +<para lang="en"> +a segmentation fault occurred in a master process, +if long path was used in unix domain socket; +the bug had appeared in 0.7.36. +</para> +</change> + +</changes> + + +<changes ver="0.7.37" date="21.02.2009"> + +<change type="bugfix"> +<para lang="ru"> +директивы, использующие upstream'ы, не работали; +ошибка появилась в 0.7.36. +</para> +<para lang="en"> +directives using upstreams did not work; +the bug had appeared in 0.7.36. +</para> +</change> + +</changes> + + +<changes ver="0.7.36" date="21.02.2009"> + +<change type="feature"> +<para lang="ru"> +предварительная поддержка IPv6; +директива listen модуля HTTP поддерживает IPv6. +</para> +<para lang="en"> +a preliminary IPv6 support; +the "listen" directive of the HTTP module supports IPv6. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $ancient_browser не работала для браузеров, заданных +директивами modern_browser. +</para> +<para lang="en"> +the $ancient_browser variable did not work for browsers +preset by a "modern_browser" directives. +</para> +</change> + +</changes> + + +<changes ver="0.7.35" date="16.02.2009"> + +<change type="bugfix"> +<para lang="ru"> +директива ssl_engine не использовала SSL-акселератор +для асимметричных шифров.<br/> +Спасибо Marcin Gozdalik. +</para> +<para lang="en"> +a "ssl_engine" directive did not use a SSL-accelerator +for asymmetric ciphers.<br/> +Thanks to Marcin Gozdalik. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива try_files выставляла MIME-type, исходя из расширения +первоначального запроса. +</para> +<para lang="en"> +a "try_files" directive set MIME type depending on an +original request extension. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директивах server_name, valid_referers и map +неправильно обрабатывались имена вида "*domain.tld", +если использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; +ошибка появилась в 0.7.9. +</para> +<para lang="en"> +"*domain.tld" names were handled incorrectly in +"server_name", "valid_referers", and "map" directives, +if ".domain.tld" and ".subdomain.domain.tld" wildcards were used; +<nobr>the bug had</nobr> appeared in 0.7.9. +</para> +</change> + +</changes> + + +<changes ver="0.7.34" date="10.02.2009"> + +<change type="feature"> +<para lang="ru"> +параметр off в директиве if_modified_since. +</para> +<para lang="en"> +the "off" parameter of the "if_modified_since" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now nginx sends an HELO/EHLO command after a XCLIENT command.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка Microsoft-специфичного режима +<nobr>"AUTH LOGIN with User Name"</nobr> +в почтовом прокси-сервере.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +Microsoft specific "AUTH LOGIN with User Name" mode support +in mail proxy server.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве rewrite, возвращающей редирект, старые аргументы присоединялись +к новым через символ "?" вместо "&";<br/> +ошибка появилась в 0.1.18.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +in a redirect rewrite directive original arguments were concatenated with +new arguments by a "?" rather than an "&";<br/> +the bug had appeared in 0.1.18.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на AIX. +</para> +<para lang="en"> +nginx could not be built on AIX. +</para> +</change> + +</changes> + + +<changes ver="0.7.33" date="02.02.2009"> + +<change type="bugfix"> +<para lang="ru"> +если на запрос с телом возвращался редирект, то ответ мог быть двойным +при использовании методов epoll или rtsig.<br/> +Спасибо Eden Li. +</para> +<para lang="en"> +a double response might be returned if the epoll or rtsig methods are used +and a redirect was returned to a request with body.<br/> +Thanks to Eden Li. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +для некоторых типов редиректов в переменной $sent_http_location +было пустое значение. +</para> +<para lang="en"> +the $sent_http_location variable was empty for some redirects types. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы resolver в SMTP прокси-сервере +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if "resolver" directive was used in SMTP proxy. +</para> +</change> + +</changes> + + +<changes ver="0.7.32" date="26.01.2009"> + +<change type="feature"> +<para lang="ru"> +теперь в директиве try_files можно явно указать проверку каталога. +</para> +<para lang="en"> +now a directory existence testing can be set explicitly +in the "try_files" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +fastcgi_store не всегда сохранял файлы. +</para> +<para lang="en"> +fastcgi_store stored files not always. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в гео-диапазонах. +</para> +<para lang="en"> +in geo ranges. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки выделения больших блоков в разделяемой памяти, +если nginx был собран без отладки.<br/> +Спасибо Андрею Квасову. +</para> +<para lang="en"> +in shared memory allocations if nginx was built without debugging.<br/> +Thanks to Andrey Kvasov. +</para> +</change> + +</changes> + + +<changes ver="0.7.31" date="19.01.2009"> + +<change type="change"> +<para lang="ru"> +теперь директива try_files проверяет только файлы, игнорируя каталоги. +</para> +<para lang="en"> +now the "try_files" directive tests files only and ignores directories. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива fastcgi_split_path_info. +</para> +<para lang="en"> +the "fastcgi_split_path_info" directive. +</para> +</change> + +<change> +<para lang="ru"> +Исправления в поддержке строки "Expect" в заголовке запроса. +</para> +<para lang="en"> +Bugfixes in an "Expect" request header line support. +</para> +</change> + +<change> +<para lang="ru"> +Исправления в гео-диапазонах. +</para> +<para lang="en"> +Bugfixes in geo ranges. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при отсутствии ответа ngx_http_memcached_module возвращал +в теле ответа строку "END" вместо 404-ой страницы по умолчанию; +ошибка появилась в 0.7.18.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +in a miss case ngx_http_memcached_module returned the "END" line +as response body instead of default 404 page body; +the bug had appeared in 0.7.18.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при проксировании SMTP nginx выдавал сообщение +<nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK"; +ошибка появилась в 0.7.22.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +while SMTP proxying nginx issued message +"250 2.0.0 OK" instead of "235 2.0.0 OK"; +the bug had appeared in 0.7.22.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + + +<changes ver="0.7.30" date="24.12.2008"> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе происходил segmentation fault, +если в директивах fastcgi_pass или proxy_pass +использовались переменные и имя хоста должно было резолвиться; +ошибка появилась в 0.7.29. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if variables were used in the "fastcgi_pass" or "proxy_pass" directives +and host name must be resolved; +the bug had appeared in 0.7.29. +</para> +</change> + +</changes> + + +<changes ver="0.7.29" date="24.12.2008"> + +<change type="bugfix"> +<para lang="ru"> +директивы fastcgi_pass и proxy_pass не поддерживали переменные +при использовании unix domain сокетов. +</para> +<para lang="en"> +the "fastcgi_pass" and "proxy_pass" directives did not support +variables if unix domain sockets were used. +</para> +</change> + +<change> +<para lang="ru"> +Исправления в обработке подзапросов; +ошибки появились в 0.7.25. +</para> +<para lang="en"> +Bugfixes in subrequest processing; +the bugs had appeared in 0.7.25. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a "100 Continue" response was issued for HTTP/1.0 requests;<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin. +</para> +<para lang="en"> +in memory allocation in the ngx_http_gzip_filter_module on Cygwin. +</para> +</change> + +</changes> + + +<changes ver="0.7.28" date="22.12.2008"> + +<change type="change"> +<para lang="ru"> +в выделении памяти в модуле ngx_http_gzip_filter_module. +</para> +<para lang="en"> +in memory allocation in the ngx_http_gzip_filter_module. +</para> +</change> + +<change type="change"> +<para lang="ru"> +значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k +на 32 4k или 16 8k. +</para> +<para lang="en"> +the default "gzip_buffers" directive values have been changed +to 32 4k or 16 8k from 4 4k/8k. +</para> +</change> + +</changes> + + +<changes ver="0.7.27" date="15.12.2008"> + +<change type="feature"> +<para lang="ru"> +директива try_files. +</para> +<para lang="en"> +the "try_files" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива fastcgi_pass поддерживает переменные. +</para> +<para lang="en"> +variables support in the "fastcgi_pass" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь директива geo может брать адрес из переменной.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +now the $geo variable may get an address from a variable.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь модификатор location'а можно указывать без пробела перед названием. +</para> +<para lang="en"> +now a location's modifier may be used without space before name. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $upstream_response_length. +</para> +<para lang="en"> +the $upstream_response_length variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь директива add_header не добавляет пустое значение. +</para> +<para lang="en"> +now a "add_header" directive does not add an empty value. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при запросе файла нулевой длины nginx закрывал соединение, ничего не передав; +ошибка появилась в 0.7.25. +</para> +<para lang="en"> +if zero length static file was requested, then nginx just closed connection; +the bug had appeared in 0.7.25. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +метод MOVE не мог перемещать файл в несуществующий каталог. +</para> +<para lang="en"> +a MOVE method could not move file in non-existent directory. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в сервере не был описан ни один именованный location, +но такой location использовался в директиве error_page, +то в рабочем процессе происходил segmentation fault.<br/> +Спасибо Сергею Боченкову. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if no one named location was defined in server, +but some one was used in an error_page directive.<br/> +Thanks to Sergey Bochenkov. +</para> +</change> + +</changes> + + +<changes ver="0.7.26" date="08.12.2008"> + +<change type="bugfix"> +<para lang="ru"> +в обработке подзапросов; +ошибка появилась в 0.7.25. +</para> +<para lang="en"> +in subrequest processing; +the bug had appeared in 0.7.25. +</para> +</change> + +</changes> + + +<changes ver="0.7.25" date="08.12.2008"> + +<change type="change"> +<para lang="ru"> +в обработке подзапросов. +</para> +<para lang="en"> +in subrequest processing. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса. +</para> +<para lang="en"> +now POSTs without "Content-Length" header line are allowed. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь директивы limit_req и limit_conn указывают причину запрета запроса. +</para> +<para lang="en"> +now the "limit_req" and "limit_conn" directives log a prohibition reason. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в параметре delete директивы geo. +</para> +<para lang="en"> +in the "delete" parameter of the "geo" directive. +</para> +</change> + +</changes> + + +<changes ver="0.7.24" date="01.12.2008"> + +<change type="feature"> +<para lang="ru"> +директива if_modified_since. +</para> +<para lang="en"> +the "if_modified_since" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не обрабатывал ответ FastCGI-сервера, +если перед ответом сервер передавал много сообщений в stderr. +</para> +<para lang="en"> +nginx did not process a FastCGI server response, +if the server send too many messages to stderr before response. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменные "$cookie_..." не работали в SSI and в перловом модуле. +</para> +<para lang="en"> +the "$cookie_..." variables did not work in the SSI and the perl module. +</para> +</change> + +</changes> + + +<changes ver="0.7.23" date="27.11.2008"> + +<change type="feature"> +<para lang="ru"> +параметры delete и ranges в директиве geo. +</para> +<para lang="en"> +the "delete" and "ranges" parameters in the "geo" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ускорение загрузки geo-базы с большим числом значений. +</para> +<para lang="en"> +speeding up loading of geo base with large number of values. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +уменьшение памяти, необходимой для загрузки geo-базы. +</para> +<para lang="en"> +decrease of memory required for geo base load. +</para> +</change> + +</changes> + + +<changes ver="0.7.22" date="20.11.2008"> + +<change type="feature"> +<para lang="ru"> +параметр none в директиве smtp_auth.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the "none" parameter in the "smtp_auth" directive.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные "$cookie_...". +</para> +<para lang="en"> +the "$cookie_..." variables. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива directio не работала с файловой системой XFS. +</para> +<para lang="en"> +the "directio" directive did not work in XFS filesystem. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +resolver не понимал большие DNS-ответы.<br/> +Спасибо Zyb. +</para> +<para lang="en"> +the resolver did not understand big DNS responses.<br/> +Thanks to Zyb. +</para> +</change> + +</changes> + + +<changes ver="0.7.21" date="11.11.2008"> + +<change> +<para lang="ru"> +Изменения в модуле ngx_http_limit_req_module. +</para> +<para lang="en"> +Changes in the ngx_http_limit_req_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка EXSLT в модуле ngx_http_xslt_module.<br/> +Спасибо Денису Латыпову. +</para> +<para lang="en"> +the EXSLT support in the ngx_http_xslt_module.<br/> +Thanks to Denis F. Latypoff. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +совместимость с glibc 2.3.<br/> +Спасибо Eric Benson и Максиму Дунину. +</para> +<para lang="en"> +compatibility with glibc 2.3.<br/> +Thanks to Eric Benson and Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не запускался на MacOSX 10.4 и более ранних; +ошибка появилась в 0.7.6. +</para> +<para lang="en"> +nginx could not run on MacOSX 10.4 and earlier; +the bug had appeared in 0.7.6. +</para> +</change> + +</changes> + + +<changes ver="0.7.20" date="10.11.2008"> + +<change> +<para lang="ru"> +Изменения в модуле ngx_http_gzip_filter_module. +</para> +<para lang="en"> +Changes in the ngx_http_gzip_filter_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_limit_req_module. +</para> +<para lang="en"> +the ngx_http_limit_req_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS; +ошибка появилась в 0.7.3.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +worker processes might exit on a SIGBUS signal on sparc and ppc platforms; +the bug had appeared in 0.7.3.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы вида "proxy_pass http://host/some:uri" не работали; +ошибка появилась в 0.7.12. +</para> +<para lang="en"> +the "proxy_pass http://host/some:uri" directives did not work; +the bug had appeared in 0.7.12. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry". +</para> +<para lang="en"> +in HTTPS mode requests might fail with the "bad write retry" error. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_secure_link_module не работал внутри location'ов +с именами меньше 3 символов. +</para> +<para lang="en"> +the ngx_http_secure_link_module did not work inside locations, +whose names are less than 3 characters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $server_addr могла не иметь значения. +</para> +<para lang="en"> +$server_addr variable might have no value. +</para> +</change> + +</changes> + + +<changes ver="0.7.19" date="13.10.2008"> + +<change type="bugfix"> +<para lang="ru"> +обновление номера версии. +</para> +<para lang="en"> +version number update. +</para> +</change> + +</changes> + + +<changes ver="0.7.18" date="13.10.2008"> + +<change type="change"> +<para lang="ru"> +директива underscores_in_headers; +теперь nginx по умолчанию не разрешает подчёркивания в именах строк +в заголовке запроса клиента. +</para> +<para lang="en"> +the "underscores_in_headers" directive; +now nginx does not allows underscores in a client request header line names. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_secure_link_module. +</para> +<para lang="en"> +the ngx_http_secure_link_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива real_ip_header поддерживает любой заголовок. +</para> +<para lang="en"> +the "real_ip_header" directive supports any header. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива log_subrequest. +</para> +<para lang="en"> +the "log_subrequest" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $realpath_root. +</para> +<para lang="en"> +the $realpath_root variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметры http_502 и http_504 в директиве proxy_next_upstream. +</para> +<para lang="en"> +the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream +не работал. +</para> +<para lang="en"> +the "http_503" parameter of the "proxy_next_upstream" or +"fastcgi_next_upstream" directives did not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов HEAD. +</para> +<para lang="en"> +nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь accept-лимит зависит от числа worker_connections. +</para> +<para lang="en"> +now accept threshold depends on worker_connections. +</para> +</change> + +</changes> + + +<changes ver="0.7.17" date="15.09.2008"> + +<change type="feature"> +<para lang="ru"> +директива directio теперь работает на Linux. +</para> +<para lang="en"> +now the "directio" directive works on Linux. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $pid. +</para> +<para lang="en"> +the $pid variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +оптимизация directio, появившаяся в 0.7.15, не работала при использовании +open_file_cache. +</para> +<para lang="en"> +the "directio" optimization that had appeared in 0.7.15 did not work with +open_file_cache. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +access_log с переменными не работал на Linux; +ошибка появилась в 0.7.7. +</para> +<para lang="en"> +the "access_log" with variables did not work on Linux; +the bug had appeared in 0.7.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_charset_module не понимал название кодировки в кавычках, +полученное от бэкенда. +</para> +<para lang="en"> +the ngx_http_charset_module did not understand quoted charset name +received from backend. +</para> +</change> + +</changes> + + +<changes ver="0.7.16" date="08.09.2008"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на 64-битных платформах; +ошибка появилась в 0.7.15. +</para> +<para lang="en"> +nginx could not be built on 64-bit platforms; +the bug had appeared in 0.7.15. +</para> +</change> + +</changes> + + +<changes ver="0.7.15" date="08.09.2008"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_random_index_module. +</para> +<para lang="en"> +the ngx_http_random_index_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива directio оптимизирована для запросов файлов, начинающихся +с произвольной позиции. +</para> +<para lang="en"> +the "directio" directive has been optimized for file requests starting +from arbitrary position. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива directio при необходимости запрещает использование sendfile. +</para> +<para lang="en"> +the "directio" directive turns off sendfile if it is necessary. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента. +</para> +<para lang="en"> +now nginx allows underscores in a client request header line names. +</para> +</change> + +</changes> + + +<changes ver="0.7.14" date="01.09.2008"> + +<change type="change"> +<para lang="ru"> +теперь директивы ssl_certificate и ssl_certificate_key не имеют +значений по умолчанию. +</para> +<para lang="en"> +now the ssl_certificate and ssl_certificate_key directives have no +default values. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива listen поддерживает параметр ssl. +</para> +<para lang="en"> +the "listen" directive supports the "ssl" parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь при переконфигурации nginx учитывает изменение временной зоны +на FreeBSD и Linux. +</para> +<para lang="en"> +now nginx takes into account a time zone change while reconfiguration +on FreeBSD and Linux. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметры директивы listen, такие как backlog, rcvbuf и прочие, +не устанавливались, если сервером по умолчанию был не первый сервер. +</para> +<para lang="en"> +the "listen" directive parameters such as "backlog", "rcvbuf", etc. +were not set, if a default server was not the first one. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании в качестве аргументов части URI, выделенного с помощью +директивы rewrite, эти аргументы не экранировались. +</para> +<para lang="en"> +if URI part captured by a "rewrite" directive was used as a query string, +then the query string was not escaped. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +улучшения тестирования правильности конфигурационного файла. +</para> +<para lang="en"> +configuration file validity test improvements. +</para> +</change> + + +</changes> + + +<changes ver="0.7.13" date="26.08.2008"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Linux и Solaris; +ошибка появилась в 0.7.12. +</para> +<para lang="en"> +nginx could not be built on Linux and Solaris; +the bug had appeared in 0.7.12. +</para> +</change> + +</changes> + + +<changes ver="0.7.12" date="26.08.2008"> + +<change type="feature"> +<para lang="ru"> +директива server_name поддерживает пустое имя "". +</para> +<para lang="en"> +the "server_name" directive supports empty name "". +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива gzip_disable поддерживает специальную маску msie6. +</para> +<para lang="en"> +the "gzip_disable" directive supports special "msie6" mask. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании параметра max_fails=0 в upstream'е с несколькими +серверами рабочий процесс выходил по сигналу SIGFPE.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +if the "max_fails=0" parameter was used in upstream with several servers, +then a worker process exited on a SIGFPE signal.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при перенаправлении запроса с помощью директивы error_page +терялось тело запроса. +</para> +<para lang="en"> +a request body was dropped while redirection via an "error_page" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при перенаправлении запроса с методом HEAD с помощью директивы error_page +возвращался полный ответ. +</para> +<para lang="en"> +a full response was returned for request method HEAD +while redirection via an "error_page" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +метод $r->header_in() не возвращал значения строк "Host", "User-Agent", +и "Connection" из заголовка запроса; +ошибка появилась в 0.7.0. +</para> +<para lang="en"> +the $r->header_in() method did not return value of the "Host", +"User-Agent", and "Connection" request header lines; +the bug had appeared in 0.7.0. +</para> +</change> + +</changes> + + +<changes ver="0.7.11" date="18.08.2008"> + +<change type="change"> +<para lang="ru"> +теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css. +</para> +<para lang="en"> +now ngx_http_charset_module does not work by default with text/css MIME type. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь nginx возвращает код 405 для метода POST при запросе статического +файла, только если файл существует. +</para> +<para lang="en"> +now nginx returns the 405 status code for POST method requesting a static file +only if the file exists. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива proxy_ssl_session_reuse. +</para> +<para lang="en"> +the "proxy_ssl_session_reuse" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +после перенаправления запроса с помощью "X-Accel-Redirect" +директива proxy_pass без URI могла использовать оригинальный запрос. +</para> +<para lang="en"> +a "proxy_pass" directive without URI part might use original request +after the "X-Accel-Redirect" redirection was used; +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если у каталога были права доступа только на поиск файлов +и первый индексный файл отсутствовал, то nginx возвращал ошибку 500. +</para> +<para lang="en"> +if a directory has search only rights and the first index file was absent, +then nginx returned the 500 status code. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибок во вложенных location'ах; +ошибки появились в 0.7.1. +</para> +<para lang="en"> +in inclusive locations; +the bugs had appeared in 0.7.1. +</para> +</change> + +</changes> + + +<changes ver="0.7.10" date="13.08.2008"> + +<change type="bugfix"> +<para lang="ru"> +ошибок в директивах addition_types, charset_types, +gzip_types, ssi_types, sub_filter_types и xslt_types; +ошибки появились в 0.7.9. +</para> +<para lang="en"> +in the "addition_types", "charset_types", +"gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives; +the bugs had appeared in 0.7.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +рекурсивной error_page для 500 ошибки. +</para> +<para lang="en"> +of recursive error_page for 500 status code. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь модуль ngx_http_realip_module устанавливает адрес не для +всего keepalive соединения, а для каждого запроса по этому соединению. +</para> +<para lang="en"> +now the ngx_http_realip_module sets address not for whole keepalive connection, +but for each request passed via the connection. +</para> +</change> + +</changes> + + +<changes ver="0.7.9" date="12.08.2008"> + +<change type="change"> +<para lang="ru"> +теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами: +text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, +application/x-javascript и application/rss+xml. +</para> +<para lang="en"> +now ngx_http_charset_module works by default with following MIME types: +text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, +application/x-javascript, and application/rss+xml. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы charset_types и addition_types. +</para> +<para lang="en"> +the "charset_types" and "addition_types" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш. +</para> +<para lang="en"> +now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_cpp_test_module. +</para> +<para lang="en"> +the ngx_cpp_test_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива expires поддерживает суточное время. +</para> +<para lang="en"> +the "expires" directive supports daily time. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +улучшения и исправления в модуле ngx_http_xslt_module.<br/> +Спасибо Денису Латыпову и Максиму Дунину. +</para> +<para lang="en"> +the ngx_http_xslt_module improvements and bug fixing.<br/> +Thanks to Denis F. Latypoff and Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива log_not_found не работала при поиске индексных файлов. +</para> +<para lang="en"> +the "log_not_found" directive did not work for index files tests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +HTTPS-соединения могли зависнуть, +если использовались методы kqueue, epoll, rtsig или eventport; +ошибка появилась в 0.7.7. +</para> +<para lang="en"> +HTTPS connections might hang, +if kqueue, epoll, rtsig, or eventport methods were used; +the bug had appeared in 0.7.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директивах server_name, valid_referers и map +использовалась маска вида "*.domain.tld" и при этом полное имя +вида "domain.tld" не было описано, то это имя попадало под маску; +ошибка появилась в 0.3.18. +</para> +<para lang="en"> +if the "server_name", "valid_referers", and "map" directives used +an "*.domain.tld" wildcard and exact name "domain.tld" was not set, +then the exact name was matched by the wildcard; +the bug had appeared in 0.3.18. +</para> +</change> + +</changes> + + +<changes ver="0.7.8" date="04.08.2008"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_xslt_module. +</para> +<para lang="en"> +the ngx_http_xslt_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные "$arg_...". +</para> +<para lang="en"> +the "$arg_..." variables. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка directio в Solaris.<br/> +Спасибо Ivan Debnar. +</para> +<para lang="en"> +Solaris directio support.<br/> +Thanks to Ivan Debnar. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа +без строки статуса, то nginx использует код статуса 302.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now if FastCGI server sends a "Location" header line without status line, +then nginx uses 302 status code.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.7.7" date="30.07.2008"> + +<change type="change"> +<para lang="ru"> +теперь ошибка EAGAIN при вызове connect() не считается временной. +</para> +<para lang="en"> +now the EAGAIN error returned by connect() is not considered as temporary error. +</para> +</change> + +<change type="change"> +<para lang="ru"> +значением переменной $ssl_client_cert теперь является сертификат, +перед каждой строкой которого, кроме первой, вставляется символ табуляции; +неизменённый сертификат доступен через переменную $ssl_client_raw_cert. +</para> +<para lang="en"> +now the $ssl_client_cert variable value is a certificate with TAB character +intended before each line except first one; +an unchanged certificate is available in the $ssl_client_raw_cert variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр ask директивы ssl_verify_client. +</para> +<para lang="en"> +the "ask" parameter in the "ssl_verify_client" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +улучшения в обработке byte-range.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +byte-range processing improvements.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива directio.<br/> +Спасибо Jiang Hong. +</para> +<para lang="en"> +the "directio" directive.<br/> +Thanks to Jiang Hong. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка sendfile() в MacOSX 10.5. +</para> +<para lang="en"> +MacOSX 10.5 sendfile() support. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в MacOSX и Cygwin при проверке location'ов теперь делается сравнение +без учёта регистра символов; +однако, сравнение ограничено только однобайтными locale'ями. +</para> +<para lang="en"> +now in MacOSX and Cygwin locations are tested in case insensitive mode; +however, the compare is provided by single-byte locales only. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +соединения почтового прокси-сервера зависали в режиме SSL, +если использовались методы select, poll или /dev/poll. +</para> +<para lang="en"> +mail proxy SSL connections hanged, +if select, poll, or /dev/poll methods were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module. +</para> +<para lang="en"> +UTF-8 encoding usage in the ngx_http_autoindex_module. +</para> +</change> + +</changes> + + +<changes ver="0.7.6" date="07.07.2008"> + +<change type="bugfix"> +<para lang="ru"> +теперь при использовании переменных в директиве access_log +всегда проверяется существовании root'а для запроса. +</para> +<para lang="en"> +now if variables are used in the "access_log" directive +a request root existence is always tested. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_flv_module не поддерживал несколько значений в +аргументах запроса. +</para> +<para lang="en"> +the ngx_http_flv_module did not support several values in a query string. +</para> +</change> + +</changes> + + +<changes ver="0.7.5" date="01.07.2008"> + +<change> +<para lang="ru"> +Исправления в поддержке переменных в директиве access_log; +ошибки появились в 0.7.4. +</para> +<para lang="en"> +Bugfixes in variables support in the "access_log" directive; +the bugs had appeared in 0.7.4. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-http_gzip_module; +ошибка появилась в 0.7.3.<br/> +Спасибо Кириллу Коринскому. +</para> +<para lang="en"> +nginx could not be built --without-http_gzip_module; +the bug had appeared in 0.7.3.<br/> +Thanks to Kirill A. Korinskiy. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при совместном использовании sub_filter и SSI +ответы могли передаваться неверно. +</para> +<para lang="en"> +if sub_filter and SSI were used together, then responses might +were transferred incorrectly. +</para> +</change> + +</changes> + + +<changes ver="0.7.4" date="30.06.2008"> + +<change type="feature"> +<para lang="ru"> +директива access_log поддерживает переменные. +</para> +<para lang="en"> +variables support in the "access_log" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива open_log_file_cache. +</para> +<para lang="en"> +the "open_log_file_cache" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ключ -g. +</para> +<para lang="en"> +the -g switch. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка строки "Expect" в заголовке запроса. +</para> +<para lang="en"> +the "Expect" request header line support. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +большие включения в SSI могли передавались не полностью. +</para> +<para lang="en"> +large SSI inclusions might be truncated. +</para> +</change> + +</changes> + + +<changes ver="0.7.3" date="23.06.2008"> + +<change type="change"> +<para lang="ru"> +MIME-тип для расширения rss изменён на "application/rss+xml". +</para> +<para lang="en"> +the "rss" extension MIME type has been changed to "application/rss+xml". +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь директива "gzip_vary on" выдаёт строку +<nobr>"Vary: Accept-Encoding"</nobr> +в заголовке ответа и для несжатых ответов. +</para> +<para lang="en"> +now the "gzip_vary" directive turned on issues +a <nobr>"Vary: Accept-Encoding"</nobr> +header line for uncompressed responses too. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь при использовании протокола "https://" в директиве rewrite +автоматически делается редирект. +</para> +<para lang="en"> +now the "rewrite" directive does a redirect automatically +if the "https://" protocol is used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_pass не работала с протоколом HTTPS; +ошибка появилась в 0.6.9. +</para> +<para lang="en"> +the "proxy_pass" directive did not work with the HTTPS protocol; +the bug had appeared in 0.6.9. +</para> +</change> + +</changes> + + +<changes ver="0.7.2" date="16.06.2008"> + +<change type="feature"> +<para lang="ru"> +теперь nginx поддерживает шифры с обменом EDH-ключами. +</para> +<para lang="en"> +now nginx supports EDH key exchange ciphers. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssl_dhparam. +</para> +<para lang="en"> +the "ssl_dhparam" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $ssl_client_cert.<br/> +Спасибо Manlio Perillo. +</para> +<para lang="en"> +the $ssl_client_cert variable.<br/> +Thanks to Manlio Perillo. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +после изменения URI с помощью директивы rewrite nginx не искал новый location; +ошибка появилась в 0.7.1.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +after changing URI via a "rewrite" directive nginx did not search +a new location; +the bug had appeared in 0.7.1.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался без библиотеки PCRE; +ошибка появилась в 0.7.1. +</para> +<para lang="en"> +nginx could not be built without PCRE library; +the bug had appeared in 0.7.1. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при редиректе запроса к каталогу с добавлением слэша nginx +не добавлял аргументы из оригинального запроса. +</para> +<para lang="en"> +when a request to a directory was redirected with the slash added, +nginx dropped a query string from the original request. +</para> +</change> + +</changes> + + +<changes ver="0.7.1" date="26.05.2008"> + +<change type="change"> +<para lang="ru"> +теперь поиск location'а делается с помощью дерева. +</para> +<para lang="en"> +now locations are searched in a tree. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директива optimize_server_names упразднена в связи с появлением +директивы server_name_in_redirect. +</para> +<para lang="en"> +the "optimize_server_names" directive was canceled +due to the "server_name_in_redirect" directive introduction. +</para> +</change> + +<change type="change"> +<para lang="ru"> +некоторые давно устаревшие директивы больше не поддерживаются. +</para> +<para lang="en"> +some long deprecated directives are not supported anymore. +</para> +</change> + +<change type="change"> +<para lang="ru"> +параметр "none" в директиве ssl_session_cache; +теперь этот параметр используется по умолчанию.<br/> +Спасибо Rob Mueller. +</para> +<para lang="en"> +the "none" parameter in the "ssl_session_cache" directive; +now this is default parameter.<br/> +Thanks to Rob Mueller. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +рабочие процессы могли не реагировать на сигналы переконфигурации +и ротации логов. +</para> +<para lang="en"> +worker processes might not catch reconfiguration and log rotation signals. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на последних Fedora 9 Linux.<br/> +Спасибо Roxis. +</para> +<para lang="en"> +nginx could not be built on latest Fedora 9 Linux.<br/> +Thanks to Roxis. +</para> +</change> + +</changes> + + +<changes ver="0.7.0" date="19.05.2008"> + +<change type="change"> +<para lang="ru"> +теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an +access_log.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь nginx разрешает несколько строк "Host" в заголовке запроса. +</para> +<para lang="en"> +now nginx allows several "Host" request header line. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива expires поддерживает флаг modified. +</para> +<para lang="en"> +the "modified" flag in the "expires" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $uid_got и $uid_set можно использовать на любой стадии обработки +запроса. +</para> +<para lang="en"> +the $uid_got and $uid_set variables may be used at any request processing stage. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $hostname.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +the $hostname variable.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка DESTDIR.<br/> +Спасибо Todd A. Fisher и Andras Voroskoi. +</para> +<para lang="en"> +DESTDIR support.<br/> +Thanks to Todd A. Fisher and Andras Voroskoi. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании keepalive на Linux +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process on Linux, +if keepalive was enabled. +</para> +</change> + +</changes> + + +<changes ver="0.6.31" date="12.05.2008"> + +<change type="bugfix"> +<para lang="ru"> +nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответа была +в конце записи FastCGI; +ошибка появилась в 0.6.2.<br/> +Спасибо Сергею Серову. +</para> +<para lang="en"> +nginx did not process FastCGI response +if header was at the end of FastCGI record; +the bug had appeared in 0.6.2.<br/> +Thanks to Sergey Serov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при удалении файла и использовании директивы open_file_cache_errors off +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process if a file was deleted +and the "open_file_cache_errors" directive was off. +</para> +</change> + +</changes> + + +<changes ver="0.6.30" date="29.04.2008"> + +<change type="change"> +<para lang="ru"> +теперь, если маске, заданной в директиве include, не соответствует +ни один файл, то nginx не выдаёт ошибку. +</para> +<para lang="en"> +now if an "include" directive pattern does not match any file, +then nginx does not issue an error. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь время в директивах можно задавать без пробела, например, "1h50m". +</para> +<para lang="en"> +now the time in directives may be specified without spaces, +for example, "1h50m". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечек памяти, если директива ssl_verify_client имела значение on.<br/> +Спасибо Chavelle Vincent. +</para> +<para lang="en"> +memory leaks if the "ssl_verify_client" directive was on.<br/> +Thanks to Chavelle Vincent. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива sub_filter могла вставлять заменяемый текст в вывод. +</para> +<para lang="en"> +the "sub_filter" directive might set text to change into output. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива error_page не воспринимала параметры в перенаправляемом URI. +</para> +<para lang="en"> +the "error_page" directive did not take into account arguments in +redirected URI. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме. +</para> +<para lang="en"> +now nginx always opens files in binary mode under Cygwin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался под OpenBSD; +ошибка появилась в 0.6.15. +</para> +<para lang="en"> +nginx could not be built on OpenBSD; +the bug had appeared in 0.6.15. +</para> +</change> + +</changes> + + +<changes ver="0.6.29" date="18.03.2008"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_google_perftools_module. +</para> +<para lang="en"> +the ngx_google_perftools_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_perl_module не собирался на 64-битных платформах; +ошибка появилась в 0.6.27. +</para> +<para lang="en"> +the ngx_http_perl_module could not be built on 64-bit platforms; +the bug had appeared in 0.6.27. +</para> +</change> + +</changes> + + +<changes ver="0.6.28" date="13.03.2008"> + +<change type="bugfix"> +<para lang="ru"> +метод rtsig не собирался; +ошибка появилась в 0.6.27. +</para> +<para lang="en"> +the rtsig method could not be built; +the bug had appeared in 0.6.27. +</para> +</change> + +</changes> + + +<changes ver="0.6.27" date="12.03.2008"> + +<change type="change"> +<para lang="ru"> +теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig. +</para> +<para lang="en"> +now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr> +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь при перенаправлении запроса в именованный location с помощью +директивы error_page метод запроса не изменяется. +</para> +<para lang="en"> +now a request method is not changed while redirection to a named location +via an "error_page" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы resolver и resolver_timeout в SMTP прокси-сервере. +</para> +<para lang="en"> +the "resolver" and "resolver_timeout" directives in SMTP proxy. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива post_action поддерживает именованные location'ы. +</para> +<para lang="en"> +the "post_action" directive supports named locations. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при перенаправлении запроса из location'а c обработчиком proxy, FastCGI +или memcached в именованный location со статическим обработчиком +в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if a request was redirected from proxy, FastCGI, or memcached location +to static named locations. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +браузеры не повторяли SSL handshake, если при первом handshake +не оказалось правильного клиентского сертификата. +<br/> +Спасибо Александру Инюхину. +</para> +<para lang="en"> +browsers did not repeat SSL handshake if there is no valid client certificate +in first handshake. +<br/> +Thanks to Alexander V. Inyukhin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при перенаправлении ошибок 495-497 с помощью директивы error_page +без изменения кода ошибки nginx пытался выделить очень много памяти. +</para> +<para lang="en"> +if response code 495-497 was redirected via an "error_page" directive +without code change, then nginx tried to allocate too many memory. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти в долгоживущих небуфферизированных соединениях. +</para> +<para lang="en"> +memory leak in long-lived non buffered connections. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки памяти в resolver'е. +</para> +<para lang="en"> +memory leak in resolver. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при перенаправлении запроса из location'а c обработчиком proxy +в другой location с обработчиком proxy +в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if a request was redirected from proxy, FastCGI, or memcached location +to static named locations. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/> +Спасибо Сергею Боченкову. +</para> +<para lang="en"> +in the $proxy_host and $proxy_port variables caching.<br/> +Thanks to Sergey Bochenkov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива proxy_pass с переменными использовала порт, описанной в другой +директиве proxy_pass без переменных, но с таким же именем хоста.<br/> +Спасибо Сергею Боченкову. +</para> +<para lang="en"> +a "proxy_pass" directive with variables used incorrectly the same port +as in another "proxy_pass" directive with the same host name +and without variables.<br/> +Thanks to Sergey Bochenkov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +во время переконфигурации на некоторых 64-битном платформах в лог +записывался alert "sendmsg() failed (9: Bad file descriptor)". +</para> +<para lang="en"> +an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms +while reconfiguration. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при повторном использовании в SSI пустого block'а в качестве заглушки +в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if empty stub block was used second time in SSI. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при копировании части URI, содержащего экранированные символы, +в аргументы. +</para> +<para lang="en"> +in copying URI part contained escaped symbols into arguments. +</para> +</change> + +</changes> + + +<changes ver="0.6.26" date="11.02.2008"> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_store и fastcgi_store не проверяли длину ответа. +</para> +<para lang="en"> +the "proxy_store" and "fastcgi_store" directives did not check +a response length. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании большого значения в директиве expires +в рабочем процессе происходил segmentation fault.<br/> +Спасибо Joaquin Cuenca Abela. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if big value was used in a "expires" directive.<br/> +Thanks to Joaquin Cuenca Abela. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/> +Спасибо Геннадию Махомеду. +</para> +<para lang="en"> +nginx incorrectly detected cache line size on Pentium 4.<br/> +Thanks to Gena Makhomed. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в проксированных подзапросах и подзапросах к FastCGI-серверу +вместо метода GET использовался оригинальный метод клиента. +</para> +<para lang="en"> +in proxied or FastCGI subrequests a client original method was used +instead of the GET method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> +Спасибо Ben Maurer. +</para> +<para lang="en"> +socket leak in HTTPS mode if deferred accept was used.<br/> +Thanks to Ben Maurer. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )"; +ошибка появилась в 0.6.23. +</para> +<para lang="en"> +nginx issued the bogus error message "SSL_shutdown() failed (SSL: )"; +the bug had appeared in 0.6.23. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; +ошибка появилась в 0.6.23. +</para> +<para lang="en"> +in HTTPS mode requests might fail with the "bad write retry" error; +the bug had appeared in 0.6.23. +</para> +</change> + +</changes> + + +<changes ver="0.6.25" date="08.01.2008"> + +<change type="change"> +<para lang="ru"> +вместо специального параметра "*" в директиве server_name теперь +используется директива server_name_in_redirect. +</para> +<para lang="en"> +now the "server_name_in_redirect" directive is used instead of +the "server_name" directive's special "*" parameter. +</para> +</change> + +<change type="change"> +<para lang="ru"> +в качестве основного имени в директиве server_name теперь +можно использовать имена с масками и регулярными выражениями. +</para> +<para lang="en"> +now wildcard and regex names can be used as main name in +a "server_name" directive. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директива satisfy_any заменена директивой satisfy. +</para> +<para lang="en"> +the "satisfy_any" directive was replaced by the "satisfy" directive. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +после переконфигурации старые рабочие процесс могли сильно нагружать процессор +при запуске под Linux OpenVZ. +</para> +<para lang="en"> +old worker processes might hog CPU after reconfiguration if they was run +under Linux OpenVZ. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива min_delete_depth. +</para> +<para lang="en"> +the "min_delete_depth" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +методы COPY и MOVE не работали с одиночными файлами. +</para> +<para lang="en"> +the COPY and MOVE methods did not work with single files. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_gzip_static_module не позволял работать модулю +ngx_http_dav_module; +ошибка появилась в 0.6.23. +</para> +<para lang="en"> +the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work; +the bug had appeared in 0.6.23. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> +Спасибо Ben Maurer. +</para> +<para lang="en"> +socket leak in HTTPS mode if deferred accept was used.<br/> +Thanks to Ben Maurer. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался без библиотеки PCRE; +ошибка появилась в 0.6.23. +</para> +<para lang="en"> +nginx could not be built without PCRE library; +the bug had appeared in 0.6.23. +</para> +</change> + +</changes> + +<changes ver="0.6.24" date="27.12.2007"> + +<change type="bugfix"> +<para lang="ru"> +при использовании HTTPS в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.6.23. +</para> +<para lang="en"> +a segmentation fault might occur in worker process if HTTPS was used; +the bug had appeared in 0.6.23. +</para> +</change> + +</changes> + + +<changes ver="0.6.23" date="27.12.2007"> + +<change type="change"> +<para lang="ru"> +параметр "off" в директиве ssl_session_cache; +теперь этот параметр используется по умолчанию. +</para> +<para lang="en"> +the "off" parameter in the "ssl_session_cache" directive; +now this is default parameter. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директива open_file_cache_retest переименована в open_file_cache_valid. +</para> +<para lang="en"> +the "open_file_cache_retest" directive was renamed +to the "open_file_cache_valid". +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива open_file_cache_min_uses. +</para> +<para lang="en"> +the "open_file_cache_min_uses" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_gzip_static_module. +</para> +<para lang="en"> +the ngx_http_gzip_static_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива gzip_disable. +</para> +<para lang="en"> +the "gzip_disable" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директиву memcached_pass можно использовать внутри блока if. +</para> +<para lang="en"> +the "memcached_pass" directive may be used inside the "if" block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если внутри одного location'а использовались директивы "memcached_pass" и "if", +то в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if the "memcached_pass" and "if" directives were used in the same location. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если при использовании директивы satisfy_any on" были заданы директивы +не всех модулей доступа, то заданные директивы не проверялись. +</para> +<para lang="en"> +if a "satisfy_any on" directive was used and not all access and auth modules +directives were set, then other given access and auth directives +were not tested; +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметры, заданные регулярным выражением в директиве valid_referers, +не наследовалась с предыдущего уровня. +</para> +<para lang="en"> +regex parameters in a "valid_referers" directive were not inherited +from previous level. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива post_action не работала, если запрос завершался с кодом 499. +</para> +<para lang="en"> +a "post_action" directive did run if a request was completed +with 499 status code. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +оптимизация использования 16K буфера для SSL-соединения.<br/> +Спасибо Ben Maurer. +</para> +<para lang="en"> +optimization of 16K buffer usage in a SSL connection.<br/> +Thanks to Ben Maurer. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +STARTTLS в режиме SMTP не работал.<br/> +Спасибо Олегу Мотиенко. +</para> +<para lang="en"> +the STARTTLS in SMTP mode did not work.<br/> +Thanks to Oleg Motienko. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; +ошибка появилась в 0.5.13. +</para> +<para lang="en"> +in HTTPS mode requests might fail with the "bad write retry" error; +the bug had appeared in 0.5.13. +</para> +</change> + +</changes> + + +<changes ver="0.6.22" date="19.12.2007"> + +<change type="change"> +<para lang="ru"> +теперь все методы модуля ngx_http_perl_module +возвращают значения, скопированные в память, выделенную perl'ом. +</para> +<para lang="en"> +now all ngx_http_perl_module methods return values copied to perl's +allocated memory. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если nginx был собран с модулем ngx_http_perl_module, +использовался perl до версии 5.8.6 и perl поддерживал потоки, +то во время переконфигурации основной процесс аварийно выходил; +ошибка появилась в 0.5.9.<br/> +Спасибо Борису Жмурову. +</para> +<para lang="en"> +if nginx was built with ngx_http_perl_module, +the perl before 5.8.6 was used, and perl supported threads, +then during reconfiguration the master process aborted; +the bug had appeared in 0.5.9.<br/> +Thanks to Boris Zhmurov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в методы модуля ngx_http_perl_module +могли передаваться неверные результаты выделения в регулярных выражениях. +</para> +<para lang="en"> +the ngx_http_perl_module methods may get invalid values of the regex captures. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если метод $r->has_request_body() вызывался для запроса, +у которого небольшое тело запроса было уже полностью получено, +то в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process, +if the $r->has_request_body() method was called for a request +whose small request body was already received. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +large_client_header_buffers не освобождались перед переходом в состояние +keep-alive.<br/> +Спасибо Олександру Штепе. +</para> +<para lang="en"> +large_client_header_buffers did not freed before going to keep-alive state.<br/> +Thanks to Olexander Shtepa. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в переменной $upstream_addr не записывался последний адрес; +ошибка появилась в 0.6.18. +</para> +<para lang="en"> +the last address was missed in the $upstream_addr variable; +the bug had appeared in 0.6.18. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива fastcgi_catch_stderr не возвращала ошибку; +теперь она возвращает ошибку 502, которую можно направить на следующий сервер +с помощью "fastcgi_next_upstream invalid_header". +</para> +<para lang="en"> +the "fastcgi_catch_stderr" directive did return error code; +now it returns 502 code, that can be rerouted to a next server using +the "fastcgi_next_upstream invalid_header" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы fastcgi_catch_stderr +в основном процессе происходил segmentation fault; +ошибка появилась в 0.6.10.<br/> +Спасибо Manlio Perillo. +</para> +<para lang="en"> +a segmentation fault occurred in master process +if the "fastcgi_catch_stderr" directive was used; +the bug had appeared in 0.6.10.<br/> +Thanks to Manlio Perillo. +</para> +</change> + +</changes> + + +<changes ver="0.6.21" date="03.12.2007"> + +<change type="change"> +<para lang="ru"> +если в значениях переменных директивы proxy_pass используются +только IP-адреса, то указывать resolver не нужно. +</para> +<para lang="en"> +if variable values used in a "proxy_pass" directive contain IP-addresses only, +then a "resolver" directive is not mandatory. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы proxy_pass c URI-частью +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.6.19. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if a "proxy_pass" directive with URI-part was used; +the bug had appeared in 0.6.19. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если resolver использовался на платформах, не поддерживающих метод kqueue, +то nginx выдавал alert "name is out of response".<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +if resolver was used on platform that does not support kqueue, +then nginx issued an alert "name is out of response".<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +При использовании переменной $server_protocol в FastCGI-параметрах +и запросе, длина которого была близка к значению директивы +client_header_buffer_size, +nginx выдавал alert "fastcgi: the request record is too big". +</para> +<para lang="en"> +if the $server_protocol was used in FastCGI parameters +and a request line length was near to the "client_header_buffer_size" +directive value, +then nginx issued an alert "fastcgi: the request record is too big". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал +обычный ответ. +</para> +<para lang="en"> +if a plain text HTTP/0.9 version request was made to HTTPS server, +then nginx returned usual response. +</para> +</change> + +</changes> + + +<changes ver="0.6.20" date="28.11.2007"> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы proxy_pass c URI-частью +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.6.19. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if a "proxy_pass" directive with URI-part was used; +the bug had appeared in 0.6.19. +</para> +</change> + +</changes> + + +<changes ver="0.6.19" date="27.11.2007"> + +<change type="bugfix"> +<para lang="ru"> +версия 0.6.18 не собиралась. +</para> +<para lang="en"> +the 0.6.18 version could not be built. +</para> +</change> + +</changes> + +<changes ver="0.6.18" date="27.11.2007"> + +<change type="change"> +<para lang="ru"> +теперь модуль ngx_http_userid_module в поле куки с номером процесса +добавляет микросекунды на время старта. +</para> +<para lang="en"> +now the ngx_http_userid_module adds start time microseconds +to the cookie field contains a pid value. +</para> +</change> + +<change type="change"> +<para lang="ru"> +в error_log теперь записывается полная строка запроса вместо только URI. +</para> +<para lang="en"> +now the full request line instead of URI only is written to error_log. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива proxy_pass поддерживает переменные. +</para> +<para lang="en"> +variables support in the "proxy_pass" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы resolver и resolver_timeout. +</para> +<para lang="en"> +the "resolver" and "resolver_timeout" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь директива "add_header last-modified ''" удаляет в заголовке ответа +строку "Last-Modified". +</para> +<para lang="en"> +now the directive "add_header last-modified ''" deletes a "Last-Modified" +response header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива limit_rate не позволяла передавать на полной скорости, +даже если был указан очень большой лимит. +</para> +<para lang="en"> +the "limit_rate" directive did not allow to use full throughput, +even if limit value was very high. +</para> +</change> + +</changes> + + +<changes ver="0.6.17" date="15.11.2007"> + +<change type="feature"> +<para lang="ru"> +поддержка строки "If-Range" в заголовке запроса.<br/> +Спасибо Александру Инюхину. +</para> +<para lang="en"> +the "If-Range" request header line support.<br/> +Thanks to Alexander V. Inyukhin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы msie_refresh повторно экранировались +уже экранированные символы; +ошибка появилась в 0.6.4. +</para> +<para lang="en"> +URL double escaping in a redirect of the "msie_refresh" directive; +the bug had appeared in 0.6.4. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива autoindex не работала при использовании "alias /". +</para> +<para lang="en"> +the "autoindex" directive did not work with the "alias /" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании подзапросов +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process if subrequests were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании SSL и gzip большие ответы могли передаваться не полностью. +</para> +<para lang="en"> +the big responses may be transferred truncated if SSL and gzip were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если ответ проксированного сервера был версии HTTP/0.9, +то переменная $status была равна 0. +</para> +<para lang="en"> +the $status variable was equal to 0 if a proxied server returned response +in HTTP/0.9 version. +</para> +</change> + +</changes> + + +<changes ver="0.6.16" date="29.10.2007"> + +<change type="change"> +<para lang="ru"> +теперь на Linux используется uname(2) вместо procfs.<br/> +Спасибо Илье Новикову. +</para> +<para lang="en"> +now the uname(2) is used on Linux instead of procfs.<br/> +Thanks to Ilya Novikov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директиве error_page использовался символ "?", то он экранировался +при проксировании запроса; +ошибка появилась в 0.6.11. +</para> +<para lang="en"> +if the "?" character was in a "error_page" directive, then it was escaped +in a proxied request; +the bug had appeared in 0.6.11. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с mget. +</para> +<para lang="en"> +compatibility with mget. +</para> +</change> + +</changes> + + +<changes ver="0.6.15" date="22.10.2007"> + +<change type="feature"> +<para lang="ru"> +совместимость с Cygwin.<br/> +Спасибо Владимиру Кутакову. +</para> +<para lang="en"> +Cygwin compatibility.<br/> +Thanks to Vladimir Kutakov. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива merge_slashes. +</para> +<para lang="en"> +the "merge_slashes" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива gzip_vary. +</para> +<para lang="en"> +the "gzip_vary" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива server_tokens. +</para> +<para lang="en"> +the "server_tokens" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не раскодировал URI в команде SSI include. +</para> +<para lang="en"> +nginx did not unescape URI in the "include" SSI command. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменной в директивах charset или source_charset +на старте или во время переконфигурации происходил segmentation fault, +</para> +<para lang="en"> +the segmentation fault was occurred on start or while reconfiguration +if variable was used in the "charset" or "source_charset" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx возвращал ошибку 400 на запросы вида +<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> +Спасибо James Oakley. +</para> +<para lang="en"> +nginx returned the 400 response on requests like +<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> +Thanks to James Oakley. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +после перенаправления запроса с телом запроса с помощью директивы +error_page nginx пытался снова прочитать тело запроса; +ошибка появилась в 0.6.7. +</para> +<para lang="en"> +if request with request body was redirected using the "error_page" directive, +then nginx tried to read the request body again; +the bug had appeared in 0.6.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе происходил segmentation fault, если у сервера, +обрабатывающему запрос, не был явно определён server_name; +ошибка появилась в 0.6.7. +</para> +<para lang="en"> +a segmentation fault occurred in worker process +if no server_name was explicitly defined for server processing request; +the bug had appeared in 0.6.7. +</para> +</change> + +</changes> + + +<changes ver="0.6.14" date="15.10.2007"> + +<change type="change"> +<para lang="ru"> +теперь по умолчанию команда SSI echo использует кодирование entity. +</para> +<para lang="en"> +now by default the "echo" SSI command uses entity encoding. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр encoding в команде SSI echo. +</para> +<para lang="en"> +the "encoding" parameter in the "echo" SSI command. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директиву access_log можно использовать внутри блока limit_except. +</para> +<para lang="en"> +the "access_log" directive may be used inside the "limit_except" block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если все сервера апстрима оказывались недоступными, +то до восстановления работоспособности +у всех серверов вес становился равным одному; +ошибка появилась в 0.6.6. +</para> +<para lang="en"> +if all upstream servers were failed, then all servers had got weight +the was equal one until servers became alive; +the bug had appeared in 0.6.6. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменных $date_local и $date_gmt вне модуля +ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process +if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании включённом отладочном логе +в рабочем процессе мог произойти segmentation fault.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if debug log was enabled.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ngx_http_memcached_module не устанавливал $upstream_response_time.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +ngx_http_memcached_module did not set $upstream_response_time.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +рабочий процесс мог зациклиться при использовании memcached. +</para> +<para lang="en"> +a worker process may got caught in an endless loop, if the memcached was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx распознавал параметры "close" и "keep-alive" в строке "Connection" +в заголовке запроса только, если они были в нижнем регистре; +ошибка появилась в 0.6.11. +</para> +<para lang="en"> +nginx supported low case only "close" and "keep-alive" values +in the "Connection" request header line; +the bug had appeared in 0.6.11. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +sub_filter не работал с пустой строкой замены. +</para> +<para lang="en"> +sub_filter did not work with empty substitution. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в парсинге sub_filter. +</para> +<para lang="en"> +in sub_filter parsing. +</para> +</change> + +</changes> + + +<changes ver="0.6.13" date="24.09.2007"> + +<change type="bugfix"> +<para lang="ru"> +nginx не закрывал файл каталога для запроса HEAD, +если использовался autoindex<br/> +Спасибо Arkadiusz Patyk. +</para> +<para lang="en"> +nginx did not close directory file on HEAD request if autoindex was used.<br/> +Thanks to Arkadiusz Patyk. +</para> +</change> + +</changes> + + +<changes ver="0.6.12" date="21.09.2007"> + +<change type="change"> +<para lang="ru"> +почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp. +</para> +<para lang="en"> +mail proxy was split on three modules: pop3, imap and smtp. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметры конфигурации --without-mail_pop3_module, +--without-mail_imap_module и --without-mail_smtp_module. +</para> +<para lang="en"> +the --without-mail_pop3_module, --without-mail_imap_module, +and --without-mail_smtp_module configuration parameters. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module. +</para> +<para lang="en"> +the "smtp_greeting_delay" and "smtp_client_buffer" directives +of the ngx_mail_smtp_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +wildcard в конце имени сервера не работали; +ошибка появилась в 0.6.9. +</para> +<para lang="en"> +the trailing wildcards did not work; +the bug had appeared in 0.6.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании разделяемой библиотеки PCRE, +расположенной в нестандартном месте, nginx не запускался на Solaris. +</para> +<para lang="en"> +nginx could not start on Solaris if the shared PCRE library located +in non-standard place was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_hide_header и fastcgi_hide_header не скрывали +строки заголовка ответа с именем больше 32 символов.<br/> +Спасибо Manlio Perillo. +</para> +<para lang="en"> +the "proxy_hide_header" and "fastcgi_hide_header" directives did not +hide response header lines whose name was longer than 32 characters.<br/> +Thanks to Manlio Perillo. +</para> +</change> + +</changes> + + +<changes ver="0.6.11" date="11.09.2007"> + +<change type="bugfix"> +<para lang="ru"> +счётчик активных соединений всегда рос при использовании почтового +прокси-сервера. +</para> +<para lang="en"> +active connection counter always increased if mail proxy was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если бэкенд возвращал только заголовок ответа при небуферизированном +проксировании, то nginx закрывал соединение с бэкендом по таймауту. +</para> +<para lang="en"> +if backend returned response header only using non-buffered proxy, +then nginx closed backend connection on timeout. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не поддерживал несколько строк "Connection" в заголовке запроса. +</para> +<para lang="en"> +nginx did not support several "Connection" request header lines. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в сервере апстрима был задан max_fails, то после первой же неудачной +попытки вес сервера навсегда становился равным одному; +ошибка появилась в 0.6.6. +</para> +<para lang="en"> +if the "max_fails" was set for upstream server, then after first +failure server weight was always one; +the bug had appeared in 0.6.6. +</para> +</change> + +</changes> + + +<changes ver="0.6.10" date="03.09.2007"> + +<change type="feature"> +<para lang="ru"> +директивы open_file_cache, open_file_cache_retest и open_file_cache_errors. +</para> +<para lang="en"> +the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors" +directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +утечки сокетов; +ошибка появилась в 0.6.7. +</para> +<para lang="en"> +socket leak; +the bug had appeared in 0.6.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +В строку заголовка ответа "Content-Type", указанную в методе +$r->send_http_header(), не добавлялась кодировка, указанная в директиве charset. +</para> +<para lang="en"> +a charset set by the "charset" directive was not appended +to the "Content-Type" header set by $r->send_http_header(). +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании метода /dev/poll +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if /dev/poll method was used. +</para> +</change> + +</changes> + + +<changes ver="0.6.9" date="28.08.2007"> + +<change type="bugfix"> +<para lang="ru"> +рабочий процесс мог зациклиться при использовании протокола HTTPS; +ошибка появилась в 0.6.7. +</para> +<para lang="en"> +a worker process may got caught in an endless loop, +if the HTTPS protocol was used; +the bug had appeared in 0.6.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если сервер слушал на двух адресах или портах, то nginx не запускался +при использовании wildcard в конце имени сервера. +</para> +<para lang="en"> +if server listened on two addresses or ports and trailing wildcard was used, +then nginx did not run. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива ip_hash могла неверно помечать сервера как нерабочие. +</para> +<para lang="en"> +the "ip_hash" directive might incorrectly mark servers as down. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на amd64; +ошибка появилась в 0.6.8. +</para> +<para lang="en"> +nginx could not be built on amd64; +the bug had appeared in 0.6.8. +</para> +</change> + +</changes> + + +<changes ver="0.6.8" date="20.08.2007"> + +<change type="change"> +<para lang="ru"> +теперь nginx пытается установить директивы worker_priority, +worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending +без привилегий root'а. +</para> +<para lang="en"> +now nginx tries to set the "worker_priority", "worker_rlimit_nofile", +"worker_rlimit_core", and "worker_rlimit_sigpending" without super-user +privileges. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь nginx экранирует символы пробела и "%" при передаче запроса +серверу аутентификации почтового прокси-сервера. +</para> +<para lang="en"> +now nginx escapes space and "%" in request to a mail proxy authentication +server. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь nginx экранирует символ "%" в переменной $memcached_key. +</para> +<para lang="en"> +now nginx escapes "%" in $memcached_key variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при указании относительного пути к конфигурационному файлу в качестве +параметра ключа -c nginx определял путь относительно конфигурационного префикса; +ошибка появилась в 0.6.6. +</para> +<para lang="en"> +nginx used path relative to configuration prefix for non-absolute +configuration file path specified in the "-c" key; +the bug had appeared in 0.6.6. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не работал на FreeBSD/sparc64. +</para> +<para lang="en"> +nginx did not work on FreeBSD/sparc64. +</para> +</change> + +</changes> + + +<changes ver="0.6.7" date="15.08.2007"> + +<change type="change"> +<para lang="ru"> +теперь пути, указанные в директивах include, auth_basic_user_file, +perl_modules, ssl_certificate, ssl_certificate_key и +ssl_client_certificate, определяются относительно каталога конфигурационного +файла nginx.conf, а не относительно префикса. +</para> +<para lang="en"> +now the paths specified in the "include", "auth_basic_user_file", +"perl_modules", "ssl_certificate", "ssl_certificate_key", and +"ssl_client_certificate" directives are relative to directory of +nginx configuration file nginx.conf, but not to nginx prefix directory. +</para> +</change> + +<change type="change"> +<para lang="ru"> +параметр --sysconfdir=PATH в configure упразднён. +</para> +<para lang="en"> +the --sysconfdir=PATH option in configure was canceled. +</para> +</change> + +<change type="change"> +<para lang="ru"> +для обновления на лету версий 0.1.x создан специальный сценарий +<nobr>make upgrade1.</nobr> +</para> +<para lang="en"> +the special make target "upgrade1" was defined for online upgrade of +0.1.x versions. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы server_name и valid_referers поддерживают регулярные выражения. +</para> +<para lang="en"> +the "server_name" and "valid_referers" directives support regular expressions. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива server в блоке upstream поддерживает параметр backup. +</para> +<para lang="en"> +the "server" directive in the "upstream" context supports +the "backup" parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает метод $r->discard_request_body. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->discard_request_body. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива "add_header Last-Modified ..." меняет строку "Last-Modified" +в заголовке ответа. +</para> +<para lang="en"> +the "add_header Last-Modified ..." directive changes the "Last-Modified" +response header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если на запрос с телом возвращался ответ с кодом HTTP отличным от 200, +и после этого запроса соединение переходило в состояние keep-alive, +то на следующий запрос nginx возвращал 400. +</para> +<para lang="en"> +if a response different than 200 was returned to a request with body +and connection went to the keep-alive state after the request, then +nginx returned 400 for the next request. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директиве auth_http был задан неправильный адрес, то +в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process +if invalid address was set in the "auth_http" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь по умолчанию nginx использует значение 511 для listen backlog +на всех платформах, кроме FreeBSD.<br/> +Спасибо Jiang Hong. +</para> +<para lang="en"> +now nginx uses default listen backlog value 511 on all platforms +except FreeBSD.<br/> +Thanks to Jiang Hong. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +рабочий процесс мог зациклиться, если server в блоке upstream был помечен +как down; +ошибка появилась в 0.6.6. +</para> +<para lang="en"> +a worker process may got caught in an endless loop, if a "server" inside +"upstream" block was marked as "down"; +the bug had appeared in 0.6.6. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +sendfilev() в Solaris теперь не используется при передаче тела запроса +FastCGI-серверу через unix domain сокет. +</para> +<para lang="en"> +now Solaris sendfilev() is not used to transfer the client request body +to FastCGI-server via the unix domain socket. +</para> +</change> + +</changes> + + +<changes ver="0.6.6" date="30.07.2007"> + +<change type="feature"> +<para lang="ru"> +параметр --sysconfdir=PATH в configure. +</para> +<para lang="en"> +the --sysconfdir=PATH option in configure. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +именованные location'ы. +</para> +<para lang="en"> +named locations. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменную $args можно устанавливать с помощью set. +</para> +<para lang="en"> +the $args variable can be set with the "set" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $is_args. +</para> +<para lang="en"> +the $is_args variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +равномерное распределение запросов к апстримам с большими весами. +</para> +<para lang="en"> +fair big weight upstream balancer. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если клиент в почтовом прокси-сервере закрывал соединение, +то nginx мог не закрывать соединение с бэкендом. +</para> +<para lang="en"> +if a client has closed connection to mail proxy + then nginx might not close connection to backend. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS +без явного указания портов, nginx использовал только один порт—80 или 443. +</para> +<para lang="en"> +if the same host without specified port was used as backend for HTTP and HTTPS, +then nginx used only one port—80 or 443. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями; +ошибка появилась в 0.6.4. +</para> +<para lang="en"> +fix building on Solaris/amd64 by Sun Studio 11 and early versions; +the bug had appeared in 0.6.4. +</para> +</change> + +</changes> + + +<changes ver="0.6.5" date="23.07.2007"> + +<change type="feature"> +<para lang="ru"> +переменная $nginx_version.<br/> +Спасибо Николаю Гречуху. +</para> +<para lang="en"> +$nginx_version variable.<br/> +Thanks to Nick S. Grechukh. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the mail proxy supports AUTHENTICATE in IMAP mode.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +the mail proxy supports STARTTLS in SMTP mode.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx экранирует пробел в переменной $memcached_key. +</para> +<para lang="en"> +now nginx escapes space in $memcached_key variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx неправильно собирался Sun Studio на Solaris/amd64.<br/> +Спасибо Jiang Hong. +</para> +<para lang="en"> +nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/> +Thanks to Jiang Hong. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +незначительных потенциальных ошибок.<br/> +Спасибо Coverity's Scan. +</para> +<para lang="en"> +of minor potential bugs.<br/> +Thanks to Coverity's Scan. +</para> +</change> + +</changes> + + +<changes ver="0.6.4" date="17.07.2007"> + +<change type="security"> +<para lang="ru"> +при использовании директивы msie_refresh был возможен XSS.<br/> +Спасибо Максиму Богуку. +</para> +<para lang="en"> +the "msie_refresh" directive allowed XSS.<br/> +Thanks to Maxim Boguk. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директивы proxy_store и fastcgi_store изменены. +</para> +<para lang="en"> +the "proxy_store" and "fastcgi_store" directives were changed. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_store_access и fastcgi_store_access. +</para> +<para lang="en"> +the "proxy_store_access" and "fastcgi_store_access" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +обход ошибки в Sun Studio 12.<br/> +Спасибо Jiang Hong. +</para> +<para lang="en"> +for Sun Studio 12.<br/> +Thanks to Jiang Hong. +</para> +</change> + +</changes> + + +<changes ver="0.6.3" date="12.07.2007"> + +<change type="feature"> +<para lang="ru"> +директивы proxy_store и fastcgi_store. +</para> +<para lang="en"> +the "proxy_store" and "fastcgi_store" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы auth_http_header +в рабочем процессе мог произойти segmentation fault.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if the "auth_http_header" directive was used.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если использовался метод аутентификации CRAM-MD5, но он не был разрешён, +то в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process +if the CRAM-MD5 authentication method was used, but it was not enabled. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании протокола HTTPS в директиве proxy_pass +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process when +the HTTPS protocol was used in the "proxy_pass" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в рабочем процессе мог произойти segmentation fault, +если использовался метод eventport. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if the eventport method was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали; +ошибка появилась в 0.5.13. +</para> +<para lang="en"> +the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives +did not work; +the bug had appeared in 0.5.13. +</para> +</change> + +</changes> + + +<changes ver="0.6.2" date="09.07.2007"> + +<change type="bugfix"> +<para lang="ru"> +если заголовок ответа был разделён в FastCGI-записях, то nginx передавал +клиенту мусор в таких заголовках. +</para> +<para lang="en"> +if the FastCGI header was split in records, +then nginx passed garbage in the header to a client. +</para> +</change> + +</changes> + + +<changes ver="0.6.1" date="17.06.2007"> + +<change type="bugfix"> +<para lang="ru"> +в парсинге SSI. +</para> +<para lang="en"> +in SSI parsing. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании удалённого подзапроса в SSI последующий +подзапрос локального файла мог отдаваться клиенту в неверном порядке. +</para> +<para lang="en"> +if remote SSI subrequest was used, then posterior local file subrequest +might transferred to client in wrong order. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +большие включения в SSI, сохранённые во временные файлы, +передавались не полностью. +</para> +<para lang="en"> +large SSI inclusions buffered in temporary files were truncated. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +значение perl'овой переменной $$ модуля ngx_http_perl_module было равно +номеру главного процесса. +</para> +<para lang="en"> +the perl $$ variable value in ngx_http_perl_module was equal to the master +process identification number. +</para> +</change> + +</changes> + + +<changes ver="0.6.0" date="14.06.2007"> + +<change type="feature"> +<para lang="ru"> +директивы "server_name", "map", and "valid_referers" поддерживают +маски вида "www.example.*". +</para> +<para lang="en"> +the "server_name", "map", and "valid_referers" directives support +the "www.example.*" wildcards. +</para> +</change> + +</changes> + + +<changes ver="0.5.25" date="11.06.2007"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался с параметром --without-http_rewrite_module; +ошибка появилась в 0.5.24. +</para> +<para lang="en"> +nginx could not be built with the --without-http_rewrite_module parameter; +the bug had appeared in 0.5.24. +</para> +</change> + +</changes> + + +<changes ver="0.5.24" date="06.06.2007"> + +<change type="security"> +<para lang="ru"> +директива ssl_verify_client не работала, если запрос выполнялся +по протоколу HTTP/0.9. +</para> +<para lang="en"> +the "ssl_verify_client" directive did not work if request was made +using HTTP/0.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании сжатия часть ответа могла передаваться несжатой; +ошибка появилась в 0.5.23. +</para> +<para lang="en"> +a part of response body might be passed uncompressed if gzip was used; +the bug had appeared in 0.5.23. +</para> +</change> + +</changes> + + +<changes ver="0.5.23" date="04.06.2007"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication. +</para> +<para lang="en"> +the ngx_http_ssl_module supports Server Name Indication TLS extension. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива fastcgi_catch_stderr.<br/> +Спасибо Николаю Гречуху, проект OWOX. +</para> +<para lang="en"> +the "fastcgi_catch_stderr" directive.<br/> +Thanks to Nick S. Grechukh, OWOX project. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на Линуксе в основном процессе происходил segmentation fault, +если два виртуальных сервера должны bind()ится к пересекающимся портам. +</para> +<para lang="en"> +a segmentation fault occurred in master process if +two virtual servers should bind() to the overlapping ports. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если nginx был собран с модулем ngx_http_perl_module и perl +поддерживал потоки, то во время второй переконфигурации +выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". +</para> +<para lang="en"> +if nginx was built with ngx_http_perl_module and perl supported threads, +then during second reconfiguration the error messages +"panic: MUTEX_LOCK" and "perl_parse() failed" were issued. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в использовании протокола HTTPS в директиве proxy_pass. +</para> +<para lang="en"> +in the HTTPS protocol in the "proxy_pass" directive. +</para> +</change> + +</changes> + + +<changes ver="0.5.22" date="29.05.2007"> + +<change type="bugfix"> +<para lang="ru"> +большое тело запроса могло не передаваться бэкенду; +ошибка появилась в 0.5.21. +</para> +<para lang="en"> +a big request body might not be passed to backend; +the bug had appeared in 0.5.21. +</para> +</change> + +</changes> + + +<changes ver="0.5.21" date="28.05.2007"> + +<change type="bugfix"> +<para lang="ru"> +если внутри сервера описано больше примерно десяти location'ов, +то location'ы, заданные с помощью регулярного выражения, +могли выполняться не в том, порядке, в каком они описаны. +</para> +<para lang="en"> +if server has more than about ten locations, then regex locations +might be choosen not in that order as they were specified. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий +по счёту или последующий бэкенд упал.<br/> +Спасибо Антону Поварову. +</para> +<para lang="en"> +a worker process may got caught in an endless loop on 64-bit platform, +if the 33-rd or next in succession backend has failed.<br/> +Thanks to Anton Povarov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании библиотеки PCRE на Solaris/sparc64 +мог произойти bus error.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в использовании протокола HTTPS в директиве proxy_pass. +</para> +<para lang="en"> +in the HTTPS protocol in the "proxy_pass" directive. +</para> +</change> + +</changes> + + +<changes ver="0.5.20" date="07.05.2007"> + +<change type="feature"> +<para lang="ru"> +директива sendfile_max_chunk. +</para> +<para lang="en"> +the "sendfile_max_chunk" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные "$http_...", "$sent_http_..." и "$upstream_http_..." +можно менять директивой set. +</para> +<para lang="en"> +the "$http_...", "$sent_http_...", and "$upstream_http_..." variables +may be changed using the "set" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании SSI-команды 'if expr="$var = /"' +в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if the SSI command 'if expr="$var = /"' was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +завершающая строка multipart range ответа передавалась неверно.<br/> +Спасибо Evan Miller. +</para> +<para lang="en"> +trailing boundary of multipart range response was transferred incorrectly.<br/> +Thanks to Evan Miller. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_perl_module не собирался make в Solaris.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +the ngx_http_perl_module could not be built by Solaris make.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +</changes> + + +<changes ver="0.5.19" date="24.04.2007"> + +<change type="change"> +<para lang="ru"> +значение переменной $request_time теперь записывается с точностью +до миллисекунд. +</para> +<para lang="en"> +now the $request_time variable has millisecond precision. +</para> +</change> + +<change type="change"> +<para lang="ru"> +метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush. +</para> +<para lang="en"> +the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $upstream_addr. +</para> +<para lang="en"> +the $upstream_addr variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/> +Спасибо Володымыру Костырко. +</para> +<para lang="en"> +the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size" +directives.<br/> +Thanks to Volodymyr Kostyrko. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании sendfile и limit_rate на 64-битных платформах +нельзя было передавать файлы больше 2G. +</para> +<para lang="en"> +the files more than 2G could not be transferred using sendfile and limit_rate +on 64-bit platforms. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании sendfile на 64-битном Linux нельзя было передавать файлы +больше 2G. +</para> +<para lang="en"> +the files more than 2G could not be transferred using sendfile on 64-bit Linux. +</para> +</change> + +</changes> + + +<changes ver="0.5.18" date="19.04.2007"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_sub_filter_module. +</para> +<para lang="en"> +the ngx_http_sub_filter_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные "$upstream_http_...". +</para> +<para lang="en"> +the "$upstream_http_..." variables. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь переменные $upstream_status и $upstream_response_time +содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect. +</para> +<para lang="en"> +now the $upstream_status and $upstream_response_time variables +keep data about all upstreams before X-Accel-Redirect. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если nginx был собран с модулем ngx_http_perl_module и perl +не поддерживал multiplicity, то после первой переконфигурации +и после получения любого сигнала +в основном процессе происходил segmentation fault; +ошибка появилась в 0.5.9. +</para> +<para lang="en"> +a segmentation fault occurred in master process +after first reconfiguration and receiving any signal +if nginx was built with ngx_http_perl_module and perl +did not support multiplicity; +the bug had appeared in 0.5.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если perl не поддерживал multiplicity, то после переконфигурации +перловый код не работал; +ошибка появилась в 0.3.38. +</para> +<para lang="en"> +if perl did not support multiplicity, then after reconfiguration +perl code did not work; +the bug had appeared in 0.3.38. +</para> +</change> + +</changes> + + +<changes ver="0.5.17" date="02.04.2007"> + +<change type="change"> +<para lang="ru"> +теперь nginx для метода TRACE всегда возвращает код 405. +</para> +<para lang="en"> +now nginx always returns the 405 status for the TRACE method. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь nginx поддерживает директиву include внутри блока types. +</para> +<para lang="en"> +now nginx supports the "include" directive inside the "types" block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +использование переменной $document_root в директиве root и alias +запрещено: оно вызывало рекурсивное переполнение стека. +</para> +<para lang="en"> +the $document_root variable usage in the "root" and "alias" directives +is disabled: this caused recursive stack overflow. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в использовании протокола HTTPS в директиве proxy_pass. +</para> +<para lang="en"> +in the HTTPS protocol in the "proxy_pass" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в некоторых случаях некэшируемые переменные (такие, как $uri) +возвращали старое закэшированное значение. +</para> +<para lang="en"> +in some cases non-cachable variables (such as $uri variable) +returned old cached value. +</para> +</change> + +</changes> + + +<changes ver="0.5.16" date="26.03.2007"> + +<change type="bugfix"> +<para lang="ru"> +в качестве ключа для хэша в директиве ip_hash не использовалась сеть +класса С.<br/> +Спасибо Павлу Ярковому. +</para> +<para lang="en"> +the C-class network was not used as hash key in the "ip_hash" directive.<br/> +Thanks to Pavel Yarkovoy. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в строке "Content-Type" в заголовке ответа бэкенда был указан charset +и строка завершалась символом ";", +то в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.3.50. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if a charset was set in the "Content-Type" header line and the line +has trailing ";"; +the bug had appeared in 0.3.50. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если +тело запроса, записанное во временный файл, было кратно 32K. +</para> +<para lang="en"> +the "[alert] zero size buf" error when FastCGI server was used and +a request body written in a temporary file was multiple of 32K. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Solaris без параметра --with-debug; +ошибка появилась в 0.5.15. +</para> +<para lang="en"> +nginx could not be built on Solaris without the --with-debug option; +the bug had appeared in 0.5.15. +</para> +</change> + +</changes> + + +<changes ver="0.5.15" date="19.03.2007"> + +<change type="feature"> +<para lang="ru"> +почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и +директивы smtp_auth, smtp_capablities и xclient.<br/> +Спасибо Антону Южанинову и Максиму Дунину. +</para> +<para lang="en"> +the mail proxy supports authenticated SMTP proxying and +the "smtp_auth", "smtp_capablities", and "xclient" directives.<br/> +Thanks to Anton Yuzhaninov and Maxim Dounin. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь keep-alive соединения закрываются сразу же по получении сигнала +переконфигурации. +</para> +<para lang="en"> +now the keep-alive connections are closed just after receiving +the reconfiguration signal. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директивы imap и auth переименованы соответственно в mail и pop3_auth. +</para> +<para lang="en"> +the "imap" and "auth" directives were renamed +to the "mail" and "pop3_auth" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP, +то в рабочем процессе происходил segmentation fault. +</para> +<para lang="en"> +a segmentation fault occurred in worker process +if the CRAM-MD5 authentication method was used +and the APOP method was disabled. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы starttls only в протоколе POP3 nginx +разрешал аутентификацию без перехода в режим SSL. +</para> +<para lang="en"> +if the "starttls only" directive was used in POP3 protocol, +then nginx allowed authentication without switching to the SSL mode. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +рабочие процессы не выходили после переконфигурации и не переоткрывали логи, +если использовался метод eventport. +</para> +<para lang="en"> +worker processes did not exit after reconfiguration and +did not rotate logs if the eventport method was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы ip_hash рабочий процесс мог зациклиться. +</para> +<para lang="en"> +a worker process may got caught in an endless loop, +if the "ip_hash" directive was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь nginx не пишет в лог некоторые alert'ы, +если используются методы eventport или /dev/poll. +</para> +<para lang="en"> +now nginx does not log some alerts if eventport or /dev/poll methods are used. +</para> +</change> + +</changes> + + +<changes ver="0.5.14" date="23.02.2007"> + +<change type="bugfix"> +<para lang="ru"> +nginx игнорировал лишние закрывающие скобки "}" в конце +конфигурационного файла. +</para> +<para lang="en"> +nginx ignored superfluous closing "}" in the end of configuration file. +</para> +</change> + +</changes> + + +<changes ver="0.5.13" date="19.02.2007"> + +<change type="feature"> +<para lang="ru"> +методы COPY и MOVE. +</para> +<para lang="en"> +the COPY and MOVE methods. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_realip_module устанавливал мусор для запросов, +переданных по keep-alive соединению. +</para> +<para lang="en"> +the ngx_http_realip_module set garbage for requests passed via +keep-alive connection. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не работал на 64-битном big-endian Linux.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +nginx did not work on big-endian 64-bit Linux.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при получении слишком длинной команды IMAP/POP3-прокси теперь сразу +закрывает соединение, а не по таймауту. +</para> +<para lang="en"> +now when IMAP/POP3 proxy receives too long command it closes the connection +right away, but not after timeout. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если при использовании метода epoll клиент закрывал преждевременно +соединение со своей стороны, то nginx закрывал это соединение только +по истечении таймаута на передачу. +</para> +<para lang="en"> +if the "epoll" method was used and a client closed a connection prematurely, +then nginx closed the connection after a send timeout only. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; +ошибка появилась в 0.5.8. +</para> +<para lang="en"> +nginx could not be built on platforms different from i386, amd64, sparc, +and ppc; +the bug had appeared in 0.5.8. +</para> +</change> + +</changes> + + +<changes ver="0.5.12" date="12.02.2007"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; +ошибка появилась в 0.5.8. +</para> +<para lang="en"> +nginx could not be built on platforms different from i386, amd64, sparc, +and ppc; +the bug had appeared in 0.5.8. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании временных файлов в время работы с FastCGI-сервером +в рабочем процессе мог произойти segmentation fault; +ошибка появилась в 0.5.8. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if the temporary files were used while working with FastCGI server; +the bug had appeared in 0.5.8. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если переменная $fastcgi_script_name записывалась в лог, +то в рабочем процессе мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if the $fastcgi_script_name variable was logged. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ngx_http_perl_module не собирался на Solaris. +</para> +<para lang="en"> +ngx_http_perl_module could not be built on Solaris. +</para> +</change> + +</changes> + + +<changes ver="0.5.11" date="05.02.2007"> + +<change type="feature"> +<para lang="ru"> +теперь configure определяет библиотеку PCRE в MacPorts.<br/> +Спасибо Chris McGrath. +</para> +<para lang="en"> +now configure detects system PCRE library in MacPorts.<br/> +Thanks to Chris McGrath. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответ был неверным, если запрашивалось несколько диапазонов; +ошибка появилась в 0.5.6. +</para> +<para lang="en"> +the response was incorrect if several ranges were requested; +the bug had appeared in 0.5.6. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива create_full_put_path не могла создавать промежуточные каталоги, +если не была установлена директива dav_access.<br/> +Спасибо Evan Miller. +</para> +<para lang="en"> +the "create_full_put_path" directive could not create the intermediate +directories if no "dav_access" directive was set.<br/> +Thanks to Evan Miller. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +вместо кодов ошибок "400" и "408" в access_log мог записываться код "0". +</para> +<para lang="en"> +the "0" response code might be logged in the access_log instead of +the "400" and "408" error codes. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при сборке с оптимизацией -O2 в рабочем процессе мог произойти +segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if nginx was built with -O2 optimization. +</para> +</change> + +</changes> + + +<changes ver="0.5.10" date="26.01.2007"> + +<change type="bugfix"> +<para lang="ru"> +во время обновления исполняемого файла новый процесс не наследовал +слушающие сокеты; +ошибка появилась в 0.5.9. +</para> +<para lang="en"> +while online executable file upgrade the new master process did not +inherit the listening sockets; +the bug had appeared in 0.5.9. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при сборке с оптимизацией -O2 в рабочем процессе мог произойти +segmentation fault; +ошибка появилась в 0.5.1. +</para> +<para lang="en"> +a segmentation fault might occur in worker process +if nginx was built with -O2 optimization; +the bug had appeared in 0.5.1. +</para> +</change> + +</changes> + + +<changes ver="0.5.9" date="25.01.2007"> + +<change type="change"> +<para lang="ru"> +модуль ngx_http_memcached_module теперь в качестве ключа использует +значение переменной $memcached_key. +</para> +<para lang="en"> +now the ngx_http_memcached_module uses the $memcached_key variable value +as a key. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $memcached_key. +</para> +<para lang="en"> +the $memcached_key variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр clean в директиве client_body_in_file_only. +</para> +<para lang="en"> +the "clean" parameter in the "client_body_in_file_only" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива env. +</para> +<para lang="en"> +the "env" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива sendfile работает внутри блока if. +</para> +<para lang="en"> +the "sendfile" directive is available inside the "if" block. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь при ошибке записи в access_log nginx записывает сообщение в error_log, +но не чаще одного раза в минуту. +</para> +<para lang="en"> +now on failure of the writing to access nginx logs a message to error_log, +but not more often than once a minute. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива "access_log off" не всегда запрещала запись в лог. +</para> +<para lang="en"> +the "access_log off" directive did not always turn off the logging. +</para> +</change> + +</changes> + + +<changes ver="0.5.8" date="19.01.2007"> + +<change type="bugfix"> +<para lang="ru"> +если использовалась директива <nobr>"client_body_in_file_only on"</nobr> +и тело запроса было небольшое, то мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur if +<nobr>"client_body_in_file_only on"</nobr> was used +and a request body was small. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +происходил segmentation fault, если использовались директивы +<nobr>"client_body_in_file_only on"</nobr> +и <nobr>"proxy_pass_request_body off"</nobr> +или <nobr>"fastcgi_pass_request_body off"</nobr>, +и делался переход к следующему бэкенду. +</para> +<para lang="en"> +a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> +and <nobr>"proxy_pass_request_body off"</nobr> +or <nobr>"fastcgi_pass_request_body off"</nobr> +directives were used, and nginx switched to a next upstream. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если при использовании директивы "proxy_buffering off" соединение с клиентом +было неактивно, то оно закрывалось по таймауту, заданному директивой +send_timeout; +ошибка появилась в 0.4.7. +</para> +<para lang="en"> +if the "proxy_buffering off" directive was used and a client connection +was non-active, then the connection was closed after send timeout; +the bug had appeared in 0.4.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если при использовании метода epoll клиент закрывал преждевременно +соединение со своей стороны, то nginx закрывал это соединение только +по истечении таймаута на передачу. +</para> +<para lang="en"> +if the "epoll" method was used and a client closed a connection prematurely, +then nginx closed the connection after a send timeout only. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки "[alert] zero size buf" при работе с FastCGI-сервером. +</para> +<para lang="en"> +the "[alert] zero size buf" error when FastCGI server was used. +</para> +</change> + +<change> +<para lang="ru"> +Исправление ошибок в директиве limit_zone. +</para> +<para lang="en"> +Bugfixes in the "limit_zone" directive. +</para> +</change> + +</changes> + + +<changes ver="0.5.7" date="15.01.2007"> + +<change type="feature"> +<para lang="ru"> +оптимизация использования памяти в ssl_session_cache. +</para> +<para lang="en"> +the ssl_session_cache storage optimization. +</para> +</change> + +<change> +<para lang="ru"> +Исправление ошибок в директивах ssl_session_cache и limit_zone. +</para> +<para lang="en"> +Bugfixes in the "ssl_session_cache" and "limit_zone" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на старте или во время переконфигурации происходил segmentation fault, +если директивы ssl_session_cache или limit_zone использовались +на 64-битных платформах. +</para> +<para lang="en"> +the segmentation fault was occurred on start or while reconfiguration +if the "ssl_session_cache" or "limit_zone" directives were used +on 64-bit platforms. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директив add_before_body или add_after_body происходил +segmentation fault, если в заголовке ответа нет строки "Content-Type". +</para> +<para lang="en"> +a segmentation fault occurred if the "add_before_body" or "add_after_body" +directives were used and there was no "Content-Type" header line in response. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/> +Спасибо Дену Иванову. +</para> +<para lang="en"> +the OpenSSL library was always built with the threads support.<br/> +Thanks to Den Ivanov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость библиотеки PCRE-6.5+ и компилятора icc. +</para> +<para lang="en"> +the PCRE-6.5+ library and the icc compiler compatibility. +</para> +</change> + +</changes> + + +<changes ver="0.5.6" date="09.01.2007"> + +<change type="change"> +<para lang="ru"> +теперь модуль ngx_http_index_module игнорирует все методы, +кроме GET, HEAD и POST. +</para> +<para lang="en"> +now the ngx_http_index_module ignores all methods except the GET, HEAD, and +POST methods. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_limit_zone_module. +</para> +<para lang="en"> +the ngx_http_limit_zone_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $binary_remote_addr. +</para> +<para lang="en"> +the $binary_remote_addr variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module. +</para> +<para lang="en"> +the "ssl_session_cache" directives +of the ngx_http_ssl_module and ngx_imap_ssl_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +метод DELETE поддерживает рекурсивное удаление. +</para> +<para lang="en"> +the DELETE method supports recursive removal. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании $r->sendfile() byte-ranges передавались неверно. +</para> +<para lang="en"> +the byte-ranges were transferred incorrectly if the $r->sendfile() was used. +</para> +</change> + +</changes> + + +<changes ver="0.5.5" date="24.12.2006"> + +<change type="change"> +<para lang="ru"> +ключ -v больше не выводит информацию о компиляторе. +</para> +<para lang="en"> +the -v switch does not show compiler information any more. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +ключ -V. +</para> +<para lang="en"> +the -V switch. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива worker_rlimit_core поддерживает указание размера в K, M и G. +</para> +<para lang="en"> +the "worker_rlimit_core" directive supports size in K, M, and G. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль nginx.pm теперь может устанавливаться непривилегированным пользователем. +</para> +<para lang="en"> +the nginx.pm module now could be installed by an unprivileged user. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании методов $r->request_body или $r->request_body_file мог +произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur if the $r->request_body or +$r->request_body_file methods were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибок, специфичных для платформы ppc. +</para> +<para lang="en"> +the ppc platform specific bugs. +</para> +</change> + +</changes> + + +<changes ver="0.5.4" date="15.12.2006"> + +<change type="feature"> +<para lang="ru"> +директиву perl можно использовать внутри блока limit_except. +</para> +<para lang="en"> +the "perl" directive may be used inside the "limit_except" block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса +для метода DELETE. +</para> +<para lang="en"> +the ngx_http_dav_module required the "Date" request header line +for the DELETE method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании одного параметра в директиве dav_access nginx мог +сообщить об ошибке в конфигурации. +</para> +<para lang="en"> +if one only parameter was used in the "dav_access" directive, then +nginx might report about configuration error. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменной $host мог произойти segmentation fault; +ошибка появилась в 0.4.14. +</para> +<para lang="en"> +a segmentation fault might occur if the $host variable was used; +the bug had appeared in 0.4.14. +</para> +</change> + +</changes> + + +<changes ver="0.5.3" date="13.12.2006"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error +и $r->sleep. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->status, $r->log_error, +and $r->sleep methods. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а. +</para> +<para lang="en"> +the $r->variable method supports variables that do not exist in nginx +configuration. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +метод $r->has_request_body не работал. +</para> +<para lang="en"> +the $r->has_request_body method did not work. +</para> +</change> + +</changes> + + +<changes ver="0.5.2" date="11.12.2006"> + +<change type="bugfix"> +<para lang="ru"> +если в директивах proxy_pass использовалось имя, указанное в upstream, +то nginx пытался найти IP-адрес этого имени; +ошибка появилась в 0.5.1. +</para> +<para lang="en"> +if the "proxy_pass" directive used the name of the "upstream" block, +then nginx tried to resolve the name; +the bug had appeared in 0.5.1. +</para> +</change> + +</changes> + + +<changes ver="0.5.1" date="11.12.2006"> + +<change type="bugfix"> +<para lang="ru"> +директива post_action могла не работать после неудачного завершения запроса. +</para> +<para lang="en"> +the "post_action" directive might not run after a unsuccessful completion +of a request. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +обход ошибки в Eudora для Mac; +ошибка появилась в 0.4.11.<br/> +Спасибо Bron Gondwana. +</para> +<para lang="en"> +for Eudora for Mac; +the bug had appeared in 0.4.11.<br/> +Thanks to Bron Gondwana. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось +сообщение "no port in upstream"; +ошибка появилась в 0.5.0. +</para> +<para lang="en"> +if the "upstream" name was used in the "fastcgi_pass", then the message +"no port in upstream" was issued; +the bug had appeared in 0.5.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена +серверов, но с разными портами, то эти директивы использовали первый +описанный порт; +ошибка появилась в 0.5.0. +</para> +<para lang="en"> +if the "proxy_pass" and "fastcgi_pass" directives used the same servers but +different ports, then these directives uses the first described port; +the bug had appeared in 0.5.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты, +то эти директивы использовали первый описанный сокет; +ошибка появилась в 0.5.0. +</para> +<para lang="en"> +if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets, +then these directives used first described socket; +the bug had appeared in 0.5.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ngx_http_auth_basic_module игнорировал пользователя, если он был указан +в последней строке файла паролей и после пароля не было перевода строки, +возврата каретки или символа ":". +</para> +<para lang="en"> +ngx_http_auth_basic_module ignored the user if it was in the last line in +the password file and there was no the carriage return, the line feed, +or the ":" symbol after the password. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $upstream_response_time могла быть равна "0.000", хотя время +обработки было больше 1 миллисекунды. +</para> +<para lang="en"> +the $upstream_response_time variable might be equal to "0.000", although +response time was more than 1 millisecond. +</para> +</change> + +</changes> + + +<changes ver="0.5.0" date="04.12.2006"> + +<change type="change"> +<para lang="ru"> +параметры в виде "%name" в директиве log_format больше не поддерживаются. +</para> +<para lang="en"> +the parameters in the "%name" form in the "log_format" directive +are not supported anymore. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, +fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout, +memcached_upstream_max_fails и memcached_upstream_fail_timeout +больше не поддерживаются. +</para> +<para lang="en"> +the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", +"fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout", +"memcached_upstream_max_fails", and "memcached_upstream_fail_timeout" +directives are not supported anymore. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива server в блоке upstream поддерживает параметры +max_fails, fail_timeout и down. +</para> +<para lang="en"> +the "server" directive in the "upstream" context supports +the "max_fails", "fail_timeout", and "down" parameters. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ip_hash в блоке upstream. +</para> +<para lang="en"> +the "ip_hash" directive inside the "upstream" block. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +статус WAIT в строке "Auth-Status" в заголовке ответа сервера аутентификации +IMAP/POP3 прокси. +</para> +<para lang="en"> +the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy +authentication server response. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на 64-битных платформах; +ошибка появилась в 0.4.14. +</para> +<para lang="en"> +nginx could not be built on 64-bit platforms; +the bug had appeared in 0.4.14. +</para> +</change> + +</changes> + + +<changes ver="0.4.14" date="27.11.2006"> + +<change type="feature"> +<para lang="ru"> +директива proxy_pass_error_message в IMAP/POP3 прокси. +</para> +<para lang="en"> +the "proxy_pass_error_message" directive in IMAP/POP3 proxy. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD. +</para> +<para lang="en"> +now configure detects system PCRE library on FreeBSD, Linux, and NetBSD. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков; +ошибка появилась в 0.3.38. +</para> +<para lang="en"> +ngx_http_perl_module did not work with perl built with the threads support; +the bug had appeared in 0.3.38. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно. +</para> +<para lang="en"> +ngx_http_perl_module did not work if perl was called recursively. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx игнорировал имя сервера в строке запроса. +</para> +<para lang="en"> +nginx ignored a host name in a request line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если FastCGI сервер передавал много в stderr, +то рабочий процесс мог зациклиться. +</para> +<para lang="en"> +a worker process may got caught in an endless loop, +if a FastCGI server sent too many data to the stderr. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при изменении системного времени переменная $upstream_response_time +могла быть отрицательной. +</para> +<para lang="en"> +the $upstream_response_time variable may be negative if the system time +was changed backward. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании POP3 серверу аутентификации IMAP/POP3 прокси +не передавался параметр Auth-Login-Attempt. +</para> +<para lang="en"> +the "Auth-Login-Attempt" parameter was not sent to +IMAP/POP3 proxy authentication server when POP3 was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при ошибке соединения с сервером аутентификации IMAP/POP3 прокси +мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur if connect to IMAP/POP3 proxy +authentication server failed. +</para> +</change> + +</changes> + + +<changes ver="0.4.13" date="15.11.2006"> + +<change type="feature"> +<para lang="ru"> +директиву proxy_pass можно использовать внутри блока limit_except. +</para> +<para lang="en"> +the "proxy_pass" directive may be used inside the "limit_except" block. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива limit_except поддерживает все WebDAV методы. +</para> +<para lang="en"> +the "limit_except" directive supports all WebDAV methods. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы add_before_body без директивы add_after_body +ответ передавался не полностью. +</para> +<para lang="en"> +if the "add_before_body" directive was used without +the "add_after_body" directive, then a response did not transferred complete. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +большое тело запроса не принималось, если использовались метод epoll +и deferred accept(). +</para> +<para lang="en"> +a large request body did not receive if the epoll method +and the deferred accept() were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +для ответов модуля ngx_http_autoindex_module не выставлялась кодировка; +ошибка появилась в 0.3.50. +</para> +<para lang="en"> +a charset could not be set for ngx_http_autoindex_module responses; +the bug had appeared in 0.3.50. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки "[alert] zero size buf" при работе с FastCGI-сервером; +</para> +<para lang="en"> +the "[alert] zero size buf" error when FastCGI server was used; +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +параметр конфигурации --group= игнорировался.<br/> +Спасибо Thomas Moschny. +</para> +<para lang="en"> +the --group= configuration parameter was ignored.<br/> +Thanks to Thomas Moschny. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +50-й подзапрос в SSI ответе не работал; +ошибка появилась в 0.3.50. +</para> +<para lang="en"> +the 50th subrequest in SSI response did not work; +the bug had appeared in 0.3.50. +</para> +</change> + +</changes> + + +<changes ver="0.4.12" date="31.10.2006"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает метод $r->variable. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->variable method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при включении в ответ большого статического файла с помощью SSI +ответ мог передаваться не полностью. +</para> +<para lang="en"> +if a big static file was included using SSI in a response, +then the response may be transferred incomplete. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не убирал "#fragment" в URI. +</para> +<para lang="en"> +nginx did not omit the "#fragment" part in URI. +</para> +</change> + +</changes> + + +<changes ver="0.4.11" date="25.10.2006"> + +<change type="feature"> +<para lang="ru"> +POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5. +</para> +<para lang="en"> +the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает метод $r->allow_ranges. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->allow_ranges method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при включённой поддержке команды APOP в POP3 прокси могли +не работать команды USER/PASS; +ошибка появилась в 0.4.10. +</para> +<para lang="en"> +if the APOP was enabled in the POP3 proxy, then the USER/PASS commands +might not work; +the bug had appeared in 0.4.10. +</para> +</change> + +</changes> + + +<changes ver="0.4.10" date="23.10.2006"> + +<change type="feature"> +<para lang="ru"> +POP3 прокси поддерживает APOP. +</para> +<para lang="en"> +the POP3 proxy supports the APOP command. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании методов select, poll и /dev/poll во время ожидания +ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор. +</para> +<para lang="en"> +if the select, poll or /dev/poll methods were used, then while +waiting authentication server response the IMAP/POP3 proxy hogged CPU. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменной $server_addr в директиве map мог +произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault might occur if the $server_addr variable was used +in the "map" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов; +ошибка появилась в 0.4.7. +</para> +<para lang="en"> +the ngx_http_flv_module did not support the byte ranges for full responses; +the bug had appeared in 0.4.7. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Debian amd64; +ошибка появилась в 0.4.9. +</para> +<para lang="en"> +nginx could not be built on Debian amd64; +the bug had appeared in 0.4.9. +</para> +</change> + +</changes> + + +<changes ver="0.4.9" date="13.10.2006"> + +<change type="feature"> +<para lang="ru"> +параметр set в команде SSI include. +</para> +<para lang="en"> +the "set" parameter in the "include" SSI command. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm. +</para> +<para lang="en"> +the ngx_http_perl_module now tests the nginx.pm module version. +</para> +</change> + +</changes> + + +<changes ver="0.4.8" date="11.10.2006"> + +<change type="bugfix"> +<para lang="ru"> +если до команды SSI include с параметром wait выполнялась ещё +одна команда SSI include, то параметр wait мог не работать. +</para> +<para lang="en"> +if an "include" SSI command were before another "include" SSI command +with a "wait" parameter, then the "wait" parameter might not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/> +Спасибо Алексею Ковырину. +</para> +<para lang="en"> +the ngx_http_flv_module added the FLV header to the full responses.<br/> +Thanks to Alexey Kovyrin. +</para> +</change> + +</changes> + + +<changes ver="0.4.7" date="10.10.2006"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_flv_module. +</para> +<para lang="en"> +the ngx_http_flv_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $request_body_file. +</para> +<para lang="en"> +the $request_body_file variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы charset и source_charset поддерживают переменные. +</para> +<para lang="en"> +the "charset" and "source_charset" directives support the variables. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если до команды SSI include с параметром wait выполнялась ещё +одна команда SSI include, то параметр wait мог не работать. +</para> +<para lang="en"> +if an "include" SSI command were before another "include" SSI command +with a "wait" parameter, then the "wait" parameter might not work. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании директивы "proxy_buffering off" или при работе +с memcached соединения могли не закрываться по таймауту. +</para> +<para lang="en"> +if the "proxy_buffering off" directive was used or while working with +memcached the connections might not be closed on timeout. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. +</para> +<para lang="en"> +nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. +</para> +</change> + +</changes> + + +<changes ver="0.4.6" date="06.10.2006"> + +<change type="bugfix"> +<para lang="ru"> +nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. +</para> +<para lang="en"> +nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами, +если длина ответа в методе $r->headers_out("Content-Length", ...) +была задана текстовой строкой. +</para> +<para lang="en"> +nginx sent the chunked response for HTTP/1.1 request,<br/> +if its length was set by text string in +the $r->headers_out("Content-Length", ...) method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +после перенаправления ошибки с помощью директивы error_page любая директива +модуля ngx_http_rewrite_module возвращала эту ошибку; +ошибка появилась в 0.4.4. +</para> +<para lang="en"> +after redirecting error by an "error_page" directive +any ngx_http_rewrite_module directive returned this error code; +the bug had appeared in 0.4.4. +</para> +</change> + +</changes> + + +<changes ver="0.4.5" date="02.10.2006"> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на Linux и Solaris; +ошибка появилась в 0.4.4. +</para> +<para lang="en"> +nginx could not be built on Linux and Solaris; +the bug had appeared in 0.4.4. +</para> +</change> + +</changes> + + +<changes ver="0.4.4" date="02.10.2006"> + +<change type="feature"> +<para lang="ru"> +переменная $scheme. +</para> +<para lang="en"> +the $scheme variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива expires поддерживает параметр max. +</para> +<para lang="en"> +the "expires" directive supports the "max" parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива include поддерживает маску "*".<br/> +Спасибо Jonathan Dance. +</para> +<para lang="en"> +the "include" directive supports the "*" mask.<br/> +Thanks to Jonathan Dance. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива return всегда изменяла код ответа, перенаправленного +директивой error_page. +</para> +<para lang="en"> +the "return" directive always overrode the "error_page" response code +redirected by the "error_page" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +происходил segmentation fault, если в методе PUT передавалось +тело нулевой длины. +</para> +<para lang="en"> +a segmentation fault occurred if zero-length body was in PUT method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании переменных в директиве proxy_redirect редирект +изменялся неверно. +</para> +<para lang="en"> +the redirect was changed incorrectly if the variables were used +in the "proxy_redirect" directive. +</para> +</change> + +</changes> + + +<changes ver="0.4.3" date="26.09.2006"> + +<change type="change"> +<para lang="ru"> +ошибку 499 теперь нельзя перенаправить с помощью директивы error_page. +</para> +<para lang="en"> +now the 499 error could not be redirected using an "error_page" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка Solaris 10 event ports. +</para> +<para lang="en"> +the Solaris 10 event ports support. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_browser_module. +</para> +<para lang="en"> +the ngx_http_browser_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при перенаправлении ошибки 400 проксированному серверу +помощью директивы error_page мог произойти segmentation fault. +</para> +<para lang="en"> +a segmentation fault may occur while redirecting the 400 error +to the proxied server using a "proxy_pass" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +происходил segmentation fault, если в директиве proxy_pass использовался +unix domain сокет; +ошибка появилась в 0.3.47. +</para> +<para lang="en"> +a segmentation fault occurred if an unix domain socket was used in +a "proxy_pass" directive; +the bug had appeared in 0.3.47. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +SSI не работал с ответами memcached и небуферизированными проксированными +ответами. +</para> +<para lang="en"> +SSI did work with memcached and nonbuffered responses. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +обход ошибки PAUSE hardware capability в Sun Studio. +</para> +<para lang="en"> +of the Sun Studio PAUSE hardware capability bug. +</para> +</change> + +</changes> + + +<changes ver="0.4.2" date="14.09.2006"> + +<change type="bugfix"> +<para lang="ru"> +убрана поддержка флага O_NOATIME на Linux; +ошибка появилась в 0.4.1. +</para> +<para lang="en"> +the O_NOATIME flag support on Linux was canceled; +the bug had appeared in 0.4.1. +</para> +</change> + +</changes> + + +<changes ver="0.4.1" date="14.09.2006"> + +<change type="bugfix"> +<para lang="ru"> +совместимость с DragonFlyBSD.<br/> +Спасибо Павлу Назарову. +</para> +<para lang="en"> +the DragonFlyBSD compatibility.<br/> +Thanks to Pavel Nazarov. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G. +</para> +<para lang="en"> +of bug in 64-bit Linux sendfile(), when file is more than 2G. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/> +Спасибо Yusuf Goolamabbas. +</para> +<para lang="en"> +now on Linux nginx uses O_NOATIME flag for static requests.<br/> +Thanks to Yusuf Goolamabbas. +</para> +</change> + +</changes> + + +<changes ver="0.4.0" date="30.08.2006"> + +<change> +<para lang="ru"> +Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы +init module в фазу HTTP postconfiguration. +</para> +<para lang="en"> +Change in internal API: the HTTP modules initialization was moved +from the init module phase to the HTTP postconfiguration phase. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь тело запроса в модуле ngx_http_perl_module не считывается +заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body. +</para> +<para lang="en"> +now the request body is not read beforehand for the ngx_http_perl_module: +it's required to start the reading using the $r->has_request_body method. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает код возврата DECLINED. +</para> +<para lang="en"> +the ngx_http_perl_module supports the DECLINED return code. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date" +для метода PUT. +</para> +<para lang="en"> +the ngx_http_dav_module supports the incoming "Date" header line +for the PUT method. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива ssi работает внутри блока if. +</para> +<para lang="en"> +the "ssi" directive is available inside the "if" block. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +происходил segmentation fault, если в директиве index использовалась +переменные и при этом первое имя индексного файла было без переменных; +ошибка появилась в 0.1.29. +</para> +<para lang="en"> +a segmentation fault occurred if there was an "index" directive with +variables and the first index name was without variables; +the bug had appeared in 0.1.29. +</para> +</change> + +</changes> + + +<changes ver="0.3.61" date="28.08.2006"> + +<change type="change"> +<para lang="ru"> +директива tcp_nodelay теперь по умолчанию включена. +</para> +<para lang="en"> +now the "tcp_nodelay" directive is turned on by default. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива msie_refresh. +</para> +<para lang="en"> +the "msie_refresh" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива recursive_error_pages. +</para> +<para lang="en"> +the "recursive_error_pages" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива rewrite возвращала неправильный редирект, если редирект +включал в себя выделенные закодированные символы из оригинального URI. +</para> +<para lang="en"> +the "rewrite" directive returned incorrect redirect, if the redirect +had the captured escaped symbols from original URI. +</para> +</change> + +</changes> + + +<changes ver="0.3.60" date="18.08.2006"> + +<change type="bugfix"> +<para lang="ru"> +во время перенаправления ошибки рабочий процесс мог зациклиться; +ошибка появилась в 0.3.59. +</para> +<para lang="en"> +a worker process may got caught in an endless loop +while an error redirection; +the bug had appeared in 0.3.59. +</para> +</change> + +</changes> + + +<changes ver="0.3.59" date="16.08.2006"> + +<change type="feature"> +<para lang="ru"> +теперь можно делать несколько перенаправлений через директиву error_page. +</para> +<para lang="en"> +now is possible to do several redirection using the "error_page" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива dav_access не поддерживала три параметра. +</para> +<para lang="en"> +the "dav_access" directive did not support three parameters. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива error_page не изменяла строку "Content-Type" +после перенаправления с помощью "X-Accel-Redirect"; +ошибка появилась в 0.3.58. +</para> +<para lang="en"> +the "error_page" directive did not changes the "Content-Type" header line +after the "X-Accel-Redirect" was used; +the bug had appeared in 0.3.58. +</para> +</change> + +</changes> + + +<changes ver="0.3.58" date="14.08.2006"> + +<change type="feature"> +<para lang="ru"> +директива error_page поддерживает переменные. +</para> +<para lang="en"> +the "error_page" directive supports the variables. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь на Linux используется интерфейс procfs вместо sysctl. +</para> +<para lang="en"> +now the procfs interface instead of sysctl is used on Linux. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется +из первоначального ответа. +</para> +<para lang="en"> +now the "Content-Type" header line is inherited from first response +when the "X-Accel-Redirect" was used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива error_page не перенаправляла ошибку 413. +</para> +<para lang="en"> +the "error_page" directive did not redirect the 413 error. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +завершающий "?" не удалял старые аргументы, если в переписанном URI +не было новых аргументов. +</para> +<para lang="en"> +the trailing "?" did not remove old arguments if no new arguments +were added to a rewritten URI. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. +</para> +<para lang="en"> +nginx could not run on 64-bit FreeBSD 7.0-CURRENT. +</para> +</change> + +</changes> + + +<changes ver="0.3.57" date="09.08.2006"> + +<change type="feature"> +<para lang="ru"> +переменная $ssl_client_serial. +</para> +<para lang="en"> +the $ssl_client_serial variable. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в операторе "!-e" в директиве if.<br/> +Спасибо Андриану Буданцову. +</para> +<para lang="en"> +in the "!-e" operator of the "if" directive.<br/> +Thanks to Andrian Budanstov. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при проверке клиентского сертификата nginx не передавал клиенту +информацию о требуемых сертификатах. +</para> +<para lang="en"> +while a client certificate verification nginx did not send to a client +the required certificates information. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $document_root не поддерживала переменные в директиве root. +</para> +<para lang="en"> +the $document_root variable did not support the variables in the "root" +directive. +</para> +</change> + +</changes> + + +<changes ver="0.3.56" date="04.08.2006"> + +<change type="feature"> +<para lang="ru"> +директива dav_access. +</para> +<para lang="en"> +the "dav_access" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x". +</para> +<para lang="en"> +the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x" +operators. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при записи в access_log некоторых передаваемых клиенту строк заголовков +происходил segmentation fault, если запрос возвращал редирект. +</para> +<para lang="en"> +a segmentation fault occurred if a request returned a redirect and +some sent to client header lines were logged in the access log. +</para> +</change> + +</changes> + + +<changes ver="0.3.55" date="28.07.2006"> + +<change type="feature"> +<para lang="ru"> +параметр stub в команде SSI include. +</para> +<para lang="en"> +the "stub" parameter in the "include" SSI command. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +команда SSI block. +</para> +<para lang="en"> +the "block" SSI command. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +скрипт unicode2nginx добавлен в contrib. +</para> +<para lang="en"> +the unicode2nginx script was added to contrib. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если root был задан только переменной, то корень задавался +относительно префикса сервера. +</para> +<para lang="en"> +if a "root" was specified by variable only, then the root was relative +to a server prefix. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в запросе был "//" или "/.", и после этого закодированные +символы в виде "%XX", то проксируемый запрос передавался незакодированным. +</para> +<para lang="en"> +if the request contained "//" or "/./" and escaped symbols after them, +then the proxied request was sent unescaped. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает +все строки "Cookie" в заголовке запроса. +</para> +<para lang="en"> +the $r->header_in("Cookie") of the ngx_http_perl_module now returns +all "Cookie" header lines. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +происходил segmentation fault, если использовался +<nobr>"client_body_in_file_only on"</nobr> +и делался переход к следующему бэкенду. +</para> +<para lang="en"> +a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> +was used and nginx switched to a next upstream. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при некоторых условиях во время переконфигурации коды символов +внутри директивы charset_map могли считаться неверными; +ошибка появилась в 0.3.50. +</para> +<para lang="en"> +on some condition while reconfiguration character codes +inside the "charset_map" may be treated invalid; +the bug had appeared in 0.3.50. +</para> +</change> + +</changes> + + +<changes ver="0.3.54" date="11.07.2006"> + +<change type="feature"> +<para lang="ru"> +nginx теперь записывает в лог информацию о подзапросах. +</para> +<para lang="en"> +nginx now logs the subrequest information to the error log. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream +поддерживают параметр off. +</para> +<para lang="en"> +the "proxy_next_upstream", "fastcgi_next_upstream", +and "memcached_next_upstream" directives support the "off" parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива debug_connection поддерживает запись адресов в формате CIDR. +</para> +<para lang="en"> +the "debug_connection" directive supports the CIDR address form. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при перекодировании ответа проксированного сервера или сервера FastCGI +в UTF-8 или наоборот ответ мог передаваться не полностью. +</para> +<para lang="en"> +if a response of proxied server or FastCGI server was converted from UTF-8 +or back, then it may be transferred incomplete. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $upstream_response_time содержала время только первого +обращения к бэкенду. +</para> +<para lang="en"> +the $upstream_response_time variable had the time of the first +request to a backend only. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на платформе amd64; +ошибка появилась в 0.3.53. +</para> +<para lang="en"> +nginx could not be built on amd64 platform; +the bug had appeared in 0.3.53. +</para> +</change> + +</changes> + + +<changes ver="0.3.53" date="07.07.2006"> + +<change type="change"> +<para lang="ru"> +директива add_header добавляет строки в ответы с кодом 204, 301 и 302. +</para> +<para lang="en"> +the "add_header" directive adds the string to 204, 301, and 302 responses. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива server в блоке upstream поддерживает параметр weight. +</para> +<para lang="en"> +the "server" directive in the "upstream" context supports +the "weight" parameter. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива server_name поддерживает маску "*". +</para> +<para lang="en"> +the "server_name" directive supports the "*" wildcard. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +nginx поддерживает тело запроса больше 2G. +</para> +<para lang="en"> +nginx supports the request body size more than 2G. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если при использовании "satisfy_any on" клиент успешно проходил аутентификацию, +в лог всё равно записалоcь сообщение "access forbidden by rule". +</para> +<para lang="en"> +if a client was successfully authorized using "satisfy_any on", then anyway +the message "access forbidden by rule" was written in the log. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +метод PUT мог ошибочно не создать файл и вернуть код 409. +</para> +<para lang="en"> +the "PUT" method may erroneously not create a file and return the 409 code. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx +продолжал проксирование. +</para> +<para lang="en"> +if the IMAP/POP3 backend returned an error, then nginx continued proxying +anyway. +</para> +</change> + +</changes> + + +<changes ver="0.3.52" date="03.07.2006"> + +<change type="change"> +<para lang="ru"> +восстановлено поведение модуля ngx_http_index_module для запросов "POST /": +как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405. +</para> +<para lang="en"> +the ngx_http_index_module behavior for the "POST /" requests is reverted +to the 0.3.40 version state: the module now does not return the 405 error. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании ограничения скорости рабочий процесс мог зациклиться; +ошибка появилась в 0.3.37. +</para> +<para lang="en"> +the worker process may got caught in an endless loop if the limit rate was used; +the bug had appeared in 0.3.37. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_charset_module записывал в лог ошибку "unknown charset", +даже если перекодировка не требовалась; +ошибка появилась в 0.3.50. +</para> +<para lang="en"> +ngx_http_charset_module logged "unknown charset" alert, even if the recoding +was not needed; +the bug had appeared in 0.3.50. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в результате запроса PUT возвращался код 409, то временный файл +не удалялся. +</para> +<para lang="en"> +if a code response of the PUT request was 409, then a temporary file +was not removed. +</para> +</change> + +</changes> + + +<changes ver="0.3.51" date="30.06.2006"> + +<change type="bugfix"> +<para lang="ru"> +при некоторых условиях в SSI мог пропадать символы "<"; +ошибка появилась в 0.3.50. +</para> +<para lang="en"> +the "<" symbols might disappeared some conditions in the SSI; +the bug had appeared in 0.3.50. +</para> +</change> + +</changes> + + +<changes ver="0.3.50" date="28.06.2006"> + +<change type="change"> +<para lang="ru"> +директивы proxy_redirect_errors и fastcgi_redirect_errors +переименованы соответственно в proxy_intercept_errors и +fastcgi_intercept_errors. +</para> +<para lang="en"> +the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives +was renamed to the "proxy_intercept_errors" and +"fastcgi_intercept_errors" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_charset_module поддерживает перекодирование из +однобайтных кодировок в UTF-8 и обратно. +</para> +<para lang="en"> +the ngx_http_charset_module supports the recoding from the single byte +encodings to the UTF-8 encoding and back. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset" +в ответе бэкенда. +</para> +<para lang="en"> +the "X-Accel-Charset" response header line is supported in proxy +and FastCGI mode. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +символ "\" в парах "\"" и "\'" в SSI командах убирался, только если +также использовался символ "$". +</para> +<para lang="en"> +the "\" escape symbol in the "\"" and "\'" pairs in the SSI command +was removed only if the command also has the "$" symbol. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при некоторых условиях в SSI после вставки могла быть добавлена +строка "<!--". +</para> +<para lang="en"> +the "<!--" string might be added on some conditions +in the SSI after inclusion. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr> +то при использовании небуферизированного проксировании не закрывалось соединение +с клиентом. +</para> +<para lang="en"> +if the "Content-Length: 0" header line was in response, then +in nonbuffered proxying mode the client connection was not closed. +</para> +</change> + +</changes> + + +<changes ver="0.3.49" date="31.05.2006"> + +<change type="bugfix"> +<para lang="ru"> +в директиве set. +</para> +<para lang="en"> +in the "set" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI, +вместо вывода второго и остальных подзапросов в ответ включался вывод +первого подзапроса. +</para> +<para lang="en"> +if two or more FastCGI subrequests was in SSI, then first subrequest output +was included instead of second and following subrequests. +</para> +</change> + +</changes> + + +<changes ver="0.3.48" date="29.05.2006"> + +<change type="change"> +<para lang="ru"> +теперь модуль ngx_http_charset_module работает для подзапросов, +в ответах которых нет строки заголовка "Content-Type". +</para> +<para lang="en"> +now the ngx_http_charset_module works for subrequests, +if the response has no "Content-Type" header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директиве proxy_pass не было URI, +то директива "proxy_redirect default" добавляла в переписанный +редирект в начало лишний слэш. +</para> +<para lang="en"> +if the "proxy_pass" directive has no URI part, +then the "proxy_redirect default" directive add the unnecessary slash +in start of the rewritten redirect. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +внутренний редирект всегда превращал любой HTTP-метод в GET, +теперь это делается только для редиректов, выполняемых с помощью +X-Accel-Redirect, и у которых метод не равен HEAD; +ошибка появилась в 0.3.42. +</para> +<para lang="en"> +the internal redirect always transform client's HTTP method to GET, +now the transformation is made for the "X-Accel-Redirect" redirects only +and if the method is not HEAD; +the bug had appeared in 0.3.42. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков; +ошибка появилась в 0.3.46. +</para> +<para lang="en"> +the ngx_http_perl_module could not be built, if the perl was built +with the threads support; +the bug had appeared in 0.3.46. +</para> +</change> + +</changes> + + +<changes ver="0.3.47" date="23.05.2006"> + +<change type="feature"> +<para lang="ru"> +директива upstream. +</para> +<para lang="en"> +the "upstream" directive. +</para> +</change> + +<change type="change"> +<para lang="ru"> +символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается. +</para> +<para lang="en"> +now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command +is always removed. +</para> +</change> + +</changes> + + +<changes ver="0.3.46" date="11.05.2006"> + +<change type="feature"> +<para lang="ru"> +директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header +и fastcgi_pass_header. +</para> +<para lang="en"> +the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header", +and "fastcgi_pass_header" directives. +</para> +</change> + +<change type="change"> +<para lang="ru"> +директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server +упразднены. +</para> +<para lang="en"> +the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server" +directives were canceled. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +в режиме прокси поддерживается строка заголовка "X-Accel-Buffering" +в ответе бэкенда. +</para> +<para lang="en"> +the "X-Accel-Buffering" response header line is supported in proxy mode. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module. +</para> +<para lang="en"> +the reconfiguration bug and memory leaks in the ngx_http_perl_module. +</para> +</change> + +</changes> + + +<changes ver="0.3.45" date="06.05.2006"> + +<change type="feature"> +<para lang="ru"> +директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate. +</para> +<para lang="en"> +the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate" +directives. +</para> +</change> + +<change type="change"> +<para lang="ru"> +теперь переменная $request_method возвращает метод только основного запроса. +</para> +<para lang="en"> +the $request_method variable now returns the main request method. +</para> +</change> + +<change type="change"> +<para lang="ru"> +в таблице перекодировки koi-win изменены коды символа &deg;. +</para> +<para lang="en"> +the &deg; symbol codes were changed in koi-win conversion table. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +в таблицу перекодировки koi-win добавлены символы евро и номера. +</para> +<para lang="en"> +the euro and N symbols were added to koi-win conversion table. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если nginx распределял запросы на несколько машин, то при падении +одной из них запросы, предназначенные для этой машины, перенаправлялись только +на одну машину вместо того, чтобы равномерно распределяться между остальными. +</para> +<para lang="en"> +if nginx distributed the requests among several backends and some backend +failed, then requests intended for this backend was directed to one live +backend only instead of being distributed among the rest. +</para> +</change> + +</changes> + + +<changes ver="0.3.44" date="04.05.2006"> + +<change type="feature"> +<para lang="ru"> +параметр wait в команде SSI include. +</para> +<para lang="en"> +the "wait" parameter in the "include" SSI command. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +в таблицу перекодировки koi-win добавлены украинские и белорусские символы. +</para> +<para lang="en"> +the Ukrainian and Byelorussian characters were added to koi-win conversion +table. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в SSI. +</para> +<para lang="en"> +in the SSI. +</para> +</change> + +</changes> + + +<changes ver="0.3.43" date="26.04.2006"> + +<change type="bugfix"> +<para lang="ru"> +в SSI. +</para> +<para lang="en"> +in the SSI. +</para> +</change> + +</changes> + + +<changes ver="0.3.42" date="26.04.2006"> + +<change type="feature"> +<para lang="ru"> +параметр bind в директиве listen в IMAP/POP3 прокси. +</para> +<para lang="en"> +the "bind" option of the "listen" directive in IMAP/POP3 proxy. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании в директиве rewrite одного и того же +выделения более одного раза. +</para> +<para lang="en"> +if the same capture in the "rewrite" directive was used more then once. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в лог не записывались переменные +$sent_http_content_type, $sent_http_content_length, $sent_http_last_modified, +$sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding. +</para> +<para lang="en"> +the $sent_http_content_type, $sent_http_content_length, +$sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive, +and $sent_http_transfer_encoding variables were not written to access log. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +переменная $sent_http_cache_control возвращала содержимое только одной +строки "Cache-Control" в заголовке ответа. +</para> +<para lang="en"> +the $sent_http_cache_control returned value of the single "Cache-Control" +response header line. +</para> +</change> + +</changes> + + +<changes ver="0.3.41" date="21.04.2006"> + +<change type="feature"> +<para lang="ru"> +ключ -v. +</para> +<para lang="en"> +the -v switch. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при включении в SSI удалённых подзапросов +мог произойти segmentation fault. +</para> +<para lang="en"> +the segmentation fault may occurred if the SSI page has remote subrequests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в обработке FastCGI. +</para> +<para lang="en"> +in FastCGI handling. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если путь к перловым модулям не был указан с помощью +--with-perl_modules_path=PATH или директивы perl_modules, +то на старте происходил segmentation fault. +</para> +<para lang="en"> +if the perl modules path was not set using +--with-perl_modules_path=PATH or the "perl_modules", then +the segmentation fault was occurred. +</para> +</change> + +</changes> + + +<changes ver="0.3.40" date="19.04.2006"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_dav_module поддерживает метод MKCOL. +</para> +<para lang="en"> +the ngx_http_dav_module supports the MKCOL method. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива create_full_put_path. +</para> +<para lang="en"> +the "create_full_put_path" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $limit_rate. +</para> +<para lang="en"> +the "$limit_rate" variable. +</para> +</change> + +</changes> + + +<changes ver="0.3.39" date="17.04.2006"> + +<change type="feature"> +<para lang="ru"> +директива uninitialized_variable_warn; уровень логгирования сообщения +о неинициализированной переменной понижен с уровня alert на warn. +</para> +<para lang="en"> +the "uninitialized_variable_warn" directive; the logging level of the +"uninitialized variable" message was lowered from "alert" to "warn". +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива override_charset. +</para> +<para lang="en"> +the "override_charset" directive. +</para> +</change> + +<change type="change"> +<para lang="ru"> +при использовании неизвестной переменной в SSI-командах echo и if expr='$name' +теперь не записывается в лог сообщение о неизвестной переменной. +</para> +<para lang="en"> +now if the unknown variable is used in the "echo" and "if expr='$name'" +SSI-commands, then the "unknown variable" message is not logged. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +счётчик активных соединений рос при превышении лимита соединений, +заданного директивой worker_connections; +ошибка появилась в 0.2.0. +</para> +<para lang="en"> +the active connection counter increased on the exceeding of the connection +limit specified by the "worker_connections" directive; +the bug had appeared in 0.2.0. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при некоторых условия ограничение скорости соединения могло не работать; +ошибка появилась в 0.3.38. +</para> +<para lang="en"> +the limit rate might not work on some condition; +the bug had appeared in 0.3.38. +</para> +</change> + +</changes> + + +<changes ver="0.3.38" date="14.04.2006"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_dav_module. +</para> +<para lang="en"> +the ngx_http_dav_module. +</para> +</change> + +<change type="change"> +<para lang="ru"> +оптимизация модуля ngx_http_perl_module.<br/> +Спасибо Сергею Скворцову. +</para> +<para lang="en"> +the ngx_http_perl_module optimizations.<br/> +Thanks to Sergey Skvortsov. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает метод $r->request_body_file. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->request_body_file method. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива client_body_in_file_only. +</para> +<para lang="en"> +the "client_body_in_file_only" directive. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +теперь при переполнении диска nginx пытается писать access_log'и только +раз в секунду.<br/> +Спасибо Антону Южанинову и Максиму Дунину. +</para> +<para lang="en"> +now on disk overflow nginx tries to write access logs once a second only.<br/> +Thanks to Anton Yuzhaninov and Maxim Dounin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +теперь директива limit_rate точнее ограничивает скорость при значениях +больше <nobr>100 Kbyte/s.</nobr><br/> +Спасибо ForJest. +</para> +<para lang="en"> +now the "limit_rate" directive more precisely limits rate if rate is more +than <nobr>100 Kbyte/s.</nobr><br/> +Thanks to ForJest. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n" +в логине и пароле в закодированном виде.<br/> +Спасибо Максиму Дунину. +</para> +<para lang="en"> +now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and +password to pass authorization server.<br/> +Thanks to Maxim Dounin. +</para> +</change> + +</changes> + + +<changes ver="0.3.37" date="07.04.2006"> + +<change type="feature"> +<para lang="ru"> +директива limit_except. +</para> +<para lang="en"> +the "limit_except" directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива if поддерживает операторы "!~", "!~*", "-f" и "!-f". +</para> +<para lang="en"> +the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает метод $r->request_body. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->request_body method. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в модуле ngx_http_addition_filter_module. +</para> +<para lang="en"> +in the ngx_http_addition_filter_module. +</para> +</change> + +</changes> + + +<changes ver="0.3.36" date="05.04.2006"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_addition_filter_module. +</para> +<para lang="en"> +the ngx_http_addition_filter_module. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_pass и fastcgi_pass можно использовать внутри блока if. +</para> +<para lang="en"> +the "proxy_pass" and "fastcgi_pass" directives may be used inside +the "if" block. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort. +</para> +<para lang="en"> +the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $request_completion. +</para> +<para lang="en"> +the "$request_completion" variable. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает методы $r->request_method и +$r->remote_addr. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->request_method and $r->remote_addr. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_ssi_module поддерживает команду elif. +</para> +<para lang="en"> +the ngx_http_ssi_module supports the "elif" command. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +строка "\/" в начале выражения команды if модуля ngx_http_ssi_module +воспринималась неверно. +</para> +<para lang="en"> +the "\/" string in the expression of the "if" command of the +ngx_http_ssi_module was treated incorrectly. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module. +</para> +<para lang="en"> +in the regular expressions in the "if" command of the ngx_http_ssi_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при задании относительного пути в директивах +client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules +использовался каталог относительно текущего каталога, а не относительно +префикса сервера. +</para> +<para lang="en"> +if the relative path was specified in the "client_body_temp_path", +"proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives, +then the directory was used relatively to a current path but not +to a server prefix. +</para> +</change> + +</changes> + + +<changes ver="0.3.35" date="22.03.2006"> + +<change type="bugfix"> +<para lang="ru"> +accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой +директивы listen; +ошибка появилась в 0.3.31. +</para> +<para lang="en"> +the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen" +directive only; +the bug had appeared in 0.3.31. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве proxy_pass без URI при использовании в подзапросе. +</para> +<para lang="en"> +in the "proxy_pass" directive without the URI part in a subrequest. +</para> +</change> + +</changes> + + +<changes ver="0.3.34" date="21.03.2006"> + +<change type="feature"> +<para lang="ru"> +директива add_header поддерживает переменные. +</para> +<para lang="en"> +the "add_header" directive supports the variables. +</para> +</change> + +</changes> + + +<changes ver="0.3.33" date="15.03.2006"> + +<change type="feature"> +<para lang="ru"> +параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream. +</para> +<para lang="en"> +the "http_503" parameter of the "proxy_next_upstream" or +"fastcgi_next_upstream" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом, +если он не начинался сразу же с "sub". +</para> +<para lang="en"> +ngx_http_perl_module did not work with inlined in the configuration code, +if it was not started with the "sub" word. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в директиве post_action. +</para> +<para lang="en"> +in the "post_action" directive. +</para> +</change> + +</changes> + + +<changes ver="0.3.32" date="11.03.2006"> + +<change type="bugfix"> +<para lang="ru"> +удаление отладочного логгирования на старте и при переконфигурации; +ошибка появилась в 0.3.31. +</para> +<para lang="en"> +the debug logging on startup and reconfiguration time was removed; +the bug had appeared in 0.3.31. +</para> +</change> + +</changes> + + +<changes ver="0.3.31" date="10.03.2006"> + +<change type="change"> +<para lang="ru"> +теперь nginx передаёт неверные ответы проксированного бэкенда. +</para> +<para lang="en"> +now nginx passes the malformed proxied backend responses. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директивы listen поддерживают адрес в виде "*:порт". +</para> +<para lang="en"> +the "listen" directives support the address in the "*:port" form. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +поддержка EVFILER_TIMER в MacOSX 10.4. +</para> +<para lang="en"> +the EVFILER_TIMER support in MacOSX 10.4. +</para> +</change> + +<change type="workaround"> +<para lang="ru"> +обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре +MacOSX.<br/> +Спасибо Андрею Нигматулину. +</para> +<para lang="en"> +for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/> +Thanks to Andrei Nigmatulin. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если внутри одного сервера описаны несколько директив listen, слушающих на +разных адресах, то имена серверов вида "*.domain.tld" работали только +для первого адреса; +ошибка появилась в 0.3.18. +</para> +<para lang="en"> +if there were several "listen" directives listening one various addresses +inside one server, then server names like "*.domain.tld" worked for first +address only; +the bug had appeared in 0.3.18. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании протокола HTTPS в директиве proxy_pass не передавались +запросы с телом, записанным во временный файл. +</para> +<para lang="en"> +if the HTTPS protocol was used in the "proxy_pass" directive and +the request body was in temporary file then the request was not transferred. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +совместимость с perl 5.8.8. +</para> +<para lang="en"> +perl 5.8.8 compatibility. +</para> +</change> + +</changes> + + +<changes ver="0.3.30" date="22.02.2006"> + +<change type="change"> +<para lang="ru"> +уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit. +</para> +<para lang="en"> +the ECONNABORTED error log level was changed to "error" from "crit". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module. +</para> +<para lang="en"> +the ngx_http_perl_module could not be build without +the ngx_http_ssi_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на i386 платформе, если использовался PIC; +ошибка появилась в 0.3.27. +</para> +<para lang="en"> +nginx could not be built on i386 platform, if the PIC was used; +the bug had appeared in 0.3.27. +</para> +</change> + +</changes> + + +<changes ver="0.3.29" date="20.02.2006"> + +<change type="feature"> +<para lang="ru"> +теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт +большое количество предупреждений перед ответом. +</para> +<para lang="en"> +now nginx uses less memory, if PHP in FastCGI mode sends many warnings +before the response. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка +"Transfer-Encoding: chunked". +</para> +<para lang="en"> +the "Transfer-Encoding: chunked" header line was issued in the 204 responses +for the HTTP/1.1 requests. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки +заголовка ответа в отдельных FastCGI записях. +</para> +<para lang="en"> +nginx returned the 502 response, if the complete response header lines +were transferred in a separate FastCGI records. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +если в директиве post_action был указан проксируемый URI, то он выполнялся +только после успешного завершения запроса. +</para> +<para lang="en"> +if the proxied URI was specified in the "post_action" directive, then it ran +only after a successful completion of a request. +</para> +</change> + +</changes> + + +<changes ver="0.3.28" date="16.02.2006"> + +<change type="feature"> +<para lang="ru"> +директива restrict_host_names упразднена. +</para> +<para lang="en"> +the "restrict_host_names" directive was canceled. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +параметр конфигурации --with-cpu-opt=ppc64. +</para> +<para lang="en"> +the --with-cpu-opt=ppc64 configuration parameter. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при некоторых условиях проксированное соединение с клиентом завершалось +преждевременно.<br/> +Спасибо Владимиру Шутову. +</para> +<para lang="en"> +on some condition the proxied connection with a client was terminated +prematurely.<br/> +Thanks to Vladimir Shutoff. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов, +перенаправленных с помощью строки "X-Accel-Redirect". +</para> +<para lang="en"> +the "X-Accel-Limit-Rate" header line was not taken into account +if the request was redirected using the "X-Accel-Redirect" header line. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +директива post_action работала только после успешного завершения запроса. +</para> +<para lang="en"> +the "post_action" directive ran only after a successful completion of a request. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +тело проксированного ответа, создаваемого директивой post_action, +передавалось клиенту. +</para> +<para lang="en"> +the proxied response body generated by the "post_action" directive +was transferred to a client. +</para> +</change> + +</changes> + + +<changes ver="0.3.27" date="08.02.2006"> + +<change type="change"> +<para lang="ru"> +директивы variables_hash_max_size и variables_hash_bucket_size. +</para> +<para lang="en"> +the "variables_hash_max_size" and "variables_hash_bucket_size" directives. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменная $body_bytes_sent доступна не только в директиве log_format. +</para> +<para lang="en"> +the $body_bytes_sent variable can be used not only in the "log_format" +directive. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +переменные $ssl_protocol и $ssl_cipher. +</para> +<para lang="en"> +the $ssl_protocol and $ssl_cipher variables. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +определение размера строки кэша распространённых процессоров при старте. +</para> +<para lang="en"> +the cache line size detection for widespread CPUs at start time. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива accept_mutex теперь поддерживается посредством fcntl(2) +на платформах, отличных от i386, amd64, sparc64 и ppc. +</para> +<para lang="en"> +now the "accept_mutex" directive is supported using fcntl(2) +on platforms different from i386, amd64, sparc64, and ppc. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +директива lock_file и параметр автоконфигурации --with-lock-path=PATH. +</para> +<para lang="en"> +the "lock_file" directive and the --with-lock-path=PATH autoconfiguration +directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании протокола HTTPS в директиве proxy_pass не передавались +запросы с телом. +</para> +<para lang="en"> +if the HTTPS protocol was used in the "proxy_pass" directive then +the requests with the body was not transferred. +</para> +</change> + +</changes> + + +<changes ver="0.3.26" date="03.02.2006"> + +<change type="change"> +<para lang="ru"> +директива optimize_host_names переименована в optimize_server_names. +</para> +<para lang="en"> +the "optimize_host_names" directive was renamed to the "optimize_server_names". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при проксировании подзапроса в SSI бэкенду передавался URI основного запроса, +если в директиве proxy_pass отсутствовал URI. +</para> +<para lang="en"> +if in the "proxy_pass" directive was no the URI part, then the main request +URI was transferred to a backend while proxying the SSI subrequest. +</para> +</change> + +</changes> + + +<changes ver="0.3.25" date="01.02.2006"> + +<change type="bugfix"> +<para lang="ru"> +при неверной конфигурации на старте или во время переконфигурации происходил +segmentation fault; +ошибка появилась в 0.3.24. +</para> +<para lang="en"> +the segmentation fault was occurred on start or while reconfiguration +if there was invalid configuration; +the bug had appeared in 0.3.24. +</para> +</change> + +</changes> + + +<changes ver="0.3.24" date="01.02.2006"> + +<change type="workaround"> +<para lang="ru"> +обход ошибки в kqueue во FreeBSD. +</para> +<para lang="en"> +for bug in FreeBSD kqueue. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ответ, создаваемый директивой post_action, теперь не передаётся клиенту. +</para> +<para lang="en"> +now a response generated by the "post_action" directive is not transferred +to a client. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +при использовании большого количества лог-файлов происходила утечка памяти. +</para> +<para lang="en"> +the memory leaks were occurring if many log files were used. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +внутри одного location работала только первая директива proxy_redirect. +</para> +<para lang="en"> +the first "proxy_redirect" directive was working inside one location. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +на 64-битных платформах при старте мог произойти segmentation fault, +если использовалось большое количество имён в директивах server_name; +ошибка появилась в 0.3.18. +</para> +<para lang="en"> +on 64-bit platforms segmentation fault may occurred on start +if the many names were used in the "server_name" directives; +the bug had appeared in 0.3.18. +</para> +</change> + +</changes> + + +<changes ver="0.3.23" date="24.01.2006"> + +<change type="feature"> +<para lang="ru"> +директива optimize_host_names. +</para> +<para lang="en"> +the "optimize_host_names" directive. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +ошибки при использовании переменных в директивах path и alias. +</para> +<para lang="en"> +in using of the variables in the "path" and "alias" directives. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_perl_module неправильно собирался на Linux и Solaris. +</para> +<para lang="en"> +the ngx_http_perl_module was incorrectly built on Linux and Solaris. +</para> +</change> + +</changes> + + +<changes ver="0.3.22" date="17.01.2006"> + +<change type="feature"> +<para lang="ru"> +модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape. +</para> +<para lang="en"> +the ngx_http_perl_module supports the $r->args and $r->unescape methods. +</para> +</change> + +<change type="feature"> +<para lang="ru"> +метод $r->query_string в модуле ngx_http_perl_module упразднён. +</para> +<para lang="en"> ... truncated to 1.0MB