Skip to content
- Fixed undefined index error encountered when programmatically deactivating a key that was not previously activated on the site.
- Only runs localization functions when loaded as an independent plugin.
- Replace the textdoman ‘lifterlms-helper’ with ‘lifterlms’.
llms_helper() in favor of deprecated
LLMS_Helper() in various locations.
- Don’t attempt to run migrations from versions less than 3.0.0 during first run when loaded as a library.
llms_helper()->upgrader WP_CLI context in preparation for forthcoming the
- This plugin is now included by default via the LifterLMS core in versions 5.0+. Installing this plugin directly will use the plugin version instead of the version included with the core. Direct installation is likely only required for development purposes when using LifterLMS 5.0+.
- The main function
llms_helper() is declared conditionally when the class
LifterLMS_Helper is not yet declared.
- Added a constant
LLMS_HELPER_DISABLE which allows disabling of the plugin.
- Distribution release zips now include a
composer.json file to allow for installation via composer.
- Flush cached update and add-on data when adding or removing license keys and when changing channel subscription for a package.
- Enable updating to beta versions of packages that don’t require a license when no license is present.
- Moved the class
LifterLMS_Helper class to its own file from
self::$instance in favor of
llms() in favor of deprecated
llms_filter_input() to access
$_POST data in various places.
- Use strict comparison for
- Fixed usage of incorrect textdomain in various places.
- Replaced usage of protected class property
$instance in favor of
$_instance in various singleton classes.
LLMS_Helper() is deprecated in favor of
includes/model-llms-helper-add-on.php is deprecated, use
- Load changelogs from the make.lifterlms.com release notes archive in favor of from static html files.
- Remove reliance on
file_get_contents() causing errors on servers without access to the function.
- Fixed fatal errors encountered as a result of failed API calls
- Fixed broken links output on the plugins update screen when an add-on is unlicensed and has an update available
- Fixed issue causing non-beta versions of the LifterLMS core to be served from LifterLMS.com instead of from WordPress.org
- Fixed an issue causing key migration to run on the frontend resulting in a fatal error related to missing admin-only functions
- Fixed an issue causing multiple submitted keys to not work properly on certain environments
- Fixed issue causing installation script to make an activation API call even when no keys exist
- Improved installation script message to only display a migration message when keys are actually migrated
- This is nearly a complete rewrite of the codebase. Things have moved but no features have been removed.
- Requires LifterLMS version 3.22.0 or later
- License key activation is now on a per-site basis as opposed to a per product basis. This means that if you have a license key for a bundle you don’t have to enter the key for each add-on, you enter the key only once and it will activate ALL the add-ons.
- The “Licenses” tab has been removed and your add-ons and licenses are now managed via LifterLMS -> Add-ons & More
- A migration script exists to move license keys from previous versions of the helper to this version. After upgrading check LifterLMS -> Add-ons & More to ensure your keys were successfully migrated.
- You can now install add-ons through the this plugin without having to download and install them manually. Enter your license key(s) and select the add-ons you wish to install to have them installed automatically. You can bulk install as well.
- You can now subscribe to beta channels of LifterLMS and any LifterLMS add-ons. Visit the LifterLMS -> Status -> Betas screen to subscribe to betas. Always use betas at your own risk, by nature they’re unstable!
- Uses the LifterLMS.com v3 REST api for all API calls
- Added RTL language support
- Added i18n support
- Removed and replaced various functions
- Fixes many bugs and almost certainly introduces some new ones