Hi folks!
I've just kicked out OpenResty 1.7.7.2 RC1 for testing:
http://openresty.org/download/ngx_openresty-1.7.7.2rc1.tar.gz
The highlights of this release are
1. the SSL/TLS support in the websocket client of lua-resty-websocket.
2. an enhanced version of "resty" command-line utility supporting user
command-line arguments and some more handy options.
Thanks to all our contributors and users :)
Changes since the last (formal) release,
1.7.7.1:
* bundled the "resty" command-line utility (version 0.01) from the
resty-cli project:
https://github.com/openresty/resty-cli
* bugfix: the resty utility could not start when the nginx was
built with "./configure --conf-path=PATH" where "PATH" was
not "conf/nginx.conf". thanks Zhengyi Lai for the report.
* feature: added support for user-supplied arguments which the
user Lua scripts can access via the global Lua table "arg",
just as in the "lua" and "luajit" command-line utilities.
thanks Guanlan Dai for the patch.
* feature: added new command-line option "--nginx=PATH" to
allow the user to explicitly specify the underlying nginx
executable being invoked by this script. thanks Guanlan Dai
for the patch.
* added support for multiple "-I" options to specify more than
one user library search paths. thanks Guanlan Dai for the
patch.
* feature: print out resty's own version number when the -V
option is specified.
* feature: resty: added new options "--valgrind" and
"--valgrind-opts=OPTS".
* upgraded the ngx_set_misc module to 0.28.
* feature: added the set_base32_alphabet config directive to
allow the user to specify the alphabet used for base32
encoding/decoding. thanks Vladislav Manchev for the patch.
* bugfix: set_quote_sql_str: we incorrectly escaped 0x1a to
"\z" instead of "\Z".
* change: the old set_misc_base32_padding directive is now
deprecated; use set_base32_padding instead.
* upgraded the ngx_lua module to 0.9.14.
* bugfix: ngx.re.gsub/ngx.re.sub incorrectly swallowed the
character right after a 0-width match that happens to be the
last match. thanks Guanlan Dai for the patch.
* bugfix: tcpsock:setkeepalive(): we did not check "NULL"
connection pointers properly, which might lead to
segmentation faults. thanks Yang Yue for the report.
* bugfix: ngx.quote_str_str() incorrectly escaped "\026" to
"\z" while "\Z" is expected. thanks laodouya for the
original patch.
* bugfix:
ngx.timer.at: fixed a small memory leak in case of
running out of memory (which should be extremely rare
though).
* optimize: minor optimizations in timers.
* feature: added the Lua global variable "__ngx_cycle" which
is a lightuserdata holding the current "ngx_cycle_t"
pointer, which may simplify some FFI-based Lua extensions.
* doc: added a warning for the "share_all_vars" option for
ngx.location.capture*.
* upgraded the lua-resty-core library to 0.1.0.
* bugfix: resty.core.regex: data corruptions might happen when
recursively calling ngx.re.gsub via the user replacement
function argument because of incorrect reusing a globally
shared captures Lua table. thanks James Hurst for the
report.
* bugfix: ngx.re.gsub: garbage might get injected into gsub
result when "ngx.*" API functions are called inside the user
callback function for the replacement. thanks James Hurst
for the report.
* feature: resty.core.base: added the "FFI_BUSY" constant for
"NGX_BUSY".
* upgraded the lua-resty-lrucache library to 0.04.
* bugfix: resty.lrucache.pureffi: set(): it did not update to
the new value at all if the key had an existing value
(either stale or not). thanks Shuxin Yang for the patch.
* upgraded the lua-resty-websocket library to 0.05.
* feature: resty.websocket.client: added support for SSL/TLS
connections (i.e., the "wss://" scheme). thanks Vladislav
Manchev for the patch.
* doc: mentioned the bitop library dependency when using the
standard Lua 5.1 interpreter (this is not needed for LuaJIT
because it is already built in). thanks Laurent Arnoud for
the patch.
* upgraded LuaJIT to v2.1-20150120:
https://github.com/openresty/luajit2/tags
* imported Mike Pall's latest changes:
* bugfix: don't compile "IR_RETF" after "CALLT" to ff with
side effects.
* bugfix: fix "BC_UCLO"/"BC_JMP" join optimization in Lua
parser.
* bugfix: fix corner case in string to number conversion.
* bugfix: x86: fix argument checks for "ipairs()"
iterator.
* bugfix: gracefully handle "lua_error()" for a suspended
coroutine.
* x86/x64: Drop internal x87 math functions. Use libm
functions.
* x86/x64: Call external symbols directly from interpreter
code. (except for ELF/x86 PIC, where it's easier to use
wrappers.)
* ARM: Minor interpreter optimization.
* x86: Minor interpreter optimization.
* PPC/e500: Drop support for this architecture.
* MIPS: Fix excess stack growth in interpreter.
* PPC: Fix excess stack growth in interpreter.
* ARM: Fix excess stack growth in interpreter.
* ARM: Fix write barrier check in "BC_USETS".
* ARM64: Add build infrastructure and initial port of
interpreter.
* OpenBSD/x86: Better executable memory allocation for
W^X mode.
Feedback welcome!
Best regards,
-agentzh