Back to Jasmine

Jasmine Core 7.0.0 Release Notes

release_notes/7.0.0.md

7.0.13.4 KB
Original Source

Jasmine Core 7.0.0 Release Notes

Summary

This is a major release that includes breaking changes as well as new features. In addition to these release notes, you may find the upgrade guide helpful.

Changes to supported environments

  • Added Node 26.
  • Dropped Safari 16 and 17.
  • Dropped Firefox 102, 115, and 128 (old ESRs).

Breaking changes

  • A redesigned module system

    • Most private APIs are no longer exposed.
    • jasmineRequire is no longer exposed.
  • A redesigned boot process

    • boot and noGlobals have been removed.
    • The core instance is automatically created.
    • In browsers, globals are automatically created.
    • In Node, globals are not automatically created. Call the exported installGlobals function to create them. If you're using the jasmine package, this is done for you by default.
    • In Node, the same instance is returned every time jasmine-core is imported. If you need to do multiple consecutive independent test runs, call the exported reset function to reset all state and configuration between runs.
  • Monkey patching is blocked. This does not affect globals (describe, expect, etc.) or properties that are explicitly documented as writeable. Those can still be overwritten.

  • HtmlReporter, HtmlSpecFilter, and jsApiReporter, which were deprecated in 6.0, have been removed.

  • notApplicable function and corresponding spec result status †

    This is similar to pending except for the intent and how it's reported. notApplicable is meant for specs that are never expected to pass in the current environment/configuration/etc.

New features

  • Pretty-printing of DOM NodeList instances †
  • safariYieldStrategy: "time" is now the default.
  • Add "Temporarily disabled with xdescribe" pending reason to specs disabled with xdescribe

Bug fixes

  • Don't call hasOwnProperty on user provided objects †
  • Fix excess skipping of timeouts/intervals when clearTimeout or clearInterval is called from a timer callback †
  • Show correct mark for pending specs in HTML reporter †
  • Remove unused hideDisabled config option and checkbox

Deprecations

  • The forbidDuplicateNames config option is deprecated. The next major version will unconditionally require unique spec/suite names.
  • The safariYieldStrategy: "count" setting is deprecated and will be removed in a future release. Please open a bug report if removing it causes problems.

† New since 7.0.0-pre.2

This version has been tested in the following environments.

EnvironmentSupported versions
Node20**, 22, 24, 26
Safari26.5**
Chrome150*
Firefox140, 153*
Edge151*

* Evergreen browser. Each version of Jasmine is tested against the latest version available at release time.

** Supported on a best-effort basis. Support for these versions may be dropped if it becomes impractical, and bugs affecting only these versions may not be treated as release blockers.


_Release Notes generated with Anchorman