Introduction

Since we first launched the Keyzy C++ Client Library, our goal has been to provide developers with a robust, secure, and easy-to-integrate licensing solution. A lot has changed since those early versions.

Today, we are thrilled to walk you through the evolution of the library—from its initial stages to the feature-rich v1.6.0. Whether you are managing simple perpetual licenses or complex offline subscriptions, the Keyzy SDK has grown to meet every challenge.


Major Milestones & Key Features

1. Advanced License Management (v1.5.0 & v1.6.0)

The latest updates have transformed how developers handle license distribution.

  • Offline (Dealer) Distributed Licenses: With the introduction of the LicenseDepositHandler, we have removed the friction of offline registration. Previously, these licenses often required a web portal for registering. Now, offline licenses can be registered directly within your application via the Client Library.
    • User Data Updates: This new flow allows the client-side to update a license’s information such as Name and Email during the registration process.
  • Native Trial Support: You can now allow users to request trial licenses directly from the client side using the registerTrial() function, streamlining the “try-before-you-buy” experience.

2. Deep Insights: Time & Usage Tracking

Managing subscriptions and trials is now more transparent for the end-user. New functions in the KeyzyLicenseValidator class allow you to query:

  • getDaysLeft() & getDaysTotal(): Perfect for showing “X days remaining” countdowns.
  • getStartTime() & getEndTime(): Full visibility into the license lifecycle.
  • getLicenseTypeEnum(): Easily programmatically determine if a license is Trial, Subscription, or Perpetual.

3. Cross-Platform & Architecture Expansion

Keyzy has expanded its footprint to ensure your software runs everywhere:

  • Apple Silicon: Fully optimized for the latest Mac hardware environments.
  • Virtual Machine Stability: Fixed critical crashes related to specific VirtualBox images, ensuring a smooth experience for enterprise users.
  • Visual Studio 2019+ Support: Added dedicated static libraries for modern Windows development.

4. Enhanced Security & Reliability

Security is a moving target, and we’ve kept pace:

  • Stronger HostID Generation: In version 0.0.14, we overhauled how hardware IDs are generated, making them longer, more secure, and harder to spoof.
  • Robust Error Handling: We’ve expanded the LicenseStatus enum to include specific errors like CONNECTION_ERROR, NO_FREE_LICENSES, and detailed validation errors (SKU, Email, Product Code).
  • Stability: Removed all assert calls that previously caused headaches in Windows Debug modes.

Evolution at a Glance

VersionKey Highlight
1.6.0Direct Offline Registration: Register dealer licenses and update user info (Name/Email) directly through the library.
1.5.0Native Trial Support: Added registerTrial() and enhanced License Information structs.
1.3.0Time Parameters: Start/End time tracking for subscriptions and trials.
1.0.0License Upgrades: Integrated upgradeLicense() functionality.
0.0.19Versioning: Added support for version-specific licensing.
0.0.16Self-Deactivation: KeyzyLicenseActivator for client-side license management.
0.0.14Enhanced Security: Major update to HostID generation for better hardware locking.

Conclusion

The journey from v0.1 to v1.6.0 has been driven by one thing: your feedback. The Keyzy C++ Client Library is now faster, more secure, and more flexible than ever before.

If you are still using an older version, we highly recommend upgrading to v1.6.0 to take advantage of the new trial features and improved offline capabilities.

Ready to upgrade?

Check out the latest documentation and sample codes to get started with the new features today!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.