Skip to content

Releases: avajs/ava

v8.0.1

Choose a tag to compare

@ava-launchpad ava-launchpad released this 17 May 19:34
Immutable release. Only release title and notes can be modified.
bbfd946

What's Changed

This release officially adds Node.js 26 support, with thanks to @novemberborn in #3450.

Per our policy, support for Node.js 25 has been removed.

Full Changelog: v8.0.0...v8.0.1

v8.0.0

Choose a tag to compare

@ava-launchpad ava-launchpad released this 27 Apr 19:49
Immutable release. Only release title and notes can be modified.
fe31286

Breaking Changes

AVA now expects Node.js 22.20, 24.12 or newer.

Internally AVA is now fully ESM. This is possible now that Node.js supports loading ES modules using require() calls and simplifies AVA's types and internals.

If you use AVA from a CommonJS project you'll have to update your imports:

-const test = require('ava');
+const {default: test} = require('ava');

We expect an increasing number of projects to be ESM only. As per the above, CommonJS is still supported, but we don't expect cjs extensions to be used. The default file extensions are now js and mjs. Specify extensions: ['cjs', 'js', 'mjs'] for AVA to run test files with the cjs extension.

All test files (and those loaded through AVA's require config) are now loaded via import(). Use customization hooks for transpilation. The object form of the extensions configuration is no longer supported.

If you use AVA with @ava/typescript you must upgrade that package to v7.

New Features

There's two new test modifiers courtesy of @sindresorhus: test.skipIf() to skip a test based on a runtime condition. test.runIf() is the inverse: the test only runs when the condition is true.

test.skipIf(process.platform === 'win32')('not on Windows', t => {
	t.pass();
});

test.runIf(process.platform === 'linux')('Linux only', t => {
	t.pass();
});

These work with other modifiers like .serial and .failing:

test.serial.skipIf(process.platform === 'win32')('serial, not on Windows', t => {
	t.pass();
});

test.failing.skipIf(process.platform === 'win32')('expected failure, not on Windows', t => {
	t.fail();
});

Other Changes

  • Watch mode now ignores changes to *.tsbuildinfo files
  • TAP reporter is more defensive when restoring the original error name, thanks to @ninper00 in #3415
  • Reported errors when throwsAsync/notThrowsAsync are not awaited have been improved by @sindresorhus in #3436

New Contributors

Full Changelog: v7.0.0...v8.0.0

v7.0.0

Choose a tag to compare

@github-actions github-actions released this 27 Feb 21:53
02c63fe

What's Changed

  • Replace strip-ansi with node:util.stripVTControlCharacters by @fisker in #3403
  • Remove support for Node.js 18 and 23; require 20.19 or newer, 22.20 or newer or 24,12 or newer; update dependencies including transitive glob by @novemberborn in #3416

Full Changelog: v6.4.1...v7.0.0

v6.4.1

Choose a tag to compare

@github-actions github-actions released this 12 Jul 20:10
603d7ca

What's Changed

  • Keep test worker alive until explicitly freed by @matz3 in #3391

New Contributors

Full Changelog: v6.4.0...v6.4.1

v6.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Jun 20:13
372c241

What's Changed

Interactive watch mode filters

@mmulet did fantastic work to spearhead interactive watch mode filters. You can now filter test files by glob patterns, and tests by matching their titles. It's just like you already could from the CLI itself, but now without exiting AVA 🚀 #3372

As part of this work we've removed the "sticky" .only() behavior #3381

Examples

We've been remiss in merging #3335 which updates the examples to use AVA 6. It's done now, examples are up to date and it's all due to @tommy-mitchell 👏

New Contributors

Full Changelog: v6.3.0...v6.4.0

v6.3.0

Choose a tag to compare

@novemberborn novemberborn released this 02 May 12:40
ca4240d

What's Changed

  • Update dependencies, addressing npm audit warnings by @novemberborn in #3377
  • Do not count writes to stdout/stderr as non-idling activity for timeouts by @mdouglass in #3374

New Contributors

Full Changelog: v6.2.0...v6.3.0

v6.2.0

Choose a tag to compare

@novemberborn novemberborn released this 27 Oct 13:37
024de32

What's Changed

  • Add filterNodeArgumentsForWorkerThreads option in #3336
  • Add Node.js 23 to supported engines (and test matrix) in #3346

New Contributors

Full Changelog: v6.1.3...v6.2.0

v6.1.3

Choose a tag to compare

@novemberborn novemberborn released this 05 May 20:35
f8bf00c

What's Changed

  • Include Node.js 22 in supported engines and test matrix by @lenovouser in #3328
  • Add VS Code debugging instructions for Yarn PnP projects by @bitjson in #3317
  • Document serial configuration option by @turadg in #3321

New Contributors

Full Changelog: v6.1.2...v6.1.3

v6.1.2

Choose a tag to compare

@novemberborn novemberborn released this 28 Feb 20:56
5d48c95

What's Changed

  • Fix throws assertions rejecting falsy values when any: true by @gibson042 in #3313

Full Changelog: v6.1.1...v6.1.2

v6.1.1

Choose a tag to compare

@novemberborn novemberborn released this 29 Jan 21:07
2e0c2b1

What's Changed

Full Changelog: v6.1.0...v6.1.1