<ChangeLog>
* bugfix: the on-demand handler/filter registration mechanism did
not work fully for config reload via the HUP signal.
* bugfix: when setting a multi-value response header to a single
value, the single value might be repeated on each old value.
* feature: added some debugging outputs that can be enabled by
the --with-debug option when building nginx or ngx_openresty.
* bugfix: we should set header hash using ngx_hash_key_lc, not
simply to 1.
* bugfix: Setting Cache-Control response headers might not work
with other nginx output filter modules because we did not
properly prepare the r->cache_control array at the same time.
* bugfix: more_set_input_headers and more_clear_input_headers did
not handle the Accept-Encoding request headers properly.
* bugfix: the more_set_input_headers directive might cause invalid
memory reads because Nginx request header values must be null
terminated. thanks Maxim Dounin.
* bugfix: removing builtin headers in huge request headers with 20+
entries could result in data loss. thanks Chris Dumoulin for the
patch in github issue #6.
</ChangeLog>
o) arrayvar, add support for array variables to nginx config files;
o) encrypted-session, for encrypt and decrypt nginx variable values;
o) form-input, reads HTTP POST and PUT request body encoded in
"application/x-www-form-urlencoded", and parse the arguments in
request body into nginx variables;
o) iconv, to convert characters of different encoding (by libiconv).
Also, switched from default lua interpreter to luajit - a Lua Just-In-Time compiler
for speed-up lua module based applications (nginx's configurations).
Fix issue with %%PREFIX%% substitution for lua module.
o) drizzle - an upstream module that talks to mysql and drizzle by libdrizzle;
o) rds_csv - an output filter module to convert Resty-DBD-Streams (RDS) to
Comma-Separated Values (CSV);
o) rds_json - an output filter that formats Resty DBD Streams generated by
ngx_drizzle and others to JSON.
Do not bump PORTREVISION because these modules disabled by default.
Remove needless extra patch.
Update third-party upload_progress module from 0.8.2 to 0.8.3.
Change the download page to github.com.
Do not bump PORTREVISION because these modules disabled by default.
Also remove needless patch.
Do not bump PORTREVISION because these modules disabled by default.
<ChangeLog>
* Improve debug logging.
From Yichun Zhang (agentzh).
* Fix compatibility with poll, select and /dev/poll event models.
Reported by Yichun Zhang (agentzh).
* Fix compatibility with PostgreSQL 9.x.
Reported by Yichun Zhang (agentzh).
* Fix compatibility with nginx-1.1.4+.
From Yichun Zhang (agentzh).
* Enforce writing of proper SQL queries by replacing "row <row>"
output format with "text" and returning whole result-set with
values separated by newlines when using "postgres_output"
directive.
* Enforce writing of proper SQL queries by requiring result-set
to contain exactly single value when using "binary_value" or
"value" output formats when using "postgres_output" directive.
* Fix "duplicated last chunk" issue.
Reported by Silly Sad, diagnosed by Maxim Dounin.
* Improve build-time PostgreSQL client library discovery process
by using PostgreSQL's pg_config.
Patch from Silly Sad.
</ChangeLog>
<ChangeLog>
*) 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.
</ChangeLog>
<ChangeLog>
* Fix on-disk cache size calculation.
Since the initial release, recorded on-disk cache size was
decreased twice for purged content (once during cache purge
and once during subsequent cache update).
This resulted in recorded on-disk cache size being much
smaller than in reality, which could lead to on-disk cache
outgrowing defined "max_size" parameter.
Patch from Pyry Hakulinen.
</ChangeLog>
The only one third-party subs filter module using
ngx_regex_capture_count(), add as extra patch.
<ChangeLog>
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.
</ChangeLog>
Remove DEVEL_KIT_MODULE from OPTIONS, because the devel_kit module
is used as a toolkit for other modules.
Add internal USE_NGINX_DEVEL_KIT variable.
Cleanup whitespaces.
Do not bump PORTREVISION because these modules disabled by default.
Feature safe: yes
PR: 163148 (mostly)
Feature safe: yes.
<ChangeLog>
*) 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.
</ChangeLog>
Feature safe: yes.
<ChangeLog>
*) 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.
</ChangeLog>
Update syslog patch.
<ChangeLog>
*) Feature: support of several resolvers in the "resolver" directive.
Thanks to Kirill A. Korinskiy.
*) Bugfix: a segmentation fault occurred on start or while
reconfiguration if the "ssl" directive was used at http level and
there was no "ssl_certificate" defined.
*) Bugfix: reduced memory consumption while proxying of 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.
</ChangeLog>
Update WWW.
<ChangeLog>
*) 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.
</ChangeLog>
<ChangeLog>
*) 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.
</ChangeLog>
Remove third-party upstream_keepalive module, in the base now.
Update third-party http_redis module from 0.3.4 to 0.3.5.
Update third-party http_gunzip_filter module from 0.3 to 0.4.
Add patch for ngx_postgres module.
Note: nginx-1.1.4 release introduces several API changes which may
affect 3rd party modules.
<ChangeLog>
Changes with nginx 1.1.4
*) 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 http_redis 0.3.5
*) Feature: add test for not set $redis_db directive.
*) Feature: keep-alive support merged from original
memcached module 1.1.4.
Changes with http_gunzip 0.4
*) Feature: support for nginx 1.1.4.
</ChangeLog>
Original http_mp4 and third-party http_mp4_h268 modules are
incompatible, add note about.
Change state from BROKEN to IGNORE for building third-party lua
module with devel_kit module.
<ChangeLog>
*) 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.
</ChangeLog>
<ChangeLog>
*) 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.
</ChangeLog>
o) www/rubygem-passenger; [1]
o) passenger support for www/nginx and www/nginx-devel;
Remove needless patch.
Do not bump PORTREVISION because passenger third-party module
disabled by default.
Approved by: maintainer [1]
<ChangeLog>
*) Change: better error messages diagnostics in select phase.
*) Add more comments in source code.
*) Bugfix: fix interaction with redis if redis_db was unused.
Found by Sergey Makarov.
Thanks to Igor Sysoev.
*) Feature: add test suite for redis backend.
Thanks to Maxim Dounin.
</ChangeLog>
Do not bump PORTREVISION.
<ChangeLog>
*) Change: now cache loader processes either as many files as specified
by "loader_files" parameter or works no more than time specified by
"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 build 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 incorrectly processed 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 a 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.
</ChangeLog>
1) www/rubygem-passenger;
2) passenger support for www/nginx and www/nginx-devel;
Also add patch for fix NULL pointer crash that occurs when
HTTP 1.0 Host header isn't given, obtained from passenger's
upstream.
Approved by: maintainer [1]
<ChangeLog>
*) 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.
</ChangeLog>
directly from MongoDB's GridFS.
Update nginx_redis2 module from 0.7rc5 to 0.7.
Fix compile mod_zip module.
Move down CHUNKIN_MODULE in OPTIONS.
Bump PORTREVISION is unnecessary, because these modules are
disabled by default.
Fix third-party accept_language fetch by moving to github.
<ChangeLog>
*) 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.
</ChangeLog>
o) chunkin-nginx-module - HTTP 1.1 chunked-encoding request body support;
o) xss-nginx-module - native cross-site scripting support in nginx.
Update nginx_eval_module to the latest version 1.0.3, move MASTER_SITES
to github.
Bump PORTREVISION is unnecessary, because these modules are
disabled by default.
o) ngx_postgres-0.8 - upstream module that allows nginx to
communicate directly with PostgreSQL database.
Bump PORTREVISION is unnecessary, because these modules are
disabled by default.
o) ngx_devel_kit - module that is designed to extend the core
functionality of nginx;
o) ngx_lua - embed the power of lua into nginx;
o) ngx_redis2 - upstream module for the Redis database 2.0 protocol.
Bump PORTREVISION is unnecessary, because these modules are
disabled by default.
Use more or less canonical name for github.com MASTER_SITES.
Fix fetch for third-party module memc.
Bump PORTREVISION is unnecessary, because these modules are
disabled by default.
o) echo from 0.34 to 0.36;
o) headers_more from 0.14 to 0.15;
o) memc from 0.11 to 0.12.
Change default MASTER_SITES for these modules from MASTER_SITE_LOCAL
to http://download.github.com/.
Fix whitespaces.
Bump PORTREVISION is unnecessary, because these modules are
disabled by default.
Do not bump PORTREVISION.
<ChangeLog>
*) Bugfix: fix interaction with redis if redis_db was used.
Also, compile with -Werror now is possible.
</ChangeLog>
<ChangeLog>
*) 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.
</ChangeLog>
<ChangeLog>
*) 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 reponse 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.
</ChangeLog>
<ChangeLog>
*) 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.
</ChangeLog>
Update CONFLICTS.
Also update third party modules:
o) ngx_cache_purge from 1.2 to 1.3;
o) ngx_slowfs_cache from 1.5 to 1.6.
<ChangeLog>
*) 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.
</ChangeLog>
Do not bump PORTREVISION.
<ChangeLog>
*) Bugfix: the "[alert] ... open socket ... left in connection ..."
messages were logged on nginx worker process gracefull exit for
each cached connection; the bug had appeared in 0.3.
</ChangeLog>
1) www/rubygem-passenger;
2) passenger support for www/nginx and www/nginx-devel;
update passenger's version for patches.
3) for speed-up rails applications build passenger without
debugging information by default. Otherwise WITH_DEBUG
required.
Approved by: maintainer [1,3]
For speed-up rails applications don't build debugging information for
passenger module by default. Otherwise WITH_DEBUG required.
Remove needless nginx.8 for www/nginx, now its in the distro.
<ChangeLog>
*) 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.
</ChangeLog>
<ChangeLog>
*) 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.
</ChangeLog>