← Back to Blog

The Evolution of Keyzy C++ Client Library: From 0.1 to 1.6.0

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

VersionHighlights
v0.0.14Stronger HostID generation, improved security
v0.1Basic license activation and validation
v1.0Stable release with cross-platform support
v1.3Apple Silicon support, VirtualBox crash fixes
v1.5.0Offline dealer distribution, user data updates
v1.6.0Native trial support, time & usage tracking

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!