Dify 三昧:【リリース情報】 Dify v1.14.1 リリース!セキュリティ強化とワークフローの安定性を追求した最新版

はじめに

Difyをご利用・ご検討中の皆さん、こんにちは! ゴールデンウイークもおわり、いかがお過ごしでしょうか?
ディーネットのよろず請負人、深見です。

つい先日に Dify v1.14.1 がリリースされました!このパッチリリースでは、セキュリティの強化、ワークフローとナレッジベースの安定性向上、デプロイメントのクリーンアップ、そして v1.14.0 に続くUIプラットフォームの移行に重点が置かれています。
それでは、各項目毎に内容を確認していきましょう。

🚀 v1.14.1の新機能

🔐 セキュリティ

  • セルフホストのSECRET_KEYの強化: Dockerデプロイメントが公開されているデフォルトキーに依存しなくなりました。SECRET_KEYが空の場合、APIは構成されたストレージバックエンドを介してランタイムキーを生成し永続化します。これにより、セルフホスト環境のセキュリティが向上します。
  • 内部メトリクスエンドポイントの保護: /threads および /db-pool-stat エンドポイントが強化され、内部ランタイムおよびデータベースプール詳細の認証されていない公開を防ぎます。
  • アカウントとツールの分離: GET /account/avatar におけるIDOR(Insecure Direct Object Reference)の問題が修正され、組み込みツールのデフォルト認証情報のクリーンアップが現在のテナントにスコープされました。
  • 依存関係のセキュリティ: CVE-2026-42208に対応するためにLiteLLMがアップグレードされ、urllib3、gunicorn、gitpython、mako、Google SDKパッケージ、ストレージライブラリ、OpenTelemetryエクスポートパッケージを含むいくつかのバックエンド依存関係が更新されました。

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

  • ワークフローの安定性: バックエンドAPIを介したワークフローバージョンの読み込みが復元され、大規模なアプリリストでのオンラインユーザーポーリングが修正され、プレビューリサイズオブザーバループが防止され、トライアルワークフローでのスキーマモデルの衝突が回避されました。
  • ワークフロー作成の改善: サブ変数の変数参照ピッカーの動作、ワークフローノードタイトルのオーバーフロー、条件演算子ポップオーバー、ワークフローチェックリストのセマンティクス、およびKBメタデータフィルターフィールドの選択が修正されました。
  • ワークフロー実行の正確性: 単一実行入力変数のタイプが保持され、structured_output_enabled の検証が修正され、ノード出力表示でのファイルプレビューURL処理が修正され、v1.14.0ワークフローでのプラグインモデルセレクターツールがブロック解除されました。
  • ヒューマンインプット: Human-in-the-loopフローで選択されたアクション値が公開されました。
  • 質問分類器: 編集可能なクラスラベルが追加されました。

📚 データ、RAG、およびナレッジ

  • ナレッジベースの画像レンダリング: ナレッジベースでの画像レンダリングの失敗が修正されました。
  • ドキュメントインデックス作成: ベクトル埋め込み前の空のドキュメントがスキップされ、不足しているテキストインデックス作成技術が検証されるようになりました。
  • RAG重複排除: Difyホスト型プロバイダーだけでなく、すべてのプロバイダーでdoc_idが重複排除キーとして使用されるようになりました。
  • データセットメタデータフィルター: APIパスでデータセットメタデータフィルターが保持され、KBメタデータフィルターフィールドの選択が修正されました。
  • アップロードファイル名の処理: URLから解析されたアップロードファイル名がクリーンアップされ、データソースのファイル拡張子を標準化する際の二重のドットが回避されるようになりました。

🎨 Web UIおよびデザインシステム

  • Dify UI移行: レガシーオーバーレイ、ツールチップ、ドロワー、セレクト、タグ、検索可能なピッカーから、新しいDrawerTabsToggleGroupAutocompleteComboboxサポートを含む@langgenius/dify-uiプリミティブへの移行が継続されました。
  • アクセシビリティとセマンティクス: Webアクセシビリティが向上し、不要なdata-testidの使用が削除され、選択値の処理が正規化され、ヘルプグリフのセマンティクスが改善され、プレミアムバッジボタンのセマンティクスが洗練されました。
  • オーバーレイとナビゲーションの信頼性: アプリナビゲーションのサブメニュー作成インタラクションが復元され、ワークスペース転送ドロップダウンの表示が修正され、オーバーレイコントロールが正規化され、Tailwind v4 CSS移行が調整され、CSP nonceがテーマスクリプトに転送され、タグフィルタードロップダウンアイコンが調整されました。
  • パブリッシャーと起動フロー: パブリッシャーの確認ダイアログの処理が改善され、事前入力されたWebApp起動の説明の不一致が修正されました。
  • オーディオとトランスクリプトの動作: 最初のTTSロード時にAudioContextが明示的に再開され、オーディオが再生されるようになり、end_user.external_user_idがトランスクリプトASRに正しく渡されるようになりました。

