SDKs
...
Go SDK
v2
Breaking changes
8min
licenseclient updates in sdk v1, licenseclient was the primary interface through which client applications interacted with the sdk it also handled responsibilities like saving the license file to storage for example, methods like licenseclient activatelicense() and licenseclient activateoffline() would automatically persist the license data in sdk v2, we've introduced new higher level layers that now wrap around licenseclient and are responsible for tasks like license validation, storage, and management offline licensing responsibilities moved offline licensing logic has been fully removed from licenseclient the following functions have been deprecated generateofflinelicenserequest activateoffline deactivateoffline their logic has been moved to the licensehandler , which now automatically orchestrates the offline flow offline licensing involves no real time communication with the licensespring api now, licenseclient strictly focuses on online api interaction only note the v1 version of activateoffline() had the option to send the activation request directly to the api this is no longer available in v2 instead use airgap functionality, or use the new offline flow that involves generating and transferring a license file this update brings the sdk more in line with the security principles of true offline licensing hardware id validation is now enforced in v1, the sdk did not validate that the hardware id in the activation request matched the machine actually performing the activation this allowed users to generate an activation request on one machine and activate it on another — which undermines the concept of node locked licenses in v2, this has changed the sdk now enforces hardware id checks during license activation if your workflow involves generating requests on one machine and activating on another, you must explicitly set the hardware id of the target machine in the request generator summary of breaking changes feature sdk v1 sdk v2 license file storage handled inside licenseclient moved to licensehandler offline licensing methods part of licenseclient moved to licensehandler hardware id enforcement not enforced enforced migration note if you're still directly using licenseclient in your application you must update your code to use licensehandler otherwise, your license data will no longer be saved or updated , and you’ll lose critical logic like validation, storage, and offline flow handling hardware id generation in sdk v2 sdk v2 introduces a new hardware id generation module that supports multiple algorithms, allowing for greater flexibility and improved security however, none of the new algorithms produce the same hardware id as sdk v1 if maintaining compatibility with the hardware id from sdk v1 is important for your setup, you can explicitly configure the licensehandler to use the legacy method that said, we strongly recommend migrating to the new module , as it offers better robustness and security to learn how to configure either the new algorithm or retain the old one, refer to the configuration guide for detailed setup instructions license file path in sdk v2, the default name and path of the license file have changed to align with other sdks if you already have a license file stored in the old default location and you wish to continue using it without moving it , you’ll need to manually provide its path as a custom license file location during configuration floatingclient and managementclient updates in v1, support for the floatingclient and managementclient was built in however, these are not yet available in v2 they are planned for future releases but are not part of the initial version if your project depends on these apis do not upgrade to v2 at this time alternatively, remove or isolate that logic until full support is released in a later version