コミュニティによるテスト用に、新しい候補版である 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 から多数の変更を同期しました。
  • resty.core.timemonotonic_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 の戻り値を比較する際にも同じマスクを使用するべきです。
  • 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 を作成するか、メーリングリストのいずれかにメールを送信するか、または フォーラム でディスカッションしていただければ幸いです。