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.

Checkout coupon and billing UI-related bug fixes

Lifetime Billing Cycle UI bug fix

We received a report from our partners that the checkout billing cycle UI for a ‘Lifetime’ purchase wasn’t responding to the coupon code.

We fixed the issue and all billing cycle UI will now respond to the entered coupon code if supported.

Supported coupon filtering in the Billing Cycle UI

We also received feedback from partners that a coupon code’s discount is shown in all billing cycles even if they are not supported. For example, if a particular coupon was applied to the annual billing cycle only, the monthly billing cycle would also show the (wrongly) discounted price after applying the coupon as long as the annual billing cycle was selected. We identified the root cause and fixed this.

Added 2FA recovery and backup code support for the Developer Dashboard

Following our latest feature release of the 2FA security enhancement, we’re pleased to announce the availability of recovery or backup code support. Please see the authentication flow below:

Enabling 2FA with a backup code

When you enable 2FA using the same method as before, a backup code will be generated automatically for you.

Please click on the copy button and store the backup code somewhere safe.

Regenerating the backup code

In case you’ve lost your backup code or enabled 2FA before we rolled out the feature, you can still re-generate it as long as you have your 2FA authenticator device with you.

From the Profile page, simply click on the ‘generate a backup code’ link and follow the on-screen instructions.

It will ask for the authenticator code.

Upon entering a valid code, you will be given a new backup code. Please note that the old backup code will stop working as soon as you generate a new one.

New Security Feature: Two-Factor Authentication in the Developer Dashboard

We are pleased to announce that a Two Factor (2FA) authentication system is now available in your Developer Dashboard. Please see the feature in action below:

Activating the 2FA Flow

Activate 2FA Freemius Developer Dashboard

  • Go to the Profiles page under the Developer Dashboard.
  • Under the Security section, click the toggle to activate the two-step authentication.
  • Follow the on-screen instructions.

We recommend the Google Authenticator or Microsoft Authenticator app from the PlayStore or AppStore.

Deactivating the 2FA

If you want to deactivate the 2FA, you can do so from the Profiles page.

Deactivate 2FA Freemius Developer Dashboard

Simply click on the ‘Deactivate two-step authentication’ toggle and follow the on-screen instructions. You’ll need both your password and the authenticator app to deactivate.

What if I lose my Authenticator app?

We are enhancing this feature with recovery codes, which you can use to recover your account. Until we deploy this, please get in touch with our support, and we’ll help you out.

Checkout app improvements

We’ve made some minor improvements to the Checkout app to pave the way for big upcoming projects.

Fixed form validation issues

Freemius Checkout Form Validation

We realized we weren’t validating the user form from the front end in some edge cases. We’ve fixed this and the form can now only be submitted once it is validated completely.

We also saw some regression in the error message in the zip/postal code field. We fixed this as well.

Fixed marketing opt-in UI

In some edge cases, marking the marketing opt-in as ‘Yes’ would make the section disappear. We found the root cause and applied a fix.

Other notable changes:

  • We found out that the HMRC API we use to get exchange rates for invoices had been migrated. We’ve moved to the new API which should fix broken invoices.
  • A few countries appeared out of order in the dropdown. This has also been fixed.
  • Internal build script optimization is now resulting in smaller asset size, making our Checkout app load faster.

New feature to share analytics charts from the Developer Dashboard

Following the trend of #buildinpublic, we’ve created a cool feature for you in the Developer Dashboard. You can now share any chart that you see in the Developer Dashboard.

Share charts in the Freemius Developer Dashboard

Sharing Features

Different chart sharing features

  • You can switch between different background gradients and colors.
  • You can choose to hide numbers from the chart.
  • You can toggle between light and dark themes for the chart, regardless of the theme of the Developer Dashboard.

Here’s a sample:

Sample chart screenshot - Freemius

We hope you will enjoy this feature. Please let us know your feedback.

Checkout tax and billing UX improvement

Following our last major release of checkout tax and billing improvements, we’ve gathered feedback and pushed a UX improvement.

Freemius Checkout Tax Disclaimer

We’ve shown a “disclaimer” below the billing country regarding the applicable tax. However, in the case of VAT, the tax amount is exempted by law when entering your business VAT ID. The disclaimer becomes confusing since it still says “xx% VAT applied…”.

Freemius Checkout tax disclaimer is hidden when VAT ID is entered

As an improvement, we won’t show the disclaimer when a valid VAT ID is entered in the checkout form.

Improvements to the tax and billing UI of the Checkout app

In this deployment, we’ve improved how we handle tax and billing information in our Checkout application. Up until now, one had to click on a different part of the UI to change the taxing country.

Freemius checkout old tax UI

We realized this could create confusion among the buyers who have updated their billing information in the Credit Card or PayPal section. To simplify the UI/UX, we’ve removed the dedicated UI. Now the taxation will simply correspond to the selected billing country of the buyer.

Deployment summary 9th October, 2023

