推奨モジュールの更新情報(2024年9月)
Kong Gatewayに関する更新情報
2024年09月14日に、Kong Gatewayのバージョン3.8.0がリリースされました。このバージョンには111件の更新が含まれ、その内訳は不具合対応が62件、特徴が28件、依存関係が14件、パフォーマンスが3件、非推奨が1件でした。
更新情報のソース:https://github.com/Kong/kong/blob/master/changelog/3.8.0/3.8.0.md
パフォーマンス
パフォーマンス
- Luajit ハッシュアルゴリズムにおける非効率の問題を修正しました。 #13240 KAG-4646
コア機能
- 不要な DNS クライアントの初期化を削除しました。 #13479 KAG-5059
- 大きなデータ (CP/DP 設定データなど) を gzip/gunzip する際のレイテンシパフォーマンスを改善しました。#13338 KAG-4878
非推奨
デフォルト
- Debian 10とRHEL 7は2024年6月30日にEOL(End of Life)を迎えました。バージョン8.0.0以降、KongはこれらのOS用向けにインストールパッケージやDockerイメージをビルドしません。Kongはこれらのシステム上で動作するすべてのKongバージョンに対する公式サポートを終了しました。#13468 KAG-4847 FTI-6054 KAG-4549 KAG-5122
依存関係
コア機能
- lua-resty-acme を15.0 に更新し、redis でのユーザー名/パスワード認証をサポートしました。#12909 KAG-4330
- lua-resty-aws を5.3 に更新し、STSリージョナルエンドポイントに関するバグを修正しました。#12846 KAG-3424 FTI-5732
- lua-resty-events を3.0 に更新しました。#13097 KAG-4480 KAG-4586
- lua-resty-healthcheck を0.1 から 3.1.0 に更新し、アクティブヘルスチェックタイマーの使用量を削減しました。#13038 FTI-5847
- lua-resty-lmdb を4.3 (lmdb 0.9.33) に更新しました。#12786
- lua-resty-openssl を5.1 に更新しました。#12665
- OpenResty を25.3.2 に更新しました。 #12327 KAG-3515 KAG-3570 KAG-3571 JIT-2
- PCRE2 を 44 に更新し、いくつかのバグを修正しリリースを整理しました。#12366 KAG-3571 KAG-3521 KAG-2025
- イールダブルなJSONライブラリlua-resty-simdjsonを導入し、レイテンシを大幅に改善しました。#13421 KAG-3647
デフォルト
- lua-protobuf 0.5.2 を更新しました。 #12834
- LuaRocks を11.0 から 3.11.1 に更新しました。 #12662 KAG-3883
- ngx_wasm_module を 96b4e27e10c63b07ed40ea88a91c22f23981db35 に更新しました。 #12011
- Wasmtimeのバージョンを0.2に更新しました。 #12011
- デフォルトプレフィクスを / に設定して RPM パッケージを再配置可能にしました。#13468 KAG-4847 FTI-6054 KAG-4549 KAG-5122
特徴
プラグイン
- prometheus:AI使用量のカウントできるようにするためPrometheusプラグインにai_requests_total、ai_cost_total、ai_tokens_totalのメトリクスを追加しました。#13148
構成
- Wasmが有効な場合に、Wasmtimeモジュールキャッシュを設定できるようにしました。#12930 KAG-4372
コア機能
- 新しい設定パラメータ concurrency_limit (integer型, デフォルトは1)を追加し、キュー内の配信タイマーの数を指定できるようにしました。concurrency_limit を -1 に設定した場合は、HTTP ログエントリごとに個別の送信タイマーを作成します。#13332 FTI-6022
- Kong Gatewayは、アップストリームのViaヘッダーにgateway情報を1 kong/3.8.0形式で追加し、オプションでレスポンスのViaヘッダーにも追加するようになりました。これはRFC7230とRFC9110で定義された標準に従っています。#12733 FTI-5807
- 新しいDNSクライアントライブラリを実装し、Kongに追加しました。このライブラリはデフォルトでは無効で、new_dns_clientパラメータをonに設定することで有効になります。新しいDNSクライアント・ライブラリの機能は以下の通りです:
- ワーカー間でDNSレコードをグローバルにキャッシュし、DNSサーバーへのクエリ負荷を大幅に削減しました。
- 新しいDNSクライアントの観測可能な統計情報と、それを取得するための新しいStatus API /status/dnsを追加しました。
- ロジックを簡素化および標準化しました。#12305 KAG-3220
PDK
- 無制限のボディサイズをサポートするため、パラメータ max_allowed_file_sizeが0の場合のサポートを追加しました。本パラメータが0の場合、get_raw_body はボディ全体を返します。無制限のボディサイズを設定する場合は、引き続きNginxのclient_max_body_sizeによる制限も考慮する必要があります。#13431 KAG-4698
- request.get_body および kong.request.get_raw_body を拡張し、バッファリングされたファイルから読み込めるようにしました。#13158
- 新しい PDK モジュール telemetry を追加し、kong.telemetry.log関数でOpenTelemetry プラグインを介して報告されるログエントリを生成できるようにしました。#13329 KAG-4848
プラグイン
- acl: 認証済みコンシューマーが既に存在する場合でも認証済みグループを使用できるようにする新しい設定 always_use_authenticated_groups を追加しました。#13184 FTI-5945
- AI plugins: レイテンシデータがログとメトリクスに送信されるようになりました。#13428
- AI-proxy-plugin:AI pluginsがバッファリングされたファイルからリクエスト本文を読みとれるようにしました。#13158
- AI-proxy-plugin:呼び出し元のリクエストからアップストリームモデルの auth パラメータまたはヘッダーを上書きできるようにするオプションallow_override オプションを追加しました。#13493
- AI-proxy-plugin: request_tableオブジェクトのためにライブラリの置き換えを実施し、cycle_aware_deep_copyが使用されるように変更しました。#13582
- Kong AI Gateway (AI Proxyと関連プラグインファミリー)がすべてのAWS Bedrock “Converse API”モデルをサポートするようになりました。#12948
- Kong AI Gateway(AI Proxyおよび関連プラグインファミリー)がGoogle Geminiの 「チャット」(generateContent)インターフェイスをサポートするようになりました。#12948
- ai-proxy: Mistralプロバイダは、upstream_urlを省略することで、aiが管理するサービスを利用できるようになりました。#13481
- ai-proxy: 新しいレスポンスヘッダーX-Kong-LLM-Modelが追加され、AI Proxyプラグインで使用されている言語モデルの名前が表示されるようになりました。#13472
- AI-Prompt-Guard:ユーザに加えすべてのロールをマッチさせるmatch_all_rolesオプションを追加しました。#13183
- AWS-Lambda: STS エンドポイントをサポートするため、新しい設定フィールド aws_sts_endpoint_url を追加しました。#13388 KAG-4599
- AWS-Lambda: Lambda関数が返却した空([])のJSONレスポンスを、[]もしくは{}で送信するか制御する新しい設定項目empty_arrays_modeを追加しました。#13084 FTI-5937 KAG-4622 KAG-4615
- response-transformer: json_body のリネームをサポートしました。#13131 KAG-4664
- OpenTelemetry: OpenTelemetry フォーマットのログをサポートしました。#13291 KAG-4712
- standard-webhooks: Standard Webhooks規格向けのプラグインを新規追加しました。#12757
- Request-Transformer: リネームされたクエリパラメータ、URLエンコードされたボディパラメータ、およびJSONボディパラメータが、ターゲット名とリクエストソース名が一致する場合に正しく処理されない問題を修正しました。#13358 KAG-4915
Admin API
- Admin API経由でのマップフィールドの設定にブラケット記法のサポートを追加しました。 #13313 KAG-4827
不具合対応
CLIコマンド
- CLIで一部のデバッグレベルのエラーログが表示されない問題を修正しました。#13143 FTI-5995
構成
- proxy-wasm の Lua DNS リゾルバをデフォルトで再有効にしました。#13424 KAG-4671
コア機能
- luarocks-admin が /usr/local/bin で利用できない問題を修正しました。#13372 KAG-911
- Postgres の読み取り専用データベース操作に ‘read’ が常に渡されない問題を修正しました。#13530 KAG-5196
- 非推奨の省略記法フィールドに関する問題を修正し、両方が指定された場合に置換フィールドよりも優先されないようにしました。#13486 KAG-5134
- send_header() が filter_finalize をトリガーした場合に、lua-nginx-module のコンテキストがクリアされる問題を修正しました。 openresty/lua-nginx-module#2323. #13316 FTI-6005
- 非推奨の省略記法フィールドを新しいフィールドで使用する方法を変更しました。新しいフィールドにnullが含まれる場合、リクエストに両方が存在すれば、非推奨のフィールドを上書きできるようになりました。#13592 KAG-5287
- 400 Bad Requestを受信した場合に、初期化されていない変数に関する不要なエラーログが報告される問題を修正しました。#13201 FTI-6025
- 最初のキャプチャグループが存在しない場合に、URIキャプチャが利用できない問題を修正しました。#13024 KAG-4474
- router_flavor が expression に設定されている場合、traditional mode のルートで優先フィールドが設定できる問題を修正しました。#13142 KAG-4411
- tls_verifyをfalseに設定してもグローバルレベルのproxy_ssl_verifyが上書きされない問題を修正しました。#13470 FTI-6095
- SNIが更新された際にSNIキャッシュが無効化されない問題を修正しました。#13165 FTI-6009
- logrotate 設定ファイルはアップグレード中に上書きされなくなりました。アップグレードの際、Debian/Ubuntu で環境変数 DEBIAN_FRONTEND=noninteractive を設定すると、対話的なプロンプトが表示されなくなり、完全な自動アップグレードが可能になります。#13348 FTI-6079
- resurrect_ttl 時間中に Vault シークレットキャッシュがリフレッシュされ、他のワーカーがフェッチできない問題を修正しました。#13561 FTI-6137
- Vaultのシークレットローテーション中に生成されるエラーログが、warnではなくnoticeレベルで記録されるようになりました。#13540 FTI-5775
- 接続の再試行中に上流へのリクエストで、上流エンティティのhost_header属性がHostヘッダーとして正しく設定されない問題を修正しました。#13135 FTI-5987
- 内部UnixソケットをKongプレフィックスのサブディレクトリ(sockets)に移動しました。#13409 KAG-4947
- 非推奨フィールドを記述するために使用される省略記法フィールドの動作を変更しました。両方のフィールドがリクエスト送信されそれらの値が不一致だった場合、リクエストは拒否されます。#13594 KAG-5262
- DNSクライアントがDNSレスポンス中のADDITIONAL SECTIONを無視する元の動作に戻しました。#13278 FTI-6039
- ソケット名の制限を超えないように内部 Unix ソケットの名前を短縮しました。#13571 KAG-5136
PDK
- PDK: サブリクエストを含むリクエストにおいて、ログシリアライザーが upstream_status を nil として記録していた問題を修正しました。#12953 FTI-5844
- Vault: スラッシュで終わる参照が解析された場合、キーが返されなくなりました。#13538 KAG-5181
- serialize_valueによって設定されたJSONエンティティにnullが含まれている場合に、pdk.log.serialize()でエラーが発生する問題を修正しました。#13376 FTI-6096
プラグイン
- AI-proxy: 特定の Azure モデルがレスポンスストリーミングモード時に部分的なトークンや単語を返す問題を修正しました。#13000 KAG-4596
- AI Transformer plugins: ai-request-transformer および ai-response-transformer プラグインで Cloud Identity 認証が使用されない問題を修正しました。#13487
- AI-proxy: CohereとAnthropicプロバイダが呼び出し元のリクエストボディから model パラメータを正しく読み取れない問題を修正しました。#13000 KAG-4596
- AI-proxy: OpenAI関数の推論リクエストを使用すると、リクエストエラーがログに記録され、タイムアウトするまでハングアップする問題を修正しました。#13000 KAG-4596
- AI-proxy: AI Proxyが、プラグインで設定されたモデル名を無視して、呼び出し元が独自のモデルを指定できてしまう問題を修正しました。#13000 KAG-4596
- AI-proxy: AI Proxyがプラグインで設定されたモデルチューニングオプションをユーザーのLLMリクエストより優先しない問題を修正しました。#13000 KAG-4596
- AI-proxy: OpenAI SDK のモデルパラメータを 「null」 に設定すると、ロギングプラグインにアナリティクスが書き込まれない問題を修正しました。#13000 KAG-4596
- ACME: CPから設定がプッシュされた際に、DPが非推奨の設定フィールドが使用されていると報告する問題を修正しました。#13069 KAG-4515
- ACME: ユーザー名とパスワードが有効な認証方法として受け付けられない問題を修正しました。#13496 FTI-6143
- AI-Proxy: クライアントがそのフォーマットを受け付けない場合でも、レスポンスがgzip圧縮される問題を修正しました。#13155
- Prometheus: 新しい設定フィールド ai_metrics の CP/DP 互換性チェックが欠落していた問題を修正しました。#13417 KAG-4934
- 特定のAIプラグインをコンシューマーまたはサービスごとに適用できない問題を修正しました。#13209
- AI-Prompt-Guard: allow_all_conversation_historyがfalseに設定されている場合に発生した、最後のユーザーリクエストではなく最初のユーザーリクエストが選択される問題を修正しました。#13183
- AI-Proxy: オブジェクトのコンストラクタがインスタンスではなくクラスのデータを設定する問題を解決しました。#13028
- AWS-Lambda: プロキシ統合とレガシーの empty_arrays_mode で定義された multiValueHeaders でプラグインが動作しない問題を修正しました。#13381 FTI-6100
- AWS-Lambda: awsgateway_compatible が有効な場合に、リクエストのペイロードに version フィールドが設定されない問題を修正しました。#13018 FTI-5949
- correlation-id: generator を明示的に null に設定するとプラグインが動作しない問題を修正しました。#13439 FTI-6134
- CORS: origins に複数のエントリがあり、その中に * が含まれている場合、Access-Control-Allow-Origin ヘッダーが送信されない問題を修正しました。#13334 FTI-6062
- grpc-gateway: JSONのデコードエラーが発生した場合、ステータス500ではなく、ステータス400とエラー情報をボディに含んで応答するように更新しました。#12971
- HTTP-Log: ログサーバーにリクエストを送信する際に、プラグインがHTTPホストヘッダーにポート情報を含めなかった問題を修正しました。#13116
- AI Plugins: マルチモーダル入力が適切に検証および計算されない問題を修正しました。#13445
- OpenTelemetry: バージョン3 以下から 3.7 へのアップグレード時に移行に失敗する問題を修正しました。#13391 FTI-6109
- OpenTelemetry and Zipkin: 冗長な非推奨の警告を削除しました。#13220 KAG-4744
- Basic-Auth: Kong Gatewayの古いバージョン(6以前)でrealmフィールドが認識されない問題を修正しました。#13042 KAG-4516
- Key-Auth: Kong Gatewayの古いバージョン(7以前)でrealmフィールドが認識されない問題を修正しました。#13042 KAG-4516
- Request Size Limiting: リクエストボディが一時ファイルにバッファリングされる際に、 ボディサイズがチェックされなかった問題を修正しました。#13303 FTI-6034
- Response-RateLimiting: 設定がCPからプッシュされた場合に、DPが非推奨の設定フィールドが使用されていると報告する問題を修正しました。#13069 KAG-4515
- Rate-Limiting: 設定がCPからプッシュされた場合に、DPが非推奨の設定フィールドが使用されていると報告する問題を修正しました。#13069 KAG-4515
- OpenTelemetry: サンプリング判定の精度を改善しました。#13275 KAG-4785
- hmac-auth: 401 レスポンスに WWW-Authenticate ヘッダーを追加しました。#11791 KAG-321
- Prometheus: ラベル数に矛盾がある場合のエラーロギングを改善しました。#13020
- jwt: 401 レスポンスに WWW-Authenticate ヘッダーを追加しました。#11792 KAG-321
- ldap-auth: すべての 401 レスポンスに WWW-Authenticate ヘッダーを追加しました。#11820 KAG-321
- OAuth2: すべての 401 レスポンスと realm オプションに WWW-Authenticate ヘッダーを追加しました。#11833 KAG-321
- proxy-cache: キャッシュされたレスポンスを提供する際に Age ヘッダーが正しく更新されない問題を修正しました。#13387
Admin API
- リクエストボディにsnisフィールドが存在する場合に、証明書スキーマの検証に失敗する問題を修正しました。#13357
クラスタリング
- フォワードプロキシパスワードに特殊文字である # が含まれていた場合、ハイブリッドモードが動作しない問題を修正しました。proxy_server 設定パラメータは引き続きurlエンコードする必要があることに注意してください。#13457 FTI-6145
デフォルト
- AI-proxy: 統計をサポートしていないプロバイダで log_statistics が有効にならないようにするための設定検証を追加しました。それに伴い、 log_statistics のデフォルトが true から false に変更され、サポートされていないプロバイダで既にlog_statisticsが有効になっている場合に、それを無効にするためのデータベースマイグレーションも追加しました。#12860
Kong-Manager
特徴
- Kong Managerのアクセシビリティを改善しました。#13522
- エンティティのリストが強化され、リストの列のサイズを変更したり非表示にしたりできるようになりました。#13522
- 証明書フォームにSNIsフィールドを追加しました。#264
不具合
- UI関連の各種問題を修正しました。#232 #233 #234 #237 #238 #240 #244 #250 #252 #255 #257 #263 #264 #267 #272
FIWARE Orionに関する更新情報
2024年09月12日に、FIWARE Orionのバージョン4.1.0がリリースされました。このバージョンには9件の更新が含まれ、その内訳は不具合対応が5件、機能追加が2件、依存関係が2件でした。
更新情報のソース:https://github.com/telefonicaid/fiware-orion/releases/tag/4.1.0
不具合対応
- $maxおよび$min演算子にてDateTime属性が利用できなかった問題を修正しました。#4585
- サブスクリプションの有効期限フィールドに、過去日付が設定できてしまう問題を修正しました。 #4541
- クライアントが要求したGeoJSONが誤っていた場合にDBアラームを発生させないように修正しました。
- notifyOnMetadataChange をfalseに設定した場合、サブスクリプションのalterationTypesに関する通知が無視される問題を修正しました。 #4605
- サブスクリプションの有効期限フィールドの文字列判定ロジックを改善しました。 #2303
機能追加
- JEXL式で計算されたAttributeの結果が別の計算結果で使用できるようになりました。#4556
- JEXL式のサポート対象にAttributeのMetadataを追加しました。#4594 #4560
依存関係
- Cjexlバージョンを3.0から0.4.0にアップグレードしました。
- Dockerfileで指定しているDebianバージョンを2.4から1.2.6にアップグレードしました。