Skip to content

Tracking issue: Polish and stabilize the API #267

Description

@thomaseizinger

The discussion for how we can stabilize the API of this crate takes place here: #259.

This issue is here to track our progress and link to relevant tasks.

Tasks:

  • Split crate into multihash, multihash-codetable and multihash-derive #266
  • Make Error an opaque type
  • Export Multihash as Multihash instead of MultihashGeneric
  • Rename custom-derive to MultihashDigest: Derives are conventionally named after the trait they implement
  • Rename serde-codec feature to serde: Use package renames instead
  • Remove parity-scale-codec dependency? Has a large API surface and is already on major version 3. Doesn't seem to be trust-worthy to not break our API in the future again.
  • Remove write_multihash and read_multihash from the public API: They are already exposed via Multihash::read and Multihash::write
  • Rename arb feature to quickcheck: More conventional

The above list are suggestions. Happy to debate all of them. The thinking was:

  • Reduce and harden API surface
  • Minimize dependencies
  • Follow ecosystem conventions

Overall, my suggestion would be to pack all of these into one breaking change which will hopefully be the last one for a long time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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