Backend Fixes

  • We found an edge-case scenario where a product’s payment could not be refunded. We have found the issue and have pushed a fix.
  • We noticed a regression in our last major update on the analytics system. The MRR and Active Subscription metrics were incorrect, including sandbox subscriptions. We have pushed a fix for this.
  • We noticed and fixed a small typo on the EULA page of Freemius products.

Developer Dashboard Enhancements

Coupons Settings UI Enhancement

We have deployed a bunch of enhancements to the coupon settings UI.

Freemius Coupons Settings UI

  1. The coupon code will now always be visible inside the sticky header.
  2. The Is Active toggle is also now a part of the sticky header, located beside the close button.
  3. We have also fixed some layout issues along the way.

PayPal account types

We have renamed the PayPal account types in the “Payouts” section of the profile page to better reflect their meaning.

Freemius Payouts Settings

You will now get a clear indication to understand what the different types of accounts mean.

Fixing checkout marketing opt-in mechanism and others

Marketing Opt-In UI in the checkout

We noticed in some cases the marketing UI was defaulting to “No” instead of asking the user about their choice.

Freemius Checkout Marketing Opt-In UI

We fixed this regression. Now the UI will be in an indeterminate state, making the customer choose their preference.

Freemius Checkout Marketing Opt-In Indeterminate UI

Fixing user.created event

We noticed in some edge cases the event was not fired. We figured out the root cause and have pushed a fix.

Regression in subscription cancellation email

We noticed some regression in the modification we made in the subscription cancellation email to have its replyTo set to the user instead of Freemius. We have reverted the change for the time being. We will investigate the issue and fix it in the near future.

Fixed User notes in the Developer Dashboard and misc improvements

Fixing User Notes in the Developer Dashboard

We noticed the “User Notes” feature in the Developer Dashboard got broken.

We have fixed the feature. Now you can add notes from the Users page (both from a product as well as from a store).

Other Improvements

  • We updated the replyTo of the subscription cancellation emails to point to the user’s email address instead of the dont-reply. Now you can just reply to the email to follow up with the user.

Changelog summary 29th August, 2023

Freemius Checkout

We noticed that in the Brave browser, the credit card field of our checkout app would become hidden due to configuration. We pushed a fix and the checkout app will now work on the Brave browser regardless of the browser’s configuration.

Improvements to the user email verification event

Your product will now receive the relevant user.email.verified event when a user verifies their email. You can process this event for marketing purposes.

Various fixes to the Developer Dashboard

This week’s deployment also brings various fixes to the Developer Dashboard.

Revealing the secret key on the Store Settings page

We had a UI issue on the Store Settings page where the secret key could not be revealed. Not only did we fix this issue, we also improved the UI in general.

Secret key UI in the Developer Dashboard - Freemius

From now on, the secret key will be hidden by default on every page that displays it. You can choose whether to reveal it or to copy it.

Other fixes/improvements

  • The cache busting now works seamlessly when we deploy a new version of the Developer Dashboard app. Previously, some of our partners faced some issues.
  • Fixed an edge case issue where the main pricing wouldn’t load properly on the pricing page.
  • Fixed an issue where the earnings page could not be loaded directly from the bookmark.

 

New feature: White-labeling a specific pricing in a plan

We’ve implemented yet another feature request from our partners. From now on, you can mark a particular pricing as White Labeled. After doing that, every new license created for that pricing will be marked as White Labeled by default.

White-labelling pricing on a plan Freemius Developer Dashboard

This means when someone activates the license on a site, the WP SDK will not show sensitive information on the Accounts page.

Regular vs White-Labeled accounts page

This helps in situations where you create some sort of bulk pricing for an agency and the agency wants the license marked as White Labeled by default. Please read more about the white-labeling feature here.

Fixed plugin/theme update issue with the Staged Rollouts feature

Freemius supports the Staged Rollouts feature, which allows you to gradually send your product updates to users. You can read more about it here.

We noticed in an edge case that if a site had already received a notification for an update — but the site admin didn’t choose to update immediately — the updates could fail later on because the “staged rollout” might have been completed since then.

In this iteration, we fixed these edge-case scenarios. The update will now fall back to the last stable release if such a case is encountered. We fixed this from our API layer. No changes to the WordPress SDK were necessary.

Securely load the Checkout while pre-populating the user’s information

We’re pleased to announce a new feature we implemented following our partners’ feedback. It allows you to safely and securely load the Freemius Checkout app where the user’s name, email, VAT, country, ZIP Code/Postal Code, etc. are pre-populated.

Using user token to pre-populate the Freemius Checkout

High-level process

  1. When the user clicks on the purchase button, make a call to YOUR backend.
  2. Your backend will figure out the ID of the user and the ID of the product they’re trying to purchase.
  3. The backend will call the Freemius API to generate a token.
  4. The token will be given back to the JavaScript application that intercepted the ‘click’.
  5. The JavaScript application will then open the Freemius checkout while passing the generated token as user_token in the configuration.

More details and code examples have been added to our documentation.

Load more