---
title: "@xmldom/xmldom Breaking Changes on npm | Since.dev"
description: "What each @xmldom/xmldom release removed, renamed or changed: 7 breaking changes in 4 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/@xmldom/xmldom
last_updated: 2026-08-21
---

# @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

## 0.8.15

3 breaking changes, first published August 21, 2026.

- **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](https://github.com/xmldom/xmldom/releases/tag/0.8.15)
- **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](https://github.com/xmldom/xmldom/releases/tag/0.8.15)
- **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](https://github.com/xmldom/xmldom/releases/tag/0.8.15)

## 0.8.14

1 breaking change, first published August 12, 2026.

- **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](https://github.com/xmldom/xmldom/releases/tag/0.8.14)

## 0.8.13

1 breaking change, first published April 18, 2026.

- **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](https://www.npmjs.com/package/@xmldom/xmldom/v/0.8.13)

## 0.8.12

2 breaking changes, first published March 29, 2026.

- **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](https://github.com/xmldom/xmldom/releases/tag/0.8.12)
- **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](https://github.com/xmldom/xmldom/releases/tag/0.8.12)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#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.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
