nextest-metadata
Structured access to nextest machine-readable output.
0.15.0
7.3M downloads/mo
#3706 most downloaded on crates.io
nextest-rs/nextest
What this package is like to depend on
Last release 19 days 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
8 releases in the last 12 months
see the full history below
Release timeline
36 releases · Feb 2022 to Aug 2026Releases
latest 36-
0.15.004 Aug 2026Release notes
Open source →Added
- A new
build_platformfield onRustNonTestBinarySummaryrecords 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. BuildPlatformnow implementsHash,PartialOrd, andOrd. The order isTargetbeforeHost, though this isn't semantically meaningful.MismatchReason::is_substantive_skipreturns 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.
Changed
-
Documentation-only change:
base_output_directoriesis now documented as being resolved against both of the following:- When joined with
target_directoryit is the Cargo artifact directory, where final artifacts like binaries and dynamic libraries are uplifted to. - When joined with
build_directoryplusdeps, it is the legacydepsdirectory.
This supersedes the note in 0.14.0 that described them as relative to the build directory alone.
- When joined with
-
MSRV updated to Rust 1.86.
- A new
-
0.14.114 Apr 2026Release notes
Open source →Added
- A new
GLOBAL_TEST_GROUPconstant ("@global"), representing the implicit global test group that all tests belong to unless assigned to a custom group.
- A new
-
0.14.017 Mar 2026Release notes
Open source →Added
- A new
build_directoryfield onRustBuildMetaSummary. When Cargo'sbuild.build-diris configured, the build directory (for intermediate artifacts) differs from the target directory. This isNonewhen parsing metadata from older nextest versions, in which case consumers should treat it as equal totarget_directory. - A new
build_script_infofield onRustBuildMetaSummary, keyed by package ID. This isNonewhen parsing metadata from older nextest versions.- The values of this map are
BuildScriptInfoSummarystructs, which currently contain anenvsfield consisting of environment variables set bycargo::rustc-envdirectives.
- The values of this map are
Changed
base_output_directories,build_script_out_dirs, andlinked_pathsare now documented as relative to the build directory rather than the target directory.
- A new
-
0.13.325 Jan 2026Release notes
Open source →Added
MismatchReason::ALL_VARIANTSiterates over all known variants ofMismatchReason.
-
0.13.221 Jan 2026Release notes
Open source →Added
NextestExitCode::RERUN_TESTS_OUTSTANDINGindicates that all tests passed during a rerun, but there are still outstanding tests that were known to have failed earlier.- For test filtering,
MismatchReason::RerunAlreadyPassed, indicating that the test run already passed. - With the
proptest1feature,impl Arbitrary for TestCaseName.
-
0.13.118 Jan 2026Release notes
Open source →Added
- New
proptest1feature enablesproptestArbitraryimplementations forRustBinaryIdandMismatchReason.
- New
-
0.13.001 Jan 2026Release notes
Open source →Changed
-
A new
TestCaseNamenewtype 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.
-
RustTestCaseSummarynow includes akindfield of typeOption<RustTestKind>, distinguishing between tests (#[test]) and benchmarks (#[bench]). This field isNonewhen parsing output from older nextest versions.
-
-
0.12.330 Oct 2025Release notes
Open source →Added
- New exit code constant
NextestExitCode::OK = 0for successful execution.
- New exit code constant
-
0.12.224 Feb 2025Release notes
Open source →Added
RustTestBinaryKind::EXAMPLEis the string"example".Changed
MSRV updated to Rust 1.78.
-
0.12.105 Sep 2024 -
0.12.028 Aug 2024Release notes
Open source →Changed
- Renamed references from "default-set" to "default-filter" to match cargo-nextest changes.
Removed
NextestExitCode::INVALID_FILTER_EXPRESSIONhas been renamed toINVALID_FILTERSET.
-
0.11.325 Aug 2024Release notes
Open source →Changed
NextestExitCode::INVALID_FILTER_EXPRESSIONhas been renamed toNextestExitCode::INVALID_FILTERSET. The old name is kept around as a deprecated alias -- it will be removed in the next major version.
-
0.11.223 Aug 2024Release notes
Open source →Added
- New exit code
NO_TESTS_RUN = 4, indicating no tests to run. - Support for a new mismatch reason for tests and binaries: that they are not in the default set.
- New exit code
-
0.11.023 May 2024Release notes
Open source →Added
RustBuildMetaSummarynow has a newplatformsfield, which contains information about host and target platforms. This field is provided by cargo-nextest 0.9.71 and above.
Changed
- MSRV updated to Rust 1.73.
RustBuildMetaSummary::target_platformsis now deprecated -- useRustBuildMetaSummary::platformsif available.
-
0.10.010 Dec 2023Release notes
Open source →Added
RustBuildMetaSummaryhas a new field calledbuild_script_out_dirs. This is a map of workspace package IDs to their corresponding build scriptOUT_DIRs.
Misc
- The
.cratefiles uploaded to crates.io now contain theLICENSE-APACHEandLICENSE-MITlicense files. Thanks @musicinmybrain for your first contribution!
-
0.9.303 Dec 2023Release notes
Open source →Added
- New method
RustBinaryId::from_partsto construct aRustBinaryIdfrom its constituent parts. - Stabilized and documented the binary ID format.
- New method
-
0.9.227 Sep 2023Release notes
Open source →Added
- New exit code
SETUP_SCRIPT_FAILED: A setup script failed to execute.
Changed
- MSRV updated to Rust 1.70.
- New exit code
-
0.9.130 Jul 2023Release notes
Open source →Added
- New exit codes:
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 bycargo nextest show-config version).
- New exit codes:
-
0.9.026 Jun 2023Release notes
Open source →Changed
target-specupdated to version 3. This version includes support for custom platforms.
-
0.8.209 Apr 2023Release notes
Open source →Fixed
ListCommandwas previously broken: it now uses--message-formatcorrectly. Thanks Donny/강동윤 for your first contribution!
Changed
- MSRV updated to Rust 1.66.
-
0.8.003 Jan 2023Release notes
Open source →Added
- A new wrapper for test binary IDs,
RustBinaryId. This wrapper has a customOrdimplementation to ensure that binary IDs are sorted in a reasonable way forcargo nextest listoutput.
Changed
- Existing uses of test binary IDs have been changed from
StringtoRustBinaryId. - MSRV updated to Rust 1.64.
- A new wrapper for test binary IDs,
-
0.7.223 Nov 2022Release notes
Open source →Added
- A new exit code,
DOUBLE_SPAWN_ERROR, indicates that an error was encountered while attempting to double-spawn a test process.
Changed
- MSRV updated to Rust 1.62.
- A new exit code,
-
0.7.123 Nov 2022 -
0.7.025 Oct 2022Release notes
Open source →Added
-
RustBuildMetaSummaryhas a newtarget-platformsfield, which records information about a list of cross-compilation target platforms. This is to prepare for future support for multiple--targetarguments (#537).This field is optional, which means that the minimum supported nextest version hasn't been bumped with this release.
-
-
0.6.017 Aug 2022Release notes
Open source →Added
RustBuildMetaSummaryhas a newtarget-platformfield which records the target platform. (This field is optional, which means that the minimum supported nextest version hasn't been bumped with this release.)
-
0.5.014 Jul 2022Release notes
Open source →(This change was included in 0.4.4, which should have been a breaking change.)
Changed
RustTestSuiteSummary::testcasesrenamed totest_cases.
-
0.4.413 Jul 2022 withdrawnRelease notes
Open source →Added
RustTestSuiteSummaryhas a new fieldstatus, which is a newtype over strings:"listed": the test binary was executed with--listto gather the list of tests in it."skipped": the test binary was not executed because it didn't match any expression filters.
-
0.4.326 Jun 2022 -
0.4.213 Jun 2022Release notes
Open source →Added
- New documented exit codes related to self-updates:
UPDATE_ERRORUPDATE_AVAILABLEUPDATE_DOWNGRADE_NOT_PERFORMEDUPDATE_CANCELEDSELF_UPDATE_UNAVAILABLE
- New documented exit codes related to self-updates:
-
0.4.107 Jun 2022 -
0.4.031 May 2022Release notes
Open source →Added
- Support for archiving test binaries:
- Non-test binaries and dynamic libraries are now recorded to
RustBuildMetaSummary.
- Non-test binaries and dynamic libraries are now recorded to
Changed
- Minimum supported nextest version bumped to 0.9.15.
- MSRV bumped to 1.59.
- Support for archiving test binaries:
-
0.3.117 Apr 2022 -
0.3.022 Mar 2022Release notes
Open source →Added
TestListSummaryandBinaryListSummaryhave a new member calledrust_build_metakey. This key currently contains the target directory, the base output directories, and paths to search for dynamic libraries in relative to the target directory.
Changed
- MSRV bumped to Rust 1.56.
-
0.2.110 Mar 2022Release notes
Open source →Add documentation about nextest-metadata's "minimum supported cargo-nextest version".
-
0.2.008 Mar 2022Release notes
Open source →Thanks to Guiguiprim for their contributions to this release!
This release is compatible with cargo-nextest 0.9.10 and later.
Added
- Lists now contain the
build-platformvariable, introduced in cargo-nextest 0.9.10. - Support for listing binaries without querying them for the tests they contain.
Changed
- Fields common to test and binary lists have been factored out into a separate struct,
RustTestBinarySummary. The struct is marked with#[serde(flatten)]so the JSON representation stays the same.
- Lists now contain the
-
0.1.013 Feb 2022