NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4442 most downloaded on npm
ESLint plugin for Playwright testing.
Last release 20 days ago
14 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
80 releases · first in 2020
One column per quarter.
no-skipped-test: detect testInfo annotations and split allowConditional
no-unnecessary-assertions: flag always-passing assertions on a Locator ( #470 ) ( b6d3e5d ), closes #463
handle optional chaining in missing-playwright-await
valid-title: Skip title checks for anonymous describe blocks
missing-playwright-await: Fix false positive when not assigning awaited variable
missing-playwright-await: Fix false positive when re-assigning awaited variable ( 8cca0ac ), closes #456
missing-playwright-await: Don't flag Array.fill as missing await ( cff9640 ), closes #450
missing-playwright-await: Fix false positive with expect().resolves ( 352e15e ), closes #448
no-restricted-roles: Catch all uses, not just on page methods
Add missing test coverage and fix several minor bugs
missing-playwirght-await: Fix false positive with promise chains
Support ESLint 10 (aa5315b), closes #424
Exclude @typescript-eslint/utils from the bundle (6547702), closes #425
docs: consistent-spacing-between-blocks name
no-duplicate-slow rule (dac9495), closes #418no-restricted-roles rule (#422) (91817bf)require-to-pass-timeout rule (e620e87), closes #345no-conditional-in-test: Fix false positive for ||
Add enforce-consistent-spacing-between-blocks rule
no-conditional-in-test: allow nullish coalescing operator (2c25b4f), closes #406
missing-playwright-await: prevent infinite recursion in checkValidity
Support addInitScript in no-unsafe-references
Add no-slowed-test rule (#302) (53df693), closes #296
Add test.fail.only as a valid chain
Fix types for native TypeScript ESM
## 2.0.0 (2024-10-23) ### ⚠ BREAKING CHANGES * Remove jest-playwright configs ### Features * Remove jest-playwright configs (ba82509) ### Bug Fixes *
## 1.8.3 (2024-10-23) ### Bug Fixes * Fix package exports
no-useless-await: Fix false positive with expect.poll and resolves/rejects (23663fb), closes #323
no-useless-await: Remove useless awaits from expect methods (e283efc), closes #306
prefer-locator: Add rule to suggest not using page methods
.all() and .toHaveLength() (149ddc2), closes #284test.expect style (6a84431), closes #297test.step and add ignoreTypeOfStepName option (https://github.com/playwright-community/eslint-plugin-playwright/pull/309)prefer-to-have-count: Support variable references
valid-expect: Don' mark expect.anything() as invalid.
Make config TypeScript compatible
valid-describe-callback: Support unnamed describe
require-hook: False positive when using new options argument
Add support for new test option syntax
visible and enabled options (e97a62b)valid-describe-callback: False positive with test.describe.configure
valid-describe-callback: Fix false negatives
Add valid-describe-callback rule
valid-describe-callback rule (c0bd18e)valid-expect-in-promise rule (cbf356d)require-to-throw-message rule (3bb8c6a)test.use usage (13141cc)This release brings with it some major refactoring to the internals of the plugin to improve consistency, performance, and future enhancements. This should not cause any issues as we have a very extensive test suite, but if you encounter any issues, please let us know!
no-standalone-expect: Allow expect() calls in test hooks (5524bf7), closes #242
Add no-hooks rule (1c9f671), closes #232
Add no-commented-out-tests rule
no-unsafe-references: Ignore TypeScript type references (3b3cafd), closes #214
False positives for no-unsafe-references when using Promise, window, or console
Add no-unsafe-references rule to check for unsafe references to variables within page.evaluate()
no-unsafe-references rule to check for unsafe references to variables within page.evaluate() (27f6236)prefer-web-first-assertions (#210) (8dae81e)Add missing no-get-by-title config
Add no-get-by-title rule (d7c0753), closes #196
no-get-by-title rule (d7c0753), closes #196settings.globalAliases to support custom test/expect names (40759e7)assertFunctionNames (cc3159a)additionalAssertFunctionNames to assertFunctionNames (ed5d7bc)additionalAssertFunctionNames option to assertFunctionNames. The accepted values are the same, the setting name is the only change.assertFunctionNames is now only available at the rule levelAdd toPass to missing-playwright-await test matchers
## 0.22.1 (2024-01-18) ### Bug Fixes * Remove accidental console log
# 0.17.0 (2023-10-16) ### Features * Support Flat config (#169) * Add prefer-to-have-count rule
Only support ...Expect as a variation to expect. This prevents false negatives such as expectSomethingToBe() but still will catch softExpect() type va
Fix false positive for expect-expect when using test.step (e7b108d), closes #149
Your coding agent can read these notes before it upgrades. Set up the MCP server →