# What changed in jasmine-core

> 65 changes in jasmine-core 5 to 7 from its official release notes, upgrade guides and advisories: 34 breaking, 7 deprecations, 12 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/jasmine-core/

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

## jasmine-core 7

### Breaking changes

- The boot API has been removed as part of the redesigned boot process. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- The core instance is now created automatically. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Firefox 102, 115, and 128 are no longer supported. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- The unused hideDisabled configuration option and its checkbox have been removed. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- HtmlReporter has been removed. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- HtmlSpecFilter has been removed. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- In Node, importing jasmine-core repeatedly returns the same instance. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- jasmineRequire is no longer exposed as part of the redesigned module system. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- jsApiReporter has been removed. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Monkey patching is blocked, except for globals and properties explicitly documented as writeable. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- The noGlobals API has been removed as part of the redesigned boot process. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Safari 16 and 17 are no longer supported. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- The default setting is now time. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)

### Deprecations

- forbidDuplicateNames is deprecated; the next major version will require unique spec and suite names unconditionally. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- The count setting is deprecated and will be removed in a future release. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)

### New APIs and options

- Browsers automatically create globals, while Node does not; in Node, call installGlobals to create them. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Call installGlobals in Node to create globals; the jasmine package does this by default. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- DOM NodeList instances can now be pretty-printed. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Use notApplicable for specs never expected to pass in the current environment or configuration; it differs from pending in intent and reporting. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Call reset to clear state and configuration between consecutive independent test runs. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)

### Behavior and default changes

- Specs disabled with xdescribe receive a pending reason indicating they were temporarily disabled. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)

### Fixes and other changes

- The reported version number is corrected; it was incorrect in 7.0.0. (7.0.1) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.1)
- Jasmine no longer calls hasOwnProperty on user-provided objects. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Node 26 was added to the supported environments. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- The HTML reporter now shows the correct mark for pending specs. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)
- Fixes excess skipping of timeouts and intervals when clearTimeout or clearInterval is called from a timer callback. (7.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v7.0.0)

## jasmine-core 6

### Breaking changes

- Specs disabled with xdescribe now have the pending reason “Temporarily disabled with xdescribe”. (6.3.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.3.0)
- Firefox 102, 115, and 128 are no longer supported or tested. (6.2.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.2.0)
- Safari 16 and 17 are no longer supported because Jasmine can no longer reliably test them. (6.1.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.1.0)
- boot1.js no longer adds jsApiReporter to the env. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The expected and actual properties have been removed from passed and failed expectations. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The default value of the forbidDuplicateNames config option is now true. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Global error spies always receive a single argument; the browser error event is no longer passed as a second argument. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- HTML reporters cache configuration throughout each run, so changes made while specs are running no longer affect reporter behavior. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- HTML reporters use a larger body font size. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The createElement option is ignored; HtmlReporter now unconditionally uses document.createElement. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The createTextNode option is ignored; HtmlReporter now unconditionally uses document.createTextNode. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Private APIs have been removed from the jasmine namespace; only documented APIs should be relied on. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Mock clock timing functions can no longer be spied on, which previously prevented the mock clock from uninstalling itself. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Node 18 is no longer supported; supported Node versions are 20, 22, and 24. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Reporter events are deep-cloned before being passed to each reporter, protecting reporters against later mutation by jasmine-core or other reporters. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The mock clock no longer supports the eval form of setInterval. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Keys must be strings, and values must be both structured-cloneable and JSON-serializable. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Keys must be strings, and values must be both structured-cloneable and JSON-serializable. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The mock clock no longer supports the eval form of setTimeout. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The argument passed to spec filters is a spec metadata instance rather than the internal spec object. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- A spy invoked via .call(null, ...) or .apply(null, ...) receives null as its this argument instead of globalThis. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)

### Deprecations

- Loading jasmine-core as an ES module in a browser now produces a warning because this configuration is untested and unsupported. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- HtmlReporter is deprecated in favor of HtmlReporterV2. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- HtmlSpecFilter is deprecated in favor of HtmlReporterV2. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- jsApiReporter is deprecated. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- Common monkey patching patterns are detected and produce a deprecation warning; overwriting jasmine-core-provided values may break in any release. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)

### New APIs and options

- Adds the toBeRejectedWithMatching async matcher. (6.2.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.2.0)
- A new HTML reporter provides exact spec and suite filtering, a progress bar, immediate failed-spec details, and a Performance tab. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The pretty printer is now statically exposed as jasmine.pp(). (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- The experimental value time may make Jasmine run significantly faster in Safari and similar browsers; it has not been tested on a wide variety of workloads. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)

### Behavior and default changes

- Jasmine reports the underlying errors that make up an AggregateError. (6.1.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.1.0)

### Fixes and other changes

- Calling jasmineRequire.core from an ES module no longer emits a deprecation warning. (6.0.1) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.1)
- An execution order passed to Env#execute must not enter any suite more than once. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)
- globalThis is used to determine the global object during initialization, making jasmine-core more tolerant of buggy bundlers or loaders that leave this undefined in the global context. (6.0.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v6.0.0)

## jasmine-core 5

### New APIs and options

- Adds a config option to fix reporter-event filename properties when configurations wrap describe, such as zone.js. (5.13.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v5.13.0)
- Adds a config option to fix reporter-event filename properties when configurations wrap it, such as zone.js. (5.13.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v5.13.0)
- Adds an asymmetric equality tester that merges multiple testers. (5.13.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v5.13.0)

### Fixes and other changes

- Reporter-event filename properties are no longer deprecated. (5.13.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v5.13.0)
- Safari 26 is supported on a best-effort basis; future support will focus on the latest Safari available on GitHub Actions and, while practical, Safari 16 and 17. (5.13.0) — [release notes](https://github.com/jasmine/jasmine/releases/tag/v5.13.0)
