Directus v10.8.3stable Released Dec 21, 2023
⚠️ Breaking Change Impact Score: 7/10

Directus v10.8.3 — 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**
Read the original context ↗
Source flags breaking changes — review applicability
📄 .MD
⚡ Executive Summary (TL;DR)

Directus v10.8.3. 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 (6)

  • Ship the new OracleDB pure JavaScript client (thin mode) by default (#19067 by @stevefan1999-personal)
  • **@directus/extensions-sdk**
  • Added a `--no-install` option to the extensions CLI allowing to skip dependency installation (#20752 by @ComfortablyCoding)
  • Export defineTheme from extensions-sdk package (#20580 by @rijkvanzanten)
  • **create-directus-extension**
  • Added a `--no-install` option to the extensions CLI allowing to skip dependency installation (#20752 by @ComfortablyCoding)

⚡ Performance & Enhancements (1)

  • Improved the example for file upload via SDK (#20534 by @paescuj)

🔧 Bug Fixes & Patches (6)

  • Fixed GraphQL Content Versions (#20499 by @br41nslug)
  • Allowed editing of versions without edit permission on main version item (#20735 by @azrikahar)
  • Updated dependencies in all packages (#20714 by @paescuj)
  • Updated Vue to 3.3.9 (#20588 by @paescuj)
  • Fixed small logical issues detected by newely introduced `no-constant-binary-expression` ESLint rule (#20812 by @azrikahar)
  • Fixed action column background and search input height for table mode of one-to-many interface (#20772 by @u12206050)
📄 View Raw Release Notes (Original Developer Log)
### ⚠️ Potential Breaking Changes - **@directus/api** - Fixed GraphQL Content Versions ([#20499](https://github.com/directus/directus/pull/20499) by @br41nslug) - **@directus/sdk** - Renamed the type `ExtensionItem` to `DirectusExtension`, allowed extending the type with custom fields, exported missing `updateExtensions` composable and documented the version property on extension schema ([#20793](https://github.com/directus/directus/pull/20793) by @ComfortablyCoding) ### ✨ New Features & Improvements - **@directus/api** - Ship the new OracleDB pure JavaScript client (thin mode) by default ([#19067](https://github.com/directus/directus/pull/19067) by @stevefan1999-personal) - **@directus/extensions-sdk** - Added a `--no-install` option to the extensions CLI allowing to skip dependency installation ([#20752](https://github.com/directus/directus/pull/20752) by @ComfortablyCoding) - Export defineTheme from extensions-sdk package ([#20580](https://github.com/directus/directus/pull/20580) by @rijkvanzanten) - **create-directus-extension** - Added a `--no-install` option to the extensions CLI allowing to skip dependency installation ([#20752](https://github.com/directus/directus/pull/20752) by @ComfortablyCoding) ### 🐛 Bug Fixes & Optimizations - **@directus/app** - Allowed editing of versions without edit permission on main version item ([#20735](https://github.com/directus/directus/pull/20735) by @azrikahar) - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Fixed small logical issues detected by newely introduced `no-constant-binary-expression` ESLint rule ([#20812](https://github.com/directus/directus/pull/20812) by @azrikahar) - Fixed action column background and search input height for table mode of one-to-many interface ([#20772](https://github.com/directus/directus/pull/20772) by @u12206050) - Added missing translation strings, type & icon for theme extensions ([#20644](https://github.com/directus/directus/pull/20644) by @paescuj) - Adds possibility to load custom translations on the login page ([#20780](https://github.com/directus/directus/pull/20780) by @br41nslug) - Fixed drag and drop issues with sortable components in Safari ([#20760](https://github.com/directus/directus/pull/20760) by @azrikahar) - Fixed hovering over the Delete Collection/Field option results in the trash icon becoming a foreground subdued color ([#20518](https://github.com/directus/directus/pull/20518) by @wasimTQ) - Fixed various styling issues with block editor interface ([#20733](https://github.com/directus/directus/pull/20733) by @paescuj) - Updated outdated errors.GRAPHQL_VALIDATION_EXCEPTION translation key to errors.GRAPHQL_VALIDATION ([#20814](https://github.com/directus/directus/pull/20814) by @azrikahar) - Ensured collections in tabular layout are sorted by the sort field by default, if available ([#20629](https://github.com/directus/directus/pull/20629) by @paescuj) - Updated date-fns to 3.0.1 ([#20800](https://github.com/directus/directus/pull/20800) by @paescuj) - Fixed an issue where the alignment of half-width fields could be incorrect with conditions affecting the layout ([#20599](https://github.com/directus/directus/pull/20599) by @paescuj) - Added translatable label to themes and field translations for theming ([#20641](https://github.com/directus/directus/pull/20641) by @DanielBiegler) - Fixed the calendar layout to only load items for current range, when no user filter is provided ([#20578](https://github.com/directus/directus/pull/20578) by @JoshTheDerf) - Changed the default sort column to the mentioned sort field ([#20612](https://github.com/directus/directus/pull/20612) by @wasimTQ) - Fixed support for pasting comma-separated values into 'Is One Of' filter ([#20587](https://github.com/directus/directus/pull/20587) by @gitstart) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Fixed an issue where filters for UUID fields only grew for valid UUIDs ([#20543](https://github.com/directus/directus/pull/20543) by @DanielBiegler) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - Upgraded json2csv to @json2csv/plainjs 7.0.4 ([#20822](https://github.com/directus/directus/pull/20822) by @paescuj) - Fixed an issue where the alignment of half-width fields within groups could be incorrect ([#20563](https://github.com/directus/directus/pull/20563) by @paescuj) - Added masked option to formatted value display ([#20672](https://github.com/directus/directus/pull/20672) by @licitdev) - **@directus/api** - Introduced the `EXTENSIONS_MUST_LOAD` option, allowing to prevent server startup when any API extension fails to load ([#20495](https://github.com/directus/directus/pull/20495) by @azrikahar) - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Fixed small logical issues detected by newely introduced `no-constant-binary-expression` ESLint rule ([#20812](https://github.com/directus/directus/pull/20812) by @azrikahar) - Updated date-fns to 3.0.1 ([#20800](https://github.com/directus/directus/pull/20800) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Fixed an issue that caused inconsistent versions to be returned across the API and CLI ([#20840](https://github.com/directus/directus/pull/20840) by @rijkvanzanten) - Ensured filter values higher than JavaScript max safe integer work with big integer fields ([#20744](https://github.com/directus/directus/pull/20744) by @wasimTQ) - Updated openapi3-ts to 4.2.0 ([#20828](https://github.com/directus/directus/pull/20828) by @dependabot) - Fixed issue that caused the graphql spec output to be wrong in the specs endpoint ([#20535](https://github.com/directus/directus/pull/20535) by @br41nslug) - Updated Tedious dependency ([#20649](https://github.com/directus/directus/pull/20649) by @rijkvanzanten) - Ensured the CLI's `schema apply` command output is better visible across different terminals / color schemes ([#20792](https://github.com/directus/directus/pull/20792) by @nassan) - Fixed and enhanced the CLI's `schema apply` command output ([#20816](https://github.com/directus/directus/pull/20816) by @paescuj) - Made directus_permissions ID nullable in GQL schema ([#20511](https://github.com/directus/directus/pull/20511) by @br41nslug) - Fixed public_favicon to be correctly set as a system relation ([#20724](https://github.com/directus/directus/pull/20724) by @ComfortablyCoding) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - Updated the telemetry report contents ([#20825](https://github.com/directus/directus/pull/20825) by @rijkvanzanten) - Updated Knex to v3.1.0 ([#20766](https://github.com/directus/directus/pull/20766) by @paescuj) - **@directus/sdk** - Fixed a few typos in documentation pages and the readme of the SDK ([#20691](https://github.com/directus/directus/pull/20691) by @omahs) - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Changed `keys` argument in `updateItems` method to `keysOrQuery` to accept both formats ([#20774](https://github.com/directus/directus/pull/20774) by @mahendraHegde) - Fixed SDK Deep filter types ([#20556](https://github.com/directus/directus/pull/20556) by @br41nslug) - Fixed mapping literal filter types in the SDK ([#20613](https://github.com/directus/directus/pull/20613) by @br41nslug) - **@directus/components** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - **@directus/composables** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - **create-directus-extension** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **create-directus-project** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **@directus/data-driver-postgres** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **@directus/data-sql** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - **@directus/data** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **@directus/errors** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **@directus/extensions-sdk** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Added translatable label to themes and field translations for theming ([#20641](https://github.com/directus/directus/pull/20641) by @DanielBiegler) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - Fixed an issue for bundle extensions where custom devDependencies in the package.json were overriden when a new extension was added to the bundle ([#20750](https://github.com/directus/directus/pull/20750) by @ComfortablyCoding) - Fixed an issue for bundle extensions where entries in the root package.json are re-ordered when a new extension is added to a bundle ([#20739](https://github.com/directus/directus/pull/20739) by @ComfortablyCoding) - **@directus/extensions** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Added missing translation strings, type & icon for theme extensions ([#20644](https://github.com/directus/directus/pull/20644) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - Updated Knex to v3.1.0 ([#20766](https://github.com/directus/directus/pull/20766) by @paescuj) - Fixed an issue for bundle extensions where custom devDependencies in the package.json were overriden when a new extension was added to the bundle ([#20750](https://github.com/directus/directus/pull/20750) by @ComfortablyCoding) - **@directus/random** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **@directus/release-notes-generator** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - **@directus/schema** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated Knex to v3.1.0 ([#20766](https://github.com/directus/directus/pull/20766) by @paescuj) - **@directus/storage-driver-azure** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **@directus/storage-driver-cloudinary** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - **@directus/storage-driver-gcs** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - **@directus/storage-driver-local** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - **@directus/storage-driver-s3** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - **@directus/storage** - Updated dependencies in all packages ([#20714](https://github.com/directus/directus/pull/20714) by @paescuj) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - **@directus/stores** - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - **@directus/themes** - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Added translatable label to themes and field translations for theming ([#20641](https://github.com/directus/directus/pull/20641) by @DanielBiegler) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - **@directus/types** - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - Updated Knex to v3.1.0 ([#20766](https://github.com/directus/directus/pull/20766) by @paescuj) - **@directus/utils** - Updated Vue to 3.3.9 ([#20588](https://github.com/directus/directus/pull/20588) by @paescuj) - Updated date-fns to 3.0.1 ([#20800](https://github.com/directus/directus/pull/20800) by @paescuj) - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Updated Vue to 3.3.11 ([#20711](https://github.com/directus/directus/pull/20711) by @paescuj) - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - Fixed filters with an implicit logical operator for a field resulting in infinite loop ([#20736](https://github.com/directus/directus/pull/20736) by @ComfortablyCoding) - **@directus/update-check** - Updated dependencies ([#20796](https://github.com/directus/directus/pull/20796) by @paescuj) - Fixed an issue in update-check which could lead to a CLI crash when called again after a few minutes ([#20693](https://github.com/directus/directus/pull/20693) by @paescuj) - **@directus/specs** - Updated openapi3-ts to 4.2.0 ([#20828](https://github.com/directus/directus/pull/20828) by @dependabot) - **@directus/constants** - Removed unused dependencies, ensured types (prod, dev, peer) of dependencies are correct ([#20581](https://github.com/directus/directus/pull/20581) by @paescuj) - **@directus/memory** - Fixed missing KV export ([#20825](https://github.com/directus/directus/pull/20825) by @rijkvanzanten) ### 📝 Documentation - Documented DB_SSL__CA environment variable ([#20616](https://github.com/directus/directus/pull/20616) by @weberet) - Replaced dead links ([#20794](https://github.com/directus/directus/pull/20794) by @paescuj) - Add docs guides for building modules ([#20630](https://github.com/directus/directus/pull/20630) by @phazonoverload) - Introduced the `EXTENSIONS_MUST_LOAD` option, allowing to prevent server startup when any API extension fails to load ([#20495](https://github.com/directus/directus/pull/20495) by @azrikahar) - Documented new telemetry environment variables ([#20825](https://github.com/directus/directus/pull/20825) by @rijkvanzanten) - Added hook events for WebSockets and system collection read/query, and consolidated available events. ([#20425](https://github.com/directus/directus/pull/20425) by @Boegie19) - Fixed a few typos in documentation pages and the readme of the SDK ([#20691](https://github.com/directus/directus/pull/20691) by @omahs) - Improved the example for file upload via SDK ([#20534](https://github.com/directus/directus/pull/20534) by @paescuj) - Fixed example output for array environment syntax prefix ([#20771](https://github.com/directus/directus/pull/20771) by @u12206050) - Added docs on how to use the Directus UI components within app extension ([#20675](https://github.com/directus/directus/pull/20675) by @estheragbaje) - Made some corrections to the SSO SAML examples ([#20569](https://github.com/directus/directus/pull/20569) by @paescuj) - Added docs for the new custom theme extension type ([#20561](https://github.com/directus/directus/pull/20561) by @phazonoverload) - Added documentation for internal items, files, users, and data model services. ([#20376](https://github.com/directus/directus/pull/20376) by @estheragbaje) - Fixed GraphQL Content Versions ([#20499](https://github.com/directus/directus/pull/20499) by @br41nslug) - Renamed the type `ExtensionItem` to `DirectusExtension`, allowed extending the type with custom fields, exported missing `updateExtensions` composable and documented the version property on extension schema ([#20793](https://github.com/directus/directus/pull/20793) by @ComfortablyCoding) - Added explanation about where to generate static tokens in authentication reference ([#20530](https://github.com/directus/directus/pull/20530) by @phazonoverload) - Added info about pong reply to WebSocket ping event ([#20765](https://github.com/directus/directus/pull/20765) by @codeit-ninja) ### 📦 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]`