You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🎉 Major new capabilities, critical stability fixes
🧩 And the long-awaited MySQL support finally arrives!
🚀 New Features
Infrastructure & DevOps
MySQL adaptation for MetaDB (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 becoming laggy at ~50 nodes to remaining smooth even near ~200 nodes — pref: workflow #28591, by @iamjoel.
Starting from 1.10.1, the Dify API image now runs as a non-root user (UID 1001) for improved security.
If you are using local filesystem storage (the default in community deployments), you must update the ownership of your mounted storage directories on the host machine, or the containers will fail to read/write files.
Affected services:
api
worker
Affected host directory:
./volumes/app/storage → mounted to /app/api/storage
What you must do before restarting the new version:
# Stop existing containers
docker compose down
# Update directory ownership on the host
sudo chown -R 1001:1001 ./volumes/app/storage
# Restart normally
docker compose up -d
After this one-time migration, Dify will operate normally with the new non-root user model.
Back up your customized docker-compose YAML file (optional)
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
Get the latest code from the main branch
git checkout main
git pull origin main
Stop the service. Please execute in the docker directory
docker compose down
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
Upgrade services
docker compose up -d
Source Code Deployments
Stop the API server, Worker, and Web frontend Server.
Get the latest code from the release branch:
git checkout 1.10.1
Update Python dependencies:
cd api
uv sync
Then, let's run the migration script:
uv run flask db upgrade
Finally, run the API server, Worker, and Web frontend Server again.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
🎉 Major new capabilities, critical stability fixes
🧩 And the long-awaited MySQL support finally arrives!
🚀 New Features
Infrastructure & DevOps
MySQL adaptation for MetaDB (PostgreSQL / MySQL / OceanBase now fully supported)
Thanks @longbingljw from the OceanBase team!
PR: #28188
DB_TYPEconfiguration optionThis is a significant backend upgrade in Dify’s history — multi-database support is now first-class.
Performance & Workflow Editor Optimization
Pipelines & Workflow Engine
🛠 Fixes & Improvements
Runtime Stability & Workflow Execution
Knowledge Base
Developer Experience & SDKs
Web UI & UX
Plugins & Integrations
System Robustness
Feedback & Logging
Internationalization (i18n)
Maintenance & Developer Tooling
pnpm dev, simplifying contributor workflows — Use pnpm dev in dev/start-web #28684, by @laipz8200.Upgrade Guide
Docker Compose Deployments
Important
Required Action Before Upgrading
Starting from
1.10.1, the Dify API image now runs as a non-root user (UID 1001) for improved security.If you are using local filesystem storage (the default in community deployments), you must update the ownership of your mounted storage directories on the host machine, or the containers will fail to read/write files.
Affected services:
apiworkerAffected host directory:
./volumes/app/storage→ mounted to/app/api/storageWhat you must do before restarting the new version:
After this one-time migration, Dify will operate normally with the new non-root user model.
Back up your customized docker-compose YAML file (optional)
Get the latest code from the main branch
Stop the service. Please execute in the docker directory
Back up data
tar -cvf volumes-$(date +%s).tgz volumesUpgrade services
Source Code Deployments
Stop the API server, Worker, and Web frontend Server.
Get the latest code from the release branch:
Update Python dependencies:
cd api uv syncThen, let's run the migration script:
Finally, run the API server, Worker, and Web frontend Server again.
What's Changed
SegmentType.is_valid()raisesAssertionErrorforSegmentType.GROUPby @fatelei in fix(api):SegmentType.is_valid()raisesAssertionErrorforSegmentType.GROUP#28249COMPOSE_PROFILESparam to middleware.env.example file by @ACAne0320 in fix: addCOMPOSE_PROFILESparam to middleware.env.example file #28541<h1>headings across all public pages by @coding-ice in feat(seo): add meaningful <h1> headings across all public pages #28569New Contributors
Full Changelog: 1.10.0...1.10.1
This discussion was created from the release v1.10.1 – Multi-Database Era Begins: MySQL Joins the Family.
Beta Was this translation helpful? Give feedback.
All reactions