Skip to content

Releases: langgenius/dify

v1.7.2

11 Aug 09:26
1.7.2
0baccb9

Choose a tag to compare

✨ What’s New in v1.7.2? ✨

Alright folks, buckle up! Version 1.7.2 is here, packed with a ton of quality-of-life improvements, bug fixes, and some slick new features to make your Dify experience even smoother. This release has been a community effort, and we want to give a big shoutout to all the contributors, especially the new folks who jumped in – welcome to the party! 🎉

🚀 Major Feature: Workflow Visualization

A new relations panel allows you to visualize dependencies within your workflows. Big thanks to @Minamiyama for #21998! Now when you select any node and press Shift, you will see magic flowing lines.

image

🚀 Major Feature: Node Search

You can now easily find nodes in the workflow editor using the new search feature by @croatialu, @ZeroZ-lab, @HyaCiovo, @MatriQ, @lyzno1, @crazywoola in #23685.

image

⚙️ Enhancements

  • Notion Database Row Extraction: The Notion Database integration now extracts rows in their original order and appends the Row Page URL. Thanks @ThreeFish-AI! #22646
  • Workflow API Version Specification: You can now specify workflow versions in the workflow and chat APIs. Thanks, @qiaofenlin! #23188
  • Tool JSON Response: Datetime and UUID are now supported in tool JSON responses, making those integrations even more powerful. Kudos to @jiangbo721! #22738
  • API Documentation: The API documentation has been revamped with a modern design and improved UX. Thanks @lyzno1! #23490
  • Workflow Node Alignment: Get those workflows looking sharp with enhanced node alignment options. Thanks, @ZeroZ-lab! #23451
  • Service API File Preview Endpoint: A new endpoint to preview service API files, making it easier to manage and debug your services. Hat tip to @lyzno1! #23534
  • Testcontainers Tests: We're serious about stability! @NeatGuyCoding and others have been hard at work adding Testcontainers tests for various services (account, app, message, workflow etc.) ensuring our services are rock solid.

🛠️ Bug Fixes

  • Full-Text Search with Tencent Cloud VectorDB: Fixed an issue where metadata filters weren't being applied correctly in full-text search mode for Tencent Cloud VectorDB. Thanks, @dlmu-lq! #23564
  • Workflow Knowledge Retrieval Cache: Fixed a cache bug in workflow knowledge retrieval. Another one bites the dust, thanks to @yunqiqiliang! #23597
  • HTTP Request Component: Resolved a multipart/form-data boundary issue in the HTTP Request component. Thanks to @baonudesifeizhai for fixing this long-standing issue! #23008
  • Conversation Variable Sync: Fixed an issue where conversation variables weren't being synced for existing conversations. Thanks to @laipz8200 for hunting this down! #23649
  • Internationalization (i18n): Numerous i18n fixes and enhancements across the board. Shoutout to @lyzno1 and the i18n team for their dedication!
  • Edge Cases Handled: We squashed a number of edge-case bugs, thanks to the contributions of many in the community.

🛡️ Security

  • XSS Vulnerability: A big thank you to @lyzno1 for identifying and fixing an XSS vulnerability in the authentication check-code pages. #23295

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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.7.2
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.7.1

28 Jul 12:50
1.7.1
0d2d349

Choose a tag to compare

🎉 Dify v1.7.1 Release Notes 🎉

Hello, Dify enthusiasts! We're thrilled to announce version 1.7.1 of our platform, bringing a fresh batch of refinements and enhancements to your workflow. Here's a breakdown of what's changed:

