Skip to content

Releases: BracketSpace/Notification

7.2.0

01 Jan 09:52

Choose a tag to compare

  • [Fixed] DB Upgrade running on every admin request, thanks to @pewu-dev.
  • [Fixed] Missing permission_callback argument in REST endpoints.
  • [Fixed] UserPasswordResetLink Merge Tag property names, thanks to @mircobabini.
  • [Fixed] Uninstall process.
  • [Fixed] TinyMCE plugin error.
  • [Fixed] Notice when Suppressing is active and Debug log is inactive.
  • [Fixed] Cache refreshing while running under WP CLI, thanks to @mircobabini.
  • [Added] User avatar url to comment trigger and comment replied trigger.
  • [Added] Privacy Triggers for User erase/export data request and user erased/exported data.

7.1.1

25 Jun 04:59

Choose a tag to compare

  • [Fixed] License keys not being passed to the Updater class.
  • [Fixed] Cache refreshing on front-end.
  • [Fixed] {comment_datetime} merge tag being not rendered, thanks to @jphorn.
  • [Fixed] Repeater field values being incorrectly parsed.
  • [Changed] Non-public Post Types are cached too in case someone want's to unlock them.
  • [Changed] Plugin settings are registered on front-end as well to ensure enough data is provided for the cache.
  • [Added] Option in the Settings to log the Notification and still send it. Previously it was always suppressed.
  • [Added] User role merge tag to all the Post triggers, thanks to Steven N.

7.1.0

10 Jun 06:08

Choose a tag to compare

  • [Fixed] Carrier Recipients using the explicit slug, now it's configurable.
  • [Added] Field class property multiple_section.
  • [Added] Post approved Trigger.
  • [Added] Revision link for updated post.
  • [Added] Enable/Disable bulk actions for Notifications.
  • [Changed] Fields usage validation in Section Repeater Vue component now checks Field properties to determine if field can be used in the same row.
  • [Changed] Repeater/Recipients Carrier field based on Vue now displays an error when REST API endpoint is not reachable.

7.0.4

21 Apr 12:43

Choose a tag to compare

  • [Fixed] Cache refresh process causing no Triggers and Carriers to display.
  • [Added] Webhook error logging, thanks to @callum-veloxcommerce.
  • [Added] Fallback for PRO extensions having a version number in the directory name. They are now properly recognized.
  • [Changed] The Filesystem method is now set to direct when using this plugin.

7.0.2

03 Apr 18:49

Choose a tag to compare

  • [Fixed] Extensions screen error with premium extension

7.0.1

03 Apr 12:23

Choose a tag to compare

  • [Fixed] Param accessor causing PHP notices.
  • [Fixed] TinyMCE error when using unfiltered HTML email body.
  • [Changed] Updated Composer and NPM dependencies.
  • [Changed] When using unfiltered HTML email body, the field is now an HTML editor.

7.0.0

01 Apr 07:48

Choose a tag to compare

Breaking changes

  1. All trigger's slugs has been changed to unify them. Compare the old slugs and new slugs.
  2. Settings section notifications has been changed to carriers. Pay attention while registering the Carrier settings and update all notification_get_setting( 'notifications/{$group}/{$option}' ) to notification_get_setting( 'carriers/{$group}/{$option}' )
  3. Changed the plugin file structure and many internal classes which might be used by other plugins.
  4. The plugin initializes now on init 5 action and no functions/classes are available until then. You may use notifiation/init action to init the extensions and notification/elements to register custom Triggers and Carriers.
  5. The Date and Time Merge Tags now require the Unix timestamp which shouldn't have the timezone offset. Use GMT timezone.
  6. The notification_runtime function has been deprecated in favor of new \Notification static class.
  7. Repeater and recipients fields on the front-end has been rewriten to use vue.js. Hooks for actions in js scripts for this fields provide now access to vue.js instance. Each repeater and recipient field, are now separate vue.js instances.

