SaQura JS / TS · Upgrade notes

Versions & compatibility — SaQura JS / TS

Before you update

Current version: 0.1.0 · npm · saqura (npm) · to the documentation

  • 0.1.0 is the first and currently only version. All produced data (Gen8, signatures, SQS1 streams) is byte-identical to the .NET, Kotlin, Swift and Python SDKs.
  • License validation verifies a .lic file signed by the license server against the built-in public key and sets tier and features. There is no app binding in the browser; the client-side tier check is advisory, enforcement happens server-side (Crypto API or your own service).
  • The post-quantum engine (liboqs 0.15 as WebAssembly) sits as its own file next to the bundle. Your bundler must ship the .wasm file along.

The tables under each version answer the same five questions in the same order. “Drop-in update: yes” means: our cross-platform test corpus has shown that the new version reads the data of the previous one and no call needs to change.

Optional modules

  • No optional module; the WebAssembly engine is part of the package. ChaCha20-Poly1305 in the SQS1 stream uses the built-in cryptography in Node and a bundled fallback implementation in the browser.
  • Not included in 0.1: standalone AES and RSA, PBKDF2, ChaCha20 outside the stream, and the deprecated generations 1 and 3.

Licenses & app binding

  • The same .lic file as with every SaQura SDK. Binding fields are not evaluated; a bound license is not intended for browser applications.

0.1.0 · 2026-06-08

First release

  • Engine: liboqs 0.15 as WebAssembly (ML-KEM, ML-DSA, SLH-DSA, FrodoKEM, Classic McEliece). Gen8 hybrid (X25519 with ML-KEM) at Standard / Medium / Highest; conservative BSI profile with Gen4, Gen6 (FrodoKEM), Gen7 (RSA-4096 with FrodoKEM) and Gen2, Gen5 (Classic McEliece).
  • Signatures ML-DSA and SLH-DSA; AES-256-GCM; SQS1 streaming in both suites (AES-256-GCM, ChaCha20-Poly1305) as a buffer API and as Web Streams (createStreamEncryptor / createStreamDecryptor) at constant memory.
  • License validation ApiLicense.activate() / validateLicense() against the built-in public key; free-tier marking verifiable across platforms. Bundles as ESM and CommonJS with TypeScript types; Node 18 or newer, in the browser Web Crypto and WebAssembly.
CompatibilityStatusNote
Data formats (keys, ciphertexts, streams)baselineBaseline; byte-identical to the other SDKs.
License files (bound / unbound)baselineSigned .lic file; no binding fields.
Native libraries / ABIbaselineWebAssembly engine as its own file next to the bundle.
R8 / keep rules, trimming / linkerbaseline
Minimum platformbaselineNode 18; browsers with Web Crypto and WebAssembly
Drop-in update?YesFirst version.