101 lines
4.5 KiB
Markdown
101 lines
4.5 KiB
Markdown
# Jasmine Core 6.0.0-alpha.0 Release Notes
|
|
|
|
This is a pre-release, intended to offer a preview of breaking changes and to
|
|
solicit feedback.
|
|
|
|
## A Note About Pre-Release Compatibility
|
|
|
|
There may be additional breaking changes in future 6.0 pre-releases or in the
|
|
final 6.0 release. That's allowed by the semver specification, but users are
|
|
sometimes unpleasantly surprised by it.
|
|
|
|
NPM's implementation of carat version ranges assumes that subsequent
|
|
pre-releases and final releases are fully compatible with earlier pre-releases.
|
|
If your package.json contains `"jasmine-core": "^6.0.0-alpha.0`,
|
|
NPM might install any later 6.x version even though there is no guarantee of
|
|
compatibility. If that isn't ok, you should specify an exact pre-release version:
|
|
`"jasmine-core": "6.0.0-alpha.0`.
|
|
|
|
## Changes to supported environments
|
|
|
|
* Node 18 is no longer supported.
|
|
|
|
## Breaking changes
|
|
|
|
### General
|
|
|
|
* Private APIs have been removed from the `jasmine` namespace.
|
|
|
|
The purpose of this change is to reduce the risk of users inadvertently
|
|
depending on private APIs. Anything that's not covered by
|
|
[the documentation](https://jasmine.github.io/pages/docs_home.html) remains
|
|
private regardless of namespacing. Private APIs may be changed or removed in
|
|
any release. This change is being made in a major release as a courtesy to users of
|
|
libraries that depend on private APIs.
|
|
|
|
* Arguments to `setSpecProperty`/`setSuiteProperty` must be both
|
|
structured-cloneable and JSON-serializable.
|
|
* Mock clock timing functions cannot be spied on. Previously this "worked" but
|
|
prevented the mock clock from uninstalling itself.
|
|
* The default value of the `forbidDuplicateNames` config option has been
|
|
changed to true.
|
|
* The mock clock no longer supports the eval forms of `setTimeout` and
|
|
`setInterval`.
|
|
* If an execution order is passed to `Env#execute`, it must not enter any suite
|
|
more than once.
|
|
* The argument passed to spec filters is a
|
|
[spec metadata](https://jasmine.github.io/api/6.0.0-alpha.0/Spec.html)
|
|
instance, not the internal spec object.
|
|
|
|
### Changes that affect reporters
|
|
|
|
This release includes changes that are intended to streamline and clarify the
|
|
reporter interface, prevent sharing of mutable state, and prevent bugs involving
|
|
non-serializable objects. These changes should be compatible with most existing
|
|
reporters but could break reporters that manage their internal state in unusual
|
|
ways. Please [open an issue](https://github.com/jasmine/jasmine/issues/new?template=bug_report.yml)
|
|
if you find a published reporter package that works with jasmine-core 5.x but
|
|
not with this release.
|
|
|
|
* Irrelevant properties such as `status` and `failedExpectations` are omitted
|
|
from [the event passed to specStarted](https://jasmine.github.io/api/6.0.0-alpha.0/global.html#SpecStartedEvent).
|
|
* Reporter events are deep-cloned before being passed to each reporter. This
|
|
protects reporters against later mutation by jasmine-core or other reporters.
|
|
* The `expected` and `actual` properties of
|
|
[passed and failed expectations](https://jasmine.github.io/api/6.0.0-alpha.0/global.html#ExpectationResult)
|
|
have been removed.
|
|
* The [order](https://jasmine.github.io/api/6.0.0-alpha.0/global.html#Order)
|
|
property of the`jasmineStarted` and `jasmineDone` reporter events no longer
|
|
includes undocumented properties.
|
|
|
|
### Changes to Node boot functions
|
|
|
|
* [boot](https://jasmine.github.io/api/6.0.0-alpha.0/module-jasmine-core.html#.boot)
|
|
defaults to creating a new core instance each time it's called. This restores
|
|
the pre-5.0 default behavior.
|
|
* [noGlobals](https://jasmine.github.io/api/6.0.0-alpha.0/module-jasmine-core.html#.noGlobals)
|
|
no longer takes a parameter. It always returns the same object when called
|
|
repeatedly.
|
|
|
|
## Supported environments
|
|
|
|
This version has been tested in the following environments.
|
|
|
|
| Environment | Supported versions |
|
|
|-------------------|--------------------------------|
|
|
| Node | 20, 22, 24 |
|
|
| Safari | 16**, 17** |
|
|
| Chrome | 140* |
|
|
| Firefox | 102**, 115**, 128**, 140, 143* |
|
|
| Edge | 140* |
|
|
|
|
\* Evergreen browser. Each version of Jasmine is tested against the latest
|
|
version available at release time.<br>
|
|
\** 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](http://github.com/infews/anchorman)_
|