Full changelog

  • [Changed] Added PUT, PATCH, DELETE http request methods to Webhook. Combined all http requests methods into one class method.
  • [Changed] Webhook class methods http_request and parse_args move to trait.
  • [Changed] Requirements utility to micropackage/requirements.
  • [Changed] DocHooks utility to micropackage/dochooks.
  • [Changed] Files utility to micropackage/filesystem. Now the plugin has few filesystems which can be accessed easily from outside the plugin.
  • [Changed] View utility to micropackage/templates.
  • [Changed] Ajax utility to micropackage/ajax.
  • [Changed] Loading stack, now the plugin initializes on init 5 (or 4 if bundled).
  • [Changed] Merge Tags don't need the requirements now and throwable resolver errors are caught and changed to notices.
  • [Changed] Date and Time Merge Tags now expect Unix timestaps (GMT) without offset.
  • [Changed] All Trigger's slugs.
  • [Changed] Settings section notifiations to proper carriers to follow the standard established in version 6.
  • [Changed] Repeater and recipient fields are now using vue.js on the front-end.
  • [Changed] Pretty select fields in the repeater and recipient fields are now handled by vue.js lifecycle hooks.
  • [Changed] NOTIFICATION_VERSION constant to \Notification::version() method.
  • [Changed] User ID Email recipient now support the comma-separated value, thanks to Robert P.
  • [Changed] The Recipients section in Carrier box now displays Type column even if a single recipient type is registered.
  • [Added] Webhook and Cache trait.
  • [Added] Webhook JSON Carrier with plain JSON input code field.
  • [Added] Composer imposter package to aviod package conflicts.
  • [Added] notification_filesystem function to get plugin filesystem(s).
  • [Added] Scheduling user Merge Tags for Post Scheduled trigger.
  • [Added] Last updated by user Merge Tags for Post triggers.
  • [Added] Image field for settings page.
  • [Added] Notification runtime cache with notification_cache() function wrapper.
  • [Added] Two Factor plugin integration.
  • [Added] Possibility to nest one level repeater field in another repeater field. Nested repeater field must have nested_repeater name.
  • [Added] Rest API class to handle internal requests.
  • [Added] notification/settings/saved action.
  • [Fixed] Merge Tag used as anchor href now is not prefixed with protocol while adding the link.
  • [Fixed] Selectize script breaking description field in select input.
  • [Fixed] Bulk removing Notifications.
  • [Removed] NOTIFICATION_DIR and NOTIFICATION_URL constants.
  • [Removed] Ajax action ajax_get_recipient_input

�Compatibility breaking changes. Please make sure to review the changelog before upgrading and adjust your customizations.
The premium plugins won't work with Notification v7 unless updated.

6.0.3

24 May 11:23

Choose a tag to compare

  • [Fixed] On/off switch in notifications table.
  • [Fixed] Duplicate feature.
  • [Fixed] Licensing.
  • [Changed] Notification trash link wording.

6.0.2

23 May 07:31

Choose a tag to compare

  • [Fixed] Error in admin notice while manipulating extension license.
  • [Fixed] Scripts and styles conditional loading.

6.0.0

21 May 09:28

Choose a tag to compare

  • [Fixed] Theme Update trigger errors on update.
  • [Added] Notification object as a wrapper for Notification Post.
  • [Added] notification_create_view function for seamless view creation.
  • [Added] notification/post/column/main action for notification edit screen addons.
  • [Added] notification_get_posts function.
  • [Added] Import and Export feature using JSON files.
  • [Added] Composer support with unified testing.
  • [Added] Merge Tags groups.
  • [Added] Notification Adapters - WordPress and JSON.
  • [Added] notification_ajax_handler function.
  • [Added] Ability to define Notifications programmatically.
  • [Added] JSON synchronization feature.
  • [Added] add_quick_merge_tag Trigger method.
  • [Added] Collapse option for plugin settings groups.
  • [Added] Common error log for all extensions, you can use notification_log function.
  • [Added] Post thumbnail URL and featured imager URL Merge Tags.
  • [Added] Comment content HTML merge tag.
  • [Added] Resolver API which allows to register more Merge Tag resolvers.
  • [Added] notification/should_send filter to hold off the whole Notification.
  • [Removed] Trigger usage tracking.
  • [Changed] PostData class has been removed in favor of Notification object and procedural functions.
  • [Changed] Admin Classes: MergeTags, Notifications, PostData, Recipients, Triggers has been removed and their content included in the Admin/PostType class.
  • [Changed] Notification data is now using single nonce field and additional data should be saved with notification/data/save action.
  • [Changed] Namespaces of Cron, Internationalization, License and Whitelabel classes.
  • [Changed] Native class autoloader to Composer autoloader.
  • [Changed] User recipients optimization with direct database calls.
  • [Changed] Notification (in "type" context) has been renamed to Carrier.
  • [Changed] The View object is not injected anymore to any Class, all use the notification_create_view function.
  • [Changed] ScreenHelp class has been renamed to Screen and render methods from PostType class has been moved to this new class.
  • [Changed] Notifications are now loaded on every page load and the Trigger action is not executing at all if no Notification is using it.
  • [Changed] Notifications doesn't have the trash anymore, the items are removed right away.
  • [Changed] On notification edit screen the editor styles are no longer applied.
  • [Changed] Carriers now have two step status - they can be either added to a Notification and be disabled at the same time.
  • [Changed] strip_shortcodes function to custom preg_replace for better stripping.
  • [Changed] Trigger storage now contains whole Notifications instead of just Carriers.

