
## 🧠 Multimodal Knowledge Base
Dify can now understand **both text and images** in your knowledge base.
Before, embeddings only cared about words. But real docs? They’re full of screenshots, diagrams, memes (don’t lie), and markdown with embedded images. Now those visuals count too.
### What’s Actually Happening
1. **Auto‑Image Extraction**
Drop a doc with Markdown images — like `` — and Dify grabs them automatically (JPG, PNG, GIF ≤ 2 MB).
2. **Smart Attachment Handling**
Each image is linked to its matching text chunk, so context stays tight.
3. **Embedding Behavior**
- Using a **multimodal embedding model**? Then both text + image get vectorized. You can:
- search text ↔ image,
- image ↔ image,
- or image ↔ text.
Basically, everything ↔ everything.
- Sticking with a regu
## Firecrawl v2.7.0 is here!
- ZDR Search support for enterprise customers.
- Improved Branding Format with better detection.
- Partner Integrations API now in closed beta.
- Faster and more accurate screenshots.
- Self-hosted improvements
And a lot more enhacements, check it out below!
## **New Features**
- **Improved Branding Extract**
Better logo and color detection for more accurate brand extraction results.
- **NOQ Scrape System (Experimental)**
New scrape pipeline with improved stability and integrated concurrency checks.
- **Enhanced Redirect Handling**
URLs now resolve before mapping, with safer redirect-chain detection and new abort timeouts.
- **Enterprise Search Parameters**
New enterprise-level options available for the `/search` endpoint.
- **Integration-Based User Creation**
Users can now be automatically created when coming from referring integrations.
- **`minAge` Scrape Parameter**
Allows requiring a minimum
> [!IMPORTANT]
>
> For users who upgraded to version 1.10.1-fix.1 before 2025-12-09 03:00:00 UTC, please verify your docker compose configuration to ensure the web service is using the correct image version langgenius/dify-web:1.10.1-fix.1. This verification is critical to address the https://github.com/advisories/GHSA-fv66-9v8q-g76r security vulnerability.
- Security/deps: backend bumps pyarrow 17.0.0, werkzeug 3.1.4, urllib3 2.5.0 in api/uv.lock; frontend bumps React 19.2.1 (addresses CVE-2025-55182) and Next.js 15.5.7 in web/package.json + web/pnpm-lock.yaml.
**Full Changelog**: https://github.com/langgenius/dify/compare/1.10.1...1.10.1-fix.1
🎉 Major new capabilities, critical stability fixes
🧩 And the long-awaited **MySQL support** finally arrives!
## 🚀 New Features
### **Infrastructure & DevOps**
**MySQL adaptation (PostgreSQL / MySQL / OceanBase now fully supported)**
Thanks **@longbingljw** from the OceanBase team!
PR: **#28188**
* Adds `DB_TYPE` configuration option
* Supports MySQL JSON / LONGTEXT / UUID / index differences
* Updates Alembic migrations for multi-DB compatibility
* Introduces cross-DB SQL helpers for statistics and date handling
* Rewrites dataset metadata filters with SQLAlchemy JSON operators
* Adds CI workflows for MySQL migration testing
This is a significant backend upgrade in Dify’s history — multi-database support is now **first-class**.
## **Performance & Workflow Editor Optimization**
* **Implemented a major performance upgrade for the Workflow Editor**, eliminating costly per-node validation scans, reducing unnecessary re-renders, and improving responsiveness from
# v2.6.0
## Highlights
- **Unified Billing Model** - Credits and tokens merged into single system. Extract now uses credits (15 tokens = 1 credit), existing tokens work everywhere.
- **Full Release of Branding Format** - Full support across Playground, MCP, JS and Python SDKs.
- **Change Tracking** - Faster and more reliable detection of web page content updates.
- **Reliability and Speed Improvements** - All endpoints significantly faster with improved reliability.
- **Instant Credit Purchases** - Buy credit packs directly from dashboard without waiting for auto-recharge.
- **Improved Markdown Parsing** - Enhanced markdown conversion and main content extraction accuracy.
- **Core Stability Fixes** - Fixed change-tracking issues, PDF timeouts, and improved error handling.
## What's Changed
* fix(mu): Bug fix on v2 exp by @tomkosm in https://github.com/firecrawl/firecrawl/pull/2345
* Allow index use with waitFor (ENG-3481) by @amplitudesxd in https://github.com/firecrawl/
# Introduce Trigger Functionality
A **trigger** is a type of **Start node** that allows your workflow to run automatically—either on a schedule or in response to events from external systems (such as GitHub, Gmail, or your internal services)—without requiring a user action or API call.
Triggers are ideal for automating repetitive processes and integrating workflows with third-party applications to enable seamless data synchronization and processing.
## ⚡️ Trigger = When something happens → then do something
Triggers form the foundation of event-driven Workflow capabilities and currently support the following types:
- **Schedule** — time-based triggers
- **SaaS Integration Event** — events from external SaaS platforms (e.g., Slack, GitHub, Linear) integrated through Plugins
- **Webhook** — HTTP callbacks from external systems
These trigger features are **only available for Workflows**. Chatflow, Agent, and BasicChat currently do **not** support triggers.
##
## Introduce Trigger Funtionality
Trigger = **When something → then do something**
This is the foundation for event-driven Workflow capabilities, covering the following types:
* **Schedule** (time-based triggers)
* **SaaS Integration Event** (events from external SaaS platforms like Slack/Github/Linear, integrated by **Plugins**)
* **Webhook** (external http callbacks)
* **Something to be discuss**
All of those features are only designed for **Workflow**, **Chatflow** / **Agent** / **BasicChat** are not supported.
<img src="https://uploads.linear.app/a26ba9b5-032d-485f-8123-5bf42306e9e5/45f739e2-6b57-4d75-bf81-4e5770ba8997/a803c60d-a058-4040-bce3-12a493215e26?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiL2EyNmJhOWI1LTAzMmQtNDg1Zi04MTIzLTViZjQyMzA2ZTllNS80NWY3MzllMi02YjU3LTRkNzUtYmY4MS00ZTU3NzBiYTg5OTcvYTgwM2M2MGQtYTA1OC00MDQwLWJjZTMtMTJhNDkzMjE1ZTI2IiwiaWF0IjoxNzYxNjM4Mzc3LCJleHAiOjMzMzMyMTk4Mzc3fQ.goGtWCTT164LYphe8tT7lFH7uh2or5i1YYMT4DyKbI8 " alt="Image
## v2.5.0 - The World's Best Web Data API
We now have the highest quality and most comprehensive web data API available powered by our new semantic index and custom browser stack.
See the benchmarks below:
<img width="1200" height="675" alt="image" src="https://github.com/user-attachments/assets/96a2ba36-0c7f-4fa3-829e-d6ac91b53705" />
## New Features
- Implemented scraping for `.xlsx` (Excel) files.
- Introduced new crawl architecture and NUQ concurrency tracking system.
- Per-owner/group concurrency limiting + dynamic concurrency calculation.
- Added group backlog handling and improved group operations.
- Added `/search` pricing update
- Added team flag to skip country check.
- Always populate NUQ metrics for improved observability.
- New test-site app for improved CI testing.
- Extract metadata from document head for richer output.
### Enhancements & Improvements
- Improved blocklist loading and unsupported site error messages.
- Updated x402-express vers
This releases version 1.0.0 of the Open Data Platform Desktop Application.
Go to https://docs.openbb.co/desktop for user documentation.

