github GitoxideLabs/gitoxide gix-macros-v0.2.1
gix-macros v0.2.1

3 hours ago

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 unstable for items, inherent methods and trait implementations, plus
    unstable_fields for 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 with include!;
    applying the attribute directly to pub 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.
    Keep reason optional 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

Commit Details

view details
  • Uncategorized
    • Merge pull request #3061 from GitoxideLabs/stable-gix (5c88568)
    • Gate experimental APIs with introduction dates (56c12b6)
    • Merge pull request #3020 from GitoxideLabs/report-september (5fb3dcf)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.