TL;DR

  • Major runtime rewrite improves ESM support, including require(esm) on Node 24.9+.
  • Introduces fake timers for Node v26’s Temporal API.
  • Adds proper pretty-format support for React 19 snapshots.

Key Changes

Jest v30.4.0, a major update released on May 7, 2026, by Meta, focuses on modernizing its core and expanding compatibility. This release is particularly significant for test automation engineers working with evolving JavaScript ecosystems.

Features:

The most notable change is a rewrite of Jest’s custom runtime, preparing for stable native ESM support. This work enables require(esm) module support on Node 24.9+ (requiring --experimental-vm-modules). QA teams can now test ESM modules more effectively, aligning with modern JavaScript development practices. For those exploring Jest testing tutorials, this means a smoother experience with module imports.

Another key feature is the introduction of fake timers for Node v26’s Temporal API. This allows precise control over time-sensitive tests, crucial for applications using the new global Temporal objects. Jest now accepts Temporal.Duration, Temporal.Instant, and Temporal.ZonedDateTime in jest.advanceTimersByTime() and jest.setSystemTime().

React 19 is now properly supported in pretty-format, ensuring snapshots of React components work as expected. This is vital for projects using Jest with Testing Library for component testing.

Other additions include the --collect-tests flag for discovering tests without execution, per-project verbose and silent configurations, and support for jest.config.mts configuration files.

Fixes:

Several important fixes address stability and accuracy. toStrictEqual no longer fails on structuredClone results due to cross-realm constructor mismatches. toMatchObject prevents throwing errors with exotic iterables. Additionally, Error.cause is now included in JSON failureMessages output, improving debugging capabilities.

Impact for QA Teams

This update streamlines testing for modern JavaScript applications, especially those adopting ESM and the Temporal API. Improved React 19 snapshot support ensures consistent UI testing. The new --collect-tests flag aids in test discovery and planning, enhancing overall test management.

FAQ

Q: What is the main improvement for ESM? A: Jest v30.4.0 features a runtime rewrite, enabling require(esm) support on Node 24.9+ for better ESM module testing.

Q: How does this update help with time-sensitive tests? A: It adds fake timers for Node v26’s Temporal API, allowing precise control over time in tests using Temporal objects.

Q: Is React 19 fully supported now? A: Yes, pretty-format now properly supports React 19, ensuring accurate snapshot testing for React components.