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.

Fixed invalid integration code in the Developer Dashboard after creating a new plugin

We noticed a small bug in the system where the integration code shown would be invalid right after creating a new product in the Developer Dashboard. This was especially prevalent in the section where it asks to put the testing constants in the wp-config.php file.

Integration code issue fixed in the Freemius Developer Dashboard.

As part of our release this week, we’ve fixed this bug.

Fixed analytics for trial cancellations

We found an issue in the analytics system where the ‘Trial cancellations’ metric wasn’t getting indexed. We fixed the issue and you should be able to see trial cancellations on the Sales Analytics page.

Developer Dashboard improvements – Security email + better UX for countries picker

Added a new security email to the profile page

Following our last security disclosure, we received feedback from our partners that they would like the security emails to be sent to a separate address. In response, we have added a new section in the “Profile” page of the Developer Dashboard.

security email freemius developer dashboard profile page

From here, you can add an email address where Freemius will send you security-related notifications. Please note that Freemius will send the notification to both the main email as well as the “Security email”.

Better UX for country pickers

Following yet another bit of feedback, we’ve improved the areas in the Developer Dashboard where we present a dropdown for selecting a country. For example:

  • Billing Information
  • Gifts & Surprises
  • Payout Bank Account

etc.

As you can see, you can now easily search for the country you intend to pick.

Improvements to the Analytics Date selection logic and UI + Additional fixes

We’re super excited to bring you the most-requested analytics feature in the Developer Dashboard.

Starting today:

  • We’ve removed the restriction of selecting the date in the main dashboard.
  • You can now pick any date range with any resolution (daily, weekly, monthly, yearly) and both the start and end dates will be used when populating the data, without getting rounded off.
  • The analytics charts are now faster than before.

The problem of rounding the date range

Previously, the server would round off the dates whenever you selected a date range that was not an hour or a day. For example:

  • If you set the start date as 12 July and the end date as 25 December (with a monthly resolution), the server would round it off as data between 1 July and 31 December.
  • Similarly, if you set the date to a weekly resolution, the server would round the start date to the first Sunday of the selected week and the end date to the last Saturday of the selected week.

This not only created confusion when viewing the charts and the UI (since they represented different dates), but we also had to restrict not showing the custom date picker in the main dashboard. This is because the rounded date range being shown there would not be the same as the selected dates.

Freemius Dashboard - Date Selection UI

Fixing the restriction of picking custom dates

After we enhanced the stats API, we can now provide data in any requested range and period that starts and/or ends at any date. The API will adjust the data to ensure it represents the requested date range instead of rounding it off.

As a result:

(1) The custom date picker in the main dashboard is back.

Custom date picker in the Freemius Dashboard

You can now get reports of aggregated data for any input.

(2) Charts and UI now correspond to the same date range.

Sync between charts and Date Picker UI - Freemius Sales Analytics

As seen in the above image, the start date (and the data) of the chart now corresponds to the same date as the UI. To make it even easier to spot and avoid any confusion, we’re now showing the full date range when hovering over a chart point.

Under the hood: Making the charts faster

While working on the fix, we did some major refactoring of the underlying system. We realized we were doing many calculations ad-hoc and using more processing time than needed. During the refactoring, we made some adjustments and saw immediate improvements in the snappiness of the charts.

But no performance improvement is worth mentioning without a benchmark. So let’s see the results:

Benchmark of chart tooltip rendering - 70% performance improvement

The benchmark itself was very simple. We took the main Net Payments & Transactions chart and hovered over the 7 data points while showing results for the last 7 days in Daily resolution. Co-incidentally, we also saw a 70% improvement in the rendering time 😁

Additional Fixes

Following upgrades of the dependencies, we noticed the New Bank Account… button on the Profile page was not working.

Adding New Bank Account - Freemius Profile page

We fixed it in this iteration — apologies for any inconvenience!

Deployment Summary – 17th July, 2023

Freemius API & Backend

  • We fixed our composer integration which was raising some warnings due to package name mismatches.
  • We added a permission for the developer role to generate secure download links for licenses.

Developer Dashboard

We removed the code snippet that includes the secret_key of a product in the SDK integration code. Previously, we included an update to give clear instructions on how to activate development mode in the SDK.

We believe removing the secret_key from the main product file is the safer approach, since one can forget to remove it before doing manual deployments to the WordPress.org repository.