Impact Score: 5/10
Dify: v1.10.0 - Event-Driven Workflows
Source available — automated, not human-reviewed
Component: dify · Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
⚡ Executive Summary (TL;DR)
Dify 1.10.0. Source highlight: Introduce Trigger Functionality
Who Does This Impact? (Role-Based Analysis)
💻 Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
📊 Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
⚙️ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
✨ New Features & Capabilities (6)
- feat: add flatten_output configuration to iteration node
- feat: implement MCP specification 2025-06-18
- feat: introduce RAG tool recommendations and refactor related components for improved plugin management
- feat: enhance tencent trace integration with LLM core metrics
- feat: use id for webapp
- feat: enhance pipeline template list with marketplace feature toggle
⚡ Performance & Enhancements (3)
- refactor: update installed app component to handle missing params and improve type safety
- chore: improve mcp server url validation
- chore: improve the user experience of not login into apps
🔧 Bug Fixes & Patches (6)
- fix issues 27388, add missing env variable: ENFORCE_LANGGENIUS_PLUGIN…
- fix: resolve 500 error when updating document chunk settings (#27551)
- fix: iteration node cannot be viewed(#27759)
- fix agent putout the output of workflow-tool twice (#26835)
- fix:knowledge base reference information is overwritten when using mu…
- fix: installation_id is missing when in tools page
📄 View Raw Release Notes (Original Developer Log)
# Introduce Trigger Functionality
A **trigger** is a type of **Start node** that allows your workflow to run automatically—either on a schedule or in response to events from external systems (such as GitHub, Gmail, or your internal services)—without requiring a user action or API call.
Triggers are ideal for automating repetitive processes and integrating workflows with third-party applications to enable seamless data synchronization and processing.
## ⚡️ Trigger = When something happens → then do something
Triggers form the foundation of event-driven Workflow capabilities and currently support the following types:
- **Schedule** — time-based triggers
- **SaaS Integration Event** — events from external SaaS platforms (e.g., Slack, GitHub, Linear) integrated through Plugins
- **Webhook** — HTTP callbacks from external systems
These trigger features are **only available for Workflows**. Chatflow, Agent, and BasicChat currently do **not** support triggers.
## 🧩 Marketplace
We provide several popular trigger plugins, which you can explore in our [Marketplace](https://marketplace.dify.ai/?category=trigger).
<img width="1255" height="877" alt="image" src="https://github.com/user-attachments/assets/0971dfa2-7e7b-4daa-90f8-577f5ccd8a64" />
## 😎 Enjoy the Experience
Sit back, relax, and let your workflows run themselves.
<img width="1269" height="924" alt="image" src="https://github.com/user-attachments/assets/40af9ab9-6af7-4ef4-8e6c-5d6d20a7e39f" />
## A big thanks to our contributor !
Thanks so much for the contributors in #23981 who helps us developed this feature! It's a big deal made by you guys! @ACAne0320 @hjlarry @lyzno1 @CathyL0 @zhangxuhe1
## Upgrade Guide
### Docker Compose Deployments
1. Back up your customized docker-compose YAML file (optional)
```bash
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
```
2. Get the latest code from the main branch
```bash
git checkout main
git pull origin main
```
3. Stop the service. Please execute in the docker directory
```bash
docker compose down
```
4. Back up data
```bash
tar -cvf volumes-$(date +%s).tgz volumes
```
5. Upgrade services
```bash
docker compose up -d
```
### Source Code Deployments
1. Stop the API server, Worker, and Web frontend Server.
2. Get the latest code from the release branch:
```bash
git checkout 1.10.0
```
3. Update Python dependencies:
```bash
cd api
uv sync
```
4. Then, let's run the migration script:
```bash
uv run flask db upgrade
```
5. Finally, run the API server, Worker, and Web frontend Server again.
---
## What's Changed
* feat: add flatten_output configuration to iteration node by @Nov1c444 in https://github.com/langgenius/dify/pull/27502
* feat: implement MCP specification 2025-06-18 by @Nov1c444 in https://github.com/langgenius/dify/pull/25766
* feat: introduce RAG tool recommendations and refactor related components for improved plugin management by @WTW0313 in https://github.com/langgenius/dify/pull/27259
* feat: enhance tencent trace integration with LLM core metrics by @minimAluminiumalism in https://github.com/langgenius/dify/pull/27126
* feat: use id for webapp by @GareArc in https://github.com/langgenius/dify/pull/27576
* feat: enhance pipeline template list with marketplace feature toggle by @WTW0313 in https://github.com/langgenius/dify/pull/27604
* feat(api): Introduce workflow pause state management by @QuantumGhost in https://github.com/langgenius/dify/pull/27298
* feat: localization for hi-IN by @SmartDever02 in https://github.com/langgenius/dify/pull/27783
* feat: Add Audio Content Support for MCP Tools by @IthacaDream in https://github.com/langgenius/dify/pull/27979
* feat(api): Introduce Broadcast Channel by @QuantumGhost in https://github.com/langgenius/dify/pull/27835
* feat(api): Introduce WorkflowResumptionContext for pause state management by @QuantumGhost in https://github.com/langgenius/dify/pull/28122
* feat: introduce trigger functionality by @Yeuoly in https://github.com/langgenius/dify/pull/27644
* feat: add segments max number limit for SegmentApi.post by @ruanimal in https://github.com/langgenius/dify/pull/27745
* feat: enhance annotation API to support optional message_id and content fields by @liugddx in https://github.com/langgenius/dify/pull/27460
* feat: add validation to prevent saving empty opening statement in conversation opener modal by @Nov1c444 in https://github.com/langgenius/dify/pull/27843
* feat: change feedback to forum by @crazywoola in https://github.com/langgenius/dify/pull/27862
* feat: add draft trigger detection to app model and UI by @zhsama in https://github.com/langgenius/dify/pull/28163
* feat: enhance start node metadata to be undeletable in chat mode by @zhsama in https://github.com/langgenius/dify/pull/28173
* fix issues 27388, add missing env variable: ENFORCE_LANGGENIUS_PLUGIN… by @MaoJianwei in https://github.com/langgenius/dify/pull/27545
* fix: resolve 500 error when updating document chunk settings (#27551) by @quicksandznzn in https://github.com/langgenius/dify/pull/27574
* fix: iteration node cannot be viewed(#27759) by @redSun64 in https://github.com/langgenius/dify/pull/27786
* fix agent putout the output of workflow-tool twice (#26835) by @Cursx in https://github.com/langgenius/dify/pull/27706
* fix:knowledge base reference information is overwritten when using mu… by @zhengchangchun in https://github.com/langgenius/dify/pull/27799
* fix: installation_id is missing when in tools page by @crazywoola in https://github.com/langgenius/dify/pull/27849
* fix: avoid passing empty uniqueIdentifier to InstallFromMarketplace by @johnny0120 in https://github.com/langgenius/dify/pull/27802
* fix: python package vulnerability by @kenwoodjw in https://github.com/langgenius/dify/pull/27645
* fix(api): return timestamp as integer in document api by @invzhi in https://github.com/langgenius/dify/pull/27761
* fix: File model add known extra fields, fix issue about the tool of… by @CrabSAMA in https://github.com/langgenius/dify/pull/27607
* FIX Issue #27697: Add env variable in docker-compose(template) and make it take effect. by @Dave0126 in https://github.com/langgenius/dify/pull/27704
* fix: datasets weight settings embedding model does not change by @lcedaw in https://github.com/langgenius/dify/pull/27694
* fix: bump pyobvector to 0.2.17 by @kenwoodjw in https://github.com/langgenius/dify/pull/27791
* fix: elasticsearch_vector version by @huangzhuo1949 in https://github.com/langgenius/dify/pull/28028
* fix workflow default updated_at by @IthacaDream in https://github.com/langgenius/dify/pull/28047
* fix(api): Trace Hierarchy, Span Status, and Broken Workflow for Arize & Phoenix Integration by @ialisaleh in https://github.com/langgenius/dify/pull/27937
* fix Version 2.0.0-beta.2: Chat annotations Api Error #25506 by @Cursx in https://github.com/langgenius/dify/pull/27206
* fix: prevent fetch version info in enterprise edition by @douxc in https://github.com/langgenius/dify/pull/27923
* fix(api): fix VariablePool.get adding unexpected keys to variable_dictionary by @QuantumGhost in https://github.com/langgenius/dify/pull/26767
* fix: bump brotli to 1.2.0 resloved CVE-2025-6176 by @kenwoodjw in https://github.com/langgenius/dify/pull/27950
* refactor: update installed app component to handle missing params and improve type safety by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27331
* refactor:Decouple Domain Models from Direct Database Access by @hieheihei in https://github.com/langgenius/dify/pull/27316
* refactor: update install status handling in plugin installation process by @WTW0313 in https://github.com/langgenius/dify/pull/27594
* refactor(api): add SQLAlchemy 2.x Mapped type hints to Message model by @laipz8200 in https://github.com/langgenius/dify/pull/27709
* refactor: replace hardcoded user plan strings with CloudPlan enum by @laipz8200 in https://github.com/langgenius/dify/pull/27675
* refactor: Use Repository Pattern for Model Layer by @hieheihei in https://github.com/langgenius/dify/pull/27663
* refactor(api): set default value for EasyUIBasedAppGenerateEntity.query by @laipz8200 in https://github.com/langgenius/dify/pull/27712
* refactor(web): reuse the same edit-custom-collection-modal component, and fix the pop up error by @yangzheli in https://github.com/langgenius/dify/pull/28003
* refactor(web): remove redundant add-tool-modal components and related code by @yangzheli in https://github.com/langgenius/dify/pull/27996
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/27423
* chore(deps): bump testcontainers from 4.10.0 to 4.13.2 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/27469
* chore(deps-dev): bump @happy-dom/jest-environment from 20.0.7 to 20.0.8 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/27465
* chore: add more stories by @hjlarry in https://github.com/langgenius/dify/pull/27403
* chore: improve mcp server url validation by @Nov1c444 in https://github.com/langgenius/dify/pull/27558
* Sync celery queue name list by @Eric-Guo in https://github.com/langgenius/dify/pull/27554
* chore: add web type check step to GitHub Actions workflow by @ZeroZ-lab in https://github.com/langgenius/dify/pull/27498
* chore: warning messages too long in model config caused ui issue by @iamjoel in https://github.com/langgenius/dify/pull/27542
* chore: add type-check to pre-commit by @lyzno1 in https://github.com/langgenius/dify/pull/28005
* chore(deps): bump tablestore from 6.2.0 to 6.3.7 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/27736
* chore(deps): bump dayjs from 1.11.18 to 1.11.19 in /web by @dependabot[bot] in https://github.com/langgenius/dify/pull/27735
* chore(deps): bump scipy-stubs from 1.16.2.3 to 1.16.3.0 in /api by @dependabot[bot] in https://github.com/langgenius/dify/pull/28025
* chore: disable workflow logs auto-cleanup by default by @laipz8200 in https://github.com/langgenius/dify/pull/28136
* chore: not SaaS version can query long log time range by @iamjoel in https://github.com/langgenius/dify/pull/28109
* chore: improve the user experience of not login into apps by @iamjoel in https://github.com/langgenius/dify/pull/28120
* chore: Remove trailing space from migration filename by @IthacaDream in https://github.com/langgenius/dify/pull/28040
* chore: translate i18n files and update type definitions by @github-actions[bot] in https://github.com/langgenius/dify/pull/28054
* chore: remove unused enterprise bot from the readme by @crazywoola in https://github.com/langgenius/dify/pull/28073
## New Contributors
* @gin-melodic made their first contribution in https://github.com/langgenius/dify/pull/25672
* @acro-k-tanaka made their first contribution in https://github.com/langgenius/dify/pull/27336
* @MaoJianwei made their first contribution in https://github.com/langgenius/dify/pull/27545
* @Vivecccccc made their first contribution in https://github.com/langgenius/dify/pull/26234
* @katakyo made their first contribution in https://github.com/langgenius/dify/pull/27680
* @SmartDever02 made their first contribution in https://github.com/langgenius/dify/pull/27665
* @tonghuaroot made their first contribution in https://github.com/langgenius/dify/pull/27731
* @SherlockShemol made their first contribution in https://github.com/langgenius/dify/pull/27776
* @dingweichen made their first contribution in https://github.com/langgenius/dify/pull/27718
* @invzhi made their first contribution in https://github.com/langgenius/dify/pull/27761
* @Dave0126 made their first contribution in https://github.com/langgenius/dify/pull/27704
* @y49 made their first contribution in https://github.com/langgenius/dify/pull/27546
* @redSun64 made their first contribution in https://github.com/langgenius/dify/pull/27786
* @Cursx made their first contribution in https://github.com/langgenius/dify/pull/27706
* @zhengchangchun made their first contribution in https://github.com/langgenius/dify/pull/27799
* @Elliott-byte made their first contribution in https://github.com/langgenius/dify/pull/27823
* @codomposer made their first contribution in https://github.com/langgenius/dify/pull/27850
* @kk-wangjifeng made their first contribution in https://github.com/langgenius/dify/pull/27867
* @OneZero-Y made their first contribution in https://github.com/langgenius/dify/pull/28007
* @mnasrautinno made their first contribution in https://github.com/langgenius/dify/pull/28091
* @ye4241 made their first contribution in https://github.com/langgenius/dify/pull/28151
* @Cerlancism made their first contribution in https://github.com/langgenius/dify/pull/28119
* @breath57 made their first contribution in https://github.com/langgenius/dify/pull/27934
* @zhsama made their first contribution in https://github.com/langgenius/dify/pull/28163
* @lilongfei2000 made their first contribution in https://github.com/langgenius/dify/pull/27871
* @hoffermei made their first contribution in https://github.com/langgenius/dify/pull/28116
**Full Changelog**: https://github.com/langgenius/dify/compare/1.9.2...1.10.0