---
title: "handlebars Breaking Changes on npm | Since.dev"
description: "What each handlebars release removed, renamed or changed: 5 breaking changes in 1 version on npm, each with its source."
canonical_url: https://since.dev/packages/npm/handlebars
last_updated: 2026-10-05
---

# handlebars breaking changes

Every breaking API change we have recorded in handlebars on npm: 5 breaking changes in 1 version. Below are its newest version, removals and renames first, each with its source.

Newest change October 5, 2026

## 4.7.10

5 breaking changes, first published October 5, 2026.

- **Behavior changed**  

Special properties on context data are no longer trusted, so templates depending on them may behave differently. [github.com](https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10)
- **Behavior changed**  

Partials are compiled only when they are template strings, so other partial values are no longer compiled. [github.com](https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10)
- **Behavior changed**  

Precompiled template output escapes \`<!--\` and \`<script\` sequences, so precompiled output differs from earlier versions. [github.com](https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10)
- **Behavior changed**  

Validation of AST values moved from the parser to the compiler, so invalid input may be reported at a different stage. [github.com](https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10)
- **Behavior changed** `each`  

The #each block now iterates Map, Set and generators lazily like for...of instead of copying them into an array first. Values added while the block renders are also visited, so templates relying on the old snapshot may render differently. [github.com](https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.10)

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