Skip to main content

QuantumLock™ Upgrade Guide

This guide covers breaking changes and migration steps between QuantumLock™ versions.


Upgrading to v1.x from v0.x

Breaking Changes

Areav0.xv1.x
Signature algorithmECDSA (P-256)ML-DSA-65 (FIPS 204)
License file formatJSONBinary .lic (protobuf-signed)
SDK importfrom qlicense import ...from quantumlock import ...
Validation methodql.check()ql.validate()
Feature gatingManual 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.


Getting Help