All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
3.1.2 - 2024-07-25
3.1.1 - 2024-07-25
- Update MSRV to 1.74
3.1.0 - 2024-01-15
- Update MSRV to 1.70.0
- Remove
itertools
3.0.4 - 2023-09-18
- Update MSRV to 1.69.0
- Update
itertools
to 0.11
3.0.3 - 2023-04-13
- Update anstyle to 1.0
3.0.2 - 2023-03-24
- Respect
follow_links
when checking whether a path is backed by a file
3.0.1 - 2023-03-14
- Show colors for diff header
3.0.0 - 2023-03-14
color
feature no longer conditionally applies color. Instead color will be applied when formatting as{:#}
color-auto
feature was removed- Update MSRV to 1.64.0
2.1.5 - 2022-12-29
- Further generalized borrowing of predicates with
Borrow
trait
2.1.4 - 2022-12-02
2.1.3 - 2022-11-13
2.1.2 - 2022-11-05
Update MSRV to 1.60
- Hide internal-only optional dependencies
2.1.1 - 2022-01-11
2.1.0 - 2021-11-22
- Report user's value (the actual)
- Having the caller own this means you won't get intermediates like file paths
- We already show it for the
diff
predicate - Now we show it in each leaf predicate (like Eq) and when adapting it (like taking a path and loading its file)
- Remove redundant result with
eq_file
assertions - Clarify that the constant in Eq and Ord predicates is the expected value
2.0.3 - 2021-10-07
2.0.2 - 2021-08-16
- All predicates now implement
Send
andSync
when it's appropriate
2.0.1 - 2021-07-26
- Upgraded
float-cmp
2.0.0 - 2021-07-03
predicates::str::diff
was removedpredicates::str::similar
was renamed todiff
- The
difference
feature flag was renamed todiff
diff().split
anddiff().distance
were removed
- Shrink the output of Diffs because its redundant
- Moved off of an unmaintained Diff library
1.0.8 - 2021-04-28
1.0.7 - 2021-01-29
1.0.6 - 2020-12-28
NamePredicate
now adds itself to theCase
returned byfind_case
.
1.0.5 - 2020-07-18
- Update float-cmp dependency
1.0.4 - 2020-03-04
- Upgrade normalize-line-endings
1.0.3 - 2020-02-25
1.0.2 - 2019-11-18
BooleanPredicate
now implementsPredicate<T>
whereT: ?Sized
(#84)
1.0.1 - 2019-04-22
- BooleanPredicate is no longer generic, and is always Send and Sync.
1.0.0 - 2018-10-06
0.9.1 - 2018-10-05
- Created a predicate selection guide.
0.9.0 - 2018-07-30
- Support
?Sized
types forFnPredicate
. - Add
str_pred.normalize()
predicate. - Add reflection to
Predicate
. - Add support for predicates returning why they failed (
find_case
) which can be combined with the newpredicates-tree
crate. - Split out
predicates-core
for reducing ecosystem breaking changes.
- Predicates must also implement
PredicateReflection
0.5.2 - 2018-07-20
0.5.1 - 2018-06-05
- Fix eq for str (7650e9e6)
0.5.0 - 2018-05-30
- trait:
- Allow naming
Predicate
expressions
- Allow naming
- str:
- Add regex repetition count, closes #27
- from_utf8 adapter, closes #21
- Trimming predicate decorator
- path:
eq_file
predicate to test a file-under-test with a fixture, closes #32.eq_file(...).utf()
adapter to do string comparisons with the fixture
- Add a
from_file_path
extension method toPredicate<[u8]>
that turns it into aPredicate<Path>
, closes #31.
- trait:
0.4.0 - 2018-05-10
- Define oldest supported version of Rust as 1.22.
- CI that ensures
- works on Windows and Linux
- works on 1.22 to nightly
- float:
is_close
Predicate (see #11). - path:
- File type predicates:
is_file
,is_dir
,is_symlink
(see #8). - Existence predicate:
exists
,missing
(see #8).
- File type predicates:
- str:
- Basic string predicates:
is_empty
,starts_with
,ends_with
, andcontains
with optional count (see #25). - Regex predicate (see #12).
- Edit-distance predicate (see #9).
- Basic string predicates:
- Clearly delineate API from prelude (see #17).
- Switch
Predicate
trait from Associated Types to Generics. - iter:
- Renamed
set
predicates asiter
predicates to clarify the intent from some implementation. - Remove ambiguity of predicate factories (see #24):
contains
->in_iter
contains_hashable
->in_hash
- Turned
contains_ord
into a specialization ofin_iter
by adding asort
method.
- Renamed
0.3.0 - 2017-06-26
BoxPredicate
type that wraps aPredicate
trait object to make it easier to store and work with predicates through a program. Also implementsDebug
andDisplay
wrappers as a convenience.FnPredicate
type that wraps a function of the typeFn(&T) -> bool
in aPredicate
type.
- The
boxed
function now returns a typeBoxPredicate
instead of a type alias. - The
Item
type parameter ofPredicate
no longer has theSized
restriction.
0.2.0 - 2017-06-02
- This changelog
- Made modules under
predicate
private, with their public interfaces exposed throughpub use
in thepredicate
mod.rs
file.
- Initial commit of functional code
- Continuous integration with Travis (Linux) and AppVeyor (Windows)
- Basic README