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

# js-yaml breaking changes

Every breaking API change we have recorded in js-yaml on npm: 67 breaking changes in 4 versions. Below are its newest 4 versions, removals and renames first, each with its source.

Newest change August 26, 2026

## 5.0.0

60 breaking changes, first published June 20, 2026.

- **Removed**  

Deep imports of internal files under lib/ no longer work; use the public exports instead. [github.com](https://github.com/nodeca/js-yaml/blob/5.0.0/CHANGELOG.md)
- **Removed** `DEFAULT_SCHEMA`  

DEFAULT_SCHEMA is no longer exported; use one of the remaining schemas such as CORE_SCHEMA. [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.CORE_SCHEMA`  

CORE_SCHEMA was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.dump`  

dump was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.DumpOptions`  

DumpOptions was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.FAILSAFE_SCHEMA`  

FAILSAFE_SCHEMA was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.JSON_SCHEMA`  

JSON_SCHEMA was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.load`  

load was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.loadAll`  

loadAll was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)
- **Removed** `default.LoadOptions`  

LoadOptions was removed in js-yaml 5.0.0 [npmjs.com](https://www.npmjs.com/package/js-yaml/v/5.0.0)

And 50 more in this version.

## 4.3.2

2 breaking changes, first published August 26, 2026.

- **Behavior changed**  

Merge sequences larger than 100 entries are now rejected. Documents that relied on bigger merge sequences must be split or reduced. [github.com](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- **Behavior changed** `maxTotalMergeKeys`  

Empty mappings inside merge sequences now count toward the maxTotalMergeKeys limit, so some documents that previously loaded may now be rejected. [github.com](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)

## 4.3.0

1 breaking change, first published June 26, 2026.

- **Removed** `maxMergeSeqLength`  

The maxMergeSeqLength loader option was removed and replaced by maxTotalMergeKeys, which limits the total number of keys processed by YAML merge per load call. Switch uses of maxMergeSeqLength to maxTotalMergeKeys. [github.com](https://github.com/nodeca/js-yaml/blob/4.3.0/CHANGELOG.md)

## 4.2.0

4 breaking changes, first published May 31, 2026.

- **Behavior changed**  

Documents with top-level block scalars lacking content indentation now fail to parse. Fix the input YAML to add the indentation. [github.com](https://github.com/nodeca/js-yaml/blob/4.2.0/CHANGELOG.md)
- **Behavior changed**  

YAML values containing underscores, such as 1_000, are no longer resolved as numbers. Code that relied on them being numeric must convert them explicitly. [github.com](https://github.com/nodeca/js-yaml/blob/4.2.0/CHANGELOG.md)
- **Behavior changed** `maxDepth`  

Loading YAML nested deeper than the default limit of 100 now throws a dedicated error. Raise maxDepth if deeper documents must load. [github.com](https://github.com/nodeca/js-yaml/blob/4.2.0/CHANGELOG.md)
- **Behavior changed** `maxMergeSeqLength`  

Merge sequences longer than the default limit of 20 are now rejected. Raise maxMergeSeqLength if longer merges must load. [github.com](https://github.com/nodeca/js-yaml/blob/4.2.0/CHANGELOG.md)

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