| @@ -1,6 +1,34 @@ | ||
| 1 | 1 | == Changelog == |
| 2 | 2 | |
| 3 | += 4.18.0: October 1st, 2026 = | |
| 4 | +* Enhancement: Improved donations list table performance on sites with hundreds of thousands of donations by paging on IDs first, fixing the total count query, and replacing the single-column donation meta indexes with composite ones | |
| 5 | +* Enhancement: Improved the Reports screen and legacy earnings stats on large sites by summing and counting donations in the database instead of loading every donation into memory | |
| 6 | +* Enhancement: Improved donation processing speed by skipping unnecessary offline donation email checks | |
| 7 | +* Fix: Recurring donation stats on the campaigns list now read from the cache correctly instead of showing empty values | |
| 8 | +* Fix: Campaign stats now show for campaigns that were added after the stats cache was built | |
| 9 | +* Fix: Resolved an issue where campaign stats showed as zero after viewing the Campaigns screen with test mode enabled | |
| 10 | +* Fix: Donations list table was running extremely slowly and including trashed donations on large sites. | |
| 11 | +* Fix: Resolved an issue where a database error while saving a donation, donor, subscription, campaign, or event caused a critical error and hid the real cause | |
| 12 | +* Fix: Resolved an issue where sites running PHP 8.4 or newer logged deprecation notices from GiveWP | |
| 13 | +* Fix: Database migrations started a second time in requests that arrive while a slow migration is still running. Now it runs one time and the migrations list now shows the latest run first. | |
| 14 | +* Fix: Resolved an issue where a PHP warning could appear on development copies of GiveWP that have not been built | |
| 15 | +* Fix: Resolved an issue where subscription webhook events caused a fatal error when the subscription had no initial donation | |
| 16 | +* Fix: Updated campaign duplication to create a single copy of each associated form when form metadata contains duplicate keys. | |
| 17 | +* Fix: Restored donor names, initials, and totals on the donor wall block and shortcode. | |
| 18 | +* Security: Enhanced security in Stripe webhook module | |
| 19 | +* Security: Enhanced security on the campaign block. (CVE-2026-97643) | |
| 20 | +* Security: Enhanced security for the Donor Dashboard access. | |
| 21 | + | |
| 22 | += 4.17.0: September 23rd, 2026 = | |
| 23 | +* Feature: Added the ability to embed donation forms on any website with a copy-paste snippet from the form builder | |
| 24 | +* Enhancement: Donation form embeds now show a loading state while the form loads | |
| 25 | +* Fix: Fixed PHP 8.4 deprecation notices about implicitly nullable parameters | |
| 26 | +* Fix: Fixed the revenue table index migration adding duplicate indexes when it runs more than once | |
| 27 | +* Fix: Added additional escaping to the legacy donation form's billing address fields. | |
| 28 | +* Security: Donors can no longer add unverified email addresses to their own donor record. | |
| 29 | +* Security: Enhanced security for donations imported from CSV | |
| 30 | + | |
| 3 | 31 | = 4.16.9: September 16th, 2026 = |
| 4 | 32 | * Security: Added additional validation to PayPal Commerce donation processing. |
| 5 | 33 | * Security: Added additional sanitization to donor information displayed on public pages. |
| 6 | 34 | * Fix: Resolved an issue where resuming a paused Stripe subscription triggered a fatal error. |