Zengain beta open for customers sign up now:
click here
Documentation
SupportNalpeiron.comGithubFree TrialFeedback
  • Documentation
  • Zentitle2 Docs
  • Zengain Docs
  • Zentitle I (V10)
  • Education & Training
  • Welcome
    • Zentitle2 documentation: License Management Software
    • Introduction to Zentitle2
  • Latest UI Changes
  • Zentitle Overview
    • Zentitle Quick Overview
      • Zentitle2 Features & Benefits
      • A single source of truth: 1 platform
      • Zentitle Architecture
      • Zentitle supports every platform
      • Zentitle business models
      • Critical differences for secure site/offline/dark site management
      • Zentitle for SaaS Licensing
  • Quick Start
    • Onboarding Zentitle2
    • Integrating is easy
    • Pricing & Packaging with Zentitle
  • Using the Platform UI
    • Introduction
    • New User Setup
    • Getting around
      • Search
      • Using reports
      • Providing feedback
    • Getting started
  • UI: ADMINISTRATION
    • Introduction
    • Users
      • Managing Users
      • Resending user invites
      • User permissions
      • Lost password
    • API Credentials
      • Package Registry
    • Webhooks
      • Logs
      • Workflow automation software
    • Integrations
      • FastSpring
      • SalesForce Sample Integration
        • Sample Integration Installation
        • Post-Installation Configuration
        • Connecting Salesforce to Zentitle
        • Creating a Zentitle Customer in SalesForce
        • Creating a Zentitle Entitlement in SalesForce
        • Editing Zentitle Entitlements in SalesForce
        • Managing Software Activations in SalesForce
    • Configuration
      • Import customers
      • Account Based Licensing (Identity-based licensing)
        • Setup Account Based Licensing with OpenID tokens.
        • Setup Account Based Licensing with username/password
        • Branding the user experience
      • End User Portal
        • End User Portal User Access
        • End user - Use of the portal
        • End User Offline Activation
      • Custom Fields
      • Security (2FA)
    • "Hard" Delete
  • UI: Dashboard
    • The Dashboard
  • UI: Customers
    • Customers and contacts
    • Customers
      • Adding (managing) contacts
      • The contact page
      • Setting up End User Portal (EUP) access
      • Inviting contacts to EUP
      • Disabling Customers
      • Managing Entitlements (from the Customer page)
  • UI: Entitlements
    • Entitlements
      • Using Entitlements
      • Maintenance options
    • Working with Entitlements
      • Activation Codes
      • Contacts (ABL)
      • Activations
      • Activity log
      • Notes
    • Managing Entitlements
      • Allocating entitlements
      • Change the offering (upgrade/downgrade)
      • Entitlements with overrides/changes
      • Renewing an entitlement
      • Resetting the usage count
      • Disabling Entitlements
      • Entitlements in overdraft (seats)
  • UI: Product Catalog
    • Product paradigm
    • Products
      • Product Features
      • Overdraft option (feature usage)
      • Feature Control
      • Product Attributes
      • Product Editions
      • Edition Setup
    • Offerings
      • Overdraft option (seats)
      • Managing offerings
      • Maintenance options
      • Change offering (upgrade/downgrade)
      • Custom Fields
    • Plans
      • Trial plans
    • Global Features (and attributes)
  • UI: Local License Server
    • Local License Server (LLS)
      • Local License Server Installation
      • LLS License End-User Management
      • Entitlements to be used on LLS instances
      • LLS Licensing API
      • LLS Release Notes
  • UI: Help
    • Support
  • Developers
    • Licensing & Management APIs
      • API docs
      • API Rate limits
      • Collecting credentials for integration
      • API Versioning
    • The Licensing Client (.NET)
      • Configure NuGet Source
      • Configuring the Activation
      • Configuring the SharedActivation
      • Working with SharedActivation
      • Licensing API Nonce
      • IActivation interface
      • Zentitle2Core Library
      • Exceptions
      • FAQ
      • Release Notes
    • The Licensing Client (C++)
      • Configuring the Activation
      • Licensing API Nonce
      • IActivation interface
      • Zentitle2Core Library
      • Exceptions
      • Release Notes
    • The Licensing Client (Java)
      • Configure JAR Source
      • Configuring the Activation
      • Licensing API Nonce
      • IActivation interface
      • Zentitle2Core Library
      • Exceptions
      • FAQ
      • Release Notes
    • The Zentitle2Core Library (C++)
      • Security
      • Offline Activation
      • Generating Device Fingerprint
      • Using the Zentitle2Core Library
      • Troubleshooting and FAQs
    • Platform Summary
      • Turboscale architecture
      • SaaS Application Licensing
      • On-Premise Licensing
        • 1-Step Offline Deactivation: On-Premise
        • 2-Step Offline Activation: On-Premise
    • Offline Activation
    • Virtual Machine Control
    • No-code Test Application
      • Creating a Product and Entitlement
      • Download the demo files
      • OnPremDemo.dll.config setup
      • Test the demo application
        • Install Desktop Runtime
    • No-code SaaS Example
      • Creating a Product and Entitlement
      • Download the demo files
      • Collecting the serverside parameters
      • Edit appsettings.json file for IDE based Testing
      • Edit docker-compose.yml file for Docker-based Testing
      • Test the demo application
        • Using docker to test
    • Naming conventions/Glossary
  • Premium Features
    • Overdraft Tracker (Basic)
      • API references (Overdraft)
      • Overdraft Tracker on the dashboard
      • Reporting with the Overdraft Tracker
    • Network Licensing
    • Change log feature
  • Use Cases
    • Dark Site Local License Server (Network-based licensing)
    • Renewals (Customer Success) Management
    • Subscription grace periods
    • Self-service - End-user portal
    • Virtualized Environments
    • Usage-Based Licensing
    • Trial Management
    • Identity Based Licensing: Understanding IDP
    • Single Tenant Option
    • Entitlements with ERP & billing systems
    • Entitlements with Subscriptions
    • Entitlements with a CRM
    • E-commerce Integration
    • IoT and hardware licensing
    • SaaS Applications
    • Overuse tracking (overdrafts)
    • Order Fulfillment
  • Zentitle and M&A deals
  • Other
    • Zentitle2 Changelog
      • Terms and Conditions Changelog
