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
LicenseStatusenum to include specific errors likeCONNECTION_ERROR,NO_FREE_LICENSES, and detailed validation errors (SKU,Email,Product Code). - Stability: Removed all
assertcalls that previously caused headaches in Windows Debug modes.
Evolution at a Glance
| Version | Key Highlight |
| 1.6.0 | Direct Offline Registration: Register dealer licenses and update user info (Name/Email) directly through the library. |
| 1.5.0 | Native Trial Support: Added registerTrial() and enhanced License Information structs. |
| 1.3.0 | Time Parameters: Start/End time tracking for subscriptions and trials. |
| 1.0.0 | License Upgrades: Integrated upgradeLicense() functionality. |
| 0.0.19 | Versioning: Added support for version-specific licensing. |
| 0.0.16 | Self-Deactivation: KeyzyLicenseActivator for client-side license management. |
| 0.0.14 | Enhanced 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!