multihash
Implementation of the multihash format
0.19.5
42M downloads/mo
#1379 most downloaded on crates.io
multiformats/rust-multihash
What this package is like to depend on
Last release 3 months ago
27 Apr 2026
Release timing varies
gaps range from 2 weeks to 1.4 years
Rarely documented
notes for 8 of 41 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
42 releases · first in 2015
2 releases in the last 12 months
see the full history below
Release timeline
42 releases · Dec 2015 to Apr 2026Releases
latest 42-
0.19.527 Apr 2026 -
0.19.415 Apr 2026 -
0.19.306 Dec 2024 -
0.19.224 Oct 2024Release notes
Open source →- multihash 0.19.2
- update unsigned-varint
- codetable 0.1.4
- update strobe
- multihash-derive 0.9.1
- update multihash-derive-impl
- multihash-derive-impl 0.9.1
- remove proc-macro-error dependency
- update synstructure
- update syn to v2
Release notes
Open source →Dependency Updates
multihash0.19.2- update
unsigned-varint
- update
codetable0.1.4- update
strobe
- update
multihash-derive0.9.1- update
multihash-derive-impl
- update
multihash-derive-impl0.9.1- remove
proc-macro-errordependency - update
synstructure - update
synto v2
- remove
- multihash 0.19.2
-
0.19.107 Sep 2023 -
0.19.006 Jun 2023Release notes
Open source →⚠ BREAKING CHANGES
- the Serde serialization format changed
- split crates into multiple to isolate breaking changes
identityhasher was removed
See the migration section below for help on upgrading.
Features
- codetable: remove
identityhasher (#289) (8473e2f) - Serde serialize Multihash in bytes representation (#302) (1023226)
Bug Fixes
- avoid possible panic in error handling code (#277) (5dc1dfa)
- don't panic on non minimal varints (#291) (6ef6040), closes #282
- expose
MultihashDigesttrait in codetable (#304) (50b43cd)
Code Refactoring
Migrating
When upgrading to
v0.19, consider the following:-
Codehas moved frommultihash::Codetomultihash_codetable::Code. It's strongly recommended to define your own code table usingmultihash_derive. Check the custom codetable example on how to use it. For the simplest migration, use themultihash_codetable::Code.Before
use multihash::{Code, MultihashDigest}; fn main() { let hash = Code::Sha2_256.digest(b"hello, world!"); println!("{:?}", hash); }After
use multihash_codetable::{Code, MultihashDigest}; fn main() { let hash = Code::Sha2_256.digest(b"hello, world!"); println!("{:?}", hash); }If you get compile errors, make sure you have the correct features enabled. In this case it would be the
sha2anddigestfeatures. -
multihash::Multihashnow requires the size of its internal buffer as a const-generic. You can migrate your existing code by defining the following type-alias:type Multihash = multihash::Multihash<64>; -
The
identityhasher has been removed completely.Before
use multihash::{Code, MultihashDigest}; fn main() { let hash = Code::Identity.digest(b"hello, world!"); println!("{:?}", hash); }After
use multihash::Multihash; const IDENTITY_HASH_CODE: u64 = 0x00; fn main() { let hash = Multihash::<64>::wrap(IDENTITY_HASH_CODE, b"hello, world!").unwrap(); println!("{:?}", hash); }Check the identity example for more information on how to replicate the functionality.
-
0.18.114 Apr 2023Release notes
Open source → -
0.18.006 Dec 2022Release notes
Open source →⚠ BREAKING CHANGES
-
update to Rust edition 2021
-
Multihash::write()returns bytes writtenPrior to this change it returned an empty tuple
(), now it returns the bytes written.
Features
Bug Fixes
-
-
0.17.007 Nov 2022Nothing published for this version
-
0.16.311 Aug 2022Nothing published for this version
-
0.16.231 Mar 2022Nothing published for this version
-
0.16.104 Feb 2022Nothing published for this version
-
0.16.001 Feb 2022Nothing published for this version
-
0.15.004 Oct 2021Nothing published for this version
-
0.14.026 May 2021Nothing published for this version
-
0.13.201 Dec 2020Nothing published for this version
-
0.13.116 Nov 2020Nothing published for this version
-
0.13.010 Nov 2020Nothing published for this version
-
0.12.030 Oct 2020Nothing published for this version
-
0.11.427 Aug 2020Nothing published for this version
-
0.11.321 Aug 2020Nothing published for this version
-
0.11.219 May 2020Nothing published for this version
-
0.11.108 May 2020Nothing published for this version
-
0.11.007 May 2020Nothing published for this version
-
0.10.106 Mar 2020Nothing published for this version
-
0.10.026 Feb 2020Nothing published for this version
-
0.9.404 Feb 2020Nothing published for this version
-
0.9.320 Dec 2019Nothing published for this version
-
0.9.220 Dec 2019Nothing published for this version
-
0.9.120 Dec 2019Nothing published for this version
-
0.9.020 Dec 2019 withdrawnNothing published for this version
-
0.8.017 May 2018Nothing published for this version
-
0.7.003 Nov 2017Nothing published for this version
-
0.6.009 May 2017Nothing published for this version
-
0.5.226 Mar 2017Nothing published for this version
-
0.5.117 Mar 2017Nothing published for this version
-
0.5.006 Feb 2017Nothing published for this version
-
0.4.202 Feb 2017Nothing published for this version
-
0.4.101 Feb 2017Nothing published for this version
-
0.4.028 Jan 2017Nothing published for this version
-
0.3.018 Jan 2017Nothing published for this version
-
0.1.028 Dec 2015Nothing published for this version