Recent Updates
Fixes
- Notifications configured against a WPML-translated group or course were not correctly triggered when enrollment uses the original-language post ID.
- Resolved an issue in the "A scheduled lesson is available to user" trigger where processing could skip remaining users and notifications when a delayed email was already queued.
- Resolved an issue in the "A scheduled lesson is available to user" trigger where the duplicate-send check did not properly filter by notification ID.
- Resolved an issue that caused the "X Days After Course Expires" trigger to not work correctly.
- Resolved an issue where a corrupt or orphaned queue item could deadlock the delayed notification queue, blocking all delayed notifications from sending.
- Resolved an issue where the "Complete a course" notification did not record the sent flag correctly, causing duplicate sends for the same user and course.
- Resolved an issue where the "User hasn't logged in for X days" trigger silently skipped enrolled students who carried the administrator role, producing no log entry, no queued email, and no notification.
- Resolved an issue where the "X days before/after course expires" and "A scheduled lesson is available" triggers silently skipped enrolled students who carried the administrator role.
- Resolved implicit-nullable type hints in
gather_emails()that caused deprecation notices on PHP 8.4.
Tweaks
- Added error logging when a delayed notification failed to insert into the queue, making silent database failures visible in the log.
Updates
- Sync bundled WooCommerce email templates with WooCommerce core template versions.
Security
- Added additional validation to the core settings importer.
- Added additional escaping to donor information displayed in the admin.
- Added additional escaping to the Sequoia (Multi-Step Form) template output. (CVE-2026-14987)
Security
- Strengthened Tickets Commerce failed order Gateway endpoints.
- Strengthened capability checks for Seating's Layout ajax actions.
Compatibilitys
- Improved PHP compatibility for versions 7.4 and up to 8.4.
Languages
- 0 new strings added, 36 updated, 0 fuzzied, and 0 obsoleted.
Compatibilitys
- Improved PHP compatibility for versions 7.4 and up to 8.4.
Languages
- 0 new strings added, 59 updated, 0 fuzzied, and 0 obsoleted.
Fixes
- Resolved a fatal error caused by the undefined K_CURLOPTS constant when another plugin loaded TCPDF before ETP's autoconfig had a chance to run.
Compatibilitys
- Improved PHP compatibility for versions 7.4 and up to 8.4.
Languages
- 0 new strings added, 5 updated, 0 fuzzied, and 0 obsoleted.
Fixes
- Excluded RSVP "not going" attendees from the Dashboard "At a Glance" attendee count so the number reflects actual attendance.
- Resolved an issue where duplicating an event with shared-capacity tickets reset the duplicated tickets capacity to zero.
Tweaks
- Added the
tec_tickets_glance_item_attendee_count_enabledfilter to allow disabling the attendee count glance item entirely.
Performance
- Replaced full attendee object hydration in
Glance_Items::update_attendee_count()with a single SQL COUNT query, preventing PHP timeouts and infinite WP-Cron re-queuing on high-volume sites.
Compatibilitys
- Improved PHP compatibility for versions 7.4 and up to 8.4.
Languages
- 4 new strings added, 97 updated, 0 fuzzied, and 0 obsoleted.
Fixes
- Frontend Instructor Dashboard tabs now load the correct content when a dashboard menu item is disabled.
- Resolved the Share Course instructor dropdown not listing instructors on the course edit screen when the LearnDash - Paid Memberships Pro add-on was active, and the instructor field's invisible white border.
Tweaks
- Improved instructor course builder performance so large courses load, expand and collapse lessons, and reorder steps without freezing the browser.
- Updated templates:
modules/templates/settings/ir-share-course-metabox.template.php.
Fixes
- Prevented empty or zero Custom Pagination values from being saved on courses, which caused a fatal error on the modern course and lesson pages.