OpenResty 1.21.4.2 プレビュー版 RC1 リリース
コミュニティによるテスト用に、新しい候補版である OpenResty 1.21.4.2 RC1 をリリースいたしました。
ソースパッケージ
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_ITERN
に由来するBC_JLOOP
のトレース連結を修正しました。math.floor()
とmath.ceil()
を修正しました。- Mike Pall 氏が管理する上流リポジトリ https://github.com/luajit/luajit から多数の変更を同期しました。
- C 言語において、INT*_MIN を含む可能性のある符号付き整数の否定を避けるようにしました。最近の C コンパイラが未定義の動作を「利用」し、
resty.core.time
にmonotonic_msec()
とmonotonic_time()
を実装しました。- Apple Silicon FFI ABI の制限に対するワークアラウンドを実装しました。
tcpsock:sslhandshake
、coroutine wrapper、ngx.req.is_internal
を FFI を使用して再実装しました。- SSL/TLS でパスワード保護された秘密鍵のサポートを追加しました。
ngx.req.raw_header
を通じて不正な形式のリクエストヘッダーを取得する際のセグメンテーションフォールトを修正しました。- 潜在的なヌルポインタ参照外しを修正しました。
- lua-cjson モジュール
- cjson が light userdata アドレスとマスクされたアドレスを比較していなかったため、Apple 上で
empty_array
が機能しませんでした。light userdata 作成時にjson_lightudata_mask
を使用しているため、touserdata
の戻り値を比較する際にも同じマスクを使用するべきです。
- cjson が light userdata アドレスとマスクされたアドレスを比較していなかったため、Apple 上で
- 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 を作成するか、メーリングリストのいずれかにメールを送信するか、または フォーラム でディスカッションしていただければ幸いです。