[ANN] OpenResty 1.7.7.2 RC1 now available for testing

60 views
Skip to first unread message

Yichun Zhang (agentzh)

unread,
Jan 21, 2015, 7:18:41 PM1/21/15
to openresty-en, openresty
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
Reply all
Reply to author
Forward
0 new messages