Tip
Use the table of contents in the left panel to navigate.
Changelog
1.3.0
- [FEATURE] Custom channels implementing
ChannelInterfacecan now be registered via a Symfony DI tag (notifications.channel). - [FEATURE] Optional
getName(): stringmethod on channel classes. When present, its return value is used as the channel key invia(). When absent, the fully-qualified class name is used as the key. - [FEATURE]
NotificationManagernow collects channels through#[AutowireIterator('notifications.channel')]and stores live service instances — channels benefit from full DI, including scoped services. - [BREAKING]
NotificationManager::channel()now resolves from the injected service map instead of callingGeneralUtility::makeInstance(). Custom channels previously registered only as public services must add thenotifications.channeltag (or implementChannelInterfaceso the_instanceofrule picks them up automatically). - [CHANGE] Added TYPO3 14 compatibility (
^13.4 || ^14). - [CHANGE]
AbstractModuleControllerconverted to constructor injection. Removed deprecated setter-injection methods (injectModuleTemplateFactory,injectPageRenderer,injectIconFactory,injectBackendUriBuilder). - [FIX]
?array $channels = nullparameter type corrected acrossNotificationDispatcherInterface,NotificationManager,NotificationSender, and theNotifiabletrait. - [FIX] TCA: removed deprecated
interfacekey (dropped in TYPO3 13),cruser_idctrl field (removed in TYPO3 13), andeval => 'trim'/eval => 'int'validators (removed in TYPO3 13). - [FIX]
notifiable_idTCA field changed fromtype=inputtotype=number. - [FIX] SQL schema: removed
int(11)display width, added missinglinkcolumn intx_lexnotifications_domain_model_message.
1.1.0 — 2024-01-01
- [FEATURE] Added Symfony Messenger queue integration via
ShouldQueuemarker interface. - [FEATURE] Added
NotificationLevelconstants following RFC 5424 (Info, Notice, Warning, Error, Critical, Alert, Emergency). - [FEATURE] Added
resendaction to the backend module. - [FEATURE] Pagination in the backend message list (50 items per page).
- [FEATURE] Added level filter to the backend message list.
- [FEATURE] French (
fr) localization for all language files. - [FEATURE] Added
getDiffCreatedAtForHumans()onDatabaseNotificationusing Carbon. - [CHANGE] Bumped TYPO3 requirement to 13.4+.
- [CHANGE] Bumped PHP requirement to 8.2+.
1.0.0 — Initial Release
- Backend module for composing and sending messages to frontend users.
- Email channel using TYPO3's mail system and Fluid templates.
- Database channel for persistent in-app notifications.
Notifiabletrait for Extbase domain models.HasRouteNotificationForMailtrait for email routing.DatabaseNotificationRepositorywithfindByNotifiable,markAllAsReadForNotifiableandremoveAllForNotifiablemethods.- Abstract
Notificationbase class for custom notification types. NotificationDispatcherInterfacefor dependency injection.BackendUserSentMessageToFrontendUserbuilt-in notification class.- English localization for all language files.