New Features
-
gate experimental APIs with introduction dates
A stable API needs to retain internal access to experimental items while making
those items an explicit opt-in for downstream consumers. Cargo feature unification
also means API checks must distinguish experimental members even when compiled
with the feature enabled.Add
unstablefor items, inherent methods and trait implementations, plus
unstable_fieldsfor selected public fields. Disabled gates retain crate-private
access where Rust permits it; trait implementations are omitted instead. Support
file-backed modules on Rust 1.88 through inline bodies withinclude!;
applying the attribute directly topub mod name;requires Rust 1.99.Require
since = "YYYY-MM-DD"with the item's introduction date from Git history.
Validate calendar dates and include them in the generated instability marker.
Keepreasonoptional and nonempty when supplied, for explanations beyond the
signature or the fact that an item is experimental.Cover visibility, fields, trait implementations, documentation, missing and
malformed dates, leap years and centuries, and invalid or duplicate arguments.
The fixtures use their introduction dates from Git history.
Commit Statistics
- 3 commits contributed to the release.
- 38 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages