# What changed in @stryker-mutator/core

> 10 changes in @stryker-mutator/core 9 to 10 from its official release notes, upgrade guides and advisories: 1 breaking, 4 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@stryker-mutator/core/

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

## @stryker-mutator/core 10

### Breaking changes

- Node.js 20 is no longer supported; Node.js 22 or higher is required. (10.0.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#1000-2026-08-14)

### New APIs and options

- Adds the empty-expression mutator. (10.0.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#1000-2026-08-14)

### Behavior and default changes

- A partial incremental report is saved when the process exits unexpectedly. (10.0.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#1000-2026-08-14)

### Tooling

- Babel was updated to major version 8, which may affect projects using the Babel integration. (10.0.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#1000-2026-08-14)

## @stryker-mutator/core 9

### New APIs and options

- Concurrency configuration can now use percentages, such as "50%". (9.6.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#960-2026-02-27)
- Limits which tests are executing. (9.5.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#951-2026-02-02), [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#950-2026-01-30)
- The server supports a stdio transport channel. (9.3.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#930-2025-10-28)

### Tooling

- The init command ensures that @stryker-mutator/core is installed. (9.3.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#930-2025-10-28)

### Fixes and other changes

- The stryker init process should complete. (9.3.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#930-2025-10-28)
- During discovery, the server passes the config file path to prepareExecutor. (9.3.0) — [release notes](https://github.com/stryker-mutator/stryker-js/blob/cb3bd8fe25d5215422c9b632357062d3a43fcf92/packages/core/CHANGELOG.md#930-2025-10-28)
