unstale

npm / eslint-plugin-jest

eslint-plugin-jest

What changed in eslint-plugin-jest 29, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

5 breaking10 new APIs and options1 performance5 behavior and defaults2 tooling26 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

eslint-plugin-jest 2949 changes

Breaking changes 5

  • The rule now reports export all declarations.

    29.16.11release notes

  • The rule now bans optional chaining in tests.

    29.14.0release notes

  • The rule now ensures printf specifiers in .each titles are valid.

    29.10.0release notes

  • The rule now reports on export = usage.

    29.2.2release notes

  • The rule now reports ERR_PACKAGE_PATH_NOT_EXPORTED errors when validating mock module paths.

    29.2.1release notes

New APIs and options 10

  • Adds the checkThenables option for custom promises.

    29.16.0release notes

  • Adds the prefer-mock-return-shorthand rule.

    29.11.0release notes

  • Adds the valid-expect-with-promise rule.

    29.8.0release notes

  • A new rule is available to configure in eslint-plugin-jest.

    29.7.0release notes

  • Adds the no-unnecessary-assertion rule.

    29.6.0release notes

  • Adds the no-unneeded-async-expect-function ESLint rule.

    29.5.0release notes

  • A new rule is available for configuring ESLint checks.

    29.4.0release notes

  • A new rule is available for configuring ESLint checks.

    29.4.0release notes

  • Adds the valid-mock-module-path rule.

    29.2.0release notes

  • The rule can now be configured to ignore todo tests.

    29.1.0release notes

Performance 1

  • Parsing is cached for nodes that turn out not to be Jest function calls.

    29.16.9release notes

Behavior and default changes 5

  • The rule now allows expect assertions in beforeEach hooks.

    29.17.0release notes

  • Only report optional chaining when allowOptionalChaining is false.

    29.15.0release notes

  • The rule greatly improves checking whether mutable variables are used.

    29.12.0release notes

  • The rule now supports the toBeNaN matcher when checking for unnecessary assertions.

    29.9.0release notes

  • The rule supports basic uses of hasAssertions in beforeEach and afterEach hooks.

    29.3.0release notes

Tooling 2

Fixes and other changes 26

  • The rule now checks dynamic imports.

    29.16.11release notes

  • Most rules now account for optional chaining, improving how they handle code that uses it.

    29.16.10release notes

  • The rule no longer drops only and skip from each chains.

    29.16.9release notes

  • No longer crashes when expect is called without an argument.

    29.16.8release notes

  • The rule now accounts for optional chaining.

    29.16.7release notes

  • No longer crashes on a matcher without an argument.

    29.16.6release notes

  • No longer crashes on an expect chain without a value.

    29.16.6release notes

  • The no-export rule now handles literal property accessors.

    29.16.5release notes

  • The no-export rule now handles nested assignment chains.

    29.16.4release notes

  • The rule now checks for the exports global.

    29.16.3release notes

  • The rule no longer crashes on an expect chain without a value.

    29.16.2release notes

  • No longer crashes on an expect chain without a value.

    29.16.1release notes

  • No longer crashes on an expect chain without a value.

    29.16.1release notes

  • The rule no longer reports assignments to local variables named module.

    29.15.4release notes

  • Treats describe blocks as test files when applying the no-export rule.

    29.15.3release notes

  • The rule no longer reports virtual mocks.

    29.15.2release notes

  • TypeScript v7 is now allowed as a peer dependency.

    29.15.1release notesrelease notes

  • The rule no longer reports unnecessary assertions for any and unknown types.

    29.12.1release notes

  • The rule now ignores use of update expressions.

    29.11.4release notes

  • The rule now ignores async implementations.

    29.11.3release notes

  • The rule no longer reports mutable implementations.

    29.11.2release notes

  • The rule now ignores inline use of jest.mocked(...).

    29.11.1release notes

  • The rule no longer crashes on it.todo.

    29.10.1release notes

  • The rule now ignores resolve and reject chains for now, avoiding unnecessary assertion reports on those chains.

    29.6.1release notes

  • The rule now checks that the current matcher is toHaveLength.

    29.4.1release notes

  • The rule's error message now uses the correct word.

    29.2.3release notes