= Compatibility breaking changes =

Hooks - Some of the hooks names has been renamed for better consistency across the plugin. List of all changes:

  • notification/notification/pre-send -> notification/carrier/pre-send
  • notification/notification/sent -> notification/carrier/sent
  • notificaiton/notification/field/resolving -> notification/carrier/field/resolving
  • notification/value/strip_empty_mergetags -> notification/resolve/strip_empty_mergetags
  • notification/value/strip_shortcodes -> notification/carrier/field/value/strip_shortcodes
  • notificaiton/notification/field/resolved -> notification/carrier/field/value/resolved
  • notificaiton/merge_tag/value/resolved -> notification/merge_tag/value/resolved
  • notitication/admin/notifications/pre -> notification/admin/carriers/pre
  • notitication/admin/notifications -> notification/admin/carriers
  • notification/webhook/called/get -> notification/carrier/webhook/called/get
  • notification/webhook/called/post -> notification/carrier/webhook/called/post
  • notification/notification/box/pre -> notification/carrier/box/pre
  • notification/notification/box/post -> notification/carrier/box/post
  • notification/notification/box/field/pre -> notification/carrier/box/field/pre
  • notification/notification/box/field/post -> notification/carrier/box/field/post
  • notification/notification/form_fields/values -> notification/carrier/fields/values
  • notification/email/use_html_mime -> notification/carrier/email/use_html_mime
  • notification/email/recipients -> notification/carrier/email/recipients
  • notification/email/subject -> notification/carrier/email/subject
  • notification/email/message/pre -> notification/carrier/email/message/pre
  • notification/email/message/use_autop -> notification/carrier/email/message/use_autop
  • notification/email/message -> notification/carrier/email/message
  • notification/email/headers -> notification/carrier/email/headers
  • notification/email/attachments -> notification/carrier/email/attachments
  • notification/webhook/args -> notification/carrier/webhook/args
  • notification/webhook/args/$type -> notification/carrier/webhook/args/$type
  • notification/webhook/remote_args/get -> notification/carrier/webhook/remote_args/get
  • notification/webhook/remote_args/post -> notification/carrier/webhook/remote_args/post

Classes - Some of the classes or namespaces has been renamed or removed. List of all changes:

  • BracketSpace\Notification\Admin\MergeTags - removed
  • BracketSpace\Notification\Admin\Notifications - removed
  • BracketSpace\Notification\Admin\PostData - removed
  • BracketSpace\Notification\Admin\Recipients - removed
  • BracketSpace\Notification\Admin\Triggers - removed
  • BracketSpace\Notification\Admin\PostData - removed
  • BracketSpace\Notification\Tracking - removed
  • BracketSpace\Notification\Admin\BoxRenderer - removed
  • BracketSpace\Notification\Admin\FormRenderer - removed
  • BracketSpace\Notification\Admin\ScreenHelp - removed
  • BracketSpace\Notification\Admin\FieldsResolver - removed
  • BracketSpace\Notification\Abstracts\Notification -> BracketSpace\Notification\Abstracts\Carrier
  • BracketSpace\Notification\Defaults\Notification -> BracketSpace\Notification\Defaults\Carrier
  • BracketSpace\Notification\Admin\Cron -> BracketSpace\Notification\Core\Cron
  • BracketSpace\Notification\Internationalization -> BracketSpace\Notification\Core\Internationalization
  • BracketSpace\Notification\License -> BracketSpace\Notification\Core\License
  • BracketSpace\Notification\Whitelabel -> BracketSpace\Notification\Core\Whitelabel

Functions - Some of the functions has been renamed for better consistency across the plugin. List of all changes:

  • notification_is_new_notification -> notification_post_is_new
  • register_notification -> notification_register_carrier
  • notification_get_notifications -> notification_get_carriers
  • notification_get_single_notification -> notification_get_carrier
  • register_trigger -> notification_register_trigger
  • notification_get_single_recipient -> notification_get_recipient
  • notification_get_notification_recipients -> notification_get_carrier_recipients
  • notification_get_single_trigger -> notification_get_trigger
  • register_recipient -> notification_register_recipient