您的位置:首页 > IT > 正文

OpenResty 1.21.4.2 预览版 RC1 发布

来源:OSCHINA     时间:2023-04-21 18:19:37

OpenResty 1.21.4.2 RC1 已发布,供社区测试使用。

OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

源码包

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


【资料图】

源码压缩包的 PGP:

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

Windows 二进制包

Win64 版本:

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

Win64 压缩包的 PGP:

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

Win32 版本:

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

Win32 压缩包的 PGP:

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

重点变更

本候选版本的重点变更有:

LuaJIT

避免在 C 语言中对可能包含 INT*_MIN 的有符号整数进行取反,因为最近的 C 语言编译器 “利用 “了未定义的行为,这完全改变了类似(k == -k)这样的表达式的含义。

更正了记录BC_VARG时的堆栈检查。

修正了对源于BC_ITERNBC_JLOOP的跟踪连接。

修正了math.floor()math.ceil()

从 Mike Pall 维护的上游https://github.com/luajit/luajit仓库同步了大量修改。

resty.core.time中实现了monotonic_msec()monotonic_time()

Apple Silicon FFI ABI 限制的解决方法。

用 FFI 重新实现了tcpsock:sslhandshake、coroutine wrapper 和ngx.req.is_internal

SSL/TLS 支持口令保护的私钥。

修正了通过ngx.req.raw_header获取格式错误请求 headers 时的 segmentation fault。

修正了潜在的空指针解引用。

lua-cjson模块

empty_array在 Apple 上不能工作,因为 cjson 没有比较 light userdata 地址和 masked 地址。由于我们在创建 lightuserdata 时使用了json_lightudata_mask,所以在比较touserdata的返回时也应该使用同样的掩码。

headers-more-nginx-module模块

修正了访问未初始化的指针时的崩溃问题。

lua-resty-websocket模块

增加了对 mtls 客户端证书的支持。

lua-resty-memcached模块

实现了init_pipeline(),commit_pipeline(), 和cancel_pipeline()

完整变更日志

自上一个(正式)版本 1.21.4.1 以来的完整变更记录请见:

http://openresty.org/en/ann-1021004002rc1.html

反馈

欢迎到GitHub issues创建新 issue 或者给邮件列表之一发送邮件, 或者到bbs讨论。

相关文章