GiveWP
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)
Fixes
- DB Update incorrectly appears on fresh installs. [#3390](https://github.com/wordimpress/give/issues/3390)
- Ensure the level title in the exported CSV reads custom on custom donations. [#3380](https://github.com/wordimpress/give/issues/3380)
- Don't allow db updates to display if AJAX is inaccessible. [#3393](https://github.com/WordImpress/Give/issues/3393)
Features
- Added a "Give" filter for the plugin menu section on WP multisites. [#3355](https://github.com/wordimpress/give/issues/3355)
- Added shortcode support to the "Offline Donations Instructions" output. This will allow you to include any type of shortcode output within the content to improve your content. [#2937](https://github.com/wordimpress/give/issues/2937)
- Added a Company attribute to the give_receipt shortcode. [#3361](https://github.com/wordimpress/give/issues/3361)
Tweaks
- The total goal attribute is now a required field for the [give_totals] shortcode. [#3060](https://github.com/wordimpress/give/issues/3060)
- Added a "give" prefix to Give's notice CSS class to help prevent theme conflicts. [#3337](https://github.com/wordimpress/give/issues/3337)
- If a DB update needs to run button cannot there are more actionable steps displayed to admins on how to resolve the issue. [#3267](https://github.com/wordimpress/give/issues/3267)
Fixes
- The License tab was not displaying when an addon was network enabled. [#3349](https://github.com/wordimpress/give/issues/3349)
- The Goal amount should not change upon re-saving settings. [#3373](https://github.com/wordimpress/give/issues/3373)
- The "Create an account" checkbox now displays correctly in a full row if registration is enabled. [#3358](https://github.com/wordimpress/give/issues/3358)
- Resolved conflict with the qTranslate X plugin. [#3345](https://github.com/wordimpress/give/issues/3345)
- Resolved unnecessary notice that would display when a donor clicked on the option for a custom amount to any other level. A show minimum amount notice would display incorrectly to the donor. [#3299](https://github.com/wordimpress/give/issues/3299)
- The "All Forms" dropdown option on the Donation Export only used the first ten forms. [#3303](https://github.com/wordimpress/give/issues/3303)
- Various admin interface style improvements. [#2706](https://github.com/wordimpress/give/issues/2706), [#3328](https://github.com/wordimpress/give/issues/3328)
- A user who had the same ID as a donor ID could incorrectly view the donation details of that donor. [#3333](https://github.com/wordimpress/give/issues/3333)
- The Give manager role is now able to view a donation's details. [#3261](https://github.com/wordimpress/give/issues/3261)
- Ensured a custom logo appears in the email preview when configured. [#3330](https://github.com/wordimpress/give/issues/3330)
Features
- Added support for multiple messages passed to Give's internal notice API. [#1936](https://github.com/wordimpress/give/issues/1936)
- Added a new check for add-ons to always check the minimum Give version required prior to being able to update. This will prevent the case where an add-on is updated and requires a new version of Give Core than is currently running and deactivates itself. [#3217](https://github.com/wordimpress/give/issues/3217)
Tweaks
- Improved how a donation amount is saved within the internal Give_Payment class. [#3304](https://github.com/wordimpress/give/issues/3304)
- If a gateway is marked as disabled in the admin settings then disable the option to set it as the default gateway. [#3296](https://github.com/wordimpress/give/issues/3296)
Fixes
- Improved the layout of the export donations columns so that they look good on mobile devices and more. [#3266](https://github.com/wordimpress/give/issues/3266)
- Preventing PHP notices related to AKISMET admin settings when saving. [#3260](https://github.com/wordimpress/give/issues/3260)
- Prevent the licenses tab from displaying in settings if there are no add-ons installed. [#3254](https://github.com/wordimpress/give/issues/3254)
- The Give API was not respecting date ranges for earnings and donations endpoints. [#3191](https://github.com/wordimpress/give/issues/3191)
- Plugin conflict with WPML where the plugin would display language settings within Give's admin settings incorrectly. [#3314](https://github.com/wordimpress/give/issues/3314)
- In button mode text would display incorrectly from the form if closing the modal popup. [#3301](https://github.com/wordimpress/give/issues/3301)
- Plugin conflict where WPML would cause the give_totals shortcode to output the incorrect donation amounts. [#3291](https://github.com/wordimpress/give/issues/3291)
- The Give notice dismiss button should work when rendering Give notices using JS. [#3278](https://github.com/wordimpress/give/issues/3278)
- Theme conflict with Woo's Storefron theme where Give's admin footer text would overlap some elements. [#3274](https://github.com/wordimpress/give/issues/3274)
- Ensure that Give's state field doesn't lose its style when switching countries. [#3255](https://github.com/wordimpress/give/issues/3255)
- Don't allow the set donation amount to be less than the minimum amount when saving donation forms in wp-admin. [#3249](https://github.com/wordimpress/give/issues/3249)
- The "total" attribute is now required for the give_totals shortcode so you don't have a blank goal displaying on the website. [#3060](https://github.com/wordimpress/give/issues/3060)
- Resolved a form grid shortcode issue where the Payment Method field would display incorrect when only one gateway is enabled. [#3293](https://github.com/wordimpress/give/issues/3293)
Features
- Better SPAM protection through the usage of improved client and server side validation to only allow alphabet characters for first and last name, validation to ensure that the gateway field is not left empty (to compbat SPAM bot scripts), and sanitize all input fields when processing the donation. [#3035](https://github.com/WordImpress/Give/issues/3035#issuecomment-391393093)
- Added new customizable "Email Heading" fields for all Core emails (coming soon to add-ons as well). [#3110](https://github.com/WordImpress/Give/issues/3110)
- Added autocomplete field attributes to the applicable donation form fields for faster completion. [#3202](https://github.com/WordImpress/Give/issues/3202)
- Added a Give CLI command to update all add-ons or a single add-on from GitHub. [#1390](https://github.com/WordImpress/Give/issues/1390)
Fixes
- We have refactored how we are using nonces so now the often reported issue of "Nonce verification failed" should no longer happen. The solution implemented provides for the additional security of nonces and is now compatible with various forms of caching. [#3200](https://github.com/WordImpress/Give/issues/3200)
- The add-on plugin activation banner now displays properly without having to refresh the plugins screen to see it. [#3153](https://github.com/WordImpress/Give/issues/3153)
- Give's shortcode picker was having an incompatibility with Elementor causing the TinyMCE to be partially blocked. [#3171](https://github.com/WordImpress/Give/issues/3171)
- Give was conflicting with Beaver Builder preventing users from seeing the builder options within the WP-admin single page/post view. [#3207](https://github.com/WordImpress/Give/issues/3207)
- Give's API was not repecting the date range parameters passed to it. Now it does so you can filter the API by date ranges as expected. [#3191](https://github.com/WordImpress/Give/issues/3191)
- This version contains a database cleanup routine to delete donation payment meta that is not attached to any payment. For instance, if you deleted a payment the metadata associated with it still remained prior to this version. With this upgrade the orphaned data will be removed. [#3205](https://github.com/WordImpress/Give/issues/3205)
- Resolved PHP notices when exporting donor in lower PHP versions. (#3222)[https://github.com/WordImpress/Give/issues/3222], [#3218](https://github.com/WordImpress/Give/issues/3218)
- We've updated the donation form's tag ID so it's unique per form for better W3C compatibility and to ensure Stripe elements works as expected with multiple forms on a single page. [#3139](https://github.com/WordImpress/Give/issues/3139)
- Several typos on the welcome guide were corrected. [#3230](https://github.com/WordImpress/Give/issues/3230)
- Inline plugin upgrade notices were not displaying properly in previous versions. [#2789](https://github.com/WordImpress/Give/issues/2789)
Tweaks
- Improved the logic of verifying min/max amount for the Currency Switcher add-on. [#3203](https://github.com/WordImpress/Give/issues/3203)
- Improved the tooltip helpers within the shortcode inserter for the Give Form Grid shortcode. [#3235](https://github.com/WordImpress/Give/issues/32350)
- Added logic so developers can now adjust the arguments passed to the chosen dropdowns Give uses. [#3192](https://github.com/WordImpress/Give/issues/3192)
- The reset email receipt donation button popup now opens the alert using Give's new modal API. [#3224](https://github.com/WordImpress/Give/issues/3244)
