Update highlights
!!!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.
Complete Change Log
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
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 token t 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
3.3.1
Update highlights
This version aims to improve upon and fix some issues with the new Order Creation feature in v3.3.0. You can now more easily delete orders in the AdminCP via some new Delete buttons. Furthermore, you now receive more feedback about invalid orders as opposed to just having them silently disappear.
Lastly, a server error with the "What's new" navigation entry has been resolved.
Complete Change Log
Change: "Delete order" buttons now appear on order view / order edit where appropriate
Fix: Fix AdminCP created orders being silently deleted with no user feedback
Fix: Fix potential server error with the "What's new" navigation entry
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 fixes a few more issues related to using this add-on without tying tickets to eCommerce products.
Complete Change Log
Fix: Fix more issues related to product-less forums
Fix: Fix server error when trying to execute actions when creating a ticket with no product
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
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
Update highlights
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
Update highlights
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
3.0.0
Update highlights
Welcome to perhaps the biggest update to eCommerce since its launch! 🎉
With over two dozen new features, changes and fixes, there's something for everyone. Without further ado, I'll talk about some of the bigger features and changes made in this version.
The biggest new feature is the introduction of an "All-Access Pass" (AAP) feature. Designed for digital downloads, this feature allows you to define a user group to have free access to your products. Licenses created via the AAP will remain valid until such a time as the access lapses (the user is no longer a member of the defined user group).
The idea is that you can sell access to this new user group via the XenForo "User Upgrade" system, with promotional messaging directing users towards said upgrade, which will then enable them to create AAP licenses with one click.
This setup allows you to offer a subscription price for your products, with the full power of XenForo's payment profile system as valid subscription methods.
The next big feature is an entirely new product type; Serial Key.
The Serial Key product type can either use a list of pre-defined keys, or auto-generate keys based on a formula you enter when creating the product. When users purchase a key, an unused key is selected from the list (or generated), and assigned to that license. Buyers will then be able to view their serial key from their license list, same as any other product.
Lastly, SVG files are now accepted for product icons and invoice icons. This allows you to create icons that look good at any resolution.
There's also been over a dozen changes and bug fixes, check the full change log for the details.
Complete Change Log
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 resolves a potential server error when viewing certain pages (mostly administrative editing pages).
Complete Change Log
Fix: Fix potential server errors when viewing certain pages