Changelog

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.

New API Endpoints to Access and Cancel Subscriptions from a License

We have deployed two new API endpoints this week to ease our SaaS integration experience. In our guide, we ask to store the license ID after purchase to identify the user and their active plan on Freemius. However, we didn’t have a clear way to access the subscriptions of the user from the license itself. The recommended way was to search for the subscription using the user_id from the license. But since a license can have multiple subscriptions associated with it (due to plan upgrades, payment method updates, etc.), we didn’t have a clear instruction or method to find the latest and current subscription associated with the license.

To ease this integration and to provide better Developer Experience, we have introduced two new API endpoints:

Access Subscription of a License

GET https://api.freemius.com/v1/products/{product_id}/licenses/{license_id}/subscription.json

 

This will give you the latest subscription under a license. You can use it to show current billing information to your users. More information can be found here.

Cancel the Subscription

DELETE https://api.freemius.com/v1/products/{product_id}/licenses/{license_id}/subscription.json

This will immediately cancel the subscription and it will not go for any upcoming renewals. The license itself will still stay active until the next renewal time and after that will expire. Find the API reference here.

Checkout Minor UI Fix – Alignment of the Legal Text

We have rolled out a minor UI fix for our Checkout. Specifically, we improved the vertical alignment of the legal text in overlay mode to ensure better visual consistency between the two lines of copy.

Freemius Checkout legal UI update

While this was purely a visual tweak, we care deeply about the quality of our UI and the overall user experience. As a Merchant of Record (MoR), the legal block in the Checkout plays a key role in setting clear expectations with buyers by transparently presenting the terms of sale, service, and privacy policy – all of which are required for compliance and building trust at the point of conversion.

Fixed UI Glitch of Add New Team Member Component

We noticed a minor UI glitch in the “Add New Team Member” UI, where the auto-complete overlay could block the visibility of the input field.

Adding new team member from the Freemius Developer Dashboard

This has now been fixed. You can seamlessly add team members to your product for moderation, support, account management, and more without any visual interruptions.

Billing Cycle Selector Now Handles Plan Inconsistencies Gracefully

We discovered a bug in the newly introduced billing cycle selector UI of our Checkout. In cases where a plan’s pricing options had inconsistent billing cycles, the selector could still render an invalid option.

Freemius Checkout Billing Cycle Selector UI

While this was an edge case, we prioritized the fix. The UI will now behave correctly regardless of how your plans are configured.

Reminder: The billing cycle selector is not shown by default. To enable it, you must opt in by adding the billing_cycle_selector option in your Checkout config.

We recommend using the billing cycle selector UI only if you don’t have a pricing page where buyers can pre-select their billing cycles. By default, Freemius’ upsell UI is optimized for conversion and offers the best purchase flow.

Enhanced Webhook Payloads for WordPress Products Deployment Events

Freemius offers a powerful webhook and events system to support your custom integrations. For example, when a new version is deployed, a plugin.version.deployed event is triggered, which your webhook can use to perform automations, such as notifying customers via email.

Based on requests from our maker community, we’ve enhanced the payloads of the following events:

  • plugin.version.deployed & plugin.version.updated — now include file, version, and release_mode fields.
  • plugin.version.deleted — now includes the version field.

Freemius Webhook Event Payload

These enriched payloads should give you more actionable data to build powerful automations.

As a reminder, all plugin.version.* events include a tag field that holds the deployment ID. You can use that ID to retrieve full deployment details via a single API call if additional data is needed.

Improved Onboarding Experience for SaaS & App Creators

This week, we’re rolling out another update to make our platform more optimized for SaaS and App based products. When you create a product in Freemius, you’re be taken straight to the Setup Checklist page. This checklist outlines the key steps needed to complete your product’s integration with Freemius.

Setup Checklist for onboarding in Freemius Developer Dashboard

We’ve revised the flow by updating existing steps and introducing new ones to provide better guidance. For example, SaaS products now link directly to our integration guide and include hints for setting up webhooks, making it easier to build tighter integrations.

Navigating to the Setup Checklist page from the Freemius Developer Dashboard

No matter what stage you’re at in your integration journey, you can always access the Setup Checklist from the sidebar. And if anything’s unclear, our support team is just a message away.

Deployment Endpoints Bug Resolved

We noticed two bugs in our deployment-related endpoints. When generating the download links for the latest deployment (or “tag” as we call them internally), we found that in some cases, the links were not properly signed and were getting blocked by our authentication layer.

  1. Get latest deployment for a product
  2. Retrieve latest update for an install

We’ve identified the root cause and rolled out a fix. If you’re using these endpoints for a custom integration, you should no longer encounter any issues.

Note: Our WP SDK was not affected by this bug and its auto-update functionality remained fully operational.

Improved Support Contact Success Message in Customer Portal

The Customer Portal includes a powerful support form that allows your buyers to easily reach out to you. It also supports upsells, HelpScout, and documentation integration out-of-the-box. If preferred, you can even link to your own external support form.

With this week’s deployment, we’ve improved the success message shown after a customer submits a support request.

Freemius Customer Portal Support Form Message

To reduce confusion and improve transparency, the message now clearly displays the product name and the email address where the request was sent, helping your customers trust that their message reached the right destination.

New Feature: Monthly Scheduled Payout Email with Pro-forma Invoice

This week, we’re rolling out an exciting new feature to improve financial transparency and make accounting smoother for our makers.

At the beginning of every month, as your payable earnings are calculated, you’ll now receive an email with all the details related to your upcoming payout.

