Skip to content

Releases: langgenius/dify

v1.6.0

10 Jul 09:57
1.6.0
390e4cc
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

v1.3.1

28 Apr 09:06
1.3.1
49678e4
Compare
Choose a tag to compare

🚀 What's New in v1.3.1?

Hello Dify community! Version 1.3.1 is here and packed with updates aimed to enhance your LLMOps operations and workflow. Let’s take a closer look at what's included:

🌟 New Features

  • VTT to Document Transform: We've enhanced the Document extractor to support VTT data formats, thanks to @te-chan2.
  • Advanced Storage Management: Admins, rejoice! You can now easily reclaim storage space by cleaning up unused files. This feature is courtesy of @kurokobo.
  • Vastbase Vector Database Support: Enjoy seamless integration with Vastbase vector DB for more efficient processing, thanks to @yayaxxww.

👌 Improvements & Refactoring

  • Frontend Timezone Support: The frontend now respects timezone for timestamps, thanks to @JzoNgKVO.
  • Enhanced Embedded Chatbot Usability: Drag-and-drop functionality in embedded websites has been improved significantly for both mouse and touch inputs, by @hjlarry.
  • Upload Folders to Knowledgebase: Simplify your knowledgebase management by uploading entire folders directly, thanks to @Silow9.

🛠️ Bug Fixes

  • Model Plugin Order Correction: Fixed order settings enforcement from position.yaml, thanks to insights by @bravomark.
  • Authorization & Password Autofill Fixes: Resolved unintentional password autofill behavior within authorization plugins, by @hjlarry.
  • Import Template Error Fix: Squashed those bugs—no more errors when importing templates! Special acknowledgment to our diligent devs for this fix.

