Version 2.1.5
Released on 2023-09-12
Notes
- Fixed: Error preventing bulk delete popup and pending payment popup from loading
Notes
- New webhooks for Payment, Costumer and Membership
- Select templates by categories in templates selection field on forms
- Added option to show all or owned sites on My Sites block
- Divi Builder compatibility in page edit screen
- Added filter
wu_bulk_action_function_prefix
onprocess_bulk_action()
method - Better messages for membership downgrade via PayPal
- Remove jQuery from legacy-signup, template-previewer, thank-you.js, visit-counter.js, wubox.js and vue-apps.js files
- Fixed domain mapping allowing uppercase
- Eliminates the fake email loophole and enables users to register on different subsites using the same email
- Fixes the resetting password process
- Allow user verification on wp-activate.php page
- Fixed PayPal renew payments not showing line items
- Change the status in membership and payment schemas for rest api validation
- Fix the detection of pre-selected products in the checkout form
- Fixed urlencode on my sites widget URL
- Fixed plan frequencies and duration on migration from v1 to v2
- Add the username in login error handler message
Notes
- Added WordPress 6.3 compatibility.
- Implemented periodic cleanup for possible forgotten pending sites from memberships.
- Enabled membership addon products cancellation.
- Synchronized membership products and prices with gateway subscriptions.
- Now ensures that the site is a customer site before syncing the site’s plugin limitations.
- Updated the checkout process to get all fields for search and replace in template sites.
- Corrected the display of product limits in the legacy pricing table.
- Added validation for site names to allow hyphens.
- Addressed possible PayPal API errors during the checkout process.
Notes
- Added the filter “wu_checkout_add_field_{field_type}” to allow developers to change form fields in the checkout form
- Added an option called “checkout_page” to set a page ID to redirect to
wu_templates_list
shortcode - Compatibility with PerfMatters plugin on registration pages
- Improved the limitation merge methods on plugins and themes permission rules
- Checks permissions before the deletion of sites, payments, and memberships, during customer deletion
- Checks permissions before the re-assignment of sites, payments, and memberships, during customer deletion
- Filter WP Ultimo admin bar menu items by capabilities
- Filter financial data widgets on the dashboard by capabilities
- Filter side panel buttons on the settings admin page by capabilities
- Disabled the save settings button for unauthorized users
- Check if the Billing Country field exists before setting the v-model
- Allow free addons with free plans on membership update
- Fixed rollback fatal error
- Fix error where non-customer-owned sites were being affected by permissions
- Fix a fatal error triggered by generating a membership URL for non-customer-owned sites
- Allow accentuated and other special chars when saving a checkout session
- Fixed data replacement on serialized objects during site duplication
- Filter WP Ultimo checkout forms menu by
wu_read_memberships
capability - Fix permissions required to invite customers in
add_new_customer admin
form - Fix permissions required to transfer sites in the admin page
- Fix permissions required for redirecting to the edit broadcast admin page after creating a new broadcast
- Fix the login block redirecting to the default WordPress login page after an error
- Fix capability checks when redirecting to the site edit admin page after site creation
- Add setup fees to the first stripe invoice in case of trials to include it in the first payment
- Fix Cloudways SSL domain syncing methods
- Redirect to the checkout page after selecting a site template on a
wu_templates_list
shortcode - Build process changed to guarantee backwards compatibility with php 7.4
- Fixed duplicate emails and other small inconsistencies after checkout when Stripe is used
- Get the original cart order from the payment before processing checkout instead of creating a new one from the request data
- Allow downgrade from free memberships to plans with a duration smaller than 1 month
Notes
- Added an option to export customer data as a 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 a 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 an instance – which might not yet exist - Improved compatibility with the last Rank Math release, avoiding plugin auto-activation during the site creation process when active on the 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 a “catch-all” error handler around problematic hooks on the template previewer to prevent minor errors from breaking it
- Added a filter to allow developers to change the “Unlock to Upgrade” URL
- Allows overriding checkout template elements
- Added capability verification to delete form handler on Admin Edit Pages to allow this action for Support Agents addon
- Added filter
wu_list_row_actions
to row actions on Admin List Pages - Added a filter to the featured site image cropping size
- Added the Add-ons link to the main plugin menu
- Redirect to the current payment page on the Paypal confirmation process instead of the 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 classWP_Ultimo
in favor of a class const - Improved checkout error handler to display actual field names from the current checkout form
- Removed Cloudflare integration alert as it’s no longer required (https://blog.cloudflare.com/wildcard-proxy-for-everyone/)
- Redirect the user to update the page when clicking to unlock a plugin or theme not allowed for the current membership
- Remove the X-Frame-Options header while in the template previewer
- Add a new logger class to better track errors
- Event visualization not showing Payload
- Breakage in limitation merging for sites, memberships, and products
- Performance issues with the Freemius SDK, especially 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 the 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 features 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 - Fixed the URL returned to register and other wp ultimo pages
- Fixed checkout triggered by a shortcode template page not skipping the template selection step
- Fixed 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 the
sprintf
function - Fixed incompatibility with WP CLI when the
--skip-plugins
is present and the context is a customer sub-site - Improved the get method of items displayed in model selectors, to avoid not loading all available items
- Fixed 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
- Filters already defined default pages from selection in settings
- 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
- Fix Stripe scripts being loaded even with the payment method disabled
- Renewal invoices from Stripe webhooks without tax and discount
- Ensure the cart is correctly built on checkout in cases where payment gateway webhooks complete the payment before we finish the process
- Ensures that we only show the migration pending notice to networks there were not migrated yet
- Fix template overrides
- Changed the response code when subsite maintenance mode is on to 503, instead of 500
- Fix email broadcast to target products
- Use the default WordPress session on Checkout Form Editor to avoid errors with cookie sizes
- Fixed stripe refund amount received in the webhook call
- Fixed gateway confirmation redirection used on Stripe Checkout and PayPal for update form
- Fixed Stripe Checkout billing cycle anchor on downgrades
- Added the customer data to the payment renewal event payload so we can send customer emails
- Added the customer data to the mapped domain creation event payload so we can send customer emails
- Ensures that we only show the migration pending notice to networks there were not migrated yet
- Fixed template overrides not being correctly loaded
- Changed the response code when subsite maintenance mode is on to 503, instead of 500
- Avoid pending site duplicates after creating an account
- Set membership as trialing when creating without a payment method and user verification
- Remove membership internal data from events
- Remove the customer from sites different from the customer-owned type.
- Fixed the test to create a new contact us product plan
- Fixed product description unexpected backslashes being added when apostrophe, backslash, single and double quotes were used
- Fixed limits and quotas widget to show limits only if limitations are enabled
Notes
- Added: Custom Thank You page text for sites area when membership has no sites attached;
- Added: PayPal payment description with trial and recurring payment specification;
- Added: Network logo at PayPal checkout;
- Improvement: site_url and site_title removed as required fields in checkout form, allowing the creation of memberships without sites (both fields are now optional);
- Improvement: PayPal confirm page styles improved;
- Improvement: PayPal now accepts non recurring discounts and fees with trial period in membership;
- Improvement: WP Engine integration now also adds subdomains (we recommend the use of wildcard as first option);
- Improvement: Restrict site creation to active and trialing memberships;
- Improvement: Length limit of 63 chars in site_url checkout field according to DNS specifications;
- Improvement: Added CUSTOMER_ID, CUSTOMER_EMAIL, MEMBERSHIP_AMOUNT, ORDER_ID placeholders on Thank You page script field;
- Improvement: Changed ORDER_PRODUCTS placeholder on Thank You page scripts to show the list of products ids instead of the product hash;
- Fix: WP Engine integration install;
- Fix: Fix the use of wu_append_preview filter on plugins compatibility file;
- Fix: Allow removal of all categories on a template site;