-
released this
2026-02-14 03:01:27 -05:00 | 1280 commits to main since this release📅 Originally published on GitHub: Sat, 14 Feb 2026 09:28:47 GMT
🏷️ Git tag created: Sat, 14 Feb 2026 08:01:27 GMT💥 New Agent x Skills 🥳
1.14.0-rc1brings a new agent-building experience: sandboxed runtime, Skill Editor, collaboration, and dynamic variable assembly. preview docs: https://docs.bash-is-all-you-need.dify.dev/🌟 Try the Experience Now
Build with the new Agent + Skill workflow in minutes.
👉 Experience Now: Live Demo
Not sure where to begin?
Use our ready-made operational templates!🧩 Start from Templates (Recommended) 👉 Templates
✨ Highlights
- New Agent runtime with sandboxed execution and Agent Mode. (Agent docs · Runtime docs)
- Skill Editor helps you build reusable SOP blocks and call tools inline with
@(e.g.,@send_email). (File system docs) - Command + Upload File to Sandbox make runtime operations practical and controllable. (Command docs · Upload docs)
- "Pull a Variable" unlocks dynamic context with Assemble Variables and chat-history extraction. (Pull a Variable docs)
- Collaboration Beta adds shared editing, comments, and
@mentions. (Collaboration docs)
🖼️ Feature Snapshots
🧩 Skill Editor +
@toolWrite reusable skills and call tools inline with
@(for example,@send_email).🧠 New Agent Runtime
Ship multi-step agent flows with sandboxed execution and Agent Mode.
🌍 Create and Publish Your First Agent Template
Build and test your workflow in Dify Studio, then share it with the world.
How to publish:
- Click Publish → Publish to Marketplace in the top-right panel
- Or upload your exported file via Creator Center
👉 https://creators.dify.ai/
Complete your template details and submit for review.
Once approved, your template will appear on the Template Marketplace:
👉 https://marketplace.dify.ai/templatesLet others fork, explore, and build on top of your work.
🛠️ Command + Upload File to Sandbox
Upload files into sandbox, then run controlled commands for real execution tasks.
🔄 Pull a Variable
Assemble variables and extract structured values from LLM chat history.
🤝 Collaboration (beta)
Co-edit workflows with comments, mentions, and real-time presence.
🔗 Docs and Experience
- Experience: https://skills.bash-is-all-you-need.dify.dev/
- Preview docs: https://docs.bash-is-all-you-need.dify.dev/
⚠️ Preview Notice
1.14.0-rc1is a testing preview release candidate for evaluation and feedback.- Stability, availability, and compatibility are not guaranteed in this preview build.
- We recommend using this version in non-production environments only.
- Collaboration capabilities are beta; self-hosted setups require collaboration/websocket configuration.
Upgrade Guide
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the feat/support-agent-sandbox branch
git checkout feat/support-agent-sandbox -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
Source Code Deployments
-
Stop the API server, Worker, and Web frontend Server.
-
Get the latest code from the release branch:
git checkout feat/support-agent-sandbox -
Update Python dependencies:
cd api uv sync -
Then, let's run the migration script:
uv run flask db upgrade -
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
- fix(web): redirect to OAuth authorize page after login instead of /apps by @RockChinQ in https://github.com/langgenius/dify/pull/32177
- feat(api): add scheduled cleanup task for specific workflow logs by @razerzhang in https://github.com/langgenius/dify/pull/31843
- feat: add Creators Platform helper for DSL upload and OAuth redirect (Vibe Kanban) by @RockChinQ in https://github.com/langgenius/dify/pull/32232
- test: add unit tests for some base components by @saumyatalwani in https://github.com/langgenius/dify/pull/32201
- test: add comprehensive unit and integration tests for dataset module by @CodingOnStar in https://github.com/langgenius/dify/pull/32187
- test(web): add comprehensive unit and integration tests for plugins and tools modules by @CodingOnStar in https://github.com/langgenius/dify/pull/32220
- test: add comprehensive unit and integration tests for billing components by @CodingOnStar in https://github.com/langgenius/dify/pull/32227
- test: add unit and integration tests for share, develop, and goto-anything modules by @CodingOnStar in https://github.com/langgenius/dify/pull/32246
- test: add comprehensive unit and integration tests for RAG Pipeline components by @CodingOnStar in https://github.com/langgenius/dify/pull/32237
- feat(tests): add integration tests for explore app list, installed apps, and sidebar lifecycle flows by @CodingOnStar in https://github.com/langgenius/dify/pull/32248
- fix: metadata batch edit silently fails due to split transactions and swallowed exceptions by @veeceey in https://github.com/langgenius/dify/pull/32041
- fix: can not upload file in single run by @hyoban in https://github.com/langgenius/dify/pull/32276
- fix: publish-to-marketplace exports YAML for classic apps instead of ZIP (Vibe Kanban) by @RockChinQ in https://github.com/langgenius/dify/pull/32284
- chore(deps): bump pillow from 12.0.0 to 12.1.1 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/32250
- feat: support config max size of plugin generated files by @bowenliang123 in https://github.com/langgenius/dify/pull/30887
- feat(api): optimize OceanBase vector store performance and configurability by @connermo in https://github.com/langgenius/dify/pull/32263
- test(web): add and enhance frontend automated tests across multiple modules by @CodingOnStar in https://github.com/langgenius/dify/pull/32268
- chore(deps): bump qs from 6.14.1 to 6.14.2 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/32290
- test: add unit tests for base components-part-1 by @poojanInfocusp in https://github.com/langgenius/dify/pull/32154
- test: add integration tests for app card operations, list browsing, and create app flows by @CodingOnStar in https://github.com/langgenius/dify/pull/32298
- test: add tests for some base components by @saumyatalwani in https://github.com/langgenius/dify/pull/32265
New Contributors
- @razerzhang made their first contribution in https://github.com/langgenius/dify/pull/31843
- @saumyatalwani made their first contribution in https://github.com/langgenius/dify/pull/32201
- @poojanInfocusp made their first contribution in https://github.com/langgenius/dify/pull/32154
Full Changelog: https://github.com/langgenius/dify/compare/1.13.0...1.14.0-rc1
Downloads
-
released this
2026-02-11 04:08:49 -05:00 | 2824 commits to main since this release📅 Originally published on GitHub: Wed, 11 Feb 2026 09:24:39 GMT
🏷️ Git tag created: Wed, 11 Feb 2026 09:08:49 GMT🚀 New Features
Human-in-the-Loop (HITL)
We are introducing the Human Input node, a major update that transforms how AI and humans
collaborate within Dify workflows.Background
Previously, workflows were binary: either fully automated or fully manual. This created a "trust gap" in
high-stakes scenarios where AI speed is needed but human judgment is essential. With HITL, we are making h
uman oversight a native part of the workflow architecture, allowing you to embed
review steps directly into the execution graph.Key Capabilities
- Native Workflow Pausing: Insert a "Human Input" node to suspend workflow execution at critical decision points.
- Review & Edit: The node generates a UI where humans can review AI outputs and modify variables (e.g., editing a draft or correcting data) before the process continues.
- Action-Based Routing: Configure custom buttons (like "Approve," "Reject," or "Escalate") that determine
the subsequent path of the workflow. - Flexible Delivery Methods: Human input forms can be delivered via Webapp or Email. In cloud environments, Email delivery availability may depend on plan/feature settings.
🛠 Architecture Updates
To support the stateful pause/resume mechanism required by HITL and provide event‑subscription APIs, we refactored the execution engine: Workflow‑based streaming executions and Advanced Chat executions now run in Celery workers, while non‑streaming WORKFLOW runs still execute in the API process.
All pause/resume paths (e.g., HITL) are resumed via Celery, and events are streamed back through Redis Pub/Sub.For Large Deployments & Self-Hosted Users:
We have introduced a new Celery queue named
workflow_based_app_execution. While standard setups will work out of the box, high-throughput environments should consider the following optimizations to ensure stability and performance:- Scale Workers: Adjust the number of workers consuming the
workflow_based_app_executionqueue based on your specific workload. - Dedicated Redis (Optional): For large-scale deployments, we recommend configuring the new
PUBSUB_REDIS_URLenvironment variable to point to a dedicated Redis instance. Using Redis Cluster mode with Sharded PubSub is strongly advised to ensure horizontal scalability.
⚠️ Important Upgrade Note
New Celery Queue Required:
workflow_based_app_executionPlease ensure your deployment configuration (Docker Compose, Helm Chart, etc.) includes workers listening to the new
workflow_based_app_executionqueue.
This queue is required for workflow‑based streaming executions and all resume flows (e.g., HITL); otherwise, streaming executions and resume tasks will not be processed.🔧 Operational Note
Additional Celery Queue:
api_tokenIf
ENABLE_API_TOKEN_LAST_USED_UPDATE_TASK=true, ensure your deployment also has workers listening toapi_token.
This queue is used by the scheduled batch update task for API tokenlast_used_attimestamps.⚙️ Configuration Changes
We have introduced several new environment variables to support the architectural changes. Large deployments should pay special attention to the PubSub Redis configurations to ensure scalability.
PUBSUB_REDIS_URL(Critical): Specifies the Redis URL used for PubSub communication between the API and Celery workers. If left empty, it defaults to the standardREDIS_*configuration.PUBSUB_REDIS_CHANNEL_TYPE(Critical): Defines the channel type for streaming events. Options arepubsub(default) orsharded. We highly recommend usingshardedfor high-throughput environments.PUBSUB_REDIS_USE_CLUSTERS(Critical): Set totrueto enable Redis cluster mode for PubSub. Combined with sharded PubSub, this is essential for horizontal scaling.
Other Additions:
WEB_FORM_SUBMIT_RATE_LIMIT_MAX_ATTEMPTS: Maximum number of web form submissions allowed per IP within the rate limit window (Default:30).WEB_FORM_SUBMIT_RATE_LIMIT_WINDOW_SECONDS: Time window in seconds for web form submission rate limiting (Default:60).HUMAN_INPUT_GLOBAL_TIMEOUT_SECONDS: Maximum seconds a workflow run can stay paused waiting for human input before global timeout (Default:604800, 7 days).ENABLE_HUMAN_INPUT_TIMEOUT_TASK: Enables the background task that checks for expired human input requests (Default:true).HUMAN_INPUT_TIMEOUT_TASK_INTERVAL: Sets the interval (in minutes) for the timeout check task (Default:1).ENABLE_API_TOKEN_LAST_USED_UPDATE_TASK: Enables the periodic background task that batch-updates API tokenlast_used_attimestamps (Default:true).API_TOKEN_LAST_USED_UPDATE_INTERVAL: Sets the interval (in minutes) for batch-updating API tokenlast_used_attimestamps (Default:30).SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL: Maximum random delay (in milliseconds) between retention cleanup batches to reduce DB pressure spikes (Default:200).
📌 Additional Changelog Highlights
Reliability & Correctness
- Added migration-time deduplication and a unique constraint for tenant default models to prevent duplicate default model records.
- Fixed a tools-deletion edge case caused by provider ID type mismatch.
- Fixed a FastOpenAPI integration regression where authenticated users could be resolved as anonymous in remote file APIs.
- Fixed message event type detection for file-related responses, and hid the workspace invite action for non-manager users.
Performance & Scalability
- Reduced backend load and console latency with plugin manifest pre-caching and
AppListApiquery optimizations. - Improved large-data task stability with split DB sessions, batched cleanup execution, index tuning, and configurable inter-batch throttling for retention cleanup jobs.
API & Platform Capabilities
- Added a Service API endpoint for end-user lookup with tenant/app scope enforcement.
- Improved workflow run history refresh behavior during run state transitions.
- Enhanced MCP Tool integration by extracting and reporting usage metadata (for example, token/cost fields) from MCP responses.
Security
- Removed dynamic
new Functionevaluation from ECharts parsing and now return explicit parsing errors for unsupported chart code.
Localization
- Added Dutch (
nl-NL) language support across backend language mapping and web localization resources.
Upgrade Guide
Important
If you use custom
CELERY_QUEUES, make sureworkflow_based_app_executionis included.
IfENABLE_API_TOKEN_LAST_USED_UPDATE_TASK=true, also includeapi_token.For background and details, see ⚠️ Important Upgrade Note and 🔧 Operational Note above.
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the main branch
git checkout main git pull origin main -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
Note
If you encounter errors like below
2025/11/26 11:37:57 /app/internal/db/pg/pg.go:30 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 /app/internal/db/pg/pg.go:34 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=postgres`: hostname > resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 init.go:99: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) panic: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)Please use the following command instead. For details, please read this https://github.com/langgenius/dify/issues/28706
docker compose --profile postgresql up -dSource Code Deployments
-
Stop the API server, Worker, and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 1.13.0 -
Update Python dependencies:
cd api uv sync -
Then, let's run the migration script:
uv run flask db upgrade -
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
- refactor(api): replace reqparse with Pydantic models in trial.py by @Sean-Kenneth-Doherty in https://github.com/langgenius/dify/pull/31789
- refactor: plugin detail panel components for better maintainability and code organization. by @CodingOnStar in https://github.com/langgenius/dify/pull/31870
- fix: remove api reference doc link en prefix by @hyoban in https://github.com/langgenius/dify/pull/31910
- fix: missing import console_ns by @hjlarry in https://github.com/langgenius/dify/pull/31916
- fix: fix mcp server status is not right by @fatelei in https://github.com/langgenius/dify/pull/31826
- test: try fix test, clear test log in CI by @hyoban in https://github.com/langgenius/dify/pull/31912
- fix: fix mcp output schema is union type frontend crash by @fatelei in https://github.com/langgenius/dify/pull/31779
- fix: auto summary env by @zxhlyh in https://github.com/langgenius/dify/pull/31930
- refactor(datasets): extract hooks and components with comprehensive tests by @CodingOnStar in https://github.com/langgenius/dify/pull/31707
- fix: include locale in appList query key for localization support inuseExploreAppList by @CodingOnStar in https://github.com/langgenius/dify/pull/31921
- chore: assign code owners for test directories by @laipz8200 in https://github.com/langgenius/dify/pull/31940
- refactor(web): extract complex components into modular structure with comprehensive tests by @CodingOnStar in https://github.com/langgenius/dify/pull/31729
- fix: fix delete_draft_variables_batch cycle forever by @fatelei in https://github.com/langgenius/dify/pull/31934
- chore: bump version in docker-compose and package manager to 1.12.1 by @QuantumGhost in https://github.com/langgenius/dify/pull/31947
- chore: update CODEOWNERS to specify test file patterns for base components by @CodingOnStar in https://github.com/langgenius/dify/pull/31941
- feat: use latest hash to sync draft by @fatelei in https://github.com/langgenius/dify/pull/31924
- fix: remove staleTime/gcTime overrides from trigger query hooks and use orpc contract by @lyzno1 in https://github.com/langgenius/dify/pull/31863
- feat: account delete cleanup by @GareArc in https://github.com/langgenius/dify/pull/31519
- test: fix test by @hyoban in https://github.com/langgenius/dify/pull/31975
- fix: fix miss use db.session by @fatelei in https://github.com/langgenius/dify/pull/31971
- chore: sticky the applist header in explore page by @iamjoel in https://github.com/langgenius/dify/pull/31967
- fix(web): add rewrite rule to fix Serwist precaching 404 errors by @majiayu000 in https://github.com/langgenius/dify/pull/31770
- fix: fix uuid_generate_v4 only used in postgresql by @fatelei in https://github.com/langgenius/dify/pull/31304
- chore: migrate to eslint-better-tailwind by @hyoban in https://github.com/langgenius/dify/pull/31969
- feat: pre-cache all the plugin manifests before checking updates by @Stream29 in https://github.com/langgenius/dify/pull/31942
- perf(api): Optimize the response time of AppListApi endpoint by @QuantumGhost in https://github.com/langgenius/dify/pull/31999
- chore: Remove redundant double space in variable type description (core/variables/variables.py) by @WH-2099 in https://github.com/langgenius/dify/pull/32002
- refactor: strip external imports in workflow template transform by @WH-2099 in https://github.com/langgenius/dify/pull/32017
- chore: remove .codex/skills directory by @longway-code in https://github.com/langgenius/dify/pull/32022
- fix: fix agent node tool type is not right by @fatelei in https://github.com/langgenius/dify/pull/32008
- fix: make
flask upgrade-dbfail on error by @longbingljw in https://github.com/langgenius/dify/pull/32024 - chore: update HITL auto deploy workflow by @QuantumGhost in https://github.com/langgenius/dify/pull/32040
- fix: fix tool type is miss by @fatelei in https://github.com/langgenius/dify/pull/32042
- perf: use batch delete method instead of single delete by @QuantumGhost in https://github.com/langgenius/dify/pull/32036
- fix(api): return proper HTTP 204 status code in DELETE endpoints by @NeatGuyCoding in https://github.com/langgenius/dify/pull/32012
- test: only remove text coverage in CI by @hyoban in https://github.com/langgenius/dify/pull/32043
- chore: update deploy branches for deploy-hitl.yaml by @QuantumGhost in https://github.com/langgenius/dify/pull/32051
- fix: redis for api token by @zyssyz123 in https://github.com/langgenius/dify/pull/31861
- fix: batch delete document db session block by @JohnJyong in https://github.com/langgenius/dify/pull/32062
- fix: remove unexpected scrollbar in KB Retrieval settings by @crazywoola in https://github.com/langgenius/dify/pull/32082
- refactor: remove unnecessary type: async_workflow_service.py by @kongdayan in https://github.com/langgenius/dify/pull/32081
- refactor: partition Celery task sessions into smaller, discrete execu… by @fatelei in https://github.com/langgenius/dify/pull/32085
- feat: extract mcp tool usage by @fatelei in https://github.com/langgenius/dify/pull/31802
- fix: search model provider list by @zxhlyh in https://github.com/langgenius/dify/pull/32106
- refactor: document_indexing_update_task split database session by @fatelei in https://github.com/langgenius/dify/pull/32105
- test: stable test by @hyoban in https://github.com/langgenius/dify/pull/32108
- refactor: decouple database operations from knowledge retrieval nodes by @fatelei in https://github.com/langgenius/dify/pull/31981
- feat: Service API - add end-user lookup endpoint by @BeautyyuYanli in https://github.com/langgenius/dify/pull/32015
- fix: pass user timezone from app context to the date picker component. by @ZeroZ-lab in https://github.com/langgenius/dify/pull/31831
- fix: fix trigger output schema miss by @fatelei in https://github.com/langgenius/dify/pull/32116
- feat: Human Input Node by @QuantumGhost in https://github.com/langgenius/dify/pull/32060
- chore(api): update launch.json.template by @QuantumGhost in https://github.com/langgenius/dify/pull/32124
- style: update banner item styles and enhance dark/light theme variables by @Yessenia-d in https://github.com/langgenius/dify/pull/32111
- chore: fix type for useTranslation in
#i18nby @hyoban in https://github.com/langgenius/dify/pull/32134 - refactor: document_indexing_sync_task split db session by @fatelei in https://github.com/langgenius/dify/pull/32129
- fix(api): register knowledge pipeline service API routes by @tokezooo in https://github.com/langgenius/dify/pull/32097
- fix(api): serialize pipeline file-upload created_at by @tokezooo in https://github.com/langgenius/dify/pull/32098
- chore: detect utilities in css by @hyoban in https://github.com/langgenius/dify/pull/32143
- chore: introduce css icons by @hyoban in https://github.com/langgenius/dify/pull/32004
- refactor(api): tighten OTel decorator typing by @shuv-amp in https://github.com/langgenius/dify/pull/32163
- fix(api): clean up orphaned pending accounts on member removal by @eureka928 in https://github.com/langgenius/dify/pull/32151
- fix: When the user is a non-sandbox user and has a paid balance, the … by @zyssyz123 in https://github.com/langgenius/dify/pull/32173
- refactor: import component css in globals.css by @hyoban in https://github.com/langgenius/dify/pull/32180
- fix(api): include file marker for workflow tool file outputs by @OiPunk in https://github.com/langgenius/dify/pull/32114
- fix(web): fill workflow tool output descriptions from schema by @OiPunk in https://github.com/langgenius/dify/pull/32117
- fix: replace sendBeacon with fetch keepalive for autosave on page close by @veeceey in https://github.com/langgenius/dify/pull/32088
- test: add comprehensive tests for Human Input Node functionality by @WTW0313 in https://github.com/langgenius/dify/pull/32191
- chore(api): update launch.json.example to include new workflow_based_app_execution. by @Nov1c444 in https://github.com/langgenius/dify/pull/32184
- refactor: extract sub-components and custom hooks from UpdateDSLModal and Metadata components by @CodingOnStar in https://github.com/langgenius/dify/pull/32045
- fix: fix no dify home directory lead permission error by @fatelei in https://github.com/langgenius/dify/pull/32169
- refactor: type safe env, update to zod v4 by @hyoban in https://github.com/langgenius/dify/pull/32035
- feat: enhancement celery configuration by @ruanimal in https://github.com/langgenius/dify/pull/32145
- fix(console): keep conversation updated_at unchanged when marking read by @OiPunk in https://github.com/langgenius/dify/pull/32133
- chore: allow draft run single node without connect to other node by @hjlarry in https://github.com/langgenius/dify/pull/31977
- chore(deps): bump axios from 1.13.2 to 1.13.5 in /sdks/nodejs-client by @dependabot[bot] in https://github.com/langgenius/dify/pull/32199
- fix: Fix the display of state icon of base node by @WTW0313 in https://github.com/langgenius/dify/pull/32208
- chore(api): consume tasks in
workflow_based_app_executionqueue in start-worker script by @QuantumGhost in https://github.com/langgenius/dify/pull/32214 - fix(api): excessive high CPU usage caused by RedisClientWrapper by @QuantumGhost in https://github.com/langgenius/dify/pull/32212
- fix: fix all tools is deleted by @fatelei in https://github.com/langgenius/dify/pull/32207
- fix: add unique constraint to tenant_default_models to prevent duplic… by @qiaofenlin in https://github.com/langgenius/dify/pull/31221
- feat: support nl-NL language by @fatelei in https://github.com/langgenius/dify/pull/32216
- fix: fix get_message_event_type return wrong message type by @fatelei in https://github.com/langgenius/dify/pull/32019
- docs(api): mark SetupApi as unauthenticated by design by @41tair in https://github.com/langgenius/dify/pull/32224
- feat(workflow): enhance workflow run history management and UI updates by @WTW0313 in https://github.com/langgenius/dify/pull/32230
- chore(deps): bump cryptography from 46.0.3 to 46.0.5 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/32218
- chore(deps): bump google-api-python-client from 2.90.0 to 2.189.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/32102
- feat(tests): add mock for useInvalidateWorkflowRunHistory in pipeline run tests by @WTW0313 in https://github.com/langgenius/dify/pull/32234
- fix: fix use fastopenapi lead user is anonymouse by @fatelei in https://github.com/langgenius/dify/pull/32236
- fix: update index to optimize message clean performance by @hj24 in https://github.com/langgenius/dify/pull/32238
- fix: hide invite button if current user is not workspace manager by @douxc in https://github.com/langgenius/dify/pull/31744
- chore: bump version to 1.13.0 by @QuantumGhost in https://github.com/langgenius/dify/pull/32147
New Contributors
- @Sean-Kenneth-Doherty made their first contribution in https://github.com/langgenius/dify/pull/31789
- @WH-2099 made their first contribution in https://github.com/langgenius/dify/pull/32002
- @longway-code made their first contribution in https://github.com/langgenius/dify/pull/32022
- @kongdayan made their first contribution in https://github.com/langgenius/dify/pull/32081
- @tokezooo made their first contribution in https://github.com/langgenius/dify/pull/32097
- @shuv-amp made their first contribution in https://github.com/langgenius/dify/pull/32163
- @OiPunk made their first contribution in https://github.com/langgenius/dify/pull/32114
- @veeceey made their first contribution in https://github.com/langgenius/dify/pull/32088
Full Changelog: https://github.com/langgenius/dify/compare/1.12.1...1.13.0
Downloads
-
released this
2026-02-04 06:42:50 -05:00 | 2913 commits to main since this release📅 Originally published on GitHub: Wed, 04 Feb 2026 12:15:15 GMT
🏷️ Git tag created: Wed, 04 Feb 2026 11:42:50 GMTWhat's Changed
- fix(docker): persist IRIS data across container recreation using Durable %SYS by @TomoOkuyama in https://github.com/langgenius/dify/pull/31899
- fix(docker): improve IRIS data persistence with proper Durable %SYS by @TomoOkuyama in https://github.com/langgenius/dify/pull/31901
- fix: base url in client by @hyoban in https://github.com/langgenius/dify/pull/31902
- fix: auto summary env by @zxhlyh in https://github.com/langgenius/dify/pull/31930
- fix: fix delete_draft_variables_batch cycle forever by @fatelei in https://github.com/langgenius/dify/pull/31934
- chore: bump version in docker-compose and package manager to 1.12.1 by @QuantumGhost in https://github.com/langgenius/dify/pull/31947
Downloads
-
released this
2026-02-03 09:18:53 -05:00 | 2919 commits to main since this release📅 Originally published on GitHub: Tue, 03 Feb 2026 14:38:13 GMT
🏷️ Git tag created: Tue, 03 Feb 2026 14:18:53 GMT🚀 New Features: Summary Index
We are introducing Summary Index, a powerful enhancement to our knowledge base retrieval system that significantly improves search accuracy by generating AI-powered summaries for document chunks.
Background
Traditional vector search relies on raw chunk embeddings, which can miss semantic nuances and context when matching user queries. This is especially challenging for long documents or complex content where key information might be scattered across multiple chunks. Summary Index addresses this by creating concise, semantically-rich summaries for each document chunk, which are then vectorized and used as an additional retrieval layer.
Key Capabilities
- AI-Powered Summarization: Automatically generates concise summaries for document chunks using configurable LLM models, capturing essential semantic information in a compact format.
- Multimodal Support: When using vision-capable LLMs (e.g., GPT-4V, Claude-3), the system can generate summaries that incorporate both text and images from document chunks, providing richer context understanding.
- Enhanced Retrieval Accuracy: Summary vectors serve as an additional retrieval layer, improving the precision of knowledge base searches by matching queries against both original content and AI-generated summaries.
- Flexible Configuration: Supports default summary prompts, allowing you to tailor the summarization style to match your domain-specific requirements.
- Asynchronous Processing: Summary generation runs asynchronously, ensuring that document indexing remains fast and non-blocking.
- Manual Summary Editing: Allows you to manually edit and refine AI-generated summaries to better align with the original chunk content, ensuring summaries accurately reflect domain-specific terminology and context.
- Index Structure Compatibility: Works with both general chunking and parent-child chunking modes, with intelligent handling of hierarchical document relationships.
- High-Quality Index Integration: Available exclusively for datasets using the "high_quality" indexing technique, ensuring optimal performance for production knowledge bases.
Other Improvements
- Agent App Multimodal Support: Agent App now natively supports multimodal inputs (images/files).
- Qdrant Full-Text Search: Implemented full-text search with multi-keyword support for Qdrant vector database.
- Workflow Enhancements:
- Added support for registering and reading context in workflows.
- Added OpenTelemetry support for single runs.
- Plugin System: Added an option to delete or keep API keys when uninstalling a plugin.
- Template Preview Before Creating: Added a detailed app template preview with workflow graphs or app configs by app type.
🐞 Bug Fixes & Security Updates
- Security:
- Logstore security fix: Addressed potential SQL injection, serialization issues, and optimized initialization.
- Fixed an SSRF vulnerability in WordExtractor URL download.
- Upgraded
tanstack devtoolsto fix seroval RCE vulnerability. - Security updates for
pdfminer.six,authlib,werkzeug,aiohttp, andpycryptodome.
- Workflow & Graph Engine:
- Fixed issues where single iteration or loop nodes could not run.
- Fixed
NextStepcrash when the target node is missing. - Fixed
ToolInvokeMessageUnion type parsing issue.
- API & Backend:
- Fixed CORS resource pattern for
/console/apiroutes. - Fixed IRIS hybrid search returning zero results.
- Fixed billing account deletion issues.
- Fixed
vdb-migratecommand for parent-child segment migration.
- Fixed CORS resource pattern for
- Frontend:
- Fixed "Expand all chunks" button not working.
- Fixed vertical scrolling support for floating elements.
- Fixed validation error when uploading images with None URL values.
⚙️ Configuration Changes
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL: Sets the lock TTL for the sandbox expired records cleanup task (Default:90000).SMTP_LOCAL_HOSTNAME: Optional override for the local hostname used during SMTP HELO/EHLO.PLUGIN_MODEL_SCHEMA_CACHE_TTL: Sets the cache TTL for plugin model schemas (Default:3600).ENABLE_TRIAL_APP: Enables trial app (Default:false).ENABLE_EXPLORE_BANNER: Enables explore banner (Default:false).
Upgrade Guide
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the main branch
git checkout main git pull origin main -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
What's Changed
- fix: fix instance is not bind to session by @fatelei in https://github.com/langgenius/dify/pull/30913
- feat: inject traceparent in enterprise api by @wylswz in https://github.com/langgenius/dify/pull/30895
- refactor: init orpc contract by @hyoban in https://github.com/langgenius/dify/pull/30885
- refactor(variables): clarify base vs union type naming by @laipz8200 in https://github.com/langgenius/dify/pull/30634
- feat: change param to pydantic model by @fatelei in https://github.com/langgenius/dify/pull/30870
- chore(deps): bump filelock from 3.20.0 to 3.20.3 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/30939
- feat: Add option to delete or keep API keys when uninstalling plugin by @UMDKyle in https://github.com/langgenius/dify/pull/28201
- chore(deps): bump azure-core from 1.36.0 to 1.38.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/30941
- fix: Correction to the full name of Volc TOS by @jneless in https://github.com/langgenius/dify/pull/30741
- fix(logstore): prevent SQL injection, fix serialization issues, and optimize initialization by @adongfan in https://github.com/langgenius/dify/pull/30697
- fix: use Factory to create repository in Aliyun Trace by @hieheihei in https://github.com/langgenius/dify/pull/30899
- fix: fix LOOP_CHILDREN_Z_INDEX by @fatelei in https://github.com/langgenius/dify/pull/30719
- refactor(web): MCP tool availability to context-based version gating by @lyzno1 in https://github.com/langgenius/dify/pull/30955
- refactor(http_request_node): apply DI for http request node by @laipz8200 in https://github.com/langgenius/dify/pull/30509
- fix(web): preserve HTTP method in ORPC fetchCompat mode by @lyzno1 in https://github.com/langgenius/dify/pull/30971
- chore(web): disable Serwist dev logs by @lyzno1 in https://github.com/langgenius/dify/pull/30980
- chore(web): remove unused demo service component by @lyzno1 in https://github.com/langgenius/dify/pull/30979
- fix(deps): security updates for pdfminer.six, authlib, werkzeug, aiohttp and others by @kenwoodjw in https://github.com/langgenius/dify/pull/30976
- fix: redirect after login by @hyoban in https://github.com/langgenius/dify/pull/30985
- feat: allow pass hostname in docker env by @fatelei in https://github.com/langgenius/dify/pull/30975
- fix: fix Cannot destructure property 'name' of 'value' as it is undef… by @fatelei in https://github.com/langgenius/dify/pull/30991
- fix: correct API Extension documentation link by @Milad93R in https://github.com/langgenius/dify/pull/30962
- feat: add .agent/skills symlink and orpc-contract-first skill by @lyzno1 in https://github.com/langgenius/dify/pull/30968
- fix: increase name length limit in ExternalDatasetCreatePayload by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31000
- fix: fix missing id and message_id by @fatelei in https://github.com/langgenius/dify/pull/31008
- fix: Use raw SQL UPDATE to set read status without triggering updated… by @fatelei in https://github.com/langgenius/dify/pull/31015
- refactor: port TidbAuthBinding( by @asukaminato0721 in https://github.com/langgenius/dify/pull/31006
- fix: fix plugin edit endpoint app disappear by @fatelei in https://github.com/langgenius/dify/pull/30951
- refactor: delete_endpoint should be idempotent by @fatelei in https://github.com/langgenius/dify/pull/30954
- refactor: port TenantCreditPool by @asukaminato0721 in https://github.com/langgenius/dify/pull/30926
- refactor: port AppAnnotationHitHistory by @asukaminato0721 in https://github.com/langgenius/dify/pull/30922
- feat: implement document creation pipeline with multi-step wizard and datasource management by @CodingOnStar in https://github.com/langgenius/dify/pull/30843
- feat(web): refactor documents component structure and enhance functionality by @CodingOnStar in https://github.com/langgenius/dify/pull/30854
- build: require node 24.13.0 by @hyoban in https://github.com/langgenius/dify/pull/30945
- refactor(contract): restructure console contracts with nested billing module by @lyzno1 in https://github.com/langgenius/dify/pull/30999
- fix: validation error when uploading images with None URL values by @josephadamsdev in https://github.com/langgenius/dify/pull/31012
- test: add unit tests for PluginPage and related components by @CodingOnStar in https://github.com/langgenius/dify/pull/30908
- feat: single run add opentelemetry by @fatelei in https://github.com/langgenius/dify/pull/31020
- chore: bump version to 1.11.4 by @laipz8200 in https://github.com/langgenius/dify/pull/30961
- refactor: enhance clean messages task by @hj24 in https://github.com/langgenius/dify/pull/29638
- fix: message clean service ut by @hj24 in https://github.com/langgenius/dify/pull/31038
- refactor: remove manual set query logic by @hyoban in https://github.com/langgenius/dify/pull/31039
- feat: credential sync fix for enterprise edition by @GareArc in https://github.com/langgenius/dify/pull/30626
- fix: fix log updated_at is refreshed by @fatelei in https://github.com/langgenius/dify/pull/31045
- fix: remove hardcoded 48-character limit from text inputs by @majiayu000 in https://github.com/langgenius/dify/pull/30156
- ci: eslint annotation by @hyoban in https://github.com/langgenius/dify/pull/31056
- ci: disable limit annotation by @hyoban in https://github.com/langgenius/dify/pull/31072
- refactor: always preserve marketplace search state in URL by @byteforge38 in https://github.com/langgenius/dify/pull/31069
- fix: resolve 'Expand all chunks' button not working by @GlobalStar117 in https://github.com/langgenius/dify/pull/31074
- chore: lint for state hooks by @hyoban in https://github.com/langgenius/dify/pull/31088
- fix(web): use portal for variable picker in code editor (Fixes #31063) by @Pavior0 in https://github.com/langgenius/dify/pull/31066
- fix(web): replace Response.json with legacy Response constructor for pre-Chrome 105 compatibility(#31091) by @XiaoBa-Yu in https://github.com/langgenius/dify/pull/31095
- chore: Update coding agent workflow for backend by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31093
- fix(search-input): retain focus after clearing input by @lyzno1 in https://github.com/langgenius/dify/pull/31107
- fix: call
get_text_content()instead of casting tostrby @Stream29 in https://github.com/langgenius/dify/pull/31121 - refactor: migrate tag list API query parameters to Pydantic by @fghpdf in https://github.com/langgenius/dify/pull/31097
- chore: Update outdated GitHub Actions versions by @pgoslatara in https://github.com/langgenius/dify/pull/31114
- chore: improve accessibility for learn more link by @khmandarrin in https://github.com/langgenius/dify/pull/31120
- test(web): add global zustand mock for tests by @lyzno1 in https://github.com/langgenius/dify/pull/31149
- feat(web): add loading indicators for infinite scroll pagination by @eureka928 in https://github.com/langgenius/dify/pull/31110
- chore: introduce bulk-suppressions and multithread linting by @hyoban in https://github.com/langgenius/dify/pull/31157
- chore: update vite related version by @hyoban in https://github.com/langgenius/dify/pull/31180
- feat: add Vercel React Best Practices skill for Claude Code by @lyzno1 in https://github.com/langgenius/dify/pull/31133
- fix(web): Zustand testing best practices and state read optimization by @lyzno1 in https://github.com/langgenius/dify/pull/31163
- chore: no custom lint cache location by @hyoban in https://github.com/langgenius/dify/pull/31195
- chore: improve clear workflow_run task by @hjlarry in https://github.com/langgenius/dify/pull/31124
- feat: ee workspace permission control by @douxc in https://github.com/langgenius/dify/pull/30841
- feat: implement workspace permission checks for member invitations an… by @GareArc in https://github.com/langgenius/dify/pull/31202
- refactor: refactor workflow context by @fatelei in https://github.com/langgenius/dify/pull/30607
- chore: drop slow lint rules by @hyoban in https://github.com/langgenius/dify/pull/31205
- refactor: make url in email template more better by @fatelei in https://github.com/langgenius/dify/pull/31166
- test: add unit tests for plugin detail panel components including action lists, strategy lists, and endpoint management by @CodingOnStar in https://github.com/langgenius/dify/pull/31053
- fix: fix dify-plugin-daemon error message by @fatelei in https://github.com/langgenius/dify/pull/31218
- fix: Revert "fix: fix create app xss issue" by @fatelei in https://github.com/langgenius/dify/pull/31219
- chore: relocate datasets api form by @zxhlyh in https://github.com/langgenius/dify/pull/31224
- feat: Download the uploaded files by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31068
- fix: correct i18n for stepOne.uploader.tip by @kurokobo in https://github.com/langgenius/dify/pull/31177
- chore: init tsslint by @hyoban in https://github.com/langgenius/dify/pull/31209
- chore(web): remove redundant optimizePackageImports config by @cxhello in https://github.com/langgenius/dify/pull/31257
- test: add tests for dataset list by @CodingOnStar in https://github.com/langgenius/dify/pull/31231
- ci: label web changes by @hyoban in https://github.com/langgenius/dify/pull/31261
- fix(web): disable HTML escaping for form field validation messages by @lyzno1 in https://github.com/langgenius/dify/pull/31292
- fix: lint for i18n place holder by @hyoban in https://github.com/langgenius/dify/pull/31283
- chore(web): remove version prefixes from package.json by @Copilot in https://github.com/langgenius/dify/pull/31286
- chore(deps): bump js-yaml from 4.1.0 to 4.1.1 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/31297
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/31298
- fix: enforce no-leaked-conditional-rendering as error and fix violations by @byteforge38 in https://github.com/langgenius/dify/pull/31262
- chore(deps-dev): bump jsdom from 27.3.0 to 27.4.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/31186
- chore(web): comment out unused provider entries in quota panel by @CodingOnStar in https://github.com/langgenius/dify/pull/31315
- test: enhance HitTestingPage tests with additional coverage for rendering and state updates by @CodingOnStar in https://github.com/langgenius/dify/pull/31321
- chore: lint custom tag in i18n by @hyoban in https://github.com/langgenius/dify/pull/31301
- build: bump NextJS from 15 to 16 with turbopack enabled for web production build boost by @bowenliang123 in https://github.com/langgenius/dify/pull/27014
- refactor: use session factory instead of call db.session directly by @fatelei in https://github.com/langgenius/dify/pull/31198
- chore: update dev config by @hyoban in https://github.com/langgenius/dify/pull/31329
- feat: enhance ProgressBar and UsageInfo for storage mode by @CodingOnStar in https://github.com/langgenius/dify/pull/31273
- feat: add lock for retention jobs by @hj24 in https://github.com/langgenius/dify/pull/31320
- feat: workflow support register context and read context by @fatelei in https://github.com/langgenius/dify/pull/31265
- feat: re organize agent skills and add web design skills for all agents by @lyzno1 in https://github.com/langgenius/dify/pull/31334
- refactor(web): refactor next.config.js to next.config.ts by @bowenliang123 in https://github.com/langgenius/dify/pull/31331
- fix(i18n): update model provider tip to only mention OpenAI in English, Japanese, and Simplified Chinese translations by @CodingOnStar in https://github.com/langgenius/dify/pull/31339
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/31332
- fix: check and update doc links by @hyoban in https://github.com/langgenius/dify/pull/30849
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/31342
- test: fix test in #30849 by @hyoban in https://github.com/langgenius/dify/pull/31350
- refactor(web): extract useCopyToClipboard hook to reduce duplication by @SherlockShemol in https://github.com/langgenius/dify/pull/31308
- refactor(db): enforce non-null message annotation questions by @laipz8200 in https://github.com/langgenius/dify/pull/27915
- chore: revert jsdom update by @hyoban in https://github.com/langgenius/dify/pull/31353
- test: enhance HitTestingPage tests with additional coverage for rende… by @hyoban in https://github.com/langgenius/dify/pull/31355
- fix: remove _try_resolve_user_from_request by @fatelei in https://github.com/langgenius/dify/pull/31360
- fix: fix visibilityState event handle by @fatelei in https://github.com/langgenius/dify/pull/31354
- fix: non-auto variable type params of agent node tool are not correctly parsed by @dataknocker in https://github.com/langgenius/dify/pull/31128
- fix: following docs link fix by @hyoban in https://github.com/langgenius/dify/pull/31390
- fix: more doc link fix by @hyoban in https://github.com/langgenius/dify/pull/31395
- feat: app trial by @zyssyz123 in https://github.com/langgenius/dify/pull/26281
- fix(web): disable single tilde strikethrough in markdown rendering by @majiayu000 in https://github.com/langgenius/dify/pull/31400
- fix: use thread local isolation the context by @fatelei in https://github.com/langgenius/dify/pull/31410
- refactor: Move workflow node factory to app workflow by @laipz8200 in https://github.com/langgenius/dify/pull/31385
- feat: frontend part of support try apps by @iamjoel in https://github.com/langgenius/dify/pull/31287
- fix(web): use Array.from() for FileList to fix tsc type errors by @majiayu000 in https://github.com/langgenius/dify/pull/31398
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/31413
- docs(api): mark SystemFeatureApi as unauthenticated by design by @QuantumGhost in https://github.com/langgenius/dify/pull/31417
- fix: NextStep crash when target node is missing by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31416
- fix: fix create-by-file doc_form by @fatelei in https://github.com/langgenius/dify/pull/31346
- chore: disable serwist in dev by @hyoban in https://github.com/langgenius/dify/pull/31424
- refactor: optimize system features response payload for unauthenticated clients by @Cursx in https://github.com/langgenius/dify/pull/31392
- ci: enable ESLint autofix in autofix bot by @majiayu000 in https://github.com/langgenius/dify/pull/31428
- feat: archive workflow run logs backend by @hjlarry in https://github.com/langgenius/dify/pull/31310
- docs(api): clarity SystemFeatureApi for webapp is unauthenticated by design by @QuantumGhost in https://github.com/langgenius/dify/pull/31432
- refactor: split changes for api/controllers/web/login.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29854
- refactor: split changes for api/controllers/web/workflow.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29852
- feat: init fastopenapi by @asukaminato0721 in https://github.com/langgenius/dify/pull/30453
- feat: optimize http status code by @fatelei in https://github.com/langgenius/dify/pull/31430
- fix(tools): fix ToolInvokeMessage Union type parsing issue by @qiaofenlin in https://github.com/langgenius/dify/pull/31450
- chore: Update dev setup scripts and API README by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31415
- fix(http-request): prevent UUID truncation in JSON body by @majiayu000 in https://github.com/langgenius/dify/pull/31444
- refactor: port AppModelConfig by @asukaminato0721 in https://github.com/langgenius/dify/pull/30919
- refactor: single-node workflow runner helpers by @laipz8200 in https://github.com/langgenius/dify/pull/31472
- fix(api): fix IRIS hybrid search returning zero results by @TomoOkuyama in https://github.com/langgenius/dify/pull/31309
- chore(deps): bump pyasn1 from 0.6.1 to 0.6.2 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/31140
- chore(deps): bump @lexical/utils from 0.38.2 to 0.39.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/31503
- refactor: example of refine dict / Mapping by @asukaminato0721 in https://github.com/langgenius/dify/pull/31498
- feat: add trial model list in system features by @zyssyz123 in https://github.com/langgenius/dify/pull/31313
- refactor: restructure Completed component by @CodingOnStar in https://github.com/langgenius/dify/pull/31435
- feat: enhance quota panel to support additional model providers and integrate trial models feature by @CodingOnStar in https://github.com/langgenius/dify/pull/31443
- refactor(tool-selector): remove unused components and consolidate import by @CodingOnStar in https://github.com/langgenius/dify/pull/31018
- fix(web): upgrade tanstack devtools to fix seroval RCE vulnerability by @lyzno1 in https://github.com/langgenius/dify/pull/31515
- refactor: pass BaseModel instances instead of dict by @fghpdf in https://github.com/langgenius/dify/pull/31514
- refactor: LLM plugin invoke parsing by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31499
- refactor: api/controllers/console/version.py to v3 by @asukaminato0721 in https://github.com/langgenius/dify/pull/31463
- refactor: api/controllers/console/setup.py to ov3 by @asukaminato0721 in https://github.com/langgenius/dify/pull/31465
- fix: Add vertical scrolling support for floating elements. by @coopercoder in https://github.com/langgenius/dify/pull/30897
- chore: eslint prune-suppressions by @hyoban in https://github.com/langgenius/dify/pull/31526
- fix: fix Cannot read properties of null (reading 'credential_form_sch… by @fatelei in https://github.com/langgenius/dify/pull/31117
- chore: update to story book nextjs-vite by @hyoban in https://github.com/langgenius/dify/pull/31536
- chore: increase plugin cache ttl to 1 hour by @RockChinQ in https://github.com/langgenius/dify/pull/31552
- chore: follow-up fixes for storybook vite migration by @lyzno1 in https://github.com/langgenius/dify/pull/31545
- fix: service api doc can not gen by @asukaminato0721 in https://github.com/langgenius/dify/pull/31549
- feat: chatflow support multimodal by @fatelei in https://github.com/langgenius/dify/pull/31293
- chore: move agent notes into docstrings by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31560
- docs: add ESLint guide to AGENTS.md by @majiayu000 in https://github.com/langgenius/dify/pull/31559
- chore(deps): bump pycryptodome from 3.19.1 to 3.23.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/31504
- refactor: replace request.args.get with Pydantic BaseModel validation by @GlobalStar117 in https://github.com/langgenius/dify/pull/31104
- refactor(web): extract MCP components and add comprehensive tests by @CodingOnStar in https://github.com/langgenius/dify/pull/31517
- chore(deps): bump pypdf from 6.6.0 to 6.6.2 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/31568
- fix: billing account deletion by @hj24 in https://github.com/langgenius/dify/pull/31556
- fix: wrap test cleanup in act() to prevent window is not defined error by @majiayu000 in https://github.com/langgenius/dify/pull/31558
- chore: update react and next version by @hyoban in https://github.com/langgenius/dify/pull/31593
- feat: Enhances OpenTelemetry node parsers by @hieheihei in https://github.com/langgenius/dify/pull/30706
- test: add tests for dataset document detail by @CodingOnStar in https://github.com/langgenius/dify/pull/31274
- feat: enhance quota panel with installed providers mapping by @CodingOnStar in https://github.com/langgenius/dify/pull/31546
- fix: ConsoleDatasetListQuery request.args.to_dict() by @asukaminato0721 in https://github.com/langgenius/dify/pull/31598
- fix: doc not gen bug by @asukaminato0721 in https://github.com/langgenius/dify/pull/31547
- chore: remove project skills by @lyzno1 in https://github.com/langgenius/dify/pull/31615
- test: add comprehensive tests for chat-user-input component by @CodingOnStar in https://github.com/langgenius/dify/pull/31595
- fix(cors): correct CORS resource pattern for /console/api routes by @NeatGuyCoding in https://github.com/langgenius/dify/pull/31485
- refactor(graph_engine): move observability layer and persistence laye… by @laipz8200 in https://github.com/langgenius/dify/pull/31620
- fix(graph_engine): Cannot run single iteration or loop node by @laipz8200 in https://github.com/langgenius/dify/pull/31470
- feat: summary index by @zxhlyh in https://github.com/langgenius/dify/pull/31523
- fix: vdb-migrate command did not use for parent-child segment migration by @gaoyue1989 in https://github.com/langgenius/dify/pull/31605
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/31630
- fix(app-log): fetching messages correctly when scrolling message list by @JzoNgKVO in https://github.com/langgenius/dify/pull/31655
- refactor(graph_engine): Add a Config class for graph engine. by @laipz8200 in https://github.com/langgenius/dify/pull/31663
- fix: add list type support for ToolInput constant value in tool node by @qiaofenlin in https://github.com/langgenius/dify/pull/31276
- feat(qdrant): implement full-text search with multi-keyword support by @euxx in https://github.com/langgenius/dify/pull/31658
- test: add comprehensive tests by @CodingOnStar in https://github.com/langgenius/dify/pull/31649
- chore: remove non-ASCII characters in .env.example by @bangjiehan in https://github.com/langgenius/dify/pull/31638
- chore: disable turbopackFileSystemCacheForDev by @hyoban in https://github.com/langgenius/dify/pull/31696
- feat: Add summary index for knowledge. by @FFXN in https://github.com/langgenius/dify/pull/31625
- fix: SSRF in WordExtractor URL download (credit to @EaEa0001 ) by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31678
- refactor(model): Refactor plugin model schema cache to be process-global to prevent redundant Daemon API calls by @NieRonghua in https://github.com/langgenius/dify/pull/31689
- refactor: ExporleBanner to TypeBase by @asukaminato0721 in https://github.com/langgenius/dify/pull/31698
- chore(import-linter): add a rule to make model_runtime isolate by @laipz8200 in https://github.com/langgenius/dify/pull/31706
- fix: convert HTTP method to lowercase when parsing cURL commands by @JQSevenMiao in https://github.com/langgenius/dify/pull/31704
- fix(web): remove unwanted border on sticky elements in dark mode by @taronsung in https://github.com/langgenius/dify/pull/31699
- refactor(web): consolidate download helpers by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31664
- chore: Set plugin schema cache TTL to 1h by @laipz8200 in https://github.com/langgenius/dify/pull/31708
- chore(ty): Bootstrap ty type checking for api by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31681
- refactor: unified shortcut keys display using component by @CrabSAMA in https://github.com/langgenius/dify/pull/31713
- docs: relocate frontend docs for agents and human by @hyoban in https://github.com/langgenius/dify/pull/31714
- feat: use xdist to make make test faster by @yihong0618 in https://github.com/langgenius/dify/pull/30824
- feat: try app support review by @iamjoel in https://github.com/langgenius/dify/pull/31716
- refactor: prefer css icon by @hyoban in https://github.com/langgenius/dify/pull/31551
- chore(typing): reduce ty excludes for A1 by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31721
- feat: Human Input node (Frontend Part) by @WTW0313 in https://github.com/langgenius/dify/pull/31631
- feat(api): Human Input Node (backend part) by @QuantumGhost in https://github.com/langgenius/dify/pull/31646
- chore: update version to 1.12.0 by @QuantumGhost in https://github.com/langgenius/dify/pull/31726
- feat: Summary index for knowledge. by @FFXN in https://github.com/langgenius/dify/pull/31719
- chore: Revert "refactor: prefer css icon" by @hyoban in https://github.com/langgenius/dify/pull/31733
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/31730
- chore: update lint config by @hyoban in https://github.com/langgenius/dify/pull/31735
- chore(docker): update plugin daemon version to 0.5.3-local in docker-compose by @QuantumGhost in https://github.com/langgenius/dify/pull/31739
- fix(redis): Redis Cluster eval errors by adding hash tags to trigger debug keys by @anobaka in https://github.com/langgenius/dify/pull/31701
- refactor: rm some dict api/controllers/console/app/generator.py api/core/llm_generator/llm_generator.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/31709
- fix: Drain non-stream plugin chunk iterator by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31564
- fix: trigger doc link by @hyoban in https://github.com/langgenius/dify/pull/31754
- fix(api): fix workflow state persistence issue by @QuantumGhost in https://github.com/langgenius/dify/pull/31752
- chore: hide disable try tab when not support by @iamjoel in https://github.com/langgenius/dify/pull/31759
- refactor: api/controllers/console/feature.py (test) by @Cursx in https://github.com/langgenius/dify/pull/31562
- refactor: api/controllers/console/remote_files.py to ov3 by @asukaminato0721 in https://github.com/langgenius/dify/pull/31466
- revert: revert human input relevant code by @QuantumGhost in https://github.com/langgenius/dify/pull/31766
- fix(i18n): improve Chinese translation of Max Tokens by @majiayu000 in https://github.com/langgenius/dify/pull/31771
- chore: update restx to 1.3.2 by @asukaminato0721 in https://github.com/langgenius/dify/pull/31229
- refactor: init_validate.py to v3 by @asukaminato0721 in https://github.com/langgenius/dify/pull/31457
- refactor: port api/controllers/console/tag/tags.py to ov3 by @asukaminato0721 in https://github.com/langgenius/dify/pull/31767
- fix(api): align graph protocols for response streaming by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31777
- refactor(typing): Fixup typing A2 - workflow engine & nodes by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31723
- refactor: remove all reqparser by @asukaminato0721 in https://github.com/langgenius/dify/pull/29289
- refactor: examples of use match case by @asukaminato0721 in https://github.com/langgenius/dify/pull/31312
- refactor(typing): use enum types for workflow status fields by @lyzno1 in https://github.com/langgenius/dify/pull/31792
- fix: summary index bug by @FFXN in https://github.com/langgenius/dify/pull/31810
- chore(CODEOWNERS): assign
.agents/skillsto @hyoban by @laipz8200 in https://github.com/langgenius/dify/pull/31816 - refactor: "chore: update version to 1.12.0" by @QuantumGhost in https://github.com/langgenius/dify/pull/31817
- refactor: add test for api/controllers/console/workspace/tool_pr… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29886
- refactor: port api/controllers/console/app/audio.py api/controllers/console/app/message.py api/controllers/console/auth/data_source_oauth.py api/controllers/console/auth/forgot_password.py api/controllers/console/workspace/endpoint.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/30680
- refactor: if to match by @asukaminato0721 in https://github.com/langgenius/dify/pull/31799
- refactor: port api/controllers/console/datasets/datasets_document.py api/controllers/service_api/app/annotation.py api/core/app/app_config/easy_ui_based_app/agent/manager.py api/core/app/apps/pipeline/pipeline_generator.py api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py to match case by @asukaminato0721 in https://github.com/langgenius/dify/pull/31832
- refactor: port api/controllers/console/datasets/data_source.py /datasets/metadata.py /service_api/dataset/metadata.py /nodes/agent/agent_node.py api/core/workflow/nodes/datasource/datasource_node.py api/services/dataset_service.py to match case by @asukaminato0721 in https://github.com/langgenius/dify/pull/31836
- refactor: port api/controllers/console/app/annotation.py api/controllers/console/explore/trial.py api/controllers/console/workspace/account.py api/controllers/console/workspace/members.py api/controllers/service_api/app/annotation.py to basemodel by @asukaminato0721 in https://github.com/langgenius/dify/pull/31833
- chore(deps-dev): bump types-psutil from 7.0.0.20251116 to 7.2.2.20260130 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/31814
- fix: revert "refactor: api/controllers/console/feature.py (test)" by @hyoban in https://github.com/langgenius/dify/pull/31850
- test: enhance CommandSelector and GotoAnythingProvider tests by @CodingOnStar in https://github.com/langgenius/dify/pull/31743
- refactor: update oauth_new_user handling in AppInitializer to use parseAsBoolean by @CodingOnStar in https://github.com/langgenius/dify/pull/31862
- fix: create app from template not support review by @iamjoel in https://github.com/langgenius/dify/pull/31866
- test: fix test by @hyoban in https://github.com/langgenius/dify/pull/31869
- chore: update version to 1.12.0 by @QuantumGhost in https://github.com/langgenius/dify/pull/31878
- test: fix test by @hyoban in https://github.com/langgenius/dify/pull/31880
- chore(dev): use strict bash mode for pytest by @BeautyyuYanli in https://github.com/langgenius/dify/pull/31873
- refactor: replace line-clamp package with native CSS by @niveshdandyan in https://github.com/langgenius/dify/pull/31877
- fix: "refactor: port api/controllers/console/tag/tags.py to ov3" by @asukaminato0721 in https://github.com/langgenius/dify/pull/31887
New Contributors
- @UMDKyle made their first contribution in https://github.com/langgenius/dify/pull/28201
- @jneless made their first contribution in https://github.com/langgenius/dify/pull/30741
- @Milad93R made their first contribution in https://github.com/langgenius/dify/pull/30962
- @BeautyyuYanli made their first contribution in https://github.com/langgenius/dify/pull/31000
- @josephadamsdev made their first contribution in https://github.com/langgenius/dify/pull/31012
- @byteforge38 made their first contribution in https://github.com/langgenius/dify/pull/31069
- @GlobalStar117 made their first contribution in https://github.com/langgenius/dify/pull/31074
- @Pavior0 made their first contribution in https://github.com/langgenius/dify/pull/31066
- @pgoslatara made their first contribution in https://github.com/langgenius/dify/pull/31114
- @khmandarrin made their first contribution in https://github.com/langgenius/dify/pull/31120
- @eureka928 made their first contribution in https://github.com/langgenius/dify/pull/31110
- @cxhello made their first contribution in https://github.com/langgenius/dify/pull/31257
- @dataknocker made their first contribution in https://github.com/langgenius/dify/pull/31128
- @coopercoder made their first contribution in https://github.com/langgenius/dify/pull/30897
- @bangjiehan made their first contribution in https://github.com/langgenius/dify/pull/31638
- @taronsung made their first contribution in https://github.com/langgenius/dify/pull/31699
- @niveshdandyan made their first contribution in https://github.com/langgenius/dify/pull/31877
Full Changelog: https://github.com/langgenius/dify/compare/1.11.3...1.12.0
Downloads
-
released this
2026-01-15 00:26:25 -05:00 | 3163 commits to main since this release📅 Originally published on GitHub: Thu, 15 Jan 2026 07:15:40 GMT
🏷️ Git tag created: Thu, 15 Jan 2026 05:26:25 GMT🔒 Security
Dify now requires Node.js 24.13.0 to pick up the upstream fix for the AsyncLocalStorage/async_hooks DoS CVE that can crash apps with deeply nested input. All self-hosted deployments should upgrade Node.js. Thanks to @hyoban in #30945.
Related: #30935.
🛠️ Bug Fixes
-
Redirect After Login: We’ve sorted out the login redirects to bring you back to your intended destination smoothly after logging in. Shoutout to @hyoban for this fix in #30985.
-
Missing ID and Message ID: Missing the essentials? Not anymore! We’ve patched the missing
idandmessage_idissue, thanks to @fatelei in #31008. -
Destructuring Undefined Properties: Ever run into that annoying error where you can't destructure
namefromvaluebecause it's undefined? That’s been crushed too, all thanks to @fatelei in #30991.
Upgrade Guide
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the main branch
git checkout main git pull origin main -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
Note
If you encounter errors like below
2025/11/26 11:37:57 /app/internal/db/pg/pg.go:30 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 /app/internal/db/pg/pg.go:34 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=postgres`: hostname > resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 init.go:99: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) panic: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)Please use the following command instead. For details, please read this https://github.com/langgenius/dify/issues/28706
docker compose --profile postgresql up -dSource Code Deployments
-
Stop the API server, Worker, and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 1.11.4 -
Update Python dependencies:
cd api uv sync -
Then, let's run the migration script:
uv run flask db upgrade -
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
- fix: redirect after login by @hyoban in https://github.com/langgenius/dify/pull/30985
- fix: fix missing id and message_id by @fatelei in https://github.com/langgenius/dify/pull/31008
- build: require node 24.13.0 by @hyoban in https://github.com/langgenius/dify/pull/30945
- chore: bump version to 1.11.4 by @laipz8200 in https://github.com/langgenius/dify/pull/30961
- fix: fix Cannot destructure property 'name' of 'value' as it is undef… by @hyoban in https://github.com/langgenius/dify/pull/30991
Full Changelog: https://github.com/langgenius/dify/compare/1.11.3...1.11.4
Downloads
-
-
released this
2026-01-13 04:49:13 -05:00 | 3168 commits to main since this release📅 Originally published on GitHub: Tue, 13 Jan 2026 10:10:31 GMT
🏷️ Git tag created: Tue, 13 Jan 2026 09:49:13 GMT🚀 What's New in v1.11.3?
Our latest release, v1.11.3, brings to you a slew of bug fixes and features focused on performance, functionality, and user experience. Here's a look at what's changed:
🎬 New Features
- MCP Tool Enhancements: Added support for
embeddedResourceand made MCP tools display directly for quicker access by @IthacaDream and @fatelei in #30261 and #30019. - Batch Operations: Introduced re-index operation in document batch operations by @fatelei in #30275.
- Agent and Workflow Updates: New AgentMaxIterationError and enhancements in app mode checks make workflows and agents more robust by @fatelei.
- OAuth Integration: Frontend login now supports
oauth_new_userflag by @zyssyz123 in #30370. - PDF Extraction: Improved RAG extractor to support image extraction from PDFs by @yangzq50 in #30399.
- Storage and Archive: Added archive storage client and config settings by @hjlarry in #30422.
- Translation and Internationalization: Added initial RSC support for translations for a global audience by @hyoban in #30596.
🛠️ Bug Fixes
- Redis and Cache: Used pipelines to optimize Redis cache deletions, enhancing speed and reliability by @fatelei in #30159.
- UI/UX Fixes: From preventing page crashes due to permission errors to fixing flicking button sizes, multiple UI-related issues have been addressed by various contributors.
- Data Operations: Fixed dataset access errors and improved error handling in batch operations by @zhaobingshuang and others.
- Performance: Released runtime state references under high load to prevent potential memory leaks by @SherlockShemol in #30236.
- Security: Rectified CORS and SSL issues that could've affected bot integrations and Celery operations.
- Internationalization: Korean translations and content were updated for accuracy by @sangyun-han in #30347.
🔧 Under the Hood
- CI/CD and Build Enhancements: Enhanced GitHub actions and build processes for better reliability and less downtime by @bowenliang123 and @hyoban.
- Code & Query Optimization: Addressed inefficiencies in SQL queries and data handling in workflows and the API, improving overall stability.
This release emphasizes streamlining backend operations, fortifying security, and enriching the user interface for a smoother, more productive experience. Thank you to all contributors for refining Dify and pushing our platform forward! 🛠️💡
Upgrade Guide
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the main branch
git checkout main git pull origin main -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
Note
If you encounter errors like below
2025/11/26 11:37:57 /app/internal/db/pg/pg.go:30 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 /app/internal/db/pg/pg.go:34 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=postgres`: hostname > resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 init.go:99: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) panic: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)Please use the following command instead. For details, please read this https://github.com/langgenius/dify/issues/28706
docker compose --profile postgresql up -dSource Code Deployments
-
Stop the API server, Worker, and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 1.11.3 -
Update Python dependencies:
cd api uv sync -
Then, let's run the migration script:
uv run flask db upgrade -
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
- perf: using pipeline to delete redis cache by @fatelei in https://github.com/langgenius/dify/pull/30159
- fix: update permission in member list caused page crash by @iamjoel in https://github.com/langgenius/dify/pull/30164
- feat(refactoring): introduce comprehensive guidelines and tools for component refactoring in Dify by @CodingOnStar in https://github.com/langgenius/dify/pull/30162
- fix: validate first then save to db by @fatelei in https://github.com/langgenius/dify/pull/30107
- fix: load i18n on server by @hyoban in https://github.com/langgenius/dify/pull/30171
- chore: some test by @iamjoel in https://github.com/langgenius/dify/pull/30148
- fix(web): correct deleted tools matching to use provider_id instead of id by @majiayu000 in https://github.com/langgenius/dify/pull/30138
- fix: add transparent border to prevent button size flickering by @Pleasurecruise in https://github.com/langgenius/dify/pull/30128
- refactor: part of remove all reqparser by @asukaminato0721 in https://github.com/langgenius/dify/pull/29847
- fix: fix metadata filter not survive a rename by @fatelei in https://github.com/langgenius/dify/pull/30174
- feat: add mcp tool display directly by @fatelei in https://github.com/langgenius/dify/pull/30019
- feat: allow config NEXT_PUBLIC_BATCH_CONCURRENCY by @fatelei in https://github.com/langgenius/dify/pull/30086
- fix(dataset): dataset tags service_api error "Dataset not found" by @zhaobingshuang in https://github.com/langgenius/dify/pull/30028
- refactor: split changes for api/controllers/console/workspace/load_ba… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29887
- refactor: split changes for api/controllers/console/explore/saved_mes… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29889
- refactor: split changes for api/controllers/console/explore/message.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29890
- chore: bypass InsufficientPrivilege on Azure PostgreSQL by @fatelei in https://github.com/langgenius/dify/pull/30191
- chore: some tests for components by @iamjoel in https://github.com/langgenius/dify/pull/30194
- fix: use query param for delete method by @GareArc in https://github.com/langgenius/dify/pull/30206
- fix: fix DatasetRetrieval._process_metadata_filter_func miss in operator by @fatelei in https://github.com/langgenius/dify/pull/30199
- fix: fix missing not in by @fatelei in https://github.com/langgenius/dify/pull/30207
- fix: retrieval test and knowledge retrieval node failed in multimodal mode by @JohnJyong in https://github.com/langgenius/dify/pull/30210
- test(web): add unit tests for Avatar component by @SherlockShemol in https://github.com/langgenius/dify/pull/30201
- fix: remove unused CSS styles and fix HitTestingPage layout by @WTW0313 in https://github.com/langgenius/dify/pull/30235
- chore(web): remove unused dev-preview page by @sarxxt in https://github.com/langgenius/dify/pull/30226
- fix: Add JSON RPC request type guard by @Nov1c444 in https://github.com/langgenius/dify/pull/30216
- fix: consolidate duplicate InvokeRateLimitError definitions by @Mairuis in https://github.com/langgenius/dify/pull/30229
- fix: wrong usage of redis lock by @NeatGuyCoding in https://github.com/langgenius/dify/pull/28177
- chore(claude-code): migrate from legacy MCP configuration to official plugin system by @lyzno1 in https://github.com/langgenius/dify/pull/30265
- fix: fix custom tool content is not update by @fatelei in https://github.com/langgenius/dify/pull/30250
- fix(api): fix credential type handling and rebuild subscription transaction safety by @NeatGuyCoding in https://github.com/langgenius/dify/pull/30242
- chore(deps): bump scheduler from 0.26.0 to 0.27.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/30284
- chore(deps): bump json-repair from 0.54.1 to 0.54.3 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/30285
- refactor(web): Migrate to Unified TanStack Devtools by @lyzno1 in https://github.com/langgenius/dify/pull/30279
- fix: Workflow Start node optional enum parameter is treated as required by @hjlarry in https://github.com/langgenius/dify/pull/30287
- feat: document batch operation tool add re-index operation by @fatelei in https://github.com/langgenius/dify/pull/30275
- chore(sdk/nodejs): update deps by @hyoban in https://github.com/langgenius/dify/pull/30291
- feat: MCP tool adds support for embeddedResource by @IthacaDream in https://github.com/langgenius/dify/pull/30261
- fix(web): handle null/undefined message in log list by @majiayu000 in https://github.com/langgenius/dify/pull/30253
- fix: release graph_runtime_state reference to prevent memory leak under high load by @SherlockShemol in https://github.com/langgenius/dify/pull/30236
- fix(web): rollback React Scan dynamic import by @lyzno1 in https://github.com/langgenius/dify/pull/30294
- refactor(query-state): migrate query param state management to nuqs by @lyzno1 in https://github.com/langgenius/dify/pull/30184
- build: update github actions by @bowenliang123 in https://github.com/langgenius/dify/pull/30106
- fix(template-transform): use base64 encoding for Jinja2 templates to fix #26818 by @devbyteai in https://github.com/langgenius/dify/pull/30223
- refactor(web): drop swr and migrate share/chat hooks to tanstack query by @lyzno1 in https://github.com/langgenius/dify/pull/30232
- refactor(i18n): use JSON with flattened key and namespace by @hyoban in https://github.com/langgenius/dify/pull/30114
- feat: support tencent cos custom domain by @fatelei in https://github.com/langgenius/dify/pull/30193
- test: add comprehensive tests for plugin authentication components by @CodingOnStar in https://github.com/langgenius/dify/pull/30094
- fix(api): remove tool provider list cache to fix cache inconsistency by @Mairuis in https://github.com/langgenius/dify/pull/30323
- chore: refactor config var and add tests by @iamjoel in https://github.com/langgenius/dify/pull/30312
- chore: i18n namespace refactor in package.json and add missing translations by @lyzno1 in https://github.com/langgenius/dify/pull/30324
- test: add some tests for marketplace by @CodingOnStar in https://github.com/langgenius/dify/pull/30326
- refactor(web): organize devtools components by @lyzno1 in https://github.com/langgenius/dify/pull/30318
- fix: restore draft version correctly in version history panel by @majiayu000 in https://github.com/langgenius/dify/pull/30296
- feat: allow fail fast by @fatelei in https://github.com/langgenius/dify/pull/30262
- feat: get plan bulk with cache by @hj24 in https://github.com/langgenius/dify/pull/30339
- fix: update Korean translations for various components and improve cl… by @sangyun-han in https://github.com/langgenius/dify/pull/30347
- fix: missing i18n translation for Trans by @hyoban in https://github.com/langgenius/dify/pull/30353
- refactor(i18n): about locales by @hyoban in https://github.com/langgenius/dify/pull/30336
- fix(i18n): load server namespaces by kebab-case by @lyzno1 in https://github.com/langgenius/dify/pull/30368
- chore: remove useless __esModule by @hyoban in https://github.com/langgenius/dify/pull/30366
- fix: fix provider_id is empty by @fatelei in https://github.com/langgenius/dify/pull/30374
- fix: fix markdown escape issue by @fatelei in https://github.com/langgenius/dify/pull/30299
- feat: integrate Google Analytics event tracking and update CSP for script sources by @CodingOnStar in https://github.com/langgenius/dify/pull/30365
- refactor: Replace direct
process.env.NODE_ENVchecks withIS_PRODandIS_DEVconstants. by @lyzno1 in https://github.com/langgenius/dify/pull/30383 - feat: add oauth_new_user flag for frontend when user oauth login by @zyssyz123 in https://github.com/langgenius/dify/pull/30370
- fix(web): template creation permission for app templates by @quicksandznzn in https://github.com/langgenius/dify/pull/30367
- refactor: split changes for api/services/tools/api_tools_manage_servi… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29899
- fix: Incorrect REDIS ssl variable used for Celery causing Celery unable to start by @jasonfish568 in https://github.com/langgenius/dify/pull/29605
- fix: keyword search now matches both content and keywords fields by @majiayu000 in https://github.com/langgenius/dify/pull/29619
- fix: xxx render as xxx](xxx) by @fatelei in https://github.com/langgenius/dify/pull/30392
- fix: workflow incorrectly marked as completed while nodes are still executing by @Chenyl-Sai in https://github.com/langgenius/dify/pull/30251
- feat(web): migrate from es-toolkit/compat to native es-toolkit (#30244) by @lyzno1 in https://github.com/langgenius/dify/pull/30246
- chore(deps): bump qs from 6.14.0 to 6.14.1 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/30409
- fix: Ensure chat history refreshes when switching back to conversations by @devbyteai in https://github.com/langgenius/dify/pull/30389
- fix(web): enable JSON_OBJECT type support in console UI by @QuantumGhost in https://github.com/langgenius/dify/pull/30412
- fix: correct useEducationStatus query cache configuration by @lyzno1 in https://github.com/langgenius/dify/pull/30416
- fix: fix create app xss issue by @fatelei in https://github.com/langgenius/dify/pull/30305
- chore: lint for react compiler by @hyoban in https://github.com/langgenius/dify/pull/30417
- chore: update knip config and include in CI by @hyoban in https://github.com/langgenius/dify/pull/30410
- feat: support image extraction in PDF RAG extractor by @yangzq50 in https://github.com/langgenius/dify/pull/30399
- test: unify i18next mocks into centralized helpers by @hyoban in https://github.com/langgenius/dify/pull/30376
- feat: add archive storage client and env config by @hjlarry in https://github.com/langgenius/dify/pull/30422
- build: bring back babel-loader, add build check by @hyoban in https://github.com/langgenius/dify/pull/30427
- chore: add jotai store by @hyoban in https://github.com/langgenius/dify/pull/30432
- fix(web): stop thinking timer when user clicks stop button by @majiayu000 in https://github.com/langgenius/dify/pull/30442
- refactor: migrate some ns.model to BaseModel by @asukaminato0721 in https://github.com/langgenius/dify/pull/30388
- fix: fix when vision is disabled delete the configs by @fatelei in https://github.com/langgenius/dify/pull/30420
- feat: add AgentMaxIterationError exc by @fatelei in https://github.com/langgenius/dify/pull/30423
- chore: Standardized the OpenAI icon by @hjlarry in https://github.com/langgenius/dify/pull/30471
- chore: remove icon_large of models by @hjlarry in https://github.com/langgenius/dify/pull/30466
- feat: optimize for migration versions by @longbingljw in https://github.com/langgenius/dify/pull/28787
- chore: remove redundant web/app/page.module.css by @lyzno1 in https://github.com/langgenius/dify/pull/30482
- chore: integrate @tanstack/eslint-plugin-query and fix service layer lint errors by @lyzno1 in https://github.com/langgenius/dify/pull/30444
- feat(refactoring): Support Structured Logging (JSON) by @41tair in https://github.com/langgenius/dify/pull/30170
- feat: model total credits by @CodingOnStar in https://github.com/langgenius/dify/pull/26942
- fix(plugins): enhance search to match name, label and description by @zhsama in https://github.com/langgenius/dify/pull/30501
- ci: fix translate, allow manual dispatch by @hyoban in https://github.com/langgenius/dify/pull/30505
- chore(i18n): translate i18n files based on en-US changes by @github-actions[bot] in https://github.com/langgenius/dify/pull/30508
- refactor: more ns.model to BaseModel by @asukaminato0721 in https://github.com/langgenius/dify/pull/30445
- chore: upgrade fickling to 0.1.6 by @laipz8200 in https://github.com/langgenius/dify/pull/30495
- test: add unit tests for RagPipeline components by @CodingOnStar in https://github.com/langgenius/dify/pull/30429
- feat: revert model total credits by @CodingOnStar in https://github.com/langgenius/dify/pull/30518
- feat: add Ralph Wiggum plugin support by @lyzno1 in https://github.com/langgenius/dify/pull/30525
- feat: add frontend code review skills by @iamjoel in https://github.com/langgenius/dify/pull/30520
- refactor(web): align signup mail submit and tests by @lyzno1 in https://github.com/langgenius/dify/pull/30456
- feat: enhance squid config by @fatelei in https://github.com/langgenius/dify/pull/30146
- feat: skip rerank if only one dataset is retrieved by @fatelei in https://github.com/langgenius/dify/pull/30075
- fix: when first setup after auto login error by @sszaodian in https://github.com/langgenius/dify/pull/30523
- refactor(code_node): implement DI for the code node by @laipz8200 in https://github.com/langgenius/dify/pull/30519
- docs: update comments in docker/.env.example by @longbingljw in https://github.com/langgenius/dify/pull/30516
- chore: Update PR template lint command by @laipz8200 in https://github.com/langgenius/dify/pull/30533
- refactor(workflow): add Jinja2 renderer abstraction for template transform by @laipz8200 in https://github.com/langgenius/dify/pull/30535
- chore(deps-dev): bump intersystems-irispython from 5.3.0 to 5.3.1 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/30540
- chore: Add a new rule for import lint by @laipz8200 in https://github.com/langgenius/dify/pull/30526
- feat: add flask command file-usage by @fatelei in https://github.com/langgenius/dify/pull/30500
- chore: update dockerignore by @hsiong in https://github.com/langgenius/dify/pull/30460
- fix: fix WorkflowExecution.outputs containing non-JSON-serializable o… by @fatelei in https://github.com/langgenius/dify/pull/30464
- fix(api): surface subscription deletion errors to users by @Mairuis in https://github.com/langgenius/dify/pull/30333
- fix: support to change NEXT_PUBLIC_BASE_PATH env using
--build-argin docker build by @darkelf21cn in https://github.com/langgenius/dify/pull/29836 - feat: return data_source_info and data_source_detail_dict by @fatelei in https://github.com/langgenius/dify/pull/29912
- fix: INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH settings by @hsiong in https://github.com/langgenius/dify/pull/30463
- fix: fix db env not work by @fatelei in https://github.com/langgenius/dify/pull/30541
- chore(deps): bump @amplitude/analytics-browser from 2.31.4 to 2.33.1 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/30538
- fix: #30511 [Bug] knowledge_retrieval_node fails when using Rerank Model: "Working outside of application context" and add regression test by @hsiong in https://github.com/langgenius/dify/pull/30549
- refactor: use contains_any instead of Chaining where = where | f by @fatelei in https://github.com/langgenius/dify/pull/30559
- chore(web): add ESLint rules for i18n JSON validation by @hyoban in https://github.com/langgenius/dify/pull/30491
- refactor(models): Add mapped type hints to MessageAnnotation by @laipz8200 in https://github.com/langgenius/dify/pull/27751
- chore(docker): update nltk data download process to include unstructured download_nltk_packages by @lework in https://github.com/langgenius/dify/pull/28876
- chore: fix lint in i18n by @hyoban in https://github.com/langgenius/dify/pull/30571
- feat(logstore): make
graphfield optional via env variable LOGSTORE… by @scdeng in https://github.com/langgenius/dify/pull/30554 - feat(graph-engine): make layer runtime state non-null and bound early by @laipz8200 in https://github.com/langgenius/dify/pull/30552
- feat(graph-engine): add command to update variables at runtime by @laipz8200 in https://github.com/langgenius/dify/pull/30563
- chore: Harden API image Node.js runtime install by @laipz8200 in https://github.com/langgenius/dify/pull/30497
- fix(api): refactors the SQL LIKE pattern escaping logic to use a centralized utility function, ensuring consistent and secure handling of special characters across all database queries. by @NeatGuyCoding in https://github.com/langgenius/dify/pull/30450
- refactor: split changes for api/controllers/web/saved_message.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/30583
- refactor: split changes for api/controllers/web/conversation.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/30582
- fix: system model selector loading state flash by @lyzno1 in https://github.com/langgenius/dify/pull/30572
- refactor: split changes for api/controllers/console/datasets/hit_test… by @asukaminato0721 in https://github.com/langgenius/dify/pull/30581
- chore: remove unused link icon type by @GKTOKWR in https://github.com/langgenius/dify/pull/30469
- feat: unified management stop event by @fatelei in https://github.com/langgenius/dify/pull/30479
- refactor: port controllers/console/app/app.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/30522
- fix: correct docx hyperlink extraction by @yangzq50 in https://github.com/langgenius/dify/pull/30360
- fix: allow unauthenticated CORS preflight for embedded bots by @Thebinary110 in https://github.com/langgenius/dify/pull/30587
- feat: init rsc support for translation by @hyoban in https://github.com/langgenius/dify/pull/30596
- feat: Add conversation variable persistence layer by @laipz8200 in https://github.com/langgenius/dify/pull/30531
- fix: _model_to_insertion_dict missing id by @fatelei in https://github.com/langgenius/dify/pull/30603
- refactor: clean type: ignore comments in login.py and template_transformer.py by @majiayu000 in https://github.com/langgenius/dify/pull/30510
- refactor(api): inject sessionmaker into conversation variable updater by @laipz8200 in https://github.com/langgenius/dify/pull/30609
- refactor: generate_url to support scenario to build url by @fatelei in https://github.com/langgenius/dify/pull/30598
- fix(db): parameterize sessionmaker with Session by @laipz8200 in https://github.com/langgenius/dify/pull/30612
- chore: bump pnpm version in packageManager by @lyzno1 in https://github.com/langgenius/dify/pull/30605
- feat: use more universal C.UTF-8 instead of en_US.UTF-8 by @fatelei in https://github.com/langgenius/dify/pull/30621
- feat: implement dataset creation step one with preview functionality by @CodingOnStar in https://github.com/langgenius/dify/pull/30507
- refactor(web): migrate legacy forms to TanStack Form by @lyzno1 in https://github.com/langgenius/dify/pull/30631
- fix: prevent empty state flash and add skeleton loading for app list by @lyzno1 in https://github.com/langgenius/dify/pull/30616
- fix: flask db check fails due to nullable mismatch between migrations and models by @ltoppyl in https://github.com/langgenius/dify/pull/30474
- refactor: restructure DatasetCard component for improved readability and maintainability by @CodingOnStar in https://github.com/langgenius/dify/pull/30617
- refactor(api): clarify published RAG pipeline invoke naming by @laipz8200 in https://github.com/langgenius/dify/pull/30644
- refactor: port api/fields/file_fields.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/30638
- chore: use from future import annotations by @sarxxt in https://github.com/langgenius/dify/pull/30254
- chore: add skill creator for create agent skills by @lyzno1 in https://github.com/langgenius/dify/pull/30652
- fix: add DB_TYPE environment variable to unit tests by @fghpdf in https://github.com/langgenius/dify/pull/30660
- fix: fix not record access token by @fatelei in https://github.com/langgenius/dify/pull/30654
- chore: rename ralph-wiggum plugin to ralph-loop by @lyzno1 in https://github.com/langgenius/dify/pull/30664
- refactor(web): remove useMixedTranslation, better resource loading by @hyoban in https://github.com/langgenius/dify/pull/30630
- fix: signin page stuck on loading when refresh token valid but access token expired by @lyzno1 in https://github.com/langgenius/dify/pull/30675
- refactor: remove unnecessary type: ignore from rag_pipeline_fields.py by @fghpdf in https://github.com/langgenius/dify/pull/30666
- fix: fix assign value stand as default by @fatelei in https://github.com/langgenius/dify/pull/30651
- refactor(web): remove unused type alias VoiceLanguageKey by @fghpdf in https://github.com/langgenius/dify/pull/30694
- feat(i18n): Migrate translation workflow to Claude Code GitHub Actions by @lyzno1 in https://github.com/langgenius/dify/pull/30692
- refactor: split changes for api/controllers/console/workspace/trigger… by @asukaminato0721 in https://github.com/langgenius/dify/pull/30627
- fix(workflow): pass correct user_from/invoke_from into graph init by @laipz8200 in https://github.com/langgenius/dify/pull/30637
- fix(i18n): resolve Claude Code sandbox path issues in workflow by @lyzno1 in https://github.com/langgenius/dify/pull/30710
- fix(web): resolve key-value input box height inconsistency on focus/blur (#30715) by @JunIce in https://github.com/langgenius/dify/pull/30716
- feat: add decryption decorators for password and code fields in webapp by @GareArc in https://github.com/langgenius/dify/pull/30704
- fix: web app login code encrypt by @douxc in https://github.com/langgenius/dify/pull/30705
- feat: credit pool by @zyssyz123 in https://github.com/langgenius/dify/pull/30720
- feat: model total credits by @CodingOnStar in https://github.com/langgenius/dify/pull/30727
- fix(web): restrict postMessage targetOrigin from wildcard to specific origins by @xuwei95 in https://github.com/langgenius/dify/pull/30690
- fix(web): resolve chat message loading race conditions and infinite loops by @MkDev11 in https://github.com/langgenius/dify/pull/30695
- fix(ci): use repository_dispatch for i18n sync workflow by @lyzno1 in https://github.com/langgenius/dify/pull/30744
- chore(i18n): sync translations with en-US by @github-actions[bot] in https://github.com/langgenius/dify/pull/30750
- feat: implement step two of dataset creation with comprehensive UI components and hooks by @CodingOnStar in https://github.com/langgenius/dify/pull/30681
- feat(embedding-process): implement embedding process components and polling logic by @CodingOnStar in https://github.com/langgenius/dify/pull/30622
- feat(workflows): add agent-dev deploy workflow by @Mairuis in https://github.com/langgenius/dify/pull/30774
- fix: fix enhance app mode check by @fatelei in https://github.com/langgenius/dify/pull/30758
- fix(web): invalidate app list cache after deleting app from detail page by @majiayu000 in https://github.com/langgenius/dify/pull/30751
- refactor: marketplace state management by @hyoban in https://github.com/langgenius/dify/pull/30702
- revert: "fix: fix assign value stand as default (#30651)" by @QuantumGhost in https://github.com/langgenius/dify/pull/30717
- feat: enhance start node object value check by @fatelei in https://github.com/langgenius/dify/pull/30732
- feat(web): migrate PWA to Serwist by @hyoban in https://github.com/langgenius/dify/pull/30808
- refactor(models): Refine MessageAgentThought SQLAlchemy typing by @laipz8200 in https://github.com/langgenius/dify/pull/27749
- fix: Broken import in .storybook/preview.tsx by @fatelei in https://github.com/langgenius/dify/pull/30812
- fix: fix refresh token deadlock by @fatelei in https://github.com/langgenius/dify/pull/30828
- fix: drop useless pyrefly in ci by @yihong0618 in https://github.com/langgenius/dify/pull/30826
- chore(deps-dev): bump @storybook/react from 9.1.13 to 9.1.17 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/30833
- chore(deps-dev): bump tos from 2.7.2 to 2.9.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/30834
- docs(web): add corepack recommendation by @hyoban in https://github.com/langgenius/dify/pull/30837
- feat: add block-no-verify hook for Claude Code by @Lemonadeccc in https://github.com/langgenius/dify/pull/30839
- refactor(web): extract isServer/isClient utility & upgrade Node.js to 22.12.0 by @lyzno1 in https://github.com/langgenius/dify/pull/30803
- ci: add HITL test env deployment action by @QuantumGhost in https://github.com/langgenius/dify/pull/30846
- build: limit esbuild, glob, docker base version to avoid cve by @hyoban in https://github.com/langgenius/dify/pull/30848
- feat: clear free plan workflow run logs by @hjlarry in https://github.com/langgenius/dify/pull/29494
- fix(api): defer streaming response until referenced variables are updated by @QuantumGhost in https://github.com/langgenius/dify/pull/30832
- fix: use node factory for single-step workflow nodes by @hjlarry in https://github.com/langgenius/dify/pull/30859
- feat(ops): set root span kind for AliyunTrace to enable service-level metrics aggregation by @hieheihei in https://github.com/langgenius/dify/pull/30728
- fix: entrypoint.sh overrides NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS when TEXT_GENERATION_TIMEOUT_MS is unset (#30864) by @hsiong in https://github.com/langgenius/dify/pull/30865
- fix: fix formatNumber accuracy by @fatelei in https://github.com/langgenius/dify/pull/30877
- fix(amplitude): update sessionReplaySampleRate default value to 0.5 by @CodingOnStar in https://github.com/langgenius/dify/pull/30880
- fix: missing content if assistant message with tool_calls by @leslie2046 in https://github.com/langgenius/dify/pull/30083
- fix: fix object value is optional should skip validate by @fatelei in https://github.com/langgenius/dify/pull/30894
- chore: rename the migration file by @hjlarry in https://github.com/langgenius/dify/pull/30893
- fix(web): add null check for SSE stream bufferObj to prevent TypeError by @majiayu000 in https://github.com/langgenius/dify/pull/30131
- fix: In the LLM model in dify, when a message is added, the first cli… by @zhichenghouse in https://github.com/langgenius/dify/pull/29540
- chore: case insensitive email by @hjlarry in https://github.com/langgenius/dify/pull/29978
- refactor(web): setup status caching by @lyzno1 in https://github.com/langgenius/dify/pull/30798
- chore: Bump Dify version to 1.11.3 by @laipz8200 in https://github.com/langgenius/dify/pull/30903
New Contributors
- @sarxxt made their first contribution in https://github.com/langgenius/dify/pull/30226
- @devbyteai made their first contribution in https://github.com/langgenius/dify/pull/30223
- @sangyun-han made their first contribution in https://github.com/langgenius/dify/pull/30347
- @yangzq50 made their first contribution in https://github.com/langgenius/dify/pull/30399
- @sszaodian made their first contribution in https://github.com/langgenius/dify/pull/30523
- @darkelf21cn made their first contribution in https://github.com/langgenius/dify/pull/29836
- @lework made their first contribution in https://github.com/langgenius/dify/pull/28876
- @scdeng made their first contribution in https://github.com/langgenius/dify/pull/30554
- @Thebinary110 made their first contribution in https://github.com/langgenius/dify/pull/30587
- @ltoppyl made their first contribution in https://github.com/langgenius/dify/pull/30474
- @fghpdf made their first contribution in https://github.com/langgenius/dify/pull/30660
- @xuwei95 made their first contribution in https://github.com/langgenius/dify/pull/30690
- @MkDev11 made their first contribution in https://github.com/langgenius/dify/pull/30695
- @Lemonadeccc made their first contribution in https://github.com/langgenius/dify/pull/30839
- @zhichenghouse made their first contribution in https://github.com/langgenius/dify/pull/29540
Full Changelog: https://github.com/langgenius/dify/compare/1.11.2...1.11.3
Downloads
- MCP Tool Enhancements: Added support for
-
released this
2025-12-25 03:35:26 -05:00 | 3386 commits to main since this release📅 Originally published on GitHub: Thu, 25 Dec 2025 08:40:33 GMT
🏷️ Git tag created: Thu, 25 Dec 2025 08:35:26 GMT🌟 What’s New in v1.11.2 🌟
Welcome to version 1.11.2! This release sees a significant number of improvements, especially around testing, fixes, and new integrations to enhance the robustness and flexibility of the platform. Here's the lowdown:
🚀 New Features
- InterSystems IRIS Vector Database: We've added support for this database to bolster data handling capabilities. Big ups to @TomoOkuyama! (#29480)
- Aliyun SLS Integration: Workflow execution logging can now leverage Aliyun's Simple Log Service, courtesy of @adongfan. (#28986)
- Tunisian Arabic Support: We've expanded our language support with Tunisian Arabic. Shukran @nourzakhama2003! (#29306)
⚙️ Enhancements
- Comprehensive Test Coverage: A slew of Jest tests have been added to various components, such as the ConfirmModal, AppCard, CustomizeModal, and more. Thanks to everyone involved, especially @lyzno1! These enhance our confidence in releasing robust changes. (#29627, #29667, etc.)
- Amplitude Tracking: Enhanced user behavior tracking across the platform for deeper insights, thanks to @CodingOnStar. (#29662)
- Pipeline Setting Tests: Automated testing has been added to ensure any future changes to pipeline settings won't break your optimizations. (#29478)
- Responsive Chat Wrapper: We've optimized the chat interface for better usability across all device types. Props to @hangboss1761. (#29687)
🛠️ Bug Fixes
- Unified Translation: Fixed various translation-related issues across multiple languages for a more coherent global experience. Thanks, @ZeroZ-lab! (#29759)
- Security Enhancements: We've patched an XSS vulnerability with the Mermaid Graph and tackled SSRF and CSV injection issues. Kudos to @zyssyz123 and @laipz8200. (#29811, #29462)
- Upload Fixes: If file uploads are disabled, they'll now be consistently so across the board. Big thanks to @iamjoel. (#29681)
- API Key Validation: Ensures API keys in HTTPRequest nodes are never empty, thanks to @AziizBg. (#29950)
- Miscellaneous Fixes: A whole host of tweaks ranging from workflow past version data synchronization to adjustment of padding for better alignment. Massive thanks to all who squashed these bugs! (#30139, #29999)
🎨 Code Quality & Maintenance
- Refactor Marathon: We've massively refactored our API and web controllers to make future updates easier and more performant. Big thanks to @asukaminato0721 for spearheading this. (#29894, #29888, etc.)
- Jest and Webpack Optimizations: Improved Jest caching, configuration, and migration to Vitest/ESM in the web components for quicker, more reliable tests. Hats off to @lyzno1 and @hyoban. (#29881, #29974)
- Documentation Cleanup: The Swagger UI is now disabled by default in production releases, being more cautious about what information hangs out there. Thanks @laipz8200. (#29723)
That's the round-up for v1.11.2! As always, a huge shoutout to all contributors who make these improvements possible. You rock! Now, go try the new release, and hit us up with feedback. Happy coding! 🙌
Upgrade Guide
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the main branch
git checkout main git pull origin main -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
Note
If you encounter errors like below
2025/11/26 11:37:57 /app/internal/db/pg/pg.go:30 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 /app/internal/db/pg/pg.go:34 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=postgres`: hostname > resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 init.go:99: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) panic: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)Please use the following command instead. For details, please read this https://github.com/langgenius/dify/issues/28706
docker compose --profile postgresql up -dSource Code Deployments
-
Stop the API server, Worker, and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 1.11.2 -
Update Python dependencies:
cd api uv sync -
Then, let's run the migration script:
uv run flask db upgrade -
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
- chore: add test case for download components by @iamjoel in https://github.com/langgenius/dify/pull/29569
- chore: test for app card and no data by @iamjoel in https://github.com/langgenius/dify/pull/29570
- test(web): add comprehensive tests for workflow-log component by @lyzno1 in https://github.com/langgenius/dify/pull/29562
- fix: bump wandb to 0.23.1 urllib3 to 2.6.0 by @kenwoodjw in https://github.com/langgenius/dify/pull/29481
- fix: remove unnecessary error log when trigger endpoint returns 404 by @Mairuis in https://github.com/langgenius/dify/pull/29587
- feat(i18n): add Tunisian Arabic (ar-TN) translation by @nourzakhama2003 in https://github.com/langgenius/dify/pull/29306
- fix: validate page_size limit in plugin list and tasks endpoints by @aplulu in https://github.com/langgenius/dify/pull/29611
- fix(workflow): agent prompt editor canvas not covering full text height by @abesticode in https://github.com/langgenius/dify/pull/29623
- chore: add anthropic skills for frontend testing by @lyzno1 in https://github.com/langgenius/dify/pull/29608
- fix: fix mime type is none by @fatelei in https://github.com/langgenius/dify/pull/29579
- fix(ci): use setup-python to avoid 504 errors and use project oxlint config by @lyzno1 in https://github.com/langgenius/dify/pull/29613
- fix: show uninstalled plugin nodes in workflow checklist by @lyzno1 in https://github.com/langgenius/dify/pull/29630
- fix: fix delete_account_task not check billing enabled by @fatelei in https://github.com/langgenius/dify/pull/29577
- fix: add secondary text color to plugin task headers by @Pleasurecruise in https://github.com/langgenius/dify/pull/29529
- fixes: #28300 Change the Citations banner in dark mode to fully opaque by @Rickon-dev in https://github.com/langgenius/dify/pull/28673
- feat: Add InterSystems IRIS vector database support by @TomoOkuyama in https://github.com/langgenius/dify/pull/29480
- chore(deps): bump @hookform/resolvers from 3.10.0 to 5.2.2 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/29442
- chore: add AGENTS.md for frontend by @lyzno1 in https://github.com/langgenius/dify/pull/29647
- test: add comprehensive Jest tests for ConfirmModal component by @lyzno1 in https://github.com/langgenius/dify/pull/29627
- fix(api): Populate Missing Attributes For Arize Phoenix Integration by @ialisaleh in https://github.com/langgenius/dify/pull/29526
- fix(workflow): tool plugin output_schema array type not selectable in subsequent nodes by @importcjj in https://github.com/langgenius/dify/pull/29035
- Add file upload enabled check and new i18n message by @halogen22 in https://github.com/langgenius/dify/pull/28946
- chore: disable swagger doc in production by @lin-snow in https://github.com/langgenius/dify/pull/29283
- fix(api): use json_repair for conversation title parsing by @quicksandznzn in https://github.com/langgenius/dify/pull/29649
- perf: commit once by @fatelei in https://github.com/langgenius/dify/pull/29590
- fix: delete knowledge pipeline but pipeline and workflow don't delete by @JohnJyong in https://github.com/langgenius/dify/pull/29591
- refactor: admin api using session factory by @fatelei in https://github.com/langgenius/dify/pull/29628
- chore(i18n): translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/29651
- fix: does not save segment vector when there is no attachment_ids by @Chenyl-Sai in https://github.com/langgenius/dify/pull/29520
- test: Consolidate API CI test runner by @laipz8200 in https://github.com/langgenius/dify/pull/29440
- fix: correct i18n SSO translations and fix validation/type issues by @NeatGuyCoding in https://github.com/langgenius/dify/pull/29564
- fix: dos in annotation import by @zyssyz123 in https://github.com/langgenius/dify/pull/29470
- feat: Enhance Amplitude tracking across various components by @CodingOnStar in https://github.com/langgenius/dify/pull/29662
- chore: tests for annotation by @iamjoel in https://github.com/langgenius/dify/pull/29664
- chore: some billing test by @iamjoel in https://github.com/langgenius/dify/pull/29648
- fix: ssrf, add internal ip filter when parse tool schema by @zyssyz123 in https://github.com/langgenius/dify/pull/29548
- fix: csv injection in annotations export by @zyssyz123 in https://github.com/langgenius/dify/pull/29462
- fix: all upload files are disabled if upload file feature disabled by @iamjoel in https://github.com/langgenius/dify/pull/29681
- fix: webhook node output file as file variable by @fatelei in https://github.com/langgenius/dify/pull/29621
- chore: skip upload_file_id is missing by @fatelei in https://github.com/langgenius/dify/pull/29666
- chore: add online drive metadata source enum by @quicksandznzn in https://github.com/langgenius/dify/pull/29674
- fix: update chat wrapper components to use min-h instead of h for better responsiveness by @hangboss1761 in https://github.com/langgenius/dify/pull/29687
- test: enhance DebugWithMultipleModel component test coverage by @lyzno1 in https://github.com/langgenius/dify/pull/29657
- chore: some tests for configuration components by @iamjoel in https://github.com/langgenius/dify/pull/29653
- test: enhance workflow-log component tests with comprehensive coverage by @lyzno1 in https://github.com/langgenius/dify/pull/29616
- test: add comprehensive frontend tests for billing plan assets by @lyzno1 in https://github.com/langgenius/dify/pull/29615
- test: try to use Anthropic Skills to add tests for web/app/components/apps/ by @lyzno1 in https://github.com/langgenius/dify/pull/29607
- feat: VECTOR_STORE supports seekdb by @longbingljw in https://github.com/langgenius/dify/pull/29658
- refactor: create shared react-i18next mock to reduce duplication by @lyzno1 in https://github.com/langgenius/dify/pull/29711
- test: add comprehensive Jest test for CreateAppTemplateDialog component by @lyzno1 in https://github.com/langgenius/dify/pull/29713
- test: add unit tests for DocumentPicker, PreviewDocumentPicker, and R… by @CodingOnStar in https://github.com/langgenius/dify/pull/29695
- feat: add GraphEngine layer node execution hooks by @hieheihei in https://github.com/langgenius/dify/pull/28583
- chore: webhook with bin file should guess mimetype by @hjlarry in https://github.com/langgenius/dify/pull/29704
- test: add comprehensive Jest tests for CustomPage and WorkflowOnboardingModal components by @lyzno1 in https://github.com/langgenius/dify/pull/29714
- revert: "security/fix-swagger-info-leak-m02" by @crazywoola in https://github.com/langgenius/dify/pull/29721
- test: add comprehensive tests for CustomizeModal component by @lyzno1 in https://github.com/langgenius/dify/pull/29709
- chore: Disable Swagger UI by default in docker samples by @laipz8200 in https://github.com/langgenius/dify/pull/29723
- chore: tests for billings by @iamjoel in https://github.com/langgenius/dify/pull/29720
- test: add comprehensive unit tests for APIKeyInfoPanel component by @lyzno1 in https://github.com/langgenius/dify/pull/29719
- feat: Remove TLS 1.1 from default NGINX protocols by @laipz8200 in https://github.com/langgenius/dify/pull/29728
- test: Add comprehensive Jest test for AppCard component by @lyzno1 in https://github.com/langgenius/dify/pull/29667
- test: Stabilize sharded Redis broadcast multi-subscriber test by @laipz8200 in https://github.com/langgenius/dify/pull/29733
- chore: tests for components in config by @iamjoel in https://github.com/langgenius/dify/pull/29739
- Feat/update notion preview by @JohnJyong in https://github.com/langgenius/dify/pull/29345
- fix: Login secret text transmission by @zyssyz123 in https://github.com/langgenius/dify/pull/29659
- fix: oxlint no unused expressions by @Angel98518 in https://github.com/langgenius/dify/pull/29675
- feat: _truncate_json_primitives support file by @fatelei in https://github.com/langgenius/dify/pull/29760
- fix: add Slovenian and Tunisian Arabic translations across multiple language files by @ZeroZ-lab in https://github.com/langgenius/dify/pull/29759
- ci: show missing lines in coverage report summary by @laipz8200 in https://github.com/langgenius/dify/pull/29717
- chore: add tests for config string and dataset card item by @lyzno1 in https://github.com/langgenius/dify/pull/29743
- chore(web): add some jest tests by @lyzno1 in https://github.com/langgenius/dify/pull/29754
- feat: add automated tests for pipeline setting by @CodingOnStar in https://github.com/langgenius/dify/pull/29478
- feat: add datasource_parameters handling for API requests by @r-hashi01 in https://github.com/langgenius/dify/pull/29757
- feat: Add "type" field to PipelineRecommendedPlugin model; Add query param "type" to recommended-plugins api. by @FFXN in https://github.com/langgenius/dify/pull/29736
- chore: tests form add annotation by @iamjoel in https://github.com/langgenius/dify/pull/29770
- chore: tests for webapp run batch by @iamjoel in https://github.com/langgenius/dify/pull/29767
- feat: Add Aliyun SLS (Simple Log Service) integration for workflow execution logging by @adongfan in https://github.com/langgenius/dify/pull/28986
- feat: update RAG recommended plugins hook to accept type parameter by @WTW0313 in https://github.com/langgenius/dify/pull/29735
- fix: detect_file_encodings TypeError: tuple indices must be integers or slices, not str by @zhaobingshuang in https://github.com/langgenius/dify/pull/29595
- test(api): add a test for
detect_file_encodingsby @fatelei in https://github.com/langgenius/dify/pull/29778 - chore: tests for app agent configures by @iamjoel in https://github.com/langgenius/dify/pull/29789
- fix: Correct French grammar by @ttaylorr1 in https://github.com/langgenius/dify/pull/29793
- fix(deps): restore charset_normalizer, revert accidental chardet reintroduction by @adongfan in https://github.com/langgenius/dify/pull/29782
- chore: scope docs CODEOWNERS by @laipz8200 in https://github.com/langgenius/dify/pull/29813
- chore: add some jest tests by @lyzno1 in https://github.com/langgenius/dify/pull/29800
- chore: compatiable opendal modify by @fatelei in https://github.com/langgenius/dify/pull/29794
- test: add comprehensive unit tests for JinaReader and WaterCrawl comp… by @CodingOnStar in https://github.com/langgenius/dify/pull/29768
- chore(web): add some tests by @lyzno1 in https://github.com/langgenius/dify/pull/29772
- test: add unit tests for DatasetConfig component with comprehensive coverage of rendering, dataset management, context variables, and metadata filtering by @lyzno1 in https://github.com/langgenius/dify/pull/29779
- chore: add AppTypeSelector tests and improve clear button accessibility by @lyzno1 in https://github.com/langgenius/dify/pull/29791
- fix: remove unnecessary min-width css style from AllTools and Blocks components by @wcc0077 in https://github.com/langgenius/dify/pull/29810
- fix: mermaid graph xss problem by @laipz8200 in https://github.com/langgenius/dify/pull/29811
- fix: drop some dead links by @yihong0618 in https://github.com/langgenius/dify/pull/29827
- fix: TypeError: outputParameters is not iterable by @crazywoola in https://github.com/langgenius/dify/pull/29833
- feat: add billing subscription plan api by @hj24 in https://github.com/langgenius/dify/pull/29829
- chore: tests for goto anything by @iamjoel in https://github.com/langgenius/dify/pull/29831
- feat: sandbox retention basic settings by @hj24 in https://github.com/langgenius/dify/pull/29842
- fix: fix json object validate by @fatelei in https://github.com/langgenius/dify/pull/29840
- fix(theme): make sticky headers opaque in dark mode (Monaco sticky sc… by @nourzakhama2003 in https://github.com/langgenius/dify/pull/29826
- ci: add detailed test coverage report for web by @lyzno1 in https://github.com/langgenius/dify/pull/29803
- fix: plugin execution timeout not respecting PLUGIN_MAX_EXECUTION_TIMEOUT by @hukurou0 in https://github.com/langgenius/dify/pull/29785
- feat: show generate speed in chatbot by @leslie2046 in https://github.com/langgenius/dify/pull/29602
- chore: tests for annotation by @iamjoel in https://github.com/langgenius/dify/pull/29851
- perf: decrease db query by @fatelei in https://github.com/langgenius/dify/pull/29837
- chore(codeowners): add migrations code owner by @laipz8200 in https://github.com/langgenius/dify/pull/29864
- chore(web): enhance frontend tests by @lyzno1 in https://github.com/langgenius/dify/pull/29859
- fix: fix fixed_separator by @fatelei in https://github.com/langgenius/dify/pull/29861
- refactor: part of remove all reqparser by @asukaminato0721 in https://github.com/langgenius/dify/pull/29848
- chore(web): enhance tests follow the testing.md and skills by @lyzno1 in https://github.com/langgenius/dify/pull/29841
- fix(api): resolve errors when setting visibility to partial members by @quicksandznzn in https://github.com/langgenius/dify/pull/29830
- refactor: implement SettingsModal with retrieval settings and add tests for RetrievalChangeTip component by @lyzno1 in https://github.com/langgenius/dify/pull/29786
- chore: enhance Jest setup and add new tests for dataset creation components by @CodingOnStar in https://github.com/langgenius/dify/pull/29825
- fix 29184 by @leslie2046 in https://github.com/langgenius/dify/pull/29188
- chore: tests for configuration by @iamjoel in https://github.com/langgenius/dify/pull/29870
- refactor: split changes for api/controllers/web/audio.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29856
- chore(web): enhance frontend tests by @lyzno1 in https://github.com/langgenius/dify/pull/29869
- chore(deps-dev): bump storybook from 9.1.13 to 9.1.17 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/29906
- refactor: split changes for api/libs/helper.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29875
- perf: improve Jest caching and configuration in web tests by @lyzno1 in https://github.com/langgenius/dify/pull/29881
- refactor: unified cn utils by @hyoban in https://github.com/langgenius/dify/pull/29916
- refactor: split changes for api/controllers/web/completion.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29855
- chore: update packageManager version in package.json to pnpm@10.26.1 by @lyzno1 in https://github.com/langgenius/dify/pull/29918
- feat(tests): add comprehensive tests for Processing and EmbeddingProcess components by @CodingOnStar in https://github.com/langgenius/dify/pull/29873
- fix: workflow log search input controlled state by @lyzno1 in https://github.com/langgenius/dify/pull/29930
- chore: add some tests case code by @iamjoel in https://github.com/langgenius/dify/pull/29927
- refactor: migrate common service toward TanStack Query by @lyzno1 in https://github.com/langgenius/dify/pull/29009
- test: Adding missing tests or correcting existing tests by @CodingOnStar in https://github.com/langgenius/dify/pull/29937
- refactor: split changes for api/tests/test_containers_integration_tes… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29897
- refactor: split changes for api/controllers/console/explore/completio… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29894
- chore: Add codeowner for web test, vdb and docker by @laipz8200 in https://github.com/langgenius/dify/pull/29948
- chore: add symlink for skills directory and update autofix workflow exclusion pattern by @lyzno1 in https://github.com/langgenius/dify/pull/29953
- fix: add RFC 9728 compliant well-known URL discovery with path insertion fallback by @Nov1c444 in https://github.com/langgenius/dify/pull/29960
- fix: update Notion credential retrieval in document indexing sync task by @nht1206 in https://github.com/langgenius/dify/pull/29933
- feat: first use INTERNAL_FILES_URL first, then FILES_URL by @fatelei in https://github.com/langgenius/dify/pull/29962
- fix: validate API key is not empty in HTTPRequest node by @AziizBg in https://github.com/langgenius/dify/pull/29950
- fix: clear uploaded files when clicking clear button in workflow by @GuangjingYan in https://github.com/langgenius/dify/pull/29884
- refactor: split changes for api/controllers/console/explore/installed… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29891
- refactor: split changes for api/controllers/console/explore/conversat… by @asukaminato0721 in https://github.com/langgenius/dify/pull/29893
- fix: invalidate tool provider cache after MCP authentication by @Nov1c444 in https://github.com/langgenius/dify/pull/29972
- chore(deps): bump immer from 10.2.0 to 11.1.0 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/29969
- refactor(web): migrate to Vitest and esm by @hyoban in https://github.com/langgenius/dify/pull/29974
- fix: CODEOWNERS web path scope by @laipz8200 in https://github.com/langgenius/dify/pull/29995
- chore: bump plugin daemon image tag to 0.5.2-local by @laipz8200 in https://github.com/langgenius/dify/pull/29993
- feat: Configure devcontainer with
/tmpvolume mount,vscoderemote user, and post-start script updates. by @ZeroZ-lab in https://github.com/langgenius/dify/pull/29986 - perf: optimize DatasetRetrieval.retrieve、RetrievalService._deduplicat… by @fatelei in https://github.com/langgenius/dify/pull/29981
- refactor: split changes for api/controllers/web/app.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29857
- fix: adjust padding in entry node container for better alignment by @ZeroZ-lab in https://github.com/langgenius/dify/pull/29999
- fix: preserve empty list for FILE_LIST type in base_app_generator by @majiayu000 in https://github.com/langgenius/dify/pull/29618
- chore(deps): bump pypdfium2 from 4.30.0 to 5.2.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/29639
- refactor: split changes for api/controllers/web/message.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29874
- feat: support var filer in conversation service by @fatelei in https://github.com/langgenius/dify/pull/29245
- feat: Add OSS-specific parameters for HW and ALI private deployment by @myg133 in https://github.com/langgenius/dify/pull/29705
- chore: anchor CODEOWNERS paths to root by @laipz8200 in https://github.com/langgenius/dify/pull/29998
- fix(chat): reset scroll state when switching conversations by @majiayu000 in https://github.com/langgenius/dify/pull/29984
- fix: invite team member display issue by @hjlarry in https://github.com/langgenius/dify/pull/30011
- chore: remove unused login call from activation flow by @hjlarry in https://github.com/langgenius/dify/pull/30017
- chore: Translate stray Chinese comment to English by @hjlarry in https://github.com/langgenius/dify/pull/30024
- chore(web): new lint setup by @hyoban in https://github.com/langgenius/dify/pull/30020
- feat: Add polyfill for Array.prototype.toSpliced method by @CodingOnStar in https://github.com/langgenius/dify/pull/30031
- chore: lint require and how to import react by @hyoban in https://github.com/langgenius/dify/pull/30041
- fix: YAML URL import rewrite for GitHub attachments by @laipz8200 in https://github.com/langgenius/dify/pull/30003
- chore: enable ts/no-explicit-any, remove no-unused-vars by @hyoban in https://github.com/langgenius/dify/pull/30042
- feat: grace ful close the connection by @fatelei in https://github.com/langgenius/dify/pull/30039
- fix(ops): correct LangSmith dotted_order timestamp format by @ericko-being in https://github.com/langgenius/dify/pull/30022
- fix: when use forward proxy with httpx, httpx will overwrite the use … by @fatelei in https://github.com/langgenius/dify/pull/30029
- feat: allow user close the tab to sync the draft by @fatelei in https://github.com/langgenius/dify/pull/30034
- refactor: split changes for api/controllers/web/remote_files.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29853
- refactor: nodejs sdk by @lyzno1 in https://github.com/langgenius/dify/pull/30036
- fix: fix firecrawl url concat by @fatelei in https://github.com/langgenius/dify/pull/30008
- refactor: split changes for api/controllers/console/extension.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29888
- refactor: split changes for api/controllers/web/forgot_password.py by @asukaminato0721 in https://github.com/langgenius/dify/pull/29858
- feat(docker): add environment variables synchronization tool by @sattosan in https://github.com/langgenius/dify/pull/29845
- fix: handle missing
credential_idby @nht1206 in https://github.com/langgenius/dify/pull/30051 - fix: loop streaming by clearing stale subgraph variables by @Nov1c444 in https://github.com/langgenius/dify/pull/30059
- chore: some tests by @iamjoel in https://github.com/langgenius/dify/pull/30078
- refactor(web): migrate log service to TanStack Query by @lyzno1 in https://github.com/langgenius/dify/pull/30065
- chore: some tests by @iamjoel in https://github.com/langgenius/dify/pull/30084
- chore: fix type check for i18n by @hyoban in https://github.com/langgenius/dify/pull/30058
- refactor(web): migrate explore app lists from useSWR to TanStack Query by @lyzno1 in https://github.com/langgenius/dify/pull/30076
- chore: no template string in translation by @hyoban in https://github.com/langgenius/dify/pull/30101
- fix: fix use build_request lead unexpect param by @fatelei in https://github.com/langgenius/dify/pull/30095
- fix(web): remove incorrect placeholderData usage in useExploreAppList by @lyzno1 in https://github.com/langgenius/dify/pull/30102
- refactor(web): migrate workflow run history from useSWR to TanStack Query by @lyzno1 in https://github.com/langgenius/dify/pull/30077
- feat: add editing support for trigger subscriptions by @Mairuis in https://github.com/langgenius/dify/pull/29957
- fix: trigger subscription delete not working for non-auto-created credentials by @Mairuis in https://github.com/langgenius/dify/pull/30122
- chore(web): migrate lodash-es to es-toolkit compat by @lyzno1 in https://github.com/langgenius/dify/pull/30126
- fix: handle list content type in Parameter Extraction node by @krap730 in https://github.com/langgenius/dify/pull/30070
- fix: allow None values in VariableMessage validation by @krap730 in https://github.com/langgenius/dify/pull/30082
- test: Add comprehensive test suite for Chip component by @SherlockShemol in https://github.com/langgenius/dify/pull/30119
- ci: generate docker compose in autofix by @laipz8200 in https://github.com/langgenius/dify/pull/30105
- feat(web): add unit tests for Badge component by @SherlockShemol in https://github.com/langgenius/dify/pull/30096
- fix(api): force download for HTML previews by @laipz8200 in https://github.com/langgenius/dify/pull/30090
- fix: workflow past version data sync by @zxhlyh in https://github.com/langgenius/dify/pull/30139
- chore: some test by @iamjoel in https://github.com/langgenius/dify/pull/30144
- feat: make the SegmentService.get_segments sort stable by @fatelei in https://github.com/langgenius/dify/pull/30152
- chore: bump version to 1.11.2 by @laipz8200 in https://github.com/langgenius/dify/pull/30088
- fix(api): move cache invalidation outside redis lock to prevent timeout by @Mairuis in https://github.com/langgenius/dify/pull/30150
- fix: prioritize copying selected text by @JeeekXY in https://github.com/langgenius/dify/pull/30141
- fix(web): disable cache for trigger dynamic select options by @Mairuis in https://github.com/langgenius/dify/pull/30161
New Contributors
- @nourzakhama2003 made their first contribution in https://github.com/langgenius/dify/pull/29306
- @aplulu made their first contribution in https://github.com/langgenius/dify/pull/29611
- @Rickon-dev made their first contribution in https://github.com/langgenius/dify/pull/28673
- @TomoOkuyama made their first contribution in https://github.com/langgenius/dify/pull/29480
- @lin-snow made their first contribution in https://github.com/langgenius/dify/pull/29283
- @Chenyl-Sai made their first contribution in https://github.com/langgenius/dify/pull/29520
- @Angel98518 made their first contribution in https://github.com/langgenius/dify/pull/29675
- @r-hashi01 made their first contribution in https://github.com/langgenius/dify/pull/29757
- @adongfan made their first contribution in https://github.com/langgenius/dify/pull/28986
- @ttaylorr1 made their first contribution in https://github.com/langgenius/dify/pull/29793
- @wcc0077 made their first contribution in https://github.com/langgenius/dify/pull/29810
- @hukurou0 made their first contribution in https://github.com/langgenius/dify/pull/29785
- @AziizBg made their first contribution in https://github.com/langgenius/dify/pull/29950
- @GuangjingYan made their first contribution in https://github.com/langgenius/dify/pull/29884
- @majiayu000 made their first contribution in https://github.com/langgenius/dify/pull/29618
- @myg133 made their first contribution in https://github.com/langgenius/dify/pull/29705
- @ericko-being made their first contribution in https://github.com/langgenius/dify/pull/30022
- @sattosan made their first contribution in https://github.com/langgenius/dify/pull/29845
- @krap730 made their first contribution in https://github.com/langgenius/dify/pull/30070
Full Changelog: https://github.com/langgenius/dify/compare/1.11.1...1.11.2
Downloads
-
released this
2025-12-12 01:42:44 -05:00 | 3585 commits to main since this release📅 Originally published on GitHub: Fri, 12 Dec 2025 06:44:32 GMT
🏷️ Git tag created: Fri, 12 Dec 2025 06:42:44 GMTImportant
This version contains very important security updates, and we recommend that all users upgrade to this version as soon as possible.
This release is all about tightening up security, boosting performance, and squashing those pesky bugs. Let's dive into what's changed:
🛠️ Fixes and Improvements
-
React and Next.js Security Upgrades: We've bumped up
reactandreact-domto 19.2.3 to fix some CVE vulnerabilities. Next.js also got a security update, courtesy of @douxc (PRs #29532 and #29545). -
Credential Management: If you've been seeing empty
available_credentials, that's sorted out now (thanks to @fatelei in #29521). -
Description Length Limitation: Autogenerated descriptions will now be truncated to avoid the 400-character limit error, ensuring smoother submissions by @shua-chen in #28681.
-
Content Type Charset: Response content types now include charsets to keep your data formats consistent, by @Pleasurecruise in #29534.
-
Flask-Restx Attribute Error: The pesky
AttributeErrorcaused byvalidate=Truein flask-restx is no more (fixed by @Mairuis in #29552). -
Document Handling: Optimized the
save_document_with_dataset_idfunction for better performance by @fatelei in #29550. Plus, we fixed an issue where external images in DOCX files were causing extraction failures (@JohnJyong in #29558). -
Token Retrieval: No more errors when
access_tokenis empty; it now gracefully returnsNoneby @kashira2339 in #29516. -
Hit-Test Failures: Resolved the hit-test failure when an attachment ID doesn’t exist by @JohnJyong in #29563.
🚀 New Features
- Amplitude Integration: We’ve integrated the Amplitude API key into our layout and provider components for enhanced analytics. Big thanks to @CodingOnStar in #29546.
🧪 Testing
- Container Integration Tests: Added integration tests for triggers to make sure everything runs smoothly in container environments by @Stream29 in #29527.
⚡ Performance Enhancements
- Excel Extractor: We've optimized the performance and memory usage of the Excel extractor, making it faster and more efficient, by @NieRonghua in #29551.
Thanks to everyone who contributed to this release! Your feedback and contributions make all the difference. As always, happy coding! 🌟
Upgrade Guide
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the main branch
git checkout main git pull origin main -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
Note
If you encounter errors like below
2025/11/26 11:37:57 /app/internal/db/pg/pg.go:30 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 /app/internal/db/pg/pg.go:34 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=postgres`: hostname > resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 init.go:99: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) panic: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)Please use the following command instead. For details, please read this https://github.com/langgenius/dify/issues/28706
docker compose --profile postgresql up -dSource Code Deployments
-
Stop the API server, Worker, and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 1.11.1 -
Update Python dependencies:
cd api uv sync -
Then, let's run the migration script:
uv run flask db upgrade -
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
- fix: upgrade react and react-dom to 19.2.3,fix cve errors by @douxc in https://github.com/langgenius/dify/pull/29532
- fix: fix available_credentials is empty by @fatelei in https://github.com/langgenius/dify/pull/29521
- fix: nextjs security update by @douxc in https://github.com/langgenius/dify/pull/29545
- fix: truncate auto-populated description to prevent 400-char limit error by @shua-chen in https://github.com/langgenius/dify/pull/28681
- test(trigger): add container integration tests for trigger by @Stream29 in https://github.com/langgenius/dify/pull/29527
- feat: integrate Amplitude API key into layout and provider components by @CodingOnStar in https://github.com/langgenius/dify/pull/29546
- fix: set response content type with charset in helper by @Pleasurecruise in https://github.com/langgenius/dify/pull/29534
- fix: remove validate=True to fix flask-restx AttributeError by @Mairuis in https://github.com/langgenius/dify/pull/29552
- perf(core/rag): optimize Excel extractor performance and memory usage by @NieRonghua in https://github.com/langgenius/dify/pull/29551
- perf: optimize save_document_with_dataset_id by @fatelei in https://github.com/langgenius/dify/pull/29550
- fix: docx extractor external image failed by @JohnJyong in https://github.com/langgenius/dify/pull/29558
- fix: hit-test failed when attachment id is not exist by @JohnJyong in https://github.com/langgenius/dify/pull/29563
- fix: return None from retrieve_tokens when access_token is empty by @kashira2339 in https://github.com/langgenius/dify/pull/29516
- chore: Bump version references to 1.11.1 by @laipz8200 in https://github.com/langgenius/dify/pull/29568
New Contributors
- @shua-chen made their first contribution in https://github.com/langgenius/dify/pull/28681
- @Pleasurecruise made their first contribution in https://github.com/langgenius/dify/pull/29534
- @kashira2339 made their first contribution in https://github.com/langgenius/dify/pull/29516
Full Changelog: https://github.com/langgenius/dify/compare/1.11.0...1.11.1
Downloads
-
-
released this
2025-12-11 04:06:33 -05:00 | 3599 commits to main since this release📅 Originally published on GitHub: Thu, 11 Dec 2025 09:23:25 GMT
🏷️ Git tag created: Thu, 11 Dec 2025 09:06:33 GMT🧠 Multimodal Knowledge Base
Dify can now understand both text and images in your knowledge base.
Before, embeddings only cared about words. But real docs? They’re full of screenshots, diagrams, memes (don’t lie), and markdown with embedded images. Now those visuals count too.
What’s Actually Happening
- Auto‑Image Extraction
Drop a doc with Markdown images — like— and Dify grabs them automatically (JPG, PNG, GIF ≤ 2 MB). - Smart Attachment Handling
Each image is linked to its matching text chunk, so context stays tight. - Embedding Behavior
- Using a multimodal embedding model? Then both text + image get vectorized. You can:
- search text ↔ image,
- image ↔ image,
- or image ↔ text.
Basically, everything ↔ everything.
- Sticking with a regular text‑only model? Cool — the images still go along for the ride and will appear in prompts when you use a Vision‑enabled LLM.
- Using a multimodal embedding model? Then both text + image get vectorized. You can:
- Developer Candy
Knowledge Pipeline’sKnowledgeBasenode speaks two new dialects —multimodal‑Parent‑Childmultimodal‑General
Perfect for plugin devs who want to feed Dify structured mixed‑modality data without headaches.
- Supported Multimodal Models (tips: update below plugin to the latest version)
- AWS Bedrock:
nova‑2‑multimodal‑embeddings‑v1:0 - Google Vertex AI:
multimodalembedding@001 - Jina:
jina‑embedding‑v4,jina‑clip‑v1,jina‑clip‑v2,jina‑reranker‑m0 - Tongyi (Qwen):
multimodal‑embedding‑v1
- AWS Bedrock:
Once everything’s embedded, you’ll see a shiny new Multimodal tag in your knowledge base — because now your data’s two‑dimensional (and twice as cool).
Huge thanks to @JohnJyong (#29115) and @WTW0313 (#27793) for bringing visual intelligence to Dify. Absolute legends.
🧩 Other New Features
- Zen Mode — disappear into your flow; fewer buttons, more focus. use
cmd + kto enter.
thanks @ZeroZ‑lab (#28794) - “Open Workflow” shortcut for WorkflowTool — hop straight into editing like a boss.
props @CrabSAMA (#28898) - Start Node JSON Schema — keeps your workflows honest.
thanks @fatelei (#29053) - Admin API Keys skip CSRF — automation now flows smoother than espresso.
thanks @kenwoodjw (#29139) - Dark‑mode icons, ReactScan, and spicy color polish all landed too.
shoutout @hjlarry (#28858) and @zhsama (#29086)
⚙️ Performance & Infrastructure
A whole lot of behind‑the‑curtain magic here:
- GraphEngine got chill pause/resume handling — no more jumping gears mid‑flow.
thanks @QuantumGhost (#28196) - Automatic Storage Permission Repair
Introduced an init container that automatically fixes file system permissions on startup, removing the need for manual intervention when deploying with different storage backends.
thanks to @kurokobo and @zhutong6688 (#29297). - Redis caching makes tool provider listings zoom.
thanks @yangzheli (#29101) - Milvus 2.6.0 upgrade in Docker — fewer installation freak‑outs.
cheers @majinghe (#26618) - Pydantic upgrade cleaned up node hydration code.
thanks @asukaminato0721 (#28993) - Less UI lag — fewer unnecessary re‑renders across Workflow and Marketplace.
props @iamjoel (#28776, #28783) - Massive test overhaul — embeddings, datasets, plugins, workflows… you name it.
thanks @codomposer, @SmartDever02, @hsparks‑codes
🐞 Key Fixes
- Webhook Node Conversion Error Resolved
Fixed an issue where converting an existing node into a webhook node could cause a 404 error.
thanks to @hjlarry (#28686). - Chat Auto‑Scroll Stability Restored
Addressed a problem that caused the chat interface to stop auto‑scrolling during active conversations.
thanks to @utsumi‑fj (#28690). - OceanBase Vector Search Accuracy Improved
Implemented proper handling of thescore_thresholdparameter to ensure consistent and relevant retrieval results.
thanks to @connermo (#28536). - Dark Theme Rendering Adjustments
Corrected tooltip display and text color inconsistencies in dark mode for a more stable visual experience.
thanks to @hjlarry (#29186). - MySQL Query Compatibility Fixes
Resolved issues with UUID queries and unsupportedreturningstatements when using MySQL drivers.
thanks to @wangype (#28941) and @longbingljw (#29069). - Database Session Management
Fixed errors that could occur when database sessions were initialized multiple times during workflow execution.
thanks to @fatelei (#29160). - UI Consistency Enhancements
Addressed several minor rendering and layout issues, including small‑screen text visibility and tooltip behavior.
🤘 A ton of folks touched this release — whether you built features, fixed a typo, or added a single test, thank you.
You made Dify 1.11.0 faster, funnier, and just plain better.
Upgrade Guide
Note
We have re-released the image of this version. If you pulled the image before the release time, you need to delete them and re-fetch.
Docker Compose Deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak -
Get the latest code from the main branch
git checkout main git pull origin main -
Stop the service. Please execute in the docker directory
docker compose down -
Back up data
tar -cvf volumes-$(date +%s).tgz volumes -
Upgrade services
docker compose up -d
Note
If you encounter errors like below
2025/11/26 11:37:57 /app/internal/db/pg/pg.go:30 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 /app/internal/db/pg/pg.go:34 [error] failed to initialize database, got error failed to connect to `host=db_postgres user=postgres database=postgres`: hostname > resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) 2025/11/26 11:37:57 init.go:99: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving) panic: [PANIC]failed to init dify plugin db: failed to connect to `host=db_postgres user=postgres database=postgres`: hostname resolving error (lookup db_postgres on 127.0.0.11:53: server misbehaving)Please use the following command instead. For details, please read this https://github.com/langgenius/dify/issues/28706
docker compose --profile postgresql up -dSource Code Deployments
-
Stop the API server, Worker, and Web frontend Server.
-
Get the latest code from the release branch:
git checkout 1.11.0 -
Update Python dependencies:
cd api uv sync -
Then, let's run the migration script:
uv run flask db upgrade -
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
- Enhanced GraphEngine Pause Handling by @QuantumGhost in https://github.com/langgenius/dify/pull/28196
- chore: update packageManager version to pnpm@10.23.0 by @ZeroZ-lab in https://github.com/langgenius/dify/pull/28708
- fix: prevent auto-scrolling from stopping in chat by @utsumi-fj in https://github.com/langgenius/dify/pull/28690
- fix: change existing node to a webhook node raise 404 by @hjlarry in https://github.com/langgenius/dify/pull/28686
- test: add comprehensive unit tests for HitTestingService Fix: #28667 by @SmartDever02 in https://github.com/langgenius/dify/pull/28668
- add unit tests for list operator node by @0xsatoshi99 in https://github.com/langgenius/dify/pull/28597
- Pydantic models by @asukaminato0721 in https://github.com/langgenius/dify/pull/28697
- fix(ops): add streaming metrics and LLM span for agent-chat traces by @minimAluminiumalism in https://github.com/langgenius/dify/pull/28320
- feat: complete test script of dataset service by @codomposer in https://github.com/langgenius/dify/pull/28710
- add unit tests for template transform node by @0xsatoshi99 in https://github.com/langgenius/dify/pull/28595
- add: badges by @crazywoola in https://github.com/langgenius/dify/pull/28722
- test: add comprehensive unit tests for ExternalDatasetService (external knowledge API integration) by @SmartDever02 in https://github.com/langgenius/dify/pull/28716
- fix: use default_factory for callable defaults in ORM dataclasses by @laipz8200 in https://github.com/langgenius/dify/pull/28730
- feat: Add comprehensive unit tests for DatasetCollectionBindingService (dataset collection binding methods) by @SmartDever02 in https://github.com/langgenius/dify/pull/28724
- chore: enhance the test script of conversation service by @codomposer in https://github.com/langgenius/dify/pull/28739
- add unit tests for code node by @0xsatoshi99 in https://github.com/langgenius/dify/pull/28717
- add unit tests for iteration node by @0xsatoshi99 in https://github.com/langgenius/dify/pull/28719
- chore: enhance the test script of current billing service by @codomposer in https://github.com/langgenius/dify/pull/28747
- feat: add APP_DEFAULT_ACTIVE_REQUESTS as the default value for APP_AC… by @jiangbo721 in https://github.com/langgenius/dify/pull/26930
- hotfix: fix _extract_filename for rfc 5987 by @NeatGuyCoding in https://github.com/langgenius/dify/pull/26230
- fix: querying webhook trigger issue by @IthacaDream in https://github.com/langgenius/dify/pull/28753
- fix: querying and setting the system default model by @IthacaDream in https://github.com/langgenius/dify/pull/28743
- Add comprehensive API/controller tests for dataset endpoints (list, create, update, delete, documents, segments, hit testing, external datasets) by @SmartDever02 in https://github.com/langgenius/dify/pull/28750
- Add comprehensive unit tests for MetadataService (dataset metadata CRUD operations and filtering) by @SmartDever02 in https://github.com/langgenius/dify/pull/28748
- upgrade docker compose milvus version to 2.6.0 to fix installation error by @majinghe in https://github.com/langgenius/dify/pull/26618
- fix: MCP tool time configuration not work by @hjlarry in https://github.com/langgenius/dify/pull/28740
- Use naive_utc_now in graph engine tests by @laipz8200 in https://github.com/langgenius/dify/pull/28735
- Feat/test script of workflow service by @codomposer in https://github.com/langgenius/dify/pull/28726
- feat: complete test script of dataset retrieval by @codomposer in https://github.com/langgenius/dify/pull/28762
- chore: remove outdated model config doc by @hjlarry in https://github.com/langgenius/dify/pull/28765
- test: add unit tests for dataset permission service by @SmartDever02 in https://github.com/langgenius/dify/pull/28760
- test: add unit tests for dataset service update/delete operations by @SmartDever02 in https://github.com/langgenius/dify/pull/28757
- feat: creates logs immediately when workflows start (not at completion) by @fatelei in https://github.com/langgenius/dify/pull/28701
- Refactor: centralize node data hydration by @laipz8200 in https://github.com/langgenius/dify/pull/27771
- perf: reduce reRender in candidate node by @iamjoel in https://github.com/langgenius/dify/pull/28776
- feat(workflow): workflow as tool output schema by @CrabSAMA in https://github.com/langgenius/dify/pull/26241
- edit analyze-component by @CodingOnStar in https://github.com/langgenius/dify/pull/28781
- pref: reduce next step components reRender by @iamjoel in https://github.com/langgenius/dify/pull/28783
- refactor: rename VariableAssignerNodeData to VariableAggregatorNodeData by @laipz8200 in https://github.com/langgenius/dify/pull/28780
- Feat zen mode by @ZeroZ-lab in https://github.com/langgenius/dify/pull/28794
- chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/28784
- Refactor workflow nodes to use generic node_data by @laipz8200 in https://github.com/langgenius/dify/pull/28782
- feat: complete test script of reranker by @codomposer in https://github.com/langgenius/dify/pull/28806
- test: add unit tests for document service validation and configuration by @SmartDever02 in https://github.com/langgenius/dify/pull/28810
- feat: complete test script of text splitter by @codomposer in https://github.com/langgenius/dify/pull/28813
- chore: update packageManager version in package.json to pnpm@10.24.0 by @lyzno1 in https://github.com/langgenius/dify/pull/28820
- fix(ci): use dynamic branch name for i18n workflow to prevent race condition by @lyzno1 in https://github.com/langgenius/dify/pull/28823
- feat: add comprehensive unit tests for provider models by @0xsatoshi99 in https://github.com/langgenius/dify/pull/28702
- feat: complete test script of embedding service by @codomposer in https://github.com/langgenius/dify/pull/28817
- test: add unit tests for document service status management by @SmartDever02 in https://github.com/langgenius/dify/pull/28804
- docker: use
COPY --chownin api Dockerfile to avoid adding layers by explicitchowncalls by @bowenliang123 in https://github.com/langgenius/dify/pull/28756 - test: add comprehensive unit tests for FeedbackService by @hsparks-codes in https://github.com/langgenius/dify/pull/28771
- test: add comprehensive unit tests for VectorService and Vector classes by @SmartDever02 in https://github.com/langgenius/dify/pull/28834
- feat: complete test script of notion provider by @codomposer in https://github.com/langgenius/dify/pull/28833
- test: add comprehensive unit tests for DocumentIndexingTaskProxy by @SmartDever02 in https://github.com/langgenius/dify/pull/28830
- feat: complete test script of website crawl by @codomposer in https://github.com/langgenius/dify/pull/28826
- feat: add comprehensive unit tests for MessageService by @hsparks-codes in https://github.com/langgenius/dify/pull/28837
- chore: assign code owners to frontend and backend modules in CODEOWNERS by @laipz8200 in https://github.com/langgenius/dify/pull/28713
- chore: bump dify plugin version in docker.middleware by @hjlarry in https://github.com/langgenius/dify/pull/28847
- feat: complete test script of indexing runner by @codomposer in https://github.com/langgenius/dify/pull/28828
- test: add comprehensive unit tests for EndUserService by @hsparks-codes in https://github.com/langgenius/dify/pull/28840
- fix: the consistency of the go-to-anything interaction by @hjlarry in https://github.com/langgenius/dify/pull/28857
- Fix CODEOWNERS workflow owner handle by @laipz8200 in https://github.com/langgenius/dify/pull/28866
- test: add comprehensive unit tests for TagService by @hsparks-codes in https://github.com/langgenius/dify/pull/28854
- test: add comprehensive unit tests for SavedMessageService by @hsparks-codes in https://github.com/langgenius/dify/pull/28845
- test: add comprehensive unit tests for AudioService by @hsparks-codes in https://github.com/langgenius/dify/pull/28860
- feat: complete test script of file upload by @codomposer in https://github.com/langgenius/dify/pull/28843
- test: add comprehensive unit tests for RecommendedAppService by @hsparks-codes in https://github.com/langgenius/dify/pull/28869
- refactor(workflow): remove redundant get_base_node_data() method by @laipz8200 in https://github.com/langgenius/dify/pull/28803
- test: add comprehensive unit tests for
ExternalDatasetServiceby @hsparks-codes in https://github.com/langgenius/dify/pull/28872 - feat: complete test script of sensitive word filter by @codomposer in https://github.com/langgenius/dify/pull/28879
- feat: Add comprehensive unit tests for TagService with extensive docu… by @SmartDever02 in https://github.com/langgenius/dify/pull/28885
- fix: add explicit default to httpx.timeout by @CourTeous33 in https://github.com/langgenius/dify/pull/28836
- feat: complete test script of dataset indexing task by @codomposer in https://github.com/langgenius/dify/pull/28897
- fix: ensure "No apps found" text is visible on small screens by @mxs114514 in https://github.com/langgenius/dify/pull/28929
- Feat: Add "Open Workflow" link in workflow side panel by @CrabSAMA in https://github.com/langgenius/dify/pull/28898
- fix: implement score_threshold filtering for OceanBase vector search by @connermo in https://github.com/langgenius/dify/pull/28536
- chore(i18n): translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/28933
- fix(web): prevent navbar clearing app state on cmd+click by @lequocbinh04 in https://github.com/langgenius/dify/pull/28935
- Feat/ implement test script of content moderation by @codomposer in https://github.com/langgenius/dify/pull/28923
- refactor: port reqparse to Pydantic model by @asukaminato0721 in https://github.com/langgenius/dify/pull/28913
- chore(deps): bump echarts-for-react from 3.0.2 to 3.0.5 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/28958
- feat: complete test script of plugin runtime by @codomposer in https://github.com/langgenius/dify/pull/28955
- feat: enhance OceanBase vector database with SQL injection fixes, unified processing, and improved error handling by @connermo in https://github.com/langgenius/dify/pull/28951
- chore(web): upgrade zustand from v4.5.7 to v5.0.9 by @lyzno1 in https://github.com/langgenius/dify/pull/28943
- fix: moving focus after navigations by @hyoban in https://github.com/langgenius/dify/pull/28937
- chore(deps): bump @lexical/text from 0.36.2 to 0.38.2 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/28960
- feat(api): automatically
NODE_TYPE_CLASSES_MAPPINGgeneration from node class definitions by @fatelei in https://github.com/langgenius/dify/pull/28525 - chore(deps): bump @lexical/list from 0.36.2 to 0.38.2 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/28961
- feat: complete test script of mail send task by @codomposer in https://github.com/langgenius/dify/pull/28963
- chore(deps): bump faker from 32.1.0 to 38.2.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/28964
- fix(web): use atomic selectors to fix Zustand v5 infinite loop by @lyzno1 in https://github.com/langgenius/dify/pull/28977
- fix(web): use atomic selectors in AccessControlItem by @lyzno1 in https://github.com/langgenius/dify/pull/28983
- Fix validation by @fatelei in https://github.com/langgenius/dify/pull/28985
- feat: complete test script of plugin manager by @codomposer in https://github.com/langgenius/dify/pull/28967
- Stop showing slash commands in general Go to Anything search by @lyzno1 in https://github.com/langgenius/dify/pull/29012
- [Bugfix] Fixed an issue with UUID type queries in MySQL databases by @wangype in https://github.com/langgenius/dify/pull/28941
- Refactor apps service toward TanStack Query by @lyzno1 in https://github.com/langgenius/dify/pull/29004
- feat: http response add x-trace-id by @fatelei in https://github.com/langgenius/dify/pull/29015
- chore: enhance test by @fatelei in https://github.com/langgenius/dify/pull/29002
- fix: CVE-2025-64718 by @kenwoodjw in https://github.com/langgenius/dify/pull/29027
- fix: improve chat message log feedback by @hjlarry in https://github.com/langgenius/dify/pull/29045
- integrate Amplitude analytics into the application by @CodingOnStar in https://github.com/langgenius/dify/pull/29049
- chore: remove useless mock files by @iamjoel in https://github.com/langgenius/dify/pull/29068
- fix: check education verify api slow may cause page redirects when modal closes by @iamjoel in https://github.com/langgenius/dify/pull/29078
- feat: add ReactScan component for enhanced development scanning by @zhsama in https://github.com/langgenius/dify/pull/29086
- refactor/marketplace react query by @lyzno1 in https://github.com/langgenius/dify/pull/29028
- refactor: simplify marketplace component structure by removing unused… by @zhsama in https://github.com/langgenius/dify/pull/29095
- feat: dark theme icon support by @hjlarry in https://github.com/langgenius/dify/pull/28858
- fix: remove chat conversation api dead arg message_count_gte by @hj24 in https://github.com/langgenius/dify/pull/29097
- fix: trigger call workflow_as_tool error by @hjlarry in https://github.com/langgenius/dify/pull/29058
- fix:mysql does not support 'returning' by @longbingljw in https://github.com/langgenius/dify/pull/29069
- chore: ignore redis lock not owned error by @fatelei in https://github.com/langgenius/dify/pull/29064
- chore(deps): bump next from 15.5.6 to 15.5.7 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/29105
- fix: catch error in response converter by @wylswz in https://github.com/langgenius/dify/pull/29056
- feat: Unify environment variables for database connection and authentication by @BorisPolonsky in https://github.com/langgenius/dify/pull/29092
- chore: update Next.js dev dependencies to 15.5.7 by @douxc in https://github.com/langgenius/dify/pull/29120
- fix(web): disable tooltip delay to avoid tooltip flickering by @yangzheli in https://github.com/langgenius/dify/pull/29104
- Fix/app list compatible by @zyssyz123 in https://github.com/langgenius/dify/pull/29123
- chore: upgrade React to 19.2.1,fix cve-2025-55182 by @douxc in https://github.com/langgenius/dify/pull/29121
- fix: bump pyarrow to 17.0.0, werkzeug to 3.1.4, urllib3 to 2.5.0 by @kenwoodjw in https://github.com/langgenius/dify/pull/29089
- perf: decrease heavy db operation by @fatelei in https://github.com/langgenius/dify/pull/29125
- fix: incorrect last run result by @hjlarry in https://github.com/langgenius/dify/pull/29128
- fix: modify usePluginTaskList initialization and dependencies in use-plugins.ts by @WTW0313 in https://github.com/langgenius/dify/pull/29130
- chore: ESLint add react hooks deps check rule by @iamjoel in https://github.com/langgenius/dify/pull/29132
- feat: add api mock for test by @iamjoel in https://github.com/langgenius/dify/pull/29140
- feat: start node support json schema by @fatelei in https://github.com/langgenius/dify/pull/29053
- fix: fix db session already begin by @fatelei in https://github.com/langgenius/dify/pull/29160
- fix: remove duplicated slash in webapp redirect_url by @douxc in https://github.com/langgenius/dify/pull/29161
- Fix ops_trace delete err by @hieheihei in https://github.com/langgenius/dify/pull/29134
- perf: optimize generate conversation name by @fatelei in https://github.com/langgenius/dify/pull/29131
- add gen_ai feature tag for aliyun_trace by @hieheihei in https://github.com/langgenius/dify/pull/29084
- fix: treat empty default values for optional file inputs as unset by @yatotm in https://github.com/langgenius/dify/pull/28948
- feat: using charset_normalizer instead of chardet by @fatelei in https://github.com/langgenius/dify/pull/29022
- refactor: clean up translation files by removing unused keys and optimizing existing entries by @lyzno1 in https://github.com/langgenius/dify/pull/29172
- refactor: port reqparse to Pydantic model by @asukaminato0721 in https://github.com/langgenius/dify/pull/28949
- chore: bump version to 1.10.1-fix.1 by @laipz8200 in https://github.com/langgenius/dify/pull/29176
- refactor: simplify plugin marketplace link construction in ProviderCard component by @WTW0313 in https://github.com/langgenius/dify/pull/29178
- chore: update TypeScript type-check command and add native-preview dependency for faster performance by @zhsama in https://github.com/langgenius/dify/pull/29179
- fix: incorrect text color under dark theme by @hjlarry in https://github.com/langgenius/dify/pull/29186
- fix: Variable Assigner node silently fails for legacy V1 data format by @kinglisky in https://github.com/langgenius/dify/pull/28867
- fix: add missing documentProcessingPriorityTip translation key by @lyzno1 in https://github.com/langgenius/dify/pull/29192
- refactor: update useNodes import to use reactflow across multiple components by @WTW0313 in https://github.com/langgenius/dify/pull/29195
- chore: detect rules from .oxlintrc.json by @hyoban in https://github.com/langgenius/dify/pull/29147
- add service layer OTel Span by @hieheihei in https://github.com/langgenius/dify/pull/28582
- feat: add new WEAVIATE_DISABLE_TELEMETRY env to disable telemetry collection for weaviate by @kurokobo in https://github.com/langgenius/dify/pull/29212
- chore(web): run oxlint before eslint by @lyzno1 in https://github.com/langgenius/dify/pull/29224
- chore: update AGENTS guidance for frontend tooling by @lyzno1 in https://github.com/langgenius/dify/pull/29228
- fix: hide Dify branding in webapp signin page when branding is enabled by @douxc in https://github.com/langgenius/dify/pull/29200
- fix: hide supplementary text for platform logo properly in Safari by @nite-knite in https://github.com/langgenius/dify/pull/29238
- feat(api): Implement EventManager error logging and add coverage by @QuantumGhost in https://github.com/langgenius/dify/pull/29204
- chore(deps): bump types-gevent from 24.11.0.20250401 to 25.9.0.20251102 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/29251
- fix: make remove-orphaned-files-on-storage management command work and safer by @kurokobo in https://github.com/langgenius/dify/pull/29247
- chore(deps): bump @lexical/code from 0.36.2 to 0.38.2 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/29250
- fix: account dropdown obscured by empty state overlay (#29241) by @lyzno1 in https://github.com/langgenius/dify/pull/29242
- hotfix(otel): replace hardcoded span attributes with shared constants by @NeatGuyCoding in https://github.com/langgenius/dify/pull/29227
- fix: remove 1px border from knowledge pipeline editor by @kurokobo in https://github.com/langgenius/dify/pull/29232
- fix: view log detail clear query params by @hjlarry in https://github.com/langgenius/dify/pull/29256
- feat: allow admin api key to bypass csrf validation by @kenwoodjw in https://github.com/langgenius/dify/pull/29139
- feat: support suggested_questions_after_answer to be configed by @fatelei in https://github.com/langgenius/dify/pull/29254
- Fix(#29181): convert uuid route param to str in DatasetDocumentListApi.get by @yodhcn in https://github.com/langgenius/dify/pull/29207
- chore(deps): update @lexical packages to version 0.38.2 in package.json and pnpm-lock.yaml by @WTW0313 in https://github.com/langgenius/dify/pull/29260
- perf: optimize marketplace card re-renders with memoization by @lyzno1 in https://github.com/langgenius/dify/pull/29263
- refactor: port reqparse to BaseModel by @asukaminato0721 in https://github.com/langgenius/dify/pull/28993
- perf(api): optimize tool provider list API with Redis caching by @yangzheli in https://github.com/langgenius/dify/pull/29101
- fix(web): resolve no-unused-vars lint warning in index.spec.ts by @lyzno1 in https://github.com/langgenius/dify/pull/29273
- chore: add provider context mock by @iamjoel in https://github.com/langgenius/dify/pull/29201
- chore: remove log in test case by @iamjoel in https://github.com/langgenius/dify/pull/29284
- feat: enable tenant isolation on duplicate document indexing tasks by @hj24 in https://github.com/langgenius/dify/pull/29080
- feat: charset_normalizer for better encoding detection than httpx's d… by @fatelei in https://github.com/langgenius/dify/pull/29264
- fix: Weaviate was not closed properly by @fatelei in https://github.com/langgenius/dify/pull/29301
- feat: Allow Editor role to use Trigger Plugin subscriptions by @fatelei in https://github.com/langgenius/dify/pull/29292
- chore: not slient call external service error by @fatelei in https://github.com/langgenius/dify/pull/29290
- fix: try-to-ask misalign by @hjlarry in https://github.com/langgenius/dify/pull/29309
- chore: find more redirect to correct category by @hjlarry in https://github.com/langgenius/dify/pull/29303
- feat: multimodal support (image) by @WTW0313 in https://github.com/langgenius/dify/pull/27793
- chore(i18n): translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/29312
- chore: remove python sdk from dify repo by @fatelei in https://github.com/langgenius/dify/pull/29318
- Feat/support multimodal embedding by @JohnJyong in https://github.com/langgenius/dify/pull/29115
- refactor: remove isMobile prop from Chat and TryToAsk components by @lyzno1 in https://github.com/langgenius/dify/pull/29319
- chore: update the error message by @fatelei in https://github.com/langgenius/dify/pull/29325
- feat: make billing management entry prominent and enable current plan portal by @lyzno1 in https://github.com/langgenius/dify/pull/29321
- chore(i18n): translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/29329
- fix: admin dislike feedback lose content by @hjlarry in https://github.com/langgenius/dify/pull/29327
- fix: agent app add tool hasn't add default params config by @iamjoel in https://github.com/langgenius/dify/pull/29330
- chore: not set empty tool config to default value by @iamjoel in https://github.com/langgenius/dify/pull/29338
- Add MCP backend codeowners by @laipz8200 in https://github.com/langgenius/dify/pull/29354
- feat: Add startup parameters for language-specific Weaviate tokenizer by @linancn in https://github.com/langgenius/dify/pull/29347
- Update refactor issue template and remove tracker by @laipz8200 in https://github.com/langgenius/dify/pull/29357
- adding llm_usage and error_type by @jubinsoni in https://github.com/langgenius/dify/pull/26546
- chore: set is_multimodal db define default = false by @fatelei in https://github.com/langgenius/dify/pull/29362
- fix: Parent instance <DocumentSegment at 0x7955b5572c90> is not bound… by @fatelei in https://github.com/langgenius/dify/pull/29377
- fix: workflow log missing trigger icon by @hjlarry in https://github.com/langgenius/dify/pull/29379
- fix(App.deleted_tools): incorrect compare between UUID and map with string-typed key. by @NieRonghua in https://github.com/langgenius/dify/pull/29340
- fix: 'list' object has no attribute 'find' by @fatelei in https://github.com/langgenius/dify/pull/29384
- fix: prevent popup blocker from blocking async window.open by @lyzno1 in https://github.com/langgenius/dify/pull/29391
- add @testing-library/user-event and create tests for external-knowledge-base/ by @CodingOnStar in https://github.com/langgenius/dify/pull/29323
- refactor: simplify plugin task handling and improve UI feedback by @ZeroZ-lab in https://github.com/langgenius/dify/pull/26293
- chore(i18n): translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/29395
- fix: session unbound during parent-child retrieval by @JohnJyong in https://github.com/langgenius/dify/pull/29396
- fix: improve compatibility of @headlessui/react with happy-dom by ensuring HTMLElement.prototype.focus is writable by @CodingOnStar in https://github.com/langgenius/dify/pull/29399
- fix dataset multimodal field not update by @JohnJyong in https://github.com/langgenius/dify/pull/29403
- fix: Add dataset file upload restrictions by @WTW0313 in https://github.com/langgenius/dify/pull/29397
- fix: harden async window open placeholder logic by @lyzno1 in https://github.com/langgenius/dify/pull/29393
- Using SonarJS to analyze components' complexity by @CodingOnStar in https://github.com/langgenius/dify/pull/29412
- fix parent-child check when child chunk is not exist by @JohnJyong in https://github.com/langgenius/dify/pull/29426
- fix(i18n): remove unused credentialSelector translations from dataset-pipeline files by @WTW0313 in https://github.com/langgenius/dify/pull/29423
- Fix immediate window open defaults and error handling by @lyzno1 in https://github.com/langgenius/dify/pull/29417
- fix: handle potential undefined values in query_attachment_selector across multiple components by @WTW0313 in https://github.com/langgenius/dify/pull/29429
- chore: bump dify release to 1.11.0 by @laipz8200 in https://github.com/langgenius/dify/pull/29355
- fix knowledge pipeline run multimodal document failed by @JohnJyong in https://github.com/langgenius/dify/pull/29431
- minor fix: get_tools wrong condition by @NeatGuyCoding in https://github.com/langgenius/dify/pull/27253
- Fix: Prevent binary content from being stored in process_data for HTTP nodes by @AuditAIH in https://github.com/langgenius/dify/pull/27532
- ci: enforce semantic pull request titles by @laipz8200 in https://github.com/langgenius/dify/pull/29438
- fix: Can not blank conversation ID validation in chat payloads by @laipz8200 in https://github.com/langgenius/dify/pull/29436
- chore: update remove_leading_symbols pattern, keep 【 by @fatelei in https://github.com/langgenius/dify/pull/29419
- fix: fix custom model credentials display as plaintext by @fatelei in https://github.com/langgenius/dify/pull/29425
- chore(deps): bump types-shapely from 2.0.0.20250404 to 2.1.0.20250917 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/29441
- chore: update packageManager version in package.json to pnpm@10.25.0 by @lyzno1 in https://github.com/langgenius/dify/pull/29407
- fix: knowledge dataset description field validation error #29404 by @gwdgithubnom in https://github.com/langgenius/dify/pull/29405
- fix: failed to delete model by @crazywoola in https://github.com/langgenius/dify/pull/29456
- revert: "fix(ops): add streaming metrics and LLM span for agent-chat traces" by @laipz8200 in https://github.com/langgenius/dify/pull/29469
- fix: workflow end node validate error by @CrabSAMA in https://github.com/langgenius/dify/pull/29473
- fix: optimize database query when retrieval knowledge in App by @JohnJyong in https://github.com/langgenius/dify/pull/29467
- fix: flask db downgrade not work by @hjlarry in https://github.com/langgenius/dify/pull/29465
- feat: add Amplitude API key to Docker entrypoint script by @CodingOnStar in https://github.com/langgenius/dify/pull/29477
- test: add debug-with-multiple-model spec by @lyzno1 in https://github.com/langgenius/dify/pull/29490
- perf: remove the n+1 query by @fatelei in https://github.com/langgenius/dify/pull/29483
- chore: add placeholder for Amplitude API key in .env.example by @CodingOnStar in https://github.com/langgenius/dify/pull/29489
- chore: Advance the timing of the dataset payment prompt by @iamjoel in https://github.com/langgenius/dify/pull/29497
- chore(i18n): translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/29499
- fix: chat api in explore page reject blank conversation id by @laipz8200 in https://github.com/langgenius/dify/pull/29500
- chore: add .nvmrc for Node 22 alignment by @lyzno1 in https://github.com/langgenius/dify/pull/29495
- test: add testcase for config prompt components by @iamjoel in https://github.com/langgenius/dify/pull/29491
- fix: conversation rename payload validation by @laipz8200 in https://github.com/langgenius/dify/pull/29510
New Contributors
- @0xsatoshi99 made their first contribution in https://github.com/langgenius/dify/pull/28597
- @majinghe made their first contribution in https://github.com/langgenius/dify/pull/26618
- @hsparks-codes made their first contribution in https://github.com/langgenius/dify/pull/28771
- @mxs114514 made their first contribution in https://github.com/langgenius/dify/pull/28929
- @connermo made their first contribution in https://github.com/langgenius/dify/pull/28536
- @lequocbinh04 made their first contribution in https://github.com/langgenius/dify/pull/28935
- @hyoban made their first contribution in https://github.com/langgenius/dify/pull/28937
- @yatotm made their first contribution in https://github.com/langgenius/dify/pull/28948
- @kinglisky made their first contribution in https://github.com/langgenius/dify/pull/28867
- @yodhcn made their first contribution in https://github.com/langgenius/dify/pull/29207
- @NieRonghua made their first contribution in https://github.com/langgenius/dify/pull/29340
- @gwdgithubnom made their first contribution in https://github.com/langgenius/dify/pull/29405
Full Changelog: https://github.com/langgenius/dify/compare/1.10.1...1.11.0
Downloads
- Auto‑Image Extraction
-
released this
2025-12-08 22:06:50 -05:00 | 3829 commits to main since this release📅 Originally published on GitHub: Fri, 05 Dec 2025 04:59:12 GMT
🏷️ Git tag created: Tue, 09 Dec 2025 03:06:50 GMTImportant
For users who upgraded to version 1.10.1-fix.1 before 2025-12-09 03:00:00 UTC, please verify your docker compose configuration to ensure the web service is using the correct image version langgenius/dify-web:1.10.1-fix.1. This verification is critical to address the https://github.com/advisories/GHSA-fv66-9v8q-g76r security vulnerability.
- Security/deps: backend bumps pyarrow 17.0.0, werkzeug 3.1.4, urllib3 2.5.0 in api/uv.lock; frontend bumps React 19.2.1 (addresses CVE-2025-55182) and Next.js 15.5.7 in web/package.json + web/pnpm-lock.yaml.
Full Changelog: https://github.com/langgenius/dify/compare/1.10.1...1.10.1-fix.1
Downloads
mirror of
https://github.com/langgenius/dify.git
synced 2026-07-19 16:44:00 -04:00