Powered by GitBook
LogoLogo

Nalpeiron Privacy Policy

  • Privacy and Cookie Policy

Nalpeiron Growth Platform Terms

  • Nalpeiron ELTC

Get a FREE Trial

  • Click here for FREE Trial

© Copyright - Nalpeiron, all rights reserved. Nalpeiron, The Nalpeiron Growth Platform, Zentitle and Zengain are trademarks of Nalpeiron Inc. All use subject to our Terms above.

On this page
  • 3.0.0
  • 2.2.3
  • 2.2.2
  • 2.2.1
  • 2.2.0
  • 2.1.0
  • 2.0.0
  • 1.4.6
  • 1.4.5
  • 1.4.4
  • 1.4.3
  • 1.4.2
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
  • 1.0.0

Was this helpful?

Export as PDF
  1. Developers
  2. The Licensing Client (.NET)

Release Notes

PreviousFAQNextThe Licensing Client (C++)

Last updated 18 days ago

Was this helpful?

Credentials to our package registry can be created in the Zentitle2 interface (Administration -> API Credentials -> Package Registry)

3.0.0

April 28, 2025

Enhanced Concurrency Management

  • Added native support for system-wide locking through the new ISharedActivation interface

  • Removed UseActivationOperationLock from activation options (custom lock implementations are no longer needed; use ISharedActivation for cross-process scenarios)

Simplified API Design

  • Moved all feature-related operations (CheckoutFeature, ReturnFeature, TrackFeatureUsage) from IActivation.Features to the IActivation interface for more intuitive usage

  • All feature operations now use the IActivationFeature interface as input for more reliable access

  • When a feature action succeeds, IActivationFeature represents the current state of the feature, including recent changes from other activations

Improved Documentation

  • Enhanced exception information throughout the API

  • Extended the list of possible error responses from the server through the ApiErrorCodes static class

  • Added comprehensive documentation for common error scenarios

Download:

2.2.3

November 21, 2024

Improvements

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

2.2.2

November 18, 2024

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

November 8, 2024

Bug Fixes

2.2.0

November 6, 2024

Improvements

  • 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

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

Improvements

    • Device Fingerprint

    • Offline Activation

    • Secure Storage

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

Breaking Changes

  • FileActivationStorage has been renamed to PlainTextFileActivationStorage

1.4.6

Improvements

  • Added support for bool features usage tracking

1.4.5

Bug Fixes

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

1.4.4

Improvements

  • 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

Improvements

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

1.4.2

Improvements

  • Added support for a new Usage Count feature type

1.4.1

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

Download:

Download:

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 . 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.

Download:

Using Licensing

Download:

Download:

Added support for integration, including the following features:

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

Download:

Download:

Download:

Download:

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

Download:

Download:

Download:

Zentitle.Licensing.Client.3.0.0.zip
Zentitle.Licensing.Client.2.2.3.zip
Zentitle.Licensing.Client.2.2.2.zip
API version 2024-11-07
Zentitle.Licensing.Client.2.2.1.zip
API version 2024-11-07
Zentitle.Licensing.Client.2.2.0.zip
Zentitle.Licensing.Client.2.1.0
Zentitle2Core Library
Offline activation
Zentitle.Licensing.Client.2.0.0
Zentitle.Licensing.Client.1.4.6.zip
Zentitle.Licensing.Client.1.4.5.zip
Zentitle.Licensing.Client.1.4.4.zip
Configuring the Activation
Zentitle.Licensing.Client.1.4.3.zip
Zentitle.Licensing.Client.1.4.2.zip
Zentitle.Licensing.Client.1.4.1.zip