# @suaveplan/crypto-browser Changelog ## 0.0.0 — suaveplan initial - Initial implementation: WebCrypto-backed AEAD, sign, and agree engines - `webCryptoAeadEngine` — AES-256-GCM via `crypto.subtle` - `webCryptoSignEngine` / `webCryptoEd25519Engine` / `webCryptoEcdsaP256Engine` — Ed25519 and ECDSA-P256 - `webCryptoAgreeEngine` / `webCryptoX25519Engine` / `webCryptoEcdhP256Engine` — X25519 and ECDH-P256 - `rsa` namespace — RSA-PSS, RSA-OAEP, RSASSA-PKCS1-v1_5 - `aesKw` namespace — AES Key Wrap (RFC 3394) - `ecdsaP384` namespace — ECDSA with P-384 / SHA-384 - `ecdhP384` namespace — ECDH with P-384 - `nonExtractableKey()` — non-extractable CryptoKey generation - `isWebCryptoAvailable()` / `assertWebCryptoAvailable()` — runtime checks - `BrowserCryptoError` with codes: `NOT_AVAILABLE`, `KEY.GENERATION_FAILED`, `OPERATION.FAILED` - 100% coverage threshold (statements, branches, functions, lines)