Releases: langgenius/dify
v0.8.2
✨ What’s New in v0.8.2? ✨
Hey everyone, we've got some fresh updates in version 0.8.2 that are all about making your experience smoother and more efficient. Here's the lowdown:
🚀 New Features
-
O1-Series Models Support: We've added support for the O1-series models in the Agent App, specifically for ReACT workflows. This enhancement by @takatost in #8350 opens up new possibilities for those leveraging ReACT in their applications.
-
Service API Workflow Logs: Thanks to @fanlia in #8323, you can now access detailed workflow logs via the service API. This is a big win for those of you who need to keep a close eye on what's happening under the hood.
🛠️ Bug Fixes
-
Score Threshold Fix: Addressed an issue where the score threshold was set to none, ensuring more reliable performance metrics by @JohnJyong in #8342.
-
Workflow Var-Selector Update: Fixed a bug where the var-selector wasn't updating when edges changed in workflows. Kudos to @HiChen404 for this fix in #8259.
-
Copy and Paste Shortcut: Resolved an issue with the copy and paste shortcut in the textarea of the workflow run panel, making text manipulation a breeze again. Thanks to @YIXIAO0 for the fix in #8345.
That's it for this release! Keep those feedback and contributions coming, and let's keep making this platform even better together.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fixed score threshold is none by @JohnJyong in #8342
- fix(workflow): fix var-selector not update when edges change by @HiChen404 in #8259
- Feature/service api workflow logs by @fanlia in #8323
- fix: copy and paste shortcut in the textarea of the workflow run panel by @YIXIAO0 in #8345
- feat: add o1-series models support in Agent App (ReACT only) by @takatost in #8350
- feat: add langfuse sentry ignore error by @ZhouhaoJiang in #8353
- chore: update version to 0.8.2 in packaging and docker-compose files by @laipz8200 in #8352
New Contributors
Full Changelog: 0.8.1...0.8.2
v0.8.1
✨ What’s New in v0.8.1? ✨
Hello Dify Community! 🎉 We're excited to announce the release of v0.8.1, packed with enhancements, new features, and important bug fixes to elevate your experience. Let's explore what's new:
🚀 Key Features
- ✨ OpenAI o1-Series Models Support
Unlock the power of OpenAI's cutting-edge models with support for botho1-preview
ando1-mini
. These additions provide you with more flexibility and enhanced AI capabilities to meet your diverse needs.
Special thanks to @takatost for implementing this feature in #8328.
🛠️ Improvements & Bug Fixes
Workflow Enhancements
-
Multi-Parallel Execution Fixed
Resolved issues with workflows executing multiple parallel branches and conditional paths seamlessly.
Credit to @takatost for #8221. -
Accurate Branch Outputs
Fixed simultaneous output problems in different branches of the question classifier node for more reliable results.
Thanks to @takatost in #8225. -
IF-ELSE Node Stability
Addressed execution halts when IF-ELSE nodes connect to the same subsequent node, ensuring consistent workflow execution.
Handled by @takatost in #8247. -
Complete Data Flow in Answer Nodes
Fixed missing content in answer node stream outputs during iterations, guaranteeing comprehensive data flow.
Another great fix by @takatost in #8292. -
Stream Chunk/Message Event Selector
Take greater control over your data streams with the newfrom_variable_selector
. This feature allows for more precise management of stream chunk and message events, ensuring smoother data flow.
Implemented by @takatost in #8228.
Ollama Embedding Model
- Error Resolutions
Squashed bugs related to adding the Ollama embedding model, including pesky 500 errors, for a smoother integration experience.
Thanks to @Howe829 in #8236 and #8252.
UI & Usability Enhancements
-
Improved Icon Alignment
Corrected the misalignment of the upload image icon in the chat input area for a cleaner interface.
Implemented by @hjlarry in #8263. -
Enhanced Markdown Readability
Adjusted markdown paragraph margins to enhance readability and overall user experience.
Courtesy of @zxhlyh in #8289. -
Copy Shortcut Fixes
Resolved issues with copy shortcuts in the workflow debug and preview panels for smoother navigation.
Thanks to @Kevin9703 in #8249.
Miscellaneous Fixes
-
Localized Translations
Enhanced regionalization of translations to provide a more localized and user-friendly experience.
Contributed by @thalessalazar in #8231. -
Value Handling & Label Issues
Fixed truthy value handling and response format label issues for better data consistency.
Thanks to @ZuzooVn in #8208 and #8326. -
VariableEntityType Bug
Resolved naming convention inconsistencies by fixing the VariableEntityType bug.
Handled by @GuoNingNing in #8299.
🌟 Other Enhancements
-
Bedrock Improvements
-
Claude Models Support
Claude models in Bedrock now support theresponse_format
parameter, providing more customization options.
Thanks to @badbye in #8220. -
Cross-Region Inference
Added support for Bedrock cross-region inference, enhancing deployment flexibility across different regions.
Implemented by @ybalbert001 in #8317.
-
-
API Key Creation for Editors
Editors can now create API keys directly, streamlining the development workflow and enhancing security.
Thanks to @cuckootan in #8214.
Thank you to everyone who contributed to v0.8.1! 🙌 Your feedback and support help us build something truly awesome. Keep the suggestions coming, and let's continue to innovate together! 🚀
Stay tuned for more updates and happy coding! 💻✨
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix(workflow): in multi-parallel execution with multiple conditional branches by @takatost in #8221
- fix(workflow): answers are output simultaneously across different braches in the question classifier node. by @takatost in #8225
- feat: add from_variable_selector for stream chunk / message event by @takatost in #8228
- fix: improving the regionalization of translation by @thalessalazar in #8231
- fix:error when adding the ollama embedding model by @Howe829 in #8236
- fix: CHECK_UPDATE_URL comment by @ZuzooVn in #8235
- fix: workflow parallel limit in ifelse node by @zxhlyh in #8242
- fix(workflow): IF-ELSE nodes connected to the same subsequent node cause execution to stop by @takatost in #8247
- fix: truthy value by @ZuzooVn in #8208
- fix: upload img icon mis-align in the chat input area by @hjlarry in #8263
- editor can also create api key by @cuckootan in #8214
- Update Gitlab query field, add query by path by @wlrnet in #8244
- fix:ollama text embedding 500 error by @Howe829 in #8252
- chore: apply pep8-naming rules for naming convention by @bowenliang123 in #8261
- chore: remove useless code by @crazywoola in #8198
- enhance: improve empty data display for detail panel by @DDDDD12138 in #8266
- let claude models in bedrock support the response_format parameter by @badbye in #8220
- chore: cleanup pycodestyle E rules by @bowenliang123 in #8269
- fix(workflow/hooks/use-shortcuts): resolve issue of copy shortcut not working in workflow debug and preview panel by @Kevin9703 in #8249
- fix: markdown paragraph margin by @zxhlyh in #8289
- chore: cleanup ruff flake8-simplify linter rules by @bowenliang123 in #8286
- fix(workflow): missing content in the answer node stream output during iterations by @takatost in #8292
- chore: apply ruff E501 line-too-long linter rule by @bowenliang123 in #8275
- chore: refurbish Python code by applying refurb linter rules by @bowenliang123 in #8296
- chore: apply flake8-pytest-style linter rules by @bowenliang123 in #8307
- Fix: Support Bedrock cross region inference #8190 by @ybalbert001 in #8317
- Revert "Feat: update app published time after clicking publish button" by @crazywoola in #8320
- chore:add Azure openai api version 2024-08-01-preview by @leslie2046 in #8291
- Fix VariableEntityType Bug external-data-tool -> external_data_tool by @GuoNingNing in #8299
- docs: update lambda_translate_utils.yaml by @eltociear in #8293
- fix: response_format label by @ZuzooVn in #8326
- feat: add OpenAI o1 series models support by @takatost in #8328
- chore: update Dify version to 0.8.1 by @laipz8200 in #8329
New Contributors
- @Howe829 made their first contribution in #8236
- @GuoNingNing made their first contribution in #8299
Full Changelog: 0.8.0...0.8.1
v0.8.0
✨ What’s New in v0.8.0? ✨
Hey everyone, we’re excited to announce the release of version 0.8.0! This update brings a mix of new features, enhancements, and crucial bug fixes. Here’s a quick rundown:
🔥 Key Feature
Parallel Execution of Nodes in Workflows by @takatost, @zxhlyh, and @YIXIAO0 in #8192.
Nodes can now be executed in parallel within a workflow, greatly increasing the execution speed. This feature is especially beneficial for complex workflows that involve multiple steps or processes, allowing for quicker completion times and improved performance.
Dive deeper into the details and unleash the full potential of these new features by exploring our latest blog post and documentation!
🚀 New Features
- Support
gpt-4o-2024-08-06
andjson_schema
for Azure OpenAI Service: Support for the latest GPT-4o model and JSON schema for Azure OpenAI by @hjlarry in #7648 - Support Oracle Cloud Infrastructure Generative AI Service: Oracle Cloud Infrastructure is now a supported model provider by @tmuife in #7775
- Support Fish Audio TTS: Added support for Fish Audio Text-to-Speech models by @leng-yue in #7982
⚠️ Deprecated Features
- Deprecate N to 1 Retrieval by @zxhlyh in #8134
The N-to-1 retrieval strategy is officially deprecated in this version, of which the entrance will be closed but applications that have selected this feature will still be retained. We recommend switching to the more flexible multi-path retrieval strategy to boost your application's retrieval efficiency.
⚙️ Enhancements
- Update App Published Time After Clicking Publish Button: The published time of an app now updates correctly when you click the publish button by @vicoooo26 in #7801
🛠️ Bug Fixes
- Fix Notion Table Extract: Fixed issues with extracting data from Notion tables by @JohnJyong in #7925
- Fix Nvidia Rerank Top N Missed: Addressed issues with Nvidia rerank top N functionality by @JohnJyong in #8185
- Fix Claude Credential Validation: Resolved credential validation issues for Claude by @crazywoola in #8109
That’s it for this release! As always, we appreciate your feedback and contributions. Do it for you! 🚀
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- feat: support auto generate i18n translate by @iamjoel in #6964
- fix: frontend handle sometimes server not generate the wrong follow up data struct by @iamjoel in #7916
- improve the notion table extract by @JohnJyong in #7925
- Fix/segment create with api by @JohnJyong in #7928
- chore: #7603 i18n by @ZuzooVn in #7931
- fix rerank model value is empty string by @JohnJyong in #7937
- Chore/add default step 1x url by @crazywoola in #7933
- Chore/add roadmap by @crazywoola in #7943
- fix(api): Code-Based Extension cause error on position map sorting by @jim60105 in #7934
- chore: #7943 i18n by @ZuzooVn in #7948
- Revert "fix: an issue of keyword search feature in application log list" by @takatost in #7949
- feat: ops trace add llm model by @ZhouhaoJiang in #7306
- chore: fix inverted index japanese translation by @os1ma in #7957
- fix: split text keep separator by @Sumkor in #7930
- Feat: update app published time after clicking publish button by @vicoooo26 in #7801
- fix:empty voice occurs when xinference CosyVoice tts model by @leslie2046 in #7958
- fix: get commit sha failed in translate action by @iamjoel in #7959
- feat: add health check for pg and redis in docker-compose.middleware.yaml (#7961) by @hwzhuhao in #7962
- Feat:remove estimation of embedding cost by @JzoNgKVO in #7950
- chore: refactor the beichuan model by @hjlarry in #7953
- fix wrong error message by @JohnJyong in #7972
- chore: translate i18n files by @github-actions in #7965
- Concurrent calls to the Wenxin model, and the exception problem when obtaining the token is fixed by @wochuideng in #7976
- fix spliter length missed by @JohnJyong in #7987
- feat: add gpt-4o-2024-08-06 and json_schema for azure openAI service by @hjlarry in #7648
- feat: support fish audio TTS by @leng-yue in #7982
- feat: return page number of pdf documents upon retrieval by @jasonkang14 in #7749
- Fix/datasets api description error by @Designerxsh in #8025
- feat: add video、audio、abbr href message rendering and optimize image rendering by @charli117 in #6868
- Update milvus-standalone version and expose required ports for the container. by @winsonwhe in #7709
- support huawei cloud obs storage (#7980) by @hwzhuhao in #7981
- Add OCI(Oracle Cloud Infrastructure) Generative AI Service as a Model Provider by @tmuife in #7775
- fix the tooltip in tools node by @YIXIAO0 in #8055
- chore: #7348, support query conversations by updated_at by @ZuzooVn in #8047
- fix: change milvus init args from (host, port) to (url, token) by @zc277584121 in #8019
- ifEsle node add regex match by @charli117 in #8007
- If else add regexmatch by @crazywoola in #8059
- fix: parameter rule by @crazywoola in #8064
- fix: overflow issues in chat history by @YIXIAO0 in #8062
- Revert "fix: parameter rule" by @AAEE86 in #8070
- fix: i18n typo by @ZuzooVn in #8077
- fix: knowledge input by @crazywoola in #8065
- Fix variable typo by @ZuzooVn in #8084
- feat: support redis sentinel mode by @erigo in #7756
- fix LangSmith project config error by @charli117 in #7996
- fix: parameter input by @crazywoola in #8076
- feat:add fishaudio in xinference by @leslie2046 in #8100
- chore: keep dify compose file consistent format by @soulteary in #8102
- Translate billing to PT-BR by @thalessalazar in #8105
- fix: Claude can not validate credientials by @crazywoola in #8109
- feat: support more model types and builtin tools on aws/sagemaker by @ybalbert001 in #8061
- Fix: tongyi code wrapper works not stable by @zouchengzhuo in #7871
- add dify-sandbox health check in docker-compose.yaml (#8121) by @hwzhuhao in #8124
- fix: ollama text embedding 500 error by @crazywoola in #8131
- chore: offline n to 1 retrieval by @zxhlyh in #8134
- Modify model parameters in Spark LLMs and zhipuai LLMs by @AAEE86 in #8078
- fix: user-select style and pre-create iframe in embed.js by @cr-zhichen in #8093
- chore: translate i18n files by @github-actions in https://githu...
v0.8.0-beta1
Important
This version is for preview only, do not use in production!
✨ What’s New in v0.8.0-beta1?✨
We are excited to announce the release of Dify 0.8.0-beta1! This version introduces a significant enhancement to workflow performance by enabling the parallel execution of nodes within workflows. This improvement allows workflows to run faster and more efficiently, optimizing the use of resources and reducing overall processing time.
🚀 Key Features
-
Parallel Execution of Nodes in Workflows: Nodes can now be executed in parallel within a workflow, greatly increasing the execution speed. This feature is especially beneficial for complex workflows that involve multiple steps or processes, allowing for quicker completion times and improved performance.
Quick Start
To upgrade to this version, follow these steps:
-
Clone the repository using the following command:
git clone https://github.com/langgenius/dify.git
-
Switch to the 0.8.0-beta1 branch:
git checkout 0.8.0-beta1
-
Then following the Deploy with Docker Compose > Starting Dify.
We hope you enjoy the new features and improvements in this release. As always, we welcome your feedback and contributions to make Dify even better!
v0.7.3
✨ What’s New in v0.7.3? ✨
Hey everyone, we've just dropped version 0.7.3, and it's packed with new features, enhancements, and fixes. Let's dive into what's new:
🚀 New Features
- Message Count: You can now monitor the message usage directly from the monitoring page by @leslie2046 in #7603.
- Azure AI Studio Provider: Added Azure AI Studio as a provider by @helioLJ in #7549.
- Perplexity Search Tool: Introduced a new search tool that utilizes perplexity-based techniques to enhance search capabilities by @leilei-jiang in #7861.
- Stock Price Query Tool: Query stock prices from Alpha Vantage by @hwzhuhao in #7752.
⚙️ Enhancements
- Langfuse View Button: Improved user interface with a new view button by @charli117 in #7684.
- GLM Models Pricing and Max Tokens: Corrected prices and max tokens for GLM models by @orangeclk in #7882.
- App Icon as Answer Icon: Now you can use your app icon as the answer icon by @kurokobo in #7888.
- Array Types in Variable List: Support for array types in the available variable list by @YidaHu in #7715.
- Question Classifier Prompt Optimization: Enhanced prompt accuracy by @JohnJyong in #4262.
- Code Execution Configs: Added support for configurations in code execution requests by @bowenliang123 in #7704.
🛠️ Bug Fixes
- CODE_MAX_STRING_LENGTH Config: Fixed configuration issue by @bowenliang123 in #7683.
- Remove Useless Debug Information: Cleaned up unnecessary debug info by @erigo in #7647.
- MyScale VectorDB Score Threshold: Set
score_threshold
to zero if it isNone
by @lqhl in #7640. - Dataset and Index Node ID Fix: Fixed missing
dataset_id
andindex_node_id
in document segments table by @JohnJyong in #7681. - Empty Knowledge Add File: Fixed issue with adding empty knowledge files by @zxhlyh in #7690.
- Chunk Overlap Fix: Addressed
None
value in chunk overlap by @JohnJyong in #7703. - Tongyi Error Fix: Resolved 'NoneType' object error by @crazywoola in #7705.
- Document Language Return Null: Fixed issue with document segment settings by @JiakunXu in #7719.
- Annotation Reply Settings: Fixed settings issue by @JzoNgKVO in #7696.
- Crawl Options Max Length: Fixed issue where max length could not be set to 0 by @iamjoel in #7758.
- Variable Aggregator Groups: Fixed issue with passing arrays of string/number/object by @Leheng620 in #7757.
- WebApp SSO Setting: Ensured latest value is shown on refresh by @douxc in #7795.
- OpenAI Compatible Interface Model: Fixed error when no object is returned by @Hisir0909 in #7808.
- Installed Apps Filter: Filtered out installed apps without an app by @YidaHu in #7799.
- Tooltip Size: Fixed improper size setting by @YIXIAO0 in #7836.
- Keyword Search in Application Log: Fixed issue in application log list by @realethanhsu in #7816.
- HTTP Timeout Configs: Corrected default values and ignorance by HttpRequestNode by @bowenliang123 in #7762.
- ECharts Crash: Fixed crash when accessing undefined objects by @zhujinle in #7853.
- RetrievalConfig Score Threshold: Fixed assignment for zero value by @MH4GF in #7865.
- Layout Shift on App Card Hover: Fixed layout shift issue by @yikayiyo in #7872.
- Linked Images: Ignored linked images when image ID is
None
by @JohnJyong in #7890.
🌐 Internationalization
That's all for this release! As always, thanks for your contributions and feedback. Keep them coming! 🚀
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix: Remove useless debug information. by @erigo in #7647
- fix: set score_threshold to zero if it is None for MyScale vectordb by @lqhl in #7640
- Add Azure AI Studio as provider by @helioLJ in #7549
- fix dataset_id and index_node_id idx missed in document_segments tabl… by @JohnJyong in #7681
- bug: (#7586 followup) fix config of CODE_MAX_STRING_LENGTH by @bowenliang123 in #7683
- fix: empty knowledge add file by @zxhlyh in #7690
- Langfuse view button by @charli117 in #7684
- feat: rewrite Elasticsearch index and search code to achieve Elasticsearch vector and full-text search by @KennFalcon in #7641
- feat: display account name on the logs page for the apps by @kurokobo in #7668
- feat: chart for message count by @leslie2046 in #7603
- feat: support Moonshot and GLM models tool call for volc ark provider by @sinomoe in #7666
- fixed chunk_overlap is None by @JohnJyong in #7703
- feat: remove unused code by @crazywoola in #7702
- fix: tongyi Error: 'NoneType' object is not subscriptable by @crazywoola in #7705
- Fix: read properties of undefined issue by @hustyichi in #7708
- feat: support configs for code execution request by @bowenliang123 in #7704
- feat(Tools): add feishu document and message plugins by @hgnulb in #6435
- fix: doc_language return null when document segment settings by @JiakunXu in #7719
- feat: store created_by and updated_by for apps, modelconfigs, and sites by @kurokobo in #7613
- Fix annotation reply settings by @JzoNgKVO in #7696
- chore: update default endpoint for ark provider by @sinomoe in #7741
- fix(storage): 🐛 HeadBucket Operation Permission by @moyueheng in #7733
- Update package "libldap-2.5-0" for docker build. by @snickerjp in #7726
- fix: datasets permission is missing by @crazywoola in #7751
- fix: crawl options max length can not set 0 by @iamjoel in #7758
- fix: not able to pass array of string/number/object into variable aggregator groups by @Leheng620 in #7757
- feat(Tools): add a tool to query the stock price from Alpha Vantage (#7019) by @hwzhuhao in #7752
- feat: add support for array types in available variable list by @YidaHu in #7715
- chore: improve http executor configs by @bowenliang123 in #7730
- feat: update saas billing hint. by @GarfieldDai in #7760
- chore: ignore openai error record in sentry by @takatost in #7770
- docs: navigate to open issues in contributing documents by @kanoshiou in #7781
- Update ssrf_proxy related doc link in docker-compose file by @htynkn in #7778
- Sync Input component from feat/attachments branch by @douxc in #7782
- fix: datasets permission is missing by @crazywoola in #7787
- fixed permission is None by @JohnJyong in #7788
- fix: webapp sso setting may not the latest value when refresh by @douxc in #7795
- chore: add app generator overload by @Yeuoly in #7792
- Fixed when testing the openai compatible interface model, an error is reported when no object is returned by @Hisir0909 in #7808
- fix: filter out installed apps without an app by @YidaHu in #7799
- fix: correct typo in environment variable description by @BenjaminX in #7817
- feat: add zhipu glm_4_plus and glm_4v_plus model by @hjlarry in #7824
- enhance: include workspace name in create-tenant command by @erigo in https://github.com/lang...
v0.7.2
✨ What’s New in v0.7.2? ✨
Hey everyone, we’re excited to bring you version 0.7.2 of our platform. This release is packed with new features, enhancements, and bug fixes to make your experience even better. Here’s a quick rundown:
🚀 New Features
- Added support for dialogue count in chatflow by @iamjoel in #7440.
- Added support for JSON Mode for Moonshot models by @oiuv in #7568.
- Added support for Qwen text-embedding-v3 by @droxer in #7567.
- Added support for the siliconflow text2img tool by @hjlarry in #7612.
- Added support for the OneBot protocol tool by @RockChinQ in #7583.
- Support for Wenxin BGE-Large and Tao embedding models by @CheneyYin in #7393.
⚙️ Enhancements
-
UI/UX Improvements:
- Improved tooltip content to support line breaks by @hjlarry in #7424.
- Improved the copywrite of the assigner node append mode description by @iamjoel in #7467.
- Improved the readability of the menu collapse by @JunIce in #4099.
- Updated theme-related CSS variables values by @iamjoel in #7442.
- Added Langfuse view button by @charli117 in #7578.
- Updated the "tag delete" confirm modal by @YIXIAO0 in #7522.
-
Backend Improvements:
- Applied Ruff reformatting across various API components by @bowenliang123 in #7590, #7591, #7594, #7599, and @laipz8200 in #7645.
- Support for CODE_MAX_PRECISION by @ZuzooVn in #7484.
- Increased max steps to 50 in workflows by @takatost in #4252.
- Added finish_reason to the LLM node output by @orangeclk in #7498.
- Added support for pgvector full-text search setting by @JohnJyong in #7427.
- Added support for sorting conversations by updated_at desc by @KinWang130 in #7348.
- Create S3 bucket if it doesn't exist by @moyueheng in #7514.
- Added storage type and Google Storage settings to worker by @KiyotakaMatsushita in #4266.
🛠️ Bug Fixes
- Fixed logs not including the current day by @leslie2046 in #7426.
- Fixed workflow end node deletion by @zxhlyh in #4240.
- Fixed image icon not showing correctly on the left panel in the workflow web app page by @xuzuodong in #7466.
- Fixed JSON schema not being saved correctly by @hjlarry in #7487.
- Fixed the issue of the refine_switches param being invalid in the Novita.AI tool by @XiaoLey in #7485.
- Fixed the tag input state lost issue by @YIXIAO0 in #7500.
- Fixed the wrong usage of created_at on the modal for API Key by @monstaruos in #7548.
- Fixed the workflow context menu popup issue by @YIXIAO0 in #7530.
- Fixed incorrect duplication when no target node is selected by @edo1z in #7539.
- Fixed voice language by @ZuzooVn in #7570.
- Fixed score_threshold is none, return all top K documents by @gongchangwangpi in #7581.
- Fixed the issue of not passing query parameters when the value is empty by @AmosZhu in #7585.
- Fixed the workflow zoom range for shortcuts by @YIXIAO0 in #7563.
- Fixed the tool node error by @luckylhb90 in #7459.
- Fixed document error message not being cleared by @wellCh4n in #7453.
- Fixed the issue of the refine_switches param being invalid in the Novita.AI tool by @XiaoLey in #7485.
- Fixed the tag input state lost issue by @YIXIAO0 in #7500.
- Fixed the wrong usage of created_at on the modal for API Key by @monstaruos in #7548.
- Fixed the workflow context menu popup issue by @YIXIAO0 in #7530.
- Fixed incorrect duplication when no target node is selected by @edo1z in #7539.
- Fixed voice language by @ZuzooVn in #7570.
- Fixed score_threshold is none, return all top K documents by @gongchangwangpi in #7581.
- Fixed the issue of not passing query parameters when the value is empty by @AmosZhu in #7585.
- Fixed the workflow zoom range for shortcuts by @YIXIAO0 in #7563.
- Fixed the tool node error by @luckylhb90 in #7459.
- Fixed document error message not being cleared by @wellCh4n in #7453.
📝 Documentation
- Updated certbot/README.md by @eltociear in #7528.
- Added CONTRIBUTING_VI i18n by @ZuzooVn in #7532.
That’s all for this release! As always, thank you for your contributions and feedback. Keep them coming, and happy coding! 🚀
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Web app support sending message using numpad enter by @xuzuodong in #7414
- feat(api): support wenxin bge-large and tao embedding model. by @CheneyYin in #7393
- chore: correct _tts_invoke_streaming max length by @ZuzooVn in #7423
- chore: #7196 i18n by @ZuzooVn in #7416
- fix: Logs do not include current day by @leslie2046 in #7426
- feat: add pgvector full_text_search by @jasonkang14 in #7396
- feat: support line break of tooltip content by @hjlarry in #7424
- add pgvector full text search settting by @JohnJyong in #7427
- chore(database): Rename table name from
workflow__conversation_variables
toworkflow_conversation_variables
. by @laipz8200 in #7432 - chore: remove .idea and .vscode from root path by @Yeuoly in #7437
- refactor(api/core/workflow/nodes/variable_assigner): Split into multi files. by @laipz8200 in #7434
- chore: add and update theme related css variables values by @iamjoel in #7442
- refactor(api/core/app/app_config/entities.py): Move Type to outside and add EXTERNAL_DATA_TOOL. by @laipz8200 in #7444
- fix(api/services/workflow/workflow_converter.py): Add NoneType checkers & format file. by @laipz8200 in #7446
- refactor(api/core/workflow/enums.py): Rename SystemVariable to SystemVariableKey. by @laipz8200 in #7445
- refactor(api/models/workflow.py): Add
__init__
to Workflow by @laipz8200 in #7443 - feat: Sort conversations by updated_at desc by @KinWang130 in #7348
- feat: support dialogue count in chatflow by @iamjoel in #7440
- fix: document error message can not be cleared by @wellCh4n in #7453
- chore: #7348 i18n by @ZuzooVn in #7451
- fix(tool): tool node error by @luckylhb90 in #7459
- fix: image icon not showing correctly on left panel in workflow web app page by @xuzuodong in #7466
- chore: improve the copywrite of the assigner node append mode description by @iamjoel in #7467
- feat: support pinning, including, and excluding for model providers and tools by @GareArc in #7419
- Separate CODE_MAX_DEPTH and set it as an environment variable by @Hisir0909 in #7474
- fix: json schema not saved correctly by @hjlarry in #7487
- fix the issue of the refine_switches at param being invalid in the Novita.AI tool by @XiaoLey in #7485
- feat: gpt-4o-mini-2024-07-18 support json schema by @hjlarry in #7489
- feat: support CODE_MAX_PRECISION by @ZuzooVn in #7484
- Fix/incorrect code template by @Yeuoly in #7490
- fix rerank mode is none by @JohnJyong in #7496
- Chore/remove python dependencies selector by @Yeuoly in #7494
- add finish_reason to the LLM node output by @orangeclk in #7498
- Feat/7134 use dataset api create a dataset with permission by @crazywoola in #7508
- feat(storage): 🐛 Create S3 bucket if it doesn't exist by @moyueheng in #7514
- fix: tag input state lost issue by @YIXIAO0 in #7500
- feat: update the "tag delete" confirm modal by @YIXIAO0 in #7522
- fix: add missed modifications of
<AppIcon />
by @xuzuodong in #7512 - docs: update certbot/README.md by @eltociear in #7528
- do...
v0.7.1
✨ What’s New in v0.7.1? ✨
Hey everyone, we’re excited to bring you version 0.7.1 of our platform! This release is packed with new features, enhancements, and crucial fixes. Let’s dive in:
🚀 New Features
-
Custom App Icons: Personalize your apps with custom icons by @xuzuodong in #7196.
-
OpenAI Structured Outputs Support: Now supporting OpenAI's Structured Outputs by @hjlarry in #7258.
-
Dify Sandbox v0.2.6: Install any Python package you want by @Yeuoly in #7410.
🧠 Model Updates
🛠️ New Tools
- Jina Tokenizer Tool: Added a new tokenizer tool by @hjlarry in #7375.
- GitLab Tool: Integrated GitLab tool by @wlrnet in #7329.
⚙️ Enhancements
- Xinference Auth System: Enhanced support for Xinference's authentication system by @ethan-fly in #7369.
- Ruff Formatter: Introduced Ruff Formatter for better code formatting by @laipz8200 in #7291.
- Ruff Update: Updated Ruff from 0.5.x to 0.6.x by @bowenliang123 in #7384.
- Rearranged API Python Dependencies by @bowenliang123 in #7391
🛠️ Bug Fixes
- Rerank Mode Fix: Fixed missing rerank_mode when converting to DatasetEntity by @optionals in #7269.
- Tool Test Modal: Fixed issue where parameters couldn’t be input in tool test modal by @wellCh4n in #7281.
- Markdown Conversion: Fixed file to markdown conversion issue by @laipz8200 in #7293.
- Image Resizing: Dify editor now supports image resizing by @crazywoola in #7296.
- Conversation Variables: Added conversation variables in app DSL service by @laipz8200 in #7304.
- Node and Edge Issues: Fixed inability to add node and change the edge by @aixgeek in #7303.
- Default Values: Fixed missing default value of type array object in conversation variable modal by @JzoNgKVO in #7309.
- Elasticsearch Docker Env: Fixed docker environment for Elasticsearch by @QIN2DIM in #7270.
- Run History: Corrected iteration times number in run history by @iamjoel in #7318.
- Keywords Fix: Fixed keywords issue by @crazywoola in #7357.
- Workflow Variables: Added conversation variable to workflow by @laipz8200 in #7257.
🌐 Internationalization
- Japanese Translation: Added JP translation for variable aggregator by @HanqingZ in #7277.
- Fixes in Japanese Translations: Corrected translations of secret values by @yukyu30 in #7279.
- General i18n Updates: Various internationalization updates by @ZuzooVn in #7312.
That’s all for this release! As always, thank you for your contributions and feedback. Keep building and innovating!
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix: missed rerank_mode when convert to DatasetEntity by @optionals in #7269
- fix: typo in upstage/llm/_position.yaml by @GareArc in #7286
- fix ja-JP translation of secret values by @yukyu30 in #7279
- fix: #7222 docstrings by @ZuzooVn in #7276
- Add jp translation for variable aggregator by @HanqingZ in #7277
- fix: can not input param value in tool test modal by @wellCh4n in #7281
- feat(api/workflow): Add
Conversation.dialogue_count
by @laipz8200 in #7275 - feat: add chatgpt-4o-latest by @hjlarry in #7289
- feat: support OPENAI json_schema by @hjlarry in #7258
- chore(api/core): Improve FileVar's type hint and imports. by @laipz8200 in #7290
- chore(api): Introduce Ruff Formatter. by @laipz8200 in #7291
- feat: support pinning, including, and excluding for Model Providers and Tools by @GareArc in #7283
- fix(api/core/app/segments/segments.py): Fix file to markdown. by @laipz8200 in #7293
- Feat/7023 dify editor can resize the image by @crazywoola in #7296
- fix(api/services/app_dsl_service.py): Add conversation variables. by @laipz8200 in #7304
- fix: inability-to-add-node-and-change-the-edge by @aixgeek in #7303
- Fix: missing default value of type array object in conversation variable modal by @JzoNgKVO in #7309
- chore(api/libs): Apply ruff format. by @laipz8200 in #7301
- fix(elasticsearch): docker env by @QIN2DIM in #7270
- chore: #7222 i18n by @ZuzooVn in #7312
- fix: null annotation by @ZuzooVn in #7313
- add some api to DifyClient by @lingfengchencn in #7314
- chore: delete unused resources POSTGRES_MAX_CONNECTIONS by @ZuzooVn in #7315
- Update PerfXCloud Model List by @BingGeX in #7212
- fix error when use farui-plus model by @oiuv in #7316
- fix editor auth by @cuckootan in #7297
- fix: not show correct iteration times number in run history by @iamjoel in #7318
- enh:setfocus after voice input by @leslie2046 in #7317
- Revert "feat: support pinning, including, and excluding for Model Providers and Tools" by @GareArc in #7324
- chore(api/libs/bearer_data_source.py): Remove expired fie. by @laipz8200 in #7300
- feat: show path variable friendly in tool edit by @wellCh4n in #7344
- chore: update docstrings by @ZuzooVn in #7343
- feat: tools/gitlab by @wlrnet in #7329
- add workflowClient ,fix rename bug by @lingfengchencn in #7352
- feat: support siliconflow rerank by @Weaxs in #7337
- fix: keywords by @crazywoola in #7357
- add base url for moonshot model by @oiuv in #7360
- fix(api/services/workflow/workflow_converter.py): Add converrsation variable to workflow. by @laipz8200 in #7257
- chore: add LOG_FILE to docker-compose by @ZuzooVn in #7372
- chore: optimize ark model parameters by @sinomoe in #7378
- feat(api): support wenxin text embedding by @CheneyYin in #7377
- feat: add jina tokenizer tool by @hjlarry in #7375
- feat: custom app icon by @xuzuodong in #7196
- chore: update ruff from 0.5.x to 0.6.x by @bowenliang123 in #7384
- feat:...
v0.7.0
✨ What’s New in v0.7.0? ✨
Hey everyone, we’ve got a fresh update for you! Version 0.7.0 is here, and it’s packed with new features, model support, tools, and enhancements. Let’s dive in:
🚀 New Features
-
Conversation Variable & Variable Assigner Node by @JzoNgKVO, @iamjoel and @laipz8200 in #7222
Learn more:
🧠 Models
- GPT-4o-2024-08-06 Model by @majian159 in #7046
- GLM-4-Long Model by @ox01024 in #7070
- Zhipu Embedding-3 Model by @orangeclk in #7100
- Wenxin Yi-34b-Chat Model by @sulgweb in #7117
- HuggingFace TEI Text Embedding and Rerank Model by @liuyanyi in #7132
- Siliconflow LLM and Text Embedding Models by @alfredcai in #7090
- 360-Zhinao Provider by @sulgweb in #7069
🛠️ Tools
⚙️ Enhancements
- Elasticsearch Vector Database Support by @miendinh in #3558
- Support for drawing with ECharts in output by @zhujinle in #6961
- Workflow Interaction Improvements by @zxhlyh in #4214
- Workflow Logs with Run ID Filter by @majian159 in #6833
- Hyperlink Parsing in DOCX Documents by @ic-xu in #7017
- Vector Field for Other VectorDB by @JohnJyong in #7051
- Poetry Requests Timeout by @ZuzooVn in #7086
- Update Dataset Embedding Model by @JohnJyong in #7145
- Add Decode Option to JSON Process Tools by @laojianzi in #7138
- Support for Non-English Characters in Exported DSL Files by @gijigae in #7042
- Support for NEXT_TELEMETRY_DISABLED by @ZuzooVn in #7181
That’s a wrap for v0.7.0! We hope you enjoy the new features and improvements. As always, your feedback is invaluable to us. Happy coding! 🚀
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Chores: fix name typo by @vicoooo26 in #6987
- feat: add function calling for deepseek models by @Yefori-Go in #6990
- Feat/new confirm by @YIXIAO0 in #6984
- fix: code tool fails when null property exists in object by @greycodee in #6988
- fix: code-block-missing-checks by @crazywoola in #7002
- fix #6902 .docx handles images within tables and handles cross-column tables by @yanghx-git in #6951
- feat: agent app support generate prompt by @iamjoel in #7007
- Fix/reranking mode is null by @JohnJyong in #7012
- fix: tran list issue by @hustyichi in #7009
- fix: Fix incorrect context size for jina-reranker-v2 model by @Nick17t in #7006
- fix: typos in wenxin llm by @crazywoola in #7021
- Provide output data also in json property of workflow tool (#6924) by @akramer-zibra in #7027
- doc: correct typos in mdx files by @crazywoola in #7029
- feat: add disabled support to tooltip-plus component by @douxc in #7036
- chore: lint code to remove unused imports and variables by @DDDDD12138 in #7033
- chore: show non-English characters in exported DSL files by @gijigae in #7042
- feat: add gpt-4o-2024-08-06 by @majian159 in #7046
- Add support for i18n Farsi language (fa-IR) by @sadeghtkd in #7044
- feat: Add hyperlink parsing to the DOCX document. by @ic-xu in #7017
- fix(api/core/app/segments): Allow to contains boolean value in object segment by @laipz8200 in #7047
- add vector field for other vectordb by @JohnJyong in #7051
- chore(api/core/app/segments/segments.py): Remove todo tags. by @laipz8200 in #7052
- refactor(*): Update hard-code '[HIDDEN]' to the constant. by @laipz8200 in #7048
- feat(api/core/rag/datasource/vdb/analyticdb/analyticdb_vector.py): Checking config before init analyticdb by @laipz8200 in #7050
- fix: add redis lock to AnalyticdbVector init by @lpdink in #6859
- fix: hunyuan assistant_prompt_message pydantic error by @ZhouhaoJiang in #7062
- update enterprise inquiry link to point to chatflow by @guchenhe in #7064
- fix(api/core/workflow/nodes/tool/tool_node.py): Keep None value in tool params. by @laipz8200 in #7066
- fix: workflow delete node shortcut by @zxhlyh in #7076
- feat: support glm-4-long by @ox01024 in #7070
- Add price info for zhipu models by @orangeclk in #7084
- feat: Poetry requests timeout by @ZuzooVn in #7086
- Feat/add 360-zhinao provider by @sulgweb in #7069
- add nltk punkt resource by @JohnJyong in #7063
- feat: add a builtin tool to support regex extraction. (#7081) by @hwzhuhao in #7087
- workflow logs support workflow run id filter by @majian159 in #6833
- feat: app icon enhancements by @xuzuodong in #7095
- fix: workflow search blocks by @zxhlyh in #7097
- extract docx filter comment element by @JohnJyong in #7092
- feat: add text-embedding functon and LLM models to Siliconflow by @alfredcai in #7090
- feat: add zhipu embedding-3 by @orangeclk in #7100
- feat: Postgres max connections by @ZuzooVn in #7067
- fix annotation reply is null by @aerok in #7103
- feat: wenxin add yi-34b-chat by @sulgweb in #7117
- update stepfun model by @forrestlinfeng in #7118
- Update i18n/ja-JP/dataset-documents.ts "embeddedSpend" value. by @k-brahma in #7124
- chore: improve Vietnamese (vi-VN) translations by @ZuzooVn in #7127
- Feat/tool-D-ID by @MatriQ in #6278
- Fix: account delete function & confirm issues by @YIXIAO0 in #7129
- fix: workflow log run time error by @ZhouhaoJiang in #7130
- feat: update ops trace by @ZhouhaoJiang in #7102
- Feat/update tools length by @crazywoola in #7141
- update dataset embedding model, update document status to be indexing by @JohnJyong in #7145
- chore: #5487 i18n by @ZuzooVn in #7150
- chore: #6515 i18n by @ZuzooVn in #7149
- feat: add decode option to json process tools by @laojianzi in #7138
- feat(app/log): Add Referenced Content in Application Logs by @Kevin9703 in #7082
- Fix: Wrong cutoff length lead to empty input in openai compatible embedding model. by @liuyanyi in #7133
- Feat: Add model provider Text Embedding Inference for embedding and rerank by @liuyanyi in https://github.com/langgeni...
v0.6.16
✨ What’s New in v0.6.16? ✨
Hey everyone, we’re back with another update, and this one’s packed with some exciting new features, model support, and enhancements. Let’s dive right in!
🚀 Phasing Out N-to-1: Upgrading Multi-path Knowledge Retrieval
Important
We're phasing out the N-to-1
retrieval strategy on September 1, 2024, and introducing a more flexible multi-path retrieval strategy. We recommend switching to this new approach to boost your application's retrieval efficiency.
Learn More: https://dify.ai/blog/dify-ai-blog-n-to-1-knowledge-retrieval-legacy
🧠 Models
Llama3.1 Support
- OpenRouter Provider: Added support for Llama3.1 series models by @sinomoe in #6595.
- GroqCloud: Llama3.1 series models are now supported by @takatost in #6596.
- Bedrock: Llama 3.1 support added by @longzhihun in #6645.
- NVIDIA: Llama3.1 model support by @sulgweb in #6844.
GPT-4o Mini Support
- Azure GPT-4o Mini: Added support for Azure GPT-4o Mini by @charli117 in #6862 and @leslie2046 in #6866.
Other Models
- DeepSeek-Coder-v2: Added in SiliconFlow by @senseb in #6149.
- Novita Model Provider: New model provider added by @jasonhp in #6717.
- Solar Model Provider: Added new provider Solar by @JuHyung-Son in #6884.
- Hunyuan-Embedding: New model support by @maybemaynot in #6657.
- Xinference TTS: Added support for text-to-speech by @Weaxs in #6746.
- Tool-Call for Hunyuan: Added support for tool-call by @maybemaynot in #6656.
🛠️ Tools
- AWS Built-in Tools: Added by @ybalbert001 in #6721.
- Serper for Google Search: New tool added for Google search by @hwzhuhao in #6790.
⚙️ Enhancements
- Python 3.12 Support: Added Python 3.12 support for API Service by @bowenliang123 in #6771.
- Milvus 2.4.x Support: Initial support for Milvus 2.4.x by @bowenliang123 in #6084.
- Docker-Compose Certbot Configurations: Added with backward compatibility by @k-brahma in #6702.
- Celery Auto-Scale: Added support for Celery auto-scaling by @ZuzooVn in #6249.
- User Session ID Search: Enhanced App Logs search capabilities by @ZhouhaoJiang in #6638.
🧹 Cleanups
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- feat: support llama3.1 series models for openrouter provider by @sinomoe in #6595
- feat: add GroqCloud llama3.1 series models support by @takatost in #6596
- fix: downgraded sentry-sdk to 1.44.1 due to claude LLM token returning 0 by @takatost in #6597
- Feat/delete single dataset retrival by @JohnJyong in #6570
- feat: n to 1 retrieval legacy by @zxhlyh in #6554
- Fix: reset button in embedded chatbot by @JzoNgKVO in #6611
- Fix: DSL backup by @JzoNgKVO in #6616
- Fix/6615 40 varchar limit on model name by @crazywoola in #6623
- fix: qwen fc error by @Dofine-dufei in #6620
- feat: added ActionButton component by @YIXIAO0 in #6631
- chore: optimize asynchronous deletion performance of app related data by @takatost in #6634
- chore: optimize asynchronous workflow deletion performance of app related data by @takatost in #6639
- doc: fix about model features by @zhangzhiqiangcs in #6619
- fix: value is not an array by @crazywoola in #6632
- Feat/user session id search by @ZhouhaoJiang in #6638
- remove rerank model must be required when retrieval_model is multiple by @JohnJyong in #6640
- feat(api/core/app/segments/variables.py): Support description in Variable. by @laipz8200 in #6636
- refactor(api/core/workflow/workflow_engine_manager.py): Remove by @laipz8200 in #6630
- Chores: add missing profile for middleware docker compose cmd and fix ssrf-proxy doc link by @vicoooo26 in #6372
- fix(api/core/workflow/nodes/iteration/iteration_node.py): Extend output in iteration if output is a array. by @laipz8200 in #6647
- fix reranking model field error by @JohnJyong in #6654
- Resolve variable type parameter error by @majian159 in #6646
- fix tencent_cos_storage image-preview error is not a byte by @yanghx-git in #6652
- [seanguo] feat: add llama 3.1 support in bedrock by @longzhihun in #6645
- chore: fix type annotations by @hjlarry in #6600
- Add support of tool-call for model provider "hunyuan" by @maybemaynot in #6656
- fix(api/fields/workflow_fields.py): Add check in environment variables by @laipz8200 in #6621
- feat: support max_retries in jina requests by @xielong in #6585
- Enhance database URI security and add URL encoding by @Seayon in #6668
- refactor(api/core/app/segments): implement
to_object
in ObjectVariable and ArrayVariable. by @laipz8200 in #6671 - fix bugs(when using Oracle23ai as Vector DB) by @tmuife in #6658
- fix: code block segmentation problem of markdown document by @greycodee in #6465
- Add french and jp translation for new feature by @HanqingZ in #6675
- modify llama3-1 yaml filename to support Windows pull operations by @Sakura4036 in #6677
- Update bug_report.yml by @crazywoola in #6678
- [seanguo] fix: unsupported filename in windows & add Mistral Large 2 by @longzhihun in #6679
- security/SSRF vulns by @Yeuoly in #6682
- fix: doc link in knowledge base by @crazywoola in #6691
- chore: make prompt generator max tokens configurable by @gijigae in #6693
- Fix appId missing in annotations by @JzoNgKVO in #6699
- fix(log/list): Incorrect field 'app_id' causing annotations to fail t… by @Kevin9703 in #6697
- issues #6655 Open ai tts issues by @ic-xu in #6696
- refactor(api/core/app/segments): Support more kinds of Segments. by @laipz8200 in #6706
- fix(answer/operation): feedback status in the logs by @Kevin9703 in #6716
- Feat/model provider novita by @jasonhp in #6717
- fix: tongyi empty tool_calls is not supported in message by @ZhouhaoJiang in #6719
- feat(api/core/app/segments/parser.py): Remove blank segment in
convert_template
by @laipz8200 in #6709 - add xlsx support hyperlink extract by @JohnJyong in #6722
- fix(api/core/model_runtime/model_providers/azure_openai/llm/llm.py): Try to skip if
delta.delta
is None. by @laipz8200 in #6727 - Feat/6725 can not get image url from cogview tool by @crazywoola in #6728
- refactor(api/core/workflow/nodes/base_node.py): Update extract_variable_selector_to_variable_mapping method signature. by @laipz8200 in #6733
- feat(api/core/app/segments): Update segment types and variables by @laipz8200 in #6734
- chore: migrate to poetry in devcontaine...
v0.6.15
✨ What’s New in v0.6.15? ✨
Hey everyone, we’ve got a fresh update for you! Version 0.6.15 is here, and it’s packed with new features, model support, tools, and enhancements. Let’s dive in:
🚀 New Features
-
Environment Variables in Workflow: Now you can use environment variables directly in your chatflows/workflows, by @laipz8200 and @JzoNgKVO in #6515.
Environment variables can be used to store private information and credentials. They are read-only and can be separated from the DSL file during export.
The
secret
variable type is used to define sensitive information or data, with DSL settings configured for leak prevention. -
New Prompt Generator: We’ve introduced a new prompt generator, by @iamjoel in #6514, #6525, #6564, and @ZhouhaoJiang in #6516.
🧠 Models
- Stepfun LLM Support: Added by @forrestlinfeng in #6346.
- OpenAI GPT-4o-mini Support: Now available, by @takatost in #6442.
- GPT-4o-mini for OpenRouter Provider: Added by @sinomoe in #6447.
- Amazon Sagemaker Model Provider: Integrated by @ybalbert001 in #6255.
- Updated Ernie Models: Thanks to @Weaxs in #6454.
- Tencent Cloud ASR Support: Added by @lancemao in #6091.
🛠️ Tools
- Mingdao HAP Tool: Read and maintain HAP application worksheet data, implemented by @coldstone in #6257.
- Google Translate Tool: Added by @svcvit in #6156.
- Tianditu Tool: Integrated by @listeng in #6320.
- Spider Web Scraper & Crawler Tool: Added by @WilliamEspegren in #5725.
- Getimg.ai Integration: Added by @MatriQ in #6260.
⚙️ Enhancements
- Full Text Search with Oracle23ai as Vector DB: Added by @tmuife in #6559.
- API Key Support for Xinference: Integrated by @themanforfree in #6417.
- Fix for Anthropic Header Issue: Quickly resolved by @richards199999 in #6445.
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
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,Command, 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 API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- chore:update azure GA version 2024-06-01 by @leslie2046 in #6307
- fix: prompt editor new line by @zxhlyh in #6310
- dep: bump Pydantic from 2.7 to 2.8 by @bowenliang123 in #6273
- update clean_unused_datasets_task timedelta by @JohnJyong in #6324
- Docs: Translate by @AllenWriter in #6329
- fix: better qr code panel and webapp url regen confirmation by @chazzhou in #6321
- Add tool: Google Translate by @svcvit in #6156
- feat: bedrock model runtime enhancement by @longzhihun in #6299
- fix wrong using of RetrievalMethod Enum by @JohnJyong in #6345
- Fix tts api err by @charli117 in #6349
- update celery beat scheduler time to env by @JohnJyong in #6352
- chore: fix legacy API usages of Query.get() by Session.get() in SqlAlchemy 2 by @bowenliang123 in #6340
- WebscraperTool bypass cloudflare site by cloudscraper by @Weaxs in #6337
- fix: default model set wrong(#6327) by @FamousMai in #6332
- Add multilingual support for TTS (Text-to-Speech) functionality. by @ic-xu in #6369
- fix: incorrect config key name by @yujunhui in #6371
- fix: workflow sync before export by @zxhlyh in #6380
- refactor(api/core/workflow/nodes/http_request): Remove
mask_authorization_header
because its alwary true. by @laipz8200 in #6379 - Feat/optimize clean dataset logic by @JohnJyong in #6384
- fix: rename model from ernie-4.0-8k-Latest to ernie-4.0-8k-latest by @xielong in #6383
- Add the API documentation for streaming TTS (Text-to-Speech) by @ic-xu in #6382
- Fix issues related to search apps, notification duration, and loading icon on the explore page by @faye1225 in #6374
- update empty document caused delete exist collection by @JohnJyong in #6392
- embed.js add esc exit and fix avoid infinite nesting by @charli117 in #6360
- fix: tool authorization setting panel not validate required fields by @hjlarry in #6387
- fix: default duration by @crazywoola in #6393
- refactor(models&tools): switch to dify_config in models and tools. by @Poorandy in #6394
- fix web import url is too long by @JohnJyong in #6402
- Support new Claude-3.5 Sonnet max token limit by @richards199999 in #6335
- Add Stepfun LLM Support by @forrestlinfeng in #6346
- fix: kill signal is not passed to the main process by @tmokmss in #6159
- fix inconsistent label by @harrywang in #6404
- feat: added custom secure_ascii to the json_process tool by @XiaoLey in #6401
- feat: add a Tianditu tool by @listeng in #6320
- feat: Spider web scraper & crawler tool by @WilliamEspegren in #5725
- fix: improve separation element in prompt log and TTS buttons in the operation by @kuizuo in #6413
- feat: support get workflow task execution status by @hjlarry in #6411
- feat: add frontend unit test framework by @iamjoel in #6426
- feat: add custom tool timeout config to docker-compose.yaml and .env by @forrestsocool in #6419
- refactor(rag): switch to dify_config. by @Poorandy in #6410
- fix tool icon get failed by @Songyawn in #6375
- feat: api_key support for xinference by @themanforfree in #6417
- fix: tools edit modal schema edit issue by @qweasdzxcpkh in #6396
- fix(api/core/tools/provider/builtin/spider/tools/scraper_crawler.yaml): Fix wrong placeholder config in scraper crawler tool. by @laipz8200 in #6432
- Fix the vector retrieval sorting issue by @leoterry-ulrica in #6431
- Enhancement: add model provider - Amazon Sagemaker by @ybalbert001 in #6255
- fix: Unable to display images generated by Dall-E 3 by @Weishan-0 in #6155
- update clean embedding cache logic by @JohnJyong in #6434
- feat: passing the inputs values using
difyChatbotConfig
by @yoyocircle in #6376 - feat: add gpt-4o-mini by @takatost in #6442
- [EMERGENCY] Fix Anthropic header issue by @richards199999 in #6445
- refactor(myscale):Set the default value of the myscale vector db in DifyConfig. by @ox01024 in #6441
- chore: make text generation timeout duration configurable by @gijigae in #6450
- update ernie models by @Weaxs in #6454
- feat: support gpt-4o-mini for openrouter provider by @sinomoe in #6447
- fix wrong method using by @JohnJyong in #6459
- chore: some components upgrage to new ui by @iamjoel in #6468
- Update CONTRIBUTING_JA "installation FAQ" link. by @moqimoqidea in https://github.com/...