# Changelog ## 1.3.21 | July 28, 2026 - Fixed issue where the Reschedule meta box displayed an empty error notice after notifications were rescheduled successfully. - Fixed issue where batch rescheduling removed inactive scheduled notifications. ## 1.3.20 | July 22, 2026 - Fixed issue where scheduled notification cleanup could run a delete query with an empty meta ID list. ## 1.3.19 | February 18, 2026 - Updated styling of new Recurring setting. ## 1.3.18 | February 4, 2026 - Added custom repeat interval support allowing users to specify frequency for recurring notifications. ## 1.3.17 | November 12, 2025 - Updated the Delay setting label to read "Send this notification after" for improved clarity. ## 1.3.16 | October 15, 2025 - Added new [`gpns_user_unsubscribed`](https://gravitywiz.com/documentation/gpns_user_unsubscribed/) action hook that fires after a user has been successfully unsubscribed from GPNS notifications. ## 1.3.15 | August 20, 2025 - Fixed an issue where the Notification Scheduler section would be hidden when notifications had an event selected that no longer exists. ## 1.3.14 | June 11, 2025 - Fixed an issue with repeated notifications being sent. ## 1.3.13 | January 22, 2025 - Updated the skipped statuses on scheduled notification sends from only `spam` to `spam`, `trash`, and `gv-revision`. [`gpns_statuses_to_skip_on_send`](https://gravitywiz.com/documentation/gpns_statuses_to_skip_on_send) has been introduced as a part of this change. ## 1.3.12 | January 15, 2025 - Improved compatibility with GravityRevisions by preventing the Bulk Rescheduling flow from creating scheduled notifications for entries marked as revisions. ## 1.3.11 | July 24, 2024 - Fixed an issue where the Notification Scheduler did not correctly handle offset values set in years. - Updated the bulk rescheduling tool from "GPNS Updater" to "GPNS Rescheduler". ## 1.3.10 | July 17, 2024 - Fixed batcher capability. ## 1.3.9 | June 26, 2024 - Fixed issue where Notification Scheduler's settings would not be visible when creating new notifications. ## 1.3.8 - Improved recurring notification logic by scheduling based off of the previously scheduled timestamp rather than the current time when the notification is sending. This should prevent recurring notification times from drifting due to WP Cron being a scheduled event. - Fixed PHP warning if using a Date Field schedule type and the Date field is deleted. ## 1.3.7 - Added new [`gpns_recurring_ending_timestamp`](https://gravitywiz.com/documentation/gpns_recurring_ending_timestamp/) filter hook. - Added [`gpns_cron_schedule`](https://gravitywiz.com/documentation/gpns_cron_schedule) filter hook. ## 1.3.6 - Added new [`gpns_enable_discarded_notifications`](https://gravitywiz.com/documentation/gpns_enable_discarded_notifications) filter hook to enable sending notifications that would otherwise not be sent due to being scheduled in the past. ## 1.3.5 - Fixed an issue where entries spammed would still continue to receive their notifications. ## 1.3.4 - Added new [`gpns_unsubscribe_email`](https://gravitywiz.com/documentation/gpns_unsubscribe_email) PHP filter hook. ## 1.3.3 - Updated references to `String.prototype.format()` to use `String.prototype.gformFormat()` as the former will be removed in Gravity Forms 2.8. ## 1.3.2 - Updated the Schedule setting for notifications to only show for supported notification events. ## 1.3.1 - Added `GP_Notification_Scheduler::unsubscribe()` method to make unsubscribing easier for 3rd-parties and DRY up the codebase. ## 1.3 - Improved setting styles for smaller screens. - Added more granular time control to the "Date Field" Schedule Type. - Removed unused code around the concept of date groups. ## 1.2.9 - Fixed multi-site issue where custom database tables were not getting deleted alongside their corresponding site. ## 1.2.8 - Added new capabilities to grant/deny access to Notification Scheduler plugin settings, form settings, and to uninstall it. ## 1.2.7 - Fixed issue where an empty notification delay would trigger a fatal PHP error. ## 1.2.6 - Added additional logging. ## 1.2.5 - Fixed issue where merge tags such as `{user:user_email}` and `{user:ID}` would not work in delayed notifications. ## 1.2.4 - Fixed issue with notifications not being scheduled if the schedule type is Date Field and the selected date is the current date. ## 1.2.3 - Fixed issue where GPPA-enabled forms were not hydrated when sending scheduled notificatios. ## 1.2.2 - Fixed issue in the Scheduled Notifications box showing incorrect times if using a UTC offset as the site-wide Timezone setting. ## 1.2.1 - Improved Reschedule meta box user experience by disabling checkboxes for notifications that would have a scheduled time in the past. - Updated Reschedule meta box to force rescheduling inactive notifications. ## 1.2 - Added new “Reschedule” meta box to entries to allow for easy rescheduling of notifications. Additionally, the “Resend” behavior for scheduled notifications has been changed back to the default behavior of immediately sending the notification. ## 1.1.4 - Fixed issue where form-specific rescheduling was only form-specific for the first batch. ## 1.1.3 - Fixed issue where unchecking the "Repeat" checkbox for notifications would not correctly save. ## 1.1.2 - Added support for scheduling notifications even when the entry does not have its `date_created` or `date_modified` property set (as is the case with Partial Entries). ## 1.1.1 - Updated the GP Notification Scheduler Rebuild Batcher to be form-specific. ## 1.1 - Added new functionality for handling unsubscribing. See the [Notification Scheduler documentation](https://gravitywiz.com/documentation/gravity-forms-notification-scheduler/#unsubscribe) for usage details. - Updated how notification notes were added to better attribute them to Notification Scheduler. - Fixed issue where scheduling based off of date fields would use UTC rather than the timezone set in Settings » General. - Fixed issue where notifications scheduled using Date fields and attached to events such as Payment Failed would be scheduled even if the payment didn't fail. - Fixed issue where notifications for events such as Payment Completed would be immediately sent as well as scheduled. ## 1.0.3 - Fixed issue where notifications without an explicit "isActive" property were ignored when rebuilding the notification queue. ## 1.0.2 - Added [`gpns_schedule_timestamp`](https://gravitywiz.com/documentation/gpns_schedule_timestamp) and [`gpns_evaluate_conditional_logic_on_send`](https://gravitywiz.com/documentation/gpns_evaluate_conditional_logic_on_send) PHP filters. ## 1.0.1 - Added inline documentation to filters and simplified get_schedule_offset_units/get_schedule_recurring_units to simply get_units. ## 1.0 - Public release! ## 0.10.2 - Fixed issue where scheduling notifications on a specific date would always use UTC rather than the site's timezone. ## 0.10.1 - Fixed issue where notifications weren't rescheduled on entry update due to strict comparison. - Added `Perk: True` to plugin header - Removed placeholders from inputs as I've been confused by them more than once. - Added ability to delete scheduled notifications on the Entry Details screen. ## 0.10.0 - Removed "Scheduled" event type in favor of the "Schedule" setting. - Updated minimum Gravity Forms version to 2.5. - Updated settings UI to work in Gravity Forms 2.5. ## 0.9.15 - Fixed an issue where GPSN sent notifications for trashed entries. ## 0.9.14 - Added logging to notifications cron. ## 0.9.13 - Fixed potential error under "Scheduled Notifications" in the entry view if using the GMT +0 timezone. - Fixed issue where a MySQL error would sometimes be seen in the error logs after the cron event to send notifications ran. ## 0.9.11 - Added GF_Notification_Scheduler::rebuild_notification_queue() method ## 0.9.10 - Fixed issue where conditional logic was not evaluated before adding notification to the queue. ## 0.9.9 - Added support for style/script minification. ## 0.9.8 - Added GF 2.3 support. - Fixed conflict with 2.3 where date-based notifications were queued twice on submission. ## 0.9.7 - Fixed notice appearing in notifications list on the entry detail view when no timezone was configured. - Added support for catching scheduled notifications that no longer exist. - Added support for recurring notifications on dates that originate before the current time. ## 0.9 - Hello World!