1# Change Log 2All notable changes to this project will be documented in this file. 3 4The format is based on [Keep a Changelog](http://keepachangelog.com/) 5and this project adheres to [Semantic Versioning](http://semver.org/). 6 7<!-- next-header --> 8## [Unreleased] - ReleaseDate 9 10## [1.0.7] - 2021-01-29 11 12## [1.0.6] - 2020-12-28 13 14### Fixed 15- `NamePredicate` now adds itself to the `Case` returned by `find_case`. 16 17## [1.0.5] - 2020-07-18 18 19### Fixed 20 21- Update float-cmp dependency 22 23## [1.0.4] - 2020-03-04 24### Fixed 25 26- Upgrade normalize-line-endings 27 28## [1.0.3] - 2020-02-25 29 30## [1.0.2] - 2019-11-18 31### Fixed 32- `BooleanPredicate` now implements `Predicate<T>` where `T: ?Sized` 33 ([#84](https://github.com/assert-rs/predicates-rs/pull/84)) 34 35## [1.0.1] - 2019-04-22 36### Changed 37- BooleanPredicate is no longer generic, and is always Send and Sync. 38 39## [1.0.0] - 2018-10-06 40 41## [0.9.1] - 2018-10-05 42### Added 43- Created a predicate selection guide. 44 45## [0.9.0] - 2018-07-30 46### Added 47- Support `?Sized` types for `FnPredicate`. 48- Add `str_pred.normalize()` predicate. 49- Add reflection to `Predicate`. 50- Add support for predicates returning why they failed (`find_case`) which can 51 be combined with the new `predicates-tree` crate. 52- Split out `predicates-core` for reducing ecosystem breaking changes. 53 54### Changed 55- Predicates must also implement `PredicateReflection` 56 57## [0.5.2] - 2018-07-20 58### Added 59- **path:** support file-based str predicates ([4b430532](https://github.com/assert-rs/predicates-rs/commit/4b430532f7cd660bd813863871ede6f108e7be67), closes [#56](https://github.com/assert-rs/predicates-rs/issues/56)) 60- Expand trait coverage ([33972a7d](https://github.com/assert-rs/predicates-rs/commit/33972a7d0c92eb7f7c7e95af4bb35bea0ac810ab)) 61 62## [0.5.1] - 2018-06-05 63### Added 64- Fix eq for str ([7650e9e6](https://github.com/assert-rs/predicates-rs/commit/7650e9e6d43f2ddd047ad8defa0c724b31ebd1c4)) 65 66## [0.5.0] - 2018-05-30 67### Added 68- **trait:** 69 - Allow naming `Predicate` expressions 70- **str:** 71 - Add regex repetition count, closes #27 72 - from_utf8 adapter, closes #21 73 - Trimming predicate decorator 74- **path:** 75 - `eq_file` predicate to test a file-under-test with a fixture, closes #32. 76 - `eq_file(...).utf()` adapter to do string comparisons with the fixture 77 - Add a `from_file_path` extension method to `Predicate<[u8]>` that turns it into a `Predicate<Path>`, closes #31. 78 79### Breaking Changes 80- **trait:** 81 - All `Predicate`s are now `Display` ([05216708](https://github.com/assert-rs/predicates-rs/commit/05216708359544f2c5f3a256f50c012f521c39a6), breaks [#](https://github.com/assert-rs/predicates-rs/issues/)) 82 - Decouple boxing from trait ([f981fac3](https://github.com/assert-rs/predicates-rs/commit/f981fac39271746162365f3c577cffac730e1d97), breaks [#](https://github.com/assert-rs/predicates-rs/issues/)) 83 - Decouple boolean logic from trait ([88b72f9e](https://github.com/assert-rs/predicates-rs/commit/88b72f9ef58a86f2af68c0510d99326f5e644f76), breaks [#](https://github.com/assert-rs/predicates-rs/issues/)) 84 85## [0.4.0] - 2018-05-10 86### Added 87- Define oldest supported version of Rust as 1.22. 88- CI that ensures 89 - works on Windows and Linux 90 - works on 1.22 to nightly 91- **float:** `is_close` Predicate (see #11). 92- **path:** 93 - File type predicates: `is_file`, `is_dir`, `is_symlink` (see #8). 94 - Existence predicate: `exists`, `missing` (see #8). 95- **str:** 96 - Basic string predicates: `is_empty`, `starts_with`, `ends_with`, and `contains` with optional count (see #25). 97 - Regex predicate (see #12). 98 - Edit-distance predicate (see #9). 99 100### Changed 101- Clearly delineate API from prelude (see #17). 102- Switch `Predicate` trait from Associated Types to Generics. 103- **iter:** 104 - Renamed `set` predicates as `iter` predicates to clarify the intent from some implementation. 105 - Remove ambiguity of predicate factories (see #24): 106 - `contains` -> `in_iter` 107 - `contains_hashable` -> `in_hash` 108 - Turned `contains_ord` into a specialization of `in_iter` by adding a `sort` method. 109 110## [0.3.0] - 2017-06-26 111### Added 112- `BoxPredicate` type that wraps a `Predicate` trait object to make it easier 113 to store and work with predicates through a program. Also implements `Debug` 114 and `Display` wrappers as a convenience. 115- `FnPredicate` type that wraps a function of the type `Fn(&T) -> bool` in a 116 `Predicate` type. 117 118### Changed 119- The `boxed` function now returns a type `BoxPredicate` instead of a type 120 alias. 121- The `Item` type parameter of `Predicate` no longer has the `Sized` 122 restriction. 123 124## [0.2.0] - 2017-06-02 125### Added 126- This changelog 127 128### Fixed 129- Made modules under `predicate` private, with their public interfaces exposed 130 through `pub use` in the `predicate` `mod.rs` file. 131 132## 0.1.0 - 2017-06-02 133### Added 134- Initial commit of functional code 135- Continuous integration with Travis (Linux) and AppVeyor (Windows) 136- Basic README 137 138<!-- next-url --> 139[Unreleased]: https://github.com/assert-rs/predicates-rs/compare/v1.0.7...HEAD 140[1.0.7]: https://github.com/assert-rs/predicates-rs/compare/v1.0.6...v1.0.7 141[1.0.6]: https://github.com/assert-rs/predicates-rs/compare/v1.0.5...v1.0.6 142[1.0.5]: https://github.com/assert-rs/predicates-rs/compare/v1.0.4...v1.0.5 143[1.0.4]: https://github.com/assert-rs/predicates-rs/compare/v1.0.3...v1.0.4 144[1.0.3]: https://github.com/assert-rs/predicates-rs/compare/v1.0.2...v1.0.3 145[1.0.2]: https://github.com/assert-rs/predicates-rs/compare/v1.0.1...v1.0.2 146[1.0.1]: https://github.com/assert-rs/predicates-rs/compare/v1.0.0...v1.0.1 147[1.0.0]: https://github.com/assert-rs/predicates-rs/compare/v0.9.1...v1.0.0 148[0.9.1]: https://github.com/assert-rs/predicates-rs/compare/v0.9.0...v0.9.1 149[0.9.0]: https://github.com/assert-rs/predicates-rs/compare/v0.5.2...v0.9.0 150[0.5.2]: https://github.com/assert-rs/predicates-rs/compare/v0.5.1...v0.5.2 151[0.5.1]: https://github.com/assert-rs/predicates-rs/compare/v0.5.0...v0.5.1 152[0.5.0]: https://github.com/assert-rs/predicates-rs/compare/v0.4.0...v0.5.0 153[0.4.0]: https://github.com/assert-rs/predicates-rs/compare/v0.3.0...v0.4.0 154[0.3.0]: https://github.com/assert-rs/predicates-rs/compare/v0.2.0...v0.3.0 155[0.2.0]: https://github.com/assert-rs/predicates-rs/compare/v0.1.0...v0.2.0 156