npm / jasmine-core
jasmine-core
What changed in jasmine-core 5 to 7, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
34 breaking7 deprecations12 new APIs and options2 behavior and defaults10 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initjasmine-core 726 changes
Breaking changes 13
The boot API has been removed as part of the redesigned boot process.
The core instance is now created automatically.
Firefox 102, 115, and 128 are no longer supported.
The unused hideDisabled configuration option and its checkbox have been removed.
HtmlReporter has been removed.
HtmlSpecFilter has been removed.
In Node, importing jasmine-core repeatedly returns the same instance.
jasmineRequire is no longer exposed as part of the redesigned module system.
jsApiReporter has been removed.
Monkey patching is blocked, except for globals and properties explicitly documented as writeable.
The noGlobals API has been removed as part of the redesigned boot process.
Safari 16 and 17 are no longer supported.
The default setting is now time.
Deprecations 2
forbidDuplicateNames is deprecated; the next major version will require unique spec and suite names unconditionally.
The count setting is deprecated and will be removed in a future release.
New APIs and options 5
Browsers automatically create globals, while Node does not; in Node, call installGlobals to create them.
Call installGlobals in Node to create globals; the jasmine package does this by default.
DOM NodeList instances can now be pretty-printed.
Use notApplicable for specs never expected to pass in the current environment or configuration; it differs from pending in intent and reporting.
Call reset to clear state and configuration between consecutive independent test runs.
Behavior and default changes 1
Specs disabled with xdescribe receive a pending reason indicating they were temporarily disabled.
Fixes and other changes 5
The reported version number is corrected; it was incorrect in 7.0.0.
Jasmine no longer calls hasOwnProperty on user-provided objects.
Node 26 was added to the supported environments.
The HTML reporter now shows the correct mark for pending specs.
Fixes excess skipping of timeouts and intervals when clearTimeout or clearInterval is called from a timer callback.
jasmine-core 634 changes
Breaking changes 21
Specs disabled with xdescribe now have the pending reason “Temporarily disabled with xdescribe”.
Firefox 102, 115, and 128 are no longer supported or tested.
Safari 16 and 17 are no longer supported because Jasmine can no longer reliably test them.
boot1.js no longer adds jsApiReporter to the env.
The expected and actual properties have been removed from passed and failed expectations.
The default value of the forbidDuplicateNames config option is now true.
Global error spies always receive a single argument; the browser error event is no longer passed as a second argument.
HTML reporters cache configuration throughout each run, so changes made while specs are running no longer affect reporter behavior.
HTML reporters use a larger body font size.
The createElement option is ignored; HtmlReporter now unconditionally uses document.createElement.
The createTextNode option is ignored; HtmlReporter now unconditionally uses document.createTextNode.
Private APIs have been removed from the jasmine namespace; only documented APIs should be relied on.
Mock clock timing functions can no longer be spied on, which previously prevented the mock clock from uninstalling itself.
Node 18 is no longer supported; supported Node versions are 20, 22, and 24.
Reporter events are deep-cloned before being passed to each reporter, protecting reporters against later mutation by jasmine-core or other reporters.
The mock clock no longer supports the eval form of setInterval.
Keys must be strings, and values must be both structured-cloneable and JSON-serializable.
Keys must be strings, and values must be both structured-cloneable and JSON-serializable.
The mock clock no longer supports the eval form of setTimeout.
The argument passed to spec filters is a spec metadata instance rather than the internal spec object.
A spy invoked via .call(null, ...) or .apply(null, ...) receives null as its this argument instead of globalThis.
Deprecations 5
Loading jasmine-core as an ES module in a browser now produces a warning because this configuration is untested and unsupported.
HtmlReporter is deprecated in favor of HtmlReporterV2.
HtmlSpecFilter is deprecated in favor of HtmlReporterV2.
jsApiReporter is deprecated.
Common monkey patching patterns are detected and produce a deprecation warning; overwriting jasmine-core-provided values may break in any release.
New APIs and options 4
Adds the toBeRejectedWithMatching async matcher.
A new HTML reporter provides exact spec and suite filtering, a progress bar, immediate failed-spec details, and a Performance tab.
The pretty printer is now statically exposed as jasmine.pp().
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.
Behavior and default changes 1
Jasmine reports the underlying errors that make up an AggregateError.
Fixes and other changes 3
Calling jasmineRequire.core from an ES module no longer emits a deprecation warning.
An execution order passed to Env#execute must not enter any suite more than once.
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.
jasmine-core 55 changes
New APIs and options 3
Adds a config option to fix reporter-event filename properties when configurations wrap describe, such as zone.js.
Adds a config option to fix reporter-event filename properties when configurations wrap it, such as zone.js.
Adds an asymmetric equality tester that merges multiple testers.
Fixes and other changes 2
Reporter-event filename properties are no longer deprecated.
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.