- Use
CAMLexternrather thanexternincaml_*forward declarations to support bytecode linking on Windows (@jonahbeckford, #157) - Add
x-maintenance-intentinto OPAM file (@hannesm, #158) - Implement feedable hmac (@reynir, #155)
- Update the description to include SHA3 (@Leonidas-from-XIV, #146)
- Add a new type
hash', a polymorphic variant (@reynir, @dinosaure, #150) - Lint
fmtdependency lower-bound (@reynir, #152) - Add
get_into_bytesfunction and a fuzzer about it (@reynir, @dinosaure, #149)
- Add a test about CVE-2022-37454 (@dinosaure, #143)
- Lint the distribution and delete the
pkg-configdependency (@dinosuare, 1eff5c5) - Fix primitives used for bytes and fix the support of
js_of_ocaml5 (@hhugo, #144)
- Support MSVC compiler (@jonahbeckford, #137)
- Fix CI on Windows (
test_conv.mlrequires/dev/urandom) (@dinosaure, #138) - Fix threads support (@dinosaure, #140)
- Delete the META trick needed for MirageOS 3 when we install
digestif(@dinosaure, #141) This version ofdigestifbreaks the compatibility with MirageOS 3 andocaml-freestanding. This PR should unlock the ability to usedune-cache.
- Minor update on the README.md (@punchagan, #133)
- Support only OCaml >= 4.08, update with
ocamlformat.0.21.0and removebigarray-compatdependency (@hannesm, #134)
- Hide C functions (
sha3_keccakf) (@hannesm, #125) - Use
ocamlto runinstall.mlinstead of a shebang (@Nymphium, #127) - Use
command -vinstead ofwhich(@Numphium, #126) - Add
@sincemeta-data in documentation (@c-cube, @dinosaure, #128) - Update the README.md (@dinosaure, @mimoo, #130)
ocaml-solo5provides__ocaml_solo5__instead of__ocaml_freestanding__(@dinosaure, #131)
- Add Keccak256 module (ethereum padding) (@maxtori, @dinosaure, #118)
- Update README.md to include the documentation (@mimoo, @dinosaure, 65a5c12)
- Remove deprecated function from
fmtlibrary (@dinosaure, #121) - NOTE: This version lost the support of OCaml 4.03 and OCaml 4.04.
- Fix
esysupport (@dinosaure, #115) - Fix big-endian support (@dinosaure, #113)
- breaking changes Upgrade the library with MirageOS 3.9 (new layout of artifacts) Add tests about compilation of unikernels (execution and link) (#105, @dinosaure, @hannesm)
- Fix
esyinstallation (#104, @dinosaure) - breaking changes Better GADT (#103, @dinosaure)
As far as I can tell, nobody really use this part of
digestif. The idea is to provide a GADT which contains the type of the hash. From third-part libraries point-of-view, it's better to pattern-match with such information instead to use a polymorphic variant (as before). - breaking changes key used for HMAC is a constant
string(#101, @dinosaure, @hannesm) The key should not follow the same type as the digest value (string,bytes,bigstring). This update restricts the user to user only constant key (as astring).
- Add sha3 implementation (#98), @lyrm, @dinosaure, @hannesm and @cfcs
- Move to
dune.2.6.0(#97) - Apply
ocamlformat.0.14.2(#97) - Fix tests according
alcotest.1.0.0(#95)
- Fake version to prioritize dune's variants instead of old linking trick
- Use
stdlib-shimsto keep compatibility with < ocaml.4.07.0
- Fix bug about specialization of BLAKE2{B,S} (#85, #86) reported by @samoht, fixed by @dinosaure, reviewed by @hannes and @cfcs
-
Add conflict with
< mirage-xen-posix.3.1.0packages (@hannesm) -
Add a note on README.md about the linking-trick and order of dependencies (@rizo)
-
Use experimental feature of variants with
dune(@dinosaure, review @rgrinberg)digestifrequires at leastdune.1.9.2
- Cross compilation adjustments (@hannesm) (# 76)
- Add the WHIRLPOOL hash algorithm (@clecat) (#77)
- Backport fix on opam file (@dinosaure, @kit-ty-kate)
- Fixed HMAC on BLAKE2{S,B} (@emillon) (#46, #51)
- Fixed
convenient_of_hex(@dinosaure, @hannesm, @cfcs) (#55) - Add
of_raw_string/to_raw_string(@samoht) (#57) - Test
digestifon solo5 and xen backends (@samoht) - breaking change, commont type
tis an abstract type (#58, #56) - Fixed META file (@dinosaure, @g2p) (#75)
- New dependency
eqaf(@dinosaure, @cfcs, @hannesm) (constant-time equal function) (#33, #34, #48, #50, #52, #65) - Remove
Obj.magicin common implementation (@dinosaure, @samoht) (#61, #62) - Add conveniences functions in common implementation (@hcarty) (#63)
- Add option-returning functions in common implementation (@harcty) (#63)
- Verify length of string on
of_raw_stringfunction (@hcarty) (#63) - Release runtime lock (@andersfugmann, @dinosaure, @cfcs) (#69, #70)
- Bounds check (@cfcs, @dinosaure) (#71, #72)
- Fixed linking problem (@andersfugmann, @g2p, @dinosaure) (#49, #53, #73, #74)
- Update OPAM file (@dinosaure)
- breaking change API: Digestif implements a true linking trick. End-user need
to explicitely link with
digestif.{c,ocaml}and it needs to be the first of your dependencies. - move to
jbuilder/dune
- breaking change API:
From a consensus between people who use
digestif, we decide to delete*.Bytes.*and*.Bigstring.*sub-modules. We replace it byfeed_{bytes,string,bigstring}(digest_, andhmac_too) - breaking change semantic: streaming and referentially transparent
Add
feedi_{bytes,string,bigstring},digesti_{bytes,string,bigstring}andhmaci_{bytes,string,bigstring}(@hannesm, @cfcs) - Constant time for
eq/neqfunctions (@cfcs) - breaking change semantic on
compareandunsafe_compare:compareis not a lexicographical comparison function (rename tounsafe_compare) (@cfcs) - Add
consistent_of_hex(@hannesm, @cfcs)
- Add an automatised test suit
- Add the RIPEMD160 hash algorithm
- Add the BLAKE2S hash algorithm
- Update authors
- Add
feed_bytesandfeed_bigstringforBytesandBigstring
- Fixed issue #6
- Make a new test suit
- Implementation of the hash function in pure OCaml
- Link improvement (à la
mtime) to decide to use the C stub or the OCaml implementation - Improvement of the common interface (pretty-print, type t, etc.)
- First release