Releases: strangerstudios/paid-memberships-pro
v2.1 Beta2
= 2.1 =
- FEATURE: Updated Stripe integration to support Stripe v3, Stripe Elements, and their Secure Customer Authorization process.
- FEATURE: Updated how we store prices to support up to 8 decimals (e.g. for Bitcoin gateway implementations).
- ENHANCEMENT: Improved error messaging on the update billing page when a gateway doesn't support it or the user's current membership doesn't have a subscription.
- ENHANCEMENT: Added a pmpro_is_checkout() function that will return true if on the PMPro checkout page or a page with the PMPro checkout shortcode or block.
- ENHANCEMENT: Showing a warning message when a user about to be deleted has a membership so admins know that existing subscriptions will be deleted at the gateway.
- ENHANCEMENT: Added a pmpro_braintree_plan_id filter in case you need to adjust plan IDs. This is useful if you have several sites running on the same Braintree account.
- ENHANCEMENT: Added a pmpro_num_expiration_years filter to adjust the number of years to include in the dropdown to set the year membership will expire.
- ENHANCEMENT: Tweaked the UI of the orders list and members list in the dashboard.
- ENHANCEMENT: Added pmpro_membership_levels_table_extra_cols_header and pmpro_membership_levels_table_extra_cols_body hooks to add columns to the members list.
- ENHANCEMENT: Showing notices to admins when categories are hidden from them on the frontend of the site.
- ENHANCEMENT: Added a pmpro_url filter to filter URLs returned from that function.
- ENHANCEMENT: Adding a pmpro_checkout_gateway-stripe or pmpro_checkout_gateway-paypal/etc CSS class to the wrapping div for payment fields to aid in styling.
- ENHANCEMENT: Using the site's date format option when printing orders.
- BUG FIX/ENHANCEMENT: If a site has no paying levels, the test gateway will show as the "Default" gateway and we will no longer show a message about requiring gateway setup on the checkout page.
- BUG FIX/ENHANCEMENT: Updated Russian Ruble definition to have 0 decimals and use as the thousands separator. (Thanks, Airat Halitov)
- BUG FIX/ENHANCEMENT: Using add_query_arg when generating IPN URLs to avoid issues on sites that aren't using pretty permalinks or have moved their admin directory.
- BUG FIX/ENHANCEMENT: Fixed issue on advanced settings page where clicking on labels didn't check the corresponding check boxes.
- BUG FIX/ENHANCEMENT: Updated our pmpro_generateUsername() function to be a bit smarter.
- BUG FIX/ENHANCEMENT: Now using wp_generate_password() when choosing a random password for a user (e.g. when using the Sign Up Shortcode add on or the $skip_account_fields global).
- BUG FIX/ENHANCEMENT: Setting autocomplete to false on the "fullname" honeypot field. This will prevent user's with certain autocomplete tools from accidentally filling it out.
- BUG FIX/EHNANCEMENT: Now sending name and email fields to PayPay (using Website Payments Pro) even if no address was captured.
- BUG FIX/ENHANCEMENT: More specific CSS selectors for checkout form elements to make sure errors are highlighted/etc with different themes.
- BUG FIX: Fixed issue where the first 2000 or so orders might be skipped when exporting orders on large sites.
- BUG FIX: Fixed issue with setting custom trials on discount codes.
- BUG FIX: Fixed issue in the SQL query in the pmpro_calculateInitialPaymentRevenue() function. This function is deprecated, but still used by some custom code.
- BUG FIX: Fixed issue where default templates would fail to load if a custom template was specified.
- BUG FIX: Fixed fatal errors that could happen when using the PMPro REST API endpoints.
- BUG FIX: Fixed bug where the invoices page would sometimes show data for the current (admin) users instead of the user the invoice was for.
- BUG FIX: Fixed bug where the membership stats graphs would sometimes show up blank.
- BUG FIX: Now falling back to using readfile() if fpassthru() doesn't existing.
- REFACTOR: Moved JavaScript out of pages/checkout.php and other places into files in the /js/ folder. This will avoid issues where other JS at checkout breaks PMPro checkout and will improve compatibility with tools that optimize JS.
- REFACTOR: Added unit testing and a started on coverage of some functions in includes/functions.php. (Thanks, Mike Auteri)
- REFACTOR: The JS function askfirst is now prefixed as pmpro_askfirst.
v2.1 Beta1
IMPORTANT NOTE: We do not recommend using this release on production websites.
This is a pre-release beta meant for those would need to test PMPro 2.1 features, including the new Stripe integration with Strong Customer Authentication (SCA), before release.
If you run into any issues, please check if there is an issue on GitHub here and/or open a new issue.
Work is being done on the Braintree, PayPal Website Payments Pro, and PayPal Payflow Pro integrations to support their SCA implementations. We expect these to be included in the full v2.1 release, but they are not yet functional in this beta.
We plan to release the fully tested v2.1 before September 14th to meet the SCA deadlines. The full release will likely include some other features and fixes we are working on.
= 2.1 =
- FEATURE: Updated Stripe integration to support Stripe v3, Stripe Elements, and their Secure Customer Authorization process.
- FEATURE: Updated how we store prices to support up to 8 decimals (e.g. for Bitcoin gateway implementations).
- ENHANCEMENT: Improved error messaging on the update billing page when a gateway doesn't support it or the user's current membership doesn't have a subscription.
- ENHANCEMENT: Added a pmpro_is_checkout() function that will return true if on the PMPro checkout page or a page with the PMPro checkout shortcode or block.
- ENHANCEMENT: Showing a warning message when a user about to be deleted has a membership so admins know that existing subscriptions will be deleted at the gateway.
- ENHANCEMENT: Added a pmpro_braintree_plan_id filter in case you need to adjust plan IDs. This is useful if you have several sites running on the same Braintree account.
- ENHANCEMENT: Added a pmpro_num_expiration_years filter to adjust the number of years to include in the dropdown to set the year membership will expire.
- ENHANCEMENT: Tweaked the UI of the orders list in the dashboard.
- ENHANCEMENT: Showing notices to admins when categories are hidden from them on the frontend of the site.
- ENHANCEMENT: Added a pmpro_url filter to filter URLs returned from that function.
- ENHANCEMENT: Adding a pmpro_checkout_gateway-stripe or pmpro_checkout_gateway-paypal/etc CSS class to the wrapping div for payment fields to aid in styling.
- ENHANCEMENT: Using the site's date format option when printing orders.
- BUG FIX/ENHANCEMENT: If a site has no paying levels, the test gateway will show as the "Default" gateway and we will no longer show a message about requiring gateway setup on the checkout page.
- BUG FIX/ENHANCEMENT: Updated Russian Ruble definition to have 0 decimals and use as the thousands separator. (Thanks, Airat Halitov)
- BUG FIX/ENHANCEMENT: Using add_query_arg when generating IPN URLs to avoid issues on sites that aren't using pretty permalinks or have moved their admin directory.
- BUG FIX/ENHANCEMENT: Fixed issue on advanced settings page where clicking on labels didn't check the corresponding check boxes.
- BUG FIX/ENHANCEMENT: Updated our pmpro_generateUsername() function to be a bit smarter.
- BUG FIX/ENHANCEMENT: Now using wp_generate_password() when choosing a random password for a user (e.g. when using the Sign Up Shortcode add on or the $skip_account_fields global).
- BUG FIX/ENHANCEMENT: Setting autocomplete to false on the "fullname" honeypot field. This will prevent user's with certain autocomplete tools from accidentally filling it out.
- BUG FIX: Fixed issue with setting custom trials on discount codes.
- BUG FIX: Fixed issue in the SQL query in the pmpro_calculateInitialPaymentRevenue() function. This function is deprecated, but still used by some custom code.
- BUG FIX: Fixed issue where default templates would fail to load if a custom template was specified.
- BUG FIX: Fixed fatal errors that could happen when using the PMPro REST API endpoints.
- BUG FIX: Fixed bug where the invoices page would sometimes show data for the current (admin) users instead of the user the invoice was for.
- BUG FIX: Fixed bug where the membership stats graphs would sometimes show up blank.
- REFACTOR: Moved JavaScript out of pages/checkout.php and other places into files in the /js/ folder. This will avoid issues where other JS at checkout breaks PMPro checkout and will improve compatibility with tools that optimize JS.
- REFACTOR: Added unit testing and a started on coverage of some functions in includes/functions.php. (Thanks, Mike Auteri)
- REFACTOR: The JS function askfirst is now prefixed as pmpro_askfirst.
v2.0.7
- BUG FIX: Fixed issue where the profile start date would sometimes be set incorrectly on the Stripe subscription.
- BUG FIX: Fixed issue where the membership shortcode would not work properly if more than one level name was given.
- BUG FIX: Fixed issue where an incorrect email address was sometimes set in the confirm email field on the update billing page. (Thanks, Jessica Thomas)
- BUG FIX/ENHANCEMENT: Fixed placement of the hr tag above the user fields at checkout for consistency.
- ENHANCEMENT: Set the priority on the Require Membership meta box to "high" so it appears higher in the right sidebar.
v2.0.6
v2.0.5
= 2.0.5 - 2019-04-25 =
- BUG FIX: Fixed fatal error on return from 2Checkout.
- BUG FIX: Removed error when installing PMPro via WP-CLI.
- BUG FIX: Fix database upgrade error on localhost environment. (Thanks, codezz on GitHub)
- BUG FIX: Fixed issue where the credit card expiring email didn't include user info because the user ID wasn't passed in properly. (Thanks, David Cervantes Caballero)
- BUG FIX: Fixed typo on edit level page. (Thanks, Theuns Coetzee)
- BUG FIX: Fixed bug with daily revenue reports not showing up in some cases.
- BUG FIX: Now checking before cancelling a Stripe subscription at the gateway to see if it has already been cancelled.
- BUG FIX/ENHANCEMENT: Now caching the query results in pmpro_getMembershipLevelsForUser(). This improves performance, especially when there are many posts on one page to check membership for. (Thanks, Seagyn Davis)
- BUG FIX/ENHANCEMENT: Now sending display_name to the $data array passed to PMPro email filters. (Thanks, David Cervantes Caballero)
- BUG FIX/ENHANCEMENT: Now searching for the last order with "success" or "pending" status on the Billing page.
- BUG FIX/ENHANCEMENT: Added pmpro_checkout_preheader_before_get_level_at_checkout and pmpro_checkout_preheader_after_get_level_at_checkout action hooks. Using pmpro_checkout_preheader_before_get_level_at_checkout to start the session earlier now.
- BUG FIX/ENHANCEMENT: Removed the "membership_code_id" and "membership_code" as field options for the member shortcode. These weren't working and it's unclear what would be meant to ask for a user's discount code since a user could have several orders with or without discount codes. Added "membership_description" and "membership_confirmation" instead.
- BUG FIX/ENHANCEMENT: Filtering the password reset message to make sure the link still works in all cases when we convert emails to HTML.
- REFACTOR: Now running the pmpro_billing_preheader hook after the jquery.creditCardValidator script is enqueued in preheader/billing.php to match how we do it in preheader/checkout.php. (Thanks, Rafe Colton)
v2.0.4
- BUG FIX: Fixed warning in code added in 2.0.3 that could cause issues at checkout.
- BUG FIX: Setting priority of pmpro_check_admin_capabilities to 5 to ensure it runs before dashboard redirect.
- BUG FIX: Removed duplicate id attribute on the Membership Account page "cancel" action link.
- BUG FIX/PERFORMANCE: No longer enqueueing frontend.blocks.js which had no functional code, but loaded a lot of Gutenberg JS that wasn't needed on the frontend. When/if our blogs have frontend JS, we will load it again, but also make sure the dependencies are correct.
- BUG FIX/PERFORMANCE: No longer loading blocks.style.css. These frontend styles were redundant with CSS in css/frontend.css.
- NOTE: The SVN repository was missing the 2.0.3 tag when that update went out. Some users may have updated or tried to update and not gotten the correct files for 2.0.3. Everyone should update to 2.0.4, which is Gucci.
v2.0.3
- BUG FIX: Fixed issue where code in the Stripe gateway was cancelling old subscriptions early if users renewed with a different gateway. NOTE: There was a fix for this in version 2.0, but it wasn't implemented fully.
- BUG FIX: Filtering pmpro_other_order_ids_to_cancel to make sure the current checkout's order doesn't get cancelled. This started happening in version 2.0 since we started setting the user_id on orders for existing users before the checkout was fully processed. This fix along with the one above and others will fix cases where users were being cancelled immediately after checkout.
- BUG FIX: Fixed warning on edit levels page by defaulting $confirmation_in_email to 0.
v2.0.2
- BUG FIX: Fixed issues when using non-US currencies. Using the pmpro_round_price function in a few places it was needed. Prepared for a later update that will increase the number of decimals on certain columns in the DB to 8 to support currencies like Bitcoin, but shelving the actual DB update for version 2.1.
- BUG FIX: Fixed issue where existing users who checked out could run into problems. Added a getMembershipLevelAtCheckout method to the MemberOrder class and using that during checkout. The getMembershipLevel method would see the user_id property of the order (added to orders at checkout in version 2.0) and lookup the level data from the pmpro_memberships_users table instead of using the pmpro_level global. Then gateways like PayPal Express (but others also) would use the wrong data when making calls to pmpro_isLevelRecurring/etc.
- BUG FIX: Fixed bug where a notice to deactivate the Better Logins Report plugin could show up for users who couldn't deactive the plugin.
- BUG FIX: Fixed bad translation in the membership_expired.html file of the French translation.
- BUG FIX: Fixed some strings on updated reports that weren't wrapped for translation.
v2.0.1
v2.0
- SECURITY: Fixing how we escape things in the Memberships report SQL queries.
- BUG FIX: Fixed issue where code in the Stripe gateway was cancelling old subscriptions early if users renewed with a different gateway.
- BUG FIX: Fixed a warning on the Stripe Webhook service.
- BUG FIX/ENHANCEMENT: Removing unused images from core plugin.
- BUG FIX/ENHANCEMENT: Removed unused
getTimestamp
function. - BUG FIX/ENHANCEMENT: Updated Braintree/PHP Library to 3.36.0
- BUG FIX/ENHANCEMENT: Prefixing Braintree plan name with
pmpro_#
- BUG FIX/ENHANCEMENT: Better table naming in queries for Memberships and Sales reports.
- BUG FIX/ENHANCEMENT: Changing "blacklist" to "blocklist".
- BUG FIX/ENHANCEMENT: Changing the appearance of the Discount Code "Apply" button on checkout to look more like a text link.
- BUG FIX/ENHANCEMENT: Now calculating the next payment date with time, not SQL.
- BUG FIX/ENHANCEMENT: Updated the pmpro_next_payment method of Stripe to check if a customer is delinquent to avoid returning a next payment date in the future if the last payment failed.
- BUG FIX/ENHANCEMENT: Saving user ID in MemberOrder when a user already exists and they are checking out via an offsite gateway.
- BUG FIX/ENHANCEMENT: Updating Stripe Webhook and PayPal IPN Handler to send the cancelled level ID for better cancellation emails.
- BUG FIX/ENHANCEMENT: Brought back the Stripe Billing limit warnings. Here is a plugin to get billing limits working with Stripe https://github.com/strangerstudios/pmpro-stripe-billing-limits/blob/master/pmpro-stripe-billing-limits.php
- FEATURE: Gutenberg / v5.0 Editor Blocks for Paid Memberships Pro pages, the Checkout Button and Membership "shortcode" functionality.
- FEATURE: Added new "Dashboard" page and adjusted the entire menu structure for "Memberships".
- FEATURE: Created new compatibility checks and included compatability functions for Beaver Builder, Elementor, and SiteOrigin Page Builder.
- FEATURE: Added REST API routes for post membership access, and user membership level.
- FEATURE: Added option to include the level's Confirmation Message in the Confirmation Email.
- FEATURE: Added a filter by discount code to Memberships and Sales reports.
- FEATURE: Added a filter by discount code to the Orders admin page.
- FEATURE: Added a "Copy" option to discount codes.
- FEATURE: Now allowing you to edit or add a discount code to a single Order edit.
- FEATURE: Added the ability to export orders by discount code used.
- FEATURE: Added new file for deprecated functions or hooks.
- ENHANCEMENT: Moved "Memberships" menu page up in sidebar below Comments.
- ENHANCEMENT: Replaced the Visits, Views, Logins report with the "Better Logins Report" Add On functionality.
- ENHANCEMENT: Updating reports that use the Google Charts library to use the updated chart library (corechart.js).
- ENHANCEMENT: Reports admin page is now loading reports via the
add_meta_box
WordPress function. - ENHANCEMENT: Added ability to filter membership reports for free or paid levels only.
- ENHANCEMENT: Setting a default level at checkout so that the page doesn't redirect to the Levels page.
- ENHANCEMENT: Showing the discount code used on the All Orders and single Order edit page.
- ENHANCEMENT: Added ability to filter Orders by Free (Orders equal to $0), Paid (Orders greater than $0)
- ENHANCEMENT: Now showing the Invoice's Order Status on the Membership Account page for orders (Paid, Pending or Refunded).
- ENHANCEMENT: Adding additional quick search links when no members are found in members list search.
- ENHANCEMENT: Added a check on the Add Ons page to hide Add Ons that are no longer supported or recommended.
- ENHANCEMENT: Improved Responsive layout of the Memberships admin area for smaller devices.
- ENHANCEMENT: Adding .gitattributes and gitignore. Important now for node stuff in particular.