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
A change in the UK tax office's API broke VAT ID validation for UK VAT numbers.
Complete Change Log
Fix: Account for changed API in the UK VAT validation process
This version adds a new feature; Product Welcome Emails. When someone purchases a product or renews a license, they're sent a welcome email, if one is configured for that product. Welcome emails are defined per product and can use either HTML or plain text.
Also changed is better support for VAT number validation for United Kingdom VAT IDs.
Lastly, a server error that could occur with guest checkouts has been corrected.
Complete Change Log
Feature: Product welcome email, sent to users when they purchase a product / renew a license
Change: The product list API now returns LatestVersion info
Change: Change UTF-8 related functions
Change: Product list filter in the AdminCP now only filters the current page
Change: Implemented alternative VAT number validation for UK/GB VAT numbers
Fix: Fix an error that can occur with guest checkouts
This version reverts the ability to use SVG icons for invoice icons, as SVG icons are not compatible with PDF generation libraries being used.
Furthermore, a couple bugs reported since v3.0.0 was released have been resolved.
Complete Change Log
Revert: SVGs are no longer available as invoice icons, as this feature doesn't work with all invoice types
Fix: Fix CSRF error when approving products via the action bar
Fix: Public facing Income Stats for commissioned users would produce a server error
Feature: All-Access Pass
Feature: New product type: Serial Key
Feature: New widget: Random Products
Feature: SVG files are now supported as Invoice Icons
Feature: SVG files are now supported as Product Icons
Feature: Page Criteria: Is part of "All Access Pass"
Feature: Page Criteria: Categories & Products
Feature: Custom product fields can now be placed in a custom location via manual template edits
Feature: Custom product fields can now be placed below the product info block
Feature: New code events inside the performBuildTasks function in DownloadVersion/Generator service
Change: Update 3rd party libraries to improve PHP 8.1 compatibility
Change: Sales tax field is now shown in the address edit page even if VAT is disabled
Change: Implement isIgnored method to determine whether the current user is ignoring the user who added the download
Change: Order numbers are now displayed in order emails
Change: Product variation is now displayed in the "order fields" block during checkout
Change: AdminCP product list now uses pagination
Fix: Filtering by array product fields, or filtering by multiple product fields, would not work
Fix: Editing a user's address in the AdminCP would not save the "Default address" field
Fix: "Default Customers Group" would not be properly added to new products
Fix: Fix typo in Shipping alert setting
Fix: Fix layout distortion when a physical product is purchased along with another product type
Fix: aria-label was missing from the navbar checkout link
Fix: Only load the eCommerce Cart JavaScript in the front-end
Fix: Fix typo in VAT rate setting
Fix: Fix BBCode parsing in Approval Queue
Fix: Clarify that add-on products cannot be converted to a parent product
Fix: Free orders no longer require payment profiles to be configured
Fix: Users can no longer submit an order if their user state is anything other than "valid"
Update highlights
This version adds a major new feature; quantity support for physical products. When adding the same product variant to cart, it'll also merge into the existing order item, making bulk orders easier than ever.
Another important change in this version is an update to support the new API for fetching the list of countries. You now require a (free) API key in order to fetch this data, added via the new setting.
Lastly, a few bugs have been fixed.
Complete Change Log
Feature: Physical products now have quantity support
Change: Rollup the product list / infinite scroll files to reduce amount of HTTP requests
Fix: Updated the Country API to account for changes in 3rd party services (now requires an API key)
Fix: Fix a potential server error
Update highlights
This version resolves an issue when loading options on certain pages other than the main AdminCP settings page.
Furthermore, an issue with viewing the license page without specifying a license key has been resolved.
Lastly, the product owner was missing from the "Grid" product list style.
Complete Change Log
Fix: Viewing a license page without specifying a license key could create a server error
Fix: When viewing options from pages other than the "Settings" page, a server error could be generated
Fix: The Product Owner was not showing on the Grid product list style
Update highlights
This version updates the Infinite Scroll library to reduce its size, thus reducing load time for first time visitors. Furthermore, a bug has been resolved where an old product release thread would display a server error if the product had since been deleted.
Lastly, a couple bugs with the XR Product Manager importer has been resolved.
Complete Change Log
Change: Update Infinite Scroll library to reduce its file size
Fix: A thread belonging to a now-deleted product could produce a server error
Fix: Handle additional order states when importing from XR PM
Fix: Fix a server error when importing XR PM Product Fields