# What changed in ember-modifier

> 19 changes in ember-modifier 2 to 4 from its official release notes, upgrade guides and advisories: 9 breaking, 1 deprecations. Each one cited. Sources checked 2026-11-01. HTML: https://unstale.sh/npm/ember-modifier/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## ember-modifier 4

### Breaking changes

- The constructor signature for class-based modifiers was updated. (4.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v4.0.0)
- Support for Node 12 was dropped. (4.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v4.0.0)
- Type parameters were cleaned up, changing the TypeScript-facing API. (4.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v4.0.0)
- The deprecated willRemove hook was removed. (4.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v4.0.0)

### Behavior and default changes

- Unstable packages are now automatically published to NPM. (4.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v4.0.0)

### Tooling

- The addon was converted to a v2 addon, changing its addon format. (4.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v4.0.0)

### Fixes and other changes

- The blueprints folder is included in the published tarball. (4.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v4.0.0)

## ember-modifier 3

### Breaking changes

- Support for Ember versions below 3.24 was dropped. (3.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v3.0.0)
- Support for Node versions below 12 was dropped. (3.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v3.0.0)
- Support for TypeScript versions below 4.2 was dropped. (3.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v3.0.0)

### Tooling

- The modifier blueprint now uses positional and named as argument names. (3.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v3.0.0)

### Fixes and other changes

- Ember 4.x compatibility was added. (3.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v3.0.0)
- Type strictness was fixed. (3.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v3.0.0)

## ember-modifier 2

### Breaking changes

- Blueprints no longer support module unification. (2.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v2.0.0)
- Node 8 and 9 are no longer supported. (2.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v2.0.0)

### Deprecations

- The willRemove hook is deprecated for class based modifiers. (2.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v2.0.0)

### Behavior and default changes

- Destruction now uses @ember/destroyable. (2.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v2.0.0)

### Tooling

- Blueprints use ember-cli-htmlbars for inline precompilation. (2.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v2.0.0)
- TypeScript was upgraded to 3.9 and type stability was implemented according to the RFC. (2.0.0) — [release notes](https://github.com/ember-modifier/ember-modifier/releases/tag/v2.0.0)
