Dify 三昧:【リリース情報】 Dify v1.14.2 リリース!セキュリティ強化と安定性向上、エージェント機能の足固め

はじめに

Difyをご利用・ご検討中の皆さん、こんにちは! 暑くなってきましたが、いかがお過ごしでしょうか?
ディーネットのよろず請負人、深見です。

Dify v1.14.2 がリリースされました!今回のリリースは、v1.14.1で発見された問題に対するセキュリティ強化、ワークフローとナレッジベースの信頼性向上、監視機能の修正、将来的なエージェント機能のための基盤整備、そしてデプロイメントとランタイムの調整に重点を置いています。これらの改善により、より堅牢なDify環境が提供されます。
各項目毎に内容を確認していきましょう。

🚀 What’s New in v1.14.2?

今回のリリースで特に注目すべき新機能や改善点は以下の通りです。

🔐 セキュリティと管理機能の強化

テナント分離が強化され、アプリのトレース設定エンドポイントやFilePreviewのテキスト抽出において、よりセキュアな環境が提供されます。これは、マルチテナント環境におけるデータ隔離の重要性を考慮した改善と言えるでしょう。

なお、これら2件のテナントスコーピング修正(#35793#35797)は、それぞれ GHSA-48xc-wmw8-3jr3 および GHSA-2qwc-c2cc-2xwv として公式セキュリティアドバイザリが発行されています。プロダクション環境でご利用の方は特にご確認ください。

ツールの認証情報に関しても、デフォルトの組み込みツール認証情報の更新がワークスペース管理者と所有者に限定され、さらに reset-encrypt-key-pair 実行時に古いテナントツール認証情報がクリーンアップされるようになりました。これにより、認証情報の管理がより安全かつ効率的に行えるようになります。

🧩 ワークフロー、HITL、およびアプリランタイムの改善

ワークフローの実行信頼性が大幅に向上しました。特にHITL(Human-in-the-Loop)ワークフローの再開後にトレーシングが復元され、ワークフロー実行時のコールバック追跡が改善されています。メッセージ更新時のデータベースへのアクセス回数も削減され、パフォーマンスの向上にも貢献しています。
モデル選択においても、モデルが選択されていない場合の読み込み挙動が修正され、サポートされているパラメータでモデルプリセットがフィルタリングされるようになりました。API拡張ダイアログのコントロールも改善され、ユーザーエクスペリエンスが向上しています。

📚 データ、RAG、およびナレッジベースの強化

ナレッジベースの安定性が向上し、ヒットテストのレンダリング問題や空のナレッジベース作成に関するバグが修正されました。おすすめアプリのカテゴリ順序や、おすすめアプリの詳細取得時のnullハンドリングも改善され、より信頼性の高いナレッジベース運用が可能になります。
RAG(Retrieval Augmented Generation)とドキュメント処理においては、LLMノードが取得したナレッジファイルにアクセスできるようになり、API更新後のドキュメント要約の再生成、パイプラインテンプレートのレンダリング修正が行われました。また、RAGパイプラインにおける認証情報取得の失敗もより適切に処理されるようになっています。

🎨 Web UIと製品体験の向上

アプリ作成とオンボーディングプロセスが改善され、アプリ作成元とテンプレートIDが追跡されるようになりました。ユーザーのタイムゾーンと言語がブラウザから初期化されるようになり、WebAppのアイコンと説明の表示も修正されています。
アノテーションとデータセットのUIでは、アノテーションの返信スコア閾値が0.8未満でも許可されるようになり、権限のないナレッジエディタがデータセットにリダイレクトされるようになりました。タグのリネーム時のペイロードの問題も修正されています。
UIプラットフォームの移行と洗練も進んでおり、CheckboxやCheckboxGroupのプリミティブが追加され、多くのコントロールがDify-uiに移行されています。ダイアログのオーバーフローレイアウトの改善や、アカウントアバター、インストールフローのインタラクションも洗練されています。

🔎 監視機能とトレーシングの信頼性向上

トレーシングの信頼性も向上しています。Langfuse v3 SDKトレーサープロバイダーがタスク間の干渉を防ぐために隔離され、Phoenixの親トレースフォールバックの挙動が追加されました。これにより、より正確なシステム監視が可能になります。

🤖 エージェント機能の基盤整備

今回のリリースでは、エージェントサーバーの初期化(feat(agent): init agent server)が行われました。これは現時点でユーザーが直接操作できる機能ではありませんが、今後のエージェント機能の本格的な拡充に向けた足固めと位置付けられています。タイトルにも掲げている「エージェント機能の足固め」はこの取り組みを指しています。

⚙️ デプロイメント、依存関係、および開発者エクスペリエンスの改善

デプロイメントの調整として、plugin-daemonが0.6.1にアップグレードされ、GraphEngineの最小ワーカー数が増加しました。DockerのREADMEリファレンスも更新されています。
バックエンドとCIのメンテナンスも行われ、静的解析ツールが Pyright から Pyrefly(Meta 製の Python 静的型チェッカー)に移行し、graphon が 0.4.0 にアップグレードされました。ホットフィックスのチェリーピック時の履歴チェックが追加され、生成される契約ワークフローも改善されています。
authlibujsonlangsmithurllib3 などのバックエンドとエージェントの依存関係も更新され、開発環境の安定性が向上しています。

🛠️ What’s Changed

What's Changed は、今回のリリースに含まれる全プルリクエストの一覧です。What's New で紹介した主要な変更に加え、細かな修正・リファクタリング・依存関係の更新なども網羅されています。主な変更点は以下の通りです。

  • セキュリティ関連:
    • 権限のないデータセットアクセスを /datasets にリダイレクトする修正 (#36073)
    • アプリのトレース設定エンドポイントとFilePreviewのテキスト抽出エンドポイントにテナントスコープを適用し、セキュリティを強化(GHSA-48xc-wmw8-3jr3 / GHSA-2qwc-c2cc-2xwv)(#35793, #35797)
    • reset-encrypt-key-pair 実行時にテナントのツール認証情報をパージする修正 (#35843)
    • デフォルトの組み込みツール認証情報の変更を管理者/所有者に限定する修正 (#36264)
  • ワークフローと実行:
    • HITLワークフロー再開後のトレーシングを復元する修正 (#36064)
    • ワークフロー実行コールバックにデータ追跡機能を追加し強化 (#36149)
    • メッセージ更新時のDBラウンドトリップを削減する修正 (#36213)
    • LLMノードのメモリフェッチがFlaskコンテキスト外で発生する問題を修正 (#36253)
    • base64ファイルルックアップセッションを正しく閉じる修正 (#36308)
  • エージェント:
    • エージェントサーバーの初期化(将来のエージェント機能に向けた基盤実装)(#36087)
  • ナレッジベースとRAG:
    • ナレッジヒットテストのレンダリング問題を修正 (#36106)
    • LLMノードが取得したナレッジファイルにアクセスできるよう変更 (#36175)
    • API経由で更新後のドキュメント要約を再生成する修正 (#36035)
    • RAGパイプラインにおける認証情報取得の失敗をより適切に処理する修正 (#36165)
    • 空のナレッジを作成できない問題を修正 (#36336)
  • UI/UX:
    • アカウントアバターのインタラクションを改善 (#36111)
    • ユーザーのタイムゾーンと言語をブラウザから初期化する機能を追加 (#36170)
    • WebAppのアイコンと説明が表示されない問題を修正 (#36206, #36209)
    • アノテーションの返信スコア閾値を0.8未満でも許可する機能を追加 (#36337)
    • モデルが選択されていない場合にパラメータがロードされ続ける問題を修正 (#36342)
    • アプリ作成時にソースとテンプレートIDを追跡する機能を追加 (#36369)
  • デプロイメントと開発者体験:
    • plugin-daemonを0.6.1にアップグレード (#36312)
    • GraphEngineのデフォルト最小ワーカー数を増加 (#35650)
    • Docker READMEの番号付けと古い参照を修正 (#36303)
    • Pyreflyへの静的解析移行、graphon の 0.4.0 へのアップグレード、ホットフィックスのチェリーピック履歴チェック追加など、バックエンドとCIのメンテナンスが実施されました。

アップグレードガイドに関する重要な注意事項

今回のリリースには、設定可能なExploreアプリカテゴリのための新しいデータベースマイグレーションが含まれています。アップグレードの一環としてデータベースマイグレーションを実行することを忘れないでください。

Docker Compose環境変数は docker/envs/** 以下にカテゴリ別に分割されました。もしカスタムの docker-compose.yaml.env ファイルを管理している場合は、新しいレイアウトを確認し、ローカルのカスタマイズを慎重に再適用する必要があります。

自己ホスト型デプロイメントでは、明示的に設定された SECRET_KEY の値は引き続き尊重されますが、SECRET_KEY が空の場合、Difyは実行時キーを自動的に生成し、永続化するようになりました。

なお、アップグレード手順はデプロイ方法によって異なります。Docker Compose 環境では docker compose down → コード取得 → 環境変数の再適用 → docker compose up -d の流れで、ソースコードビルド環境ではAPIサーバー停止 → コード取得 → uv syncuv run flask db upgrade → 再起動の手順となります。詳細は公式リリースノートのアップグレードガイドをご参照ください。

おわりに

Dify v1.14.2は、既存の機能の安定性とセキュリティを強化しつつ、将来の機能拡張(特にエージェント機能)に向けた基盤を固める重要なアップデートと言えるでしょう。特にセキュリティアドバイザリ(GHSA-48xc-wmw8-3jr3、GHSA-2qwc-c2cc-2xwv)が発行されている修正が含まれており、プロダクション環境でのDify利用を検討・運用されている方にとって重要なリリースです。

今回のリリース内容が、Difyを利用されている皆様の参考になれば幸いです。


参考リンク


本記事は Dify v1.14.2 のリリースノートを基に作成されています。最新情報は公式サイトおよび GitHub リポジトリをご確認ください。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA