Welcome to the changelog section of Freemius, here you'll find our weekly technical update notes. You can subscribe to all posts via Newsletter or follow us on Twitter to stay updated.
As a Merchant of Record, Freemius handles EU VAT and US sales tax compliance on your behalf, so you don’t need to worry about the complexities of tax regulations.
To enhance transparency, we’ve added a new feature to display tax information directly in the Developer Dashboard. Previously, tax details could only be accessed through the API.
With this update, the Subscriptions page now shows a tax percentage icon next to the “Per cycle” price, revealing the tax rate applied to each subscription.
Additionally, the Payments table now displays the actual tax amount collected when Freemius processed the payment.
Please note that these tax amounts are not part of your gross revenue. They are collected in addition to the price you set and are submitted by Freemius to the appropriate tax authorities.
Additionally, we’ve improved the tooltips for various discounts associated with a payment or subscription, including pro-rated discounts, coupon discounts, and more.
We’re excited to announce the release of version 1.1.0 of the Freemius Checkout JS SDK! This update introduces a backward-compatible enhancement, allowing you to use product_id instead of plugin_id (because we support various kinds of products, not only plugins).
We also improved the type system to provide better TypeScript intellisense.
The change is also reflected in our Developer Dashboard.
Simply go to the Plans page and click on the Get Checkout Code button to get started.
If you’re using the CDN version of the Checkout JS, no actions are necessary from your end. If you’re using NPM or other package manager, be sure to update to the latest version.
We identified and fixed a glitch in the system where ownership transfers could be blocked in certain cases due to recent enhancements to the API system.
While addressing this issue, we also discovered and resolved a couple of edge-case bugs. The entire transfer system, including the team member UI, should now work flawlessly.
Better Filtering for the Custom Webhook Integration
With Freemius, you can add webhook listeners for custom integrations. Freemius logs numerous events throughout a product’s lifecycle, such as when a new subscription is created or canceled.
As a product owner, you can use these events to trigger responses in your own system.
We discovered that the UI for filtering events was incorrectly displaying events not scoped to the selected product. This issue has been resolved, and we’ve also made performance improvements for a smoother experience.
Other Enhancements and Bug Fixes
Fixed an issue where adding a new whitelisted site could cause errors.
Resolved a bug where some URLs incorrectly triggered the product code change pop-up.
Added toast notifications to confirm successful operations when reordering or toggling features on the Plan page.
We’re introducing changes to our backend to enhance the experience of using the WordPress SDK.
Activating licenses for deleted plans
Previously, we added a temporary restriction to prevent makers from deleting plans with active, non-expired licenses. This measure was put in place to avoid scenarios where buyers couldn’t activate licenses tied to a deleted plan.
However, we aim to offer makers the flexibility to delete plans (e.g., to deprecate them) while still enabling buyers to activate their valid licenses.
In this update, we’re rolling out the following improvements:
Plan Deletion Flexibility: Makers can now delete plans even if active licenses are associated with them.
License Activation Support: The SDK now fully supports activating licenses linked to deleted plans.
If you’re already using version 2.9.0 of the WordPress SDK, no further updates are required on your end.
Preventing free plan opt-ins for premium-only products
We identified an edge case where users with malicious intent could modify the SDK integration code within a WordPress plugin or theme to attempt opting into a product’s free plan.
Although this did not pose any security risk, it led to the creation of unnecessary sites, even when the product did not offer a free plan.
With this deployment, we’ve implemented measures to actively detect and block such requests.
Improved staging site support
Freemius provides out-of-the-box license utilization for staging and development sites. We’ve enhanced our system to include support for additional well-known staging providers, making it even easier to manage licenses during development.
We identified an issue where, if a maker intentionally left a pricing field blank, the checkout could load in an invalid state. In such cases, the checkout incorrectly displayed the price as zero, even though it wasn’t intended to show up at all.
For instance, a maker might choose not to offer single-unit pricing. In these scenarios, the checkout should automatically load with the nearest lower unit pricing by default.
We’ve resolved this glitch and deployed a fix to ensure the checkout behaves as expected in such cases.
Freemius allows makers to create licenses that are not initially associated with any user. Once a user activates the license, the association is automatically established. This feature is especially useful for sharing custom licenses with reviewers or affiliates to try out a product.
The Freemius Developer Dashboard also includes a feature to generate secure download links for products directly from the Licenses page. However, we discovered a bug where the UI failed silently if the license was not associated with a user.
We’ve fixed this issue! You can now generate secure download links even for orphaned licenses.
We identified a glitch in the email copy, where the unique plan name was displayed instead of the user-friendly plan title. This issue has now been resolved.
This week, we’ve implemented fine-tuned adjustments and enhancements to the Freemius Checkout, with a particular focus on coupon handling and migrated license renewals.
Coupon discount for migrated license update with active subscription
When updating a license, a new subscription may be created. If time remains on the current license before it expires, a pro-rated discount is applied to the renewal process up-front.
If a coupon is entered during this process, the coupon amount for the first payment of the renewal is adjusted to account for the pro-rated discount. Previously, this adjustment was not clearly disclosed in the UI, leading to some confusion.
The UI has now been enhanced to show the exact breakdown of the coupon, ensuring clarity for the buyer. After the first payment, buyers will see that they will receive the full coupon discount on all future renewals.
Please note: This behavior only applies to migrated licenses with active subscriptions. For standard license upgrades, where a buyer opts to upgrade their license to a higher pricing tier or plan, the full coupon discount is applied, even on the first payment of the new subscription.
Coupon discount for migrated license extension with expired subscription
Another case occurs when a migrated license is extended after its associated subscription has been canceled.
Previously, we incorrectly displayed a relative coupon discount in these cases. However, since these cases involve no pro-rated discount, and a new subscription is created to renew in 30 days or 1 year (depending on the billing cycle), a full coupon discount is now applied.
The UI has been updated to reflect the full coupon discount in these cases.
Coupon discount for migrated license update without subscription
Depending on the platform a license was migrated from, some licenses may not be associated with any subscription.
For these cases, we apply pro-rated adjustments and a relative coupon discount. The UI has been updated to accurately display this information.
The reason we provide a pro-rated adjustment, rather than treating it like an expired subscription, is that we lack information on the original subscription. We offer the benefit of the doubt to encourage migration.
Renewals discount for migrated license updates
We have a mechanism to offer renewal discounts for products in general.
For migrated licenses, this renewal discount is applied during license updates as an incentive for migrating from a legacy platform to Freemius. This renewal discount may be relative to the first payment, depending on whether a pro-rated discount is applied. A UI bug that occasionally prevented the accurate display of this discount in certain edge cases has been resolved.
The enhancements above are part of our ongoing improvements to better support migrated subscriptions. If you’d like to migrate your product to Freemius and benefit from these features, please get in touch.
Additional fixes for licenses and coupons
For license renewals, the correct billing cycle of the license is now selected in Checkout, instead of defaulting to “Annual.” Upsell options are displayed in these cases to give buyers the option to adjust their billing cycle.
We resolved a bug where a coupon with multi-currency absolute discount values, if entered via URL parameter (or loaded from our JS SDK) for a license restricted to “Current Customer,” was not loading correctly.
General bug fixes
A UI glitch affecting tablet mode has been fixed. This issue only appeared when Checkout was loaded in full-page mode, a new feature introduced in our latest latest SDK release.
As part of our project to enhance data accessibility, we’ve added export functionality to the “License” table.
Now, you can easily export all your licenses to a CSV file, allowing you to use your preferred spreadsheet software to create custom reporting tools. This feature is also useful when migrating your legacy licenses to Freemius, enabling you to verify the integrity of your migrated data seamlessly. Go to the “License” page to get started.
P.S.Contact us if you’re planning to migrate to the Freemius platform to enjoy all the benefits it offers.
Payments Export Enhancements
We noticed that the currency field was missing in the exported payment data.
This has now been addressed—the CSV file will include a currency column, making it easier to generate accurate financial reports.
API Documentation Enhancements: We’ve expanded our API documentation with additional endpoints to improve your development experience.
Webhook Fix for user.email_status.bounced: We resolved an issue where this webhook could incorrectly trigger irrelevant events.
Deployment Mechanism Bug Fix: An edge case bug was identified and fixed where the deployment process could break when changing a product from a “static” type (e.g., templates, widgets) to a “dynamic” type (e.g., WordPress plugins or themes).
Simplified Checkout Links: We are now generating short links for checkouts from the Developer Dashboard. Instead of using links like https://checkout.freemius.com/mode/dialog/<productType>/<productID>/, you’ll see the cleaner format https://checkout.freemius.com/<productType>/<productID>. The old links will still work, but the new format is more visually appealing, and the mode/dialog part is no longer necessary for modern usage.
We’re excited to announce another new feature for Freemius that empowers SaaS makers! You can now customize the confirmation dialog for the Freemius Checkout.
Previously, customization was not supported due to:
Tight integration of the confirmation dialog for WordPress products.
Optimized download links for static products.
However, we recognize that SaaS products have unique needs that can vary significantly.
With this new feature, you can customize the confirmation dialog and specify any custom link for the dialog to forward users to.
To get started, go to Plans → Customization and enable the “Customize after-purchase dialog” switch.
From there, you can set the title, message, button text, and link. If you’d like to see more customization options, please let us know through our feature board.
We recently announced the beta availability of the new version of the Freemius Checkout JS SDK. Today, we are excited to share that the library is officially out of beta. A huge thank you to everyone who helped us test it in real-world scenarios!
Our Developer Dashboard and website documentation have been updated to reflect these changes. Here’s a brief recap of what the new JS SDK offers:
No dependencies: The new SDK does not require jQuery or other dependencies.
Improved performance: It loads faster than the legacy integration library.
Package manager support: The SDK can be installed via package managers like NPM (refer to our GitHub repository for details).
We will soon retire our old library and replace it with the adapter the new library provides. However we urge that you update to the new library as soon as possible to take full advantage of the modular system.
At Freemius, we support migrations from platforms like EDD, WooCommerce, Envato, and more. To help you maximize the benefits of the Freemius platform—such as tax compliance and subscription recovery—we recommend encouraging your buyers to update their licenses through Freemius.
To make this easier, we’ve introduced a new coupon type called “Migrated Customers”. This option allows you to target customers with a migrated license who have never purchased your product through Freemius, providing an incentive while minimizing the risk of misuse.
This feature was inspired by feedback from our community of makers. Thank you for your valuable suggestions! If you have more feedback or ideas to help us enhance our platform, please share them on our feature board.
Other coupon related bug fixes
Exit intent popup bug fix
We identified an issue where the exit intent coupon modal would display even if the coupon configuration did not match the current pricing, currency, or billing cycle. This has now been resolved.
Issues with renewing migrated licenses
We also addressed several edge-case bugs related to renewing migrated licenses with coupons and applying renewal discounts to migrated subscriptions. The following improvements have been made:
The system now extends the license with the full coupon discount if the migrated subscription is inactive.
If the migrated subscription is active, it will be canceled with a prorated discount and the appropriate coupon discount.
Additionally, the UI will now display a detailed breakdown of coupon discounts to avoid any confusion.
If you want to migrate your product from any platform to Freemius, please get in touch with our support.
We use tools, such as cookies, to enable essential services and functionality on our site and to collect data on how visitors interact with our site, products and services. By clicking CONTINUE, you agree to our use of these tools for advertising, analytics and support