1.1.0 - 2022-08-30
- Unknown predicates now evaluate to false, matching Cargo's behavior.
- As a result,
Error::UnknownPredicate
is no longer in use and has been deprecated.
- As a result,
1.0.2 - 2022-05-29
- Internal dependency updates.
- MSRV updated to Rust 1.56.
1.0.1 - 2022-02-07
- Update badges in README.
- Add
doc_cfg
to the docs.rs build.
1.0.0 - 2022-02-06
No breaking changes in this release compared to version 0.9.
- Internal dependency version bump:
cfg-expr
updated to 0.10.0.
0.9.0 - 2021-10-01
- Target triples can now be parsed directly into a
PlatformSummary
.
PlatformSummary::new
is now infallible.- MSRV updated to Rust 1.53.
target-spec
now usescfg-expr
's builtins by default, falling back totarget-lexicon
ifcfg-expr
isn't available.- This is because
target-lexicon
may not always produce results that matchrustc
's target JSONs.
- This is because
0.8.0 - 2021-09-13
Triple
represents a target triple, uniquely identified by a triple string.TargetExpression
represents a target expression beginning withcfg(
.
target-spec
now usestarget-lexicon
to parse triples, while continuing to usecfg-expr
for expressions and evaluation.- Updated supported builtin targets to Rust 1.55.
target-spec
is now more forward compatible, since new targets in future versions of Rust can be supported with non-breaking updates totarget-lexicon
.
TargetSpec
is now an enum withTriple
andTargetExpression
variants.Platform
no longer has a lifetime parameter.- Updated supported builtin targets to Rust 1.55.
cfg-expr
is now a private dependency again (target-lexicon
is also a private dependency).- MSRV updated to Rust 1.51.
0.7.0 - 2021-02-23
- Public dependency version bumps:
cfg-expr
updated to 0.7.1.proptest
updated to version 1 and the corresponding feature renamed toproptest1
.
0.6.1 - 2021-02-14
cfg-expr
version requirement relaxed: 0.6 through 0.7 are now supported. There are no API changes between the two versions.
0.6.0 - 2021-02-03
Platform
now implementsHash + Eq + Ord
.
TargetFeatures
andPlatform::add_flags
now acceptCow<'static, str>
, simplifying lifetime management in many cases.cfg-expr
updated to 0.6.0.
0.5.0 - 2020-12-02
- Updated
cfg-expr
dependency to 0.5.0.
0.4.1 - 2020-08-28
- Fixed compilation on platforms without target features (#175).
0.4.0 - 2020-06-20
- New, optional feature
summaries
to provide serialization and deserialization forPlatform
andTargetFeatures
. Platform::is_custom
returns true if the platform was created with thecustom
constructor.
- The error types have been unified into a single
Error
type. Platform::new
andPlatform::current
now return errors instead ofNone
.
0.3.0 - 2020-06-12
Platform::custom
creates platforms that are unknown to rustc.- This is supported through
cfg-expr
, which is now a public dependency. - Custom platforms are often found in embedded Rust.
- This is supported through
- In order to support custom platforms,
Platform::triple
now returns a&'a str
instead of a&'static str
.
0.2.4 - 2020-05-06
- New feature
proptest010
to generate random platforms for property testing.
0.2.3 - 2020-04-15
- Better handling of unknown flags.
- Unknown flags now evaluate to false instead of erroring out.
- Added
Platform::add_flags
to allow setting flags that evaluate to true.
These changes were prompted by how cargo-web
sets the cargo_web
flag to
true for cargo web build
.
This was mistakenly published and was yanked.
0.2.1 - 2020-04-07
- Updated repository links.
0.2.0 - 2020-04-05
- Added support for parsing specs and platforms separately from evaluating them, making error-less evaluation possible.
- Added support for target features, including situations when target features are unknown.
- Switched to
cfg-expr
as the backend forcfg()
expressions.
0.1.0 - 2020-03-20
- Initial release.