NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3677 most downloaded on crates.io
Structured access to nextest machine-readable output.
Last release 2 months ago
04 Aug 2026
Release timing varies
gaps range from 2 weeks to 8 months
Nearly every release is documented
notes for 35 of 35 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
36 releases · first in 2022
One column per quarter.
A new build_platform field on RustNonTestBinarySummary records whether Cargo built the binary for the host or for the target. Future versions of nexte
build_platform field on RustNonTestBinarySummary records whether Cargo built the binary for the host or for the target. Future versions of nextest will use this to correctly configure environment variables depending on the build platform.BuildPlatform now implements Hash, PartialOrd, and Ord. The order is Target before Host, though this isn't semantically meaningful.MismatchReason::is_substantive_skip returns true if a skip reflects a real filtering decision, rather than a run-mode artifact such as a non-benchmark test excluded from a benchmark run.Documentation-only change: base_output_directories is now documented as being resolved against both of the following:
target_directory it is the Cargo artifact directory, where final artifacts like binaries and dynamic libraries are uplifted to.build_directory plus deps, it is the legacy deps directory.This supersedes the note in 0.14.0 that described them as relative to the build directory alone.
MSRV updated to Rust 1.86.
A new GLOBAL_TEST_GROUP constant ("@global"), representing the implicit global test group that all tests belong to unless assigned to a custom group.
GLOBAL_TEST_GROUP constant ("@global"), representing the implicit global test group that all tests belong to unless assigned to a custom group.A new build_directory field on RustBuildMetaSummary. When Cargo's build.build-dir is configured, the build directory (for intermediate artifacts) diff
build_directory field on RustBuildMetaSummary. When Cargo's build.build-dir is configured, the build directory (for intermediate artifacts) differs from the target directory. This is None when parsing metadata from older nextest versions, in which case consumers should treat it as equal to target_directory.build_script_info field on RustBuildMetaSummary, keyed by package ID. This is None when parsing metadata from older nextest versions.
BuildScriptInfoSummary structs, which currently contain an envs field consisting of environment variables set by cargo::rustc-env directives.base_output_directories, build_script_out_dirs, and linked_paths are now documented as relative to the build directory rather than the target directory.MismatchReason::ALL_VARIANTS iterates over all known variants of MismatchReason.
MismatchReason::ALL_VARIANTS iterates over all known variants of MismatchReason.NextestExitCode::RERUN_TESTS_OUTSTANDING indicates that all tests passed during a rerun, but there are still outstanding tests that were known to have
NextestExitCode::RERUN_TESTS_OUTSTANDING indicates that all tests passed during a rerun, but there are still outstanding tests that were known to have failed earlier.MismatchReason::RerunAlreadyPassed, indicating that the test run already passed.proptest1 feature, impl Arbitrary for TestCaseName.New proptest1 feature enables proptest Arbitrary implementations for RustBinaryId and MismatchReason.
proptest1 feature enables proptest Arbitrary implementations for RustBinaryId and MismatchReason.A new TestCaseName newtype wraps test case identifiers, providing type safety and utility methods:
A new TestCaseName newtype wraps test case identifiers, providing type safety and utility methods:
components() splits the name on :: to yield module path components.module_path_and_name() extracts the module path prefix and trailing name.RustTestCaseSummary now includes a kind field of type Option<RustTestKind>, distinguishing between tests (#[test]) and benchmarks (#[bench]). This field is None when parsing output from older nextest versions.
New exit code constant NextestExitCode::OK = 0 for successful execution.
NextestExitCode::OK = 0 for successful execution.RustTestBinaryKind::EXAMPLE is the string "example".
RustTestBinaryKind::EXAMPLE is the string "example".
MSRV updated to Rust 1.78.
Internal dependency updates.
Internal dependency updates.
Renamed references from "default-set" to "default-filter" to match cargo-nextest changes.
NextestExitCode::INVALID_FILTER_EXPRESSION has been renamed to INVALID_FILTERSET.The old name is kept around as a deprecated alias -- it will be removed in the next major version.
NextestExitCode::INVALID_FILTER_EXPRESSION has been renamed to
NextestExitCode::INVALID_FILTERSET. The old name is kept around as a deprecated alias -- it will
be removed in the next major version.New exit code NO_TESTS_RUN = 4, indicating no tests to run.
NO_TESTS_RUN = 4, indicating no tests to run.RustBuildMetaSummary::target_platforms is now deprecated -- use RustBuildMetaSummary::platforms if available.
RustBuildMetaSummary now has a new platforms field, which contains information about host and
target platforms. This field is provided by cargo-nextest 0.9.71 and above.RustBuildMetaSummary::target_platforms is now deprecated -- use
RustBuildMetaSummary::platforms if available.RustBuildMetaSummary has a new field called build_script_out_dirs. This is a map of workspace package IDs to their corresponding build script OUT_DIRs
RustBuildMetaSummary has a new field called build_script_out_dirs. This is a map of workspace package IDs to their corresponding build script OUT_DIRs..crate files uploaded to crates.io now contain the LICENSE-APACHE and LICENSE-MIT license files. Thanks @musicinmybrain for your first contribution!New method RustBinaryId::from_parts to construct a RustBinaryId from its constituent parts.
RustBinaryId::from_parts to construct a RustBinaryId from its constituent parts.New exit code SETUP_SCRIPT_FAILED: A setup script failed to execute.
SETUP_SCRIPT_FAILED: A setup script failed to execute.REQUIRED_VERSION_NOT_MET: The current version of nextest did not meet repository or tool requirements.
REQUIRED_VERSION_NOT_MET: The current version of nextest did not meet repository or tool requirements.RECOMMENDED_VERSION_NOT_MET: The current version of nextest is older than the minimum recommended version. (This is an advisory code, only generated by cargo nextest show-config version).target-spec updated to version 3. This version includes support for custom platforms.
target-spec updated to version 3. This version includes support for custom platforms.ListCommand was previously broken: it now uses --message-format correctly. Thanks Donny/강동윤 for your first contribution!
ListCommand was previously broken: it now uses --message-format correctly. Thanks Donny/강동윤 for your first contribution!A new wrapper for test binary IDs, RustBinaryId. This wrapper has a custom Ord implementation to ensure that binary IDs are sorted in a reasonable way
RustBinaryId. This wrapper has a custom Ord implementation to ensure that binary IDs are sorted in a reasonable way for cargo nextest list output.String to RustBinaryId.A new exit code, DOUBLE_SPAWN_ERROR, indicates that an error was encountered while attempting to double-spawn a test process.
DOUBLE_SPAWN_ERROR, indicates that an error was encountered while attempting to double-spawn a test process.(This version was not published due to a code issue.)
(This version was not published due to a code issue.)
RustBuildMetaSummary has a new target-platforms field, which records information about a list of cross-compilation target platforms. This is to prepar
RustBuildMetaSummary has a new target-platforms field, which records information about a list
of cross-compilation target platforms. This is to prepare for future support for multiple
--target arguments (#537).
This field is optional, which means that the minimum supported nextest version hasn't been bumped with this release.
RustBuildMetaSummary has a new target-platform field which records the target platform. (This field is optional, which means that the minimum supporte
RustBuildMetaSummary has a new target-platform field which records the target platform. (This
field is optional, which means that the minimum supported nextest version hasn't been bumped with
this release.)(This change was included in 0.4.4, which should have been a breaking change.)
(This change was included in 0.4.4, which should have been a breaking change.)
RustTestSuiteSummary::testcases renamed to test_cases.RustTestSuiteSummary has a new field status, which is a newtype over strings:
RustTestSuiteSummary has a new field status, which is a newtype over strings:
"listed": the test binary was executed with --list to gather the list of tests in it."skipped": the test binary was not executed because it didn't match any expression filters.New documented exit code [WRITE_OUTPUT_ERROR].
WRITE_OUTPUT_ERROR.New [documented exit codes] related to self-updates:
UPDATE_ERRORUPDATE_AVAILABLEUPDATE_DOWNGRADE_NOT_PERFORMEDUPDATE_CANCELEDSELF_UPDATE_UNAVAILABLENew documented exit code [TEST_LIST_CREATION_FAILED].
TEST_LIST_CREATION_FAILED.Support for archiving test binaries:
RustBuildMetaSummary.New exit code: INVALID_FILTER_EXPRESSION.
INVALID_FILTER_EXPRESSION.TestListSummary and BinaryListSummary have a new member called rust_build_meta key. This key currently contains the target directory, the base output
TestListSummary and BinaryListSummary have a new member called rust_build_meta key. This key currently contains the target directory, the base output directories, and paths to search for dynamic libraries in relative to the target directory.Add documentation about nextest-metadata's "minimum supported cargo-nextest version".
Add documentation about nextest-metadata's "minimum supported cargo-nextest version".
Thanks to Guiguiprim for their contributions to this release!
Thanks to Guiguiprim for their contributions to this release!
This release is compatible with cargo-nextest 0.9.10 and later.
build-platform variable, introduced in cargo-nextest 0.9.10.RustTestBinarySummary. The struct is marked with #[serde(flatten)] so the JSON representation stays the same.Initial version, with support for listing tests.
Your coding agent can read these notes before it upgrades. Set up the MCP server →