@xmldom/xmldom breaking changes
Every breaking API change we have recorded in @xmldom/xmldom on npm: 7 breaking changes in 4 versions. Below are its newest 4 versions, removals and renames first, each with its source.
Newest change August 21, 2026

On this page
0.8.15
- Behavior changed
Document.createEntityReference
Document.createEntityReference throws when given a name that is not a valid XML Name. Code passing invalid names will now fail at creation. github.com - Behavior changed
DOMParser.parseFromString
A not-well-formed end tag followed by trailing content is now reported through errorHandler as an error instead of being silently accepted. Code that treats errors as fatal may now reject such input. github.com - Behavior changed
XMLSerializer.serializeToString
Under requireWellFormed, serializeToString throws InvalidStateError for a DocType name that is not a valid XML Name. Code that serialized such documents before will now throw. github.com
0.8.14
- Behavior changed
XMLSerializer.serializeToString
With { requireWellFormed: true }, serializeToString() now throws InvalidStateError for element or attribute names that are not valid XML QNames, including invalid namespace prefixes. Code that serialized such names must fix the names or... github.com
0.8.13
- Signature changed
"@xmldom/xmldom".XMLSerializer.serializeToString
Was serializeToString(node: Node): string; now serializeToString(node: Node, isHtml?: boolean, nodeFilter?: (node: Node) => Node | null | undefined, options?: XMLSerializerOptions): string. npmjs.com
0.8.12
- Behavior changed
createCDATASection
Passing data containing "]]>" to createCDATASection now throws InvalidCharacterError instead of creating the node. Use a mutation method such as appendData if you intentionally need "]]>" in a CDATASection node's data. github.com - Behavior changed
XMLSerializer
XMLSerializer now splits CDATASection nodes whose data contains "]]>" into adjacent CDATA sections when serializing, so the output differs from before for such nodes. github.com
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp