Skip to content

Releases: langgenius/dify

v0.6.16

06 Aug 03:00
23ed15d
Compare
Choose a tag to compare

✨ 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.

image

Learn More: https://dify.ai/blog/dify-ai-blog-n-to-1-knowledge-retrieval-legacy

🧠 Models

Llama3.1 Support

GPT-4o Mini Support

Other Models

🛠️ Tools

⚙️ 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

  • Remove TTS (Blocking Call): Removed blocking call for TTS by @ic-xu in #6869.

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.

  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 main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

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

    poetry shell
    flask db upgrade
  5. 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...
Read more

v0.6.15

23 Jul 14:49
4972964
Compare
Choose a tag to compare

✨ 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.

    image
  • New Prompt Generator: We’ve introduced a new prompt generator, by @iamjoel in #6514, #6525, #6564, and @ZhouhaoJiang in #6516.

    image

🧠 Models

🛠️ Tools

⚙️ Enhancements

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.

  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 main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

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

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

Read more

v0.6.14

15 Jul 13:13
eabfd84
Compare
Choose a tag to compare

✨ 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.

    image
  • Workflow Enhancements:

    • Added elif support to the if-else workflow node, and expanded condition values from only supporting static values to accepting variables by @zxhlyh in #6072 and @ZhouhaoJiang in #6094.

      image
  • New Integrations:

  • Support for importing DSL from a URL by @takatost in #6287 and @zxhlyh in #6286.

    image
  • 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.

  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 main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

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

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

New Contributors

Full Changelog: 0.6.13...0.6.14

v0.6.13

08 Jul 15:29
17f2234
Compare
Choose a tag to compare

✨ 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.

  • Nominatim OpenStreetMap Search Tool by @chazzhou in #5789

  • Firecrawl Tools: Scrape and Search by @ahasasjeb in #6016

  • Oracle OCI Object Storage Support by @hymvp in #5616

  • 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.

  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 main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

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

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.


What's Changed

Read more

v0.6.12-fix1

29 Jun 09:45
8fd75e6
Compare
Choose a tag to compare

🛠️ 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  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 main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

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

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

Full Changelog: 0.6.12...0.6.12-fix1

v0.6.12

28 Jun 14:15
6d0cea5
Compare
Choose a tag to compare

✨ What’s New in v0.6.12? ✨

Important

In the current version:

  1. We have deprecated pip as the primary package management tool in favor of Poetry for the Dify API service.
  2. 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 the docker-legacy directory.
    For more details see Upgrade 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

  • 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

🗄️ Vector Database & Storage

🏗️ 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  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 main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

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

    poetry shell
    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

Read more

v0.6.11

14 Jun 19:16
12c815c
Compare
Choose a tag to compare

✨ 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

🚀 Workflow

  • Note Support: Add notes directly into your workflows to enhance documentation and readability when editing or reviewing shared DSLs by @zxhlyh in #5164.

    image

🤖 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

☁️ 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

  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 main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    • If using pip

      cd api
      pip install -r requirements.txt
    • If using poetry

      cd api
      poetry install
  4. 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
  5. 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...
Read more

v0.6.10

04 Jun 18:14
b20d173
Compare
Choose a tag to compare

✨ 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

For additional enhancements and updates, refer to the What's Changed section below.

Update Guide

Docker compose deployments:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker compose up -d

Source Code deployments:

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

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

Read more

v0.6.9 Workflow as Tool

27 May 15:41
e60350d
Compare
Choose a tag to compare

✨ Dify v0.6.9 has landed! ✨

We’ve been working on enhancing our workflow capabilities lately. Today we’ve got some news:

☄️ Publish workflow as a tool

You can now publish your AI workflow in Dify as a reusable tool. This allows for integration with new agents and other workflows, eliminating redundant efforts.

dify-0-6-9.mp4

🧩 Two new workflow nodes and one node improvement

🔄 Iteration

