Update highlights
This version primarily focuses on Quality-of-Life updates for the order management flow in the AdminCP.
Furthermore, a potential fix has been added for "A non-numeric value encountered" that affects a very limited amount of users. As this issue cannot be replicated, there is no way to know if the fix worked, unfortunately.
Feature: New rebuild job: "Rebuild product cost caches"
Feature: Order log search criteria is now carried over when performing many actions
Fix: Ensure default direction is respected in the order log
Fix: Order log search would not correctly set selected values if you were filtering on a single order state
Fix: Potentially fix an issue with "A non-numeric value encountered"
Update highlights
This version primarily fixes an issue where it was not possible to complete an order if the order contained custom user fields. The root cause is a XenForo bug which will hopefully be resolved in a future version.
The SVG icon handling has also been improved, to prevent XenForo from trying to optimise SVG uploads if you have that setting enabled.
Change: Remove webp override
Change: Improve SVG icon handling
Fix: Work around XenForo bug triggered by orders with custom fields
This version contains two major improvements.
The first is integration with XenForo 2.3's "Optimize images" feature. Existing product icons can be optimized via a rebuild task in the AdminCP or via the CLI, and new icons will now respect the AdminCP setting.
The second major feature is a simplified address form. Prior to v4.1, both personal and business customers were shown the same address form on checkout/in their address books, which could be daunting for new customers, especially depending on the type of products you sell. Now, non-business customers will see a much simpler form; An address title, the name to appear on their invoice, and the country selector. This is the minimal information required to calculate taxes properly.
Another new feature is the replacement of many of the product select drop-downs (f.ex. when adding a new license) with a search box. This should help find the correct product if you have multiple products with similar or identical names, and stops you from wearing out the scroll wheel on your mouse if you have a lot of products.
Furthermore, a few reported bugs have been fixed.
Feature: Rebuild task: Optimize existing product icons
Feature: CLI command: Optimize existing product icons
Feature: Replace certain product select boxes with autocomplete
Feature: Simplified address form for personal customers
Change: Remove "None" in the address edit form
Change: Support decimal numbers for various "length" input boxes
Fix: Fix product image uploads when Image Optimization is enabled
Fix: Use minified payment.js on checkout
Feature: Add WebP support to product icons
Feature: Add JPG/JPEG support to invoice icons
Feature: Changing the MaxMind GeoIP license key will now immediately trigger a background update
Feature: Add version number to product overview page where applicable
Feature: License prefix can now be auto-assigned on product creation
Feature: More prominent "Your licenses" button on the product wrapper
Change: Any validation errors when creating or replying to a product update thread will now be logged in the XenForo error log
Change: Product wrapper now uses icons for Join Discussion and Get Support buttons
Change: Reduced template duplication for the product wrapper sidebar
Change: Better dynamic redirects when removing items from cart via the navbar menu
Change: Always show license key in the license drop-downs
Change: Add option to only fetch purchasable licenses to License repo function
Change: Remove user reference from certain navigation links that don't need it
Change: Refactored backend code
Change: Bump minimum PHP version to 7.4 and recommended version to 8.2
Change: Update dependencies to the latest version(s)
Fix: Fix MySQL errors when unsubscribing from Watched emails
Fix: Fix inverted check for the "Buy add-ons" button in the license list
Fix: Eliminate a couple of queries on product overview page
Fix: Fix PHP 8.4 compatibility issue
Release notes
!!!This version requires PHP 7.4+!!!
This version contains numerous quality-of-life updates, please see the changelog for the complete list.
In addition, a bug that inverted the check for the "Buy add-ons" button on a user's license list has been resolved. Whoops.
This version also refactors some backend code and fixes a compatibility issue with PHP 8.4.
Update highlights
This version resolves an oversight with the Shipping Method formula; previously,q
referred to the number of items being shipped, not the quantity. For instance, if you had 100 of Product A and 1 of Product B,q = 2
.
In this version,q = 101
.
If you would like to keep using the previous functionality, a new tokent
has been introduced that behaves like before.
Please check your shipping formula after updating if this applies to you.
Complete Change Log
Change: Fixed calculation of q and added t in Shipping Method formulae
Fix: Fix potential server error when checking if shipping method is applicable to any given order
Update highlights
This version is a large upgrade with multiple new features and changes, many of which were requested by our community
The biggest new feature is Order generation / edit in the AdminCP. You're now able to edit Pending orders and add products to a user's cart, change pricing tiers and licenses for digital products' renewal orders. You can also generate a new order either manually or by adding all non-Lifetime licenses to a user's cart, or only add already expired licenses to their cart. You no longer have to ask users "could you please add these products to cart and then I'll add a coupon"!
The user experience (UX) for purchasing has also been improved in a number of ways. Firstly, there's now a "Checkout" button in the purchase overlay, which means fewer clicks if your customers are only interested in purchasing a single product. Secondly, sale information is now also shown on the product overview page, with both the "Sale" banner and the green pricing colour in the Pricing Information box. Lastly, the checkout page has received some back-end changes to ensure required license fields are saved whenever any action is taken; customers no longer need to manually save only those fields before they can do anything else.
Other than that, minor features, changes and features have been added to improve the overall experience. Please see the changelog for the full list of changes.
Complete Change Log
Feature: Edit existing pending orders in the AdminCP
Feature: Order generation in the AdminCP
Feature: Pagination in front-end license list
Feature: Add "Checkout" button to Purchase overlay
Feature: Improved checkout flow to reduce friction when filling out custom checkout fields
Feature: Digital products can now have an optional "title" to be displayed instead of the license length
Feature: Also show sale price / sale banner on product overview
Feature: Ability to delete orders "Awaiting payment" older than a certain threshold
Change: Reassigning a license will now also transfer temporary user group changes, if any
Change: Add custom "Your account" phrase
Change: "Your licenses" links will no longer show if the user does not own any licenses
Change: Replace hasOption with callable
Change: Reduce number of queries ran on the license list
Fix: "Renewal cost from x" tooltip will no longer show for products without license functionality
Fix: Fix server error when attempting to purchase a product already owned via All-Access Pass
Fix: Fix server error when trying to perform inline moderation on products in the front-end
Fix: Fix server error with certain background tasks
Update highlights
This version addresses a shortcoming in the User Criteria integration, where it was only possible to check for orders that were "Awaiting payment" but not "Pending. The difference is; an order "Awaiting payment" is where the payment process started but was aborted, whereas a "Pending" order did not even start the payment process.
Complete Change Log
Feature: New criteria: "User has one or more pending orders"
Change: Update composer packages
Update highlights
This version contains numerous fixes and improvements, most of which were contributed by @Xon.
The AdminCP product filter has been improved to use AJAX rather than simply filtering the current page, which should make finding the product you're looking for much easier.
A few issues with search indexing have been resolved, which should lead to more reliable search results for products.
The "Permanent additional user groups" setting for a product did not apply when a license was manually applied in the AdminCP.
Lastly, certain payment processors would cause a server error if a valid transaction ID was not found.
Complete Change Log
Feature: Filtering the AdminCP product list uses AJAX and not just filters the single page
Change: Index the tagline into the message body
Fix: Fix an issue where a server error could occur with certain payment processors
Fix: Fix error blocking creation of new products
Fix: changing the title didn't cause the search index to be updated
Fix: "Permanent additional user groups" for a product was not applied when a license is granted via the AdminCP