NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1237 most downloaded on pub.dev
A framework for checking values against expectations and building custom expectations.
Last release 1 months ago
04 Sep 2026
Release timing varies
gaps range from 1 weeks to 1.4 years
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
7 releases · first in 2023
One column per quarter.
Bump test dev dependency constraint.
test dev dependency constraint.isNotA<R>() check extension as a convenience in place ofnot((it) => it.isA<R>()).mayEmit ormayEmitMultiple. Note that extensions using nestAsync should synchronouslytoString().@awaitNotRequired since tests are safelyDirectly compare keys across actual and expected Map instances when checking deep collection equality and all the keys can be directly compared for eq
Map instances when
checking deep collection equality and all the keys can be directly compared
for equality. This maintains the path into a nested collection for typical
cases of checking for equality against a purely value collection.containsMatchingInOrder and containsEqualInOrder to replace the
combined functionality in containsInOrder.pairwiseComparesTo with pairwiseMatches.TypeError when comparing large Map instances.Remove the Condition class and the it() utility. Replace calls to (it()..someExpectation()) with ((it) => it.someExpectation()).
Condition class and the it() utility. Replace calls to
(it()..someExpectation()) with ((it) => it.someExpectation()).Return the first failure from softCheck and softCheckAsync as documented, instead of the last failure when there are multiple failures.
softCheck and softCheckAsync as
documented, instead of the last failure when there are multiple failures.because usage and mention the "reason" name in the migration
guide.ComparableChecks with comparison expectations for subject types that
implement Comparable.Add a link to file issues with feedback in the README.
nest and nestAsync take Iterable Function() arguments for label instead of String.
checkThat renamed to check.nest and nestAsync take Iterable<String> Function() arguments for
label instead of String.completes, throws, emits, and
emitsError no longer return a Future<Subject>. Instead they take an
optional Condition argument which can check expectations that would
have been checked on the returned subject.nestAsync no longer returns a Subject, callers must pass the
followup Condition to the nullable argument.which extension on Future<Subject>.matches renamed to matchesPattern and now accepts a Pattern
argument, instead of limiting to RegExp.- Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →