# Changelog
## [0.2.9] - 2024-04-25
### Added
Previously, the test functions supported were `fn(&Path) -> Result<()>` and `fn(&Utf8Path) -> Result<()>`. This release adds additional supported functions:
- `fn(&P, String) -> datatest_stable::Result<()>` where `P` is `Path` or `Utf8Path`. If the
extra `String` parameter is specified, the contents of the file will be loaded and passed in
as a string (erroring out if that failed).
- `fn(&P, Vec<u8>) -> datatest_stable::Result<()>` where `P` is `Path` or `Utf8Path`. If the
extra `Vec<u8>` parameter is specified, the contents of the file will be
loaded and passed in as a `Vec<u8>` (erroring out if that failed).
## [0.2.8] - 2024-04-24
### Fixed
- Fixed quadratic performance issue with nextest, where datatest-stable would iterate over the
entire list of files for each test. Thanks [@zaneduffield](https://github.com/zaneduffield) for
your first contribution!
## [0.2.7] - 2024-04-21
### Changed
- Switched to the `fancy-regex` crate, which allows for matching against regexes with
lookahead/behind and backreferences. Thanks [@webbdays](https://github.com/webbdays) for your
first contribution!
- MSRV updated to Rust 1.66.
## [0.2.6] - 2024-04-09
- Update to `libtest-mimic 0.7.2`, and use the upstream implementation of `ExitCode`.
## [0.2.5] - 2024-04-08
- Exit main via `ExitCode` rather than `std::process::exit()`. This appears to fix coverage on
Windows.
## [0.2.4] - 2024-04-08
This is a periodic maintenance release.
- Update internal dependency versions, including libtest-mimic to 0.7.0.
- Update "docs (main)" link to the new location at [https://datatest-stable.nexte.st](https://datatest-stable.nexte.st).
- Update MSRV to Rust 1.65.
## [0.2.3] - 2023-08-29
Updated README.
## [0.2.2] - 2023-08-29
### Added
- Restored compatibility with `fn(&Path) -> Result<()>`. The harness now can take either `fn(&Path) -> Result<()>` or `fn(&Utf8Path) -> Result<()>`.
## [0.2.1] - 2023-08-29
### Changed
- The test signature is now `fn(&`[`Utf8Path`]`)` rather than `fn(&Path)`. If necessary, a `Utf8Path` can be converted to a `&Path` with [`.as_ref()`] or [`.as_std_path()`].
- Non-Unicode paths now consistently produce errors. Previously, the treatment of such paths was inconsistent -- they would either be skipped or produce errors.
- Internal dependency update: libtest-mimic updated to version 0.6.1.
- MSRV updated to Rust 1.60.
[`Utf8Path`]: https://docs.rs/camino/latest/camino/struct.Utf8Path.html
[`.as_ref()`]: https://docs.rs/camino/latest/camino/struct.Utf8Path.html#impl-AsRef%3COsStr%3E-for-Utf8Path
[`.as_std_path()`]: https://docs.rs/camino/latest/camino/struct.Utf8Path.html#method.as_std_path
## [0.2.0] - 2023-08-29
This version had a publishing issue.
## [0.1.3] - 2022-08-15
### Changed
- Errors are now displayed with the `Debug` implementation, which prints out the full error chain
with libraries like `anyhow` or `eyre`, rather than the `Display` implementation. Thanks
[Alex Badics] for your first contribution!
- MSRV updated to Rust 1.58.
### Internal improvements
- datatest-stable now uses libtest-mimic 0.5.2. Thanks [Lukas Kalbertodt] (maintainer of
libtest-mimic) for your first contribution!
[Alex Badics]: https://github.com/badicsalex
[Lukas]: https://github.com/LukasKalbertodt
## [0.1.2] - 2022-05-22
### Changed
- New internal implementation, based on top of [libtest-mimic](https://github.com/LukasKalbertodt/libtest-mimic).
- Repository updated to [nextest-rs/datatest-stable](https://github.com/nextest-rs/datatest-stable).
- MSRV updated to Rust 1.56.
There are no functional changes in this release.
## [0.1.1] - 2021-04-16
### Added
- Initial release with basic support for data-driven tests.
(Version 0.1.0 was yanked because of a metadata issue.)
[0.2.9]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.9
[0.2.8]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.8
[0.2.7]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.7
[0.2.6]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.6
[0.2.5]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.5
[0.2.4]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.4
[0.2.3]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.3
[0.2.2]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.2
[0.2.1]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.2.1
[0.1.3]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.1.3
[0.1.2]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.1.2
[0.1.1]: https://github.com/nextest-rs/datatest-stable/releases/tag/datatest-stable-0.1.1