This release focuses on improving stability, async performance, and developer experience. Expect cleaner internals, better workflow control, and improved observability across the stack.
---
> [!WARNING]
>
> A recent change has modernized the Dify integration for Weaviate (see PR #25447 and related update in PR #26964). The upgrade switches the Weaviate Python client from v3 to v4 and raises the minimum required Weaviate server version to 1.24.0 or newer. With this update:
>
> - If you are running an older Weaviate server (e.g., v1.19.0), you must [upgrade](https://docs.weaviate.io/deploy/migration) your server to at least v1.24.0 before updating Dify.
> - The code now uses the new client API and supports gRPC for faster operations, which may require opening port 50051 in your Docker Compose files.
> - Data migration between server versions may require re-indexing using Weaviate’s Cursor API or standard backup/restore procedures.
> - The [Dify documentation](https://doc
## v2.4.0
### New Features
- **New PDF Search Category** - You can now search for only pdfs via our v2/search endpoints by specifying .pdf category
- **Gemini 2.5 Flash CLI Image Editor** — Create and edit images directly in the CLI using Firecrawl + Gemini 2.5 Flash integration ([#2172](https://github.com/firecrawl/firecrawl/pull/2172))
- **x402 Search Endpoint (`/v2/x402`)** — Added a next-gen search API with improved accuracy and speed ([#2218](https://github.com/firecrawl/firecrawl/pull/2218))
- **RabbitMQ Event System** — Firecrawl jobs now support event-based communication and prefetching from Postgres ([#2230](https://github.com/firecrawl/firecrawl/pull/2230), [#2233](https://github.com/firecrawl/firecrawl/pull/2233))
- **Improved Crawl Status API** — More accurate and real-time crawl status reporting using the new `crawl_status_2` RPC ([#2239](https://github.com/firecrawl/firecrawl/pull/2239))
- **Low-Results & Robots.txt Warnings** — Users now receive clear feedback w
## Thank you and welcome to our new contributors 🔥
@Olexandr88 and @kaya70875
## Summary 🎉
Version 4.5.0 introduces support for Python 3.13, and will be the final release supporting Python 3.9.
There are new endpoints and data, deprecation removals, a complete refactoring of the `openbb-fmp` provider extension, enhancements to `openbb-mcp-server`, as well as general maintenance and minor enhancements.
## 🚨 OpenBB Platform Breaking Changes
OpenBB Hub is being retired, and the Account module will be removed in a future version. All API keys must be set via configuration files, environment variables, or directly in the Python session.
### [Feature] Remove Endpoints Marked For Removal In V4.5 @deeleeramone (#7225)
Use obb.economy.interest_rates instead of:
- obb.economy.short_term_interest_rate
- obb.economy.long_term_interest_rate
- obb.economy.immediate_interest_rate
Use obb.fixedincome.rate.sofr instead of:
- obb.fixedincome.sofr
Use obb.fixedincome.bo
## Congratulations on having our 1000th contributor!
<img width="319" height="168" alt="image" src="https://github.com/user-attachments/assets/10a7a78a-a49e-4886-a1fc-f44e233f76d3" />
## 🚀 New Features
- **Infrastructure & DevOps**:
- Next.js upgraded to 15.5, now leveraging Turbopack in development for a faster, more modern build pipeline by @17hz in #24346.
- Provided `X-Dify-Version` headers in marketplace API access for better traceability by @RockChinQ in #26210.
- Security reporting improvements, with new sec report workflow added by @crazywoola in #26313.
- **Pipelines & Engines**:
- Built-in pipeline templates now support language configuration, unlocking multilingual deployments by @WTW0313 in #26124.
- Graph engine now blocks response nodes during streaming to avoid unintended outputs by @laipz8200 in #26364 / #26377.
- **Community & Documentation**:
- Streamlined `AGENTS.md` contribution guidelines by @laipz8200 in #26308.
- Updated Graph

## 🚀 Introduction
In Dify 1.9.0, we are introducing two major new capabilities: the **Knowledge Pipeline** and the **Queue-based Graph Engine**.
The Knowledge Pipeline provides a modularized and extensible workflow for knowledge ingestion and processing, while the Queue-based Graph Engine makes workflow execution more robust and controllable. We believe these will help you build and debug AI applications more smoothly, and we look forward to your experiences to help us continuously improve.
---
## 📚 Knowledge Pipeline
### ✨ Introduction
**With the brand-new orchestration interface for knowledge pipelines**, we introduce a **fundamental architectural upgrade** that reshapes how document processing are designed and executed, providing a more modular and flexible workflow that enables users to **orchestrate** every stage of the pipeline. **Enhanced with a wide range
## v2.3.0
### New Features
- **YouTube Support:** You can now get YouTube transcripts
- **Enterprise Auto-Recharge:** Added enterprise support for auto-recharge
- **odt and .rtf**: Now support odt and rtf file parsing
- **Docx Parsing**: 50x faster docx parsing
- **K8s Deployment:** Added NuQ worker deployment example
- **Self Host**: Tons of improvements for our self host users
### Improvements & Fixes
- **Stability:** Fixed timeout race condition, infinite scrape loop, and location query bug
- **Tooling:** Replaced ts-prune with knip, updated pnpm with minimumReleaseAge
- **Docs:** Added Rust to CONTRIBUTING and fixed typos
- **Security:** Fixed `pkgvuln` issue
## What's Changed
* Update blocklist by @micahstairs in https://github.com/firecrawl/firecrawl/pull/2150
* docs: fix typo and punctuation in CONTRIBUTING.md by @jarrensj in https://github.com/firecrawl/firecrawl/pull/2149
* Fix timeout error message race condition for ENG-3372 by @devin-ai-integ
## v2.2.0
### Features
- MCP version 3 is live. Stable support for cloud mcp with HTTP Transport and SSE modes. Compatible with v2 and v1 from.
- Webhooks: Now we support signatures + extract support + event failures
- Map is now 15x faster + supports more urls
- Search reliability improvements
- Usage is now tracked by API Key
- Support for additional locations (CA, CZ, IL, IN, IT, PL, and PT)
- Queue status endpoint
- Added `maxPages` parameter to v2 scrape API for pdf parsing
### Improvements
- **API:**
- New `/team/queue-status` endpoint.
- Added `nuq` feature.
- Added `VIASOCKET` integration.
- Historical credit/token usage endpoints with expanded data.
- **Student Program**: Support for more universities + students to get free credits through our student program
- **Map**: 15x faster and increased the limit to 100k
- **Scrape API:** Added `maxPages` parameter for PDF parser.
- **Python SDK:**
- Added `get_queue_status` to aio + normaliz
# 🌟 What's New in v1.8.1? 🌟
Welcome to version 1.8.1! 🎉🎉🎉 This release focuses on stability, performance improvements, and developer experience enhancements. We've built great features and resolved critical database issues based on community feedback.
## 🚀 Features
- **Export DSL from History**: Able to export workflow DSL directly from version history panel. (See #24939, by *GuanMu*)
- **Downvote with Reason**: Enhanced feedback system allowing users to provide specific reasons when downvoting responses. (See #24922, by *jubinsoni*)
- **Multi-modal/File**: Added filename support to multi-modal prompt messages. (See #24777, by *-LAN-*)
- **Advanced Chat File Handling**: Improved assistant content parts and file handling in advanced chat mode. (See #24663, by *QIN2DIM*)
## ⚡ Enhancements
- **DB Query**: Optimized SQL queries that were performing partial full table scans. (See #24786, by *Novice*)
- **Type Checking**: Migrated from MyPy to Basedpyright. (See #25047, by