github langgenius/dify 0.6.12
v0.6.12

latest release: 0.6.12-fix1
2 days ago

✨ 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

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

  • 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

New Contributors

Full Changelog: 0.6.11...0.6.12

Don't miss a new dify release

NewReleases is sending notifications on new releases.