✨ 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
- docs: CONTRIBUTING_VI i18n by @ZuzooVn in #7532
- update nltk version to 3.8.1 by @JohnJyong in #7544
- Added Space between Chinese and English within tools' description by @AllenWriter in #7545
- fix: wrong usage of created_at on the modal for API Key by @monstaruos in #7548
- fix: correct response structure in openapi documentation of app by @realethanhsu in #7556
- Add N-to-1 warning translation for JP by @HanqingZ in #7553
- feat: forward zhipu finish_reason by @orangeclk in #7560
- chore: #6554 i18n by @ZuzooVn in #7562
- feat: set workflow zoom range for shortcut by @YIXIAO0 in #7563
- fix: workflow context menu popup issue by @YIXIAO0 in #7530
- fix: incorrect duplication when no target node is selected by @edo1z in #7539
- chore: improve the check time of variable name by @iamjoel in #7569
- chore: improve the check time of variable name in conversation and env var by @iamjoel in #7572
- Fix: voice language by @ZuzooVn in #7570
- add qwen text-embedding-v3 support. by @droxer in #7567
- langfuser add view button by @charli117 in #7571
- Langfuse view button by @charli117 in #7578
- add JSON Mode support for moonshot models by @oiuv in #7568
- fix score_threshold is none, return all top K documents by @gongchangwangpi in #7581
- fix: knowledge setting "knowledge name" input width by @YIXIAO0 in #7584
- Do not pass query parameter when the value is empty by @AmosZhu in #7585
- Update stable_diffusion.py by @flingjie in #7536
- Feat: add OneBot protocol tool by @RockChinQ in #7583
- fix(onebot): use yarl to format url by @RockChinQ in #7589
- chore: cleanup and rearrange unclassified configs into feature config groups by @bowenliang123 in #7586
- chore(api/configs): apply ruff reformat by @bowenliang123 in #7590
- chore(api/tests): apply ruff reformat #7590 by @bowenliang123 in #7591
- feat: Introduce Ark SDK v3 and ensure compatibility with models of SDK v2 by @sinomoe in #7579
- fix: typo in comment by @totsukash in #7606
- Improve MIME type detection for image URLs by @Seayon in #6531
- feat: add siliconflow text2img tool by @hjlarry in #7612
- feat: web sso by @ZhouhaoJiang in #7135
- Web app now supports SSO config by @douxc in #7137
- feat: replace show/hide workflow_steps with switch by @crazywoola in #7627
- feat: tooltip by @YIXIAO0 in #7634
- chore(api/tasks): apply ruff reformatting by @bowenliang123 in #7594
- chore(api/services): apply ruff reformatting by @bowenliang123 in #7599
- fix: use LOG_LEVEL for celery startup by @erigo in #7628
- feat: speed up the Docker build for dify-api for Chinese developers. by @erigo in #7626
- add:save_model_credentials error log by @pinsily in #7630
- fix nltk averaged_perceptron_tagger download and fix score limit is none by @JohnJyong in #7582
- chore(api/controllers): Apply Ruff Formatter. by @laipz8200 in #7645
- fix: support float type for tool parameter's default value by @hjlarry in #7644
- [fix] openai's tool role dose not support name parameter. by @sydnash in #7659
- Proposal to revise Japanese expressions by @snickerjp in #7664
- catch openai rate limit error by @JohnJyong in #7658
- refactor: Add @staticmethod decorator in
api/core
by @totsukash in #7652 - chore: Update version to 0.7.2 by @laipz8200 in #7646
New Contributors
- @jasonkang14 made their first contribution in #7396
- @KinWang130 made their first contribution in #7348
- @Hisir0909 made their first contribution in #7474
- @moyueheng made their first contribution in #7514
- @monstaruos made their first contribution in #7548
- @edo1z made their first contribution in #7539
- @droxer made their first contribution in #7567
- @gongchangwangpi made their first contribution in #7581
- @AmosZhu made their first contribution in #7585
- @flingjie made their first contribution in #7536
- @RockChinQ made their first contribution in #7583
- @totsukash made their first contribution in #7606
- @erigo made their first contribution in #7628
- @pinsily made their first contribution in #7630
- @sydnash made their first contribution in #7659
- @snickerjp made their first contribution in #7664
Full Changelog: 0.7.1...0.7.2