NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2909 most downloaded on crates.io
A next-generation test runner for Rust.
Last release 16 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
5 years old
170 releases · first in 2022
One column per quarter.
Updated chacha20 and der to non-yanked versions.
Configuration diagnostics now name the file each setting came from. For example, cargo nextest show-config version shows which file specified the next
Configuration diagnostics now name the file each setting came from. For example, cargo nextest show-config version shows which file specified the nextest-version requirement, and cargo nextest show-config test-groups shows which file each override was defined in.
For now, this is most useful when tool-specific config files are in play, but upcoming work to support local configuration files also benefits from this. (#3580, #3584)
Config file paths in errors and warnings are now displayed relative to the directory nextest is invoked from, following typical CLI conventions. Previously, parse errors showed absolute paths and warnings showed paths relative to the workspace root. In stylized output, config file paths are now colored as well. (#3568, #3570, #3577)
Per-test overrides and setup and wrapper scripts defined in a profile's inheritance chain are now applied. Previously, only the selected profile's own overrides and those in profile.default were consulted, so overrides in intermediate profiles were silently skipped. As part of this change, a profile that does not set default-filter now inherits it from the nearest ancestor that does, rather than always from profile.default. (#3585)
A default-filter set by a tool config file is now respected when the repository config does not set one. Previously, the tool's filter was ignored and all() was used. (#3592)
Profile inheritance cycles that span multiple config files, such as a tool config file redefining a profile that the repository config inherits from, are now detected and reported as errors. Previously, cycles were only detected within a single file. (#3588)
Passing --tool-config-file more than once for the same tool name now produces an error. Previously, nextest panicked internally. (#3589)
The hint shown when a command requires an experimental feature that isn't enabled now points at the correct config file path when nextest is run from a subdirectory of the workspace, from outside the workspace, or with an explicit --config-file. (#3565)
On Unix platforms where the Rust standard library cannot create pipes with FD_CLOEXEC set atomically (most notably Apple platforms), a test could inherit a sibling test's capture pipe if the two were spawned concurrently. The sibling was then reported as having leaked handles after it exited. Nextest now creates capture pipes itself and coordinates pipe creation with process spawning, so that spawns no longer inherit stray pipes. (#3553)
An upcoming design document will go over how nextest spawns processes in detail, including more information about this workaround.
Thanks gaborbernat for your first contribution!
Failures while setting up run recording (for example, a store directory that cannot be created) are now always reported as warnings, and the test run
cargo nextest run -R latest can only continue the chain in that case. (#3548)[05:313:30]. (#3535)cargo metadata or cargo build invocation fails, the error message now shows the full list of arguments that were passed to Cargo, including --color and --manifest-path. Previously, some arguments were omitted from the message. (#3557)Thanks chirizxc, latent-9, and k-cross for your first contributions!
A new junit.report-skipped configuration setting controls which skipped tests are emitted in the JUnit XML report as <testcase> elements with a <skipp
A new junit.report-skipped configuration setting controls which skipped tests are emitted in the JUnit XML report as <testcase> elements with a <skipped> child. (#885)
Thanks to liangfu for your first contribution!
While listing tests, nextest now shows a progress bar if listing takes longer than 2 seconds. Listing is usually fast, but can be slow in some environments, such as with antivirus software that scans each test binary before it runs. (#3471)
The binaries metadata (used by archives and --binaries-metadata) now records whether Cargo built each non-test binary for the host or the target platform. Future versions of nextest will use this to configure environment variables correctly in cross-compilation scenarios. (#3520)
deps directory. Previously the two were reversed, so a test could potentially resolve a dylib to a different copy than cargo test would. (Cargo swapped the two in 1.93.)dylib dependency failed to start because the dynamic library could not be found.build.build-dir is configured, nextest now adds the Cargo artifact directory (where final artifacts like binaries and dynamic libraries are uplifted to) instead of the build directory (for intermediate artifacts) to the dynamic library search path. This matches Cargo's behavior.[[example]] targets, which Cargo places in examples rather than deps. Previously, a run restricted to examples didn't add anything to the dynamic library search path, so an example test linking against a dylib failed to start.CARGO_BIN_EXE_<name> are still filtered out if no test binaries from that package are selected. (#3516)A new cargo nextest help subcommand renders reference documentation directly in the terminal. The available topics are:
A new cargo nextest help <topic> subcommand renders reference documentation directly in the terminal. The available topics are:
filterset (alias filtersets): the filterset DSL referencerepo-config: the repository configuration referenceuser-config: the user configuration referencecargo nextest help lists the available topics. (#3419, #3424, #3432, #3433)
aarch64-unknown-linux-gnu and riscv64-unknown-linux-gnu builds has been lowered to glibc 2.27.riscv64-unknown-linux-gnu now uses rustls + aws-lc-rs rather than OpenSSL.Nothing published for this version
Nothing published for this version
Nextest now sets the following environment variables during the list phase, not just the run phase:
Nextest now sets the following environment variables during the list phase, not just the run phase:
NEXTEST_VERSIONNEXTEST_REQUIRED_VERSIONNEXTEST_RECOMMENDED_VERSIONNEXTEST_RUN_IDNEXTEST_BINARY_IDNEXTEST_WORKSPACE_ROOTThis lets target runners and custom test harnesses use this information while listing tests. (#3410)
--cargo-metadata is passed without --binaries-metadata, and the Cargo metadata contains exactly one default member (for example, metadata generated with --manifest-path path/to/package/Cargo.toml), nextest now anchors the build scope to that member's Cargo.toml rather than widening it to the entire workspace. (#3409)--workspace-remap now requires both --cargo-metadata and --binaries-metadata. The combination of --workspace-remap and --cargo-metadata cannot work without --binaries-metadata, so nextest now reports this as an error up front. (#3409)CLI --help descriptions, configuration-reference docs, and JSON schema descriptions now use consistent language and voice. ([#3366])
--help descriptions, configuration-reference docs, and JSON schema descriptions now use consistent language and voice. (#3366)not(test(foo)), all()and(test(foo)), and all()or(test(foo)), where not, and, or or is immediately followed by an opening parenthesis, now parse correctly. Previously, a separating space was required. (#3367)Following up from the recently-added schema for repository configuration, nextest now also provides a JSON Schema for user configuration. The schema f
cargo nextest self schema user-config. (#3351)max-progress-running user-config setting no longer accepts numeric strings like "8" (an undocumented fallback). The supported values remain a non-negative integer (e.g. 8) or "infinite". (#3350)Fixed an issue with a from-crates.io build.
Fixed an issue with a from-crates.io build.
Nextest now supports a `group()` filterset predicate for CLI filter expressions, allowing tests to be listed or run by their assigned test group. ([#3
Nextest now supports a group() filterset predicate for CLI filter expressions, allowing tests to be listed or run by their assigned test group. (#3273)
For example, to run all tests in a specific group:
cargo nextest run -E 'group(my-group)'
To list all tests that aren't in the default global group:
cargo nextest list -E 'not group(@global)'
As part of cargo test binary emulation, --nocapture can now be passed in after --.
--status-level fail is set, slow test notifications were previously displayed in a corrupt format (the duration and test name were shown, but the status was omitted). Slow notifications are now correctly hidden. (#3236)t for test status info no longer shows the output twice; nextest now only reacts to key-press events, ignoring key-release events. (#3225)rand to 0.10.1 for RUSTSEC-2026-0097 / GHSA-cq8v-f236-94qc. Note that based on the advisory description, this unsoundness does not appear to affect nextest, since none of the covered rand versions have the log feature turned on.rustls-webpki to 0.103.10.Update aws-lc-sys to 0.39.0 to address [GHSA-394x-vwmw-crm3].
Update aws-lc-sys to 0.39.0 to address GHSA-394x-vwmw-crm3.
Nothing published for this version
Breaking change to the recording format: recordings now include test group and slot information, enabling Chrome trace export from recordings. ([#3158…
Setup scripts and wrapper scripts can now specify per-command environment variables via the env field in the command configuration. (#3001)
For example:
[scripts.setup.script1]
command = {
command-line = "cargo run -p setup-test-db",
env = {
DB_PATH = "sqlite:/path/to/source.db",
},
}
Keys cannot begin with NEXTEST, as that prefix is reserved for internal use. Values defined in env override values set by the environment and by Cargo's config.toml (including those with force = true).
Thanks metatoaster for your first contribution!
A new flaky-result configuration field and --flaky-result CLI flag (environment variable NEXTEST_FLAKY_RESULT) controls whether flaky tests are treated as passing or failing. When set to "fail", tests that pass on retry are marked as failures. The default remains "pass". flaky-result can be set at the profile level or per-test via overrides. (#3148)
For more information, see Failing flaky tests.
[profile.ci]
retries = 2
flaky-result = "fail"
A new cargo nextest store export-chrome-trace command that exports test run data in the Chrome Trace Event format. Traces can be loaded into Perfetto or Chrome's chrome://tracing for a timeline view of test parallelism and execution. (#3163)
cargo nextest store export-chrome-trace latest -o trace.json
Traces support grouping by binary (default) or by slot (--group-by slot), and can be exported from both on-disk runs and portable recordings. For more, see Perfetto traces.
Added release binaries for riscv64gc-unknown-linux-gnu. These binaries are cross-compiled from x86_64 Linux and are not currently tested.
-Zbuild-dir-new-layout), and with the build directory being separate from the target directory (build.build-dir). (#3168, #3169)TRY 1 SLOW messages for the first attempt. TRY N SLOW is still shown for subsequent attempts.cargo nextest self update) now uses ureq instead of reqwest and replaces the ring dependency with aws-lc-rs. This may require you to install CMake if you're on a less-commonly-used platform. (#3141)Nothing published for this version
Nothing published for this version
Nextest now sets several new environment variables for tests and setup scripts: ([#3103])
Nextest now sets several new environment variables for tests and setup scripts: (#3103)
NEXTEST_VERSION: the current nextest version as a semver string.NEXTEST_REQUIRED_VERSION and NEXTEST_RECOMMENDED_VERSION: the minimum required and recommended nextest versions from the repository's nextest-version configuration. If not configured, the value is "none".NEXTEST_TEST_THREADS: the computed number of test threads for this run.NEXTEST_WORKSPACE_ROOT: the absolute path to the workspace root (respects --workspace-remap).Nextest now sets CARGO_BIN_EXE_<name> at runtime for integration tests and benchmarks, matching cargo test in Rust 1.94 and above. Nextest sets this variable on all Rust versions. (#3137)
Previously, nextest only set NEXTEST_BIN_EXE_<name>, which remains available (and, with underscores, continues to be the recommended form). The CARGO_BIN_EXE_<name> form improves compatibility with tests written for cargo test.
A couple of displayer fixes:
--show-progress=only now behaves like the default auto in non-interactive mode, showing successful tests with a counter. This change was made because
--show-progress=only now behaves like the default auto in non-interactive mode, showing successful tests with a counter. This change was made because only is primarily intended for interactive scenarios. (#3087)NEXTEST-prefixed environment variables to $NEXTEST_ENV now properly report failure. Previously, the setup script would be reported as successful despite invalid variables, and tests would still run. (#3094)zip crate to eazip to address repeated semver breakage in the zip crate. (#3093)Updated the zip crate to 8.0.0 since versions 7.3.0 and 7.4.0 were yanked.
Updated the zip crate to 8.0.0 since versions 7.3.0 and 7.4.0 were yanked.
The existing count:m/n partitioner is now deprecated in favor of slice:m/n. Hashed sharding (hash:m/n) continues to be available for use cases where s…
A new --partition slice:m/n mode for partitioning test runs. Sliced partitioning distributes tests evenly across shards regardless of how tests are distributed across binaries. This addresses the issue where count:m/n operates per-binary, leading to uneven shard sizes when tests span multiple binaries of varying sizes. (#3052)
The existing count:m/n partitioner is now deprecated in favor of slice:m/n. Hashed sharding (hash:m/n) continues to be available for use cases where stability across test additions/removals matters more than even distribution.
Replay and rerun commands (cargo nextest replay, cargo nextest run -R) now accept portable recordings from pipes and process substitutions. For example, cargo nextest run -R <(curl url) now works. (#3071)
Recorded test runs are now stored in the system state directory rather than the cache directory, since they are not regenerable. ([#3043])
Recorded test runs are now stored in the system state directory rather than the cache directory, since they are not regenerable. (#3043)
| Platform | New location |
|---|---|
| Linux, macOS, and other Unix | $XDG_STATE_HOME/nextest/ or ~/.local/state/nextest/ |
| Windows | %LOCALAPPDATA%\nextest\ (unchanged) |
The store location can now be overridden via NEXTEST_STATE_DIR (previously NEXTEST_CACHE_DIR).
For this release, records in the cache directory will be automatically migrated on the next nextest run. Since this feature is experimental, the migration path will be removed soon (in the next 1-2 releases).
Update bytes crate to v1.11.1 for a security fix. ([#3032])
New cargo nextest store export command to export recorded runs as portable recordings. Portable recordings are zip archives that can be shared and uploaded as CI artifacts. (#3010)
cargo nextest replay, cargo nextest run -R, and cargo nextest store info now accept paths to portable recordings (.zip files) in addition to run IDs. This enables replaying and rerunning test results from exported archives, including those downloaded from CI. (#3012)
Nextest now publishes binaries for aarch64-unknown-linux-musl, providing a statically-linked ARM64 Linux binary with no runtime library dependencies. Thanks altendky for your first contribution! (#3025)
usdt. This fixes cross-compilation for some targets. Thanks konstin for your first contribution! (#3027)--no-capture), nextest now shows a "(output not captured)" message rather than blank output. (#3028)bytes crate to v1.11.1 for a security fix. (#3032)The unsupported install mechanism, cargo install cargo-nextest without --locked, now fails with a helpful error message asking you to use cargo instal
The unsupported install mechanism, cargo install cargo-nextest without --locked, now fails with a helpful error message asking you to use cargo install --locked cargo-nextest.
Note that this unsupported method was broken with version 0.9.123 due to a dependency update, resulting in several issues being filed. We hope that the new mechanism results in clearer, more helpful guidance.
The experimental section in repository config can now also be a table, not just an array. The previous array syntax is deprecated but still supported.…
This is a major release with several new features. If you run into issues, please file a bug.
Major new feature: experimental support for recording, replaying, and rerunning test runs. Enable by adding record = true to the [experimental] section in user config, or by setting NEXTEST_EXPERIMENTAL_RECORD=1.
Once enabled, recording can be turned on by adding enabled = true to the [record] section in user config. Recorded runs are stored in the system cache directory.
New commands:
cargo nextest replay: Replay a test run (by default, the latest completed run).cargo nextest run -R latest: Rerun tests that failed the last time.cargo nextest store list: List all recorded runs.cargo nextest store info: Show details about a specific run.cargo nextest store prune: Prune old recorded runs.A new --user-config-file option (environment variable NEXTEST_USER_CONFIG_FILE) allows explicit control over user configuration loading. Pass a path to a specific config file, or none to skip user config entirely.
A new --cargo-message-format option enables live streaming of Cargo's JSON messages to standard out. This feature is equivalent to cargo test --message-format.
The experimental section in repository config can now also be a table, not just an array. The previous array syntax is deprecated but still supported. For example:
# New style (recommended).
[experimental]
benchmarks = true
# Old style (deprecated)
experimental = ["benchmarks"]
Note that user configuration's experimental is always a table. The array syntax is not supported in that case.
This change enables upcoming config set support over the command line.
When a config file specifies both a future nextest-version and an unknown experimental feature, the version error now takes precedence. This produces clearer error messages for users running older nextest versions.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
iTerm now supports the OSC 9;4 progress protocol for progress bar integration. Thanks case for your first contribution!
In custom target JSONs, panic-strategy = "immediate-abort" now parses correctly ([#2922]).
panic-strategy = "immediate-abort" now parses correctly (#2922).Support for using a pager like `less` with nextest's output. Currently supported are:
Support for using a pager like less with nextest's output. Currently supported are:
cargo nextest listcargo nextest show-config test-groups-h and --help commandsThe pager support is closely modeled after the Jujutsu version control system. The default pager is less -FRX on Unix platforms, and a builtin pager (based on sapling-streampager) on Windows.
cargo nextest self update now supports --beta and --rc flags to update to prerelease versions.
Nothing published for this version
Nothing published for this version
Nextest now supports user configuration for personal preferences. User config is stored in ~/.config/nextest/config.toml (or %APPDATA%\nextest\config.
Nextest now supports user configuration for personal preferences. User config is stored in ~/.config/nextest/config.toml (or %APPDATA%\nextest\config.toml on Windows) and includes the following settings:
show-progress: Controls progress display during test runs.max-progress-running: Maximum number of running tests to show in the progress bar.input-handler: Enable or disable keyboard input handling.output-indent: Enable or disable output indentation for captured test output.User config settings are lower priority than CLI arguments and environment variables. For details, see User configuration.
zsh -ic) that call tcsetpgrp to become the foreground process group. Nextest now ignores SIGTTIN and SIGTTOU signals while input handling is active. (#2884)Experimental support for running benchmarks via cargo nextest bench. Set NEXTEST_EXPERIMENTAL_BENCHMARKS=1 to enable.
Experimental support for running benchmarks via cargo nextest bench. Set NEXTEST_EXPERIMENTAL_BENCHMARKS=1 to enable.
Benchmarks have a separate configuration namespace with dedicated slow-timeout and global-timeout settings:
[profile.default]
bench.slow-timeout = { period = "120s", terminate-after = 2 }
bench.global-timeout = "1h"
Per-test overrides are also supported within the bench section.
The list command now supports --message-format oneline for grep-friendly output.
Nextest now accepts --target host-tuple to explicitly target the host platform, mirroring Cargo's new feature. This resolves to the detected host triple at runtime. (#2872)
cargo nextest list has been changed to a new auto value, which is equivalent to human (the previous default) if standard output is an interactive terminal, and oneline if not.Fixed a panic when reporting test results with on-timeout = "pass" in slow-timeout configuration.
Retry attempts for tests that both fail and leak handles now correctly display as TRY n FL+LK instead of TRY n FAIL.
Nextest now sets several new environment variables for each test execution:
Nextest now sets several new environment variables for each test execution:
NEXTEST_TEST_NAME: The name of the test being run.NEXTEST_ATTEMPT: The current attempt number (starting from 1).NEXTEST_TOTAL_ATTEMPTS: The total number of attempts that will be made.NEXTEST_BINARY_ID: The binary ID of the test.NEXTEST_ATTEMPT_ID: A unique identifier for this specific attempt.NEXTEST_STRESS_CURRENT and NEXTEST_STRESS_TOTAL: For stress tests, the current and total iteration counts.These variables allow tests to be aware of their execution context, enabling conditional behavior based on retry attempts or stress test iterations.
With cargo nextest run --verbose, nextest now displays the command line used to run each test. Thanks dangvu0502 for your first contribution! (#2800)
A new glossary page documents key nextest terminology.
__NEXTEST_ATTEMPT environment variable has been removed and replaced by the public NEXTEST_ATTEMPT variable.Nextest profiles now support inheritance via the inherits key. For example:
Nextest profiles now support inheritance via the inherits key. For example:
[profile.ci]
retries = 2
[profile.ci-extended]
inherits = "ci"
slow-timeout = "120s"
A new on-timeout option for slow-timeout allows tests that time out to be treated as successes instead of failures. This is useful for fuzz tests, or other tests where a timeout indicates no failing input was found. For example:
[[profile.default.overrides]]
filter = 'package(fuzz-targets)'
slow-timeout = { period = "30s", terminate-after = 1, on-timeout = "pass" }
Tests that time out and pass are marked TMPASS. See Configuring timeout behavior for more information.
Thanks eduardorittner for your first contribution! (#2742)
A new config option --tracer enables running a test under a system call tracer like strace or truss. This mode is similar to --debugger added in versi
--tracer enables running a test under a system call tracer like strace or truss. This mode is similar to --debugger added in version 0.9.113, but is optimized for non-interactive sessions. See this table for a comparison of behaviors.Nextest now supports running tests under a debugger. Use --debugger to run a single test under gdb, lldb, WinDbg, CodeLLDB in Visual Studio Code, and
Nextest now supports running tests under a debugger. Use --debugger to run a single test under gdb, lldb, WinDbg, CodeLLDB in Visual Studio Code, and other debuggers, while preserving all the environment setup done by nextest.
Nextest's debugger support will likely see some iteration and improvements over time. If it's missing a feature, please open a feature request, or even better, send a pull request!
Nextest now sets NEXTEST_BIN_EXE_* environment variables with hyphens in binary names replaced by underscores, in addition to the existing variables with hyphens. This works around some shells and debuggers that drop environment variables containing hyphens. (#2777)
Nothing published for this version
Nextest now supports immediately terminating currently-running tests on failure. Set fail-fast = { max-fail = 1, terminate = "immediate" } in your con
fail-fast = { max-fail = 1, terminate = "immediate" } in your configuration, or use --max-fail=1:immediate, to terminate running tests as soon as the first test fails.In interactive terminals, nextest now shows 8 running tests by default underneath the progress bar. Control the maximum number of tests displayed with the --max-progress-running option.
As part of this change, --show-progress=running is now an alias for --show-progress=bar. To only show running tests, use --show-progress=only.
Non-UTF-8 test output is now encoded with String::from_utf8_lossy before being printed out to the terminal. This should generally not be a visible change, since most tests produce UTF-8 output.
When the progress bar is displayed, nextest now writes to terminal output every 50ms.
OSC 9;4 in-terminal progress bars are automatically enabled when the Ghostty terminal is detected. Thanks adamchalmers and RGBCube for your first cont
--show-progress=running, the global progress bar now stays in place more often, providing a smoother visual experience.global_slot, group_slot, and test_group fields for test attempt events.--show-progress=running and only.A new `running` progress mode that shows currently running tests in addition to the progress bar. Use --show-progress=running to see both running test
A new running progress mode that shows currently running tests in addition to the progress bar. Use --show-progress=running to see both running tests and information about successful tests, or --show-progress=only for a more compact output showing only running tests, without displaying any output related to successful tests.
Thanks glehmann for your first contribution!
The cargo nextest archive command now supports binary filtering via the --filterset or -E options. This allows you to reduce the size of archives by including only a subset of test binaries. Note that test binaries are not executed during archiving, so test() predicates are not supported.
Thanks clundin55 for your first contribution!
--show-progress=counter for better output formatting and reliability.run-start and run-done events to include stress run information.stress-sub-run-start and stress-sub-run-done events for tracking individual stress run iterations.stdout_len and stderr_len fields for output size tracking.Support for USDT (User Statically Defined Tracing) probes for observability and debugging. USDT probes allow tools like DTrace and bpftrace to trace n
Support for USDT (User Statically Defined Tracing) probes for observability and debugging. USDT probes allow tools like DTrace and bpftrace to trace nextest's internal operations. The initial probes cover test execution lifecycle events.
For more information, see the USDT documentation.
In CI, test status lines now include a counter showing the number of tests that have been executed (#2618). Thanks bobrik for your first contribution!
Nothing published for this version
For custom targets, updated the deserializer to handle `target-pointer-width` becoming an integer in the newest Rust nightlies.
target-pointer-width becoming an integer in the newest Rust nightlies.On Windows, job objects are now created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. This enables test processes to have their children be assigned a different
On Windows, job objects are now created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. This enables test processes to have their children be assigned a different job object, which is particularly relevant on Windows 7 since that platform doesn't have nested job objects.
Thanks to Guiguiprim for the contribution!
For stress tests, summary lines now indicate the number of iterations passed and/or failed.
--config arguments to Cargo invocations. Thanks to benschulz for your first contribution!target-spec updated to 3.5.1, updating built-in targets to Rust 1.89.Initial support for stress tests: running tests a large number of times in a loop.
The libtest-json-plus output now produces test results immediately rather than at the end of the run. This is allowed by the fact that with the libtest-json-plus output, it is possible to distinguish between different test binaries based on the additional nextest property.
Thanks to dnbln for your first contribution!
The heuristic detection for panicked at in tests now handles the new output format in Rust nightlies (Rust 1.91 and above): on Unix platforms, the thread ID is now also included.
Thanks again to dnbln for fixing this.
Windows releases are now digitally signed. Thanks to the SignPath Foundation for signing nextest's Windows builds.
Nothing published for this version
Restored compatibility with Cargo's unstable bindeps feature in some circumstances.
bindeps feature in some circumstances.A new global-timeout option allows setting a global timeout for the entire run. This is an alternative to the Unix timeout command that also works on
A new global-timeout option allows setting a global timeout for the entire run. This is an alternative to the Unix timeout command that also works on Windows.
For more information, see Setting a global timeout.
Thanks to robabla for your first contribution!
Nextest now reports progress to the terminal emulator for display in places like the task bar, similar to Cargo 1.87 and above. Terminal progress integration uses OSC 9;4, and is enabled by default in Windows Terminal, ConEmu, and WezTerm.
To configure this, use Cargo's term.progress.term-integration option.
Script commands now support relative-to = "workspace-root". This has minimal impact on setup scripts since they always run relative to the workspace r
relative-to = "workspace-root". This has minimal impact on setup scripts since they always run relative to the workspace root, but allows wrapper scripts to be invoked more easily.Experimental support for wrapper scripts for test execution.
[scripts.setup] table, for example [scripts.setup.db-generate]. The previous [script.db-generate] configuration will continue to work for a short while.Nothing published for this version
Worked around a Rust type inference bug as part of a dependency update ([#2370]).
Nothing published for this version
Pre-built binaries are now built with Rust 1.87, which is the first version to support posix_spawn-based process spawning on illumos.
posix_spawn-based process spawning on illumos.Your coding agent can read these notes before it upgrades. Set up the MCP server →