GiveWP
Features
- This release includes an upgrade routine to move comments from WordPress core tables to our own custom tables. This was done to resolve conflicts with various plugins incorrectly flagging Give's comments as spam. [Developer's Post - Custom Comment Tables](https://developers.givewp.com/2018/10/08/give-2-3-0-custom-comment-tables/), [#3627](https://github.com/impress-org/Give/issues/3627), [#3589](https://github.com/impress-org/Give/issues/3589), [#3604](https://github.com/impress-org/Give/issues/3604), [#3588](https://github.com/impress-org/Give/issues/3588)
- Admins now have the ability to send notes to donors via a customizable email within the donation details screen. [#2159](https://github.com/impress-org/Give/issues/2159)
- A real time view of currency number formatting displays when modifying the setting. [#3490](https://github.com/impress-org/Give/issues/3490)
- You can now more easily copy form shortcodes by clicking a new "Copy Shortcode" button. [#2602](https://github.com/impress-org/Give/issues/2602)
- There is now a Gutenberg block for the donor wall. [#3546](https://github.com/impress-org/Give/issues/3546)
- We've added a "Select All Fields" option within the donation exporter for easier select/deselect checkboxes. [#3649](https://github.com/impress-org/Give/issues/3649)
- There is now a {donor_comment} email tag to pass within emails. [#3655](https://github.com/impress-org/Give/issues/3655)
- Added the ability to export donation comments within the exporter. [#3743](https://github.com/impress-org/Give/issues/3743)
- Acceptance testing has been updated to include UI testing. [#3663](https://github.com/impress-org/Give/issues/3663)
Tweaks
- The donor wall gravatars have been optimized to now load after page load as to not slow down page speed. [#3758](https://github.com/impress-org/Give/issues/3758)
- Added filters to the donation exporter so developers can include custom data to export as needed. [#3709](https://github.com/impress-org/Give/issues/3709)
- Updated the "Card Name" field label to "Cardholder Name" to help donor's understand the field. [#3714](https://github.com/impress-org/Give/issues/3714)
- Dates are formatted to the WordPress date format found under Settings > General. [#3502](https://github.com/impress-org/Give/issues/3502)
- Optimized the loading of give options by setting autoload to no for most of Give's settings. [#2491](https://github.com/impress-org/Give/issues/2491)
- When changing payment gateways a nonce is verified for additional security. [#2580](https://github.com/impress-org/Give/issues/2580)
- The TCPDF library is now included with composer to help prevent conflicts with other plugins using the same library. [#3482](https://github.com/impress-org/Give/issues/3482)
- Currency settings now allow for 8 decimal points to better support Bitcoin and other crytocurrencies. [#3602](https://github.com/impress-org/Give/issues/3602)
Fixes
- The donor wall has now been modified so each individual donation displays separately. As well, we've added additional options in the shortcode to sort the donors. The styles have also been improved to be more cross-theme compatible. [#3744](https://github.com/impress-org/Give/issues/3744), [#3781](https://github.com/impress-org/Give/issues/3781)
- When the "Delete all data" tool is used, Give data is removed from all tables BUT Give settings and custom tables are not removed. When Give is uninstalled with the "Remove Data on Uninstall" selected under Settings > Advanced tab, Give data and settings are removed AND custom tables are removed. [#3638](https://github.com/impress-org/Give/issues/3638)
- Per-form emails now use the global email content as a starting point for easier customization. [#3653](https://github.com/impress-org/Give/issues/3653)
- When you delete a donation form the form's metadata is now removed from the database for better cleanup. [#3641](https://github.com/impress-org/Give/issues/3641)
- When Singapore is selected the City requirement is removed. [#3669](https://github.com/impress-org/Give/issues/3669)
- Allow selection of more than the first 30 forms in the Export tool. [#3674](https://github.com/impress-org/Give/issues/3674)
- Set autocomplete off to all the admin date fields. [#3675](https://github.com/impress-org/Give/issues/3675)
- Resolved typos in the "Dry Run" option of the importer. [#3699](https://github.com/impress-org/Give/issues/3699)
- Resolved jumping to a page number issue in Donations > Donors when entering a custom page number and pressing enter. [#3719](https://github.com/impress-org/Give/issues/3719)
- Do not display shortcode generator above form content. [#3739](https://github.com/impress-org/Give/issues/3739)
- Ensure date fields have the same placeholders throughout the admin interface. [#3757](https://github.com/impress-org/Give/issues/3757)
Security
- Prevent Stored XSS vulnerability in donor names by adding additional escaping to ensure security when viewing donor records in WP-Admin. We take security seriously and would like to thank GoDaddy and Sucuri for reporting and assisting with this fix. Thanks also to the WordPress Plugin Review Team for allowing a force push of all security patches to protect all Give users. For more detailed information see here: https://blog.sucuri.net/2019/05/wordpress-plugin-give-stored-xss-for-donors.html
Fixes
- Resolved a JS error preventing visitors from successfully logging into via a donation form. [#3684](https://github.com/WordImpress/Give/issues/3684)
- Typo within tooltip. [#3685](https://github.com/WordImpress/Give/issues/3685)
- Removed usage of deprecated jQuery load() method. [#3688](https://github.com/WordImpress/Give/issues/3688)
Tweaks
- This version contains an upgrade routine to correct issues with the donor wall in which past donors would incorrectly display on the wall regardless of whether they elected to be anonymous or not. As well, donors can now give to multiple donation forms and be anonymous on one and not anonymous on another.
- Added a test to check if all registered db updates complete automatically on fresh install. [#3628](https://github.com/wordimpress/give/issues/3628)
Fixes
- Ensure donors can be properly connected and disconnected to WP users in the donor details screen. [#3636](https://github.com/wordimpress/give/issues/3636)
- Prevent error notices from displaying in the Gutenberg editor. [#3575](https://github.com/wordimpress/give/issues/3575)
- Prevent JS errors when attempting to deactivate the plugin. [#3619](https://github.com/wordimpress/give/issues/3619)
- There is an upgrade routine to Donors that mark themselves as anonymous .
- PHP notices when recalculating total donation income amount. [#3611](https://github.com/wordimpress/give/issues/3611)
- Do not display encoded UTF-8 characters in donor comments. [#3631](https://github.com/wordimpress/give/issues/3631)
Fixes
- Added backwards compatibility for email tag "description" and "function" options that were modified in the previous version. [#3584](https://github.com/WordImpress/Give/issues/3584)
- Refactored the settings API to have custom save logic for individual setting sections. Developers can now easily create a custom setting page and option name which will store data in its own option rather than increasing the size of the give_settings option. [#3541](https://github.com/WordImpress/Give/issues/3541)
- Exclude the honeypot field from floating labels js. [#2230](https://github.com/WordImpress/Give/issues/2230)
- All donation forms are now listed on Export screen in wp-admin. [#1970](https://github.com/WordImpress/Give/issues/1970)
- Increased the contrast for the floating labels for inactive placeholders. [#2179](https://github.com/WordImpress/Give/issues/2179)
- Resolve error with email access when the "View Receipt" link is clicked the donor would receive a permissions error. [#3571](https://github.com/WordImpress/Give/issues/3571)
- Prevent login button text from updating with wrong text. [#3562](https://github.com/WordImpress/Give/issues/3562)
- Uncomment the give_checkout_login_fields_before hook so developers can use it accordingly. [#3566](https://github.com/WordImpress/Give/issues/3566)
- Prevent emails from being sent when importing donations. [#3592](https://github.com/WordImpress/Give/issues/3592)
Tweaks
- The donor wall shortcode has been modified so that donors who give without leaving a comment will display by default. [#3581](https://github.com/WordImpress/Give/issues/3581)
Fixes
- Fixed email access issue with the donation history page preventing donors from using the submit button once they entered their email. [#3553](https://github.com/wordimpress/give/issues/3553)
- Resolved PHP notices when accessing donation history via email in PHP version 7.2. [#3565](https://github.com/wordimpress/give/issues/3565)
Fixes
- Resolve an issue with the donor wall displaying incorrect amounts when a donor has given multiple times. [#3532](https://github.com/wordimpress/give/issues/3532)
- Confirm system generated notes insert as comments for donations and aren't blocked by WP's spam protections. [#3537](https://github.com/wordimpress/give/issues/3537)
- Render settings textarea field type within a div instead of a p tag for better compatibility with tabs.
- Updating donor information does not update display on donations admin page. [#2985](https://github.com/wordimpress/give/issues/2985)
- Pass widget arguments to action hook for developers to more easily extend. [#3245](https://github.com/wordimpress/give/issues/3245)
- Extend email notification functionality to support admin context. [#3516](https://github.com/wordimpress/give/issues/3516)
- Deleting all data doesn't remove form categories or tags. [3145](https://github.com/wordimpress/give/issues/3145)
- Don't block login form after first failed login. [3423](https://github.com/wordimpress/give/issues/3423)
Tweaks
- Use send_preview_email function to setup email data for previewing emails. [#3517](https://github.com/wordimpress/give/issues/3517)
- Increase donors table email column length to support longer emails. [#3525](https://github.com/wordimpress/give/issues/3525)
Tweaks
- This release requires a number of updates to our add-ons for full compatiblity due to the optimization of how we handle donor session data and additional refactoring of the database schema. Please ensure you update all your add-ons after updating for full compatibility. If you have any issues with the update feel free to reach out to our support. [GiveWP Plugin Support](https://givewp.com/support/)
- Improved the database update process so that even if AJAX is inaccessible by the plugin updates can still be ran. The only difference is that admins will have to remain on the page while the upgrade runs. AJAX was used for background updates, but if it's not able to be used the background process is removed and a notice displays prompting the admin to remain on page. [#3420](https://github.com/wordimpress/give/issues/3420), [#3393](https://github.com/wordimpress/give/issues/3393)
- Refactored the Give "_give_paymentmeta" table name to "_give_donationmeta" to prevent naming conflicts with plugins like Restrict Content Pro and potentially others that use the same custom table name. [#2710](https://github.com/WordImpress/Give/issues/2710)
- Refactored the multiple methods to delete donors so now there is a singular method for donor deletion that is extensible. For more info see [this developers blog post](https://developers.givewp.com/2018/07/24/give-2-2-0-singular-method-for-donor-deletion-process/). [#2347](https://github.com/WordImpress/Give/issues/2347)
- The "Terms and Conditions" label now accepts HTML so you can insert links to more info and content. This is particularly useful for improved GDPR compliance. [#3225](https://github.com/WordImpress/Give/issues/3225)
- Core now uses the form's currency in the process of donation creation. [#3401](https://github.com/WordImpress/Give/issues/3401)
Features
- The Donor Wall is here. Now you can display your donors, their comment, and the amount they donated in a customizable shortcode. [#2900](https://github.com/WordImpress/Give/issues/2900), [#3312](https://github.com/WordImpress/Give/issues/3312)
- You can now enable Title Prefixes, or also commonly called "Honorifics" (Mr., Mrs., Dr.), for donors in a flexible and customizable way. [#3011](https://github.com/WordImpress/Give/issues/3011)
- Refactored how Give stores sessions in a much more cache-friendly way using a new custom table called "_give_sessions". For more information please see the [this Give developers post](https://developers.givewp.com/2018/07/24/give-2-2-0-revamp-session/) for more information.
- Country and State dropdowns are now using searchable dropdowns in wp-admin plugin settings. [#2423](https://github.com/WordImpress/Give/issues/2423)
- The following email tags are added in this feature: {admin_email}, {offline_mailing_address}, {site_url}. [#3070](https://github.com/WordImpress/Give/pull/3070), [#3378](https://github.com/WordImpress/Give/pull/3378)
- Added a more complete list of currencies from around the world. [#3367](https://github.com/wordimpress/give/issues/3367)
- Added a new helper function
give_form_get_default_level( $form_id )for developers to more easily retrieve a donation form's default level ID. [#3397](https://github.com/wordimpress/give/issues/3397) - An additional "exclude" option has been added to NOT include a donation form by default on the form grid. [#3206](https://github.com/wordimpress/give/issues/3206)
- You can now duplicate donation forms on the donation form listing screen in wp-admin. [#3331](https://github.com/wordimpress/give/issues/3331)
- Donation receipts are now loaded via AJAX to prevent caching conflicts. [#3412](https://github.com/wordimpress/give/issues/3412)
- The "Company Name" field is now able to be updated in wp-admin on the donation details screen. [#3413](https://github.com/wordimpress/give/issues/3413)
- There is now a plugin deactivation screen that displays with a survey to help us improve the plugin. [#648](https://github.com/wordimpress/give/issues/648)
Fixes
- Gutenberg blocks are now fully functional in anticipation of WP 5.0 release. [#3518](https://github.com/wordimpress/give/issues/3518)
- The address email tag is now appropriately formatted so the address fields appear in the correct order. [#2790](https://github.com/wordimpress/give/issues/2790)
- Exporting and Importing donations is now in sync without any errors to make migrating data between environments easier. [#2135](https://github.com/wordimpress/give/issues/2135)
- Resolved issues with the newsletter sign up on the Give activation welcome screen. [#2322](https://github.com/wordimpress/give/issues/2322)
- All email tags listed below the email template WYSIWYG editor are now usable. Previously some were not rendering properly because of the type of email being edited. [#2997](https://github.com/wordimpress/give/issues/2997)
- Modal and button mode donations forms were not properly displaying payment errors within the modal leading to potential donor confusion. [#3006](https://github.com/wordimpress/give/issues/3006)
- Donation form earning now update when a donation amount is updated so stats remain correct. [#3085](https://github.com/wordimpress/give/issues/3085)
- When using a dropdown multilevel select type in Button mode the dropdown would incorrectly display above the button. [#3215](https://github.com/wordimpress/give/issues/3215)
- Removed the restriction of when a donation form is created from the PDF receipt export report found under Donations > Tools > Export > Export PDF of Donations and Income. [#3395](https://github.com/wordimpress/give/issues/3395)
- Updated TCPDF to support PHP 7.2. [#3411](https://github.com/wordimpress/give/issues/3411)
- Added minor CSS to fix conflict with the popular Enfold theme. [#3403](https://github.com/wordimpress/give/issues/3403)
- Removed the Give Shortcode button from the editor for creating emails. [#3422](https://github.com/wordimpress/give/issues/3422)
- Resolved modal background scrolling on iOS. [#3424](https://github.com/wordimpress/give/issues/3424)
- When activating an add-on from the Give menu within the plugin page it incorrectly redirected the admin back to the All menu tab. [#3438](https://github.com/wordimpress/give/issues/3438)
- Format dates to WordPress
date_formatin the donation admin screens. [#3502](https://github.com/wordimpress/give/issues/3502)
Security
- Prevent Stored XSS vulnerability in donor names by adding additional escaping to ensure security when viewing donor records in WP-Admin. We take security seriously and would like to thank GoDaddy and Sucuri for reporting and assisting with this fix. Thanks also to the WordPress Plugin Review Team for allowing a force push of all security patches to protect all Give users. For more detailed information see here: https://blog.sucuri.net/2019/05/wordpress-plugin-give-stored-xss-for-donors.html
Fixes
- We have moved "babel-polyfill" to Give Core for better browser compatiblity so our various add-ons can use it and it's not enqueued multiple times which can cause errors. [#3433](https://github.com/WordImpress/Give/issues/3433)
