Fixes
- jose: consume serialization members once (9bee285)
- jose: reject empty protected and JWE AAD members (8da4145)
- jose: validate serialized header values (b711d8f)
- jwe: conceal invalid decrypted CEK lengths (41fafe0)
- jwe: enforce AES-GCM tag boundaries (9a5b744)
- jwe: validate explicit encryption parameters (7a02697)
- jwk: accept empty octet-sequence keys (3f871e7)
- jwk: normalize key resolution inputs (f54ee7b)
- jwks: enforce verification key metadata (f9ba510)
- jwks: order overlapping remote reloads (9a1a913)
- jwks: reject invalid remote duration values (7bdb9e5)
- jwk: validate ext and key_ops parameters (4d91c37)
- jws: reject mixed payload encoding modes (dc69713)
- jws: validate unencoded payload strings (541f282)
- jwt: enforce explicit verification policies (b347182)
- jwt: prevent replacing protected headers (ae07d09)
- jwt: reject invalid duration inputs (282f9aa)
- jwt: validate builder claim values (ea03f83)
- jwt: validate unsecured protected headers (230c14e)
- key: validate generation and import options (15d880e)
- reject mixed b64 modes for empty General JWS payloads (61a2ef7)
- x509: reject DER truncated past its outer length (d8db9f6)
Documentation
- jwks: correct cache timestamp units (01a44d9)
Refactor
- jose: share binary input validation (eedb124)
- jose: share compact token processing internals (85e30ed)
- jwe: consolidate CBC decryption failures (1ee6f61)
- jwe: specialize compact processing (a998927)
- jwe: streamline single-recipient encryption (290aaa6)
- jwks: compact JWK Set shape validation (930c7df), references Array#every
- jwks: compact local key selection (4cb5ae5)
- jwks: compact remote resolver state (ef5eaf4)
- jws: specialize compact processing (021abf4)
- jwt: compact claim validation helpers (f390683)
- jwt: consolidate replicated claim checks (7dd5591)
- jwt: share producer claim state (52ba159)
- key: compact JWK algorithm selection (a6b29da)
- key: compact secret length parsing (cc03be8)