Skip to content

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

Open
panva wants to merge 11 commits into
jsonwebtoken:masterfrom
panva:fixes-improvements
Open

Fixes, Improvements, and ML-DSA support#943
panva wants to merge 11 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.

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 added 11 commits July 30, 2026 17:41
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 06b8987 to 31b1de9 Compare July 30, 2026 16:28
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?

1 participant