Directus v11.16.0stable Released Mar 04, 2026
⚠️ 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
Read the original context ↗
Source flags breaking changes — review applicability
📄 .MD
⚡ 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))** ![Low Risk](https://img.shields.io/badge/Low_Risk-green) 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))** ![Low Risk](https://img.shields.io/badge/Low_Risk-green) 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))** ![Low Risk](https://img.shields.io/badge/Low_Risk-green) `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]`