Releases: langgenius/dify
v0.9.1
✨ What’s New in v0.9.1? ✨
We've shipped version 0.9.1 and it’s all about tightening up those loose ends. Let’s dive into what’s been improved:
🚀 Updates & Fixes
-
Dataset Updates Refined: We've streamlined the process for updating original datasets by removing unnecessary parameters. Kudos to @JohnJyong for ironing this out in #8935 and #8939. Less clutter, smoother update experience.
-
Web Page Import via Jina: If you've hit a snag with importing web pages using Jina, the fix is now in place. Thanks to @douxc, those pesky errors should be a thing of the past in #8937.
-
Internal Dataset Request Params: Adjustments have been made to correct request parameters for internal datasets, ensuring your data requests play nice. Thanks, @YIXIAO0, for handling this in #8940.
-
Knowledge Node Retrieval: We’ve eliminated instances of multiple retrieval in the knowledge node to optimize performance and efficiency. A big shout-out to @JohnJyong again for this fix in #8942.
This version is all about refinement and stability, ensuring that the gears behind the scenes are turning smoothly. Until next time, 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 0.9.1 git pull origin 0.9.1
-
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
- original dataset update issue by @JohnJyong in #8935
- fix: Fix the error when importing web pages using jina by @douxc in #8937
- original dataset update remove unuseful parameters by @JohnJyong in #8939
- fix: request params for internal dataset by @YIXIAO0 in #8940
- chore(version): bump to 0.9.1 by @laipz8200 in #8938
- fix multiple retrieval in knowledge node by @JohnJyong in #8942
Full Changelog: 0.9.0...0.9.1
v0.9.0
✨ What’s New in v0.9.0? ✨
Get ready for a feature-packed update! Version 0.9.0 brings major enhancements, new integrations, and crucial fixes. Let’s dive into the details:
🚀 New Features
🔄 Retrieval-Augmented Generation (RAG)
External Knowledge API: Now you can connect to third-party knowledge bases seamlessly (introduced by @JohnJyong in #8913).
- Simply provide the API endpoint, API key, and external knowledge ID to link with the external knowledge base.
- Supports retrieval and recall of external knowledge based on user queries.
- Enables integration of external knowledge bases within Dify applications.
Website Crawling: Now supports Jina Reader as additional alternative for website crawling, converting web page URL to LLM-friendly input format. Read Sync Data from Website for details. (@mapleeit in #8761).
🧠 Models
- Voyage AI: A new model provider added (thanks to @hwzhuhao in #8747).
- Llama3.2: Now available with Fireworks and Groq providers for improved performance and variety (@yaoice in #8809 and @Howe829 in #8831).
- Introduced InternLM 2.5-20b and Qwen 2.5-coder-7b (@hwzhuhao in #8862).
- Jamba: Another new model to expand our capabilities (@longzhihun in #8878).
- New Nomic embedding model provider introduced (@yaoice in #8640).
- Support for o1 series models for OpenRouter (@sinomoe in #8358).
- DeepSeek-v2.5 added as a model provider for SiliconFlow (@hwzhuhao in #8639).
- Stream for Gemini now available (@AAEE86 in #8678).
- Vertex AI Gemini 1.5 002 and experimental models are now supported (@hellof20 in #8767).
🛠️ Other Updates
- Xinference TTS Stream Mode: Now live for a smoother text-to-speech experience (@leslie2046 in #8616).
- Regenerate in
Chat
,Agent
, andChatflow
applications (@xuzuodong in #7661).
⚙️ Enhancements
- Improved SVG output UX for a more seamless design experience (@xuzuodong in #8765).
- Extended Jina Embeddings V3 API parameters (@DresAaron in #8657).
- Deprecated older Mistral models for SiliconFlow to streamline performance (@hwzhuhao in #8828).
- Added Min-connections and Max-connections settings for pgvector (@hwzhuhao in #8841).
- Error Handling Enhancements: Improved iteration filters and error logging for optimal performance (@hwzhuhao in #8461).
- Enhanced operational flexibility with fully configurable WORKFLOW_ environment variables* (@fujita-h in #8644).
- Upgraded ElasticSearch from 8.14.x to 8.15.x to keep our infrastructure up-to-date (@bowenliang123 in #8197).
🛠️ Bug Fixes
- Fixed "Max submit count reached" error during workflow iterations (@takatost in #8595).
- Corrected a linking error in help documents (@hjlarry in #8508).
- iOS TTS Stream: Now fully functional on Safari 17.1+ (@likenamehaojie in #8645).
- Resolved JSONDecodeError in llm_generator.py (@ZuzooVn in #8504).
- Fixed errors when sending messages within chatflow and dialogs (@xuzuodong in #8627 and #8682).
- Corrected Spark's LLM token calculation error for accurate token usage (@cherryhuahua in #8755).
- Resolved embedded chat issues on iOS (@zxhlyh in #8718).
📚 Documentation & Misc
- Enhanced documentation to clarify the importance of Celery Service (@fchange in #8558).
- Updated configurations in docker-compose files and related docs (@saifeiLee and others in #8516 and #8691).
- Added English versions for customizable model scale documentation to broaden accessibility (@hwzhuhao in #8871).
With this release, we’re truly showcasing the power of Dify! We appreciate your continued support—explore the new features and share your feedback with us!
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 0.9.0 git pull origin 0.9.0
-
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): "Max submit count reached" error occurred when executing workflow as tool in iteration by @takatost in #8595
- fix: a helper link error by @hjlarry in #8508
- chore: translate i18n files by @github-actions in #8557
- Enhance Readme Documentation to Clarify the Importance of Celery Service by @fchange in #8558
- docs: Update ssrf_proxy related doc link in docker-compose file by @saifeiLee in #8516
- Update the PerfXCloud provider model list,Update PerfXCloudProvider validate_provider_credentials method. by @BingGeX in #8587
- add MixtralAI Model by @AAEE86 in #8517
- fix: api/core/ops/ops_trace_manager.py by @ZuzooVn in #8501
- add Qwen custom add model interface by @AAEE86 in #8565
- refactor(ops): Optimize the iteration for filter_none_values and use logging.error to record logs when an exception occurs by @hwzhuhao in #8461
- feat: update pyproject.toml by @ZhouhaoJiang in #8368
- feat: regenerate in
Chat
,agent
andChatflow
app by @xuzuodong in #7661 - docs: Add Japanese documentation for tools by @totsukash in #8469
- feat:use xinference tts stream mode by @leslie2046 in #8616
- Add Fireworks AI as new model provider by @yaoice in #8428
- feat(tools/cogview): Updated cogview tool to support cogview-3 and the latest cogview-3-plus by @ox01024 in #8382
- Add model parameter translation by @AAEE86 in #8509
- fix: form input add tabIndex by @LLmoskk in #8478
- feat: support o1 series models for openrouter by @sinomoe in #8358
- chore: add Gemini newest experimental models (close #7121) by @CXwudi in #8621
- chore: enhance configuration descriptions by @ZuzooVn in #8624
- fix: redundant check for available_document_count by @y-omr in #8491
- fix: commands.py by @ZuzooVn in #8483
- fix: llm_generator.py JSONDecodeError by @ZuzooVn in #8504
- fix: send message error when chatting with opening statement by @xuzuodong in #8627
- feat: add qwen2.5 for model provider siliconflow by @hwzhuhao in #8630
- docs: fix predefined_model_scale_out.md redirect error by @hwzhuhao in #8633
- feat: add deepseek-v2.5 for model provider siliconflow by @hwzhuhao in #8639
- Make WORKFLOW_* configurable as environment variables. by @fujita-h in #8644
- chore: Enable Japanese descriptions for Tools by @totsukash in #8646
- feat: extend api params for Jina Embeddings V3 by @DresAaron in #8657
- fix: Assignment exception by @haike-1213 in #8663
- chore: skip PLR6201 linter rule by @bowenliang123 in #8666
- fix: png avatar upload as jpeg by @hjlarry in #8665
- add Qwen model translate by @AAEE86 in #8674
- add zhipuai web search by @AAEE86 in #8668
- add Spark Max-32K by @AAEE86 in #8676
- chore: Optimize I18nObject class for better performance and readability by @ZuzooVn in #8681
- fix: send message error when last sent message not succeeded by @xuzuodong in #8682
- fixbug tts(stream) not work on ios safari(17.1...
v0.8.3
✨ What’s New in v0.8.3? ✨
Hey everyone! We’re thrilled to announce the release of version 0.8.3, and it brings something truly game-changing:
🚀 Major Feature Highlight
- Qwen 2.5 Series Models: The highlight of this release is the integration of the Qwen 2.5 Series models, seamlessly synced with Aliyun Bailian, brought to you by @soulteary in #8538. This major update significantly expands our model offerings, providing enhanced capabilities and greater flexibility for your projects. Whether you're working with AI-driven workflows or model-intensive tasks, the Qwen 2.5 Series offers unmatched performance and versatility.
🛠️ Additional Features & Improvements
In addition to the powerful Qwen models, we’ve also made several other improvements and fixes to optimize your experience:
- New Tools:
- Timeout Configuration: Thanks to @kurokobo in #8395, you now have full control over text generation and workflow timeouts via environment variables, giving you more flexibility in managing process execution times.
⚙️ Enhancements and Fixes
We've also worked on various optimizations and bug fixes to improve overall stability:
- Image Preview Optimization: Enhanced SVG rendering and image previews for a smoother user experience, thanks to @charli117 in #8387.
- Workflow Improvements: Including better result handling and improved multi-retrieval for datasets.
- Bug Fixes: Numerous fixes across authorization, token usage, and vector search methods to ensure smoother operations.
This release is all about delivering cutting-edge capabilities with the Qwen 2.5 Series models and refining the platform with additional tools and fixes. Huge thanks to our incredible contributors for making this version happen! 🚀
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: ark token usage is none by @sinomoe in #8351
- fix: score_threshold handling in vector search methods by @laipz8200 in #8356
- chore: fix unnecessary string concatation in single line by @bowenliang123 in #8311
- fix: o1-series model encounters an error when the generate mode is blocking by @takatost in #8363
- fix: when edit load balancing config not pass the empty filed value hidden by @iamjoel in #8366
- fix: add before send to remove langfuse defaultErrorResponse by @ZhouhaoJiang in #8361
- fix: edit load balancing not pass id by @iamjoel in #8370
- fix(workflow): both parallel and single branch errors occur in if-else by @takatost in #8378
- chore: update firecrawl scrape to V1 api by @hjlarry in #8367
- support hunyuan-turbo by @xiandan-erizo in #8372
- chore: refurish python code by applying Pylint linter rules by @bowenliang123 in #8322
- fix (#8322 followup): resolve the violation of pylint rules by @bowenliang123 in #8391
- chore: improve usage of striping prefix or suffix of string with Ruff 0.6.5 by @bowenliang123 in #8392
- fix: sandbox issue related httpx and requests by @Yeuoly in #8397
- fix: o1-mini 65563 -> 65536 by @crazywoola in #8388
- fix: pyproject.toml typo by @ZuzooVn in #8396
- fix(docker): aliyun oss path env key by @incca in #8394
- Fix: Support Bedrock cross region inference #8190 (Update Model name to distinguish between different region groups) by @ybalbert001 in #8402
- fix: resolve runtime error when self.folder is None by @swingchen01 in #8401
- fix:logs and rm unused codes in CacheEmbedding by @Howe829 in #8409
- fix(workflow): the answer node after the iteration node containing the answer was output prematurely by @takatost in #8419
- fix: when the variable does not exist, an error should be prompted by @HiChen404 in #8413
- Fix: operation postion of answer in logs by @JzoNgKVO in #8411
- feat: allow users to specify timeout for text generations and workflows by environment variable by @kurokobo in #8395
- fix: sys_var startwith 'sys.' not 'sys' #8421 by @yanxiyue in #8422
- chore: update Jina embedding model by @DresAaron in #8376
- Fix: #8190 (Update Model nam… by @ybalbert001 in #8426
- fix: delete the delay for the tooltips inside the add tool panel by @YIXIAO0 in #8436
- chore(workflow): Optimize the iteration when selecting a variable from a branch in the output variable causes iteration index err by @takatost in #8440
- Bugfix/fix feishu plugins by @hgnulb in #8443
- fix: Improve scrolling behavior for Conversation Opener by @ZuzooVn in #8437
- add WorkflowClient.get_result, increase version number by @twisker in #8435
- add svg render & Image preview optimization by @charli117 in #8387
- fix:docker-compose.middleware.yaml start the Weaviate container by default (#8446) by @hwzhuhao in #8447
- multi-retrival use dataset's top-k by @JohnJyong in #8416
- fix: internal error when tool authorization by @takatost in #8449
- [Python SDK] Add KnowledgeBaseClient and the corresponding test cases. by @twisker in #8465
- fix(RunOnce): change to form submission instead of onKeyDown and onClick by @MH4GF in #8460
- chore: workflow BRANCH, PARALLEL i18n by @ZuzooVn in #8452
- feat: add flux dev of siliconflow image-gen tool by @hjlarry in #8450
- feat: Add base URL settings and secure_ascii options to the Brave search tool by @XiaoLey in #8463
- chore: update the .gitignore file to include opensearch,pgvector,and myscale by @hwzhuhao in #8470
- feat: Add ComfyUI tool for Stable Diffusion by @QunBB in #8160
- chore: Deprecate gpt-3.5-turbo-0613 and gpt-3.5-turbo-16k-0613 models by @laipz8200 in #8500
- refactor: rename task_type to task for jina embeddings v3 by @bwanglzu in #8488
- validate user permission before enter app detail page by @douxc in #8527
- feat: add format util unit and add pre-commit unit check by @LLmoskk in #8427
- fix: ci issues(missing duckduckgo-search==6.2.11, ruff lint issue) by @takatost in #8543
- fix: thread_pool submit count in parallel workflow not releasing by @takatost in #8549
- feat: sync Qwen API with Aliyun Bailian by @soulteary in #8538
- add storage error log by @JohnJyong in #8556
- chore: improve delimiter by @iamjoel in #8552
- feat: add hunyuan-vision by @muzea in #8529
- fix: fix qwen series model type by @soulteary in #8580
- Fix: update qwen model and model config by @soulteary in #8584
- ComfyUI too...
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:...