Impact Score: 5/10
Dify: v1.4.1
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.4.1. Source highlight: π Whatβs New in v1.4.1? π
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)
- **Web Media Element Enhancements**: Added support for both `<video>` and `<audio>` elements with `src` attributes, bringing you more flexibility when embedding media, by @ruanjf in #19988.
- **Aliyun OSS Storage Support in Plugin Daemon**: The new Plugin Storage Type now supports Aliyun OSS, catering to users in need of this cloud storage option, courtesy of @quicksandznzn in #20012.
- **Tracing Conversation in Opik Tracer**: Introduced support for tracking conversations via Opik Tracer, enhancing your tracing capabilities, integrated by @Lothiraldan in #20063.
- **Streamlined App Creation**: Simplified the app creation experience with collapsed basic app types for a more intuitive setup, thanks to @guchenhe in #20007.
- **Document Extractor Enhancements**: Implemented the chardet encoding in our document extractor to handle varied text encodings more robustly, courtesy of @laipz8200 in #20269.
- feat(workflow): domain model for workflow node execution
β‘ Performance & Enhancements (1)
- chore: improve some doc
π§ Bug Fixes & Patches (6)
- **Optional Request Logging**: Now you can configure optional request and response logging to help with debugging and tracking, thanks to @NeatGuyCoding in #19783.
- **Security Update**: Upgraded qdrant-client to version 1.9.0 to keep your environment secure and up to date by @Gevtolev in #20231.
- **Overflow and Layout Fixes**: Corrected metadata condition name overflow and improved handling of long bot descriptions by @CorrectRoadH in #19812 and #19805.
- **File Upload and Export**: Resolved issues with avatar uploads and custom file type exports so everything uploads without a hitch by @iamjoel and @hjlarry in respective pulls.
- **Performance Optimizations**: Improved several workflows, including the validation logic in OpsTraceManager and chart rendering in markdown to tackle flickering and looping issues, with help from @jameshui1997 and @xuzijie1995 among others.
- **Knowledge Retrieval and Workflow Enhancements**: Addressed an uninitialized variable error and improved logic in knowledge retrieval efforts by @zhudongwork and others.
π View Raw Release Notes (Original Developer Log)
# π Whatβs New in v1.4.1? π
Welcome to version 1.4.1! This release is all about squashing bugs, enhancing functionality, and making everything run smoother. Hereβs the scoop:
## π New Features
- **Optional Request Logging**: Now you can configure optional request and response logging to help with debugging and tracking, thanks to @NeatGuyCoding in #19783.
- **Web Media Element Enhancements**: Added support for both `<video>` and `<audio>` elements with `src` attributes, bringing you more flexibility when embedding media, by @ruanjf in #19988.
- **Aliyun OSS Storage Support in Plugin Daemon**: The new Plugin Storage Type now supports Aliyun OSS, catering to users in need of this cloud storage option, courtesy of @quicksandznzn in #20012.
- **Tracing Conversation in Opik Tracer**: Introduced support for tracking conversations via Opik Tracer, enhancing your tracing capabilities, integrated by @Lothiraldan in #20063.
- **Streamlined App Creation**: Simplified the app creation experience with collapsed basic app types for a more intuitive setup, thanks to @guchenhe in #20007.
- **Document Extractor Enhancements**: Implemented the chardet encoding in our document extractor to handle varied text encodings more robustly, courtesy of @laipz8200 in #20269.
## π οΈ Fixes and Improvements
- **Security Update**: Upgraded qdrant-client to version 1.9.0 to keep your environment secure and up to date by @Gevtolev in #20231.
- **Overflow and Layout Fixes**: Corrected metadata condition name overflow and improved handling of long bot descriptions by @CorrectRoadH in #19812 and #19805.
- **File Upload and Export**: Resolved issues with avatar uploads and custom file type exports so everything uploads without a hitch by @iamjoel and @hjlarry in respective pulls.
- **Performance Optimizations**: Improved several workflows, including the validation logic in OpsTraceManager and chart rendering in markdown to tackle flickering and looping issues, with help from @jameshui1997 and @xuzijie1995 among others.
- **Knowledge Retrieval and Workflow Enhancements**: Addressed an uninitialized variable error and improved logic in knowledge retrieval efforts by @zhudongwork and others.
Upgrade to v1.4.1 and enjoy a more streamlined, robust, and feature-rich experience that primes your projects for success!
---
## 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.4.1
```
3. Update Python dependencies:
```bash
cd api
uv sync
```
7. Then, let's run the migration script:
```bash
uv run flask db upgrade
```
8. Finally, run the API server, Worker, and Web frontend Server again.
---
## What's Changed
* Resolve Python Logger library warnings by @emmanuel-ferdman in https://github.com/langgenius/dify/pull/19791
* Fix: style of app publisher by @JzoNgKVO in https://github.com/langgenius/dify/pull/19803
* fix: fix metadata condition name overflow by @CorrectRoadH in https://github.com/langgenius/dify/pull/19812
* fix: fix overflow when bot description too long by @CorrectRoadH in https://github.com/langgenius/dify/pull/19805
* fix: llm parameters radio type dark style by @junjiem in https://github.com/langgenius/dify/pull/19833
* feat(workflow): domain model for workflow node execution by @laipz8200 in https://github.com/langgenius/dify/pull/19430
* fix: upload avatar failed by @iamjoel in https://github.com/langgenius/dify/pull/19853
* fix: correct type mismatch in WorkflowService node execution handling by @laipz8200 in https://github.com/langgenius/dify/pull/19846
* revert https://github.com/langgenius/dify/pull/19497 (19497) by @gq957534377 in https://github.com/langgenius/dify/pull/19807
* feat(DraftWorkflowApi): Requires environment_variables in DraftWorkflowApi by @laipz8200 in https://github.com/langgenius/dify/pull/19849
* feat: Add optional request and response JSON logging extension with configuration and tests by @NeatGuyCoding in https://github.com/langgenius/dify/pull/19783
* fix: nav selector's dark theme by @hjlarry in https://github.com/langgenius/dify/pull/19869
* fix: tool node number type constant field dark style by @junjiem in https://github.com/langgenius/dify/pull/19818
* fix(devcontainer): uv sync fail by @yedamao in https://github.com/langgenius/dify/pull/19834
* docs: Add text_to_speech left out in the API response by @yeyunwen in https://github.com/langgenius/dify/pull/19862
* chore: improve some doc by @hjlarry in https://github.com/langgenius/dify/pull/19881
* fix create_tracing_app_config error by @hieheihei in https://github.com/langgenius/dify/pull/19884
* fix: db_model save to _node_execution_cache by @hjlarry in https://github.com/langgenius/dify/pull/19911
* feat(api): Introduce `WorkflowDraftVariable` Model by @QuantumGhost in https://github.com/langgenius/dify/pull/19737
* feat(workflow): Add variable node jump navigation and persist node dimensions/position by @wellCh4n in https://github.com/langgenius/dify/pull/13623
* chore: upgrade Redis from v6 to v7 in middlewares by @bowenliang123 in https://github.com/langgenius/dify/pull/19935
* docs: Optimize Response data array object indentation for the /messages interface by @yeyunwen in https://github.com/langgenius/dify/pull/19922
* Feat(WaterCrawl error handling): add custom exceptions and error handling by @amirasaran in https://github.com/langgenius/dify/pull/19948
* fix model workflow_draft_variables duplicate app_id set. by @zhanluxianshen in https://github.com/langgenius/dify/pull/19949
* Revert "chore: upgrade Redis from v6 to v7 in middlewares" by @crazywoola in https://github.com/langgenius/dify/pull/19960
* chore: update redis dependency to version 6.1.0 in api/pyproject.toml by @rotoni in https://github.com/langgenius/dify/pull/19885
* E-300 by @douxc in https://github.com/langgenius/dify/pull/19726
* fix: fix page broken for undefined permission by @LeeeeeeM in https://github.com/langgenius/dify/pull/19972
* fix: multiple retrieve reranking_enabled switch by @zengruizhao in https://github.com/langgenius/dify/pull/19958
* fix: ensure Decimal values in metadata are JSON serializable (fixes #19936) by @williamjizihe in https://github.com/langgenius/dify/pull/19955
* feat: Web <video> and <audio> element support src attribute by @ruanjf in https://github.com/langgenius/dify/pull/19988
* fix: search query and refine the logic by @crazywoola in https://github.com/langgenius/dify/pull/19987
* fix: fix duplicate app lose custom image by @CorrectRoadH in https://github.com/langgenius/dify/pull/19775
* chore: Reduce the invocation of the plugin interface by @luckylhb90 in https://github.com/langgenius/dify/pull/19629
* Revert "fix: fix duplicate app lose custom image" by @crazywoola in https://github.com/langgenius/dify/pull/19995
* fix: update IN SERVICE status text in app detail panel by @douxc in https://github.com/langgenius/dify/pull/19993
* fix: ReactFlow background in dark theme by @crazywoola in https://github.com/langgenius/dify/pull/20013
* fix create_tracing_app_config error (#19884) by @homeant in https://github.com/langgenius/dify/pull/20004
* fix: emoji picker in dark mode by @crazywoola in https://github.com/langgenius/dify/pull/20019
* Feat:Plugin Storage Type Support Aliyun OSS by @quicksandznzn in https://github.com/langgenius/dify/pull/20012
* feat: Move to node in workflow panel and fix help link hover style by @wellCh4n in https://github.com/langgenius/dify/pull/19998
* feat: Support hidden fields in the start node by @ModyQyW in https://github.com/langgenius/dify/pull/19678
* refactor: Use typed SQLAlchemy base model and fix type errors by @laipz8200 in https://github.com/langgenius/dify/pull/19980
* fix(sqlalchemy_workflow_node_execution_repository): Missing `triggered_from` while querying WorkflowNodeExecution by @laipz8200 in https://github.com/langgenius/dify/pull/20044
* Fix/modify translation by @HanqingZ in https://github.com/langgenius/dify/pull/20046
* Simplify `execution_metadata` Handling for `WorkflowNodeExecution` by @QuantumGhost in https://github.com/langgenius/dify/pull/20062
* tencent vectordb compatible with version 1.1.3 and below by @wlleiiwang in https://github.com/langgenius/dify/pull/20056
* feat: Introduce WorkflowExecution Domain Entity and Repository, Replace WorkflowRun Direct Usage, and Unify Stream Response Logic by @laipz8200 in https://github.com/langgenius/dify/pull/20067
* Fix/fix trace provider delete err by @hieheihei in https://github.com/langgenius/dify/pull/20070
* feat: Split WorkflowCycleManager by @laipz8200 in https://github.com/langgenius/dify/pull/20071
* fix: correct indentation in dataset retrieval model assignment by @GonzaHM in https://github.com/langgenius/dify/pull/20040
* fix: uninitialized variable error on empty knowledge retrieval(agent) by @zhudongwork in https://github.com/langgenius/dify/pull/20025
* Refactor OpenSearch config to separate use_ssl and verify_certs flags by @He-Huang in https://github.com/langgenius/dify/pull/20075
* fix: improve tracing provider validation logic in OpsTraceManager by @jameshui1997 in https://github.com/langgenius/dify/pull/20042
* chore: Update S3StorageConfig to match boto3 type hints by @Lothiraldan in https://github.com/langgenius/dify/pull/20072
* feat: add entry point for requesting a plugin by @nite-knite in https://github.com/langgenius/dify/pull/20026
* Add support for tracking conversation with Opik Tracer by @Lothiraldan in https://github.com/langgenius/dify/pull/20063
* set oceanbase ip to 127.0.0.1 to avoid connection failure after restart by @whhe in https://github.com/langgenius/dify/pull/20103
* fix(markdown): improve ECharts rendering for streaming content and da⦠by @xuzijie1995 in https://github.com/langgenius/dify/pull/20101
* fix: update messages credita by @douxc in https://github.com/langgenius/dify/pull/20092
* simplify app create experience with collapsed basic app types and imp⦠by @guchenhe in https://github.com/langgenius/dify/pull/20007
* fix: GitHub stars count sync not working by @wellCh4n in https://github.com/langgenius/dify/pull/20126
* fix: some dark theme not display well by @hjlarry in https://github.com/langgenius/dify/pull/20121
* fix: system file upload can't export custom file types by @hjlarry in https://github.com/langgenius/dify/pull/20122
* fix(echarts): Resolve chart flickering and animation loop in Markdown by @xuzijie1995 in https://github.com/langgenius/dify/pull/20161
* fix: update Line component for dark mode support and improve Empty co⦠by @WTW0313 in https://github.com/langgenius/dify/pull/20196
* fix: can not show loop detail in one step run by @iamjoel in https://github.com/langgenius/dify/pull/20215
* fix: resolve Mermaid mindmap generation issue by @GonzaHM in https://github.com/langgenius/dify/pull/20227
* fix: prevent save when default max_iteration has value in agent node by @LeeeeeeM in https://github.com/langgenius/dify/pull/20211
* doc: tiny fix github -> GitHub by @yihong0618 in https://github.com/langgenius/dify/pull/20185
* fix: add 'floatfmt' when extract number from excel ( #20153 ) by @water-in-stone in https://github.com/langgenius/dify/pull/20193
* fix: show two PromptLogModal when click log button (#20115) by @HyaCiovo in https://github.com/langgenius/dify/pull/20142
* feat: add alias for production web start command by @ZeroZ-lab in https://github.com/langgenius/dify/pull/20229
* feat: clean chunk content after add by @CorrectRoadH in https://github.com/langgenius/dify/pull/19785
* fix: Remove the custom comparison function from the memo HOC(#19679) by @HyaCiovo in https://github.com/langgenius/dify/pull/20197
* fix: #18132 when deepseek llm model, auto_generate name can't work by @hanqingwu in https://github.com/langgenius/dify/pull/18646
* feat: add author_name for app list card by @LeeeeeeM in https://github.com/langgenius/dify/pull/16900
* refactor: Consolidate Flask-Login Authentication Logic by @laipz8200 in https://github.com/langgenius/dify/pull/20235
* Fix dataseat card height by @ZeroZ-lab in https://github.com/langgenius/dify/pull/20239
* fix: not save workflow_run_id of chatflow message by @hjlarry in https://github.com/langgenius/dify/pull/20257
* fix: Copy request context and current user in app generators. by @laipz8200 in https://github.com/langgenius/dify/pull/20240
* fix: workflow http node by @zxhlyh in https://github.com/langgenius/dify/pull/20262
* fix[cve]: update qdrant-client from 1.7.3 to 1.9.0 by @Gevtolev in https://github.com/langgenius/dify/pull/20231
* fix: persist workflow execution status on partial success and failure by @laipz8200 in https://github.com/langgenius/dify/pull/20264
* feat: add pagination for plugin page by @LeeeeeeM in https://github.com/langgenius/dify/pull/20151
* feat: document extractor chardet encoding by @laipz8200 in https://github.com/langgenius/dify/pull/20269
* Modifying the preview of the uploaded avatar will freeze, fix the bug⦠by @gq957534377 in https://github.com/langgenius/dify/pull/20202
* fix: Refactor web reader to use readabilipy by @laipz8200 in https://github.com/langgenius/dify/pull/19789
* fix: dataset permission check for partial team members (#19249) by @mio-inamijima in https://github.com/langgenius/dify/pull/20242
* feat(qdrant):add replication_factor when create collection in qdrant by @rouxiaomin in https://github.com/langgenius/dify/pull/20133
* chore(remove_app_and_related_data_task): Revert `_delete_app_workflow_node_executions` by @laipz8200 in https://github.com/langgenius/dify/pull/20278
* chore(*): Bump version to 1.4.1 by @laipz8200 in https://github.com/langgenius/dify/pull/20275
## New Contributors
* @emmanuel-ferdman made their first contribution in https://github.com/langgenius/dify/pull/19791
* @NeatGuyCoding made their first contribution in https://github.com/langgenius/dify/pull/19783
* @yedamao made their first contribution in https://github.com/langgenius/dify/pull/19834
* @yeyunwen made their first contribution in https://github.com/langgenius/dify/pull/19862
* @rotoni made their first contribution in https://github.com/langgenius/dify/pull/19885
* @zengruizhao made their first contribution in https://github.com/langgenius/dify/pull/19958
* @williamjizihe made their first contribution in https://github.com/langgenius/dify/pull/19955
* @ruanjf made their first contribution in https://github.com/langgenius/dify/pull/19988
* @homeant made their first contribution in https://github.com/langgenius/dify/pull/20004
* @GonzaHM made their first contribution in https://github.com/langgenius/dify/pull/20040
* @zhudongwork made their first contribution in https://github.com/langgenius/dify/pull/20025
* @He-Huang made their first contribution in https://github.com/langgenius/dify/pull/20075
* @jameshui1997 made their first contribution in https://github.com/langgenius/dify/pull/20042
* @whhe made their first contribution in https://github.com/langgenius/dify/pull/20103
* @water-in-stone made their first contribution in https://github.com/langgenius/dify/pull/20193
* @mio-inamijima made their first contribution in https://github.com/langgenius/dify/pull/20242
**Full Changelog**: https://github.com/langgenius/dify/compare/1.4.0...1.4.1