🔎 可観測性とトレーシング

  • Phoenixトレーシング: Phoenixワークフロートレーシングが改善されました。
  • LangSmithトレーシング: チャットフローワークフロートレースにおけるtrace_idの不一致が修正されました。

⚙️ デプロイメントとオペレーション

  • Docker環境レイアウト: Docker Composeの環境変数がdocker/envs/**ファイルに整理され、生成、クリーンアップ、ミドルウェア設定フローが更新されました。
  • ミドルウェアセットアップ: 新しいミドルウェア環境テンプレートの場所に合わせて、ローカルセットアップおよびクリーンアップフローが更新されました。
  • データベースプール動作: SQLALCHEMY_POOL_RESET_ON_RETURN構成がサポートされました。
  • WebSocketサービス: WebSocketサービスが分離され、デプロイメントの境界がより明確になりました。
  • カテゴリの探索: おすすめアプリの探索が複数の構成可能なカテゴリと調整可能なカテゴリ順序をサポートするようになりました。
  • TiDBエンドポイントの更新: TiDBステータスの変更時のエンドポイント更新が修正されました。

What’s Changed

v1.14.1では、セキュリティ、ワークフロー、UI、デプロイメントなど、多岐にわたる修正と改善が行われました。主な変更点の一部を以下に示します。

  • fix: ensure generated password satisfies the password policy (生成されたパスワードがパスワードポリシーを満たすように修正)
  • refactor(web): migrate rich tooltip overlays (リッチツールチップオーバーレイを移行)
  • fix: restore app nav create submenu interaction (アプリナビ作成サブメニューのインタラクションを復元)
  • fix(publisher): enhance confirm dialog handling and improve popup interactions (パブリッシャーの確認ダイアログ処理を強化し、ポップアップインタラクションを改善)
  • fix: ToolEntity data validation failed during workflow synchronization (ワークフロー同期中のToolEntityデータ検証の失敗を修正)
  • fix: var reference picker can not choose sub vars (変数参照ピッカーでサブ変数を選択できない問題を修正)
  • fix: prevent workflow node titles from overflowing (ワークフローノードのタイトルがオーバーフローしないように修正)
  • fix: fix structured_output_enabled miss in second validate (2回目の検証でstructured_output_enabledが欠落する問題を修正)
  • fix(api): preserve dataset metadata filters (APIでデータセットメタデータフィルターを保持するように修正)
  • fix: Clean upload filenames parsed from URLs (URLから解析されたアップロードファイル名をクリーンアップ)
  • fix: IDOR on console GET /account/avatar (コンソールGET /account/avatarにおけるIDORを修正)
  • fix: skip empty documents before vector embedding (ベクトル埋め込み前に空のドキュメントをスキップ)
  • fix: preserve single-run input variable types (単一実行入力変数のタイプを保持)
  • fix(rag): use doc_id dedup key for any provider, not only dify (Difyだけでなく、すべてのプロバイダーでdoc_idを重複排除キーとして使用)
  • fix: workflow online users polling for large app lists (大規模アプリリストでのワークフローオンラインユーザーポーリングを修正)
  • fix: restore workflow versions via backend API (バックエンドAPIを介してワークフローバージョンを復元)
  • fix(file_factory): drop doubled dot when standardizing datasource file extension (データソースファイル拡張子を標準化する際に二重のドットを削除)
  • fix: migrate condition operator popover (条件演算子ポップオーバーを移行)
  • fix(workflow): unblock plugin model selector tools on 1.14.0 (1.14.0でプラグインモデルセレクターツールをブロック解除)
  • fix: update endpoint when update tidb status (tidbステータス更新時のエンドポイント更新を修正)
  • feat: add dify-ui autocomplete and combobox (dify-uiオートコンプリートとコンボボックスを追加)
  • fix: transfer workspace dropdown not show (ワークスペース転送ドロップダウンが表示されない問題を修正)
  • fix(web): explicitly resume AudioContext and play audio on first TTS load (最初のTTSロード時にAudioContextを明示的に再開し、オーディオを再生)
  • fix(web): pass end_user.external_user_id string to transcript_asr ( end_user.external_user_id を文字列としてtranscript_asrに渡す)
  • fix(tools): scope builtin tool default-credential clear to tenant (組み込みツールのデフォルト認証情報のクリアをテナントにスコープ)
  • feat: support configurable explore app categories (構成可能なアプリカテゴリの探索をサポート)
  • fix(workflow): handle file-preview URLs in node output display (ノード出力表示でファイルプレビューURLを処理)
  • feat(dify-ui): add drawer (dify-uiにドロワーを追加)
  • fix: prevent workflow preview resize observer loop (ワークフロープレビューのサイズ変更オブザーバーのループを防止)
  • fix: Image rendering in the knowledge base failed. (ナレッジベースでの画像レンダリングの失敗を修正)
  • feat(dify-ui): add Tabs/ToggleGroup (dify-uiにTabs/ToggleGroupを追加)
  • fix(api): "File validation failed" on Chatflow follow-up with custom file type + memory (カスタムファイルタイプとメモリを使用したChatflowフォローアップでの「ファイル検証失敗」を修正)
  • feat(human-input): expose selected action value (ヒューマンインプットで選択されたアクション値を公開)
  • chore: separate websocket service (websocketサービスを分離)
  • fix(trace): LangSmith trace_id mismatch in chatflow workflow traces (チャットフローワークフロートレースにおけるLangSmithのtrace_idの不一致を修正)
  • fix: avoid trial workflow schema model collision (トライアルワークフローのスキーマモデルの衝突を回避)
  • fix: validate missing text indexing technique (欠落しているテキストインデックス作成技術を検証)
  • fix(security): harden self-hosted SECRET_KEY bootstrap (セルフホストのSECRET_KEYブートストラップを強化)
  • fix: the /threads and /db-pool-stat endpoints in api... in... (API内の/threadsおよび/db-pool-statエンドポイントを修正)

これらの変更により、Difyはより安全で安定し、使いやすくなりました。特にセルフホスト環境でのセキュリティ強化と、多くのUIコンポーネントが@langgenius/dify-uiに移行されたことで、ユーザーエクスペリエンスが大きく向上しているはずです。

アップグレードガイド

以下の点にご注意ください。

  • このリリースには設定可能なExploreアプリカテゴリの新しいデータベース移行が含まれています。アップグレードの一部としてデータベース移行を実行してください。
  • Docker Composeの環境変数が .env から docker/envs/**配下のカテゴリ化されたファイルに分割されました。(.env も残っています)カスタムのdocker-compose.yaml.envを維持している場合は、新しいレイアウトを確認し、ローカルのカスタマイズを慎重に再適用してください。
    • なお、早速に手持ちの検証環境で v1.14.0 から v1.14.1 へのアップグレードを行いましたが、確かに .env ファイルの内容が分割されていたことを確認しました。この点は環境変数の細かいカスタマイズを行っている場合には注意が必要です。(方法などについては、公式ドキュメントの Customize の項を参照のこと)
  • セルフホストデプロイメントの場合、明示的に設定されたSECRET_KEYの値は引き続き尊重されますが、SECRET_KEYが空の場合、Difyは自動的にランタイムキーを生成し永続化するようになりました。

詳細なアップグレード手順については、リリースノートをご確認ください。
(手順についても若干のアップデートがされていました)

おわりに

今回の v1.14.1 は、機能追加よりも「品質の底上げ」に徹したパッチリリースになっています。セキュリティ面ではセルフホスト環境の SECRET_KEY 管理が自動化され、これまで見落としがちだったリスクが軽減されました。ワークフローの各種不具合修正や UI コンポーネントの @langgenius/dify-ui への段階的な統一も、長期的な安定性向上につながる着実な一歩となっています。セルフホストで Dify を運用されている方は、特にアップグレードガイドの変更点を確認したうえで、早めのアップデートをおすすめします。


参考リンク


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

返信を残す

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

CAPTCHA