OpenResty 1.21.4.2 RC1 is out
We have just kicked out a new release candidate, OpenResty 1.21.4.2 RC1, for the community to test out.
Source package
https://openresty.org/download/openresty-1.21.4.2rc1.tar.gz
PGP for this source tarball:
https://openresty.org/download/openresty-1.21.4.2rc1.tar.gz.asc
Windows binary packages
Win64 version:
https://openresty.org/download/openresty-1.21.4.2rc1-win64.zip
PGP for the Win64 zip file:
https://openresty.org/download/openresty-1.21.4.2rc1-win64.zip.asc
Win32 version:
https://openresty.org/download/openresty-1.21.4.2rc1-win32.zip
PGP for the Win32 zip file:
https://openresty.org/download/openresty-1.21.4.2rc1-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:
- LuaJIT
- Avoid negation of signed integers in C that may hold INT*_MIN, since recent C compilers ‘take advantage’ of the undefined behavior, this completely changes the meaning of expressions like
(k == -k)
. - Correct fix for stack check when recording
BC_VARG
. - Fix trace join to
BC_JLOOP
originating fromBC_ITERN
. - Fix
math.floor()
andmath.ceil()
. - Many fixes imported from Mike Pall’s upstream https://github.com/luajit/luajit repository.
- Avoid negation of signed integers in C that may hold INT*_MIN, since recent C compilers ‘take advantage’ of the undefined behavior, this completely changes the meaning of expressions like
- Implemented
monotonic_msec()
andmonotonic_time()
inresty.core.time
. - Apple Silicon FFI ABI limitation workaround.
- Reimplemented
tcpsock:sslhandshake
, coroutine wrapper, andngx.req.is_internal
with FFI. - SSL/TLS supports passphrase protected private key.
- Fixed a segmentation fault when get headers via
ngx.req.raw_header
with malformed requests. - Fixed potential null pointer dereference.
- lua-cjson module
empty_array
can not work on Apple because cjson did not compare light userdata address with masked address. Since we usedjson_lightudata_mask
when creating lightuserdata, same mask should be applied when comparing the return oftouserdata
.
- headers-more-nginx-module module
- Fixed crash while accessing uninitialized pointer.
- lua-resty-websocket module
- Added mtls client cert support.
- lua-resty-memcached module
- Implemented
init_pipeline()
,commit_pipeline()
, andcancel_pipeline()
.
- Implemented
Full Changelog
Complete change logs since the last (formal) release, 1.21.4.1, see:
http://openresty.org/en/ann-1021004002rc1.html
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.