Make sure the input is an array. Each item in the array will be processed sequentially by the iteration node until all items are addressed. For instance, if you require a lengthy article, simply input several headlines. This will result in an article containing a paragraph for each headline, freeing you from the need for complex prompt orchestration.

💥 Parameter Extractor

Uses LLM to extract structured parameters from natural language, making tool use and HTTP requests in workflows a breeze.

🔗 Variable Aggregator

Improved Variable Assigner supports more flexible variable selection. Additionally, the user experience is enhanced by improving the way node connections are made.

🖼️ Brand new tool management page

We’ve updated our UI to be more intuitive and easier to use, with improved classification.

🚀 Other New Features

  • GPT-4o for Azure: Added support for GPT-4o on Azure by @leslie2046 in #4568.
  • Vertex AI Support: Added support for Vertex AI by @patryk20120 in #4586 and @miendinh in #4641.
  • Gemini Flash: Added Gemini Flash by @QuietRocket in #4616.
  • Doubao LLM and Embedding Models: Added support for Doubao LLM and embedding models by @sinomoe in #4431.
  • Amazon Titan V2: Added support for Amazon Titan V2 and updated pricing for Titan V1 by @longzhihun in #4643.
  • Ernie-Character-8k of Wenxin: New LLM Ernie-Character-8k added by @jiaqianjing in #4448.
  • Claude Stream Tool Call: Enhanced Claude stream tool call by @Yeuoly in #4469.
  • Chat Custom Disclaimer: You can add custom disclaimers in WebApp by @patryk20120 in #4306.
  • MiniMax Mode Sensitive Info Masking: Added parameter config for masking sensitive info in MiniMax mode by @zhangever in #4294.
  • Jina Search & Reader CSS Selectors: Added CSS selectors for Jina Search & Reader by @rennokki in #4523.
  • Images and Tables Extraction from DOCX: Now supports extracting images and tables from DOCX files by @JohnJyong in #4619.

⚙️ Enhancements

  • RAG Document Segmentation: Configurable max segmentation tokens length for RAG documents using an environment variable by @rainchen in #4375.
  • WORKFLOW_MAX_EXECUTION_TIME: Added environment variable for max workflow execution time by @majian159 in #4632.
  • Image Preview URL expire Env Variable: Added environment variable for time signature of image preview url by @patryk20120 in #4650.

🛠️ Bug Fixes

  • General Fixes: Various bug fixes and improvements to enhance stability and performance.

For additional enhancements and updates, refer to the What's Changed section below.

Update Guide

Docker compose deployments:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker compose up -d

Source Code deployments:

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

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

Read more

v0.6.8 GPT-4o is available now in Dify

13 May 19:21
eee9519
Compare
Choose a tag to compare

✨ What’s New in v0.6.8? ✨

Hey folks, we've rolled out version 0.6.8 of our platform and it's packed with some new features, enhancements, and fixes. Here’s a quick rundown of what’s new:

🚀 New Features

⚙️ Enhancements

  • Optimized workflow graph sync by @takatost in #4251 and @zxhlyh in #4250.

    Now, you won't lose any workflow graph data when switching between multiple tabs in the browser. It's instantly synced to the latest draft version!

  • Hide node detail outputs and run details in web apps to streamline interfaces by @takatost in #3954 and @iamjoel in #4289.

    Before, the tracing of the workflow might expose the log details of the nodes to the end-users, now we have disabled it.

  • Increased max steps to 50 in workflows by @takatost in #4252.

  • Question classifier prompt optimization for better accuracy by @JohnJyong in #4262.

    After optimization, the classification results will be more accurate.

  • Optimized install form for better user experience by @TinsFox in #4154.

🛠️ Bug Fixes

  • Fixed workflow zoom in/out shortcuts by @zxhlyh in #4283.
  • Addressed an issue where web apps did not show number type input fields by @iamjoel in #4292.

For additional enhancements and updates, refer to the What's Changed section below.

Update Guide

Docker compose deployments:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker compose up -d

Source Code deployments:

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

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.6.7...0.6.8