Release Notes

2.2.3

Download: Zentitle.Licensing.Client.2.2.3

Improvements

  • The IActivation.DeactivateOffline() method permitted in the EntitlementNotActiveState.

2.2.2

Download: Zentitle.Licensing.Client.2.2.2

Improvements

  • The IActivation.Deactivate() method is now permitted in the EntitlementNotActiveState. Instead of raising an IllegalActivationOperationException, it clears the local state storage and transitions the activation instance to the NotActivated state.

2.2.1

Download: Zentitle.Licensing.Client.2.2.1

Bug Fixes

  • The client (version 2.2.0) would previously throw an exception when calling IActivation.RefreshLease method in a specific scenario: ActivationStateModel.LeaseExpiry equals the Entitlement Expiry Date (because the previous RefreshLease already extended the lease to the maximum, which is Entitlement Expiry Date). This is a new behavior introduced with API version 2024-11-07. After this fix, the method will NOT throw an exception but will return false to indicate that the Activation Lease Expiry can no longer be prolonged.

2.2.0

Download: Zentitle.Licensing.Client.2.2.0

Improvements

  • Using Licensing API version 2024-11-07

  • Performance - Activate and Feature Activate/Return operations now refresh the Activation state from response instead of an extra call to the Get Activation State endpoint.

2.1.0

Download: Zentitle.Licensing.Client.2.1.0

Improvements

  • The activation.Info.Entitlement object has been extended with the following properties to eliminate the need to retrieve entitlement information through the Licensing API:

    • ConcurrencyMode

    • HasManintenance and MaintenanceExpiryDate

2.0.0

Download: Zentitle.Licensing.Client.2.0.0

Improvements

  • Added support for Zentitle2Core Library integration, including the following features:

    • Device Fingerprint

    • Offline Activation

    • Secure Storage

  • Removed dependency on the Microsoft.IdentityModel.Tokens NuGet package

Breaking Changes

  • Offline activation requires Zentitle2Core Library integration, and it accepts the TenantRsaKeyModulus string parameter instead of the JsonWebKey object

  • FileActivationStorage has been renamed to PlainTextFileActivationStorage

1.4.6

Download: Zentitle.Licensing.Client.1.4.6.zip

Improvements

  • Added support for bool features usage tracking

1.4.5

Download: Zentitle.Licensing.Client.1.4.5.zip

Bug Fixes

  • Fixed bug with in-memory cached persistence state not properly cleared after the seat deactivation

1.4.4

Download: Zentitle.Licensing.Client.1.4.4.zip

Improvements

  • Added locking to the Activation class to prevent possible concurrency issues and make it thread-safe. Check Configuring the Activation section for more details

  • Entitlement status in the EntitlementInfo respects the entitlement dates and is automatically updated after the entitlement enters the grace period or expires

Bug Fixes

  • When the seat's lease period expires at the same time as the entitlement, the Activation transitions into the EntitlementNotActive state instead of the LeaseExpired state.

1.4.3

Download: Zentitle.Licensing.Client.1.4.3.zip

Improvements

  • [Breaking Change] Dropped support for the Consumption Token and Floating feature types

1.4.2

Download: Zentitle.Licensing.Client.1.4.2.zip

Improvements

  • Added support for a new Usage Count feature type

1.4.1

Download: Zentitle.Licensing.Client.1.4.1.zip

Improvements

  • Activation entitlement has been added to the offline activation tokens and can be retrieved using the GetActivationEntitlement() method

  • [Breaking Change] PersistentData contains new OfflineActivationEntitlement field. Make sure that it's being handled properly in yourIActivationStorage implementation.

1.4.0

Improvements

  • [Breaking Change] Changed offline activation token format

  • Added support for username/password license activation flow

  • Added maintenance fields to activation's entitlement

1.3.0

Improvements

  • Logging improvements

1.2.0

Improvements

  • Activation state management

    • [Breaking Change] The OfflineActivated state has been removed because it has been merged with the Active state. The Info.Mode activation property can be used to distinguish between the Online and Offline activated seat.

    • [Breaking Change] The Expired state has been renamed to LeaseExpired state

    • [Breaking Change] The NotActive state has been renamed to NotActivated state

    • A new EntitlementNotActive state has been added, which represents an activated seat with no active entitlement (license) - e.g., the entitlement has expired or has been disabled on the server

  • Activation methods changes

    • [Breaking Change] The Refresh() method has been renamed to RefreshLease()

    • [Breaking Change] The RefhreshOffline() method has been renamed to RefreshLeaseOffline()

    • The Deactivate() method returns bool now, indicating if the deactivation has been successful or not

  • The number of API calls inside the RefreshLease() method has been reduced from 2 to 1

  • Documentation is now available for all public classes and methods of the SDK code

Bug Fixes

  • When the entitlement is no longer active on the server (because it has expired/has been disabled), the Refresh(), Deactivate() and PullRemoteState() methods are no longer transitioning the activation into the NotActive state but into the EntitlementNotActive state. In this state, the PullRemoteState() method can be used to transition back to the previous state if the entitlement becomes active again. If that isn't the case, the Activate() method can be used in this state to activate the seat with another entitlement.

  • If there is an API exception raised because of the invalid nonce, the activation doesn't fall into the NotActivated state, but the API error is propagated out of the library.

1.1.0

Improvements

  • Added PullPersistedState()activation method, which allows retrieving the activation state from the storage, even if the activation has been initialized already. If there are some changes in the persistence (made by other processes accessing the same activation) when calling this method, they will be reflected in the activation's in-memory state.

1.0.0

The initial version of Zentitle.Licensing.Client SDK

Last updated

Zentitle2

Service terms

© Copyright - Nalpeiron, all rights reserved Website use subject to Terms and Conditions. See our Privacy Policy Use of Zentitle is subject to our Service Terms and Conditions