# What changed in @nestjs/event-emitter

> 10 changes in @nestjs/event-emitter 3 to 12 from its official release notes, upgrade guides and advisories: 2 breaking, 5 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/npm/@nestjs/event-emitter/

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

## @nestjs/event-emitter 12

### Breaking changes

- Imports from build internals are no longer resolvable; import from the package root instead. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)
- The minimum Node.js version is now 20.19.0; older runtimes cannot require the package from a CommonJS app. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)

### New APIs and options

- The package root exports the metadata key written by @OnEvent, allowing custom decorators to produce listener metadata the loader understands. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)
- The package root now re-exports EventEmitter2; ESM consumers should import it from this package rather than eventemitter2. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)
- This public interface is now exported from the package root instead of requiring a deep import. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)
- This public interface is now exported from the package root instead of requiring a deep import. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)
- This public interface is now exported from the package root instead of requiring a deep import. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)

### Behavior and default changes

- A plain CommonJS Nest app can continue to load the package with require() on supported Node.js runtimes. (12.0.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.0)

### Fixes and other changes

- Fixes EventEmitter2 being typed as any. (12.0.1) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/12.0.1)

## @nestjs/event-emitter 3

### Fixes and other changes

- Request-scoped listeners inherit the request context id. (3.1.0) — [release notes](https://github.com/nestjs/event-emitter/releases/tag/3.1.0)
