Skip to content

8.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Oct 10:14
· 594 commits to develop since this release

Compatibility Breaking Changes

  1. Runtime get_filesystems() method has been changed to get_filesystem() and now only root file system is defined.
  2. Trigger action() method has been renamed to context().
  3. Trigger doesn't have the postponing feature anymore, as processing is happening on the shutdown action.
  4. Trigger is now only a description object, all the processing is handled by the Runner class.
  5. notification/carrier/sent action doesn't have the Notification context anymore, so there's no 3rd parameter.
  6. Store classes now live under BracketSpace\Notification\Store namespace rather than BracketSpace\Notification\Defaults\Store.
  7. Plugin doesn't cache anything anymore, the loading process is more streamlined and things like Post Types are lazy loaded when needed
  8. Registration functions has been replaced with Register class and its static methods.
  9. Multiple functions has been replaced with their static method equivalents.
  10. notification/elements action has been deprecated, use notification/init instead.
  11. NOTIFICATION_VERSION constant has been removed, use Notification::version() instead.
  12. BracketSpace\Notification\Vendor namespace is replaced with BracketSpace\Notification\Dependencies.

Removed deprecated hooks:

  • notification/notification/pre-send, use notification/carrier/pre-send
  • notificaiton/notification/field/resolving, use notification/carrier/field/resolving
  • notification/value/strip_empty_mergetags, use notification/resolve/strip_empty_mergetags
  • notification/value/strip_shortcodes, use notification/carrier/field/value/strip_shortcodes
  • notificaiton/notification/field/resolved, use notification/carrier/field/value/resolved
  • notificaiton/merge_tag/value/resolved, use notification/merge_tag/value/resolved
  • notification/webhook/remote_args/{$method}, use notification/carrier/webhook/remote_args/{$method}
  • notification/webhook/called/{$method}, use notification/carrier/webhook/called/{$method}
  • notification/boot/initial, use notification/init
  • notification/boot, use notification/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.