Skip to content

Fixes, Improvements, and ML-DSA support - #943

Merged
jcmartinezdev merged 12 commits into
jsonwebtoken:masterfrom
panva:fixes-improvements
Jul 31, 2026
Merged

Fixes, Improvements, and ML-DSA support#943
jcmartinezdev merged 12 commits into
jsonwebtoken:masterfrom
panva:fixes-improvements

Conversation

@panva

@panva panva commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Fixes

  • Restores fragment-based decoder links.
  • Supports #token, #id_token, #access_token, #value, and legacy #debugger-io?token links.
  • Loads fragment-provided PEM or JWK public keys together with the JWT and verifies immediately.
  • Prevents issuer/JWKS discovery from replacing an explicitly linked key.
  • Preserves invalid linked keys so their validation errors remain visible.
  • Keeps URL handling fragment-only; query-string token links are not restored.
  • Include all library filter options.

Improvements

  • Changing the public/private key format now converts the current key between PEM and JWK.
  • Failed conversions retain the previous key and selected format.
  • Public JWK input is automatically pretty-printed and JSON syntax-highlighted.
  • Replaces the deprecated EdDSA dropdown option with Ed25519, while continuing to validate pasted legacy EdDSA tokens.
  • Removes unnecessary browser detection for P-521 and Ed25519.
  • Removes unsupported Ed448 from the debugger.
  • Updates the JOSE implementation to 6.2.5.

New features

  • Adds debugger signing and verification support for:
    • ML-DSA-44
    • ML-DSA-65
    • ML-DSA-87
  • Adds ML-DSA support indicators to library comparison cards.
  • Enables Chrome's Additional WebCrypto Algorithms origin trial on jwt.io to get support for ML-DSA up early.

Fixes: #880
Fixes: #942

@panva
panva force-pushed the fixes-improvements branch from 06b8987 to 31b1de9 Compare July 30, 2026 16:28
panva added 11 commits July 31, 2026 13:05
Fixes: jsonwebtoken#880
Fixes: jsonwebtoken#942
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
@panva
panva force-pushed the fixes-improvements branch from 31b1de9 to 7cc962b Compare July 31, 2026 11:11
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
@jcmartinezdev
jcmartinezdev merged commit b0bbdfd into jsonwebtoken:master Jul 31, 2026
1 of 2 checks passed
@panva
panva deleted the fixes-improvements branch July 31, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Links with a public key in them no longer validate the JWS against the provided key How to specify public key in URL?

2 participants