Releases: langgenius/dify
v0.9.1-fix1
✨ What’s New in v0.9.1-fix1? ✨
Hey everyone, we’ve got some fresh updates with the release of version 0.9.1-fix1. Here’s a quick walkthrough of what’s changed:
Important
This version includes a migration that might update a large volume of messages. If you have a significant amount of message data, please review our changes in #9132 before upgrading.
🛠️ Fixes & Improvements
- Resolved an issue with the chat API where the conversation/session history wasn't being loaded properly by @xuzuodong in #8965.
🚀 Models
- Added missing models from the Voyage collection by @CXwudi in #8950.
- Sorted Gemini models for better organization by @CXwudi in #8951.
- Introduced
qwen2.5-72b
andllama3.2
models for OpenRouter by @hwzhuhao in #8956.
This release is all about laying solid groundwork and enhancing the features you already love. Dive in and let us know what you think!
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 0.9.1-fix1 branch
git checkout 0.9.1-fix1 git pull origin 0.9.1-fix1
-
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 0.9.1-fix1 branch:
git checkout 0.9.1-fix1 git pull origin 0.9.1-fix1
-
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: add missing models from Voyage by @CXwudi in #8950
- chore: sort Gemini models by @CXwudi in #8951
- refactor: remove unnecessary comment by @y-omr in #8949
- chore: remove unexecuted scripts to avoid ambiguity by @yaoice in #8946
- feat: add qwen2.5-72b and llama3.2 for openrouter by @hwzhuhao in #8956
- feat: enhance stepfun image generation tool by @hwzhuhao in #8954
- fix: chat API is not bringing the conversation/session history by @xuzuodong in #8965
- fix: corrected typo by @y-omr in #8979
- feat(Tools): add discord incoming webhook for sending messages by @yaoice in #7852
- Update json_in_md_parser.py by @zhao85 in #8983
- feat: Update AWS Bedrock supported regions by @Retr0-01 in #8992
- fix: tools description is missing by @crazywoola in #8999
- fix: failed to open links to images generated by QR code tool when using Huawei OBS by @hwzhuhao in #9034
- fix bug when adding openai or openai-compatible stt model instance by @zhao85 in #9006
- chore: fix the yanked dependency vesion aiohappyeyeballs 2.4.2 by @bowenliang123 in #9020
- refactor: remove the duplicate definitions across different modules by @hwzhuhao in #9022
- feat: add baidu obs storage by @hwzhuhao in #9024
- fix: Missing model information in llm span of Langfuse #9029 by @aiscrm in #9030
- fix:ddg ratelimit 202 by @leslie2046 in #9047
New Contributors
- @zhao85 made their first contribution in #8983
- @Retr0-01 made their first contribution in #8992
- @aiscrm made their first contribution in #9030
Full Changelog: 0.9.1...0.9.2
v0.10.0-beta2
✨ What’s New in v0.10.0-beta2? ✨
Important
This version is for preview only, do not use in production!
Note
We highly value your feedback! Please feel free to share your thoughts and discuss any issues using the GitHub Discussions feature. You can find the entry point for Discussions at the bottom of the release page.
🛠️ Bug Fixes
- Docker Startup Issue: Resolved an issue where Dify 0.10.0-beta1 could not be started using Docker.
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 beta branch:
git checkout 0.10.0-beta2
-
Then follow the Deploy with Docker Compose > Starting Dify.
We hope you find the new file processing capabilities and nodes useful in this release. Your feedback and contributions are always appreciated to help us improve Dify!
v0.10.0-beta1
✨ What’s New in v0.10.0-beta1?✨
Important
This version is for preview only, do not use in production!
Note
We highly value your feedback! Please feel free to share your thoughts and discuss new features using the GitHub Discussions feature. You can find the entry point for Discussions at the bottom of the release page.
We are pleased to offer Dify 0.10.0-beta1 for early access. This release includes support for file processing in Workflows and Chatflow, allowing users to utilize File
and Array<File>
variable types and pass these variables through multiple nodes.
🚀 Key Features
-
File Processing in Workflows: Added support for
File
andArray<File>
variable types, allowing seamless handling and transfer of files across various nodes in a workflow. This capability significantly expands the range of tasks you can automate with Dify. -
Document Extractor Node: Introducing the new Document Extractor node, which serves as a case example for file usage. This node is designed to parse various types of documents into text, facilitating text extraction from different file formats for further processing.
-
List Filter Node: To make it easier for users to work with
Array
variables, the List Filter node has been added. This node allows you to filter, sort, and slice arrays based on specific conditions, offering enhanced control over array-type data within your workflows.
🎨 UI and UX Updates
We have also introduced some UI and UX improvements to make Dify more modern and user-friendly.
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 beta branch:
git checkout 0.10.0-beta1
-
Then follow the Deploy with Docker Compose > Starting Dify.
We hope you find the new file processing capabilities and nodes useful in this release. Your feedback and contributions are always appreciated to help us improve 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!