Skip to content

fix(config)!: mark config structs non_exhaustive to stabilize the public API #43

@polaz

Description

@polaz

Since v1.1.0, every added/removed config field broke the public config API (cargo-semver-checks flags struct-literal / field changes), because the config structs are a struct-literal contract. They are loaded from YAML via Deserialize and not meant to be hand-constructed by downstream.

Mark all config structs (and the DescriptorSource enum) #[non_exhaustive] so field add/remove stops being a breaking change. This is itself a breaking change (one-time), so the next release is a major bump (2.0.0); after it, config evolves via minor bumps.

Also center the README donation section.

Estimate: 1h

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions