It ended up taking a while longer than originally planned, but oh boy did we fix some bugs on this one!
The RC-3 for version 2.1.0 is out and can be downloaded using this form:
Here are the contents of what we have on the changelog so far:
## [Unreleased] ### Added - Added an option to export customer data as CSV file in the customer list admin page - Added the `wu_add_product_setup_fee_line_item` filter to the cart Setup Fee line item - Added new suite of Cypress tests to cover creating new sites from within the admin panel - Replace the PHP Unit task runner with Pest - Replace Cypress parallelization services with our self-hosted instance - CI actions to validate PR titles - Pull Request template with CI action to verify if checklists were properly followed - Removed the id `server-size-0-description-0` from the price description element of the order-bump/simple field template - Added dependabot settings for npm, composer, and github actions alerts - Added a `display_product_description` field to the Order Bump field - Added `wu_after_switch_template` action (present in v1) - Added Github Action to test PHP 7.4 compatibility after Rector runs - Added the necessary adjustments to the samba.yml files to make the repository compatible with the new samba images for PHP 8.1 - Added new ESLint rules from our shared library - Added new build tasks using the gulper library file - Added (initial) CHANGELOG.md file - Added the WP Ultimo plugin version as a const on the class `\WP_Ultimo`, allowing for access without the need for a instance - which might not yet exist - Improved compatibility with last Rank Math release, avoiding plugin auto activation on site creation process when active on main site - Added generation of a new .pot file containing countries, states and cities using the new text-domain wp-ultimo-locations - Added user license data to System Info - Added NOBLOREDIRECT constant to System Info - Added safety-net around problematic hooks on the template previewer to prevent minor errors from breaking it ## Changed - Redirect to current payment page on Paypal confirmation process instead of main register page - Reduced the amount of data sent to create a new order in checkout to prevent PHP warnings - Improved PayPal confirmation values and trial message - Deprecated the use of the property `$version` on the class `\WP_Ultimo` in favor of a class const - Improved checkout error handler to display actual field names from current checkout form ### Fixed - Prevent action scheduler tables creation on sub-sites - Event visualization not showing Payload - Breakage in limitation merging for sites, memberships, and products - Performance issues with the Freemius SDK, specially on larger networks - Incompatibility with UI Press Lite causing fatal errors on the login page - PayPal auto renewal toggle not activating after IPN recurring profile created message - Fixed handling Checkout Forms with no fields - Replaced deprecated `wpmu_new_blog` used on our Rank Math compatibility code - Additional offset checks when trying to access Form fields - Remove the current site "Admin Panel" link from Account page when the "show_admin_link" is set to false - Error when renewing a membership manually created by an admin - Products with "Contact Us" pricing type of "Contact Us" changing to free on save - Membership issues with activation on PayPal profile creation - Visits counter script is always loaded, ignoring the status of the actual setting controlling it - Ensure array value when searching for user email errors for multiple account feature to avoid PHP warnings - Enforce site ownership before applying a new domain mapping via the frontend form - Prevent globally-scoped callables from being used as form field attributes - Replaced deprecated `wpmu_new_blog` used by WP E-Signature, which prevents sub-site creation from completing properly - Fix the url returned to register and other wp ultimo pages - Fix checkout triggered by a shortcode template page not skipping the template selection step - Fix checkout triggered by a shortcode pricing table page not preselecting the desired plan - Clears session for the sign-up process after the registration is successfully over - Add URLs as an exception to the white-labeling feature to avoid breakage with WordPress url passes through `sprintf` - Incompatibility with WP CLI when the `--skip-plugins` is present and the context is a customer sub-site - Improved the amount of items displayed in model selectors, avoiding missing items - Fix critical error while rendering pricing table without an active product - Domain Mapping and SSO inconsistencies in PHP 8.0 environments - Allow `wu_get_*` functions to be used as form field attributes callback - Fixed the display of tooltips on checkout form fields - Added an extra check to make sure product variations exist before replacing the cart product with it - Remove `height: 100%` from the legacy-shortcode.css file - Ensures that inactive sites are not included in the template previewer list - Ensures that inactive sites are not included in the template selector - Ensures the main site is always added to the My Sites list for super admins
This build is extremely stable in our testing, and most if not all of the fixes listed above were confirmed by the folks that graciously reported them to us.
That being said, be sure to make a backup of your network before installing it, and if possible, do it on a staging environment first.
If you find anything weird, please report back to [email protected] so we can take a look before the final build is released next week.
We also added a couple of extra safe-guard to the registration and login pages in v1.10.18, to make sure that misbehaving plugins do not break those whenever the errors they trigger are recoverable – thanks to Lionel for helping with that.
That’s it, folks.
For the actual release, we’ll cover in more detail the fixes contained in 2.1 and why this relatively “boring” release is pivotal for the future of WP Ultimo.