renovate/test/_fixtures/changelog-md/jest.md
Rhys Arkins f6e2627774
feat: parse CHANGELOG.md in source repositories (#1491)
Parses `CHANGELOG.md` for first or second-level markdown headings matching versions. Supports GitHub-only source repositories for now.

Closes #1470
2018-02-06 18:53:36 +01:00

1523 lines
72 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## master
### Features
* `[jest-util]` Add deletion to `process.env` as well
([#5466](https://github.com/facebook/jest/pull/5466))
* `[jest-util]` Add case-insensitive getters/setters to `process.env`
([#5465](https://github.com/facebook/jest/pull/5465))
* `[jest-mock]` Add util methods to create async functions.
([#5318](https://github.com/facebook/jest/pull/5318))
### Fixes
* `[jest-cli]` Add trailing slash when checking root folder
([#5464](https://github.com/facebook/jest/pull/5464))
* `[jest-cli]` Hide interactive mode if there are no failed snapshot tests
([#5450](https://github.com/facebook/jest/pull/5450))
* `[babel-jest]` Remove retainLines from babel-jest
([#5326](https://github.com/facebook/jest/pull/5439))
* `[jest-cli]` Glob patterns ignore non-`require`-able files (e.g. `README.md`)
([#5199](https://github.com/facebook/jest/issues/5199))
* `[jest-mock]` Add backticks support (\`\`) to `mock` a certain package via the
`__mocks__` folder. ([#5426](https://github.com/facebook/jest/pull/5426))
* `[jest-message-util]` Prevent an `ENOENT` crash when the test file contained a
malformed source-map. ([#5405](https://github.com/facebook/jest/pull/5405)).
* `[jest]` Add `import-local` to `jest` package.
([#5353](https://github.com/facebook/jest/pull/5353))
* `[expect]` Support class instances in `.toHaveProperty()` matcher.
([#5367](https://github.com/facebook/jest/pull/5367))
* `[jest-cli]` Fix npm update command for snapshot summary.
([#5376](https://github.com/facebook/jest/pull/5376),
[5389](https://github.com/facebook/jest/pull/5389/))
* `[expect]` Make `rejects` and `resolves` synchronously validate its argument.
([#5364](https://github.com/facebook/jest/pull/5364))
* `[docs]` Add tutorial page for ES6 class mocks.
([#5383](https://github.com/facebook/jest/pull/5383))
* `[jest-resolve]` Search required modules in node_modules and then in custom
paths. ([#5403](https://github.com/facebook/jest/pull/5403))
* `[jest-resolve]` Get builtin modules from node core.
([#5411](https://github.com/facebook/jest/pull/5411))
* `[jest-resolve]` Detect and preserve absolute paths in `moduleDirectories`. Do
not generate additional (invalid) paths by prepending each ancestor of `cwd`
to the absolute path. Additionally, this fixes functionality in Windows OS.
([#5398](https://github.com/facebook/jest/pull/5398))
### Chore & Maintenance
* `[jest-util]` Implement watch plugins
([#5399](https://github.com/facebook/jest/pull/5399))
## jest 22.1.4
### Fixes
* `[jest-util]` Add "debug" method to "console" implementations
([#5350](https://github.com/facebook/jest/pull/5350))
* `[jest-resolve]` Add condition to avoid infinite loop when node module package
main is ".". ([#5344)](https://github.com/facebook/jest/pull/5344)
### Features
* `[jest-cli]` `--changedSince`: allow selectively running tests for code
changed since arbitrary revisions.
([#5312](https://github.com/facebook/jest/pull/5312))
## jest 22.1.3
### Fixes
* `[jest-cli]` Check if the file belongs to the checked project before adding it
to the list, also checking that the file name is not explicitly blacklisted
([#5341](https://github.com/facebook/jest/pull/5341))
* `[jest-editor-support]` Add option to spawn command in shell
([#5340](https://github.com/facebook/jest/pull/5340))
## jest 22.1.2
### Fixes
* `[jest-cli]` Check if the file belongs to the checked project before adding it
to the list ([#5335](https://github.com/facebook/jest/pull/5335))
* `[jest-cli]` Fix `EISDIR` when a directory is passed as an argument to `jest`.
([#5317](https://github.com/facebook/jest/pull/5317))
* `[jest-config]` Added restoreMocks config option.
([#5327](https://github.com/facebook/jest/pull/5327))
## jest 22.1.1
### Fixes
* `[*]` Move from "process.exit" to "exit.
([#5313](https://github.com/facebook/jest/pull/5313))
## jest 22.1.0
### Features
* `[jest-cli]` Make Jest exit without an error when no tests are found in the
case of `--lastCommit`, `--findRelatedTests`, or `--onlyChanged` options
having been passed to the CLI
### Fixes
* `[jest-cli]` Use `import-local` to support global Jest installations.
([#5304](https://github.com/facebook/jest/pull/5304))
* `[jest-runner]` Fix memory leak in coverage reporting
([#5289](https://github.com/facebook/jest/pull/5289))
* `[docs]` Update mention of the minimal version of node supported
([#4947](https://github.com/facebook/jest/issues/4947))
* `[jest-cli]` Fix missing newline in console message
([#5308](https://github.com/facebook/jest/pull/5308))
* `[jest-cli]` `--lastCommit` and `--changedFilesWithAncestor` now take effect
even when `--onlyChanged` is not specified.
([#5307](https://github.com/facebook/jest/pull/5307))
### Chore & Maintenance
* `[filenames]` Standardize folder names under `integration-tests/`
([#5298](https://github.com/facebook/jest/pull/5298))
## jest 22.0.6
### Fixes
* `[jest-jasmine2]` Fix memory leak in snapshot reporting
([#5279](https://github.com/facebook/jest/pull/5279))
* `[jest-config]` Fix breaking change in `--testPathPattern`
([#5269](https://github.com/facebook/jest/pull/5269))
### Fixes
* `[docs]` Document caveat with mocks, Enzyme, snapshots and React 16
([#5258](https://github.com/facebook/jest/issues/5258))
## jest 22.0.5
### Fixes
* `[jest-leak-detector]` Removed the reference to `weak`. Now, parent projects
must install it by hand for the module to work.
* `[expect]` Fail test when the types of `stringContaining` and `stringMatching`
matchers do not match. ([#5069](https://github.com/facebook/jest/pull/5069))
* `[jest-cli]` Treat dumb terminals as noninteractive
([#5237](https://github.com/facebook/jest/pull/5237))
* `[jest-cli]` `jest --onlyChanged --changedFilesWithAncestor` now also works
with git. ([#5189](https://github.com/facebook/jest/pull/5189))
* `[jest-config]` fix unexpected condition to avoid infinite recursion in
Windows platform. ([#5161](https://github.com/facebook/jest/pull/5161))
* `[jest-config]` Escape parentheses and other glob characters in `rootDir`
before interpolating with `testMatch`.
([#4838](https://github.com/facebook/jest/issues/4838))
* `[jest-regex-util]` Fix breaking change in `--testPathPattern`
([#5230](https://github.com/facebook/jest/pull/5230))
* `[expect]` Do not override `Error` stack (with `Error.captureStackTrace`) for
custom matchers. ([#5162](https://github.com/facebook/jest/pull/5162))
* `[pretty-format]` Pretty format for DOMStringMap and NamedNodeMap
([#5233](https://github.com/facebook/jest/pull/5233))
* `[jest-cli]` Use a better console-clearing string on Windows
([#5251](https://github.com/facebook/jest/pull/5251))
### Features
* `[jest-jasmine]` Allowed classes and functions as `describe` names.
([#5154](https://github.com/facebook/jest/pull/5154))
* `[jest-jasmine2]` Support generator functions as specs.
([#5166](https://github.com/facebook/jest/pull/5166))
* `[jest-jasmine2]` Allow `spyOn` with getters and setters.
([#5107](https://github.com/facebook/jest/pull/5107))
* `[jest-config]` Allow configuration objects inside `projects` array
([#5176](https://github.com/facebook/jest/pull/5176))
* `[expect]` Add support to `.toHaveProperty` matcher to accept the keyPath
argument as an array of properties/indices.
([#5220](https://github.com/facebook/jest/pull/5220))
* `[docs]` Add documentation for .toHaveProperty matcher to accept the keyPath
argument as an array of properties/indices.
([#5220](https://github.com/facebook/jest/pull/5220))
* `[jest-runner]` test environments are now passed a new `options` parameter.
Currently this only has the `console` which is the test console that Jest will
expose to tests. ([#5223](https://github.com/facebook/jest/issues/5223))
* `[jest-environment-jsdom]` pass the `options.console` to a custom instance of
`virtualConsole` so jsdom is using the same console as the test.
([#5223](https://github.com/facebook/jest/issues/5223))
### Chore & Maintenance
* `[docs]` Describe the order of execution of describe and test blocks.
([#5217](https://github.com/facebook/jest/pull/5217),
[#5238](https://github.com/facebook/jest/pull/5238))
* `[docs]` Add a note on `moduleNameMapper` ordering.
([#5249](https://github.com/facebook/jest/pull/5249))
## jest 22.0.4
### Fixes
* `[jest-cli]` New line before quitting watch mode.
([#5158](https://github.com/facebook/jest/pull/5158))
### Features
* `[babel-jest]` moduleFileExtensions not passed to babel transformer.
([#5110](https://github.com/facebook/jest/pull/5110))
### Chore & Maintenance
* `[*]` Tweaks to better support Node 4
([#5142](https://github.com/facebook/jest/pull/5142))
## jest 22.0.2 && 22.0.3
### Chore & Maintenance
* `[*]` Tweaks to better support Node 4
([#5134](https://github.com/facebook/jest/pull/5134))
## jest 22.0.1
### Fixes
* `[jest-runtime]` fix error for test files providing coverage.
([#5117](https://github.com/facebook/jest/pull/5117))
### Features
* `[jest-config]` Add `forceCoverageMatch` to allow collecting coverage from
ignored files. ([#5081](https://github.com/facebook/jest/pull/5081))
## jest 22.0.0
### Fixes
* `[jest-resolve]` Use `module.builtinModules` as `BUILTIN_MODULES` when it
exists
* `[jest-worker]` Remove `debug` and `inspect` flags from the arguments sent to
the child ([#5068](https://github.com/facebook/jest/pull/5068))
* `[jest-config]` Use all `--testPathPattern` and `<regexForTestFiles>` args in
`testPathPattern` ([#5066](https://github.com/facebook/jest/pull/5066))
* `[jest-cli]` Do not support `--watch` inside non-version-controlled
environments ([#5060](https://github.com/facebook/jest/pull/5060))
* `[jest-config]` Escape Windows path separator in testPathPattern CLI arguments
([#5054](https://github.com/facebook/jest/pull/5054)
* `[jest-jasmine]` Register sourcemaps as node environment to improve
performance with jsdom ([#5045](https://github.com/facebook/jest/pull/5045))
* `[pretty-format]` Do not call toJSON recursively
([#5044](https://github.com/facebook/jest/pull/5044))
* `[pretty-format]` Fix errors when identity-obj-proxy mocks CSS Modules
([#4935](https://github.com/facebook/jest/pull/4935))
* `[babel-jest]` Fix support for namespaced babel version 7
([#4918](https://github.com/facebook/jest/pull/4918))
* `[expect]` fix .toThrow for promises
([#4884](https://github.com/facebook/jest/pull/4884))
* `[jest-docblock]` pragmas should preserve urls
([#4837](https://github.com/facebook/jest/pull/4629))
* `[jest-cli]` Check if `npm_lifecycle_script` calls Jest directly
([#4629](https://github.com/facebook/jest/pull/4629))
* `[jest-cli]` Fix --showConfig to show all configs
([#4494](https://github.com/facebook/jest/pull/4494))
* `[jest-cli]` Throw if `maxWorkers` doesn't have a value
([#4591](https://github.com/facebook/jest/pull/4591))
* `[jest-cli]` Use `fs.realpathSync.native` if available
([#5031](https://github.com/facebook/jest/pull/5031))
* `[jest-config]` Fix `--passWithNoTests`
([#4639](https://github.com/facebook/jest/pull/4639))
* `[jest-config]` Support `rootDir` tag in testEnvironment
([#4579](https://github.com/facebook/jest/pull/4579))
* `[jest-editor-support]` Fix `--showConfig` to support jest 20 and jest 21
([#4575](https://github.com/facebook/jest/pull/4575))
* `[jest-editor-support]` Fix editor support test for node 4
([#4640](https://github.com/facebook/jest/pull/4640))
* `[jest-mock]` Support mocking constructor in `mockImplementationOnce`
([#4599](https://github.com/facebook/jest/pull/4599))
* `[jest-runtime]` Fix manual user mocks not working with custom resolver
([#4489](https://github.com/facebook/jest/pull/4489))
* `[jest-util]` Fix `runOnlyPendingTimers` for `setTimeout` inside
`setImmediate` ([#4608](https://github.com/facebook/jest/pull/4608))
* `[jest-message-util]` Always remove node internals from stacktraces
([#4695](https://github.com/facebook/jest/pull/4695))
* `[jest-resolve]` changes method of determining builtin modules to include
missing builtins ([#4740](https://github.com/facebook/jest/pull/4740))
* `[pretty-format]` Prevent error in pretty-format for window in jsdom test env
([#4750](https://github.com/facebook/jest/pull/4750))
* `[jest-resolve]` Preserve module identity for symlinks
([#4761](https://github.com/facebook/jest/pull/4761))
* `[jest-config]` Include error message for `preset` json
([#4766](https://github.com/facebook/jest/pull/4766))
* `[pretty-format]` Throw `PrettyFormatPluginError` if a plugin halts with an
exception ([#4787](https://github.com/facebook/jest/pull/4787))
* `[expect]` Keep the stack trace unchanged when `PrettyFormatPluginError` is
thrown by pretty-format ([#4787](https://github.com/facebook/jest/pull/4787))
* `[jest-environment-jsdom]` Fix asynchronous test will fail due to timeout
issue. ([#4669](https://github.com/facebook/jest/pull/4669))
* `[jest-cli]` Fix `--onlyChanged` path case sensitivity on Windows platform
([#4730](https://github.com/facebook/jest/pull/4730))
* `[jest-runtime]` Use realpath to match transformers
([#5000](https://github.com/facebook/jest/pull/5000))
* `[expect]` [**BREAKING**] Replace identity equality with Object.is in toBe
matcher ([#4917](https://github.com/facebook/jest/pull/4917))
### Features
* `[jest-message-util]` Add codeframe to test assertion failures
([#5087](https://github.com/facebook/jest/pull/5087))
* `[jest-config]` Add Global Setup/Teardown options
([#4716](https://github.com/facebook/jest/pull/4716))
* `[jest-config]` Add `testEnvironmentOptions` to apply to jsdom options or node
context. ([#5003](https://github.com/facebook/jest/pull/5003))
* `[jest-jasmine2]` Update Timeout error message to `jest.timeout` and display
current timeout value ([#4990](https://github.com/facebook/jest/pull/4990))
* `[jest-runner]` Enable experimental detection of leaked contexts
([#4895](https://github.com/facebook/jest/pull/4895))
* `[jest-cli]` Add combined coverage threshold for directories.
([#4885](https://github.com/facebook/jest/pull/4885))
* `[jest-mock]` Add `timestamps` to mock state.
([#4866](https://github.com/facebook/jest/pull/4866))
* `[eslint-plugin-jest]` Add `prefer-to-have-length` lint rule.
([#4771](https://github.com/facebook/jest/pull/4771))
* `[jest-environment-jsdom]` [**BREAKING**] Upgrade to JSDOM@11
([#4770](https://github.com/facebook/jest/pull/4770))
* `[jest-environment-*]` [**BREAKING**] Add Async Test Environment APIs, dispose
is now teardown ([#4506](https://github.com/facebook/jest/pull/4506))
* `[jest-cli]` Add an option to clear the cache
([#4430](https://github.com/facebook/jest/pull/4430))
* `[babel-plugin-jest-hoist]` Improve error message, that the second argument of
`jest.mock` must be an inline function
([#4593](https://github.com/facebook/jest/pull/4593))
* `[jest-snapshot]` [**BREAKING**] Concatenate name of test and snapshot
([#4460](https://github.com/facebook/jest/pull/4460))
* `[jest-cli]` [**BREAKING**] Fail if no tests are found
([#3672](https://github.com/facebook/jest/pull/3672))
* `[jest-diff]` Highlight only last of odd length leading spaces
([#4558](https://github.com/facebook/jest/pull/4558))
* `[jest-docblock]` Add `docblock.print()`
([#4517](https://github.com/facebook/jest/pull/4517))
* `[jest-docblock]` Add `strip`
([#4571](https://github.com/facebook/jest/pull/4571))
* `[jest-docblock]` Preserve leading whitespace in docblock comments
([#4576](https://github.com/facebook/jest/pull/4576))
* `[jest-docblock]` remove leading newlines from `parswWithComments().comments`
([#4610](https://github.com/facebook/jest/pull/4610))
* `[jest-editor-support]` Add Snapshots metadata
([#4570](https://github.com/facebook/jest/pull/4570))
* `[jest-editor-support]` Adds an 'any' to the typedef for
`updateFileWithJestStatus`
([#4636](https://github.com/facebook/jest/pull/4636))
* `[jest-editor-support]` Better monorepo support
([#4572](https://github.com/facebook/jest/pull/4572))
* `[jest-environment-jsdom]` Add simple rAF polyfill in jsdom environment to
work with React 16 ([#4568](https://github.com/facebook/jest/pull/4568))
* `[jest-environment-node]` Implement node Timer api
([#4622](https://github.com/facebook/jest/pull/4622))
* `[jest-jasmine2]` Add testPath to reporter callbacks
([#4594](https://github.com/facebook/jest/pull/4594))
* `[jest-mock]` Added support for naming mocked functions with
`.mockName(value)` and `.mockGetName()`
([#4586](https://github.com/facebook/jest/pull/4586))
* `[jest-runtime]` Add `module.loaded`, and make `module.require` not enumerable
([#4623](https://github.com/facebook/jest/pull/4623))
* `[jest-runtime]` Add `module.parent`
([#4614](https://github.com/facebook/jest/pull/4614))
* `[jest-runtime]` Support sourcemaps in transformers
([#3458](https://github.com/facebook/jest/pull/3458))
* `[jest-snapshot]` [**BREAKING**] Add a serializer for `jest.fn` to allow a
snapshot of a jest mock ([#4668](https://github.com/facebook/jest/pull/4668))
* `[jest-worker]` Initial version of parallel worker abstraction, say hello!
([#4497](https://github.com/facebook/jest/pull/4497))
* `[jest-jasmine2]` Add `testLocationInResults` flag to add location information
per spec to test results ([#4782](https://github.com/facebook/jest/pull/4782))
* `[jest-environment-jsdom]` Update JSOM to 11.4, which includes built-in
support for `requestAnimationFrame`
([#4919](https://github.com/facebook/jest/pull/4919))
* `[jest-cli]` Hide watch usage output when running on non-interactive
environments ([#4958](https://github.com/facebook/jest/pull/4958))
* `[jest-snapshot]` Promises support for `toThrowErrorMatchingSnapshot`
([#4946](https://github.com/facebook/jest/pull/4946))
* `[jest-cli]` Explain which snapshots are obsolete
([#5005](https://github.com/facebook/jest/pull/5005))
### Chore & Maintenance
* `[docs]` Add guide of using with puppeteer
([#5093](https://github.com/facebook/jest/pull/5093))
* `[jest-util]` `jest-util` should not depend on `jest-mock`
([#4992](https://github.com/facebook/jest/pull/4992))
* `[*]` [**BREAKING**] Drop support for Node.js version 4
([#4769](https://github.com/facebook/jest/pull/4769))
* `[docs]` Wrap code comments at 80 characters
([#4781](https://github.com/facebook/jest/pull/4781))
* `[eslint-plugin-jest]` Removed from the Jest core repo, and moved to
https://github.com/jest-community/eslint-plugin-jest
([#4867](https://github.com/facebook/jest/pull/4867))
* `[babel-jest]` Explicitly bump istanbul to newer versions
([#4616](https://github.com/facebook/jest/pull/4616))
* `[expect]` Upgrade mocha and rollup for browser testing
([#4642](https://github.com/facebook/jest/pull/4642))
* `[docs]` Add info about `coveragePathIgnorePatterns`
([#4602](https://github.com/facebook/jest/pull/4602))
* `[docs]` Add Vuejs series of testing with Jest
([#4648](https://github.com/facebook/jest/pull/4648))
* `[docs]` Mention about optional `done` argument in test function
([#4556](https://github.com/facebook/jest/pull/4556))
* `[jest-cli]` Bump node-notifier version
([#4609](https://github.com/facebook/jest/pull/4609))
* `[jest-diff]` Simplify highlight for leading and trailing spaces
([#4553](https://github.com/facebook/jest/pull/4553))
* `[jest-get-type]` Add support for date
([#4621](https://github.com/facebook/jest/pull/4621))
* `[jest-matcher-utils]` Call `chalk.inverse` for trailing spaces
([#4578](https://github.com/facebook/jest/pull/4578))
* `[jest-runtime]` Add `.advanceTimersByTime`; keep `.runTimersToTime()` as an
alias.
* `[docs]` Include missing dependency in TestEnvironment sample code
* `[docs]` Add clarification for hook execution order
* `[docs]` Update `expect.anything()` sample code
([#5007](https://github.com/facebook/jest/pull/5007))
## jest 21.2.1
* Fix watchAll not running tests on save
([#4550](https://github.com/facebook/jest/pull/4550))
* Add missing escape sequences to ConvertAnsi plugin
([#4544](https://github.com/facebook/jest/pull/4544))
## jest 21.2.0
* 🃏 Change license from BSD+Patents to MIT.
* Allow eslint-plugin to recognize more disabled tests
([#4533](https://github.com/facebook/jest/pull/4533))
* Add babel-plugin for object spread syntax to babel-preset-jest
([#4519](https://github.com/facebook/jest/pull/4519))
* Display outer element and trailing newline consistently in jest-diff
([#4520](https://github.com/facebook/jest/pull/4520))
* Do not modify stack trace of JestAssertionError
([#4516](https://github.com/facebook/jest/pull/4516))
* Print errors after test structure in verbose mode
([#4504](https://github.com/facebook/jest/pull/4504))
* Fix `--silent --verbose` problem
([#4505](https://github.com/facebook/jest/pull/4505))
* Fix: Reset local state of assertions when using hasAssertions
([#4498](https://github.com/facebook/jest/pull/4498))
* jest-resolve: Prevent default resolver failure when potential resolution
directory does not exist ([#4483](https://github.com/facebook/jest/pull/4483))
## jest 21.1.0
* (minor) Use ES module exports
([#4454](https://github.com/facebook/jest/pull/4454))
* Allow chaining mockClear and mockReset
([#4475](https://github.com/facebook/jest/pull/4475))
* Call jest-diff and pretty-format more precisely in toHaveProperty matcher
([#4445](https://github.com/facebook/jest/pull/4445))
* Expose restoreAllMocks to object
([#4463](https://github.com/facebook/jest/pull/4463))
* Fix function name cleaning when making mock fn
([#4464](https://github.com/facebook/jest/pull/4464))
* Fix Map/Set equality checker
([#4404](https://github.com/facebook/jest/pull/4404))
* Make FUNCTION_NAME_RESERVED_PATTERN stateless
([#4466](https://github.com/facebook/jest/pull/4466))
## jest 21.0.2
* Take precedence of NODE_PATH when resolving node_modules directories
([#4453](https://github.com/facebook/jest/pull/4453))
* Fix race condition with --coverage and babel-jest identical file contents edge
case ([#4432](https://github.com/facebook/jest/pull/4432))
* Add extra parameter `--runTestsByPath`.
([#4411](https://github.com/facebook/jest/pull/4411))
* Upgrade all outdated deps
([#4425](https://github.com/facebook/jest/pull/4425))
## jest 21.0.1
* Remove obsolete error ([#4417](https://github.com/facebook/jest/pull/4417))
## jest 21.0.0
* Add --changedFilesWithAncestor
([#4070](https://github.com/facebook/jest/pull/4070))
* Add --findRelatedFiles ([#4131](https://github.com/facebook/jest/pull/4131))
* Add --onlyChanged tests ([#3977](https://github.com/facebook/jest/pull/3977))
* Add `contextLines` option to jest-diff
([#4152](https://github.com/facebook/jest/pull/4152))
* Add alternative serialize API for pretty-format plugins
([#4114](https://github.com/facebook/jest/pull/4114))
* Add displayName to MPR ([#4327](https://github.com/facebook/jest/pull/4327))
* Add displayName to TestResult
([#4408](https://github.com/facebook/jest/pull/4408))
* Add es5 build of pretty-format
([#4075](https://github.com/facebook/jest/pull/4075))
* Add extra info to no tests for changed files message
([#4188](https://github.com/facebook/jest/pull/4188))
* Add fake chalk in browser builds in order to support IE10
([#4367](https://github.com/facebook/jest/pull/4367))
* Add jest.requireActual ([#4260](https://github.com/facebook/jest/pull/4260))
* Add maxWorkers to globalConfig
([#4005](https://github.com/facebook/jest/pull/4005))
* Add skipped tests support for jest-editor-support
([#4346](https://github.com/facebook/jest/pull/4346))
* Add source map support for better debugging experience
([#3738](https://github.com/facebook/jest/pull/3738))
* Add support for Error objects in toMatchObject
([#4339](https://github.com/facebook/jest/pull/4339))
* Add support for Immutable.Record in pretty-format
([#3678](https://github.com/facebook/jest/pull/3678))
* Add tests for extract_requires on export types
([#4080](https://github.com/facebook/jest/pull/4080))
* Add that toMatchObject can match arrays
([#3994](https://github.com/facebook/jest/pull/3994))
* Add watchPathIgnorePatterns to exclude paths to trigger test re-run in watch
mode ([#4331](https://github.com/facebook/jest/pull/4331))
* Adding ancestorTitles property to JSON test output
([#4293](https://github.com/facebook/jest/pull/4293))
* Allow custom resolver to be used with[out] moduleNameMapper
([#4174](https://github.com/facebook/jest/pull/4174))
* Avoid parsing `.require(…)` method calls
([#3777](https://github.com/facebook/jest/pull/3777))
* Avoid unnecessary function declarations and call in pretty-format
([#3962](https://github.com/facebook/jest/pull/3962))
* Avoid writing to stdout in default reporter if --json is enabled. Fixes #3941
([#3945](https://github.com/facebook/jest/pull/3945))
* Better error handling for --config
([#4230](https://github.com/facebook/jest/pull/4230))
* Call consistent pretty-format plugins within Jest
([#3800](https://github.com/facebook/jest/pull/3800))
* Change babel-core to peerDependency for compatibility with Babel 7
([#4162](https://github.com/facebook/jest/pull/4162))
* Change Promise detection code in jest-circus to support non-global Promise
implementations ([#4375](https://github.com/facebook/jest/pull/4375))
* Changed files eager loading
([#3979](https://github.com/facebook/jest/pull/3979))
* Check whether we should output to stdout or stderr
([#3953](https://github.com/facebook/jest/pull/3953))
* Clarify what objects toContain and toContainEqual can be used on
([#4307](https://github.com/facebook/jest/pull/4307))
* Clean up resolve() logic. Provide useful names for variables and functions.
Test that a directory exists before attempting to resolve files within it.
([#4325](https://github.com/facebook/jest/pull/4325))
* cleanupStackTrace ([#3696](https://github.com/facebook/jest/pull/3696))
* compare objects with Symbol keys
([#3437](https://github.com/facebook/jest/pull/3437))
* Complain if expect is passed multiple arguments
([#4237](https://github.com/facebook/jest/pull/4237))
* Completes nodeCrawl with empty roots
([#3776](https://github.com/facebook/jest/pull/3776))
* Consistent naming of files
([#3798](https://github.com/facebook/jest/pull/3798))
* Convert code base to ESM import
([#3778](https://github.com/facebook/jest/pull/3778))
* Correct summary message for flag --findRelatedTests.
([#4309](https://github.com/facebook/jest/pull/4309))
* Coverage thresholds can be set up for individual files
([#4185](https://github.com/facebook/jest/pull/4185))
* custom reporter error handling
([#4051](https://github.com/facebook/jest/pull/4051))
* Define separate type for pretty-format plugin Options
([#3802](https://github.com/facebook/jest/pull/3802))
* Delete confusing async keyword
([#3679](https://github.com/facebook/jest/pull/3679))
* Delete redundant branch in ReactElement and HTMLElement plugins
([#3731](https://github.com/facebook/jest/pull/3731))
* Don't format node assert errors when there's no 'assert' module
([#4376](https://github.com/facebook/jest/pull/4376))
* Don't print test summary in --silent
([#4106](https://github.com/facebook/jest/pull/4106))
* Don't try to build ghost packages
([#3934](https://github.com/facebook/jest/pull/3934))
* Escape double quotes in attribute values in HTMLElement plugin
([#3797](https://github.com/facebook/jest/pull/3797))
* Explain how to clear the cache
([#4232](https://github.com/facebook/jest/pull/4232))
* Factor out common code for collections in pretty-format
([#4184](https://github.com/facebook/jest/pull/4184))
* Factor out common code for markup in React plugins
([#4171](https://github.com/facebook/jest/pull/4171))
* Feature/internal resolve ([#4315](https://github.com/facebook/jest/pull/4315))
* Fix --logHeapUsage ([#4176](https://github.com/facebook/jest/pull/4176))
* Fix --showConfig to show all project configs
([#4078](https://github.com/facebook/jest/pull/4078))
* Fix --watchAll ([#4254](https://github.com/facebook/jest/pull/4254))
* Fix bug when setTimeout is mocked
([#3769](https://github.com/facebook/jest/pull/3769))
* Fix changedFilesWithAncestor
([#4193](https://github.com/facebook/jest/pull/4193))
* Fix colors for expected/stored snapshot message
([#3702](https://github.com/facebook/jest/pull/3702))
* Fix concurrent test failure
([#4159](https://github.com/facebook/jest/pull/4159))
* Fix for 4286: Compare Maps and Sets by value rather than order
([#4303](https://github.com/facebook/jest/pull/4303))
* fix forceExit ([#4105](https://github.com/facebook/jest/pull/4105))
* Fix grammar in React Native docs
([#3838](https://github.com/facebook/jest/pull/3838))
* Fix inconsistent name of complex values in pretty-format
([#4001](https://github.com/facebook/jest/pull/4001))
* Fix issue mocking bound method
([#3805](https://github.com/facebook/jest/pull/3805))
* Fix jest-circus ([#4290](https://github.com/facebook/jest/pull/4290))
* Fix lint warning in master
([#4132](https://github.com/facebook/jest/pull/4132))
* Fix linting ([#3946](https://github.com/facebook/jest/pull/3946))
* fix merge conflict ([#4144](https://github.com/facebook/jest/pull/4144))
* Fix minor typo ([#3729](https://github.com/facebook/jest/pull/3729))
* fix missing console.log messages
([#3895](https://github.com/facebook/jest/pull/3895))
* fix mock return value ([#3933](https://github.com/facebook/jest/pull/3933))
* Fix mocking for modules with folders on windows
([#4238](https://github.com/facebook/jest/pull/4238))
* Fix NODE_PATH resolving for relative paths
([#3616](https://github.com/facebook/jest/pull/3616))
* Fix options.moduleNameMapper override order with preset
([#3565](https://github.com/facebook/jest/pull/3565)
([#3689](https://github.com/facebook/jest/pull/3689))
* Fix React PropTypes warning in tests for Immutable plugin
([#4412](https://github.com/facebook/jest/pull/4412))
* Fix regression in mockReturnValueOnce
([#3857](https://github.com/facebook/jest/pull/3857))
* Fix sample code of mock class constructors
([#4115](https://github.com/facebook/jest/pull/4115))
* Fix setup-test-framework-test
([#3773](https://github.com/facebook/jest/pull/3773))
* fix typescript jest test crash
([#4363](https://github.com/facebook/jest/pull/4363))
* Fix watch mode ([#4084](https://github.com/facebook/jest/pull/4084))
* Fix Watchman on windows ([#4018](https://github.com/facebook/jest/pull/4018))
* Fix(babel): Handle ignored files in babel v7
([#4393](https://github.com/facebook/jest/pull/4393))
* Fix(babel): Support upcoming beta
([#4403](https://github.com/facebook/jest/pull/4403))
* Fixed object matcher ([#3799](https://github.com/facebook/jest/pull/3799))
* Fixes #3820 use extractExpectedAssertionsErrors in jasmine setup
* Flow upgrade ([#4355](https://github.com/facebook/jest/pull/4355))
* Force message in matchers to always be a function
([#3972](https://github.com/facebook/jest/pull/3972))
* Format `describe` and use `test` instead of `it` alias
([#3792](https://github.com/facebook/jest/pull/3792))
* global_config.js for multi-project runner
([#4023](https://github.com/facebook/jest/pull/4023))
* Handle async errors ([#4016](https://github.com/facebook/jest/pull/4016))
* Hard-fail if hasteImpl is throwing an error during initialization.
([#3812](https://github.com/facebook/jest/pull/3812))
* Ignore import type for extract_requires
([#4079](https://github.com/facebook/jest/pull/4079))
* Ignore indentation of data structures in jest-diff
([#3429](https://github.com/facebook/jest/pull/3429))
* Implement 'jest.requireMock'
([#4292](https://github.com/facebook/jest/pull/4292))
* Improve Jest phabricator plugin
([#4195](https://github.com/facebook/jest/pull/4195))
* Improve Seq and remove newline from non-min empty in Immutable plugin
([#4241](https://github.com/facebook/jest/pull/4241))
* Improved the jest reporter with snapshot info per test.
([#3660](https://github.com/facebook/jest/pull/3660))
* Include fullName in formattedAssertion
([#4273](https://github.com/facebook/jest/pull/4273))
* Integrated with Yarn workspaces
([#3906](https://github.com/facebook/jest/pull/3906))
* jest --all ([#4020](https://github.com/facebook/jest/pull/4020))
* jest-circus test failures
([#3770](https://github.com/facebook/jest/pull/3770))
* jest-circus Timeouts ([#3760](https://github.com/facebook/jest/pull/3760))
* jest-haste-map: add test case for broken handling of ignore pattern
([#4047](https://github.com/facebook/jest/pull/4047))
* jest-haste-map: add test+fix for broken platform module support
([#3885](https://github.com/facebook/jest/pull/3885))
* jest-haste-map: deprecate functional ignorePattern and use it in cache key
([#4063](https://github.com/facebook/jest/pull/4063))
* jest-haste-map: mock 'fs' with more idiomatic jest.mock()
([#4046](https://github.com/facebook/jest/pull/4046))
* jest-haste-map: only file IO errors should be silently ignored
([#3816](https://github.com/facebook/jest/pull/3816))
* jest-haste-map: throw when trying to get a duplicated module
([#3976](https://github.com/facebook/jest/pull/3976))
* jest-haste-map: watchman crawler: normalize paths
([#3887](https://github.com/facebook/jest/pull/3887))
* jest-runtime: atomic cache write, and check validity of data
([#4088](https://github.com/facebook/jest/pull/4088))
* Join lines with newline in jest-diff
([#4314](https://github.com/facebook/jest/pull/4314))
* Keep ARGV only in CLI files
([#4012](https://github.com/facebook/jest/pull/4012))
* let transformers adjust cache key based on mapCoverage
([#4187](https://github.com/facebook/jest/pull/4187))
* Lift requires ([#3780](https://github.com/facebook/jest/pull/3780))
* Log stack when reporting errors in jest-runtime
([#3833](https://github.com/facebook/jest/pull/3833))
* Make --listTests return a new line separated list when not using --json
([#4229](https://github.com/facebook/jest/pull/4229))
* Make build script printing small-terminals-friendly
([#3892](https://github.com/facebook/jest/pull/3892))
* Make error messages more explicit for toBeCalledWith assertions
([#3913](https://github.com/facebook/jest/pull/3913))
* Make jest-matcher-utils use ESM exports
([#4342](https://github.com/facebook/jest/pull/4342))
* Make jest-runner a standalone package.
([#4236](https://github.com/facebook/jest/pull/4236))
* Make Jests Test Runner configurable.
([#4240](https://github.com/facebook/jest/pull/4240))
* Make listTests always print to console.log
([#4391](https://github.com/facebook/jest/pull/4391))
* Make providesModuleNodeModules ignore nested node_modules directories
* Make sure function mocks match original arity
([#4170](https://github.com/facebook/jest/pull/4170))
* Make sure runAllTimers also clears all ticks
([#3915](https://github.com/facebook/jest/pull/3915))
* Make toBe matcher error message more helpful for objects and arrays
([#4277](https://github.com/facebook/jest/pull/4277))
* Make useRealTimers play well with timers: fake
([#3858](https://github.com/facebook/jest/pull/3858))
* Move getType from jest-matcher-utils to separate package
([#3559](https://github.com/facebook/jest/pull/3559))
* Multiroot jest-change-files
([#3969](https://github.com/facebook/jest/pull/3969))
* Output created snapshot when using --ci option
([#3693](https://github.com/facebook/jest/pull/3693))
* Point out you can use matchers in .toMatchObject
([#3796](https://github.com/facebook/jest/pull/3796))
* Prevent babelrc package import failure on relative current path
([#3723](https://github.com/facebook/jest/pull/3723))
* Print RDP details for windows builds
([#4017](https://github.com/facebook/jest/pull/4017))
* Provide better error checking for transformed content
([#3807](https://github.com/facebook/jest/pull/3807))
* Provide printText and printComment in markup.js for HTMLElement plugin
([#4344](https://github.com/facebook/jest/pull/4344))
* Provide regex visualization for testRegex
([#3758](https://github.com/facebook/jest/pull/3758))
* Refactor CLI ([#3862](https://github.com/facebook/jest/pull/3862))
* Refactor names and delimiters of complex values in pretty-format
([#3986](https://github.com/facebook/jest/pull/3986))
* Replace concat(Immutable) with Immutable as item of plugins array
([#4207](https://github.com/facebook/jest/pull/4207))
* Replace Jasmine with jest-circus
([#3668](https://github.com/facebook/jest/pull/3668))
* Replace match with test and omit redundant String conversion
([#4311](https://github.com/facebook/jest/pull/4311))
* Replace print with serialize in AsymmetricMatcher plugin
([#4173](https://github.com/facebook/jest/pull/4173))
* Replace print with serialize in ConvertAnsi plugin
([#4225](https://github.com/facebook/jest/pull/4225))
* Replace print with serialize in HTMLElement plugin
([#4215](https://github.com/facebook/jest/pull/4215))
* Replace print with serialize in Immutable plugins
([#4189](https://github.com/facebook/jest/pull/4189))
* Replace unchanging args with one config arg within pretty-format
([#4076](https://github.com/facebook/jest/pull/4076))
* Return UNDEFINED for undefined type in ReactElement plugin
([#4360](https://github.com/facebook/jest/pull/4360))
* Rewrite some read bumps in pretty-format
([#4093](https://github.com/facebook/jest/pull/4093))
* Run update method before installing JRE on Circle
([#4318](https://github.com/facebook/jest/pull/4318))
* Separated the snapshot summary creation from the printing to improve
testability. ([#4373](https://github.com/facebook/jest/pull/4373))
* Set coverageDirectory during normalize phase
([#3966](https://github.com/facebook/jest/pull/3966))
* Setup custom reporters after default reporters
([#4053](https://github.com/facebook/jest/pull/4053))
* Setup for Circle 2 ([#4149](https://github.com/facebook/jest/pull/4149))
* Simplify readme ([#3790](https://github.com/facebook/jest/pull/3790))
* Simplify snapshots definition
([#3791](https://github.com/facebook/jest/pull/3791))
* skipNodeResolution config option
([#3987](https://github.com/facebook/jest/pull/3987))
* Small fixes to toHaveProperty docs
([#3878](https://github.com/facebook/jest/pull/3878))
* Sort attributes by name in HTMLElement plugin
([#3783](https://github.com/facebook/jest/pull/3783))
* Specify watchPathIgnorePatterns will only be available in Jest 21+
([#4398](https://github.com/facebook/jest/pull/4398))
* Split TestRunner off of TestScheduler
([#4233](https://github.com/facebook/jest/pull/4233))
* Strict and explicit config resolution logic
([#4122](https://github.com/facebook/jest/pull/4122))
* Support maxDepth option in React plugins
([#4208](https://github.com/facebook/jest/pull/4208))
* Support SVG elements in HTMLElement plugin
([#4335](https://github.com/facebook/jest/pull/4335))
* Test empty Immutable collections with {min: false} option
([#4121](https://github.com/facebook/jest/pull/4121))
* test to debug travis failure in master
([#4145](https://github.com/facebook/jest/pull/4145))
* testPathPattern message test
([#4006](https://github.com/facebook/jest/pull/4006))
* Throw Error When Using Nested It Specs
([#4039](https://github.com/facebook/jest/pull/4039))
* Throw when moduleNameMapper points to inexistent module
([#3567](https://github.com/facebook/jest/pull/3567))
* Unified 'no tests found' message for non-verbose MPR
([#4354](https://github.com/facebook/jest/pull/4354))
* Update migration guide with jest-codemods transformers
([#4306](https://github.com/facebook/jest/pull/4306))
* Use "inputSourceMap" for coverage re-mapping.
([#4009](https://github.com/facebook/jest/pull/4009))
* Use "verbose" no test found message when there is only one project
([#4378](https://github.com/facebook/jest/pull/4378))
* Use babel transform to inline all requires
([#4340](https://github.com/facebook/jest/pull/4340))
* Use eslint plugins to run prettier
([#3971](https://github.com/facebook/jest/pull/3971))
* Use iterableEquality in spy matchers
([#3651](https://github.com/facebook/jest/pull/3651))
* Use modern HTML5 <!DOCTYPE>
([#3937](https://github.com/facebook/jest/pull/3937))
* Wrap `Error.captureStackTrace` in a try
([#4035](https://github.com/facebook/jest/pull/4035))
## jest 20.0.4
* Fix jest-haste-map's handling of duplicate module IDs.
([#3647](https://github.com/facebook/jest/pull/3647))
* Fix behavior of `enableAutomock()` when automock is set to false.
([#3624](https://github.com/facebook/jest/pull/3624))
* Fix progress bar in windows.
([#3626](https://github.com/facebook/jest/pull/3626))
## jest 20.0.3
* Fix reporters 'default' setting.
([#3562](https://github.com/facebook/jest/pull/3562))
* Fix to make Jest fail when the coverage threshold not met.
([#3554](https://github.com/facebook/jest/pull/3554))
## jest 20.0.1
* Add ansi-regex to pretty-format dependencies
([#3498](https://github.com/facebook/jest/pull/3498))
* Fix <rootDir> replacement in testMatch and moduleDirectories
([#3538](https://github.com/facebook/jest/pull/3538))
* Fix expect.hasAssertions() to throw when passed arguments
([#3526](https://github.com/facebook/jest/pull/3526))
* Fix stack traces without proper error messages
([#3513](https://github.com/facebook/jest/pull/3513))
* Fix support for custom extensions through haste packages
([#3537](https://github.com/facebook/jest/pull/3537))
* Fix test contexts between test functions
([#3506](https://github.com/facebook/jest/pull/3506))
## jest 20.0.0
* New `--projects` option to run one instance of Jest in multiple projects at
the same time. ([#3400](https://github.com/facebook/jest/pull/3400))
* New multi project runner ([#3156](https://github.com/facebook/jest/pull/3156))
* New --listTests flag. ([#3441](https://github.com/facebook/jest/pull/3441))
* New --showConfig flag. ([#3296](https://github.com/facebook/jest/pull/3296))
* New promise support for all `expect` matchers through `.resolves` and
`.rejects`. ([#3068](https://github.com/facebook/jest/pull/3068))
* New `expect.hasAssertions()` function similar to `expect.assertions()`.
([#3379](https://github.com/facebook/jest/pull/3379))
* New `this.equals` function exposed to custom matchers.
([#3469](https://github.com/facebook/jest/pull/3469))
* New `valid-expect` lint rule in `eslint-plugin-jest`.
([#3067](https://github.com/facebook/jest/pull/3067))
* New HtmlElement pretty-format plugin.
([#3230](https://github.com/facebook/jest/pull/3230))
* New Immutable pretty-format plugins.
([#2899](https://github.com/facebook/jest/pull/2899))
* New test environment per file setting through `@jest-environment` in the
docblock. ([#2859](https://github.com/facebook/jest/pull/2859))
* New feature that allows every configuration option to be set from the command
line. ([#3424](https://github.com/facebook/jest/pull/3424))
* New feature to add custom reporters to Jest through `reporters` in the
configuration. ([#3349](https://github.com/facebook/jest/pull/3349))
* New feature to add expected and actual values to AssertionError.
([#3217](https://github.com/facebook/jest/pull/3217))
* New feature to map code coverage from transformers.
([#2290](https://github.com/facebook/jest/pull/2290))
* New feature to run untested code coverage in parallel.
([#3407](https://github.com/facebook/jest/pull/3407))
* New option to define a custom resolver.
([#2998](https://github.com/facebook/jest/pull/2998))
* New printing support for text and comment nodes in html pretty-format.
([#3355](https://github.com/facebook/jest/pull/3355))
* New snapshot testing FAQ ([#3425](https://github.com/facebook/jest/pull/3425))
* New support for custom platforms on jest-haste-map.
([#3162](https://github.com/facebook/jest/pull/3162))
* New support for mocking native async methods.
([#3209](https://github.com/facebook/jest/pull/3209))
* New guide on how to use Jest with any JavaScript framework.
([#3243](https://github.com/facebook/jest/pull/3243))
* New translation system for the Jest website.
* New collapsing watch mode usage prompt after first run.
([#3078](https://github.com/facebook/jest/pull/3078))
* Breaking Change: Forked Jasmine 2.5 into Jest's own test runner and rewrote
large parts of Jasmine. ([#3147](https://github.com/facebook/jest/pull/3147))
* Breaking Change: Jest does not write new snapshots by default on CI.
([#3456](https://github.com/facebook/jest/pull/3456))
* Breaking Change: Moved the typescript parser from `jest-editor-support` into a
separate `jest-test-typescript-parser` package.
([#2973](https://github.com/facebook/jest/pull/2973))
* Breaking Change: Replaced auto-loading of babel-polyfill with only
regenerator-runtime, fixes a major memory leak.
([#2755](https://github.com/facebook/jest/pull/2755))
* Fixed `babel-jest` to look up the `babel` field in `package.json` as a
fallback.
* Fixed `jest-editor-support`'s parser to not crash on incomplete ASTs.
([#3259](https://github.com/facebook/jest/pull/3259))
* Fixed `jest-resolve` to use `is-builtin-module` instead of `resolve.isCore`.
([#2997](https://github.com/facebook/jest/pull/2997))
* Fixed `jest-snapshot` to normalize line endings in the `serialize` function.
([#3002](https://github.com/facebook/jest/pull/3002))
* Fixed behavior of `--silent` flag.
([#3003](https://github.com/facebook/jest/pull/3003))
* Fixed bug with watchers on macOS causing test to crash.
([#2957](https://github.com/facebook/jest/pull/2957))
* Fixed CLI `notify` option not taking precedence over config option.
([#3340](https://github.com/facebook/jest/pull/3340))
* Fixed detection of the npm client in SummaryReporter to support Yarn.
([#3263](https://github.com/facebook/jest/pull/3263))
* Fixed done.fail not passing arguments
([#3241](https://github.com/facebook/jest/pull/3241))
* Fixed fake timers to restore after resetting mocks.
([#2467](https://github.com/facebook/jest/pull/2467))
* Fixed handling of babylon's parser options in `jest-editor-support`.
([#3344](https://github.com/facebook/jest/pull/3344))
* Fixed Jest to properly cache transform results.
([#3334](https://github.com/facebook/jest/pull/3334))
* Fixed Jest to use human-readable colors for Jest's own snapshots.
([#3119](https://github.com/facebook/jest/pull/3119))
* Fixed jest-config to use UID for default cache folder.
([#3380](https://github.com/facebook/jest/pull/3380)),
([#3387](https://github.com/facebook/jest/pull/3387))
* Fixed jest-runtime to expose inner error when it fails to write to the cache.
([#3373](https://github.com/facebook/jest/pull/3373))
* Fixed lifecycle hooks to make afterAll hooks operate the same as afterEach.
([#3275](https://github.com/facebook/jest/pull/3275))
* Fixed pretty-format to run plugins before serializing nested basic values.
([#3017](https://github.com/facebook/jest/pull/3017))
* Fixed return value of mocks so they can explicitly be set to return
`undefined`. ([#3354](https://github.com/facebook/jest/pull/3354))
* Fixed runner to run tests associated with snapshots when the snapshot changes.
([#3025](https://github.com/facebook/jest/pull/3025))
* Fixed snapshot serializer require, restructured pretty-format.
([#3399](https://github.com/facebook/jest/pull/3399))
* Fixed support for Babel 7 in babel-jest.
([#3271](https://github.com/facebook/jest/pull/3271))
* Fixed testMatch to find tests in .folders.
([#3006](https://github.com/facebook/jest/pull/3006))
* Fixed testNamePattern and testPathPattern to work better together.
([#3327](https://github.com/facebook/jest/pull/3327))
* Fixed to show reject reason when expecting resolve.
([#3134](https://github.com/facebook/jest/pull/3134))
* Fixed toHaveProperty() to use hasOwnProperty from Object
([#3410](https://github.com/facebook/jest/pull/3410))
* Fixed watch mode's screen clearing.
([#2959](https://github.com/facebook/jest/pull/2959))
([#3294](https://github.com/facebook/jest/pull/3294))
* Improved and consolidated Jest's configuration file resolution.
([#3472](https://github.com/facebook/jest/pull/3472))
* Improved documentation throughout the Jest website.
* Improved documentation to explicitly mention that snapshots must be reviewed.
([#3203](https://github.com/facebook/jest/pull/3203))
* Improved documentation to make it clear CRA users don't need to add
dependencies. ([#3312](https://github.com/facebook/jest/pull/3312))
* Improved eslint-plugin-jest's handling of `expect`.
([#3306](https://github.com/facebook/jest/pull/3306))
* Improved flow-coverage, eslint rules and test coverage within the Jest
repository.
* Improved printing of `expect.assertions` error.
([#3033](https://github.com/facebook/jest/pull/3033))
* Improved Windows test coverage of Jest.
* Refactored configs & transform
([#3376](https://github.com/facebook/jest/pull/3376))
* Refactored reporters to pass individual Tests to reporters.
([#3289](https://github.com/facebook/jest/pull/3289))
* Refactored TestRunner ([#3166](https://github.com/facebook/jest/pull/3166))
* Refactored watch mode prompts.
([#3290](https://github.com/facebook/jest/pull/3290))
* Deleted `jest-file-exists`.
([#3105](https://github.com/facebook/jest/pull/3105))
* Removed `Config` type. ([#3366](https://github.com/facebook/jest/pull/3366))
* Removed all usage of `jest-file-exists`.
([#3101](https://github.com/facebook/jest/pull/3101))
* Adopted prettier on the Jest codebase.
## jest 19.0.1
* Fix infinite loop when using `--watch` with `--coverage`.
* Fixed `watchman` config option.
* Fixed a bug in the jest-editor-support static analysis.
* Fixed eslint plugin warning.
* Fixed missing space in front of "Did you mean …?".
* Fixed path printing in the reporter on Windows.
## jest 19.0.0
* Breaking Change: Added a version for snapshots.
* Breaking Change: Removed the `mocksPattern` configuration option, it never
worked correctly.
* Breaking Change: Renamed `testPathDirs` to `roots` to avoid confusion when
configuring Jest.
* Breaking Change: Updated printing of React elements to cause fewer changes
when props change.
* Breaking Change: Updated snapshot format to properly escape data.
* Fixed --color to be recognized correctly again.
* Fixed `babel-plugin-jest-hoist` to work properly with type annotations in
tests.
* Fixed behavior for console.log calls and fixed a memory leak (#2539).
* Fixed cache directory path for Jest to avoid ENAMETOOLONG errors.
* Fixed change events to be emitted in jest-haste-map's watch mode. This fixes
issues with Jest's new watch mode and react-native-packager.
* Fixed cli arguments to be used when loading the config from file, they were
previously ignored.
* Fixed Jest to load json files that include a BOM.
* Fixed Jest to throw errors instead of ignoring invalid cli options.
* Fixed mocking behavior for virtual modules.
* Fixed mocking behavior with transitive dependencies.
* Fixed support for asymmetric matchers in `toMatchObject`.
* Fixed test interruption and `--bail` behavior.
* Fixed watch mode to clean up worker processes when a test run gets
interrupted.
* Fixed whitespace to be highlighted in snapshots and assertion errors.
* Improved `babel-jest` plugin: babel is loaded lazily, istanbul comments are
only added when coverage is used.
* Improved error for invalid transform config.
* Improved moduleNameMapper to not overwrite mocks when many patterns map to the
same file.
* Improved printing of skipped tests in verbose mode.
* Improved resolution code in jest-resolve.
* Improved to only show patch marks in assertion errors when the comparison
results in large objects.
* New `--collectCoverageFrom` cli argument.
* New `--coverageDirectory` cli argument.
* New `expect.addSnapshotSerializer` to add custom snapshot serializers for
tests.
* New `jest.spyOn`.
* New `testMatch` configuration option that accepts glob patterns.
* New eslint-plugin-jest with no-disabled-tests, no-focuses-tests and
no-identical-title rules and default configuration and globals.
* New expect.stringContaining asymmetric matcher.
* New feature to make manual mocks with nested folders work. For example
`__mocks__/react-native/Library/Text.js` will now work as expected.
* New feature to re-run tests through the notification when using `--notify`.
* New jest-phabricator package to integrate Jest code coverage in phabriactor.
* New jest-validate package to improve configuration errors, help with
suggestions of correct configuration and to be adopted in other libraries.
* New pretty-printing for asymmetric matchers.
* New RSS feed for Jest's blog.
* New way to provide a reducer to extract haste module ids.
* New website, new documentation, new color scheme and new homepage.
* Rewritten watch mode for instant feedback, better code quality and to build
new features on top of it (#2362).
## jest 18.1.0
* Fixed console.log and fake timer behavior in node 7.3.
* Updated istanbul-api.
* Updated jest-diff equality error message.
* Disabled arrow keys when entering a pattern in watch mode to prevent broken
behavior. Will be improved in a future release.
* Moved asymmetric matchers and equality functionality from Jasmine into
jest-matchers.
* Removed jasmine and jest-snapshot dependency from jest-matchers.
* Removed unused global `context` variable.
* Show a better error message if the config is invalid JSON.
* Highlight trailing whitespace in assertion diffs and snapshots.
* Jest now uses micromatch instead of minimatch.
* Added `-h` as alias for `--help`.
## jest 18.0.0
See https://facebook.github.io/jest/blog/2016/12/15/2016-in-jest.html
* The testResultsProcessor function is now required to return the modified
results.
* Removed `pit` and `mockImpl`. Use `it` or `mockImplementation` instead.
* Fixed re-running tests when `--bail` is used together with `--watch`.
* `pretty-format` is now merged into Jest.
* `require('v8')` now works properly in a test context.
* Jest now clears the entire scrollback in watch mode.
* Added `expect.any`, `expect.anything`, `expect.objectContaining`,
`expect.arrayContaining`, `expect.stringMatching`.
* Properly resolve `snapshotSerializers`, `setupFiles`, `transform`,
`testRunner` and `testResultsProcessor` instead of using `path.resolve`.
* `--testResultsProcessor` is now exposed through the cli.
* Renamed `--jsonOutputFile` to `--outputFile`.
* Added `jest-editor-support` for vscode and Nuclide integration.
* Fixed `test.concurrent` unhandled promise rejections.
* The Jest website is now auto-deployed when merging into master.
* Updated `testRegex` to include `test.js` and `spec.js` files.
* Fixes for `babel-plugin-jest-hoist` when using `jest.mock` with three
arguments.
* The `JSON` global in `jest-environment-node` now comes from the vm context
instead of the parent context.
* Jest does not print stack traces from babel any longer.
* Fake timers are reset when `FakeTimers.useTimers()` is called.
* Usage of Jest in watch mode can be hidden through `JEST_HIDE_USAGE`.
* Added `expect.assertions(number)` which will ensure that a specified amount of
assertions is made in one test.
* Added `.toMatchSnapshot(?string)` feature to give snapshots a name.
* Escape regex in snapshots.
* `jest-react-native` was deprecated and now forwards `react-native`.
* Added `.toMatchObject` matcher.
* Further improve printing of large objects.
* Fixed `NaN% Failed` in the OS notification when using `--notify`.
* The first test run without cached timings will now use separate processes
instead of running in band.
* Added `.toHaveProperty` matcher.
* Fixed `Map`/`Set` comparisons.
* `test.concurrent` now works with `--testNamePattern`.
## jest 17.0.3
* Improved file-watching feature in jest-haste-map.
* Added `.toHaveLength` matcher.
* Improved `.toContain` matcher.
## jest 17.0.2
* Fixed performance regression in module resolution.
## jest 17.0.1
* Fixed pretty printing of big objects.
* Fixed resolution of `.native.js` files in react-native projects.
## jest 17.0.0
* Added `expect.extend`.
* Properly resolve modules with platform extensions on react-native.
* Added support for custom snapshots serializers.
* Updated to Jasmine 2.5.2.
* Big diffs are now collapsed by default in snapshots and assertions. Added
`--expand` (or `-e`) to show the full diff.
* Replaced `scriptPreprocessor` with the new `transform` option.
* Added `jest.resetAllMocks` which replaces `jest.clearAllMocks`.
* Fixes for react-native preset.
* Fixes for global built in objects in `jest-environment-node`.
* Create mock objects in the vm context instead of the parent context.
* `.babelrc` is now part of the transform cache key in `babel-jest`.
* Fixes for docblock parsing with haste modules.
* Exit with the proper code when the coverage threshold is not reached.
* Implemented file watching in `jest-haste-map`.
* `--json` now includes information about individual tests inside a file.
## jest 16.0.2
* Symbols are now properly mocked when using `jest-mock`.
* `toHaveBeenCalledWith()` works without arguments again.
* Newlines in snapshots are now normalized across different operating systems.
## jest 16.0.1
* Fix infinite loop.
## jest 16.0.0
* Previously failed tests are now always run first.
* A new concurrent reporter shows currently running tests, a test summary, a
progress bar and estimated remaining time if possible.
* Improved CLI colors.
* `jest <pattern>` is now case-insensitive.
* Added `it.only`, `it.skip`, `test.only`, `test.skip` and `xtest`.
* Added `--testNamePattern=pattern` or `-t <pattern>` to run individual tests in
test files.
* Jest now warns for duplicate mock files.
* Pressing `a`, `o`, `p`, `q` or `enter` while tests are running in the watch
mode, the test run will be interrupted.
* `--bail` now works together with `--watch`.
* Added `test.concurrent` for concurrent async tests.
* Jest now automatically considers files and tests with the `.jsx` extension.
* Added `jest.clearAllMocks` to clear all mocks manually.
* Rewrote Jest's snapshot implementation. `jest-snapshot` can now be more easily
integrated into other test runners and used in other projects.
* This requires most snapshots to be updated when upgrading Jest.
* Objects and Arrays in snapshots are now printed with a trailing comma.
* Function names are not printed in snapshots any longer to reduce issues with
code coverage instrumentation and different Node versions.
* Snapshots are now sorted using natural sort order.
* Snapshots are not marked as obsolete any longer when using `fit` or when an
error is thrown in a test.
* Finished migration of Jasmine matchers to the new Jest matchers.
* Pretty print `toHaveBeenLastCalledWith`, `toHaveBeenCalledWith`,
`lastCalledWith` and `toBeCalledWith` failure messages.
* Added `toBeInstanceOf` matcher.
* Added `toContainEqual` matcher.
* Added `toThrowErrorMatchingSnapshot` matcher.
* Improved `moduleNameMapper` resolution.
* Module registry fixes.
* Fixed invocation of the `setupTestFrameworkScriptFile` script to make it
easier to use chai together with Jest.
* Removed react-native special case in Jest's configuration.
* Added `--findRelatedTests <fileA> <fileB>` cli option to run tests related to
the specified files.
* Added `jest.deepUnmock` to `babel-plugin-jest-hoist`.
* Added `jest.runTimersToTime` which is useful together with fake timers.
* Improved automated mocks for ES modules compiled with babel.
## jest 15.1.1
* Fixed issues with test paths that include hyphens on Windows.
* Fixed `testEnvironment` resolution.
* Updated watch file name pattern input.
## jest 15.1.0
* Pretty printer updates for React and global window objects.
* `jest-runtime` overwrites automocking from configuration files.
* Improvements for watch mode on Windows.
* afterAll/afterEach/beforeAll/beforeEach can now return a Promise and be used
together with async/await.
* Improved stack trace printing on Node 4.
## jest 15.0.2
* Fixed Jest with npm2 when using coverage.
## jest 15.0.1
* Updated toThrow and toThrowMatchers and aliased them to the same matcher.
* Improvements for watch mode.
* Fixed Symbol reassignment in tests would break Jest's matchers.
* Fixed `--bail` option.
## jest 15.0.0
* See https://facebook.github.io/jest/blog/2016/09/01/jest-15.html
* Jest by default now also recognizes files ending in `.spec.js` and `.test.js`
as test files.
* Completely replaced most Jasmine matchers with new Jest matchers.
* Rewrote Jest's CLI output for test failures and summaries.
* Added `--env` option to override the default test environment.
* Disabled automocking, fake timers and resetting the module registry by
default.
* Added `--watchAll`, made `--watch` interactive and added the ability to update
snapshots and select test patterns in watch mode.
* Jest uses verbose mode when running a single test file.
* Console messages are now buffered and printed along with the test results.
* Fix `testEnvironment` resolution to prefer `jest-environment-{name}` instead
of `{name}` only. This prevents a module colision when using `jsdom` as test
environment.
* `moduleNameMapper` now uses a resolution algorithm.
* Improved performance for small test runs.
* Improved API documentation.
* Jest now works properly with directories that have special characters in them.
* Improvements to Jest's own test infra by merging integration and unit tests.
Code coverage is now collected for Jest.
* Added `global.global` to the node environment.
* Fixed babel-jest-plugin-hoist issues with functions called `mock`.
* Improved jest-react-native preset with mocks for ListView, TextInput,
ActivityIndicator and ScrollView.
* Added `collectCoverageFrom` to collect code coverage from untested files.
* Rewritten code coverage support.
## jest 14.1.0
* Changed Jest's default cache directory.
* Fixed `jest-react-native` for react 15.3.0.
* Updated react and react-native example to use `react-test-renderer`.
* Started to refactor code coverage.
## jest 14.0.2
* `babel-jest` bugfix.
## jest 14.0.1
* `babel-jest` can now be used to compose a transformer.
* Updated snapshot instructions to run `jest -u` or `npm test -- -u`.
* Fixed `config` cli option to enable JSON objects as configuration.
* Updated printing of preset path in the CLI.
## jest 14.0.0
* Official release of snapshot tests.
* Started to replace Jasmine matchers with Jest matchers: `toBe`, `toBeFalsy`,
`toBeTruthy`, `toBeNaN`, `toBe{Greater,Less}Than{,OrEqual}`, `toBeNull`,
`toBeDefined`, `toBeUndefined`, `toContain`, `toMatch`, `toBeCloseTo` were
rewritten.
* Rewrite of Jest's reporters.
* Experimental react-native support.
* Removed Jasmine 1 support from Jest.
* Transform caching improvements.
## jest 13.2.0
* Snapshot bugfixes.
* Timer bugfixes.
## jest 13.1.0
* Added `test` global function as an alias for `it`.
* Added `coveragePathIgnorePatterns` to the config.
* Fixed printing of "JSX objects" in snapshots.
* Fixes for `--verbose` option and top level `it` calls.
* Extended the node environment with more globals.
* testcheck now needs to be required explicitly through `require('jest-check')`.
* Added `jest.deepUnmock`.
* Fail test suite if it does not contain any tests.
## jest 13.0.0
* Added duration of individual tests in verbose mode.
* Added a `browser` config option to properly resolve npm packages with a
browser field in `package.json` if you are writing tests for client side apps
* Added `jest-repl`.
* Split up `jest-cli` into `jest-runtime` and `jest-config`.
* Added a notification plugin that shows a test run notification using
`--notify`.
* Refactored `TestRunner` into `SearchSource` and improved the "no tests found"
message.
* Added `jest.isMockFunction(jest.fn())` to test for mock functions.
* Improved test reporter printing and added a test failure summary when running
many tests.
* Add support for property testing via testcheck-js.
* Added a webpack tutorial.
* Added support for virtual mocks through
`jest.mock('Module', implementation, {virtual: true})`.
* Added snapshot functionality through `toMatchSnapshot()`.
* Redesigned website.
## jest-cli 12.1.1
* Windows stability fixes.
* Mock module resolution fixes.
* Remove test files from code coverage.
## jest-cli 12.1.0
* Jest is now also published in the `jest` package on npm.
* Added `testRegex` to match for tests outside of specific folders. Deprecated
both `testDirectoryName` and `testFileExtensions`.
* `it` can now return a Promise for async testing. `pit` was deprecated.
* Added `jest-resolve` as a standalone package based on the Facebook module
resolution algorithm.
* Added `jest-changed-files` as a standalone package to detect changed files in
a git or hg repo.
* Added `--setupTestFrameworkFile` to cli.
* Added support for coverage thresholds. See
http://facebook.github.io/jest/docs/api.html#coveragethreshold-object.
* Updated to jsdom 9.0.
* Updated and improved stack trace reporting.
* Added `module.filename` and removed the invalid `module.__filename` field.
* Further improved the `lastCalledWith` and `toBeCalledWith` custom matchers.
They now print the most recent calls.
* Fixed jest-haste-map on continuous integration systems.
* Fixes for hg/git integration.
* Added a re-try for the watchman crawler.
## jest-cli 12.0.2
* Bug fixes when running a single test file and for scoped package names.
## jest-cli 12.0.1
* Added custom equality matchers for Map/Set and iterables.
* Bug fixes
## jest-cli 12.0.0
* Reimplemented `node-haste` as `jest-haste-map`:
https://github.com/facebook/jest/pull/896
* Fixes for the upcoming release of nodejs 6.
* Removed global mock caching which caused negative side-effects on test runs.
* Updated Jasmine from 2.3.4 to 2.4.1.
* Fixed our Jasmine fork to work better with `Object.create(null)`.
* Added a `--silent` flag to silence console messages during a test run.
* Run a test file directly if a path is passed as an argument to Jest.
* Added support for the undocumented nodejs feature `module.paths`.
## jest-cli 11.0.2
* Fixed `jest -o` error when Mercurial isn't installed on the system
* Fixed Jasmine failure message when expected values were mutated after tests.
## jest-cli 11.0.1, babel-jest 11.0.1
* Added support for Mercurial repositories when using `jest -o`
* Added `mockImplementationOnce` API to `jest.fn()`.
## jest-cli 11.0.0, babel-jest 11.0.0 (pre-releases 0.9 to 0.10)
* New implementation of node-haste and rewrite of internal module loading and
resolution. Fixed both startup and runtime performance.
[#599](https://github.com/facebook/jest/pull/599)
* Jasmine 2 is now the default test runner. To keep using Jasmine 1, put
`testRunner: "jasmine1"` into your configuration.
* Added `jest-util`, `jest-mock`, `jest-jasmine1`, `jest-jasmine2`,
`jest-environment-node`, `jest-environment-jsdom` packages.
* Added `babel-jest-preset` and `babel-jest` as packages. `babel-jest` is now
being auto-detected.
* Added `babel-plugin-jest-hoist` which hoists `jest.unmock`, `jest.mock` and
the new `jest.enableAutomock` and `jest.disableAutomock` API.
* Improved `babel-jest` integration and `react-native` testing.
* Improved code coverage reporting when using `babel-jest`.
* Added the `jest.mock('moduleName', moduleFactory)` feature. `jest.mock` now
gets hoisted by default. `jest.doMock` was added to explicitly mock a module
without the hoisting feature of `babel-jest`.
* Updated jsdom to 8.3.x.
* Improved responsiveness of the system while using `--watch`.
* Clear the terminal window when using `--watch`.
* By default, `--watch` will now only runs tests related to changed files.
`--watch=all` can be used to run all tests on file system changes.
* Debounce `--watch` re-runs to not trigger test runs during a branch switch in
version control.
* Added `jest.fn()` and `jest.fn(implementation)` as convenient shorcuts for
`jest.genMockFunction()` and `jest.genMockFunction().mockImplementation()`.
* Added an `automock` option to turn off automocking globally.
* Added a "no tests found" message if no tests can be found.
* Jest sets `process.NODE_ENV` to `test` unless otherwise specified.
* Fixed `moduleNameMapper` config option when used with paths.
* Fixed an error with Jasmine 2 and tests that `throw 'string errors'`.
* Fixed issues with unmocking symlinked module names.
* Fixed mocking of boolean values.
* Fixed mocking of fields that start with an underscore ("private fields").
* Fixed unmocking behavior with npm3.
* Fixed and improved `--onlyChanged` option.
* Fixed support for running Jest as a git submodule.
* Improved verbose logger output
* Fixed test runtime error reporting and stack traces.
* Improved `toBeCalled` Jasmine 2 custom matcher messages.
* Improved error reporting when a syntax error occurs.
* Renamed HasteModuleLoader to Runtime.
* Jest now properly reports pending tests disabled with `xit` and `xdescribe`.
* Removed `preprocessCachingDisabled` config option.
* Added a `testEnvironment` option to customize the sandbox environment.
* Added support for `@scoped/name` npm packages.
* Added an integration test runner for Jest that runs all tests for examples and
packages.
## 0.8.2
* Performance improvements.
* jest now uses `chalk` instead of its own colors implementation.
## 0.8.1
* `--bail` now reports with the proper error code.
* Fixed loading of the setup file when using jasmine2.
* Updated jsdom to 7.2.0.
## 0.8.0
* Added optional support for jasmine2 through the `testRunner` config option.
* Fixed mocking support for Map, WeakMap and Set.
* `node` was added to the defaults in `moduleFileExtensions`.
* Updated the list of node core modules that are properly being recognized by
the module loader.
## 0.7.1
* Correctly map `process.on` into jsdom environments, fixes a bug introduced in
jest 0.7.0.
## 0.7.0
* Fixed a memory leak with test contexts. Jest now properly cleans up test
environments after each test. Added `--logHeapUsage` to log memory usage after
each test. Note: this is option is meant for debugging memory leaks and might
significantly slow down your test run.
* Removed `mock-modules`, `node-haste` and `mocks` virtual modules. This is a
breaking change of undocumented public API. Usage of this API can safely be
automatically updated through an automated codemod:
* Example: http://astexplorer.net/#/zrybZ6UvRA
* Codemod:
https://github.com/cpojer/js-codemod/blob/master/transforms/jest-update.js
* jscodeshift: https://github.com/facebook/jscodeshift
* Removed `navigator.onLine` and `mockSetReadOnlyProperty` from the global jsdom
environment. Use `window.navigator.onLine = true;` in your test setup and
`Object.defineProperty` instead.
## 0.6.1
* Updated jsdom to 7.0.2.
* Use the current working directory as root when passing a jest config from the
command line.
* Updated the React examples and getting started guide
* Modules now receive a `module.parent` field so unmocked modules don't assume
they are run directly any longer.
## 0.6.0
* jest now reports the number of tests that were run instead of the number of
test files.
* Added a `--json` option to print test results as JSON.
* Changed the preprocessor API. A preprocessor now receives the script, file and
config. The cache key function receives the script, file and stringified
config to be able to create consistent hashes.
* Removed node-worker-pool in favor of node-worker-farm (#540).
* `toEqual` now also checks the internal class name of an object. This fixes
invalid tests like `expect([]).toEqual({})` which were previously passing.
* Added the option to provide map modules to stub modules by providing the
`moduleNameMapper` config option.
* Allow to specify a custom `testRunner` in the configuration (#531).
* Added a `--no-cache` option to make it easier to debug preprocessor scripts.
* Fix code coverage on windows (#499).
## 0.5.6
* Cache test run performance and run slowest tests first to maximize worker
utilization
* Update to jsdom 6.5.0
## 0.5.5
* Improve failure stack traces.
* Fix syntax error reporting.
* Add `--watch` option (#472).
## 0.5.2
* Fixed a bug with syntax errors in test files (#487).
* Fixed chmod error for preprocess-cache (#491).
* Support for the upcoming node 4.0 release (#490, #489).
## 0.5.1
* Upgraded node-worker-pool to 3.0.0, use the native `Promise` implementation.
* `testURL` can be used to set the location of the jsdom environment.
* Updated all of jest's dependencies, now using jsdom 6.3.
* jest now uses the native `Promise` implementation.
* Fixed a bug when passed an empty `testPathIgnorePatterns`.
* Moved preprocessor cache into the haste cache directory.
## 0.5.0
* Added `--noStackTrace` option to disable stack traces.
* Jest now only works with iojs v2 and up. If you are still using node we
recommend upgrading to iojs or keep using jest 0.4.0.
* Upgraded to jsdom 6.1.0 and removed all the custom jsdom overwrites.
## <=0.4.0
* See commit history for changes in previous versions of jest.