v12.3.1
Notifuse/notifusev12.3.1Aug 25, 2026by github-actions[bot]
AI Summary
Adds methods to count event listeners and fixes WebSocket heartbeat leaks, GraphQL fragments, and public registration.
Key Highlights
- New methods to count event listeners
- Fixed WebSocket heartbeat leak
- Fixed GraphQL query fragments returning null
New Features
- countFilterListeners, countActionListeners, and countInitListeners methods
- Search-first AI tool discovery
- Caption field for WYSIWYG image drawer
- Collection name appended to display template
Full Release Notes
### ✨ 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`