Skip to content

Tracking issue: Polish and stabilize the API #267

@thomaseizinger

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions