推奨モジュールの更新情報(2024年5月)
Kong Gatewayに関する更新情報
2024年05月29日に、Kong Gatewayのバージョン3.7.0がリリースされました。このバージョンには80件の更新が含まれ、その内訳は機能改善が3件、重大な変更が1件、依存関係が18件、機能が17件、不具合対応が39件、Kong Manager関連が2件でした。
更新情報のソース:https://github.com/Kong/kong/blob/release/3.7.0/changelog/3.7.0/3.7.0.md
機能改善
パフォーマンス
- 内部フックメカニズムをリファクタリングすることでプロキシパフォーマンスが向上しました。 #12784 KAG-3653
- router_flavor設定にtraditional_compatibleまたはexpressionsを指定した場合のルーターマッチングを高速化しました。 #12467 KAG-3653
プラグイン
- Opentelemetry : キューの最大バッチサイズを200に引き上げました。 #12488 KAG-3173
重大な変更
プラグイン
- AI Proxy : Anthropicの新しいメッセージAPIをサポートするため、llm/v1/chatルートタイプにおけるAnthropicの上流パスを/v1/completeから/v1/messagesに変更しました。 #12699 FTI-5770
依存関係
コア機能
- atc-routerを6.0からv1.6.2に更新しました。 #12231 KAG-3403
- libexpatを6.2に更新しました。 #12910 CVE-2023 CVE-2013 CVE-2024 KAG-4331
- lua-kong-nginx-moduleを8.0から0.11.0に更新しました。 #12752 KAG-4050
- lua-protobufを5.1に更新しました。 #12834
- lua-resty-acmeを13.0に更新しました。 #12909 KAG-4330
- lua-resty-awsを3.6から1.4.1に更新しました。 #12846 KAG-3424 FTI-5732
- lua-resty-lmdbを4.1から1.4.2に更新しました。 #12786
- lua-resty-opensslを2.0から1.3.1に更新しました。 #12665
- lua-resty-timer-ngを2.7に更新しました。 #12756 KAG-3653
- PCREをlibpcre 8.45からlibpcre2 10.43に更新しました。 #12366 KAG-3571 KAG-3521 KAG-2025
- penlightを14.0に更新しました。 #12862
デフォルト
- DEB Dockerイメージにtzdataパッケージを追加して、タイムゾーンの設定の利便性を改善しました。 #12609 FTI-5698
- lua-resty-httpを17.2に更新しました。 #12908
- LuaRocksを9.2から3.11.0に更新しました。 #12662 KAG-3883
- ngx_wasm_moduleを91d447ffd0e9bb08f11cc69d1aa9128ec36b4526に更新しました。 #12011
- V8バージョンを0.267.17に更新しました。 #12704
- Wasmtimeバージョンを0.0に更新しました。 #12011
- 予期しない入力を処理する際のlua-cjsonの堅牢性を改善しました。 #12904 KAG-4275
機能
構成
- OpenSSL 3.xでは、1以下がデフォルトで無効になりました。 #12556 KAG-3259
- パラメータnginx_wasm_main_shm_kvを追加しました。Wasmフィルターが名前空間のキーなしでProxy-Wasm操作のget_shared_dataおよびset_shared_dataが使用できるようになりました。 #12663
- Schema : 非推奨フィールドの識別用に非推奨フィールド属性を追加しました。 #12686 KAG-3915
- 個別フィルターを有効にするための構成パラメータwasm_filtersを追加しました。 #12843 KAG-4211
コア機能
- 匿名レポートにevents:ai:response_tokens、events:ai:prompt_tokens、events:ai:requestsを追加し、AI使用状況の集計を開始しました。 #12924
- ルーターをexpressionsフレーバーに設定してCP実行する場合の設定処理を改善しました。
- 混合設定が検出され、低いDPがCPにアタッチされている場合、設定を送信しません。
- CPで式が無効な場合、設定を送信しません。
- DPで式が無効な場合、その式はDPに送信されます。その後、DPは無効な式を検証し、問題をキャッチしてCPに通知します。(部分的な設定適用が発生する可能性があります)
- router_flavorがexpressionsの場合、ルートエンティティは次のフィールドをサポートします : methods、hosts、paths、headers、snis、sources、destinations、regex_priorit。これらのフィールドの意味は従来のルートエンティティと同様です。 #12667 KAG-3805 KAG-3807
PDK
- ログシリアライザにreceiveプロパティを追加しました。 #12730 KAG-3798
プラグイン
- model_options配下のプラグイン構成パラメータはデフォルト値としてのみ機能し、AI Proxyはほとんどのプロンプト チューニング パラメータをクライアントから読み取るようになりました。この修正によって、各プロバイダのネイティブSDK使用がサポートされます。 #12903 KAG-4126
- AI Proxyにroute_typeのpreserveオプションが追加され、リクエストとレスポンスが直接アップストリームのLLMへ渡せるようになりました。この修正によって、AIサービスを呼び出す際に使用されるさまざまなモデルやSDKとの互換性が確保されます。 #12903 KAG-4126
- Prometheus : Prometheusプラグインメトリクスにワークスペースラベルを追加しました。 #12836 FTI-5573
- AI Proxy: サポートしているプロバイダにおいて、イベントごとのレスポンスをクライアントにストリーミングで送信する機能を追加しました。 #12792 KAG-4124
- AI Prompt Guard: 許可をよび拒否パラメータの正規表現の最大長を 500 に引き上げました。 #12731 FTI-5767
- JWT プラグインにEdDSAアルゴリズムのサポートを追加しました。 #12726
- JWT プラグインにES512、PS256、PS384、PS512アルゴリズムのサポートを追加しました。 #12638 KAG-3821
- OpenTelemetry、Zipkin : プロパゲーションモジュールを改良しました。新しいオプション設定によって、トレース ヘッダーのプロパゲーション構成がより適切に制御できます。 #12670 KAG-1886 KAG-1887
デフォルト
- EmmyLuaDebuggerを使用したデバッグのサポートを追加しました。ただしこの機能は技術プレビュー中で、現時点では Kong Inc.によって正式にサポートされていません。 #12899 KAG-4316
不具合対応
CLIコマンド
- CLIの引数で–db-timeoutが明示的に指定されているかに関わらずpg_timeoutの値が60sに上書きされてしまう問題を修正しました。 #12648 KAG-3360
構成
- conf.defaultドキュメントにおけるupstream_keepalive_max_requestsオプションのデフォルト値を1000から10000に修正しました。 #12643 KAG-3360
- 外部プラグイン(Go、Javascript、またはPython)が管理API経由でプラグイン構成を変更できない問題を修正しました。 #12718 KAG-3949
- proxy-wasmからのLua DNSリゾルバの使用をデフォルトでは無効にしました。 #12825 KAG-4277
- ssl_cipher_suiteがoldに設定されている場合、gRPCのTLSセキュリティレベルを0に設定します。 #12613 KAG-3259
コア機能
- POST /config?flatten_errors=1を送信した際、入力値に重複したアップストリームターゲットが含まれていた場合、適切なレスポンスが返されなかった問題を修正しました。 #12797 KAG-4144
- DNS Client: resolv.confのタイムアウトオプションに正ではない値が含まれていた場合は、これ無視してデフォルト値である2秒が適用されるようになりました。 #12640 FTI-5791
- logrotateのファイル権限を644に修正しました。 #12629 FTI-5756
- ハイブリッドモードのDP群にて、vault参照で構成された証明書エンティティが時間どおりに更新されない可能性がある問題を修正しました。 #12868 FTI-5881
- リクエストデバッグの出力に欠落していたルーターセクションを修正しました。 #12234 KAG-3438
- ミューテックスがロック解除されない可能性がある内部キャッシュ ロジックの問題を修正しました。 #12743
- ルートの設定が変更されたときにルーターが正しく動作しない問題を修正しました。 #12654 KAG-3857
- SNIベースのルーティングがtls_passthroughとtraditional_compatibleルーターフレーバーを使用した時に機能しない問題を修正しました。 #12681 KAG-3922 FTI-5781
- confファイルのheadersパラメータにX-Kong-Upstream-Statusを設定していても、Proxy Cacheプラグインによってレスポンスがキャッシュされ返された場合にレスポンスヘッダーが表示されなくなるバグを修正しました。 #12744 FTI-5827
- vaultの初期化を修正しました。init_workerでvault参照の解決を延期することで、初期化を行うようにしました。 #12554 KAG-2907
- TTLが設定されていない場合でもvaultシークレットが更新されるバグを修正しました。 #12877 FTI-5906 FTI-5916
- Vault: プレフィックスでVaultエンティティを取得する際に、誤った(デフォルトの)ワークスペース識別子を使用しないように修正しました。#12572 FTI-5762
- Core: バランサーのstop_healthchecks関数にて予期せず発生したtable nilパニックを修正しました。#12865
- 特権エージェントのワーカーIDとして-1を使用し、アクセスの問題を回避できるように修正しました。 #12385 FTI-5707
- Plugin Server: KongがMessagePackベースのプラグインサーバー(PythonやJavascriptのプラグインで使用される)を適切に再起動できない問題を修正しました。 #12582 KAG-3765
- ダウンストリーム接続がHTTP/2またはHTTP/3ストリームモードである場合にread_body() APIのハードコードされた制限をOpenResty upstreamsの新しいバージョンに戻しました。#12658 FTI-5766 FTI-5795
- それぞれのKongキャッシュインスタンスが独自のクラスターイベントチャネルを使用するように修正しました。キャッシュの無効化イベントが分離され、不要なワーカーイベントの生成が減少します。 #12321 FTI-5559
- AIプラグインのテレメトリ収集を更新して、同じリクエストに複数のプラグインデータを設定できるように修正しました。 #12583 KAG-3759 KAG-4124
PDK
- PDK:ctx.host_portに誤って保存された文字列値によってkong.request.get_forwarded_portが常に数値を返していた問題を修正しました。#12806 KAG-4158
- ログシリアライザペイロード内のkongの値からレスポンス受信時間が削除され、X-Kong-Proxy-Latencyレスポンスヘッダーと同じ値となるように修正しました。レスポンス受信時間は新しいlatencies.receiveメトリックに記録されるため、従来の値が必要な場合はlatencies.kong + latencies.receiveで計算可能です。注:これ変更はログシリアライザを使用するすべてのログプラグイン(file-log、tcp-log、udp-log、http-log、syslog、およびloggly)に影響します。 #12795 KAG-3798
- Tracing:トレースIDの解析の堅牢性を向上させました。 #12848 KAG-4218
プラグイン
- AI-proxy-plugin:route_typeが/llm/v1/chatの場合、レスポンスに解析情報が含まれていなかった問題を修正しました。 #12781 FTI-5769
- ACME:ACME更新中に証明書が正常に更新されない問題を修正しました。 #12773 KAG-4008
- AWS-Lambda:AWS Lambda API リクエストに起因するレイテンシがKongのレイテンシの一部としてカウントされていた問題を修正しました。 #12835 FTI-5261
- Jwt:ES384およびES512アルゴリズムに無効なパブリックキーを使用するとプラグインが失敗する問題を修正しました。 #12724
- Key Auth プラグインのすべての401レスポンスにWWW-Authenticateヘッダーを追加しました。 #11794 KAG-321
- Opentelemetry:http_response_header_for_traceidオプションが有効になっている場合に発生していたOTELサンプリング モードのLuaパニックバグを修正しました。 #12544 FTI-5742
- 各種AIプラグインのエラー処理を改善しました。 #12991 KAG-4311
- ACME:Redis設定のマイグレーションを修正しました。 #12989 KAG-4419
- Response-RateLimiting:Redis構成のマイグレーションを修正しました。 #12989 KAG-4419
- Rate-Limiting:Redis構成のマイグレーションを修正しました。 #12989 KAG-4419
Admin API
- Admin API: POST /schemas/vaults/validateの呼び出しにてGET /schemas/vaults/と競合し405エラーが発生していた問題を修正しました。 #12607 KAG-3699
デフォルト
- ulimit設定(open files)が低い場合、lua-resty-timer-ngがworker_connectionsを使い果たし、Kongが起動できなくなる問題を修正するため、lua-resty-timer-ngライブラリの同時接続範囲を[512、2048]から[256、1024]に引き下げました。 #12606 KAG-3779 FTI-5780
- protobufベースのプロトコルを使用する外部プラグインがService.SetUpstreamメソッドを呼び出す際にbad argument #2 to ‘encode’ (table expected, got boolean)エラーを発生させていた問題を修正しました。 #12727
Kong Manager
機能
- Expressions言語の構文強調表示と自動補完機能を備えたExpressions ルートエディター機能を追加しました。 #217
- プラグイン設定時のユーザーエクスペリエンスを向上させるためパラメータをグループ化する修正を実施しました。またプラグインフォームページに関するいくつかの問題を修正しました。 #195 #199 #201 #202 #207 #208 #209 #213 #216
不具合対応
さまざまなUI関連の問題を修正しました。 #185 #188 #190 #195 #199 #201 #202 #207 #208 #209 #213 #216