# Directus v12.3.1 - Product: Directus (https://whatsnew.fyi/product/directus) - Vendor: Directus - Date: 2026-08-25 - Version: v12.3.1 - Original notes: https://github.com/directus/directus/releases/tag/v12.3.1 - Permalink: https://whatsnew.fyi/product/directus/releases/v12.3.1 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add `countFilterListeners`, `countActionListeners`, and `countInitListeners` methods to the `emitter` to expose the number of registered handlers for each event - **fixed** — Fix MCP OAuth clients settings pages concatenating breadcrumbs into the page title - **fixed** — Fix WebSocket heartbeat leaking a `websocket.message` listener on each ping when a client failed to respond in time - **fixed** — Fix GraphQL query fragments returning null fields - **fixed** — Fix public registration verification using the provided email instead of the stored one - **changed** — Remove `user_created` and `date_created` for `update` from recommended permissions for `directus_shares` - **changed** — Update storage driver dependencies - **fixed** — Strip `project_id` when pulling settings so a sync no longer copies one instance's identity onto another - **fixed** — Fix `unsubscribe()` not removing subscriptions, causing them to persist across reconnects and accumulate for the lifetime of the client ###### ✨ New Features & Improvements - **@directus/api** - Added `countFilterListeners`, `countActionListeners`, and `countInitListeners` methods to the `emitter`, exposing the number of registered handlers for each event ([#28117](https://github.com/directus/directus/pull/28117) by @ComfortablyCoding) ###### 🐛 Bug Fixes & Optimizations - **@directus/app** - Fixed MCP OAuth clients settings pages concatenating breadcrumbs into the page title ([#28115](https://github.com/directus/directus/pull/28115) by @MHJahanbakhsh) - **@directus/api** - Fixed the WebSocket heartbeat leaking a `websocket.message` listener on each ping when a client failed to respond in time ([#28117](https://github.com/directus/directus/pull/28117) by @ComfortablyCoding) - Fixed GraphQL query fragments returning null fields ([#28128](https://github.com/directus/directus/pull/28128) by @ComfortablyCoding) - Fixed public registration verification using the provided email instead of the stored one ([#28144](https://github.com/directus/directus/pull/28144) by @br41nslug) - Removed `user_created` and `date_created` for `update` from recommended permissions for `directus_shares` ([#28145](https://github.com/directus/directus/pull/28145) by @br41nslug) - Updated storage driver dependencies ([#28119](https://github.com/directus/directus/pull/28119) by @ComfortablyCoding) - **@directus/cli** - Stripped `project_id` when pulling settings, so a sync no longer copies one instance's identity onto another ([#28132](https://github.com/directus/directus/pull/28132) by @lazerg) - **@directus/sdk** - Fixed `unsubscribe()` not removing subscriptions, causing them to persist across reconnects and accumulate for the lifetime of the client ([#28117](https://github.com/directus/directus/pull/28117) by @ComfortablyCoding) - **@directus/system-data** - Removed `user_created` and `date_created` for `update` from recommended permissions for `directus_shares` ([#28145](https://github.com/directus/directus/pull/28145) by @br41nslug) - **@directus/storage-driver-s3** - Updated storage driver dependencies ([#28119](https://github.com/directus/directus/pull/28119) by @ComfortablyCoding) - **@directus/storage-driver-gcs** - Updated storage driver dependencies ([#28119](https://github.com/directus/directus/pull/28119) by @ComfortablyCoding) - **@directus/storage-driver-azure** - Updated storage driver dependencies ([#28119](https://github.com/directus/directus/pull/28119) by @ComfortablyCoding) - **@directus/storage-driver-supabase** - Updated storage driver dependencies ([#28119](https://github.com/directus/directus/pull/28119) by @ComfortablyCoding) ###### 📦 Published Versions - `@directus/app@17.1.1` - `@directus/api@39.1.0` - `@directus/cli@12.2.1` - `@directus/composables@11.6.2` - `create-directus-extension@12.1.4` - `@directus/env@6.2.2` - `@directus/extensions@4.0.4` - `@directus/extensions-sdk@18.0.4` - `@directus/memory@4.0.4` - `@directus/pressure@4.0.4` - `@directus/storage-driver-azure@13.0.4` - `@directus/storage-driver-cloudinary@14.0.1` - `@directus/storage-driver-gcs@13.0.4` - `@directus/storage-driver-s3@14.0.1` - `@directus/storage-driver-supabase@5.0.1` - `@directus/system-data@4.6.1` - `@directus/themes@2.0.4` - `@directus/utils@13.5.4` - `@directus/validation@3.0.4` - `@directus/sdk@25.0.1`