|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [1.0.0] - 2026-02-27 |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +#### JWK (RFC 7517) |
| 13 | + |
| 14 | +- Symmetric, RSA, EC (P-256, P-384, P-521, secp256k1), EdDSA (Ed25519, Ed448), and XDH (X25519, X448) key types |
| 15 | +- Import/export: PEM, DER, JSON, and raw bytes |
| 16 | +- Key generation for all supported types |
| 17 | +- Key metadata: `kid`, `alg`, `use`, `key_ops` |
| 18 | +- Public key extraction and JWK Thumbprint (RFC 7638) |
| 19 | +- JWK Set with lenient and strict parsing modes |
| 20 | + |
| 21 | +#### JWS (RFC 7515) |
| 22 | + |
| 23 | +- HMAC (HS256, HS384, HS512) |
| 24 | +- RSA PKCS#1 v1.5 (RS256, RS384, RS512) and RSA-PSS (PS256, PS384, PS512) |
| 25 | +- ECDSA (ES256, ES384, ES512, ES256K) and EdDSA |
| 26 | +- Compact, JSON Flattened, and JSON General serialization |
| 27 | +- Detached and unencoded payloads (RFC 7797) |
| 28 | +- Algorithm-pinned verification with multi-key support |
| 29 | + |
| 30 | +#### JWE (RFC 7516) |
| 31 | + |
| 32 | +- Direct, AES Key Wrap, AES-GCM Key Wrap, RSA, ECDH-ES, and PBES2 key management |
| 33 | +- AES-GCM, AES-CBC-HMAC, ChaCha20-Poly1305, and XChaCha20-Poly1305 content encryption |
| 34 | +- Non-standard ChaCha20 key wrap variants (C20PKW, XC20PKW, ECDH-ES+C20PKW, ECDH-ES+XC20PKW) |
| 35 | +- Compact, JSON Flattened, and JSON General serialization |
| 36 | +- Additional Authenticated Data and unprotected header support |
| 37 | +- Algorithm-pinned decryption with multi-key and password-based support |
| 38 | + |
| 39 | +#### JWT (RFC 7519) |
| 40 | + |
| 41 | +- Registered claims (`iss`, `sub`, `aud`, `exp`, `nbf`, `iat`, `jti`) and custom claims |
| 42 | +- Configurable validation: expiration, not-before, issuer, audience, max token age, and custom `jti` validator |
| 43 | +- Structured `JwtError` variants for actionable error handling |
| 44 | + |
| 45 | +#### Encrypted JWT and JWK |
| 46 | + |
| 47 | +- Encrypt/decrypt JWTs using any supported JWE algorithm |
| 48 | +- Key-based and password-based (PBES2) JWT encryption |
| 49 | +- Encrypted JWK storage with key-based and password-based protection |
| 50 | + |
| 51 | +[1.0.0]: https://github.com/jtdowney/gose/releases/tag/v1.0.0 |
0 commit comments