Upgrading Jest to leverage Babel 7 provides Jest's initial improvements to TypeScript support as Babel can parse and transform type syntax with @babel/preset-typescript. Because Babel only removes type annotations in its compilation to valid JavaScript, Jest does not type check TypeScript source code.

With the migration from Flow to TypeScript, the Jest team is hopeful that even more contributors will get involved. A minor release with this change should land in 2019.

Jest 23 made a change where tests missing an implementation would throw instead of getting skipped. The Jest team explains that this change broke the workflow for many developers relying on the old behavior as a way to create a todo list for testing. Simen Bekkhus, developer at Folio and Jest contributor, explains:

In Jest 24, we are addressing this issue by adding an explicit test.todo (inspired by the excellent AVA), which will be printed separately in the test summary. It allows you to quickly sketch out which tests you want to write and in the future, an ESLint rule might even be able to warn you that you have forgotten to write out some tests.

Jest 24 makes significant improvements to assertion messages to not miss a few regressions when making progress with development, making it easier to debug and fix issues.

Jest previously had issues with missing console.log statements in some scenarios, and Jest 24 resolves this issue.

Jest 24 introduces some breaking changes:

The upgrade to the Micromatch 3 dependency, which is stricter in its parsing of globs than version 2

Node.js 4 support has been removed, though may still get used by adding polyfills for features missing in Node.js 4

The behavior of serialization of mock functions in snapshots has changes that may break existing users

Jest no longer automatically injects regenerator-runtime; verify the Babel configuration for transpiling async functions if running into this issue

Users of Jest should view the Jest 24 changelog for a complete list of changes in this release.

While Jest has gained significant adoption, in part because it is the default test runner for React, there are many other testing solutions available.

AVA is a modern test runner that tests source code within Node.js. The Jest team credits AVA for the inspiration of several improvements.