How to Automate Managing Gateway Servers in K8s Environment (using OpenResty Edge)
OpenResty 1.15.8.1 Released
Thibault Charbonnier , 14 Aug 2019 (created 16 May 2019)We are happy to announce the new formal release, 1.15.8.1, of the OpenResty web platform based on NGINX and LuaJIT.
The (portable) source code distribution, the Win32/Win64 binary distributions, and the pre-built binary Linux packages for Ubuntu, Debian, Fedora, CentOS, RHEL, Amazon Linux are provided on this Download page.
This is the first OpenResty release based on the nginx 1.15.8 core.
Acknowledgments
Special thanks go to all our developers, sponsors, and contributors! Also thanks Thibault Charbonnier for his great help in preparing this release.
Version highlights
The highlights of this release candidate are:
Based on the very recent mainline nginx core 1.15.8.
Support for ARM64 (Aarch64) architectures. The underlying work for this feature allowed to speed up other architectures by up to ~10%.
We now load
resty.core
by default in ngx_lua and ngx_stream_lua. This behavior can be disabled with the new lua_load_resty_core directive. Note that theresty.core
implementation is both safer and faster, but also required for complete ARM64 support.New lua-resty-shell library for efficiently spawning sub-processes via the new ngx.pipe API.
New lua-resty-signal library for killing and sending signals to UNIX processes.
New lua-tablepool library for efficiently recycling Lua tables.
We dropped support for the standard Lua 5.1 interpreter, and vividly recommend the use of OpenResty's fork of LuaJIT.
-
- New ngx.pipe API which allows spawning sub-processes and communicating with them in a non-blocking way.
- Support for connections backlog queuing in cosockets via the new pool_size and backlog options of the tcpsock:connect() method.
- New tcpsock:receiveany() API for BSD-style receive.
ngx_stream_lua module
- New reqsock:peek() API for the ngx_stream_lua module, to peek into the preread buffer without consuming the data.
- We enabled support for ssl_certificate_by_lua* in the ngx_stream_lua module.
- We enabled support for the FFI-based shdict API, ngx.semaphore, and ngx.errlog.
-
- We now enable the GC64 mode of LuaJIT by default on x86_64 platforms. The 2G GC-managed memory limit is now gone by default on x86_64 (the new limit is 128 TB).
- Implemented a new table.isempty() API.
- Implemented a new table.isarray() API.
- Implemented a new table.nkeys() API.
All our new Lua API functions documentation can be found here: https://github.com/openresty/luajit2#new-api
Full Change logs
Complete change logs since the last (formal) release, 1.13.6.2, can be browsed in the page Change Log for 1.15.8.x.
Testing
We have run extensive testing on our Amazon EC2 test cluster and ensured that all the components (including the Nginx core) play well together. The latest test report can always be found here:
We also always run our OpenResty Edge commercial software based on the latest open source version of OpenResty in our own global CDN network (dubbed "mini CDN") powering our openresty.org and openresty.com websites. See https://openresty.com/ for more details.
Feedback
Feedback on this release is more than welcome. Feel free to create new GitHub issues or send emails to one of our mailing lists.