⚠️ Breaking Change
Impact Score: 7/10
Directus v11.16.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
⚡ Executive Summary (TL;DR)
Directus v11.16.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
✨ New Features & Capabilities (6)
- Added support for a global draft version that is automatically available for all items when versioning is enabled (#26772 by @formfcw)
- Persisted table column widths to localStorage (#26767 by @HZooly)
- Implemented RBAC for deployment module (#26683 by @gaetansenn)
- Added field permission and version access checks to Visual Editor (#26772 by @formfcw)
- Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
- Added version support for visual editing in live preview (#26772 by @formfcw)
🔧 Bug Fixes & Patches (6)
- Fixed v-select group click handler to respect item-level selectable property (#26650 by @alvarosabu)
- Fixed license modal is not responsive on mobile screens (#26758 by @powerseed)
- Fixed unsaved changes dialog showing collaborative variant when not in a collaborative session (#26713 by @formfcw)
- Updated vue-split-panel dependency (#26709 by @HZooly)
- Fixed datetime picker not closing after selecting a date (#26719 by @alvarosabu)
- Added some missing translation keys for directus_settings and directus_roles. (#26744 by @powerseed)
📄 View Raw Release Notes (Original Developer Log)
### ⚠️ Potential Breaking Changes
**Added support for a global draft version that is automatically available for all items when versioning is enabled ([#26772](https://github.com/directus/directus/pull/26772))** 
Backward Compatibility: If you have an existing version with the key `draft` and a custom name other than “Draft”, the display name will be standardized to “Draft” (i.e. transformed) to support the new global versioning feature. The version content and functionality remain unchanged.
**Added field permission and version access checks to Visual Editor ([#26772](https://github.com/directus/directus/pull/26772))** 
The field access checks require an update of the `@directus/visual-editing` library to v2.0.0.
**Fixed password reset sending emails to external auth provider users ([#26627](https://github.com/directus/directus/pull/26627))** 
`requestPasswordReset` now throws a `Forbidden` error for external auth provider users.
### ✨ New Features & Improvements
- **@directus/app**
- Added support for a global draft version that is automatically available for all items when versioning is enabled ([#26772](https://github.com/directus/directus/pull/26772) by @formfcw)
- Persisted table column widths to localStorage ([#26767](https://github.com/directus/directus/pull/26767) by @HZooly)
- Implemented RBAC for deployment module ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Added field permission and version access checks to Visual Editor ([#26772](https://github.com/directus/directus/pull/26772) by @formfcw)
- Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers ([#26722](https://github.com/directus/directus/pull/26722) by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
- Added version support for visual editing in live preview ([#26772](https://github.com/directus/directus/pull/26772) by @formfcw)
- Supported provider webhooks for deployment real-time updates ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Added version support to Visual Editor ([#26772](https://github.com/directus/directus/pull/26772) by @formfcw)
- **@directus/api**
- Implemented RBAC for deployment module ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Added `lower_case_table_names` support for mysql ([#26736](https://github.com/directus/directus/pull/26736) by @licitdev)
- Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers ([#26722](https://github.com/directus/directus/pull/26722) by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
- Supported provider webhooks for deployment real-time updates ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Added JSON field selection support ([#26500](https://github.com/directus/directus/pull/26500) by @br41nslug)
- **@directus/system-data**
- Implemented RBAC for deployment module ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Supported provider webhooks for deployment real-time updates ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Added version support to Visual Editor ([#26772](https://github.com/directus/directus/pull/26772) by @formfcw)
- **@directus/types**
- Implemented RBAC for deployment module ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Supported provider webhooks for deployment real-time updates ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- **@directus/sdk**
- Implemented RBAC for deployment module ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- Supported provider webhooks for deployment real-time updates ([#26683](https://github.com/directus/directus/pull/26683) by @gaetansenn)
- **@directus/ai**
- Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers ([#26722](https://github.com/directus/directus/pull/26722) by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
- **@directus/utils**
- Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers ([#26722](https://github.com/directus/directus/pull/26722) by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
- Added JSON field selection support ([#26500](https://github.com/directus/directus/pull/26500) by @br41nslug)
- **@directus/constants**
- Added JSON field selection support ([#26500](https://github.com/directus/directus/pull/26500) by @br41nslug)
- **@directus/env**
- Added JSON field selection support ([#26500](https://github.com/directus/directus/pull/26500) by @br41nslug)
### 🐛 Bug Fixes & Optimizations
- **@directus/app**
- Fixed v-select group click handler to respect item-level selectable property ([#26650](https://github.com/directus/directus/pull/26650) by @alvarosabu)
- Fixed license modal is not responsive on mobile screens ([#26758](https://github.com/directus/directus/pull/26758) by @powerseed)
- Fixed unsaved changes dialog showing collaborative variant when not in a collaborative session ([#26713](https://github.com/directus/directus/pull/26713) by @formfcw)
- Updated vue-split-panel dependency ([#26709](https://github.com/directus/directus/pull/26709) by @HZooly)
- Fixed datetime picker not closing after selecting a date ([#26719](https://github.com/directus/directus/pull/26719) by @alvarosabu)
- Added some missing translation keys for directus_settings and directus_roles. ([#26744](https://github.com/directus/directus/pull/26744) by @powerseed)
- Upgraded reka-ui to 2.8.2 for timefield two-digit hour fix ([#26724](https://github.com/directus/directus/pull/26724) by @alvarosabu)
- Fixed password reset sending emails to external auth provider users ([#26627](https://github.com/directus/directus/pull/26627) by @dstockton)
- Enabled “Navigate to Item” button for non-editable relational fields ([#26711](https://github.com/directus/directus/pull/26711) by @HZooly)
- Fixed auto-refresh on mobile by preserving sidebar state via Teleport ([#26731](https://github.com/directus/directus/pull/26731) by @HZooly)
- Fixed an issue where duplicated fields kept validation rules referencing the original field name. ([#26602](https://github.com/directus/directus/pull/26602) by @vizzv)
- Fixed drawer not scrolling to top when validation errors occur ([#26741](https://github.com/directus/directus/pull/26741) by @robluton)
- Fixed reset confirm state after flow error ([#26803](https://github.com/directus/directus/pull/26803) by @HZooly)
- Fixed performance degradation when editing forms with large GeoJSON geometry fields by using selective shallow cloning for geometry values. ([#26560](https://github.com/directus/directus/pull/26560) by @alvarosabu)
- Fixed extra tab stop in AI assistant header caused by a focusable VIcon inside VButton. ([#26796](https://github.com/directus/directus/pull/26796) by @Mugesh13102001)
- Guarded nav-bar and sidebar size stores against non-finite values ([#26695](https://github.com/directus/directus/pull/26695) by @HZooly)
- Added `lower_case_table_names` support for mysql ([#26736](https://github.com/directus/directus/pull/26736) by @licitdev)
- Fixed batch editing translations creating duplicate junction rows ([#26597](https://github.com/directus/directus/pull/26597) by @HZooly)
- Fixed block editor deleting blocks on save-and-stay ([#26808](https://github.com/directus/directus/pull/26808) by @formfcw)
- Fixed MIME type restriction for URL uploads and ensure file/s interfaces respect restricted URL uploads ([#26691](https://github.com/directus/directus/pull/26691) by @AlexGaillard)
- Fixed decimal and bigInteger display formatting ([#26637](https://github.com/directus/directus/pull/26637) by @HZooly)
- Add MIME type restriction option to select file/s interfaces ([#26647](https://github.com/directus/directus/pull/26647) by @AlexGaillard)
- Migrated large field selection requests to use the SDK ([#26605](https://github.com/directus/directus/pull/26605) by @ComfortablyCoding)
- Fixed tags interface not resolving variable strings in raw editor mode ([#26739](https://github.com/directus/directus/pull/26739) by @HZooly)
- Fixed Header interface spacing issue ([#26786](https://github.com/directus/directus/pull/26786) by @LZylstra)
- Fixed `insightsStore.saveChanges` to send requests only when the corresponding action array is non-empty ([#26753](https://github.com/directus/directus/pull/26753) by @deepDiverPaul)
- Constrained display template images in header bar to text line-height ([#26680](https://github.com/directus/directus/pull/26680) by @HZooly)
- Added Ask User Tool to AI Assistant ([#26633](https://github.com/directus/directus/pull/26633) by @bryantgillespie)
- **@directus/api**
- Fixed MIME type restriction for URL uploads and ensure file/s interfaces respect restricted URL uploads ([#26691](https://github.com/directus/directus/pull/26691) by @AlexGaillard)
- Fixed filter rule type mismatch causing database error instead of returning INVALID_QUERY ([#26629](https://github.com/directus/directus/pull/26629) by @dstockton)
- Fixed IPTC metadata key casing in getMetadata so that description, title, and tags are correctly populated from IPTC data. ([#26672](https://github.com/directus/directus/pull/26672) by @danielbuechele)
- Replaced ip-matching dependency with node blocklist ([#26806](https://github.com/directus/directus/pull/26806) by @br41nslug)
- Fixed AI tool schema to not allow `null` for `trigger` and `accountability` fields in flow input validation. ([#26763](https://github.com/directus/directus/pull/26763) by @rijkvanzanten)
- Returned 500 Internal server error for permanent filesystem write failures instead of 503 service unavailable ([#26761](https://github.com/directus/directus/pull/26761) by @aryanrichhariya1234-lang)
- Bumped axios, rollup, basic-ftp, fast-xml-parser, serialize-javascript,nodemailer, vite, tar, minimatch, qs, undici, ([#26787](https://github.com/directus/directus/pull/26787) by @br41nslug)
axios-cache-interceptor dependencies
- Add auth audit hook for tracking login attempts ([#26702](https://github.com/directus/directus/pull/26702) by @AlexGaillard)
- Fixed GraphQL groupBy with function field ([#26706](https://github.com/directus/directus/pull/26706) by @ComfortablyCoding)
- Prevented encrypted field decryption failures from crashing settings reads when the SECRET has changed. Fields that can't be decrypted now return null and log a warning instead of throwing. ([#26764](https://github.com/directus/directus/pull/26764) by @bryantgillespie)
- **@directus/specs**
- Fixed password reset sending emails to external auth provider users ([#26627](https://github.com/directus/directus/pull/26627) by @dstockton)
:::notice
`requestPasswordReset` now throws a `Forbidden` error for external auth provider users.
:::
- **@directus/env**
- Increased the default `QUERYSTRING_ARRAY_LIMIT` from 100 to 500 ([#26737](https://github.com/directus/directus/pull/26737) by @AlexGaillard)
- **@directus/utils**
- Replaced ip-matching dependency with node blocklist ([#26806](https://github.com/directus/directus/pull/26806) by @br41nslug)
- **@directus/sdk**
- Updated `ReadProviderOutput` type to include the `label` field ([#26645](https://github.com/directus/directus/pull/26645) by @kheiner)
### 📦 Published Versions
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[email protected]`
- `@directus/[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]`