- Update the description to include SHA3 (@Leonidas-from-XIV, #146)
- Add a new type
hash'
, a polymorphic variant (@reynir, @dinosaure, #150) - Lint
fmt
dependency lower-bound (@reynir, #152) - Add
get_into_bytes
function and a fuzzer about it (@reynir, @dinosaure, #149)
- Add a test about CVE-2022-37454 (@dinosaure, #143)
- Lint the distribution and delete the
pkg-config
dependency (@dinosuare, 1eff5c5) - Fix primitives used for bytes and fix the support of
js_of_ocaml
5 (@hhugo, #144)
- Support MSVC compiler (@jonahbeckford, #137)
- Fix CI on Windows (
test_conv.ml
requires/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 ofdigestif
breaks 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.0
and removebigarray-compat
dependency (@hannesm, #134)
- Hide C functions (
sha3_keccakf
) (@hannesm, #125) - Use
ocaml
to runinstall.ml
instead of a shebang (@Nymphium, #127) - Use
command -v
instead ofwhich
(@Numphium, #126) - Add
@since
meta-data in documentation (@c-cube, @dinosaure, #128) - Update the README.md (@dinosaure, @mimoo, #130)
ocaml-solo5
provides__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
fmt
library (@dinosaure, #121) - NOTE: This version lost the support of OCaml 4.03 and OCaml 4.04.
- Fix
esy
support (@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
esy
installation (#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-shims
to 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.0
packages (@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)digestif
requires 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
digestif
on solo5 and xen backends (@samoht) - breaking change, commont type
t
is 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.magic
in 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_string
function (@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
/neq
functions (@cfcs) - breaking change semantic on
compare
andunsafe_compare
:compare
is 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_bytes
andfeed_bigstring
forBytes
andBigstring
- 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