8.0.0
Compatibility Breaking Changes
- Runtime
get_filesystems()
method has been changed toget_filesystem()
and now only root file system is defined. - Trigger
action()
method has been renamed tocontext()
. - Trigger doesn't have the postponing feature anymore, as processing is happening on the
shutdown
action. - Trigger is now only a description object, all the processing is handled by the Runner class.
notification/carrier/sent
action doesn't have the Notification context anymore, so there's no 3rd parameter.- Store classes now live under
BracketSpace\Notification\Store
namespace rather thanBracketSpace\Notification\Defaults\Store
. - Plugin doesn't cache anything anymore, the loading process is more streamlined and things like Post Types are lazy loaded when needed
- Registration functions has been replaced with
Register
class and its static methods. - Multiple functions has been replaced with their static method equivalents.
notification/elements
action has been deprecated, usenotification/init
instead.NOTIFICATION_VERSION
constant has been removed, useNotification::version()
instead.BracketSpace\Notification\Vendor
namespace is replaced withBracketSpace\Notification\Dependencies
.
Removed deprecated hooks:
notification/notification/pre-send
, usenotification/carrier/pre-send
notificaiton/notification/field/resolving
, usenotification/carrier/field/resolving
notification/value/strip_empty_mergetags
, usenotification/resolve/strip_empty_mergetags
notification/value/strip_shortcodes
, usenotification/carrier/field/value/strip_shortcodes
notificaiton/notification/field/resolved
, usenotification/carrier/field/value/resolved
notificaiton/merge_tag/value/resolved
, usenotification/merge_tag/value/resolved
notification/webhook/remote_args/{$method}
, usenotification/carrier/webhook/remote_args/{$method}
notification/webhook/called/{$method}
, usenotification/carrier/webhook/called/{$method}
notification/boot/initial
, usenotification/init
notification/boot
, usenotification/init
Full changelog
- [Fixed] Code issues from not using static analysis.
- [Fixed] WordPress' balanceTags filter which was breaking the Notification content.
- [Fixed] Notification importing.
- [Fixed] Setting fields escaping.
- [Fixed] Post Updated Trigger which failed for updating pending posts, that doesn't have the slug yet.
- [Changed] Always return the single root filesystem in Runtime.
- [Changed] Stores with plugin objects, now they are much simpler and don't use WP filters.
- [Changed] Plugin loading stack, see docs for more details.
- [Changed] Plugin settings now are initialized on
notification/init 5
action. - [Changed] Recipients now can be loaded anytime, not only before Carriers get registered.
- [Changed] PHP Dependency handling, now all the PHP dependencies lives in src/Dependencies dir.
- [Removed]
Common
Abstract that has been replaced by HasName and HasSlug Traits. - [Removed] Cache class and all caching mechanism for post types, taxonomies and comment types.
- [Removed] Trait Users. This is replaced with
BracketSpace\Notification\Queries\UserQueries
class. - [Removed] Deprecated hooks for actions and filters.
- [Removed] Carrier helper functions:
notification_register_carrier
,notification_get_carriers
,notification_get_carrier
. - [Removed] Recipient helper functions:
notification_register_recipient
,notification_get_recipients
,notification_get_carrier_recipients
,notification_get_recipient
,notification_parse_recipient
. - [Removed] Resolver helper functions:
notification_register_resolver
,notification_resolve
,notification_clear_tags
. - [Removed] Trigger helper functions:
notification_register_trigger
,notification_get_triggers
,notification_get_trigger
,notification_get_triggers_grouped
. - [Removed] GLobal Merge Tags helper functions:
notification_add_global_merge_tag
,notification_get_global_merge_tags
. - [Removed] Misc functions:
notification_display_wizard
,notification_ajax_handler
,notification_filesystem
. - [Removed] Template functions:
notification_template
,notification_get_template
. - [Removed] Notification post functions:
notification_get_posts
,notification_get_post_by_hash
,notification_post_is_new
. - [Removed] Syncing functions:
notification_sync
,notification_get_sync_path
,notification_is_syncing
. - [Removed] Whitelabeling functions:
notification_whitelabel
,notification_is_whitelabeled
. - [Removed] Editor and Code Editor fields sanitizers to allow for HTML usage, ie. email templates.
- [Removed]
notification/elements
action hoook. - [Removed] NOTIFICATION_VERSION constant.
- [Added] Runner class that processes the Triggers.
- [Added] ErrorHandler class that helps handle errors. It can throw an exception when NOTIFICATION_DEBUG is enabled or save a warning to error_log when it's disabled.
- [Added] Plugin settings value lazy loading.
- [Added] Email error catcher.
- [Added] Free and Premium extensions upselling.
- [Added]
Notification::fs()
helper that returns plugin filesystem. - [Added] Core\Templates wrapper for Templates provider.
Compatibility breaking changes and security fixes. Please make sure to review the changelog before upgrading and adjust your customizations.
The premium plugins won't work with Notification v8 unless updated.