1.4.1
v1.4.1
🚀 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 withsrcattributes, 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
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bakGet the latest code from the main branch
git checkout main git pull origin mainStop the service. Please execute in the docker directory
docker compose downBack up data
tar -cvf volumes-$(date +%s).tgz volumesUpgrade 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 1.4.1Update Python dependencies:
cd api uv syncThen, let's run the migration script:
uv run flask db upgradeFinally, 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
WorkflowDraftVariableModel 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 and 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_fromwhile 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_metadataHandling forWorkflowNodeExecutionby @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_executionsby @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
Full Changelog: https://github.com/langgenius/dify/compare/1.4.0...1.4.1