That's all in v1.3.1! Get your hands on these new features and improvements, and do let us know your thoughts and feedback on our forums or GitHub discussions. Until next time, keep coding and exploring! 🚀


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

  • chore: fix reimported by @IthacaDream in #18610
  • embedding in websites support initializes to specify the conversation_id by @junjiem in #18602
  • fix: improve translation of community code of conduct sentence by @minglu7 in #18607
  • feat: add missing switches by @crazywoola in #18619
  • embedding in websites setting conversation_id requires hiding reset conversation button by @junjiem in #18623
  • fix: enhance TOC navigation with scrollable overflow for better usability by @ZeroZ-lab in #18636
  • Add jp translation by @HanqingZ in #18628
  • Fix some prompt typos by @mPyKen in #18645
  • fix agentflow error if first variable is num by @ZombieBlue in #18660
  • fix some browser autofill password when authorization plugin by @hjlarry in #18661
  • fix: sometimes error message not display complete by @hjlarry in #18663
  • chore(docker): bump dify-plugin-daemon to 0.0.9 by @laipz8200 in #18672
  • fix: link address error in the embedding in websites first example by @junjiem in #18677
  • fix: remove chat variable in workflow mode by @zxhlyh in #18696
  • Added the missing path of the webpath prefix and the prefix basepath + of static resources to remove the bug of adding more basepath. by @gq957534377 in #18658
  • fix: project version to 1.3.0 in package.json and uv.lock by @junjiem in #18684
  • feat: support vastbase vector database by @yayaxxww in #16308
  • fix: not render conversation var in prompt editor by @iamjoel in #18728
  • [Lindorm VDB] Add the QUERY_TIMEOUT parameter to force the search query to fail. by @AlwaysBluer in #18613
  • issue: #17056 : Add a reason field to the message_replace event by @just2gooo in #17195
  • fix: buildin tool provider credentials_for_provider by @luckylhb90 in #18725
  • Resolves #18536 Retreive conversation variables by @AlexChim1231 in #18581
  • fix: enable Milvus database configuration via .env(#18707) by @jiawei5807 in #18714
  • fix: wording in README.md by @crStiv in #18751
  • fix: update api rate limit on Pricing page by @douxc in #18755
  • enable pan by fingers by @crazywoola in #18775
  • fix(web): add missing 'clsx' dependency for pagination component by @minglu7 in #18769
  • fix: #18744 The model order defined in position.yaml in the Model Plugin is not taking effect. by @bravomark in #18756
  • optimize account status field hard coded by @gsmini in #18771
  • fix: Allow advanced chat app to get workflow run detail (#18753) by @1betatsu in #18758
  • fix: embed chatbot can't drag when use mouse by @hjlarry in #18781
  • refactor: Apply DI to WorkflowNodeExecutionRepository. by @laipz8200 in #18794
  • feat(app_dsl_service): Refines version compatibility logic by @laipz8200 in #18798
  • Hotfix/create from template category by @douxc in #18807
  • fix(plugin_service): Add marketplace enabled check before plugin operations by @Yeuoly in #18806
  • feat: Add W&B Weave Tracing Integration by @parambharat in #14262
  • fix depth param issue for WaterCrawl by @wesleysui in #18839
  • feat: add administrative commands to free up storage space by removing unused files by @kurokobo in #18835
  • fix: LLMResultChunk cause concatenate str and list exception by @hjlarry in #18852
  • feat: change delete status code from 200 to 204 by @devxing in #18398
  • fix: update notice for users for clear-orphaned-file-records and remove-orphaned-files-on-storage commands by @kurokobo in #18864
  • fix: install plugins permissions by @zxhlyh in #18870
  • fix: check dsl version when create app from explore template by @zxhlyh in #18872
  • chore: support other webapps embedded in iframe by @iamjoel in #18877
  • refactor: rename plugin manager to plugin client and rename path from manager to impl by @Yeuoly in #18876
  • fix: Text Generation App should not should not show embedded in website by @crazywoola in #18880
  • [Observability] Convert exception logging into span in OpenTelemetry by @TedaLIEz in #18821
  • refactor: remove external link for dataset description guidance by @ZeroZ-lab in #18884
  • feat: add interfaces of OAuth handler methods for authorization by @Yeuoly in #18889
  • chatflow/workflow add field required by @junjiem in #18892
  • fix: annotation update need use http put method and annotation-reply api doc parms wrong by @safejob in #18891
  • refactor: Refactors repository imports structure by @laipz8200 in #18901
  • chore: disabled struct output not show model not support warning by @iamjoel in #18909
  • fix: when cot_agent call tool like searxng lost some response content by @hanqingwu in #16781
  • [Observability][Bugfix] Fix expected an instance of Token, got None error in OpenTelemetry by @TedaLIEz in #18934
  • fix: i.find is not a function by @crazywoola in #18945
  • feat: add VTT data transform to Document extractor by @crazywoola in #18936
  • fix: classify remove always remove the last one by @iamjoel in #18959
  • fix: header padding by @zxhlyh in #18957
    ...
Read more

v1.3.0

23 Apr 08:50
1.3.0
e9aedc7
Compare
Choose a tag to compare

🌟 What's New in v1.3.0 🌟

Hey tech fam, welcome to version 1.3.0! We've been grinding to bring in some slick enhancements, bug fixes, and new capabilities. Let’s dig into what’s freshly brewed:

🚀 New Features

image

  • Structured Output in LLM Node: We've introduced structured output support for the LLM Node. This means your language models can now return neatly organized and easily processable data. Backend implementation by @Nov1c444 in #17877 and frontend magic by @iamjoel in #17994 ensure this feature is seamless and powerful for developers.
    Check out our intro video for more details: Dify's Structured Output: Make AI Agent chat with API easier

  • Never Miss a Plugin Update: Our new feature ensures you're always in the loop. When a new version of a plugin drops, you'll see a clear indicator right in the UI. This keeps your environment up-to-date and running smoothly, thanks to @Yeuoly in #17695.

  • Token Counting Made Easy: We've tweaked the default token counting rules. Now, if your provider doesn't return token usage, we'll default to using 0. However, if you'd like to estimate using the tokenizer, you can set PLUGIN_BASED_TOKEN_COUNTING_ENABLED=true. Heads up, this might impact performance, detailed by @laipz8200 in #17706.

  • Workflow Export Delight: Ever wanted to share your workflow effortlessly? You can now export it as an image with the slick new feature from @ACAne0320 in #17904.

  • Mermaid Analysis Gets Smarter: Optimization magic was done on Mermaid by @charli117 in #18089 for all you diagram enthusiasts out there.

🛠️ Enhancements

  • Python Package Manager Upgrade: We made a significant switch from poetry to uv as our Python package manager. This speeds up operations, minimizes merge conflicts, and streamlines our development process. Huge thanks to @bowenliang123 for leading this transition in #16317.

  • Slick Shortcuts & Indicators: Consistent keyboard shortcut support and handy visual indicators have been rolled into all app creation dialogs thanks to @ACAne0320 in #17138. Speed and efficiency now go hand in hand.

  • Observability on Steroids: Integrated OpenTelemetry for better observability in workflows by @TedaLIEz in #17627 and beefed it up with HTTP metrics in HTTP response handling.

  • Type Safety Surge: Massive improvements on type safety in components like PluginList by @samuel871211 in #17498. Our internals are as tight as ever!

🐛 Bug Fixes

  • Style & Layout Wrinkles Ironed: Various layout and style improvements across components to improve readability and consistency, mostly spearheaded by @ZeroZ-lab and pals.

  • Fixing the Fixables: Squashed bugs such as the pesky workflow run panel resizing issue and a couple of others like clickjacking prevention thanks to @hjlarry and @iamjoel.

  • Error-Free Conversations: Fixed the conversation log issue that could throw a 500 error. Clean data for sweet conversation flow is the norm again.

🌐 Language & Locale Updates

  • Japanese Touch-Ups: Some timely translation updates and locale param support by @t-daisuke for plugins. Quick ‘Yoro-shiku’ to our Japanese community!

  • German Date Format Tweak: Corrected an unsupported date format issue, courtesy of @haocheng6 ensuring German precision.

🔧 Chores & Docs Love

  • Git Workflow Optimization: Speedier git checkouts by shaving off unnecessary layers — kudos to @bowenliang123 in #18103 for the efficiency boost.

That’s a wrap, people! Enjoy exploring v1.3.0's new dimensions and as always, stay curious and keep building. Cheers! 🚀✨


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

09 Apr 09:23
1.2.0
2c2efe2
Compare
Choose a tag to compare

🚀 What’s New in v1.2.0? 🚀

Hello community! We’re excited to share our v1.2.0 update with you—it's packed with impressive new features, enhancements, and of course, some good ol' bug fixes. Sit back, sip your coffee, and let's dive into what's new!

🎉 Highlight of the Release

  • New Workflow Loop Node: A huge shoutout to @Woo0ood, @arkunzz, @Gevtolev and @zxhlyh for dropping this game-changer in #14863, #17268 and #17273! The Loop Node feature maximizes efficiency in automation by allowing you to iterate over items in your workflows seamlessly. This is a big step forward in letting you do more with less. Kudos to the development team for making this happen!

🌟 New Features

  • Childchunk API Added: Thanks to @ZeroZ-lab in #16094, we've introduced the childchunk API to enhance your workload flexibility.

  • OceanBase Hybrid Search: Courtesy of @hsiong in #16652, this feature integrates hybrid search capabilities within OceanBase, providing more robust query options.

  • Webapp Input Flexibility: Webapp now allows input changes after a conversation starts, by @JzoNgKVO in #16901.

  • Langfuse LLM Node: Input and output support are enhanced by @ZhouhaoJiang in #16924.

  • Tablestore Vector Database Support: By @wanttobeamaster in #16601—it's like giving your data superpowers!

  • WaterCrawl.dev Integration: Thanks to @amirasaran in #16396, this is now available as a new knowledge base provider.

  • Plugin Daemon OSS Env Config: By @quicksandznzn in #17663, enhancing your plugin management.

🛠️ Enhancements & Bug Fixes

  • Metadata Fixes & Optimizations: We've got metadata variable value fixes by @JohnJyong in #16665 and metadata filter improvements from various contributors. Your data management is smoother than ever!

  • UI/UX Improvements: Whether it’s fixing layout issues on mobile (thanks, @LeeeeeeM in #16793!) or improving text spacing on charts (@ACAne0320, #16894), we’re committed to a slicker experience.

  • Multilingual Support: Added jp_ja for the knowledge API by @crazywoola and supported Tablestore vector database—a shout-out to our international users.

  • UI Consistency Tweaks: Little UI adjustments for a big impact, like updating border radius for dropdowns and other forms, thanks to our vigilant community contributors.

  • Security & Efficiency: Fixes like the provider credentials load error by @liuzhenghua ensure the platform's robust performance. Also, optimizing the database workflow app log index has been another focus area.

  • Additional Fixes: Addressing multiple translation gaps, account errors, and something as specific as the Function's Name Mismatch by @hyongtao-db—keeping us refined!

  • Education API Introduction: By @GareArc in #17168, we’re aiming to broaden horizons with educational integrations.

🏗️ Miscellaneous

  • Code Quality & Documentation: We've cleaned up typos, added unit tests, and brought in a sparkle to our codebases for VDB, ensuring smooth sailing for devs and users!

In conclusion, this release is about empowering you with flexibility and reliability, from the all-new Loop Node to a windfall of other enhancements. Thanks to everyone contributing to shaping the future with our open-source spirit. Keep pushing the envelope and happy innovating! 👐


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


What's Changed

Read more