⚠️ Breaking Change
Impact Score: 7/10
Directus v11.4.0 — Release Notes & Engineering Impact
Source available — automated, not human-reviewed
Component: directus · Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
⚠️ Potential Breaking Changes - **@directus/api**
⚡ Executive Summary (TL;DR)
Directus v11.4.0. Source highlight: ⚠️ Potential Breaking Changes
Who Does This Impact? (Role-Based Analysis)
💻 Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
📊 Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
⚙️ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
⚠️ Breaking Changes & Deprecations (1)
- ⚠️ Potential Breaking Changes - **@directus/api**
✨ New Features & Capabilities (4)
- Improved flow notification messages to differentiate between async and sync flow execution (#24419 by @obafemitayor)
- Added the ability to toggle translation interface items to make them deleteable and ensure that defaults, conditions and (#24291 by @formfcw)
- **@directus/extensions-sdk**
- Introduced new `validate` command in the `directus-extension` CLI which checks if an extension meets the requirements (#24269 by @ukmadlz)
🔧 Bug Fixes & Patches (6)
- Cleared login error message on successful credentials when TFA is enabled (#24274 by @bwp91)
- Fixed a bug in the kanban layout where setting a related values display broke the layout (#24335 by @formfcw)
- Changed `useRelationMultiple` to only update fetched items when dependents change, not just update (#24389 by @connorwinston)
- Added internationalization to rich text editor toolbar (#23308 by @SP12893678)
- Fixed incorrectly rendering `related-values` for related items in template rendering. Fixed `display-formatted-values` and `display-labels` not handling arrays correctly. Added handling of nested fields to template rendering. (#24232 by @connorwinston)
- Ensured translation fields are validated (#24220 by @formfcw)
📄 View Raw Release Notes (Original Developer Log)
### ⚠️ Potential Breaking Changes
- **@directus/api**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **create-directus-project**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/constants**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/env**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/errors**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/extensions**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/extensions-registry**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/extensions-sdk**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/format-title**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/memory**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/pressure**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/random**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/release-notes-generator**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/schema**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/sdk**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/storage**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/storage-driver-azure**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/storage-driver-cloudinary**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/storage-driver-gcs**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/storage-driver-local**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/storage-driver-s3**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/storage-driver-supabase**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/system-data**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/types**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/update-check**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/utils**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
- **@directus/validation**
- Upgrade required Node.js version to 22 ([#24140](https://github.com/directus/directus/pull/24140) by @rijkvanzanten)
### ✨ New Features & Improvements
- **@directus/app**
- Improved flow notification messages to differentiate between async and sync flow execution ([#24419](https://github.com/directus/directus/pull/24419) by @obafemitayor)
- Added the ability to toggle translation interface items to make them deleteable and ensure that defaults, conditions and ([#24291](https://github.com/directus/directus/pull/24291) by @formfcw)
validations work as expected
- **@directus/extensions-sdk**
- Introduced new `validate` command in the `directus-extension` CLI which checks if an extension meets the requirements ([#24269](https://github.com/directus/directus/pull/24269) by @ukmadlz)
### 🐛 Bug Fixes & Optimizations
- **@directus/app**
- Cleared login error message on successful credentials when TFA is enabled ([#24274](https://github.com/directus/directus/pull/24274) by @bwp91)
- Fixed a bug in the kanban layout where setting a related values display broke the layout ([#24335](https://github.com/directus/directus/pull/24335) by @formfcw)
- Changed `useRelationMultiple` to only update fetched items when dependents change, not just update ([#24389](https://github.com/directus/directus/pull/24389) by @connorwinston)
- Added internationalization to rich text editor toolbar ([#23308](https://github.com/directus/directus/pull/23308) by @SP12893678)
- Fixed incorrectly rendering `related-values` for related items in template rendering. Fixed `display-formatted-values` and `display-labels` not handling arrays correctly. Added handling of nested fields to template rendering. ([#24232](https://github.com/directus/directus/pull/24232) by @connorwinston)
- Ensured translation fields are validated ([#24220](https://github.com/directus/directus/pull/24220) by @formfcw)
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/api**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- Cleaned-up/replaced obsolete dependencies ([#24374](https://github.com/directus/directus/pull/24374) by @paescuj)
- Fixed constraint name limits and `is_indexed` behavior for MSSQL/SQLite ([#24203](https://github.com/directus/directus/pull/24203) by @joselcvarela)
- Fixed field deletion not being tracked in the activity log ([#24188](https://github.com/directus/directus/pull/24188) by @licitdev)
- Fixed O2M/M2O node merging with parent ([#24316](https://github.com/directus/directus/pull/24316) by @ComfortablyCoding)
- **@directus/components**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/composables**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/constants**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **create-directus-extension**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **create-directus-project**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/env**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/errors**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/extensions-registry**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- Cleaned-up/replaced obsolete dependencies ([#24374](https://github.com/directus/directus/pull/24374) by @paescuj)
- **@directus/extensions-sdk**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/extensions**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- Fixed "getSchema" type definition for api extensions ([#24321](https://github.com/directus/directus/pull/24321) by @br41nslug)
- **@directus/format-title**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/memory**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/pressure**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/random**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/release-notes-generator**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- Cleaned-up/replaced obsolete dependencies ([#24374](https://github.com/directus/directus/pull/24374) by @paescuj)
- **@directus/sdk**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- Added system argument for the clearCache function in the SDK ([#24398](https://github.com/directus/directus/pull/24398) by @Dominic-Marcelino)
- Fixed the sdk not returning `null` on 204 response ([#24275](https://github.com/directus/directus/pull/24275) by @ComfortablyCoding)
- **@directus/schema**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- Fixed constraint name limits and `is_indexed` behavior for MSSQL/SQLite ([#24203](https://github.com/directus/directus/pull/24203) by @joselcvarela)
- **@directus/storage-driver-azure**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/storage-driver-cloudinary**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/storage-driver-gcs**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/storage-driver-local**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/storage-driver-s3**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/storage-driver-supabase**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/storage**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/stores**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/system-data**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/themes**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/types**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/update-check**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/utils**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
- **@directus/validation**
- Updated dependencies ([#24341](https://github.com/directus/directus/pull/24341) by @renovate)
### 📦 Published Versions
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `[email protected]`
- `[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`