🌟 What's New in v0.11.0? 🌟
Welcome to version v0.11.0, where we're elevating your workflow and model capabilities with new features and improvements designed to empower your technical operations.
⚡ Workflow Improvement
- ✨ Shining Spotlight: Iteration Node Parallel Mode - Elevate your productivity with the Iteration Node now supporting parallel processing, complete with enhanced error handling. This ensures smoother and more efficient workflows, crafted by @Nov1c444 in #9493.
- Support for Forms in Conversations: Streamline your dialogue capabilities with integrated form support, thanks to @crazywoola in #9980.
- Configurable Workflow File Upload Limit: Now you can cap workflow file uploads to better control system resources, a thoughtful addition by @laipz8200 in #10176.
- PPTX Data Extraction with Unstructured API: Streamline your PPTX data parsing with the latest unstructured API support from @laipz8200 in #10180.
- Prompt Generators with LLM Indicators: Easily craft prompts with added contextual insights from LLM indicators, thanks to @Kota-Yamaguchi in #10187.
📚 Knowledgebase Features
- Knowledge API Update: The original Dataset Hit Testing API is updated to Retrieve Chunks from a Knowledge Base. Users can access Dify's Knowledge as an independent service through this API, thanks to @JohnJyong in #10102.
- Optimized Full-Text and YAML Support: Retrieve top-k results in Elasticsearch and utilize YAML in document nodes, thanks to enhancements by @JohnJyong and @hwzhuhao.
🔍 Providers and Models
- xAI Model Provider: Broaden your options with the new xAI provider, equipped by @hjlarry in #10272.
- Claude 3.5 Haiku by Anthropic: Expand your toolkit with Anthropic's latest model, "claude-3-5-haiku-20241022," offering new creative AI opportunities, added by @mazyu36 in #10285.
- Ernie-4.0-turbo-128k LLM: Embrace the power of Wenxin's latest LLM offering, courtesy of @yaohongfenglove in #10135.
- VESSL AI OpenAI API Compatibility: Integrate effortlessly with VESSL AI models, thanks to @larcane97 in #9474.
- GPUStack Model Provider: Meet your compute-intensive needs with the GPUStack provider, introduced by @gitlawr in #10158.
- Claude 3.5 Haiku for Bedrock: Unleash creative AI with Amazon Bedrock's integration of "claude-3-5-haiku-20241022," contributed by @mazyu36 in #10265.
🗄️ VDB Integrations
- Couchbase VDB Integration: Unlock the power of Couchbase as a vector database, a seamless addition by @roadgoat19 in #6165.
- OceanBase as a Vector Store Option: Explore OceanBase for advanced vector management, brought to you by @powerfooI in #10010.
- Lindorm as a Vector Store Option: Discover Lindorm for enhanced vector storage capabilities, from @AlwaysBluer in #10202.
🔧 Fixes & Enhancements
- Async Preloading for Fast Launches: Speed up your server starts with async preloading, a game-changer from @bowenliang123 in #9146.
- Robust Rerank & Retrieval Validation: Fine-tune your searches with enhanced validation integrity, cleverly optimized by @zxhlyh and @JohnJyong.
- Content-Type Header Flexibility: Say goodbye to case sensitivity issues, thanks to a vital fix by @fujita-h in #9961.
- Secure Input & Index Handling: Ensure input reliability and indexing with these vital fixes from @JohnJyong and @laipz8200.
- Reliable Conversation Variables: Keep your data flows consistent and accurate with improvements by @hjlarry in #10034.
📄 Documents
- Added: README_PT.md in Brazilian Portuguese: Expand your documentation reach with a Brazilian Portuguese version, thanks to @lc-rezende in #10026.
This release makes our platform more robust and versatile, catering to your needs for a more efficient and feature-rich environment. Upgrade now to explore the possibilities! 🚀
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.11.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
- fix: button rendering when using streaming by @crazywoola in #9957
- add top_k for es full text search by @JohnJyong in #9963
- fix: Fix page logout issue due to refresh-token by @WTW0313 in #9970
- chore: Enable tencent cos test to run by @yaoice in #9971
- fix: allow external knowledge api use simple host by @hjlarry in #9966
- Feat/support form in conversation by @crazywoola in #9980
- feat: couchbase integration by @roadgoat19 in #6165
- fix: gemini model use some tools raise error by @hjlarry in #9993
- add tidb spend limit config by @JohnJyong in #9999
- Added OceanBase as an option for the vector store in Dify by @powerfooI in #10010
- chore: add tidb-on-qdrant configuration in env and docker-compose file by @hwzhuhao in #10015
- Fix content-type header case sensitivity by @fujita-h in #9961
- fix(llm-node): handle NoneSegment variables properly by @laipz8200 in #9978
- fix: conversation variable may not change in the answer node by @hjlarry in #10034
- Added: README_PT.md in Brazilian Portuguese by @lc-rezende in #10026
- Fix #10023 : error in docker-compose.yaml about TIDB_ON_QDRANT_CLIENT… by @mabuchs in #10025
- chore: Add aliyun oss tests by @yaoice in #10031
- add rerank check when doing mutil-retrieval by @JohnJyong in #9998
- fix update_by_api batch field issue by @JohnJyong in #10001
- chore: improve validation and handler of logging timezone with TimezoneName by @bowenliang123 in #9595
- add PROMPT_GENERATION_MAX_TOKENS and CODE_GENERATION_MAX_TOKENS in docker enviromment by @XiaoLey in #10040
- feat: add YAML type in document extractor node by @hwzhuhao in #9997
- feat: /conversations api response add 'update_at' field,and update api docs add sort_by parameter by @rchlz in #10043
- chore: use dify_config.TIDB_SPEND_LIMIT instead of constant value by @hwzhuhao in #10038
- fix: resolve the incorrect model name of hunyuan-standard-256k by @hwzhuhao in #10052
- chore: mount config file of sandbox by @hjlarry in #8576
- fix(workflow): refine variable type checks in LLMNode by @laipz8200 in #10051
- fix: fix poetry install command in devcontainer by @22mSqRi in #9507
- fix: prevent onChange during IME composition by @Fog3211 in #10059
- chore: Set file size limits for video and audio uploads from docker env by @fujita-h in #10063
- Fixed the issue where recall the knowledge base in the iteration of the workflow and report errors when executing by @wangiii in #10060
- fix the typos in the hit testing template by @sacryu in #10072
- Revert "chore: improve validation and handler of logging timezone with TimezoneName" by @crazywoola in #10077
- fix azure chatgpt o1 parameter error by @charli117 in #10067
- improve: significantly speed up the server launching time by async preloading tool providers by @bowenliang123 in #9146
- chore: update type definition to resolve lint error in Base usage at text-editor.tsx by @Kota-Yamaguchi in #10083
- build: update docker login action by @AkaraChen in #10050
- feat: enhance comfyui workflow by @hjlarry in #10085
- chore: remove an unnecessary link by @hjlarry in #10088
- fix: view logs in prompt, no response when clicked by @beginnerZhang in #10093
- refactor(version): simplify version comparison logic by @laipz8200 in #10109
- chore: save uploaded file extension as lower case by @hjlarry in #10111
- feat(app_dsl_service): enhance error handling and DSL version management by @laipz8200 in #10108
- fix: Version '1:1.3.dfsg+really1.3.1-1' for 'zlib1g' was not found by @ZuzooVn in #10096
- fix issue: update document segment setting failed by @JohnJyong in #10107
- fix: log detail panel not showing any message when total count greate… by @xuzuodong in #10119
- fix(Dockerfile): conditionally install zlib1g based on architecture by @laipz8200 in #10118
- fix: optimize unique document filtering with set by @y-omr in #10082
- Feat/update knowledge api url by @JohnJyong in #10102
- Fix/rerank validation issue by @zxhlyh in #10131
- fix issue: query is none when doing retrieval by @JohnJyong in #10129
- fix: bar chart issue with duplicate x-axis labels being incorrectly ignored by @llinvokerl in #10134
- fix: avoid unexpected error when create knowledge base with baidu vector database and wenxin embedding model by @WayneCao in #10130
- add llm: ernie-4.0-turbo-128k of wenxin by @yaohongfenglove in #10135
- Refined README for better reading experience. by @Theysua in #10143
- feat: synchronize input/output variables in the panel with generated code by the code generator by @Kota-Yamaguchi in #10150
- Add VESSL AI OpenAI API-compatible model provider and LLM model by @larcane97 in #9474
- refactor(service): handle unsupported DSL version with warning by @laipz8200 in #10151
- clean un-allowed special charters when doing indexing estimate by @JohnJyong in #10153
- fix: upload remote image preview by @zxhlyh in #9952
- Feat/add-remote-file-upload-api by @laipz8200 in #9906
- refactor(migration/model): update column types for workflow schema by @laipz8200 in #10160
- refactor(tools): Avoid warnings. by @laipz8200 in #10161
- feat: add gpustack model provider by @gitlawr in #10158
- fix: Cannot find declaration to go to CLEAN_DAY_SETTING by @jiangbo721 in #10157
- fix(workflow model): ensure consistent timestamp updating by @laipz8200 in #10172
- [fix] fix the bug that modify document name not effective by @ProseGuys in #10154
- fix(tools): suppress RuntimeWarnings in podcast audio generator by @laipz8200 in #10182
- feat(document_extractor): integrate unstructured API for PPTX extraction by @laipz8200 in #10180
- fix(api): replace current_user with end_user in file upload by @laipz8200 in #10194
- fix: webapp upload file by @zxhlyh in #10195
- chore : code generator preview hint by @Kota-Yamaguchi in #10188
- chore: enable vision support for models in OpenRouter that should have supported vision by @XiaoLey in #10191
- Feat : add LLM model indicator in prompt generator by @Kota-Yamaguchi in #10187
- refactor(document_extractor): update base exception class by @laipz8200 in #10208
- refactor(list_operator): refine exception handling for error specificity by @laipz8200 in #10206
- refactor(validation): improve input validation logic by @laipz8200 in #10175
- Fix/10199 application error a client side exception has occurred see the browser console for more information by @crazywoola in #10211
- Add Lindorm as a VDB choice by @AlwaysBluer in #10202
- Modify translation by @HanqingZ in #10213
- fix the ssrf of docx file extractor external images by @JohnJyong in #10237
- chore(llm_node): remove unnecessary type ignore for context assignment by @laipz8200 in #10216
- refactor(workflow): introduce specific exceptions for code validation by @laipz8200 in #10218
- refactor(http_request): add custom exception handling for HTTP request nodes by @laipz8200 in #10219
- refactor(workflow): introduce specific error handling for LLM nodes by @laipz8200 in #10221
- refactor(list_operator): replace ValueError with InvalidKeyError by @laipz8200 in #10222
- fix: missing working directory parameter in script by @shisaru292 in #10226
- feat(workflow): add configurable workflow file upload limit by @laipz8200 in #10176
- Using a dedicated interface to obtain the token credential for the gitee.ai provider by @fchange in #10243
- chore(Dockerfile): upgrade zlib arm64 by @laipz8200 in #10244
- fix(validation): allow to use 0 in the inputs form by @laipz8200 in #10255
- fix: buitin tool aippt by @guogeer in #10234
- refactor(parameter_extractor): implement custom error classes by @laipz8200 in #10260
- feat: support Claude 3.5 Haiku on Amazon Bedrock by @mazyu36 in #10265
- feat(document_extractor): support tool file in document extractor by @laipz8200 in #10217
- fix(workflow): handle else condition branch addition error in if-else node by @GeorgeCaoJ in #10257
- feat: Iteration node support parallel mode by @Nov1c444 in #9493
- Updates: Add mplfonts library for customizing matplotlib fonts and Va… by @BenjaminX in #9903
- chore: translate i18n files by @github-actions in #10273
- refactor the logic of refreshing access_token by @douxc in #10068
- fix(node): correct file property name in function switch by @laipz8200 in #10284
- feat(model): add validation for custom disclaimer length by @laipz8200 in #10287
- fix(model_runtime): fix wrong max_tokens for Claude 3.5 Haiku on Amazon Bedrock by @mazyu36 in #10286
- feat(model_runtime): add new model 'claude-3-5-haiku-20241022' by @mazyu36 in #10285
- feat: add xAI model provider by @hjlarry in #10272
- fix: borken faq url in CONTRIBUTING.md by @euxx in #10275
- fix: handle KeyError when accessing rules in CleanProcessor.clean by @pinsily in #10258
- fix typo: writeOpner to writeOpener by @mazyu36 in #10290
- fix(http_request): improve parameter initialization and reorganize tests by @laipz8200 in #10297
- fix: iteration none output error by @Nov1c444 in #10295
- chore: update version to 0.11.0 across all relevant files by @laipz8200 in #10278
New Contributors
- @roadgoat19 made their first contribution in #6165
- @powerfooI made their first contribution in #10010
- @lc-rezende made their first contribution in #10026
- @22mSqRi made their first contribution in #9507
- @Fog3211 made their first contribution in #10059
- @sacryu made their first contribution in #10072
- @beginnerZhang made their first contribution in #10093
- @llinvokerl made their first contribution in #10134
- @yaohongfenglove made their first contribution in #10135
- @larcane97 made their first contribution in #9474
- @gitlawr made their first contribution in #10158
- @jiangbo721 made their first contribution in #10157
- @ProseGuys made their first contribution in #10154
- @AlwaysBluer made their first contribution in #10202
- @shisaru292 made their first contribution in #10226
- @mazyu36 made their first contribution in #10265
- @GeorgeCaoJ made their first contribution in #10257
- @Nov1c444 made their first contribution in #9493
- @euxx made their first contribution in #10275
Full Changelog: 0.10.2...0.11.0