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 - Unreleased
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