@vovafeldman vovafeldman released this May 25, 2018 · 73 commits to master since this release

Assets 2

GDPR Compliance

To help you comply with the GDPR, this version incorporates key updates to the SDK helping you to collect a proper marketing consent from EU users. Please update your plugin/theme with the newest SDK version asap. Like always, make sure that you test it thoroughly before the release.

A New Opt-In Message for EU Users

The default opt-in message was adjusted for EU users, making it clearer that they are also opting-in to potential marketing and offers via email. Once you upgrade to the new SDK, the marketing flag will be automatically set to ‘yes’ for all new users that opt-in.

Here’s the phrasing we use for new EU users:

Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with freemius.com.

IMPORTANT: If you’re overriding the default opt-in message with a custom one, please make sure to adjust it for EU users, making it clear that they are also opting-in to promotional emails. To help you identify EU users, we’ve introduced a helper method, which you can use in your opt-in message filter:

FS_GDPR_Manager::instance()->is_required()

Marketing Consent During License Activation

The license activation is now a 2-step mechanism. Once a user types in a license key, the 1st thing that will happen is an AJAX call that will ping our API to check if the marketing flag has already been set for the owner of that license. If not, an opt-in radio button will appear and the user will have to indicate if they wish to opt-in to marketing or not:
freemius-wordpress-sdk-license-activation-gdpr-opt-in

Marketing Consent Admin Notice for Opted-in EU Users

A new friendly admin notice will be shown to EU users that already opted-in before and their marketing flag is not set (or set to null), to encourage them to opt-in to marketing emails.
freemius-sdk-gdpr-opt-in-admin-notice

  • To avoid a flood of admin notices, if the logged in EU admin opted-in to multiple plugins and themes on the same WordPress install, the SDK will only show a single collective message for all the products and the decision taken by the user will affect their marketing flag for all those products.
  • If the admin chooses to dismiss the message it will reappear every 30-days until a decision is taken (yes or no), or if the marketing flag will be updated via one of the other mechanisms.

IMPORTANT: The admin notice consent collection is off by default since we didn’t want to force you to use it. To activate it, add the following filter handler right after your integration snippet:

    my_freemius()->add_filter( 'handle_gdpr_admin_notice', '__return_true');

We’ve created a gist to help you customize this GDPR message:

my_freemius()->override_i18n( array(
    // Single product GDPR opt-in.
    'thank-you-for-using-product-and-its-addons'  => 'Thank you so much for using %s and its add-ons!',
    'thank-you-for-using-product'                 => 'Thank you so much for using %s!',
    'already-opted-in-to-product-usage-tracking'  => "You've already opted-in to our usage-tracking, which helps us keep improving the %s.",
    // Multi-product GDPR opt-in.
    'thank-you-for-using-products'                => 'Thank you so much for using our products!',
    'already-opted-in-to-products-usage-tracking' => "You've already opted-in to our usage-tracking, which helps us keep improving them.",
    'product-and-its-addons'                      => '%s and its add-ons',
    // GDPR explanation.
    'due-to-gdpr-compliance-requirements'         => 'Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard ',
    'contact-for-updates'                         => "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:",
    // Opt-in action.
    'yes'                                         => 'Yes',
    'send-updates'                                => 'send me security & feature updates, educational content and offers.',
    // Opt-out action.
    'no'                                          => 'No',
    'do-not-send-updates'                         => 'do %sNOT%s send me security & feature updates, educational content and offers.',
) );

Reference: https://gist.github.com/vovafeldman/54fbc08635f66fd09b7d530cb027cc87

Official GDPR announcement: https://freemius.com/blog/gdpr-wordpress-plugin-theme/

Demo Mode

We've incorporated a special Demo Mode for those of you who spin off WP environments with your product to demo its paid features. This mode will hide the following pages:

  • The debugging page
  • The Account page
  • The pricing/upgrade page

To activate the demo mode all you need to do is add the following flag to the wp-config.php file in the demo environment:

define( 'WP_FS__DEMO_MODE', true );

Premium Products Update Fix

We received a report from one of our sellers that it's possible to update a premium product version without a valid license. Moreover, the automatic update installs the free product version and deactivates the premium one, which can cause an unexpected behavior. After investigating the issue, we've found out that this issue was happening when users were updating a premium plugin/theme in the WordPress main Updates page in the WP Admin.
To avoid that issue, when a user tries to check the bulk update box of a premium product without having a valid, non-expired license for that product, they will be prompted with the following dialog box:
freemius-sdk-premium-update-no-license-dialog-box

Also, the checkbox will not be selected by default, so it's a good reminder to the customer that it's about time to renew their license if they want to get the update.

Localization / Translations

The SDK is now fully translated into English, Dutch, French, Italian, Spanish and Japanese. Special thanks to everyone who help us with the translation efforts! If you know any other languages besides English, please join our translation team:
https://www.transifex.com/freemius/wordpress-sdk/