169 lines
6.9 KiB
Markdown
169 lines
6.9 KiB
Markdown
### v1.3.0 2025-04-14 Paris (France)
|
|
|
|
- Use `CAMLextern` rather than `extern` in `caml_*` forward declarations to
|
|
support bytecode linking on Windows (@jonahbeckford, #157)
|
|
- Add `x-maintenance-intent` into OPAM file (@hannesm, #158)
|
|
- Implement _feedable_ hmac (@reynir, #155)
|
|
|
|
### v1.2.0 2024-03-18 Paris (France)
|
|
|
|
- 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)
|
|
|
|
### v1.1.4 2023-03-23 Paris (France)
|
|
|
|
- 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)
|
|
|
|
### v1.1.3 2022-10-20 Paris (France)
|
|
|
|
- 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 of `digestif` breaks the compatibility with MirageOS 3
|
|
and `ocaml-freestanding`. This PR should unlock the ability to
|
|
use `dune-cache`.
|
|
|
|
### v1.1.2 2022-04-08 Paris (France)
|
|
|
|
- Minor update on the README.md (@punchagan, #133)
|
|
- Support only OCaml >= 4.08, update with `ocamlformat.0.21.0` and remove `bigarray-compat`
|
|
dependency (@hannesm, #134)
|
|
|
|
### v1.1.1 2022-03-28 Paradou (France)
|
|
|
|
- Hide C functions (`sha3_keccakf`) (@hannesm, #125)
|
|
- Use `ocaml` to run `install.ml` instead of a shebang (@Nymphium, #127)
|
|
- Use `command -v` instead of `which` (@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)
|
|
|
|
### v1.1.0 2021-10-11 Paris (France)
|
|
|
|
- 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.
|
|
|
|
### v1.0.1 2020-02-08 Paris (France)
|
|
|
|
- Fix `esy` support (@dinosaure, #115)
|
|
- Fix big-endian support (@dinosaure, #113)
|
|
|
|
### v1.0.0 2020-11-02 Paris (France)
|
|
|
|
- **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 a `string`).
|
|
|
|
### v0.9.0 2020-07-10 Paris (France)
|
|
|
|
- Add sha3 implementation (#98), @lyrm, @dinosaure, @hannesm and @cfcs
|
|
|
|
### v0.8.1 2020-06-15 Paris (France)
|
|
|
|
- Move to `dune.2.6.0` (#97)
|
|
- Apply `ocamlformat.0.14.2` (#97)
|
|
- Fix tests according `alcotest.1.0.0` (#95)
|
|
|
|
### v0.8.0 2019-20-09 Saint Louis (Sénégal)
|
|
|
|
- Fake version to prioritize dune's variants instead of
|
|
old linking trick
|
|
- Use `stdlib-shims` to keep compatibility with < ocaml.4.07.0
|
|
|
|
### v0.7.3 2019-07-09 Paris (France)
|
|
|
|
- Fix bug about specialization of BLAKE2{B,S} (#85, #86)
|
|
reported by @samoht, fixed by @dinosaure, reviewed by @hannes and @cfcs
|
|
|
|
### v0.7.2 2019-05-16 Paris (France)
|
|
|
|
- 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 least `dune.1.9.2`
|
|
|
|
### v0.7.1 2018-11-15 Paris (France)
|
|
|
|
- Cross compilation adjustments (@hannesm) (# 76)
|
|
- Add the WHIRLPOOL hash algorithm (@clecat) (#77)
|
|
- Backport fix on opam file (@dinosaure, @kit-ty-kate)
|
|
|
|
### v0.7 2018-10-15 Paris (France)
|
|
|
|
- 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)
|
|
|
|
### v0.6.1 2018-07-24 Paris (France)
|
|
|
|
- *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`
|
|
|
|
### v0.6 2018-07-05 Paris (France)
|
|
|
|
- *breaking change* API:
|
|
From a consensus between people who use `digestif`, we decide to delete `*.Bytes.*` and `*.Bigstring.*` sub-modules.
|
|
We replace it by `feed_{bytes,string,bigstring}` (`digest_`, and `hmac_` too)
|
|
- *breaking change* semantic: streaming and referentially transparent
|
|
Add `feedi_{bytes,string,bigstring}`, `digesti_{bytes,string,bigstring}` and `hmaci_{bytes,string,bigstring}`
|
|
(@hannesm, @cfcs)
|
|
- Constant time for `eq`/`neq` functions
|
|
(@cfcs)
|
|
- *breaking change* semantic on `compare` and `unsafe_compare`:
|
|
`compare` is not a lexicographical comparison function (rename to `unsafe_compare`)
|
|
(@cfcs)
|
|
- Add `consistent_of_hex` (@hannesm, @cfcs)
|
|
|
|
### v0.4 2017-10-30 Mysore / ಮೈಸೂರು (India)
|
|
|
|
- Add an automatised test suit
|
|
- Add the RIPEMD160 hash algorithm
|
|
- Add the BLAKE2S hash algorithm
|
|
- Update authors
|
|
- Add `feed_bytes` and `feed_bigstring` for `Bytes` and `Bigstring`
|
|
|
|
### v0.3 2017-07-21 Phnom Penh (Cambodia)
|
|
|
|
- Fixed issue #6
|
|
- Make a new test suit
|
|
|
|
### v0.2 2017-07-05 Phnom Penh (Cambodia)
|
|
|
|
- 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.)
|
|
|
|
### v0.1 2017-05-12 Rạch Giá (Vietnam)
|
|
|
|
- First release
|