Freemius Payout Schedule email

The email will include a link to a pro-forma invoice, which you can use as documentation for incoming payments with your financial institutions — such as PayPal or your bank.

Pro-forma invoice generated by Freemius

Once the payout is completed you’ll receive a follow-up email with the updated information and a link to the finalized paid invoice.

This new feature is another step toward our ongoing mission to remove operational friction from your workflow — letting you focus on building amazing products.

Plans Page Polished for Better Product Onboarding

This week, we’re rolling out several enhancements to the Plans page in the Developer Dashboard to improve your product onboarding experience.

Updated Plan Form

Freemius New Plan Form
  • The Title field now appears first and automatically generates the Unique Name, making plan creation quicker and more intuitive.
  • For non-WordPress product types, the Description field has been removed, since it’s only relevant when using the built-in pricing page in the WP SDK.

Updated Pricing Form

Freemius pricing form
  • The page heading on the pricing form now clearly displays the currency for each pricing item.
  • We’ve renamed “Lifetime price” to “One-off price”, which better reflects SaaS-oriented terminology.
  • The price recommendation hint has been removed for SaaS products, as pricing varies widely across different business models.

If you’d like help with pricing strategies, feel free to contact our support team.

Consistent Selling Unit Labels Across Customer Portal

We recently introduced Custom Selling Unit labels for SaaS and App products. While these updates were already integrated into core components like the Checkout and transactional emails, the Customer Portal hadn’t yet caught up.

Customer Portal upgrade dropdown button with custom license unit

This week, we’re closing that gap.

The Customer Portal has been updated to show the configured unit labels in all relevant areas of the UI.

You’ll primarily notice this improvement in the Upgrade/Downgrade flows under the Licenses and Renewals & Billing sections.

Upgrade flow in the Freemius Customer Portal

Buyers will now clearly see the specific license unit they’ve purchased, with a consistent and accurate label guiding them through the upgrade experience.

Deployment API: Fixed Incorrect Version Returned for Latest Tag

We discovered a bug in some of our API endpoints responsible for fetching the latest deployment of a WordPress product — for example, products/{product_id}/tags/latest.json.

Instead of returning information about the most recent deployed version, these endpoints were incorrectly returning the latest incremental release. We’ve identified the root cause, and a fix has been deployed.

This bug did not affect the update flow of our WordPress SDK. The SDK has always expected and correctly received updates based on the incremental versioning and other release mechanisms that Freemius offers.

Enhancements to iDEAL Support in Freemius Checkout

Recently, we released iDEAL support for our Checkout to ease payments from buyers in the Netherlands.

Freemius Checkout Update Flow with iDEAL

This week, we’re continuing to strengthen that support with a few enhancements and bug fixes:

  • Fixed an edge case issue related to license renewals via iDEAL.
  • Payment method updates now work seamlessly both to and from iDEAL.
  • Improved error handling for broken or interrupted payment flows.

To enable iDEAL as a payment method in your Checkout, simply configure your product pricing in EUR. Once set, buyers from the Netherlands will automatically see iDEAL as one of the supported payment methods.

Another Batch of Maker-Facing Emails Rebranded

Our rebranding project continues to roll out across the platform. This week, we’re releasing another batch of emails sent by Freemius to our makers.

2FA activation email sent by Freemius - in new style

If you’re signing up or enabling 2FA, you’ll notice the updated design. We’re getting close to our rebranding milestone — and up next, we’ll begin rebranding customer-facing emails, including support for customization.

One-Time Discount Support for Migrated Subscriptions

We are happy to announce that Freemius now supports a new coupon configuration designed to help you migrate your legacy subscriptions while offering first-time discounts to your buyers.

For example, you can create a coupon restricted to “Migrated customers”, and under the same coupon, configure it to apply a discount on the First payment only.

Freemius Coupon Configuration

When your buyer chooses to migrate their subscription, they’ll not only receive the usual proration discount, but also this new one-time discount. This creates an extra incentive for your buyers to move to the new billing system powered by Freemius — ultimately benefitting both them and you.

Coupon discount applied to first payment while migrating legacy subscriptions

As shown in the example above, the discount applies only to the first payment Freemius collects, and not to subsequent renewal payments.

Until now, coupons used for migration had to support both the first payment and renewals. With this update, our coupon system is far more flexible — giving you finer control over how and when discounts are applied.

Please note that the coupon discount is calculated relative to the non-prorated period. For example, if for an annual subscription 5 months have already been used and are prorated, then the coupon applies only to the remaining 7 months — ensuring that discounts are not compounded unintentionally.

If your coupon also supports renewal discounts, the UI will display a tooltip explaining the discount breakdown — both for the current payment and for the renewal.

Coupon showing relative first time discount and full renewal discount

Why We Built This

Freemius not only helps you sell your software with ease, but also makes it simple to migrate your existing subscriptions and licenses from a legacy system. Our migration process is non-breaking by design — you don’t need to cancel everything immediately or force your buyers to resubscribe. Freemius keeps itself in sync with your legacy system, allowing you to centralize licensing in a single source of truth while gradually moving subscriptions over.

Of course, migrating to Freemius comes with multiple benefits: global sales tax handling like EU VAT or US Sales Tax, automated invoicing, email marketing automation, and more.

To support this migration path, we also offer features like renewal reminder emails and coupons to help encourage users to move over.

With this newly added flexibility, you can now offer a one-time discount during migration to further motivate buyers to switch — helping you increase adoption of the Freemius billing system.

Load more