1.10.0
langgenius/dify1.10.0Nov 13, 2025by Mairuis
Upgrading?
Release notes summary
Dify 1.10.0 introduces event-driven workflows through triggers, allowing Workflows to run on schedules, SaaS events, or webhooks without user action or API calls. It also adds workflow pause state management, MCP 2025-06-18 support, broadcast channels, and several workflow and integration enhancements.
Key Highlights
- Trigger functionality supports Schedule, SaaS Integration Event, and Webhook start nodes for Workflows.
- Workflow pause state management and WorkflowResumptionContext improve execution control.
- MCP specification 2025-06-18 is implemented.
- Broadcast Channel support is introduced.
- Iteration nodes gain flatten_output configuration, and MCP tools gain audio content support.
New Features
- Event-driven workflow triggers
- Schedule, SaaS event, and webhook triggers
- Workflow pause state management
- MCP 2025-06-18 support
- Broadcast Channel
- Iteration node flatten_output
- Audio content support for MCP tools
- RAG tool recommendations
Full Release Notes
# 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
Related Repositories
public-apis/public-apis★ 492,774
A collective list of free APIs
NousResearch/hermes-agent★ 257,813
The agent that grows with you
yt-dlp/yt-dlp★ 203,099
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 192,609
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,793
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.