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.
We identified an issue where the requested currency was not being honored during Checkout if the plan_id parameter was missing.
Historically, we recommend including the plan_id parameter when using our Checkout. When it is not provided, the system defaults to loading the cheapest visible plan.
However, in such cases, the currency parameter was not being applied correctly, even when specified.
This issue has now been resolved, and the requested currency will be respected as intended.
Freemius includes a feature that allows customers or buyers to whitelist a license, enabling activation only on selected sites.
We identified a UI regression where the requested URL occasionally failed to appear in the whitelist. The root cause has been addressed, and a fix has been deployed.
This week we are releasing a few housekeeping updates, mostly aimed at maintenance and bug fixes. Out of those, the following are noteworthy.
Affiliates Terms Page Styling Improvement
We have updated the style of the affiliates terms page, taking it at-par with the rest of the legal pages generated by Freemius. Link of such page is included automatically when a user signs up for the Affiliate Platform. The platform can significantly boost your marketing efforts and sales, so we recommend checking it out.
SDK Contact Form Bug Fix
Our maker reported some console error being shown by the SDK’s standalone contact form. While the error itself didn’t break any functionality, we understand it can be annoying, especially to our tech savvy makers. We have investigated and fixed the issue from our end.
Freemius supports setting up a special coupon to appear when a buyer is canceling their subscription. This feature is very helpful in reducing churn rates.
As a maker, you just need to set the coupon up from the Developer Dashboard. Now, when a buyer clicks the “Cancel Auto-Renew” button through the Customer Portal, the system will automatically show a pop-up like the one above.
However, due to limitations of payment gateways, sometimes it is impossible to apply the discount to the next immediate payment from the subscription.
To improve the system, we’ve made it smarter by detecting such scenarios and preventing the pop-up from showing. This, in turn, will help reduce disputes.
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.
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