unstale

npm / xmldsigjs

xmldsigjs

What changed in xmldsigjs 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-09.

8 breaking2 new APIs and options1 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.11 on npm

xmldsigjs 311 changes

Breaking changes 8

  • asn1js ^4.0.0 is a peer dependency; apps pinned to asn1js 3 must upgrade, since asn1js 3 objects fail instanceof checks.

    3.0.0release notes

  • Invalid Base64 text now throws TypeError instead of DOMException InvalidCharacterError.

    3.0.0release notes

  • Odd-length or non-hex input now throws TypeError; the decoder ignores specified separators instead of silently producing incorrect bytes.

    3.0.0release notes

  • xmldsigjs is ESM-only and requires Node.js ^20.19.0 or >=22.12.0; Node.js 22.0–22.11 cannot require it.

    3.0.0release notes

  • Build outputs move to build/index.js, build/index.mjs, and build/index.d.ts; deep imports into build/ must be updated because exports blocks them.

    3.0.0release notes

  • pkijs ^4.0.0 is a peer dependency; apps pinned to pkijs 3 must upgrade.

    3.0.0release notes

  • Invalid UTF-8 and lone surrogates are replaced with U+FFFD instead of throwing URIError.

    3.0.0release notes

  • TypeScript projects compiling to CommonJS need module set to node20 or nodenext; node16 fails with TS1479.

    3.0.0release notes

New APIs and options 2

  • Adds a canonicalization sign option for XML signatures.

    3.1.0release notes

  • Adds the signedPropertiesReference sign option for XAdES.

    3.1.0release notes

Fixes and other changes 1

  • References can now be resolved using xml:id attributes.

    3.1.0release notes