OpenResty® Scalable Web Platform by Extending NGINX with Lua

OpenResty XRay

Advanced observability built for OpenResty and more

×

limited time offer

Request TRIAL today and receive a diagnostic REPORT
Learn more

OpenResty 1.19.9.1 RC1 is out

jiahao , 04 Jun 2021 (created 17 May 2021)

We have just kicked out a new release candidate, OpenResty 1.19.9.1 RC1, for the community to test out.

Source package

https://openresty.org/download/openresty-1.19.9.1rc1.tar.gz

PGP for this source tarball:

https://openresty.org/download/openresty-1.19.9.1rc1.tar.gz.asc

Windows binary packages

Win64 version:

https://openresty.org/download/openresty-1.19.9.1rc1-win64.zip

PGP for the Win64 zip file:

https://openresty.org/download/openresty-1.19.9.1rc1-win64.zip.asc

Win32 version:

https://openresty.org/download/openresty-1.19.9.1rc1-win32.zip

PGP for the Win32 zip file:

https://openresty.org/download/openresty-1.19.9.1rc1-win32.zip.asc

Acknowledgments

Special thanks go to all our developers and contributors! Also thanks Junlong Li, and Jiahao Wang for their help in preparing this release.

Version highlights

The highlights of this release candidate are:

  • Based on a very recent mainline NGINX core 1.19.9.
  • Many fixes imported from Mike Pall's upstream LuaJIT repository.
  • Introduce a new macro LUAJIT_TEST_FIXED_ORDER for fixed-order traversal of lua tables.
  • When lua failed in requesting memory, instead of graceful shutdown, abort() is called.
  • Now the get_ctx_table supports using the ctx table from caller, and that will reduce the cost of creating a new ctx table.
  • Fixed the bug that the metatable was not cleared when clearing the content of lua table when using lua-tablepool.
  • For a better performance when using lua-tablepool, discard the objects when the pool size is larger than the max_pool_size.
  • Implemented ngx.process API for stream subsystem.

Full Changelog

Complete change logs since the last (formal) release, 1.19.3.2:

  • upgraded ngx_lua to 0.10.20rc1.
    • bugfix: changed from graceful shutdown to abort when lua_resume return LUA_ERRMEM. Thanks lijunlong for the patch.
    • bugfix: correct the way to handle invalid quote in ngx.escape_uri/ngx.req.get_{uri,post}_args. Thanks Suika for the patch.
    • bugfix: fix possible null pointer dereference found by Coverity. Thanks Ilya Shipitsin for the patch.
    • bugfix: fixed memory leak in debug log. Thanks Hawker for the patch.
    • bugfix: we closed listener's fd which was closed. Thanks spacewander for the patch.
  • upgraded ngx_stream_lua to 0.0.10rc2.
    • bugfix: changed from graceful shutdown to abort when lua_resume return LUA_ERRMEM. Thanks lijunlong for the patch.
    • bugfix: wrong source address for the replying packet when received udp packet via req.socket on secondary address. Thanks lijunlong for the patch.
    • bugfix: fix possible null pointer dereference found by Coverity. Thanks Ilya Shipitsin for the patch.
    • bugfix: fixed memory leak in debug log. Thanks Hawker for the patch.
    • bugfix: ignore the raw argument when acquiring UDP request socket. Thanks Datong Sun for the patch.
  • upgraded lua-resty-core to v0.1.22rc1
    • feature: expose the get_ctx_table API to get the ctx table, and support using ctx table from caller when the ctx table does not exists. Thanks doujiang24 for the patch.
    • feature: implemented ngx.process API for stream subsystem. Thanks WANG HUI for the patch.
    • bugfix: should compare to nil to check if a cdata is NULL. Thanks lijunlong for the patch.
    • change: it is harmful to set ngx.ctx to a non-table value. Thanks spacewander for the patch.
  • upgraded lua-tablepool to v0.02
    • bugfix: should also clear the metatable when clearing key values of a table. Thanks doujiang24 for the patch.
    • change: discard the object simply when the pool size is large than max_pool_size, so that we can get better performance. Thanks doujiang24 for the patch.
  • upgraded lua-resty-memcached to v0.16rc1
    • change: use preferred settimeouts instead of settimout. Thanks Elvin Efendi for the patch.
  • upgraded lua-resty-dns to v0.22rc1
    • feature: add no_random option. Thanks Thijs Schreijer for the patch.
  • upgraded lua-resty-mysql to v0.24rc1
    • bugfix: 64-bit integer values in the MySQL packets (like last insert_id) could not be properly parsed due to LuaJIT's BitOp functions return results in the range of signed 32 bit numbers. Thanks doujiang24 for the patch.
  • upgraded opm to v0.0.6rc1
    • feature: web: support displaying and searching package docs. Thanks xlibor for the patch.
    • change: print usage if no command specified. Thanks tison for the patch.
    • feature: web: improvements for the website UI. Thanks xlibor for the patch.
  • upgraded resty-cli to v0.28rc1
    • bugfix: share dict name can be upper letter & numbers. Thanks Zhenzhen Zhao for the patch.
    • bugfix: resty: win32: we should search for *.ljbc files first too.
  • upgraded lua-resty-lrucache to v0.11rc1
    • bugfix: set num_items to zero when flushall. Thanks hnlq715 for the patch.
  • upgraded lua-resty-string to v0.14rc1
    • change: added parameter check for aes.lua. Thanks lijunlong for the patch.
    • feature: added aes gcm encryption/decryption algorithm. Thanks lijunlong for the patch.
    • bugfix: segmentation fault while decoding because the wrong output size buffer. Thanks Miroslav Nový for the patch.
  • upgraded lua-resty-signal 0.03rc1
    • change: the signum method return correct value on different system now, not only for linux. Thanks xiaobiaozhao for the patch.
  • upgraded LuaJIT to 2.1-20210510.
    • change: Introduce a new macro LUAJIT_TEST_FIXED_ORDER for testing so that lua table would have predictable key iteration order.
    • bugfix: Fix trace exit register dump for some archs.
    • bugfix: FFI: Fix recording of union initialization.
    • bugfix: x64: Fix __call metamethod return dispatch.
    • bugfix: Fix binary number literal parsing.
    • feature: enable debuginfo in our luajit build by default.

Feedback

Feedback on this new release candidate is most welcome. Feel free to create new GitHub issues or contact us via one of our mailing lists.