v0.10.0
Important
If you have a Basic Chatbot or Text Generator App with the ‘Vision’ feature enabled, it will be necessary to republish the application following this update.
🎉 What's New in v0.10.0? 🎉
Hello to all the innovators out there! We're excited to unveil v0.10.0, a powerhouse update designed to enhance your flexibility and efficiency. Let’s delve into the highlights:
🌟 Enhanced Multi-Modal Support
This central feature boosts your workflows and chatflows with greater flexibility:
-
Advanced File Handling: Nodes like START, LLM, HTTP Request and IF-ELSE now seamlessly manage "File" types, simplifying the processing of various file formats within your workflows.
-
New Functional Nodes:
- Document Extractor: Converts documents into text effortlessly, making data extraction straightforward.
- List Operator: Empowers you with operations to filter, sort, and limit arrays, enhancing data control and manipulation.
-
Efficient Array Handling: Directly use
array[string]
andarray[number]
in LLM prompts for more agile data interactions.
Thanks to the tireless efforts of @zxhlyh in #9526 and @laipz8200 in #8818, this feature marks a significant leap forward.
Read more: Introducing Dify Workflow File Upload: A Demo on AI Podcast
✉️ Registry and Login with Email
Simplifying user access with:
- Email Registration & Login: Offers a secure, straightforward access method for users, optimizing the onboarding process. Shoutout to @douxc in #8119 and @ZhouhaoJiang in #8120.
🚀 Additional Features
- Dataset Recall Testing API: Gain insights into data retrieval efficiency with this new API, brought to you by @gubinjie in #9300.
- Fireworks Model Integration: Access Qwen2.5 72B Instruct models for expanded AI capability, thanks to @yaoice in #9333 and #9340.
🛠️ Enhancements
- Storybook Component Testing: Streamlined UI testing and visualization, expertly structured by @xuzuodong in #9324.
- Timezone Conversion Enhancements: Enhanced precision and usability with support in the Time Tool, thanks to @hwzhuhao in #9393.
🔧 Fixes
- Azure OpenAI Fixes: Resolved key issues with max token calculations for improved performance, managed by @somethingwentwell in #9326.
- Endpoint Functionality Fixes: Strengthened the stability of the db-pool-stat endpoint, addressed by @hwzhuhao in #9478.
v0.10.0 brings a wealth of innovations to simplify and elevate your workflow capabilities. Dive in and explore these enhancements to harness the full potential of AI-driven tasks. Your feedback is pivotal, so keep it coming. Happy building! 🚀
Upgrade Guide
Docker compose deployments
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).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 release branch:
git checkout 0.10.0
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry run flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- feat: added dataset recall testing API by @gubinjie in #9300
- feat: disable chat service API passing
parent_message_id
by @xuzuodong in #8984 - fix: poetry installation in CI jobs by @bowenliang123 in #9336
- feat: Add fireworks custom llm intergration by @yaoice in #9333
- feat: Add qwen2.5 72B Instruct model in Fireworks AI by @yaoice in #9340
- chore: clean-up unnecessary annotation on configs with non-null default value by @bowenliang123 in #9323
- refactor: remove unnecessary 'closing' usage for boto3 client by @y-omr in #9343
- Adapt input type parameter with MiniMax embedding model by @yaoice in #9342
- refactor: Add an enumeration type and use the factory pattern to obtain the corresponding class by @hwzhuhao in #9356
- fix: In the output, the order of 'ta' is sometimes reversed as 'at'. #8015 by @wsbao in #8791
- fix: Azure OpenAI o1 max_completion_token and get_num_token_from_messages error by @somethingwentwell in #9326
- feat: add glm-4-flashx, deprecated chatglm_turbo by @hjlarry in #9357
- fix: (#9336 followup) skip poetry preperation in style workflow when no change in api folder by @bowenliang123 in #9362
- feat: add minimax abab6.5t support by @cuckootan in #9365
- fix: add missing vikingdb param in docker .env.example by @yaoice in #9334
- fix: remove the stream option of zhipu and gemini by @hjlarry in #9319
- feat: Enable baiduvector intergration test by @yaoice in #9369
- fix: use gpt-4o-mini for validating credentials by @crazywoola in #9387
- feat: storybook by @xuzuodong in #9324
- fix: Deprecated gemma2-9b model in Fireworks AI Provider by @yaoice in #9373
- feat: add timezone conversion for time tool by @hwzhuhao in #9393
- Fix/economical knowledge retrieval by @JohnJyong in #9396
- fix: incorrect webapp image displayed by @yuyinws in #9401
- refactor: update the default values of top-k parameter in vdb to be consistent by @hwzhuhao in #9367
- fix: resolve overlap issue with API Extension selector and modal by @DDDDD12138 in #9407
- add clean 7 days datasets by @JohnJyong in #9424
- update dataset clean rule by @JohnJyong in #9426
- fix #9409 by @ybalbert001 in #9433
- Update dify-sandbox version to 0.2.10 by @hexian2001 in #9439
- Fix: rerank switch and validation before run by @YIXIAO0 in #9416
- revert yarnlock by @zxhlyh in #9445
- fix: enable Tencent Cloud Vector integration test by @yaoice in #9441
- Fix/firefox overflow error by @WTW0313 in #9438
- feat: add the workflow tool of comfyUI by @hjlarry in #9447
- fix: remove the undefined variable line by @hwzhuhao in #9446
- fix(workflow): Implement automatic variable addition from opening statement to start node by @Kevin9703 in #9450
- refactor: move the embedding to the rag module and abstract the rerank runner for extension by @hwzhuhao in #9423
- feat:add wenxin rerank by @chzphoenix in #9431
- feat: add yi-lightning llm model for yi by @hwzhuhao in #9458
- fix: add missing vector type to migrate command by @yaoice in #9470
- fix: update mismatch vector type by @yaoice in #9462
- feat: add parameter top-k for the llm model provided by openrouter and siliconflow by @hwzhuhao in #9455
- controller test by @s2oBCN in #9469
- fix fetch apps by @horochx in #9453
- fix: resolve the error with the db-pool-stat endpoint by @hwzhuhao in #9478
- feat: add yi custom llm intergration by @hwzhuhao in #9482
- Added Llama 3.2 Vision Models Speech2Text Models for Groq by @taowang1993 in #9479
- add yuqye(https://www.yuque.com)tools by @lichengwu in #8960
- feat: Add volcengine tos storage test by @yaoice in #9495
- chore: update the description for storage_type by @userzhangqg in #9492
- refine wording in license by @guchenhe in #9505
- fix: resolve the error of docker-compose startup when the storage is baidu-obs by @hwzhuhao in #9502
- Resolve 9508 openai compatible rerank by @ziyu4huang in #9511
- feat: Add custom username and avatar define in discord tool by @yaoice in #9514
- fix: ignore all files except for .gitkeep under docker/nginx/ssl by gitignore by @kurokobo in #9518
- refactor wenxin rerank by @chzphoenix in #9486
- fix: draft run workflow node with image will raise error by @hjlarry in #9406
- New Auth Methods by @douxc in #8119
- chore: translate i18n files by @github-actions in #9523
- Feat/new login by @ZhouhaoJiang in #8120
- Feat/attachments by @zxhlyh in #9526
- feat/enhance the multi-modal support by @laipz8200 in #8818
- fix(dockerfile): update libsqlite3 package version by @laipz8200 in #9530
- Fix: chatbot retrieval setting save issue by @YIXIAO0 in #9536
- fix: RESET_PASSWORD_TOKEN_EXPIRY_HOURS error by @ZhouhaoJiang in #9542
- fix: list filter node url not work by @hjlarry in #9540
- fix: list filter node some operator raise error by @hjlarry in #9539
- fix: input vars not auto rename in list operator by @iamjoel in #9550
- feat(file-upload): add support for optional file source parameter by @laipz8200 in #9554
- fix: TOKEN_EXPIRY_MINUTES by @ZhouhaoJiang in #9557
- fix: when upload file response 3** will raise error by @hjlarry in #9555
- chore: translate i18n files by @github-actions in #9528
- chore: update version to 0.10.0 in packaging and docker configurations by @laipz8200 in #9534
New Contributors
- @wsbao made their first contribution in #8791
- @yuyinws made their first contribution in #9401
- @hexian2001 made their first contribution in #9439
- @chzphoenix made their first contribution in #9431
- @taowang1993 made their first contribution in #9479
- @userzhangqg made their first contribution in #9492
Full Changelog: 0.9.2...0.10.0