Skip to content

Releases: langgenius/dify

v0.11.2

18 Nov 09:54
7f1fdb7
Compare
Choose a tag to compare

✨ What’s New in v0.11.2? ✨

Important

Heads up! Starting with the next minor version, we'll no longer support Python 3.10. Make sure to upgrade to Python 3.11 or 3.12 to stay current with our updates.

Version 0.11.2 is here with new models, tools, improvements, and bug fixes for a smoother experience. Here’s what’s new:

🚀 New Features

⚙️ Enhancements

  • Added an inverted chat color theme toggle by @fujita-h (#10558).
  • Made CODE_EXECUTION_TIMEOUT configurable via .env by @lzzzzzzzzz (#10688).
  • Enabled up/down arrow key navigation for group questions, improving debugging by @dajianguo (#10793).

🛠️ Bug Fixes

Enjoy these updates and streamline your workflows with the new features and fixes. Happy coding!


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

New Contributors

Read more

v0.11.1

11 Nov 10:33
9550b88
Compare
Choose a tag to compare

✨ What's New in v0.11.1? ✨

Important

Heads up! Starting with the next minor version, we'll no longer support Python 3.10. Make sure to upgrade to Python 3.11 or 3.12 to stay current with our updates.

We're back with some fresh features and crucial fixes in version 0.11.1. Let’s dive in and see what's changed:

🚀 New Features

  • Vanna AI Base URL Configuration: You can now configure the base URL for VannaAI, allowing more flexibility in routing requests by @BenjaminX in #10294.

  • Anthropic Claude-3-5-Haiku Support via OpenRouter: Get ready to leverage the capabilities of Anthropic’s Claude-3-5-Haiku by @infinitnet in #10331.

  • GitLab Tools Integration: Amp up your DevOps with the integration of GitLab tools by @wlrnet in #10407.

  • Video Understanding and CogVideo Tool Support: Your LLM can now understand videos, and with the new CogVideo tool, process them too! Thanks to @hjlarry in #9828 and #10456.

  • Tool Search Enhancement: You can now search for tools using the provider’s name, making it easier to find exactly what you need by @hjlarry in #10518.

  • Podcast Generator Tool Enhancements: Set the OpenAI base URL when using our podcast generation tool, thanks to @XiaoLey in #10496 and #10517.

⚙️ Enhancements

  • SSRF Request Timeout Configuration: New configuration options to customize SSRF request timeout for better security by @gubinjie in #10292.

  • PNG, GIF, and WebP Support: More image formats for your media needs by @ZuzooVn in #7947.

  • Iteration Node Enhancements: Parallel mode now maintains correct output order, and single run time per iteration is supported by @Nov1c444 in #10323 and #10512.

  • Celery Worker Log Format: Logs now respect the LOG_FORMAT environment variable, making logs cleaner and more consistent by @liuhaoran1212 in #10016.

🛠️ Bug Fixes

  • ComfyUI Tool Prompt Fix: Special prompts are back in action for the ComfyUI tool by @hjlarry in #10307.

  • Workflow and Node Fixes: Various workflow-related bugs squashed, specifically handling optional values in workflow start nodes and ensuring no failures when variables go missing by @laipz8200 and @zxhlyh in #10471 and #10529.


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

Read more

v0.11.0

05 Nov 09:55
7f583ec
Compare
Choose a tag to compare

🌟 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...
Read more

v0.10.2

28 Oct 10:48
de57af4
Compare
Choose a tag to compare

✨ What’s New in v0.10.2? ✨

We're back with version 0.10.2, packed with new features, crucial fixes, and improvements that will make your workflow smoother and more efficient. Let's break down what's included:

🚀 New Features

  • Markdown Buttons in Workflows: Sprinkle some buttons in your markdown for workflows to make them pop. Shout out to @crazywoola in #9876.

  • Document Extractor Node with JSON Support: You can now manage JSON types with extractor nodes for more flexible data extraction. Thanks to @Theysua in #9899.

  • Text-to-Image with Stable-Diffusion 3.5: Bring your text to life with the new Stable-Diffusion-3.5-large integration using siliconflow. Props to @hwzhuhao in #9909.

  • Vectorizer Support in Workflows: The Vectorizer tool is now at your disposal within workflows for better data manipulation—kudos to @hjlarry in #9932.

🛠️ Enhancements and Fixes

  • API Documentation Upgrade: We've polished our API documentation for advanced chat and workflow functionalities. Special thanks to @kurokobo in #9882.

  • LLM Node Streaming Output Fix: Fixed the LLM Node streaming output to properly function after IF-ELSE decisions, ensuring your workflows are on track. Thanks to @laipz8200 in #9875.

  • Workflow Code Generator Update: Cleared up the Generate button from incorrect locations for a more intuitive workflow setup. Update by @Kota-Yamaguchi in #9740.

  • Enhanced Prompt Handling in Workflows: Added vision support in prompts for more dynamic configurations. Nicely done by @laipz8200 in #9790.

  • Improved File Handling in HTTP Requests: Your HTTP requests within workflows are now more robust. Much appreciated, @laipz8200 in #9944.

  • ⚠️ Fix for Tool Var Type Error: If you're using a "Number" parameter in "Workflow as Tool," please remove and re-add this tool to avoid any issues. Thanks to @iamjoel in #9937.

  • Chat Log Display Fix: We've resolved the display problems for chat logs, making sure everything shows up correctly. Big thanks to @xuzuodong in #9777.

  • Vision Support for Tool Image Gen: Image generation with vision models is now supported within your workflows—credit to @hjlarry in #9871.

  • System Parameters Standardization: Our system parameters have been standardized across the board. Cheers to @laipz8200 in #9797.

  • Image Previews in DOCX: Fixed issues with previews in 'docx' knowledge bases. Thanks again to @laipz8200 in #9893.

This release is all about enhancing your workflow capabilities and providing robust tools and documentation to back them up. Keep the feedback coming and happy building! 🌟


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

  • Update Code Generator to use the currently configured model. by @Kota-Yamaguchi in #9740
  • fix(api): handle missing upload_file_id for tool_file messages by @laipz8200 in #9756
  • feat: regenerate history switch navigation by @xuzuodong in #8749
  • feat:Add host volume env variables for postgres, redis and weaviate by @jter in #9761
  • fix: fe can not start by @iamjoel in #9768
  • Update README_CN.md by @sunner in #9766
  • fix: chat log not showing correctly by @xuzuodong in #9777
  • refactor(file_factory): improve filename and mime type determination by @laipz8200 in #9784
  • fix(workflow): enhance prompt handling with vision support by @laipz8200 in #9790
  • remove unstructured pdf extract by @JohnJyong in #9794
  • fix: chart tool can't display chinese by @hjlarry in #9686
  • chore(docker): correct package version for expat and perl in Dockerfile by @laipz8200 in #9801
  • openai compatiable api usage and id by @guogeer in #9800
  • chore(docker): add default for MAX_VARIABLE_SIZE in docker-compose by @laipz8200 in #9798
  • feat(parameters): standardize system parameter field types and values by @laipz8200 in #9797
  • chore: abstract common function with local storage by @yaoice in #9811
  • Added description for .ppt, specify the reason for unstructured.io by @Theysua in #9452
  • chore: make doc extractor node also can extract text by file extension by @hjlarry in #9543
  • Feat: use file size limit from api by @JzoNgKVO in #9739
  • feat(api): add generic file size limit parameter by @laipz8200 in #9812
  • refactor: update load_stream method to directly yield file chunks by @hwzhuhao in #9806
  • fix: duckduckgo image search not work by @hjlarry in #9821
  • feat: create_empty_dataset api add the description parameter and update api docs by @rchlz in #9824
  • fix: yuque book id should be string by @crazywoola in #9819
  • chore: add local storage test by @yaoice in #9827
  • add tidb on qdrant type by @JohnJyong in #9831
  • fix: exclude failed answer when sending messages by @xuzuodong in #9835
  • fix: moonshot response_format raise error by @hjlarry in #9847
  • chore: code generator button should only display in code node by @hjlarry in #9842
  • Fix: add check for maximum chunk length by @JzoNgKVO in #9837
  • chore: update api docs by @JzoNgKVO in #9832
  • chore: translate i18n files by @github-actions in #9853
  • Marking the last piece of data on each page is a duplicate issue, which can be solved by adding the id field to the order by rig and using a unique field by @yuanboao in #9799
  • feat: allow answer node use chat_var and env_var by @hjlarry in #9226
  • fix: segement settings of documents raise error by @hjlarry in #8971
  • upgrade nltk, unstructured and starlette by @JohnJyong in #9860
  • chore: add default value for redis configuration by @hwzhuhao in #9864
  • feat: support comfyui workflow tool image generate image by @hjlarry in #9871
  • feat: support button in markdown by @crazywoola in #9876
  • fix: wrong element object by @virgosoy in #9868
  • fix(workflow): Take back LLM streaming output after IF-ELSE by @laipz8200 in #9875
  • fix users had already joined a workspace, but the system still first … by @G81192 in #9834
  • docs: improve api documentation for advanced chat and workflow by @kurokobo in #9882
  • Update README.md by @leilei-jiang in #9886
  • Update README.md by @leilei-jiang in #9889
  • Update README.md by @leilei-jiang in #9890
  • Update README.md by @leilei-jiang in #9891
  • fix(api): add signature generation for image previews by @laipz8200 in #9893
  • feat(workflow): Support JSON type in document extractor node by @Theysua in #9899
  • chore: Extract common functions of the base model in Azure OpenAI Provider by @yaoice in #9907
  • fix(tools): remove the undefined variable parameter_type by @hwzhuhao in #9908
  • feat: add stable-diffusion-3-5-large for the text-to-image tool with siliconflow by @hwzhuhao in #9909
  • fix: enterprise create workspace by @ZhouhaoJiang in #9921
  • add document lock for multi-thread by @JohnJyong in #9873
  • Remove invalid languages error by @seikyo-cho-lvgs in #9928
  • fix: t...
Read more

v0.10.1

23 Oct 15:37
4003922
Compare
Choose a tag to compare

🚀 What’s New in v0.10.1? 🚀

Welcome to version v0.10.1, where we've made significant strides in expanding functionalities and enhancing user workflows. Here's a quick look at the highlights of this release:

🔹 Claude 3.5 Sonnet v2 Models

Experience advanced language processing across Google Cloud, Bedrock, and Anthropic platforms, seamlessly integrated with the latest technology advancements via #9688, #9685, and #9708.

Code Generator

Empower your Workflow's Code Node with our new Code Generator tool. This feature is designed to streamline coding processes within workflows, boosting development efficiency and reducing manual coding efforts. Check it out in #9051.

🐛 Bug Fixes

  • Custom Icon Restoration: We've reintroduced the flexibility and personalization of custom icons, addressing previous issues to ensure your icons display correctly, as implemented by @zxhlyh in #9654.

  • HTTP Node Improvements: Enhanced JSON handling and simplified request management to boost the stability and security of the HTTP Node by @laipz8200 in #9616, and fixed the handling of empty and string data inputs for consistent performance by @laipz8200 in #9579.

  • File Upload Corrections: Resolved multiple issues affecting file uploads for smoother operations. Image config uploads were corrected by @laipz8200 in #9568.

  • Improved Iteration Handling: Made iterators more robust by gracefully handling empty scenarios, as addressed by @laipz8200 in #9565.

  • VisionConfig Validation: Introduced a validator for VisionConfig entities to handle None values properly, improving data integrity by @laipz8200 in #9598.

  • Workflow Management: Improved workflow and database session management to resolve instabilities and enhance reliability by @laipz8200 in #9581.

  • If-Else Node Enhancement: Enhanced if-else nodes to properly add downstream nodes, ensuring logical consistency in workflow paths by @linfey90 in #9640.

  • Used File in Tools: Addressed errors caused by file operations in tools to ensure smoother functionality by @iamjoel in #9660.

  • Environment Variables: Fixed environmental variable issues for ModelProvider and Tool Position to ensure they operate as intended. Resolved by @tkoshida in #9650.

  • Web App UX: Corrected the style of the features panel specifically in Safari to enhance the overall visual experience by @JzoNgKVO in #9573 and addressed the email login redirect issue and corrected navigation behaviors to improve user experience by @ZhouhaoJiang in #9698.

This update is packed with critical fixes, new features, and exciting enhancements to empower your AI applications. Dive into v0.10.1 and experience these improvements firsthand!


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

Read more

v0.10.0

21 Oct 10:54
ca21c28
Compare
Choose a tag to compare

Important

If you have a Basic Chatbot or Text Generator App with the ‘Vision’ feature enabled, it will be necessary to republish the application following this update.

🎉 What's New in v0.10.0? 🎉

Hello to all the innovators out there! We're excited to unveil v0.10.0, a powerhouse update designed to enhance your flexibility and efficiency. Let’s delve into the highlights:

features

🌟 Enhanced Multi-Modal Support

This central feature boosts your workflows and chatflows with greater flexibility:

  • Advanced File Handling: Nodes like START, LLM, HTTP Request and IF-ELSE now seamlessly manage "File" types, simplifying the processing of various file formats within your workflows.

  • New Functional Nodes:

    • Document Extractor: Converts documents into text effortlessly, making data extraction straightforward.
    • List Operator: Empowers you with operations to filter, sort, and limit arrays, enhancing data control and manipulation.
  • Efficient Array Handling: Directly use array[string] and array[number] in LLM prompts for more agile data interactions.

Thanks to the tireless efforts of @zxhlyh in #9526 and @laipz8200 in #8818, this feature marks a significant leap forward.

Read more: Introducing Dify Workflow File Upload: A Demo on AI Podcast

✉️ Registry and Login with Email

Simplifying user access with:

  • Email Registration & Login: Offers a secure, straightforward access method for users, optimizing the onboarding process. Shoutout to @douxc in #8119 and @ZhouhaoJiang in #8120.

🚀 Additional Features

  • Dataset Recall Testing API: Gain insights into data retrieval efficiency with this new API, brought to you by @gubinjie in #9300.
  • Fireworks Model Integration: Access Qwen2.5 72B Instruct models for expanded AI capability, thanks to @yaoice in #9333 and #9340.

🛠️ Enhancements

  • Storybook Component Testing: Streamlined UI testing and visualization, expertly structured by @xuzuodong in #9324.
  • Timezone Conversion Enhancements: Enhanced precision and usability with support in the Time Tool, thanks to @hwzhuhao in #9393.

🔧 Fixes

  • Azure OpenAI Fixes: Resolved key issues with max token calculations for improved performance, managed by @somethingwentwell in #9326.
  • Endpoint Functionality Fixes: Strengthened the stability of the db-pool-stat endpoint, addressed by @hwzhuhao in #9478.

v0.10.0 brings a wealth of innovations to simplify and elevate your workflow capabilities. Dive in and explore these enhancements to harness the full potential of AI-driven tasks. Your feedback is pivotal, so keep it coming. Happy building! 🚀


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

Read more

v0.10.0-beta3

15 Oct 08:08
Compare
Choose a tag to compare
v0.10.0-beta3 Pre-release
Pre-release

✨ What’s New in v0.10.0-beta3? ✨

Important

This version is for preview only. Please avoid using it in production environments!

Note

Your feedback is incredibly valuable to us! We encourage you to share your thoughts and discuss any issues using the GitHub Discussions feature. You can find the entry point for Discussions at the bottom of the release page.

🚀 Major Updates

  • Enhanced Prompt Editor for LLM Node: You can now utilize Array<String> and Array<Number> types within the Prompt editor. This improvement aims to enhance the flexibility and usability of prompt design.
  • New Podcast Generator Tool: We’ve added a tool to demonstrate file generation within the platform. This feature allows you to explore how content like podcasts can be created through automated workflows.

🛠️ Bug Fixes

  • We’ve addressed several bugs reported by the community. Thank you for your contributions!

Quick Start

To upgrade to this version, follow these steps:

  1. Clone and enter our repository:
git clone https://github.com/langgenius/dify.git && cd dify
  1. Switch to the beta branch:
git checkout 0.10.0-beta3
  1. Then follow the Deploy with Docker Compose > Starting Dify.

We hope you find the new features and fixes useful. As always, your feedback and contributions are welcome to help improve Dify!

v0.9.2

14 Oct 09:22
5c7b135
Compare
Choose a tag to compare

✨ What’s New in v0.9.2? ✨

The most recent release brings some solid new features, enhancements, and bug fixes that should enhance your experience across the platform. Check out what's changed:

🚀 New Features

  • Model Additions and Enhancements: Added models qwen2.5-72b and llama3.2 for OpenRouter by @hwzhuhao in #8956. Also, O1-mini, O1-preview, and LlamaGuard models have joined the lineup thanks to contributions from @charli117 and @crazywoola.

  • Workflow System Parameters: Now, you can access sys.app_id, sys.workflow_id, and sys.workflow_run_id in your workflow system variables for more dynamic workflows, courtesy of @ZhouhaoJiang in #9108.

  • Image Generation Enhancements: The StepFun image generation tool got a boost, enabling richer and broader capabilities, spearheaded by @hwzhuhao in #8954.

  • Tools Update: Discord Incoming Webhook now lets you send messages directly, created by @yaoice. Props to @hwzhuhao for adding tags for Vanna tools too.

  • Vector Provider: Meet the new kid on the block, Volcengine VikingDB, integrated into the system and ready to expand your vector capabilities, brought to you by @yaoice in #9287.

  • CSP Support: Content Security Policy (CSP) is now supported, adding an extra layer of security to your operations, thanks to @douxc.

  • Supabase Object Storage: A new storage option at your disposal, big cheers to @hwzhuhao for the integration in #9229.

⚙️ Enhancements

  • Richer Time Tool Functions: Now you can convert and retrieve timestamps with the Time Tool, unlocking more precise temporal operations courtesy of @hwzhuhao.

  • Non-Root User for Web Container: Security gets a bump with the use of a non-root user in the web container, hats off to @s2oBCN for that.

  • Prompt Editor Optimization: Clearer and more efficient prompt editing with reset capabilities, devised by @HiChen404.

  • Customizeable Chatbot Embed: Change the size to fit your needs with default values set for your convenience—well done, @alterxyz for this addition.

  • Responsive Front-end Updates: With rerank model verification and error logs only in debug mode, your interface just became more practical and informative. Thanks, @YIXIAO0 and @hwzhuhao.

🛠️ Bug Fixes

  • API and Logs: Chat API now reliably retrieves conversation history (thanks @xuzuodong), and fixes have been applied to API proxy updates and missing model information in LLM spans.

  • Tool Descriptions: Essential descriptions are back where they belong—visible and complete, thanks to @crazywoola.

  • External Knowledge and Retrievals: Addressing issues in agent retrieval and entry allows external knowledge operation to run smoother, thanks to @JohnJyong.

  • Miscellaneous Fixes: Including max-token adjustments in OpenRouter by @infinitnet, correct session history fetching, stopping notification errors, and many more have tightened up the system, courtesy of multiple contributors.

Miscellaneous

  • Typos and Documentation: Corrected typos and added documentation on key integrations like Google Cloud Terraform, thanks to the hawk-eyed @y-omr and @sotazum.

This version packs plenty to explore, ensuring your workflows and integrations are smoother, faster, and richer with features. Happy upgrading!


Upgrade Guide

Warning

This version includes a migration that might update a large volume of messages. If you have a significant amount of message data, please review our changes in #9132 before upgrading.

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

  • chore: add missing models from Voyage by @CXwudi in #8950
  • chore: sort Gemini models by @CXwudi in #8951
  • refactor: remove unnecessary comment by @y-omr in #8949
  • chore: remove unexecuted scripts to avoid ambiguity by @yaoice in #8946
  • feat: add qwen2.5-72b and llama3.2 for openrouter by @hwzhuhao in #8956
  • feat: enhance stepfun image generation tool by @hwzhuhao in #8954
  • fix: chat API is not bringing the conversation/session history by @xuzuodong in #8965
  • fix: corrected typo by @y-omr in #8979
  • feat(Tools): add discord incoming webhook for sending messages by @yaoice in #7852
  • Update json_in_md_parser.py by @zhao85 in #8983
  • feat: Update AWS Bedrock supported regions by @Retr0-01 in #8992
  • fix: tools description is missing by @crazywoola in #8999
  • fix: failed to open links to images generated by QR code tool when using Huawei OBS by @hwzhuhao in #9034
  • fix bug when adding openai or openai-compatible stt model instance by @zhao85 in #9006
  • chore: fix the yanked dependency vesion aiohappyeyeballs 2.4.2 by @bowenliang123 in #9020
  • refactor: remove the duplicate definitions across different modules by @hwzhuhao in #9022
  • feat: add baidu obs storage by @hwzhuhao in #9024
  • fix: Missing model information in llm span of Langfuse #9029 by @aiscrm in #9030
  • fix:ddg ratelimit 202 by @leslie2046 in #9047
  • chore: move testing env variables from pyproject.toml to pytest.ini by @bowenliang123 in #9019
  • feat: Improvement- use non root user for Web container by @s2oBCN in #8928
  • chore: removing unused imports in tests by @bowenliang123 in #9049
  • fix: Ignore the error toast notification if the status is 401 and isPublicAPI is true by @douxc in #9062
  • chore: refine python dependency list and check dependencies in order by @bowenliang123 in #9061
  • fix: zhipu ai web_search not work by @hjlarry in #9058
  • docs: Add Google Cloud Terraform to README by @sotazum in #9065
  • Correct max_tokens for OpenRouter Sonnet 3.5 by @infinitnet in #9068
  • fix: Count exception occurs when searching conversations by @Gaocarri in #8754
  • feat: update the xinf tool's API key to optional by @hwzhuhao in #9073
  • fix: #8969 by @Blackman99 in #9076
  • feat: add timestamp conversion and timestamp retrieval for time tool by @hwzhuhao in #9085
  • Feat/9081 add support for llamaguard through groq provider by @crazywoola in #9083
  • fix: prompt-editor regex.lastIndex needed to reset by @HiChen404 in #9097
  • fix s3 presign url check problem, support two versions(v2,v4) by @ybalbert001 in #9093
  • refactor: Update countries & languages list for SearchApi engines by @SebastjanPrachovskij in #9090
  • chore: add the missing tool names to the _position file by @hwzhuhao in #9099
  • feat: add tags for vanna tools by @hwzhuhao in #9102
  • feat: output the execution results of tool should only in debug mode by @hwzhuhao in #9104
  • refactor: introduce storage factory and speed up api startup by importing storage client on demand by @bowenliang123 in #9086
  • chore: avoid implicit optional in type annotations of method by @bowenliang123 in #8727
  • feat: respect x-* headers for redirections by @kurokobo in #9054
  • azure add o1-mini、o1-preview models by @charli117 in #9088
  • Add customizable size for chatbot embed with default values by @alterxyz in #9115
  • Fix the margin for the rerank switch in retrieval setting by @YIXIAO0 in #9124
  • add generate conversation name error log by @pinsily in #9117
  • fix: follow-up (suggested questions) does not refer to the most recen… by @xuzuodong ...
Read more

v0.9.1-fix1

11 Oct 03:15
Compare
Choose a tag to compare

✨ What’s New in v0.9.1-fix1? ✨

Hey everyone, we’ve got some fresh updates with the release of version 0.9.1-fix1. Here’s a quick walkthrough of what’s changed:

Important

This version includes a migration that might update a large volume of messages. If you have a significant amount of message data, please review our changes in #9132 before upgrading.

🛠️ Fixes & Improvements

  • Resolved an issue with the chat API where the conversation/session history wasn't being loaded properly by @xuzuodong in #8965.

🚀 Models

  • Added missing models from the Voyage collection by @CXwudi in #8950.
  • Sorted Gemini models for better organization by @CXwudi in #8951.
  • Introduced qwen2.5-72b and llama3.2 models for OpenRouter by @hwzhuhao in #8956.

This release is all about laying solid groundwork and enhancing the features you already love. Dive in and let us know what you think!


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 0.9.1-fix1 branch

    git checkout 0.9.1-fix1
    git pull origin 0.9.1-fix1
  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 0.9.1-fix1 branch:

    git checkout 0.9.1-fix1
    git pull origin 0.9.1-fix1
  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.9.1...0.9.2

v0.10.0-beta2

01 Oct 06:07
Compare
Choose a tag to compare
v0.10.0-beta2 Pre-release
Pre-release

✨ What’s New in v0.10.0-beta2? ✨

Important

This version is for preview only, do not use in production!

Note

We highly value your feedback! Please feel free to share your thoughts and discuss any issues using the GitHub Discussions feature. You can find the entry point for Discussions at the bottom of the release page.

🛠️ Bug Fixes

  • Docker Startup Issue: Resolved an issue where Dify 0.10.0-beta1 could not be started using Docker.

Quick Start

To upgrade to this version, follow these steps:

  1. Clone the repository using the following command:

    git clone https://github.com/langgenius/dify.git
  2. Switch to the beta branch:

    git checkout 0.10.0-beta2
  3. Then follow the Deploy with Docker Compose > Starting Dify.

We hope you find the new file processing capabilities and nodes useful in this release. Your feedback and contributions are always appreciated to help us improve Dify!