Releases: BracketSpace/Notification
Releases · BracketSpace/Notification
7.2.0
- [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
- [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
- [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
- [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
directwhen using this plugin.
7.0.2
- [Fixed] Extensions screen error with premium extension
7.0.1
- [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
Breaking changes
- All trigger's slugs has been changed to unify them. Compare the old slugs and new slugs.
- Settings section
notificationshas been changed tocarriers. Pay attention while registering the Carrier settings and update allnotification_get_setting( 'notifications/{$group}/{$option}' )tonotification_get_setting( 'carriers/{$group}/{$option}' ) - Changed the plugin file structure and many internal classes which might be used by other plugins.
- The plugin initializes now on
init 5action and no functions/classes are available until then. You may usenotifiation/initaction to init the extensions andnotification/elementsto register custom Triggers and Carriers. - The Date and Time Merge Tags now require the Unix timestamp which shouldn't have the timezone offset. Use GMT timezone.
- The
notification_runtimefunction has been deprecated in favor of new\Notificationstatic class. - 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
notifiationsto propercarriersto 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_VERSIONconstant 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_filesystemfunction 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_repeatername. - [Added] Rest API class to handle internal requests.
- [Added]
notification/settings/savedaction. - [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_DIRandNOTIFICATION_URLconstants. - [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
- [Fixed] On/off switch in notifications table.
- [Fixed] Duplicate feature.
- [Fixed] Licensing.
- [Changed] Notification trash link wording.
6.0.2
- [Fixed] Error in admin notice while manipulating extension license.
- [Fixed] Scripts and styles conditional loading.
6.0.0
- [Fixed] Theme Update trigger errors on update.
- [Added] Notification object as a wrapper for Notification Post.
- [Added]
notification_create_viewfunction for seamless view creation. - [Added]
notification/post/column/mainaction for notification edit screen addons. - [Added]
notification_get_postsfunction. - [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_handlerfunction. - [Added] Ability to define Notifications programmatically.
- [Added] JSON synchronization feature.
- [Added]
add_quick_merge_tagTrigger method. - [Added] Collapse option for plugin settings groups.
- [Added] Common error log for all extensions, you can use
notification_logfunction. - [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_sendfilter 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/saveaction. - [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_viewfunction. - [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