こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
先ほど nginx unitの最新バージョン 1.9.0がリリースされました。
http://mailman.nginx.org/pipermail/nginx-announce/2019/000242.html
Changelogs
変更履歴は、以下の通り。
https://unit.nginx.org/CHANGES.txt
Changes with Unit 1.9.0 30 May 2019
*) Feature: request routing by arguments, headers, and cookies.
*) Feature: route matching patterns allow a wildcard in the middle.
*) Feature: POST operation for appending elements to arrays in configuration.
*) Feature: support for changing credentials using CAP_SETUID and CAP_SETGID capabilities on Linux without running main process as privileged user.
*) Bugfix: memory leak in the router process might have happened when a client prematurely closed the connection.
*) Bugfix: applying a large configuration might have failed.
*) Bugfix: PUT and DELETE operations on array elements in configuration did not work.
*) Bugfix: request schema in applications did not reflect TLS connections.
*) Bugfix: restored compatibility with Node.js applications that use ServerResponse._implicitHeader() function; the bug had appeared in 1.7.
*) Bugfix: various compatibility issues with Node.js applications.
上記の中で「CAP_SETUID and CAP_SETGID」とありますが、
こちらはパーミッションチェックを行うために、UNIXドメインでソケット認証情報を渡す際のUID/GIDを変更するものです。
http://man7.org/linux/man-pages/man7/capabilities.7.html
Changelogs(日本語訳)
日本語訳は、以下の通りです。
Changes with Unit 1.9.0 30 May 2019
*)機能追加:引数、ヘッダー、そしてクッキーによるルーティングを要求できます。
*)機能追加:ルートマッチングパターンでは、途中でワイルドカードを使用できます。
*)機能追加:設定内の配列に要素を追加するためのPOST操作。
*)機能追加:Linuxにおいて、CAP_SETUIDおよびCAP_SETGID機能を使用して、特権ユーザーとしてメインプロセスを実行せずにクレデンシャル(認証)情報の変更をサポート。
*)バグ修正:クライアントが途中で接続を閉じると、ルータープロセスでメモリリークが発生する可能性があった。
*)バグ修正:大きな設定を適用すると失敗する可能性があった。
*)バグ修正:設定において、配列要素に対するPUTおよびDELETE操作が機能しなかった。
*)バグ修正:アプリケーションのリクエストスキーマがTLS接続を反映していなかった。
*)バグ修正:ServerResponse._implicitHeader()関数を使用するNode.jsアプリケーションとの互換性を修正した。 このバグは1.7で現れた。
*)バグ修正:Node.jsアプリケーションとのさまざまな互換性の問題を修正した。
1.9.0のインストール・1.9.0へのアップグレード
nginx unitを使用されている環境にもよりますが、
パッケージをレポジトリから取得する場合は「https://packages.nginx.org/unit/」、
Dockerコンテナ環境で使っているという場合は「https://hub.docker.com/r/nginx/unit/」で1.9.0が入手可能です。
私も早速、コンテナイメージを入手しておきました!!
Using default tag: latest
latest: Pulling from nginx/unit
6ae821421a7d: Pull complete
1c5f186b370f: Pull complete
72605056cce3: Pull complete
Digest: sha256:d57d08b62010e31c78523e3d6aed25cce1f4160e03bdd495c15afb98293f3a61
Status: Downloaded newer image for nginx/unit:latest
bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx/unit latest f6a28f9ca56a 4 hours ago 215MB
おまけ
nginx関連のリリース情報を追いかけている方は気づいてるかもしれませんが、
日本時間(JST)のAM3:00前後にリリース(及びアナウンス)されることがほとんどです。
常々、この時間って何に関係しているんだろうと思って気になっていたので、
今年の2月に開発者であるIgore Sysoevが来日した際に聞いたことがあります。
NGINX MeetUp Tokyo #2 - connpass
Igore曰く、
・Igoreが暮らしているモスクワの時間で、大体夕方から夜にかけての時間
※開発に携わっている技術者の業務開始は比較的ゆっくりなようで、この時間がちょうどいいらしい。
・NGINXの本社がサンフランシスコにあり、そちらの時差を考慮
とのことでした。
わざわざMailing Listで質問するような内容でもないし、
来日した際にきけて、少しモヤモヤが解消してよかったですw
また、nginxに興味が湧いた方は、
ぜひ以下のMailing Listを登録しちゃってください!
http://mailman.nginx.org/mailman/listinfo