QuantumLock™ Upgrade Guide
This guide covers breaking changes and migration steps between QuantumLock™ versions.
Upgrading to v1.x from v0.x
Breaking Changes
| Area | v0.x | v1.x |
|---|---|---|
| Signature algorithm | ECDSA (P-256) | ML-DSA-65 (FIPS 204) |
| License file format | JSON | Binary .lic (protobuf-signed) |
| SDK import | from qlicense import ... | from quantumlock import ... |
| Validation method | ql.check() | ql.validate() |
| Feature gating | Manual if checks | @requires_license decorator |
Migration Steps
1. Update the SDK
pip install --upgrade quantumlock-sdk>=1.0.0
2. Re-generate All Licenses
v0.x licenses (ECDSA-signed) are not compatible with v1.x. You must regenerate all customer licenses:
# Export customer list from old system
quantumlock-legacy export-customers > customers.json
# Bulk re-generate with new v1 format
quantumlock bulk-generate --input customers.json --format v1
3. Update Your Code
Before (v0.x):
from qlicense import License
lic = License("./my.lic")
if lic.check():
run_feature()
After (v1.x):
from quantumlock import QuantumLock, requires_license
ql = QuantumLock("./my.lic")
ql.validate()
@requires_license(ql, feature="my-feature")
def run_feature():
...
4. Update Environment Variables
# Old
QLICENSE_API_KEY=...
# New
QUANTUMLOCK_API_KEY=...
QUANTUMLOCK_API_URL=https://api.softquantus.com/v1
Upgrading SDK Patch Versions (1.x.y → 1.x.z)
Patch releases are backward compatible. Simply upgrade:
pip install --upgrade quantumlock-sdk
Changelog
See the full Changelog for a detailed history of all changes.