Releases: langgenius/dify
v0.7.1
✨ What’s New in v0.7.1? ✨
Hey everyone, we’re excited to bring you version 0.7.1 of our platform! This release is packed with new features, enhancements, and crucial fixes. Let’s dive in:
🚀 New Features
-
Custom App Icons: Personalize your apps with custom icons by @xuzuodong in #7196.
-
OpenAI Structured Outputs Support: Now supporting OpenAI's Structured Outputs by @hjlarry in #7258.
-
Dify Sandbox v0.2.6: Install any Python package you want by @Yeuoly in #7410.
🧠 Model Updates
🛠️ New Tools
- Jina Tokenizer Tool: Added a new tokenizer tool by @hjlarry in #7375.
- GitLab Tool: Integrated GitLab tool by @wlrnet in #7329.
⚙️ Enhancements
- Xinference Auth System: Enhanced support for Xinference's authentication system by @ethan-fly in #7369.
- Ruff Formatter: Introduced Ruff Formatter for better code formatting by @laipz8200 in #7291.
- Ruff Update: Updated Ruff from 0.5.x to 0.6.x by @bowenliang123 in #7384.
- Rearranged API Python Dependencies by @bowenliang123 in #7391
🛠️ Bug Fixes
- Rerank Mode Fix: Fixed missing rerank_mode when converting to DatasetEntity by @optionals in #7269.
- Tool Test Modal: Fixed issue where parameters couldn’t be input in tool test modal by @wellCh4n in #7281.
- Markdown Conversion: Fixed file to markdown conversion issue by @laipz8200 in #7293.
- Image Resizing: Dify editor now supports image resizing by @crazywoola in #7296.
- Conversation Variables: Added conversation variables in app DSL service by @laipz8200 in #7304.
- Node and Edge Issues: Fixed inability to add node and change the edge by @aixgeek in #7303.
- Default Values: Fixed missing default value of type array object in conversation variable modal by @JzoNgKVO in #7309.
- Elasticsearch Docker Env: Fixed docker environment for Elasticsearch by @QIN2DIM in #7270.
- Run History: Corrected iteration times number in run history by @iamjoel in #7318.
- Keywords Fix: Fixed keywords issue by @crazywoola in #7357.
- Workflow Variables: Added conversation variable to workflow by @laipz8200 in #7257.
🌐 Internationalization
- Japanese Translation: Added JP translation for variable aggregator by @HanqingZ in #7277.
- Fixes in Japanese Translations: Corrected translations of secret values by @yukyu30 in #7279.
- General i18n Updates: Various internationalization updates by @ZuzooVn in #7312.
That’s all for this release! As always, thank you for your contributions and feedback. Keep building and innovating!
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- fix: missed rerank_mode when convert to DatasetEntity by @optionals in #7269
- fix: typo in upstage/llm/_position.yaml by @GareArc in #7286
- fix ja-JP translation of secret values by @yukyu30 in #7279
- fix: #7222 docstrings by @ZuzooVn in #7276
- Add jp translation for variable aggregator by @HanqingZ in #7277
- fix: can not input param value in tool test modal by @wellCh4n in #7281
- feat(api/workflow): Add
Conversation.dialogue_count
by @laipz8200 in #7275 - feat: add chatgpt-4o-latest by @hjlarry in #7289
- feat: support OPENAI json_schema by @hjlarry in #7258
- chore(api/core): Improve FileVar's type hint and imports. by @laipz8200 in #7290
- chore(api): Introduce Ruff Formatter. by @laipz8200 in #7291
- feat: support pinning, including, and excluding for Model Providers and Tools by @GareArc in #7283
- fix(api/core/app/segments/segments.py): Fix file to markdown. by @laipz8200 in #7293
- Feat/7023 dify editor can resize the image by @crazywoola in #7296
- fix(api/services/app_dsl_service.py): Add conversation variables. by @laipz8200 in #7304
- fix: inability-to-add-node-and-change-the-edge by @aixgeek in #7303
- Fix: missing default value of type array object in conversation variable modal by @JzoNgKVO in #7309
- chore(api/libs): Apply ruff format. by @laipz8200 in #7301
- fix(elasticsearch): docker env by @QIN2DIM in #7270
- chore: #7222 i18n by @ZuzooVn in #7312
- fix: null annotation by @ZuzooVn in #7313
- add some api to DifyClient by @lingfengchencn in #7314
- chore: delete unused resources POSTGRES_MAX_CONNECTIONS by @ZuzooVn in #7315
- Update PerfXCloud Model List by @BingGeX in #7212
- fix error when use farui-plus model by @oiuv in #7316
- fix editor auth by @cuckootan in #7297
- fix: not show correct iteration times number in run history by @iamjoel in #7318
- enh:setfocus after voice input by @leslie2046 in #7317
- Revert "feat: support pinning, including, and excluding for Model Providers and Tools" by @GareArc in #7324
- chore(api/libs/bearer_data_source.py): Remove expired fie. by @laipz8200 in #7300
- feat: show path variable friendly in tool edit by @wellCh4n in #7344
- chore: update docstrings by @ZuzooVn in #7343
- feat: tools/gitlab by @wlrnet in #7329
- add workflowClient ,fix rename bug by @lingfengchencn in #7352
- feat: support siliconflow rerank by @Weaxs in #7337
- fix: keywords by @crazywoola in #7357
- add base url for moonshot model by @oiuv in #7360
- fix(api/services/workflow/workflow_converter.py): Add converrsation variable to workflow. by @laipz8200 in #7257
- chore: add LOG_FILE to docker-compose by @ZuzooVn in #7372
- chore: optimize ark model parameters by @sinomoe in #7378
- feat(api): support wenxin text embedding by @CheneyYin in #7377
- feat: add jina tokenizer tool by @hjlarry in #7375
- feat: custom app icon by @xuzuodong in #7196
- chore: update ruff from 0.5.x to 0.6.x by @bowenliang123 in #7384
- feat:...
v0.7.0
✨ What’s New in v0.7.0? ✨
Hey everyone, we’ve got a fresh update for you! Version 0.7.0 is here, and it’s packed with new features, model support, tools, and enhancements. Let’s dive in:
🚀 New Features
-
Conversation Variable & Variable Assigner Node by @JzoNgKVO, @iamjoel and @laipz8200 in #7222
Learn more:
🧠 Models
- GPT-4o-2024-08-06 Model by @majian159 in #7046
- GLM-4-Long Model by @ox01024 in #7070
- Zhipu Embedding-3 Model by @orangeclk in #7100
- Wenxin Yi-34b-Chat Model by @sulgweb in #7117
- HuggingFace TEI Text Embedding and Rerank Model by @liuyanyi in #7132
- Siliconflow LLM and Text Embedding Models by @alfredcai in #7090
- 360-Zhinao Provider by @sulgweb in #7069
🛠️ Tools
⚙️ Enhancements
- Elasticsearch Vector Database Support by @miendinh in #3558
- Support for drawing with ECharts in output by @zhujinle in #6961
- Workflow Interaction Improvements by @zxhlyh in #4214
- Workflow Logs with Run ID Filter by @majian159 in #6833
- Hyperlink Parsing in DOCX Documents by @ic-xu in #7017
- Vector Field for Other VectorDB by @JohnJyong in #7051
- Poetry Requests Timeout by @ZuzooVn in #7086
- Update Dataset Embedding Model by @JohnJyong in #7145
- Add Decode Option to JSON Process Tools by @laojianzi in #7138
- Support for Non-English Characters in Exported DSL Files by @gijigae in #7042
- Support for NEXT_TELEMETRY_DISABLED by @ZuzooVn in #7181
That’s a wrap for v0.7.0! We hope you enjoy the new features and improvements. As always, your feedback is invaluable to us. Happy coding! 🚀
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Chores: fix name typo by @vicoooo26 in #6987
- feat: add function calling for deepseek models by @Yefori-Go in #6990
- Feat/new confirm by @YIXIAO0 in #6984
- fix: code tool fails when null property exists in object by @greycodee in #6988
- fix: code-block-missing-checks by @crazywoola in #7002
- fix #6902 .docx handles images within tables and handles cross-column tables by @yanghx-git in #6951
- feat: agent app support generate prompt by @iamjoel in #7007
- Fix/reranking mode is null by @JohnJyong in #7012
- fix: tran list issue by @hustyichi in #7009
- fix: Fix incorrect context size for jina-reranker-v2 model by @Nick17t in #7006
- fix: typos in wenxin llm by @crazywoola in #7021
- Provide output data also in json property of workflow tool (#6924) by @akramer-zibra in #7027
- doc: correct typos in mdx files by @crazywoola in #7029
- feat: add disabled support to tooltip-plus component by @douxc in #7036
- chore: lint code to remove unused imports and variables by @DDDDD12138 in #7033
- chore: show non-English characters in exported DSL files by @gijigae in #7042
- feat: add gpt-4o-2024-08-06 by @majian159 in #7046
- Add support for i18n Farsi language (fa-IR) by @sadeghtkd in #7044
- feat: Add hyperlink parsing to the DOCX document. by @ic-xu in #7017
- fix(api/core/app/segments): Allow to contains boolean value in object segment by @laipz8200 in #7047
- add vector field for other vectordb by @JohnJyong in #7051
- chore(api/core/app/segments/segments.py): Remove todo tags. by @laipz8200 in #7052
- refactor(*): Update hard-code '[HIDDEN]' to the constant. by @laipz8200 in #7048
- feat(api/core/rag/datasource/vdb/analyticdb/analyticdb_vector.py): Checking config before init analyticdb by @laipz8200 in #7050
- fix: add redis lock to AnalyticdbVector init by @lpdink in #6859
- fix: hunyuan assistant_prompt_message pydantic error by @ZhouhaoJiang in #7062
- update enterprise inquiry link to point to chatflow by @guchenhe in #7064
- fix(api/core/workflow/nodes/tool/tool_node.py): Keep None value in tool params. by @laipz8200 in #7066
- fix: workflow delete node shortcut by @zxhlyh in #7076
- feat: support glm-4-long by @ox01024 in #7070
- Add price info for zhipu models by @orangeclk in #7084
- feat: Poetry requests timeout by @ZuzooVn in #7086
- Feat/add 360-zhinao provider by @sulgweb in #7069
- add nltk punkt resource by @JohnJyong in #7063
- feat: add a builtin tool to support regex extraction. (#7081) by @hwzhuhao in #7087
- workflow logs support workflow run id filter by @majian159 in #6833
- feat: app icon enhancements by @xuzuodong in #7095
- fix: workflow search blocks by @zxhlyh in #7097
- extract docx filter comment element by @JohnJyong in #7092
- feat: add text-embedding functon and LLM models to Siliconflow by @alfredcai in #7090
- feat: add zhipu embedding-3 by @orangeclk in #7100
- feat: Postgres max connections by @ZuzooVn in #7067
- fix annotation reply is null by @aerok in #7103
- feat: wenxin add yi-34b-chat by @sulgweb in #7117
- update stepfun model by @forrestlinfeng in #7118
- Update i18n/ja-JP/dataset-documents.ts "embeddedSpend" value. by @k-brahma in #7124
- chore: improve Vietnamese (vi-VN) translations by @ZuzooVn in #7127
- Feat/tool-D-ID by @MatriQ in #6278
- Fix: account delete function & confirm issues by @YIXIAO0 in #7129
- fix: workflow log run time error by @ZhouhaoJiang in #7130
- feat: update ops trace by @ZhouhaoJiang in #7102
- Feat/update tools length by @crazywoola in #7141
- update dataset embedding model, update document status to be indexing by @JohnJyong in #7145
- chore: #5487 i18n by @ZuzooVn in #7150
- chore: #6515 i18n by @ZuzooVn in #7149
- feat: add decode option to json process tools by @laojianzi in #7138
- feat(app/log): Add Referenced Content in Application Logs by @Kevin9703 in #7082
- Fix: Wrong cutoff length lead to empty input in openai compatible embedding model. by @liuyanyi in #7133
- Feat: Add model provider Text Embedding Inference for embedding and rerank by @liuyanyi in https://github.com/langgeni...
v0.6.16
✨ What’s New in v0.6.16? ✨
Hey everyone, we’re back with another update, and this one’s packed with some exciting new features, model support, and enhancements. Let’s dive right in!
🚀 Phasing Out N-to-1: Upgrading Multi-path Knowledge Retrieval
Important
We're phasing out the N-to-1
retrieval strategy on September 1, 2024, and introducing a more flexible multi-path retrieval strategy. We recommend switching to this new approach to boost your application's retrieval efficiency.
Learn More: https://dify.ai/blog/dify-ai-blog-n-to-1-knowledge-retrieval-legacy
🧠 Models
Llama3.1 Support
- OpenRouter Provider: Added support for Llama3.1 series models by @sinomoe in #6595.
- GroqCloud: Llama3.1 series models are now supported by @takatost in #6596.
- Bedrock: Llama 3.1 support added by @longzhihun in #6645.
- NVIDIA: Llama3.1 model support by @sulgweb in #6844.
GPT-4o Mini Support
- Azure GPT-4o Mini: Added support for Azure GPT-4o Mini by @charli117 in #6862 and @leslie2046 in #6866.
Other Models
- DeepSeek-Coder-v2: Added in SiliconFlow by @senseb in #6149.
- Novita Model Provider: New model provider added by @jasonhp in #6717.
- Solar Model Provider: Added new provider Solar by @JuHyung-Son in #6884.
- Hunyuan-Embedding: New model support by @maybemaynot in #6657.
- Xinference TTS: Added support for text-to-speech by @Weaxs in #6746.
- Tool-Call for Hunyuan: Added support for tool-call by @maybemaynot in #6656.
🛠️ Tools
- AWS Built-in Tools: Added by @ybalbert001 in #6721.
- Serper for Google Search: New tool added for Google search by @hwzhuhao in #6790.
⚙️ Enhancements
- Python 3.12 Support: Added Python 3.12 support for API Service by @bowenliang123 in #6771.
- Milvus 2.4.x Support: Initial support for Milvus 2.4.x by @bowenliang123 in #6084.
- Docker-Compose Certbot Configurations: Added with backward compatibility by @k-brahma in #6702.
- Celery Auto-Scale: Added support for Celery auto-scaling by @ZuzooVn in #6249.
- User Session ID Search: Enhanced App Logs search capabilities by @ZhouhaoJiang in #6638.
🧹 Cleanups
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- feat: support llama3.1 series models for openrouter provider by @sinomoe in #6595
- feat: add GroqCloud llama3.1 series models support by @takatost in #6596
- fix: downgraded sentry-sdk to 1.44.1 due to claude LLM token returning 0 by @takatost in #6597
- Feat/delete single dataset retrival by @JohnJyong in #6570
- feat: n to 1 retrieval legacy by @zxhlyh in #6554
- Fix: reset button in embedded chatbot by @JzoNgKVO in #6611
- Fix: DSL backup by @JzoNgKVO in #6616
- Fix/6615 40 varchar limit on model name by @crazywoola in #6623
- fix: qwen fc error by @Dofine-dufei in #6620
- feat: added ActionButton component by @YIXIAO0 in #6631
- chore: optimize asynchronous deletion performance of app related data by @takatost in #6634
- chore: optimize asynchronous workflow deletion performance of app related data by @takatost in #6639
- doc: fix about model features by @zhangzhiqiangcs in #6619
- fix: value is not an array by @crazywoola in #6632
- Feat/user session id search by @ZhouhaoJiang in #6638
- remove rerank model must be required when retrieval_model is multiple by @JohnJyong in #6640
- feat(api/core/app/segments/variables.py): Support description in Variable. by @laipz8200 in #6636
- refactor(api/core/workflow/workflow_engine_manager.py): Remove by @laipz8200 in #6630
- Chores: add missing profile for middleware docker compose cmd and fix ssrf-proxy doc link by @vicoooo26 in #6372
- fix(api/core/workflow/nodes/iteration/iteration_node.py): Extend output in iteration if output is a array. by @laipz8200 in #6647
- fix reranking model field error by @JohnJyong in #6654
- Resolve variable type parameter error by @majian159 in #6646
- fix tencent_cos_storage image-preview error is not a byte by @yanghx-git in #6652
- [seanguo] feat: add llama 3.1 support in bedrock by @longzhihun in #6645
- chore: fix type annotations by @hjlarry in #6600
- Add support of tool-call for model provider "hunyuan" by @maybemaynot in #6656
- fix(api/fields/workflow_fields.py): Add check in environment variables by @laipz8200 in #6621
- feat: support max_retries in jina requests by @xielong in #6585
- Enhance database URI security and add URL encoding by @Seayon in #6668
- refactor(api/core/app/segments): implement
to_object
in ObjectVariable and ArrayVariable. by @laipz8200 in #6671 - fix bugs(when using Oracle23ai as Vector DB) by @tmuife in #6658
- fix: code block segmentation problem of markdown document by @greycodee in #6465
- Add french and jp translation for new feature by @HanqingZ in #6675
- modify llama3-1 yaml filename to support Windows pull operations by @Sakura4036 in #6677
- Update bug_report.yml by @crazywoola in #6678
- [seanguo] fix: unsupported filename in windows & add Mistral Large 2 by @longzhihun in #6679
- security/SSRF vulns by @Yeuoly in #6682
- fix: doc link in knowledge base by @crazywoola in #6691
- chore: make prompt generator max tokens configurable by @gijigae in #6693
- Fix appId missing in annotations by @JzoNgKVO in #6699
- fix(log/list): Incorrect field 'app_id' causing annotations to fail t… by @Kevin9703 in #6697
- issues #6655 Open ai tts issues by @ic-xu in #6696
- refactor(api/core/app/segments): Support more kinds of Segments. by @laipz8200 in #6706
- fix(answer/operation): feedback status in the logs by @Kevin9703 in #6716
- Feat/model provider novita by @jasonhp in #6717
- fix: tongyi empty tool_calls is not supported in message by @ZhouhaoJiang in #6719
- feat(api/core/app/segments/parser.py): Remove blank segment in
convert_template
by @laipz8200 in #6709 - add xlsx support hyperlink extract by @JohnJyong in #6722
- fix(api/core/model_runtime/model_providers/azure_openai/llm/llm.py): Try to skip if
delta.delta
is None. by @laipz8200 in #6727 - Feat/6725 can not get image url from cogview tool by @crazywoola in #6728
- refactor(api/core/workflow/nodes/base_node.py): Update extract_variable_selector_to_variable_mapping method signature. by @laipz8200 in #6733
- feat(api/core/app/segments): Update segment types and variables by @laipz8200 in #6734
- chore: migrate to poetry in devcontaine...
v0.6.15
✨ What’s New in v0.6.15? ✨
Hey everyone, we’ve got a fresh update for you! Version 0.6.15 is here, and it’s packed with new features, model support, tools, and enhancements. Let’s dive in:
🚀 New Features
-
Environment Variables in Workflow: Now you can use environment variables directly in your chatflows/workflows, by @laipz8200 and @JzoNgKVO in #6515.
Environment variables can be used to store private information and credentials. They are read-only and can be separated from the DSL file during export.
The
secret
variable type is used to define sensitive information or data, with DSL settings configured for leak prevention. -
New Prompt Generator: We’ve introduced a new prompt generator, by @iamjoel in #6514, #6525, #6564, and @ZhouhaoJiang in #6516.
🧠 Models
- Stepfun LLM Support: Added by @forrestlinfeng in #6346.
- OpenAI GPT-4o-mini Support: Now available, by @takatost in #6442.
- GPT-4o-mini for OpenRouter Provider: Added by @sinomoe in #6447.
- Amazon Sagemaker Model Provider: Integrated by @ybalbert001 in #6255.
- Updated Ernie Models: Thanks to @Weaxs in #6454.
- Tencent Cloud ASR Support: Added by @lancemao in #6091.
🛠️ Tools
- Mingdao HAP Tool: Read and maintain HAP application worksheet data, implemented by @coldstone in #6257.
- Google Translate Tool: Added by @svcvit in #6156.
- Tianditu Tool: Integrated by @listeng in #6320.
- Spider Web Scraper & Crawler Tool: Added by @WilliamEspegren in #5725.
- Getimg.ai Integration: Added by @MatriQ in #6260.
⚙️ Enhancements
- Full Text Search with Oracle23ai as Vector DB: Added by @tmuife in #6559.
- API Key Support for Xinference: Integrated by @themanforfree in #6417.
- Fix for Anthropic Header Issue: Quickly resolved by @richards199999 in #6445.
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- chore:update azure GA version 2024-06-01 by @leslie2046 in #6307
- fix: prompt editor new line by @zxhlyh in #6310
- dep: bump Pydantic from 2.7 to 2.8 by @bowenliang123 in #6273
- update clean_unused_datasets_task timedelta by @JohnJyong in #6324
- Docs: Translate by @AllenWriter in #6329
- fix: better qr code panel and webapp url regen confirmation by @chazzhou in #6321
- Add tool: Google Translate by @svcvit in #6156
- feat: bedrock model runtime enhancement by @longzhihun in #6299
- fix wrong using of RetrievalMethod Enum by @JohnJyong in #6345
- Fix tts api err by @charli117 in #6349
- update celery beat scheduler time to env by @JohnJyong in #6352
- chore: fix legacy API usages of Query.get() by Session.get() in SqlAlchemy 2 by @bowenliang123 in #6340
- WebscraperTool bypass cloudflare site by cloudscraper by @Weaxs in #6337
- fix: default model set wrong(#6327) by @FamousMai in #6332
- Add multilingual support for TTS (Text-to-Speech) functionality. by @ic-xu in #6369
- fix: incorrect config key name by @yujunhui in #6371
- fix: workflow sync before export by @zxhlyh in #6380
- refactor(api/core/workflow/nodes/http_request): Remove
mask_authorization_header
because its alwary true. by @laipz8200 in #6379 - Feat/optimize clean dataset logic by @JohnJyong in #6384
- fix: rename model from ernie-4.0-8k-Latest to ernie-4.0-8k-latest by @xielong in #6383
- Add the API documentation for streaming TTS (Text-to-Speech) by @ic-xu in #6382
- Fix issues related to search apps, notification duration, and loading icon on the explore page by @faye1225 in #6374
- update empty document caused delete exist collection by @JohnJyong in #6392
- embed.js add esc exit and fix avoid infinite nesting by @charli117 in #6360
- fix: tool authorization setting panel not validate required fields by @hjlarry in #6387
- fix: default duration by @crazywoola in #6393
- refactor(models&tools): switch to dify_config in models and tools. by @Poorandy in #6394
- fix web import url is too long by @JohnJyong in #6402
- Support new Claude-3.5 Sonnet max token limit by @richards199999 in #6335
- Add Stepfun LLM Support by @forrestlinfeng in #6346
- fix: kill signal is not passed to the main process by @tmokmss in #6159
- fix inconsistent label by @harrywang in #6404
- feat: added custom secure_ascii to the json_process tool by @XiaoLey in #6401
- feat: add a Tianditu tool by @listeng in #6320
- feat: Spider web scraper & crawler tool by @WilliamEspegren in #5725
- fix: improve separation element in prompt log and TTS buttons in the operation by @kuizuo in #6413
- feat: support get workflow task execution status by @hjlarry in #6411
- feat: add frontend unit test framework by @iamjoel in #6426
- feat: add custom tool timeout config to docker-compose.yaml and .env by @forrestsocool in #6419
- refactor(rag): switch to dify_config. by @Poorandy in #6410
- fix tool icon get failed by @Songyawn in #6375
- feat: api_key support for xinference by @themanforfree in #6417
- fix: tools edit modal schema edit issue by @qweasdzxcpkh in #6396
- fix(api/core/tools/provider/builtin/spider/tools/scraper_crawler.yaml): Fix wrong placeholder config in scraper crawler tool. by @laipz8200 in #6432
- Fix the vector retrieval sorting issue by @leoterry-ulrica in #6431
- Enhancement: add model provider - Amazon Sagemaker by @ybalbert001 in #6255
- fix: Unable to display images generated by Dall-E 3 by @Weishan-0 in #6155
- update clean embedding cache logic by @JohnJyong in #6434
- feat: passing the inputs values using
difyChatbotConfig
by @yoyocircle in #6376 - feat: add gpt-4o-mini by @takatost in #6442
- [EMERGENCY] Fix Anthropic header issue by @richards199999 in #6445
- refactor(myscale):Set the default value of the myscale vector db in DifyConfig. by @ox01024 in #6441
- chore: make text generation timeout duration configurable by @gijigae in #6450
- update ernie models by @Weaxs in #6454
- feat: support gpt-4o-mini for openrouter provider by @sinomoe in #6447
- fix wrong method using by @JohnJyong in #6459
- chore: some components upgrage to new ui by @iamjoel in #6468
- Update CONTRIBUTING_JA "installation FAQ" link. by @moqimoqidea in https://github.com/...
v0.6.14
✨ What’s New in v0.6.14? ✨
Hey everyone, we’ve got some exciting updates in version 0.6.14. Here’s a quick look at what’s new and improved:
🚀 New Features
-
TTS Streaming Config: Text-to-Speech support automatic voice playback and streaming by @ic-xu in #5492.
-
Workflow Enhancements:
-
Added
elif
support to theif-else
workflow node, and expanded condition values from only supporting static values to accepting variables by @zxhlyh in #6072 and @ZhouhaoJiang in #6094.
-
-
New Integrations:
- Added support for PerfXCloud and Qwen series by @soulteary in #6117.
- Introduced
ernie-4.0-turbo-8k-preview
by @Littlesheepxy in #6132. - Added Zhipu CogView 3 tool by @ox01024 in #6210.
- Added support for MyScale vector database by @jewelzqiu in #6092.
- Added support for AnalyticDB vector store by @lpdink in #5586.
-
Support for importing DSL from a URL by @takatost in #6287 and @zxhlyh in #6286.
-
Implemented rate limiting for apps to manage the number of concurrent calls to the App Service API by setting the environment variable APP_MAX_ACTIVE_REQUESTS by @liuzhenghua in #5844.
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Feat: add index bar to select tool panel of workflow by @hjlarry in #6066
- feat:add tts-streaming config and future by @ic-xu in #5492
- feat: support AnalyticDB vector store by @lpdink in #5586
- feat: tailwind related improvement by @iamjoel in #6085
- fix: node-title-is-overflow-in-checklist by @aixgeek in #5870
- Chore: new tailwind vars by @iamjoel in #6100
- fix dataset operator by @ZhouhaoJiang in #6064
- chore: remove unresolved reference by @sinomoe in #6110
- chore(deps): bump braces from 3.0.2 to 3.0.3 in /web by @dependabot in #6098
- chore: use poetry for linter tools installation and bump Ruff from 0.4 to 0.5 by @bowenliang123 in #6081
- feat(embed): enhance config and add custom styling support by @Tian-Hun in #5781
- chore: update the tool's doc by @hjlarry in #6122
- feat: add until className defines by @iamjoel in #6141
- feat: workflow if-else support elif by @zxhlyh in #6072
- feat: add if elif by @ZhouhaoJiang in #6094
- feat: add PerfXCloud, Qwen series #6116 by @soulteary in #6117
- Revert "chore: update the tool's doc" by @crazywoola in #6153
- feat: app rate limit by @liuzhenghua in #5844
- chore: update i18n for #5943 by @ZuzooVn in #6162
- chore: update i18n for #6069 by @ZuzooVn in #6163
- chore: update the tool's doc by @hjlarry in #6167
- fix: can add a custom tool without a name by @hjlarry in #6172
- fix: data not updated by @crazywoola in #6161
- feat: support MyScale vector database by @jewelzqiu in #6092
- Fix/file stream azure blob by @JohnJyong in #6196
- Fix if_else node compatibility with historical workflows. by @wangiii in #6186
- fix: Correct environment variable name by @liuzhenghua in #6184
- Create ernie-4.0-turbo-8k-preview by @Littlesheepxy in #6132
- fix document error for "/workflows/:task_id/stop" by @Linij in #6209
- Fix: When editing an Agent, selecting custom tools does not allow filtering by labels. by @Dofine-dufei in #6197
- upgrade deepseek params by @crazywoola in #6215
- chore: remove underscore in util class name and css variable by @iamjoel in #6221
- fix: differentiate prompts fields based on function_calling_type by @qiqizjl in #5880
- refactor(services/tasks): Swtich to dify_config witch Pydantic by @ox01024 in #6203
- Fix/firecrawl parameters issue by @MatriQ in #6213
- refactor(api): switch to dify_config with Pydantic in controllers and schedule by @Tian-Hun in #6237
- fix: model-provider-card-style by @zxhlyh in #6246
- Update ernie_bot.py by @Littlesheepxy in #6236
- fix: remove the maximum length limit of "paragraph" variable by @hjlarry in #6234
- fix: markdown proc will remove image by @tangyoha in #5855
- Fix mermaid render by @jqhr in #6088
- Feat/add zhipu CogView 3 tool by @ox01024 in #6210
- fix: custom tool input number fail by @guogeer in #6200
- Update model provider configuration for Triton Inference Server and X… by @BenjaminX in #6274
- feat(backend): support import DSL from URL by @takatost in #6287
- feat(frontend): workflow import dsl from url by @zxhlyh in #6286
- Update bedrock.yaml by @thibautleaux-kreactive in #6281
- 6282 i18n add support for Italian by @Ivan-Corporation in #6288
- fix: validateColorHex: cannot read properties of undefined (reading 'length') by @ZuzooVn in #6242
- fix: zhipuai validate error when user's api key not support for chatglm_turbo in issue #6289 by @Onelevenvy in #6290
- Feat/delete file when clean document by @JohnJyong in #5882
- bump to 0.6.14 by @takatost in #6294
New Contributors
- @lpdink made their first contribution in #5586
- @jewelzqiu made their first contribution in #6092
- @Littlesheepxy made their first contribution in #6132
- @Linij made their first contribution in #6209
- @Dofine-dufei made their first contribution in #6197
- @qiqizjl made their first contribution in #5880
- @tangyoha made their first contribution in #5855
- @guogeer made their first contribution in #6200
Full Changelog: 0.6.13...0.6.14
v0.6.13
✨ What’s New in v0.6.13? ✨
Hey everyone, we’ve just dropped version v0.6.13, and it’s packed with some routine updates and minor fixes. Let’s dive in:
🚀 New Features
-
Forgot Password Feature by @xielong in #5534
Finally, you can reset your password by sending an email if you forget it. -
Firecrawl Tools: Scrape and Search by @ahasasjeb in #6016
-
Llama 3 and Mixtral Model Options in
ddgo_ai.yaml
by @k8scat in #5979 -
Moonshot and GLM Base Models for Volcengine Provider by @sinomoe in #6029
⚙️ Enhancements
-
Correctly Delete Applications Using Celery Workers by @chazzhou in #5787
More completely remove App associated database records using celery queue. -
WeCom Bot Markdown Message Support by @quicksandznzn in #5791
-
Claude3 Function Calling by @longzhihun in #5889
-
Request Params Field in Jina Reader Tool by XiaoLey in #5610
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Update docker-compose.yaml by @takatost in #5745
- fix: slow sql of ops tracing by @takatost in #5749
- Docs/add docker dotenv notes by @guchenhe in #5750
- fix: missing process data in parameter extractor by @Yeuoly in #5755
- fix: workflow trace none type error by @ZhouhaoJiang in #5758
- fix: langsmith message_trace end_user_data session_id error by @ZhouhaoJiang in #5759
- chore: remove port expose in docker compose by @takatost in #5754
- fix: can’t change exec permissions after mounting
docker-entrypoint.sh
for nginx and ssrf-proxy services causing startup failures by @takatost in #5776 - chore: fulfill default value in docker compose yaml by @takatost in #5778
- chore: merge CODE_EXECUTION_API_KEY into SANDBOX_API_KEY in the docker-compose.yaml by @takatost in #5779
- Chore/improve docker compose by @guchenhe in #5784
- [seanguo] modify bedrock Claude3 invoke method to converse API by @longzhihun in #5768
- fix: signin url by @zxhlyh in #5800
- feat: correctly delete applications using Celery workers by @chazzhou in #5787
- fix: ssrf proxy and nginx entrypoint command in docker-compose files by @takatost in #5803
- feat: knowledge used by app can still be removed by @iamjoel in #5811
- feat: Nominatim OpenStreetMap search tool by @chazzhou in #5789
- Feat/add delete knowledge confirm by @JohnJyong in #5810
- fix: ops trace slow db by @ZhouhaoJiang in #5812
- add support oracle oci object storage by @hymvp in #5616
- Enhance: tools wecom bot support markdown message by @quicksandznzn in #5791
- add provision scripts repo link for azure to readme by @nikawang in #5820
- Fix/docker nginx https config by @guchenhe in #5832
- Chore/remove extra docker middleware variables by @guchenhe in #5836
- chore: update i18n for #5811 by @ZuzooVn in #5838
- sync delete app table record when delete app by @JohnJyong in #5819
- chore: Update some type hints in config. by @laipz8200 in #5833
- fix: output variable name may be duplicate by @iamjoel in #5845
- fix:unable to select workplace at the bottom by @fanghongtai in #5785
- feat: update LangfuseConfig host config by @ZhouhaoJiang in #5846
- feat: add export permission by @ZhouhaoJiang in #5841
- Ensure *.sh are LF-style, so that they can be used directly by Docker for Windows by @chjfth in #5793
- fix: react.js error 185 maximum update depth exceeded in streaming responses during conversation by @xy8 in #5849
- fix: not show opening question if the opening message is empty by @iamjoel in #5856
- chore:remove .env.example duplicate key by @quicksandznzn in #5853
- fix:retieval setting document link 404 by @iamjoel in #5861
- doc: docker-compose won't start due to wrong README by @tmokmss in #5859
- Fix/docker env namings by @guchenhe in #5857
- Fix/remove tsne position test by @JohnJyong in #5858
- chore: click area that trigger showing tracing config is too large by @iamjoel in #5878
- refactor(api/core/app/apps/base_app_generator.py): improve input validation and sanitization in BaseAppGenerator by @laipz8200 in #5866
- fix bug : TencentVectorDBConfig Add TENCENT_VECTOR_DB_DATABASE by @quicksandznzn in #5879
- feat: pr template by @crazywoola in #5886
- chore: remove dify SaaS URL in default configs by @takatost in #5888
- docs(api/core/tools/docs/en_US/tool_scale_out.md): Format by markdownlint. by @laipz8200 in #5903
- fix: zhipuai pytest correction by @orangeclk in #5934
- refactor: Create a
dify_config
with Pydantic. by @laipz8200 in #5938 - feat: add claude3 function calling by @longzhihun in #5889
- fix: langfuse logical operator error by @ZhouhaoJiang in #5948
- chore: enchance firecrawl user experience by @iamjoel in #5958
- refactor: optimize-the-performance-of-var-reference-picker by @aixgeek in #5918
- fix: no json output vars in front-page tool by @hjlarry in #5943
- feat: knowledge admin role by @ZhouhaoJiang in #5965
- Chore/remove-unused-code by @laipz8200 in #5917
- refactor(api/app.py): Simplify the retrieval of debug settings. by @laipz8200 in #5916
- fix: Fix some type error in http executor. by @laipz8200 in #5915
- typo: Update README.md by @yikayiyo in #5987
- fix: TENCENT_VECTOR_DB_REPLICAS can be set to 0 by @jianglin1008 in #5968
- feat: add retry mechanism for zhipuai by @orangeclk in #5926
- fix: document truncation and loss in notion document sync by @Aurelius-Huang in #5631
- feat: implement forgot password feature by @xielong in #5534
- fix API tool's schema not support array by @hjlarry in #6006
- Removed firecrawl-py, fixed and improved firecrawl tool by @ahasasjeb in #5896
- fix: update workflow trace query by @ZhouhaoJiang in #6010
- [Feature] Support loading for mermaid. by @jqhr in #6004
- 6014 i18n add support for spanish by @crazywoola in #6017
- fix: add status_code 304 by @opriuwohg in #6000
- feat: add Llama 3 and Mixtral model options to ddgo_ai.yaml...
v0.6.12-fix1
🛠️ v0.6.12-fix1
Warning
Fixed the issue where the WebApp URL was incorrect and the problem where the model and tools icons weren’t showing up after starting from Docker Compose with default .env
.
🎉 Upgrade to new docker compose deployment
Key Changes
-
Persistent Custom Environment Variables: Users can now declare environment variables in .env that remain persistent across deployments. This change ensures that custom configurations are not lost during upgrades or redeployments.
-
Unified Vector Database Services: All vector database services have been consolidated into a single Docker file. Users can switch between different vector databases by modifying the
VECTOR_STORE
environment variable in your local.env
. This simplifies the management of various vdb services and allows for more dynamic deployments. -
Mandatory .env File: Unlike the previous deployment method, the new method requires an [.env] file before running
docker compose up
. Users should start by copying the.env.example
file to create their own.env
file. This step is crucial for configuring the deployment to meet specific needs. -
Legacy Support: The previous deployment files have been moved to a
docker-legacy
directory. These files will no longer be maintained, but they are available for use if needed.
Migrating
For existing users who's customized docker-compose.yaml
, ssrf_proxy/squid.conf
or nginx/conf.d/default.conf
, you may need to modify the corresponding environment variables in .env
to reflect your existing changes.
We are actively seeking feedback from the community to refine and enhance the deployment process. As more users adopt this new method, we will continue to make improvements based on your experiences and suggestions.
How to Get Started
To get started with the new deployment method:
- Ensure you have Docker and Docker Compose installed on your system.
- Navigate to the new
docker
directory. - Copy the
docker/.env.example
file to a new file named.env
and customize it as needed. - Run
docker compose up
to start the services.
We encourage all users to transition to this new method to take advantage of the improved flexibility and configuration options. Your feedback during this beta phase is invaluable and will help us make the deployment process even better.
For detailed configuration options and environment variable settings, refer to the .env.example
file and the Docker Compose configuration files in the docker directory.
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
- add README for new docker/ directory by @guchenhe in #5724
- Chore/set entrypoint scripts permissions by @guchenhe in #5726
- Rename README to README.md by @guchenhe in #5727
- chore: support both $$ and $ latex format by @ZuzooVn in #5723
- fix: couldn't log in or resetup after a failed setup by @takatost in #5739
- fix: app config does not use empty string in the env by @takatost in #5741
- fix: env SMTP_PORT is empty caused err when launching by @takatost in #5742
Full Changelog: 0.6.12...0.6.12-fix1
v0.6.12
✨ What’s New in v0.6.12? ✨
Important
In the current version:
- We have deprecated
pip
as the primary package management tool in favor ofPoetry
for the Dify API service. - We have optimized the self-hosted deployment experience with Docker Compose by adding support for
.env
files and allowing the option to independently select Vector Database at startup.
The previous Docker Compose configuration has been moved to thedocker-legacy
directory.
For more details seeUpgrade to new docker compose deployment
below.
Hey everyone, we’ve got a fresh update for you with v0.6.12, and it’s packed with new features, tools, and improvements. Let’s dive in:
🚀 New Features
- Tracing with LangSmith and Langfuse: Now you can trace your apps traffic with LangSmith and Langfuse, thanks to @ZhouhaoJiang in #5483 and @iamjoel in #5487.
🌟 Read the blog.
-
Undo/Redo for Workflow Editor: Finally, you can undo and redo your actions in the workflow editor by @perzeuss in #3927.
-
Import and Overwrite Workflow DSL: Importing and overwriting workflow DSL is now supported, you can now manage versions indirectly through DSL Export & Import by @takatost in #5511.
-
New Icons: We’ve replaced the old icons with fresh new ones by @zxhlyh in #5412.
-
Hide Workflow Steps: You now have the option to hide workflow steps in WebApp settings by @crazywoola in #5436.
-
Self-Hosting for Firecrawl Tool: The Firecrawl tool now supports self-hosting by @keita69 in #5528.
-
Latex in Chat Messages: Support for displaying Latex in chat messages by @ZuzooVn in #5001.
-
Citations and Attributions: These are now enabled by default by @takatost in #5508.
🛠️ Tools
- JSON Process Tool: Added a new tool for processing JSON by @scotlandowl in #5555.
- Serply Search Tools: Added Serply Web/Job/Scholar/News Search tools for more options by @googio in #5186.
- Novita AI Image Generation Tool: This tool now supports model search, text-to-image, and create tile functionalities by @XiaoLey in #5308.
- Create JSON Message API in Tool: Added an implements for creating JSON messages in Tool response by @hjlarry in #5440.
🤖 Model Support
-
Jina New Pre-defined Rerankers: Including jina-reranker-v2 by @takatost in #5657.
-
Bedrock Command R Models: Added support for these models by @realjustinwu in #4521.
-
Claude-3-5-Sonnet-20240620: Support added for this model by @takatost in #5452 and @soulteary in #5461.
-
Vertex AI Claude-3-5-Sonnet@20240620: Support added by @hellof20 in #5475.
-
Predefined Models for OpenRouter: Added support by @sinomoe in #5494.
-
Spark 4.0: Added support by @leslie2046 in #5688.
🗄️ Vector Database & Storage
- OpenSearch as a Vector Datasource: Support added by @baojingyu in #5322.
- Oracle23ai as a Vector Datasource: Added support by @tmuife in #5342.
- Tencent COS Storage: Support added by @quicksandznzn in #5297.
🏗️ API Service Infrastructures
- Improved Deployment Flow: Added .env to Docker Compose for better deployment by @guchenhe in #4299.
- Pydantic Settings for Config: Introduced for config definition and validation by @bowenliang123 in #5202.
- Poetry for Dependencies: Now supported in the API’s Dockerfile by @bowenliang123 in #5105.
- Removed Pip Support: Pip support for the API service has been removed by @takatost in #5453.
For additional enhancements and updates, refer to the What's Changed section below.
🎉 Upgrade to new docker compose deployment
Key Changes
-
Persistent Custom Environment Variables: Users can now declare environment variables in .env that remain persistent across deployments. This change ensures that custom configurations are not lost during upgrades or redeployments.
-
Unified Vector Database Services: All vector database services have been consolidated into a single Docker file. Users can switch between different vector databases by modifying the
VECTOR_STORE
environment variable in your local.env
. This simplifies the management of various vdb services and allows for more dynamic deployments. -
Mandatory .env File: Unlike the previous deployment method, the new method requires an [.env] file before running
docker compose up
. Users should start by copying the.env.example
file to create their own.env
file. This step is crucial for configuring the deployment to meet specific needs. -
Legacy Support: The previous deployment files have been moved to a
docker-legacy
directory. These files will no longer be maintained, but they are available for use if needed.
Migrating
For existing users who's customized docker-compose.yaml
, ssrf_proxy/squid.conf
or nginx/conf.d/default.conf
, you may need to modify the corresponding environment variables in .env
to reflect your existing changes.
We are actively seeking feedback from the community to refine and enhance the deployment process. As more users adopt this new method, we will continue to make improvements based on your experiences and suggestions.
How to Get Started
To get started with the new deployment method:
- Ensure you have Docker and Docker Compose installed on your system.
- Navigate to the new
docker
directory. - Copy the
docker/.env.example
file to a new file named.env
and customize it as needed. - Run
docker compose up
to start the services.
We encourage all users to transition to this new method to take advantage of the improved flexibility and configuration options. Your feedback during this beta phase is invaluable and will help us make the deployment process even better.
For detailed configuration options and environment variable settings, refer to the .env.example
file and the Docker Compose configuration files in the docker
directory.
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: wrong order of history prompts in ReAct agent mode by @sinomoe in #5236
- fix: embedding job fails using IAM role by @tmokmss in #5252
- feat(Tools): Add Serply Web/Job/Scholar/News Search tool for more options by @googio in #5186
- feat: Added hindi translation i18n by @Yash-1511 in #5240
- fix: correct typos in the icons for microsoft by @kurokobo in #5243
- fix: modal z-index cleanup by @chazzhou in #5234
- chore: add icon in .idea by @Gallardot in #5259
- fix: run agent with Vertex AI Gemini models by @hellof20 in #5260
- fix: respect the interface language specified by the user on the activation success screen by @kurokobo in #5258
- fix: visioin model always with low quality by @rerorero in #5253
- fix: casting non-string type value for tool parameter options by @bowenliang123 in #5267
- Feat: support delete account by @JzoNgKVO in #5208
- fix: copyright with latest time by @crazywoola in #5271
- Fix: z-index of delete account modal by @JzoNgKVO in #5277
- Fixed wrong /text-to-audio curl example by @from2001 in #5286
- fix: add event handler to delete the site when the related app deleted by @kurokobo in #5282
- fix: typo and check by @crazywoola in #5287
- Dalle3 add seed by @charli117 in #5288
- fix(core): Reorde...
v0.6.11
✨ What’s New in v0.6.11? ✨
Hey everyone, we’ve got a fresh update for you! Version 0.6.11 is here, and it’s packed with new features, enhancements, and fixes. Let’s dive into what’s changed:
🚀 New Features
📜 Knowledge
-
🔥 Firecrawl Support: Use Firecrawl as a "Sync from website" solution in Knowledge by @iamjoel in #5226 and @JohnJyong @nickscamara @guchenhe in #5232.
🚀 Workflow
-
Note Support: Add notes directly into your workflows to enhance documentation and readability when editing or reviewing shared DSLs by @zxhlyh in #5164.
🤖 Model Support
- Jina: Support for Jina-CLIP-v1 embedding model by @sinomoe in #5146.
- Zhipu: Added GLM4 new models and Zhipu embedding-2 by @orangeclk in #5089.
- ERNIE-4.0-8K-Latest: Support for ERNIE-4.0-8K-Latest by @iamsk in #5216.
- Doubao: Support for Doubao LLM function calling by @sinomoe in #5100.
- Hunyuan: Support for Hunyuan LLM models by @xielong in #5013.
- SiliconFlow: Added support for SiliconFlow by @orangeclk in #5129.
- Novita.ai: Added Novita.ai as a model provider by @jasonhp in #4961.
🛠️ Tools
- DuckDuckGo Tools: Added DuckDuckGo image search, translate, and AI chat tools by @hjlarry in #5074.
- Feishu multi-dimensional table Tools: Added Feishu multi-dimensional table operation tools by @hgnulb in #5213.
🗄️ Vector DB
- TiDB Vector: Support for TiDB vector by @Weaxs in #4588.
- Chroma Vector Store: Support for Chroma vector store by @bowenliang123 in #5015.
- Tencent Vector DB: Support for Tencent vector DB by @quicksandznzn in #3568.
☁️ AWS
- EKS Pod Identity: Upgraded boto3 library to support EKS Pod Identity by @nanasi880 in #5064.
- IAM Role for Bedrock: Allow using IAM Role for Bedrock by @tmokmss in #5188.
- AWS S3 IAM Check: Added AWS S3 IAM check by @JohnJyong in #5174.
🏗️ API Service Infrastructures
-
Poetry Support: Initial support for the Poetry build tool by @MatriQ in #4513.
⚠️ In the next version, we will deprecate pip as the primary package management tool for Dify api service, currently Poetry and pip coexist. -
Poetry in CI: Use Poetry as the default build system for dependency installation in CI jobs by @bowenliang123 in #5088.
-
Pydantic Migration: Modernized validation by migrating Pydantic from 1.x to 2.x by @bowenliang123 in #4592.
Other Enhancements
- Editor User Permission: New editor user permission profile by @chazzhou in #4435.
- Memory Messages Limit: Set default memory messages limit to infinite by @takatost in #5002.
- DOCX Image Handling: Improved handling of external images when extracting DOCX images by @JohnJyong in #5024.
- Dataset Delete Endpoint: Added dataset delete endpoint by @perzeuss in #5048.
- Knowledge Retrieval: Optimized knowledge retrieval performance by batching dataset queries by @wangiii in #4917.
- Jina Tools: Added optional API key, proxy server, and bypass cache parameters to Jina tools by @XiaoLey in #5197.
- HTTP Request Fix: Fixed HTTP request delete method not working by @th3n00b13 in #4975.
For additional enhancements and updates, refer to the What's Changed section below.
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 main branch:
git checkout main git pull origin main
-
Update Python dependencies:
-
If using pip
cd api pip install -r requirements.txt
-
If using poetry
cd api poetry install
-
-
Then, let's run the migration script:
-
If using pip
flask db upgrade
-
If using poetry
cd api poetry run python -m flask db upgrade
-
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- change "Import from text file" to "Import from file" by @harrywang in #4935
- feat: pricing page add llm load balancing info by @iamjoel in #4942
- Optimize knowledge retrieval performance by batching dataset quries. by @wangiii in #4917
- fix: end node limit in next step by @zxhlyh in #4945
- fix: import error in web/app/components/header/account-setting/model-provider-page/declarations.ts by @crazywoola in #4944
- chore: fix indention violations by applying E111 to E117 ruff rules by @bowenliang123 in #4925
- fix: missing dataset patch parameters in settings modal by @chazzhou in #4901
- fix: missing iterator in task pipeline by @Yeuoly in #4948
- fixing a bug of handling header row when parsing xls file, and tune xls/xlsx parsing result to be more structured by @yc-huang in #3600
- fix: duckduckgo search does not work by @hjlarry in #4949
- feat: support tidb vector by @Weaxs in #4588
- Typo in Knowledge settings by @WeepsDanky in #4958
- fix some tidb bugs by @JohnJyong in #4960
- add meta.doc_id index for tidb by @JohnJyong in #4963
- feat: add create tenant command by @takatost in #4974
- chore: rename vdb tests for PGVector and PGvectoRS by @bowenliang123 in #4973
- fix: gemini timeout error by @ZhouhaoJiang in #4955
- fix: llm selector position is incorrect in not workflow app by @iamjoel in #4982
- feat: support login by given mail by @iamjoel in #4991
- fix: add handling for non-string type in variable template parser by @Yeuoly in #4996
- fix: typo in sd3 by @Yeuoly in #5000
- feat: set default memory messages limit to infinite by @takatost in #5002
- fix: some base models cannot be selected in Azure OpenAI Service setting page by @doufa in #4985
- fix: modal z-index and cleanup by @chazzhou in #4978
- Fix/azure blob new version by @JohnJyong in #5004
- Fix: z-index in header by @JzoNgKVO in #5017
- deal the external image when extract docx image by @JohnJyong in #5024
- Fix language setting not success by @doufa in #5023
- fix(style): some style issues by @HiChen404 in #5029
- feat: feature modal style by @zxhlyh in #5032
- improve: generalize vector factory classes and vector type by @bowenliang123 in #5033
- 🔧 fix docker-compose ssrf_proxy service WARNING: You should probably remove '::/0' from the ACL named 'all' by @takuya-o in #5005
- fix: update presence_penalty configuration for wenxin AI ernie-4.0-8k and ernie-3.5-8k models by @XiaoLey in #5039
- fix: issue where an error occurs when invoking TTS without selecting a voice by @takatost in #5046
- fix: wrong link to web app repo in chatflow mode by @perzeuss in #5062
- feat: add dataset delete endpoint by @perzeuss in #5048
- chore: update maas model provider description by @sinomoe in #5056
- 🔧 Fix(docker/volumes/ssrf_proxy/squid.conf): The squid process on ssrf_proxy docker service crashes at startup by @takuya-o in #5050
- build: initial support for poetry build tool by @MatriQ in #4513
- Arabic README.md by @ra2230 in #5078
- fix: dependency package versions are not synchronized to requirements.txt by @takatost in #5084
- feat: add glm4 new models and zhipu embedding-2 by @orangeclk in #5089
- Fix: infinite loading not work when message is too short by @JzoNgKVO in #5075
- fix: autoHeightTextarea dimensions in Firefox by @ZuzooVn in #4891
- fix: Google HL Parameter for SearchApi by @ugyuji in https://git...
v0.6.10
✨ What’s New in v0.6.10? ✨
This update primarily focuses on enhancing system stability and improving user experience. Key updates include:
🚀 New Features
- Workflow Variable Aggregator: Now supports grouping by @zxhlyh in #4811.
- Document Rename Support: You can now rename documents in datasets by @iamjoel in #4732 and @JohnJyong in #4915.
- Instruction in Classifier Node: Added support for using variables in instructions by @iamjoel in #4710 and @JohnJyong in #4913.
- Tool Tags: You can now define tags in tool YAML files by @Yeuoly in #4763.
- NVIDIA NIM: Added support for NVIDIA NIM by @joshua20231026 in #4882.
- Anthropic Claude3 Models: Added to Google Cloud Vertex AI by @hellof20 in #4870.
- Baichuan Model Support: Added support for Baichuan3 Turbo, Baichuan3 Turbo 128k, and Baichuan4 by @xielong in #4762.
- Ernie Model Update: Updated the Ernie model by @Weaxs in #4756.
- Vanna.AI Tool: Added Vanna.AI as a built-in tool by @luxmus in #4878.
- SearchApi Tools: Added new SearchApi tools by @SebastjanPrachovskij in #4648.
- Opportunistic TLS for SMTP: Added a flag for opportunistic TLS in SMTP by @chazzhou in #4794.
- Ollama Keep Alive: Added a keep-alive parameter for Ollama by @Yash-1511 in #4655.
- Model Load Balancing: Added support for load balancing backend models by @takatost in #4927 and @nite-knite in #4926.
⚙️ Enhancements
- SD-WebUI API Update: Updated API parameters to v1.9.3 by @lingfengchencn in #4798.
- Pandas Upgrade: Bumped pandas from 1.x to 2.x by @bowenliang123 in #4820.
- Question Classify Node: Now supports using variables in instructions by @iamjoel in #4710.
For additional enhancements and updates, refer to the What's Changed section below.
Update Guide
Docker compose deployments:
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Go to the next step and update to the latest image:
cd docker 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 pip install -r requirements.txt
-
Then, let's run the migration script:
flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- feat: add América/São Paulo tz by @crazywoola in #4701
- Add workflow translations for ja-JP by @Hirosa0 in #4698
- fix: key-value-table styles by @HiChen404 in #4678
- fix: Input fields in the model provider's settings modal do not switch sequence via keyboard navigation (Tab key) by @doufa in #4662
- fix: the new node name is generated based on the original node when duplicating by @hjlarry in #4675
- fix: workflow as tool garbled by @Yeuoly in #4707
- style: update VarPanel to use whitespace-pre-wrap for value display by @xuzuodong in #4684
- add error msg for hit test by @JohnJyong in #4704
- fix: retrieval value greater more than 1 caused ui problem by @iamjoel in #4718
- fix: Correct context size for banchuan2-53b and banchuan2-turbo by @xielong in #4721
- Show tool i18n name on chat pannel by @hibernate2011 in #4724
- fix: workflow run sequence number slow sql by @takatost in #4737
- fix: optimize sticky header styles z-index in tools - ProviderList component by @chazzhou in #4746
- fix: Corrected schema link in model_runtime's README.md by @xielong in #4757
- style: the 'all' of add tool panel should contain workflow tools by @hjlarry in #4755
- Fix/4742 ollama num gpu option not consistent with allowed values by @crazywoola in #4751
- Add WORKFLOW_CALL_MAX_DEPTH env var. by @majian159 in #4713
- style: fix annotation panel display misalignment by @hjlarry in #4750
- fix: confusing chart description by @Yeuoly in #4760
- feat: support baichuan3 turbo, baichuan3 turbo 128k, and baichuan4 by @xielong in #4762
- fix: incorrect workflow max call depth by @Yeuoly in #4759
- feat: update ernie model by @Weaxs in #4756
- feat: support define tags in tool yaml by @Yeuoly in #4763
- fix organize agent's history messages without recalculating tokens by @zeroameli in #4324
- feat: Add logging warning when MAIL_TYPE is not set by @Kota-Yamaguchi in #4771
- fix: in tool and http node of iteration can not show item var correctly by @iamjoel in #4791
- chore: improve node user experience by @iamjoel in #4792
- Add SearchApi tools by @SebastjanPrachovskij in #4648
- chore: node help link by @zxhlyh in #4795
- fix: some filed in model param selector has no left spacing by @iamjoel in #4803
- feat: show more usage info in billing page by @iamjoel in #4808
- add: i18n: update korean by @qkdxorjs1002 in #4813
- feat: workflow variable aggregator support group by @zxhlyh in #4811
- feat: opportunistic tls flag for smtp by @chazzhou in #4794
- fix: remove redundant props by @lesenelir in #4787
- update sd-webui api parameters to v1.9.3 by @lingfengchencn in #4798
- fix: revision styles for workflow by @lawvs in #4087
- fix: app_count of dataset is error when apps was deleted by @DomKing in #4810
- Feat/i18n workflow by @crazywoola in #4819
- chore: Enable case-insensitive search for large models by @xielong in #4817
- fix: workflow app run by @zxhlyh in #4831
- add: ollama keep alive parameter added. issue #4024 by @Yash-1511 in #4655
- fix 'NoneType' and new ContentType supported. by @lichengwu in #4818
- chore: cleanup tools, remove useless code by @Yeuoly in #4833
- chore: increase workflow max steps to 500 by @Yeuoly in #4835
- fix: status query not stop when leaving document embedding detail page by @doufa in #4754
- test: triggering tests on changes and allow cancelling in-progress CI test jobs by @bowenliang123 in #4743
- test: CI test for db migration scripts on changes by @bowenliang123 in #4739
- chore: skip explicit installing jinja2 as testing dependency by @bowenliang123 in #4845
- chore: fix invalid escape sequences by applying W605 rule by @bowenliang123 in #4851
- Bugfix: Vertex AI vision model not support image by @hellof20 in #4853
- chore: upgrade sandbox by @Yeuoly in #4839
- fix: Incorrect argument types in createChatMessage by @dar0xt in #4861
- Fixed workflow tts feature audition by @charli117 in #4867
- fix: update npm version to fix Incorrect argument types in createChatMessage by @iamjoel in #4865
- chore: add issue link tempate for IDEA by @bowenliang123 in #4866
- add-nvidia-mim by @joshua20231026 in #4882
- improve: generalize tool parameter converter by @bowenliang123 in #4786
- chore: optimize nvidia nim credential schema and info by @takatost in #4898
- feat: added Anthropic Claude3 models to Google Cloud Vertex AI by @hellof20 in #4870
- chore: remove unused code and class in text splitter by @bowenliang123 in #4864
- chore(deps): bump azure-storage-blob from 12.9.0 to 12.13.0 in /api by @dependabot in #4695
- chore: separate style checks into multiple jobs triggering on file changes by @bowenliang123 in #4876
- chore: update page.tsx by @eltociear in #4897
- fix azure blob token expire by @JohnJyong in #4911
- chore: modify tools/JinaReader label to Jina by @doufa in https://github.com/langgenius/dif...