🚀 New Features

  • Default Value for Select Inputs: Now you can set a default value for select input fields, providing a smoother user experience when working with forms. Thanks to @antonko. (#21192)

  • Selecting Variables in Conditional Filters: We've added the capability to select variables in conditional filtering within list operations. This feature, spearheaded by @leslie2046, will streamline data manipulation tasks. (#23029)

  • OpenAPI Schema Enhancement: Support for allOf in OpenAPI properties inside schema has been added, courtesy of @mike1936. It's a big win for API design consistency. (#22975)

  • K8s Pure Migration Option: We've introduced a pure migration option for the api component within Kubernetes deployments, making migrations simpler for large-scale systems. Thanks, @BorisPolonsky ! (#22750)

⚙️ Bug Fixes

  • Langfuse Integration Path: Incorrect path handling with Langfuse integration has been corrected by @chenguowei. Now it behaves just right within your API calls. (#22766)

  • CELERY_BROKER Improvements: For those using RabbitMQ, the broker handling issue during batch document segment additions has been addressed by @zhaobingshuang. No more endless processing status! (#23038)

  • Metadata Batch Edit Cross-page Issue: Resolved a previous issue with cross-page document selection during metadata batch edits. Thanks to @liugddx for smoothing out the workflow. (#23000)

  • Windows PEM KeyPath Fix: Corrected path errors for private.pem key files on Windows systems, ensuring cross-platform reliability. Thanks to @silencesdg. (#22814)

🔄 Improvements

  • ToolTip Component Refinement: We've refined the interaction of ToolTip components within menus to enhance readability and usability. Kudos to @HyaCiovo for this optimization. (#23023)

  • PostgreSQL Healthcheck: Enhanced the healthcheck command to avoid fatal log errors in PostgreSQL. Thanks to @J2M3L2's talismanic touch. (#22749)

  • Time Formatting Internationalization: The time formatting feature has been refactored for better international support, thanks to @HyaCiovo. (#22870)

🪄 Miscellaneous

  • Revamped Tool List Page: @nite-knite made the tool list page slicker and more user-friendly—check it out! (#22879)

  • Duplicate TYPE_CHECKING Import: Removed those unnecessary imports for sleeker code. Thanks, @hyongtao-db. (#23013)

Pulling all these improvements together, this release takes a big step forward in polishing everyday experiences and paving the way for future development. Enjoy the upgrade, and as always, reach out with feedback and ideas for what you'd love to see next. Keep 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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.7.1
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.7.0 - Tool OAuth & Plugin Auto-Upgrade Enhanced

23 Jul 10:52
1.7.0
7ec94eb

Choose a tag to compare

🌟 What’s New in v1.7.0? 🌟

Version 1.7.0 is packed with features that expand our app's flexibility and enhance performance. Here's what we're bringing to the table:

🏗️ Major Feature: OAuth Support in Tool Plugins

Tool plugins now support OAuth 2.0 authentication, allowing users to securely connect with third-party services without manually managing API keys. This includes refresh token support for maintaining long-term authentication sessions.
(#22550 thanks @Mairuis @zxhlyh )
image

🏗️ Major Feature: Plugin auto upgrade strategy

Plugins can now be automatically updated with configurable upgrade policies and rollback mechanisms. The system monitors plugin repositories and performs seamless upgrades while ensuring compatibility with your Dify version.
(#19758 thanks @RockChinQ @iamjoel )
image

⚡ Enhancements

  • Citations and Attributions: Agent Nodes now support features for citing and attributing sources, care of @chiehw. #18558
  • Plugin Deprecation Notice: Stay ahead of the curve with deprecation notices for obsolete plugins, introduced by @RockChinQ. #22685
  • API Key Authentication with Query Parameter: Now supports even more streamlined security methods with an API key in query parameters, courtesy of @ACAne0320. #21656
  • Audio Configuration UI: Customize your app's audio settings right from the interface, introduced by @marcelodiaz558. #21957
  • Variable Suggestions: Suggested questions can now utilize variables by @le0zh. This brings contextual awareness to another level. #17340
  • Drag-and-Drop for Workflows: Start node variables and code node variables are now drag-and-drop enabled, simplifying workflow creation as seen in @Minamiyama's contributions. #22150 #22127
  • Custom Max Active Requests per App: Manage traffic with custom settings for your app, brought by @qiaofenlin. #22073
  • Optional OpenTelemetry (OTel) Endpoint Configuration: Ensure the best observability practices with this addition from @hieheihei. #22492
  • RFC 5322 Email Validation: Ensure compliance and smarter email validation by @NeatGuyCoding. #22540
  • Dynamic Imports for Performance: Boost your app's performance with dynamic component imports, an intelligent improvement by @WTW0313. #22614
  • External Trace ID: Maintain traceability across systems with @qiaofenlin's external trace ID propagation. #22623

🐛 Bug Fixes

  • Omitting Optional Parameters: Clean out unnecessary None settings thanks to @ACAne0320. #22171
  • Docker Networking Fix: Fix Docker file URL networking issues for plugins, resolved by @krikera. #21382
  • Plugin Installation: A persistent install hitch was ironed out by @Garden12138. #22156
  • Model Selector and App Selector: Problems with selectors were eliminated by @hjlarry. #22291
  • Session Management: Fast and reliable infrastructure with open session management by @Colstuwjx. #22306
  • Metadata and File Processing: Smarter document filtering and error handling fixed by @helojo and others. #19305

⚙️ Improvements


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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.7.0
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.6.0

10 Jul 09:57
1.6.0
390e4cc

Choose a tag to compare

🌟 What’s New in v1.6.0? 🌟

Welcome to version 1.6.0! 🎉🎉🎉 This release is packed with new features, crucial fixes, and various optimisations aimed at enhancing your experience. We've listened to your feedback and made significant improvements across the board.

🎯 Spotlight Feature: Introducing MCP Support! 🎯

We’re thrilled to introduce support for Anthropic’s Model Context Protocol (MCP) — a new industry standard for structuring model inputs and outputs. MCP makes it easier than ever to integrate with cutting-edge language models using a unified, reliable format.

image

📖 FOR MORE INFORMATION

🚀 New Features

  • MCP Support: We've integrated MCP support, opening doors for more seamless interactions. (See #20716, by Novice)

⚡ Enhancements

  • Drag-and-Drop for Topics: Now, you can easily reorder your topics list with a drag-and-drop sorting feature. (See #22066, by Minamiyama)
  • SSL Verify Toggle: You now have the ability to change SSL verification settings in the HTTP Node. (See #22052, by Davide Delbianco)
  • Batch Embedding Optimisation: Optimised batch embeddings and Qdrant write consistency. (See #21776, by luckylhb90)
  • Question Classifier Enhancements: Introduced instanceId to the class-item editor for sophisticated categorisation. (See #22002, by Minamiyama)
  • Redis Fallback Mechanism: Added a robust fallback mechanism for Redis to ensure data resilience. (See #21044, by NeatGuyCoding)

🐛 Fixes

  • Json Output Issue: Resolved an issue with JSON output that was affecting data consistency. (See #22053, by baonudesifeizhai)
  • Variable Name Uniqueness: Ensured unique variable names in the list to avoid conflicts. (See #22038, by Minamiyama)
  • Overflow Hidden Fix in Drawer: Ensured that the copy button remains clickable by adding overflow hidden. (See #22103, by Heyang Wang)
  • Plugin Daemon Failures: Addressed issues preventing plugin daemons from starting. (See #21841, by Kalo Chin)

Version 1.6.0 brings major process optimisations and removes previous bottlenecks, while introducing the Model Context Protocol (MCP) standard to greatly enhance the consistency and compatibility of model inputs and outputs. This makes integration and extension smoother and more efficient than ever. Huge thanks to all our contributors! We welcome your ongoing feedback to help us keep improving the platform together.


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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.6.0
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.5.1

02 Jul 08:58
1.5.1
bb95580

Choose a tag to compare

🎉 What’s New in v1.5.1? 🎉

In this release, we've packed a punch with a host of new features, enhancements, and fixes designed to make your experience smoother and more intuitive.

🚀 New Features

  • Knowledge Basis Indexing: Introduced KB indexing by @Gevtolev in #20868. It optimizes the access and retrieval speeds for your data treasures.
  • Model Provider Validation: Added model provider validation in the API by @khoazero123 in #21582. Ensure your models are always in check.
  • Dynamic Select Parameter: Implemented DYNAMIC_SELECT for dynamic options in parameter entities by @Yeuoly in #21425. Say goodbye to static param limits!
  • Structured Output Plugin: Now invoke LLMs with structured output via a new API endpoint by @Yeuoly in #21624.
  • Adaptive Panel Width Management: A refactor to add adaptive width observer for panels by @ZeroZ-lab in #21576.
  • New Plugin Enhancements: Default value autofill in plugin settings by @leslie2046 in #21669.

🌟 Enhancements

  • Front-End UX: Improved tooltip for workflow run node names and input restrictions by @CorrectRoadH in #21564 and #21562.
  • UI and Style Tweaks: Various style fixes and enhancements, including decreasing navbar z-index for clarity by @douxc in #21612.
  • Langfuse Trace Readability: Enhanced the clarity of Langfuse traces, making debugging and performance tracking clearer by @DavideDelbianco in #21777.

🛠️ Bug Fixes

  • Various UI and API Fixes: Addressed pop logic in tool selectors, variable inspection, and numerous API-related bugs to ensure a smoother experience.

    • Fixed incorrect doc links and context insertion in prompt editors by @iamjoel and @zxhlyh.
    • Resolved false token numbers and auto-increment errors in question-answer models by @NeatGuyCoding in #21574.
    • Fixed node validation, hover effects, and modal presentations to fully support your workflows by multiple contributors.
  • Error Handling & Reset Issues:

  • Integration and Language Support:

    • Improved integrations with services like Notion and document detail services by @baonudesifeizhai and others.
    • Fixed dollar-sign escaping in LaTeX for smoother document processing by @ShadowJobs in #21796.

This latest release blends a blend of functional enrichment and optimized usability across the board. Dive in and make the most of these updates - we can't wait to see what you build next! Happy developing! 🎨🛠️


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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.5.1
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.5.0

25 Jun 09:35
1.5.0
3acaa59

Choose a tag to compare

🚀 What's New in v1.5.0?

Meet v1.5.0—a sleek, powerful update boosting your productivity with simplified debugging and powerful integrations. Let's jump right in:

🏗️ Major Feature: Enhanced Workflow Debugging

We've completely rebuilt our workflow debugging tools! Effortlessly visualize and troubleshoot workflows with improved interfaces, persistent debugging variables (#20699, thanks @QuantumGhost), and enhanced dashboard integration (#21369, kudos to @iamjoel). Easily track your workflow runs directly from the dashboard, and spend less time debugging and more time creating amazing workflows. Dive deeper in our blog post.

variable-inspect

✨ New & Improved Features

  • Drag-and-Drop DSL: Easily create apps by dropping DSL files directly into your browser (#20706, @ACAne0320).
  • Enhanced Default Templates: sys.files now included for more powerful web apps (#21476, @laipz8200).
  • Hidden Form Attributes: Greater UI flexibility and control (#20956, @croatialu).
  • MatrixOne Integration: Advanced data strategies with MatrixOne VDB integration (#20714, @volgariver6).
  • Firecrawl Deep Search: Richer content discovery with an enhanced search endpoint (#20521, @ftonato).
  • Notion Pagination: Easier navigation through extracted Notion data (#20919, @kazuya-awano).
  • SendGrid Integration: Seamless, reliable email delivery (#21011, @andrematteo).

🛠️ Refinements & Fixes

  • Smart Login Redirects: Intelligent user navigation with automatic login redirects (#21096, @douxc).
  • Environment Sync: Automatic syncing of environment and conversation variables on import (#21215, @zxhlyh).
  • API UX Improvements: Enhanced loading states, icon support, and rendering fixes (#21091, #20761, @kerwin612, @HyaCiovo).
  • Responsive Charts: Improved analytics interactions with smoother, responsive charts (#21185, @xuzijie1995).
  • Stable Markdown: Prevent crashes and enhance data integrity with improved markdown handling (#21258, #21309, @hjlarry, @koevas1226).
  • App Icon Picker: Cleaner and better-organized UI with stable heights and collapsible sections (#21399).
  • Instant Dataset Insights: Quickly access essential dataset information directly from your workflows (#21413, #21406, @JohnJyong).

We crafted v1.5.0 to enhance your productivity—dive in, explore, and start 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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.5.0
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.4.3

16 Jun 07:30
809a0ab

Choose a tag to compare

🚀 What’s New in v1.4.3? 🚀

It’s all about smoothing out the wrinkles and enhancing flexibility in this update. Here’s the rundown:

🛠 Fixes and Improvements

  • LLM Node Enhancements: We've ironed out issues with missing parameters for structured outputs; now your LLM node is more robust and prepared for all it can handle thanks to @laipz8200 in #20915.

  • Gemini LLM Support: For those integrating with Gemini, you'll now find support for the Gemini 0.2.x plugin running smoothly in your agent apps, as addressed by @takuya-o in #20794.

  • Markdown Button Fix: Sending messages through the Markdown button should now work flawlessly, thanks to @hjlarry in #20933.

  • Login Rate Limit Clearing: After a password reset, we’ve made sure the login rate limits are cleared, preventing any unnecessary hurdles, addressed by @xuzijie1995 in #20948.

  • App Info Update: For better transparency, the author_name is now part of the app info, thanks to @quicksandznzn in #20973.

  • Documentation Link Fixes: We’ve generalized the method for retrieving documentation links to respect localizations and squashed those error link paths, thanks to insights from @bowenliang123 in #20801.

  • Document Indexing Boundaries: A fix ensures document indexing is correctly bound to a session, reducing those pesky unbound errors, tackled by @xuhaixing in #21015.

  • Conversation Panel Optimization: We've fine-tuned the width adjustment logic for the conversation-panel modal, ensuring a smoother user interface experience, improved by @HyaCiovo in #21018.

  • CI Tests with Oceanbase: Integration tests now run the VDB tests of Oceanbase using Docker Compose within CI, streamlining our testing procedures thanks to @bowenliang123 in #20945.

  • Dead Code Cleanup: We’ve removed some obsolete code utilizing Vulture, keeping our codebase leaner and cleaner, courtesy of @yihong0618 in #20999.

  • Localized Documentation Updates: Documentation link updates now support localization across various components, enhancing accessibility for our global community, thanks to @WTW0313 in #21048.

Keep those pull requests coming as we aim to make your user experience as seamless and intuitive as possible! 🌟


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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.4.3
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

New Contributors

Full Changelog: 1.4.2...1.4.3

v1.4.2

11 Jun 08:29
acb2488

Choose a tag to compare

🚀 What's New in v1.4.2?

We've packed v1.4.2 with usability upgrades, polished features, and stability enhancements. Check out what's new:

🌟 New Features & Improvements

  • Smarter Webapp Inputs: Automatically fill hidden fields using URL parameters (#20630), by @hjlarry.

  • Efficient Document Extraction: Faster, streamlined processing for Excel and CSV files (#20625), thanks to @HaiyangPeng.

  • Marketplace UI Update: Easier browsing with improved sorting for app types (#20685), courtesy of @nite-knite.

  • Personalized Chatbot UX: Chat input placeholder now dynamically displays your bot's name (#20473), thanks to @crazywoola.

  • Robust File Uploads: Addressed issues with multiple file extension mappings (#20559), by @bowenliang123.

  • Advanced Knowledge Base API Features:

    • Refined metadata filtering for precise querying. Targeted searches using chunk IDs (#20426), by @Gevtolev.
    • Improved tagging and dataset binding capabilities (#20023), thanks to @ZombieBlue.
  • Weave Tracing & W&B Integration: Enhanced support for dedicated cloud instances for better operations monitoring (#20765), from @parambharat.

🔒 Security Updates

  • Flask-Cors Upgrade: Enhanced security by updating to the latest Flask-Cors version (#20577), by @laipz8200.

🐛 Bug Fixes

  • Resolved 401 Errors:

    • Smooth parallel workflow execution (#20321).
    • Fixed authentication issues in workflow_as_tool (#20347).
    • Eliminated backward invoke errors (#20374).
      All thanks to @laipz8200.
  • Agent Node Refinements:

  • Annotation API Fix: Restored the missing end_user argument (#20428), courtesy of @quicksandznzn.

  • Docker Environment Corrections: Fixed erroneous handling of environment variables (#20436), by @crazywoola.

  • Code Node & Trace Management:

    • Enhanced array validation in code nodes (#20437), by @Yeuoly.
    • app_id now included in TraceTasks for better management (#20461), thanks to @laipz8200.
  • HTTP Node Reliability: Corrected curl operations using --data (#20471), by @hjlarry.

  • Memory Leak Prevention: Fixed Celery worker leaks ensuring jobs close correctly (#19268), by @JohnJyong.

  • Improved Housekeeping Command: Now preserves avatar images and app icons correctly (#20532), thanks to @kurokobo.

  • Email Invitation Fixes: SMTP authentication errors resolved (#20545), by @AnshumanSaini.

  • Consistent App Tagging: Resolved app tag update issues (#20618), by @Nov1c444.

  • Markdown Rendering Fixes: Ensured abbreviations display properly in react-markdown (#20648), by @xuzijie1995.

  • LLM Node Image Parsing: Improved reliability for single-step executions with images (#20417), by @lrhan321.

  • Restored Agent Moderation: Functionality fully restored (#20673), by @Nov1c444.

  • Plugin Extension Performance: Restored responsiveness and speed (#20704), by @Yeuoly.

  • Question Classifier Stability: Executions now error-free (#20829), thanks to @QuantumGhost.

  • Enhanced Web UX: Single-run modals now auto-dismiss for better usability (#20865), by @HyaCiovo.

Enjoy these improvements and a smoother, more stable experience! 🚀


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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.4.2
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.4.1

27 May 08:12
fe01de5

Choose a tag to compare

🚀 What’s New in v1.4.1? 🚀

Welcome to version 1.4.1! This release is all about squashing bugs, enhancing functionality, and making everything run smoother. Here’s the scoop:

🚀 New Features

  • Optional Request Logging: Now you can configure optional request and response logging to help with debugging and tracking, thanks to @NeatGuyCoding in #19783.

  • Web Media Element Enhancements: Added support for both <video> and <audio> elements with src attributes, bringing you more flexibility when embedding media, by @ruanjf in #19988.

  • Aliyun OSS Storage Support in Plugin Daemon: The new Plugin Storage Type now supports Aliyun OSS, catering to users in need of this cloud storage option, courtesy of @quicksandznzn in #20012.

  • Tracing Conversation in Opik Tracer: Introduced support for tracking conversations via Opik Tracer, enhancing your tracing capabilities, integrated by @Lothiraldan in #20063.

  • Streamlined App Creation: Simplified the app creation experience with collapsed basic app types for a more intuitive setup, thanks to @guchenhe in #20007.

  • Document Extractor Enhancements: Implemented the chardet encoding in our document extractor to handle varied text encodings more robustly, courtesy of @laipz8200 in #20269.

🛠️ Fixes and Improvements

  • Security Update: Upgraded qdrant-client to version 1.9.0 to keep your environment secure and up to date by @Gevtolev in #20231.

  • Overflow and Layout Fixes: Corrected metadata condition name overflow and improved handling of long bot descriptions by @CorrectRoadH in #19812 and #19805.

  • File Upload and Export: Resolved issues with avatar uploads and custom file type exports so everything uploads without a hitch by @iamjoel and @hjlarry in respective pulls.

  • Performance Optimizations: Improved several workflows, including the validation logic in OpsTraceManager and chart rendering in markdown to tackle flickering and looping issues, with help from @jameshui1997 and @xuzijie1995 among others.

  • Knowledge Retrieval and Workflow Enhancements: Addressed an uninitialized variable error and improved logic in knowledge retrieval efforts by @zhudongwork and others.

Upgrade to v1.4.1 and enjoy a more streamlined, robust, and feature-rich experience that primes your projects for success!


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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.4.1
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more

v1.4.0

15 May 15:05
4dc06ee

Choose a tag to compare

🌟 What's New in v1.4.0? 🌟

🎂 Dify turns 2! New look, new brand, same mission.

Imagine if every idea could become an AI agent. With Dify, ‘if’ you can ask it, you can build it.

Check out the new Dify.AI and start building your if today.

🚀 New Features & Enhancements

features

🌙 Dark Mode

We’ve rolled out a theme switcher that allows you to easily toggle between light and dark modes, perfect for those late-night coding sessions. Click your avatar to experience it! This feature helps reduce eye strain and allows you to customize your user interface to match your preference. Thanks to @JzoNgKVO in PR #18093 for making this possible.

🖼️ Multi-Modal LLM Output

Our platform now supports multimodal outputs, allowing LLMs to handle both text and images within the LLMNode. This feature enhances the richness of data interaction and boosts your model's capabilities, courtesy of @QuantumGhost's efforts in PR #17372. You can now try these new features using the Gemini 2.0 Flash Exp model! This integration ensures that your AI can process and respond with both text and visual data seamlessly.

✏️ Editable Questions

We’ve added greater control over your questions, allowing them to be edited before they go live. This update ensures that you can tweak questions for clarity and relevance, as implemented by @HyaCiovo in PR #19117.

🔧 Bug Fixes and Improvements

  • Enhanced Redis Management: Support Redis client-side caching for optimized data handling (though it’s disabled out-of-the-box), improving overall system performance. Credits to @bowenliang123 in PRs #19493 and #19524.

  • Robust Workflow Management: Addressed numerous inconsistencies and bugs in workflows, ensuring smoother, more reliable operations across the board. Our workflows can now handle node failures more gracefully, thanks to contributions from @Kevin9703 in PR #18994.

These features and improvements reflect the feedback from our amazing community and aim to elevate both usability and functionality. We hope these updates significantly enhance your user experience!

Big thanks to all contributors for steering this version forward. Happy experimenting! 🙌


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. 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 the API server, Worker, and Web frontend Server.

  2. Get the latest code from the release branch:

    git checkout 1.4.0
  3. Update Python dependencies:

    cd api
    uv sync
  4. Then, let's run the migration script:

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


What's Changed

Read more