Skip to content

v0.11.0

Compare
Choose a tag to compare
@laipz8200 laipz8200 released this 05 Nov 09:55
· 126 commits to main since this release
7f583ec

🌟 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

  1. Back up your customized docker-compose YAML file (optional)

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  2. Get the latest code from the main branch

    git checkout main
    git pull origin main
  3. Stop the service,Command, please execute in the docker directory

    docker compose down
  4. Back up data

    tar -cvf volumes-$(date +%s).tgz volumes
  5. Upgrade services

    docker compose up -d

Source Code deployments

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 0.11.0
  3. Update Python dependencies:

    cd api
    poetry install
  4. Then, let's run the migration script:

    poetry run flask db upgrade
  5. 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

Full Changelog: 0.10.2...0.11.0