⚠️ Breaking Change
Impact Score: 7/10
Directus v12.6.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-10-31.
Breaking-change evidence from the source
⚠️ Potential Breaking Changes **Added recommended default AI allowed models that update with Directus releases and apply while the setting is unset (null). ... ([#28344](https://github.com/directus/directus/pull/28344))**
⚡ Executive Summary (TL;DR)
Directus v12.6.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 **Added recommended default AI allowed models that update with Directus releases and apply while the setting is unset (null). ... ([#28344](https://github.com/directus/directus/pull/28344))**
✨ New Features & Capabilities (6)
- Added `snapshot()` and `types()` to the SchemaBuilder to generate schema snapshots and TypeScript types (#28309 by @Nitwel)
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. (#28333 by @robluton)
- Added recommended default AI allowed models that update with Directus releases and apply while the setting is unset (null). (#28344 by @bryantgillespie)
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field (#28384 by @alvarosabu)
- Showed license warnings in the sidebar so admins see them outside Settings > License (#28394 by @robluton)
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. (#28333 by @robluton)
🔧 Bug Fixes & Patches (6)
- Bumped nodejs, dompurify, basic-ftp, vite, zod, body-parser, undici, happy-dom, @azure/msal-node, sanitize-html, vitest, (#28406 by @br41nslug)
- Fixed markdown rendering getting slower over time by registering the sanitizer hook once instead of on every render (#28416 by @bryantgillespie)
- Fixed duplicate vertical scrollbar in Rich-text(WYSIWYG) Formats dropdown (#28375 by @Vedant005)
- Fixed flows to send only changed fields on save (#28260 by @flcrom)
- Fixed the flow status getting out of sync between the flow editor and its configuration drawer (#28392 by @robluton)
- Fixed the Public policy warning and save confirmation to apply to every policy attached to the Public role and to policies edited from the Public role page, and removed the `PUBLIC_POLICY_ID` constant (#28348 by @robluton)
📄 View Raw Release Notes (Original Developer Log)
### ⚠️ Potential Breaking Changes
**Added recommended default AI allowed models that update with Directus releases and apply while the setting is unset (null). ... ([#28344](https://github.com/directus/directus/pull/28344))**
Deprecated LLM models from providers have been removed. Please recheck AI assistant settings before trying to use the AI assistant.
**Raised the minimum required Node.js version to 26. Node.js 22 is no longer supported. ([#27737](https://github.com/directus/directus/pull/27737))**
Updated minimum nodejs version requirement to 26
**Renamed the OpenAPI schema `x-metadata` to `Metadata` for consistency with other schema names ([#28323](https://github.com/directus/directus/pull/28323))**
List responses now reference `#/components/schemas/Metadata` for `meta`, in both `@directus/specs` and `/server/specs/oas`. Update any `$ref` to `x-metadata` and regenerate clients built from the spec.
**Updated the default `TELEMETRY_URL` and `COMPLIANCE_URL` to `https://telemetry.directus.com` ([#28385](https://github.com/directus/directus/pull/28385))**
Telemetry and compliance reports are now sent to `telemetry.directus.com` instead of `telemetry.directus.io`.
If your deployment restricts outbound traffic, allow `telemetry.directus.com` before upgrading. Otherwise reporting will fail without logging an error.
- **@directus/app**
- Raised the minimum required Node.js version to 26. Node.js 22 is no longer supported. ([#27737](https://github.com/directus/directus/pull/27737) by @br41nslug)
- **@directus/api**
- Raised the minimum required Node.js version to 26. Node.js 22 is no longer supported. ([#27737](https://github.com/directus/directus/pull/27737) by @br41nslug)
- Renamed the OpenAPI schema `x-metadata` to `Metadata` for consistency with other schema names ([#28323](https://github.com/directus/directus/pull/28323) by @kheiner)
- **create-directus-project**
- Raised the minimum required Node.js version to 26. Node.js 22 is no longer supported. ([#27737](https://github.com/directus/directus/pull/27737) by @br41nslug)
- **@directus/specs**
- Renamed the OpenAPI schema `x-metadata` to `Metadata` for consistency with other schema names ([#28323](https://github.com/directus/directus/pull/28323) by @kheiner)
- **@directus/env**
- Updated the default `TELEMETRY_URL` and `COMPLIANCE_URL` to `https://telemetry.directus.com` ([#28385](https://github.com/directus/directus/pull/28385) by @alexvdvalk)
- **@directus/schema-builder**
- Added `snapshot()` and `types()` to the SchemaBuilder to generate schema snapshots and TypeScript types ([#28309](https://github.com/directus/directus/pull/28309) by @Nitwel)
### ✨ New Features & Improvements
- **@directus/app**
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. ([#28333](https://github.com/directus/directus/pull/28333) by @robluton)
- Added recommended default AI allowed models that update with Directus releases and apply while the setting is unset (null). ([#28344](https://github.com/directus/directus/pull/28344) by @bryantgillespie)
Existing saved selections are unchanged.
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field ([#28384](https://github.com/directus/directus/pull/28384) by @alvarosabu)
- Showed license warnings in the sidebar so admins see them outside Settings > License ([#28394](https://github.com/directus/directus/pull/28394) by @robluton)
- **@directus/api**
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. ([#28333](https://github.com/directus/directus/pull/28333) by @robluton)
- Added recommended default AI allowed models that update with Directus releases and apply while the setting is unset (null). ([#28344](https://github.com/directus/directus/pull/28344) by @bryantgillespie)
Existing saved selections are unchanged.
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field ([#28384](https://github.com/directus/directus/pull/28384) by @alvarosabu)
- **@directus/system-data**
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. ([#28333](https://github.com/directus/directus/pull/28333) by @robluton)
- **@directus/types**
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. ([#28333](https://github.com/directus/directus/pull/28333) by @robluton)
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field ([#28384](https://github.com/directus/directus/pull/28384) by @alvarosabu)
- **@directus/sdk**
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. ([#28333](https://github.com/directus/directus/pull/28333) by @robluton)
- **@directus/specs**
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. ([#28333](https://github.com/directus/directus/pull/28333) by @robluton)
- **@directus/cli**
- Added a Default Exports Folder project setting for exports saved to the File Library. The export drawer now warns about File Library visibility and only offers options the user has permission to use. ([#28333](https://github.com/directus/directus/pull/28333) by @robluton)
- **@directus/ai**
- Added recommended default AI allowed models that update with Directus releases and apply while the setting is unset (null). ([#28344](https://github.com/directus/directus/pull/28344) by @bryantgillespie)
Existing saved selections are unchanged.
- **@directus/extensions**
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field ([#28384](https://github.com/directus/directus/pull/28384) by @alvarosabu)
- **@directus/extensions-sdk**
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field ([#28384](https://github.com/directus/directus/pull/28384) by @alvarosabu)
- **@directus/composables**
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field ([#28384](https://github.com/directus/directus/pull/28384) by @alvarosabu)
- **@directus/constants**
- Added the `richtext` app extension type, which lets extensions add Tiptap nodes, marks and toolbar buttons to the WYSIWYG interface per field ([#28384](https://github.com/directus/directus/pull/28384) by @alvarosabu)
### 🐛 Bug Fixes & Optimizations
- **@directus/app**
- Bumped nodejs, dompurify, basic-ftp, vite, zod, body-parser, undici, happy-dom, @azure/msal-node, sanitize-html, vitest, ([#28406](https://github.com/directus/directus/pull/28406) by @br41nslug)
stream-json, nodemailer, fastifiy and serialize-javascript.
- Fixed markdown rendering getting slower over time by registering the sanitizer hook once instead of on every render ([#28416](https://github.com/directus/directus/pull/28416) by @bryantgillespie)
- Fixed duplicate vertical scrollbar in Rich-text(WYSIWYG) Formats dropdown ([#28375](https://github.com/directus/directus/pull/28375) by @Vedant005)
- Fixed flows to send only changed fields on save ([#28260](https://github.com/directus/directus/pull/28260) by @flcrom)
- Fixed the flow status getting out of sync between the flow editor and its configuration drawer ([#28392](https://github.com/directus/directus/pull/28392) by @robluton)
- Fixed the Public policy warning and save confirmation to apply to every policy attached to the Public role and to policies edited from the Public role page, and removed the `PUBLIC_POLICY_ID` constant ([#28348](https://github.com/directus/directus/pull/28348) by @robluton)
- Fixed the WYSIWYG font family, font size and color pickers closing the toolbar's "Show More" menu, and stopped clicks inside a nested menu from closing its parent menus ([#28370](https://github.com/directus/directus/pull/28370) by @alvarosabu)
- **@directus/api**
- Fixed `directus init` exiting with a missing `DB_CLIENT` error before creating the `.env` file ([#28405](https://github.com/directus/directus/pull/28405) by @Nitwel)
- Fixed a foreign key violation in the retention schedule when a revision's parent revision was already deleted. Capped `RETENTION_BATCH` at the database's maximum number of query bindings ([#28223](https://github.com/directus/directus/pull/28223) by @wakqasahmed)
- Updated `/mcp` to return `405 Method Not Allowed` for authenticated `GET` and `HEAD` requests ([#28360](https://github.com/directus/directus/pull/28360) by @harshillvashisht)
- Fixed `redactObject` skipping a key path when an earlier path matched the same key ([#28212](https://github.com/directus/directus/pull/28212) by @datrixlab)
- Updated the built-in OpenAI, Anthropic, and Google AI model lists with the latest models and removed deprecated ones ([#28344](https://github.com/directus/directus/pull/28344) by @bryantgillespie)
- Bumped nodejs, dompurify, basic-ftp, vite, zod, body-parser, undici, happy-dom, @azure/msal-node, sanitize-html, vitest, ([#28406](https://github.com/directus/directus/pull/28406) by @br41nslug)
stream-json, nodemailer, fastifiy and serialize-javascript.
- **@directus/ai**
- Updated the built-in OpenAI, Anthropic, and Google AI model lists with the latest models and removed deprecated ones ([#28344](https://github.com/directus/directus/pull/28344) by @bryantgillespie)
- **@directus/system-data**
- Updated the built-in OpenAI, Anthropic, and Google AI model lists with the latest models and removed deprecated ones ([#28344](https://github.com/directus/directus/pull/28344) by @bryantgillespie)
- **@directus/extensions-registry**
- Bumped nodejs, dompurify, basic-ftp, vite, zod, body-parser, undici, happy-dom, @azure/msal-node, sanitize-html, vitest, ([#28406](https://github.com/directus/directus/pull/28406) by @br41nslug)
stream-json, nodemailer, fastifiy and serialize-javascript.
- **@directus/constants**
- Fixed the Public policy warning and save confirmation to apply to every policy attached to the Public role and to policies edited from the Public role page, and removed the `PUBLIC_POLICY_ID` constant ([#28348](https://github.com/directus/directus/pull/28348) by @robluton)
- **@directus/sdk**
- Fixed `customEndpoint` requests with `FormData` bodies incorrectly defaulting to the JSON content type ([#28339](https://github.com/directus/directus/pull/28339) by @smit153)
### 📦 Published Versions
- `@directus/[email protected]`
- `@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]`
← Older Version
Directus v12.5.1
Newer Version →
Latest Tracked Version ✓