From 943ce7f734c03f05504ccc76bd50bfa08fe6f9f0 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Mon, 3 May 2021 13:32:08 -0400 Subject: [PATCH] get ready for 3.4 --- CHANGELOG.md | 15 +++++++++++++++ containers-data.opam | 3 ++- containers-thread.opam | 3 ++- containers.opam | 3 ++- src/core/CCOpt.mli | 2 +- src/core/CCSexp.mli | 2 +- src/core/CCString.mli | 2 +- src/core/CCStringLabels.mli | 2 +- 8 files changed, 25 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a88542fc..6c2d6d61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 3.4 + +- Add `CCOpt.get_exn_or` and deprecate `CCOpt.get_exn` +- CCRAL: add `get_and_remove_exn` operation +- CCString: add `CCString.uniq` +- refactor `CCHash` to use FNV in many combinators +- CCInt: improve perf by using a single implementation of popcount using int64 + +- fix: CCRAL.remove does not always remove +- fix(sexp): re-export the `loc` type to the functor's argument's type +- refactor and clarify `cutoff` in `String.edit_distance` +- fix(CCInt): make sure hash is always positive + +- big upgrade to CI thanks to @Fardale + ## 3.3 - feat: add code-generator for optimal bitfields; add tests diff --git a/containers-data.opam b/containers-data.opam index 094d1c44..306808a0 100644 --- a/containers-data.opam +++ b/containers-data.opam @@ -1,8 +1,9 @@ opam-version: "2.0" -version: "3.3" +version: "3.4" author: "Simon Cruanes" maintainer: "simon.cruanes.2007@m4x.org" synopsis: "A set of advanced datatypes for containers" +license: "BSD-2" build: [ ["dune" "build" "-p" name "-j" jobs] ["dune" "build" "@doc" "-p" name ] {with-doc} diff --git a/containers-thread.opam b/containers-thread.opam index d24a2e7e..abeb1232 100644 --- a/containers-thread.opam +++ b/containers-thread.opam @@ -1,7 +1,8 @@ opam-version: "2.0" -version: "3.3" +version: "3.4" author: "Simon Cruanes" maintainer: "simon.cruanes.2007@m4x.org" +license: "BSD-2" synopsis: "An extension of containers for threading" build: [ ["dune" "build" "-p" name "-j" jobs] diff --git a/containers.opam b/containers.opam index a83f5d15..da055f36 100644 --- a/containers.opam +++ b/containers.opam @@ -1,8 +1,9 @@ opam-version: "2.0" name: "containers" -version: "3.3" +version: "3.4" author: "Simon Cruanes" maintainer: "simon.cruanes.2007@m4x.org" +license: "BSD-2" synopsis: "A modular, clean and powerful extension of the OCaml standard library" build: [ ["dune" "build" "-p" name "-j" jobs] diff --git a/src/core/CCOpt.mli b/src/core/CCOpt.mli index 64f4b527..56af8a04 100644 --- a/src/core/CCOpt.mli +++ b/src/core/CCOpt.mli @@ -98,7 +98,7 @@ val get_exn_or : string -> 'a t -> 'a (** [get_exn_or msg o] returns [x] if [o] is [Some x] or fails with [Invalid_argument msg] if [o] is [None]. @raise Invalid_argument if the option is [None]. - @since NEXT_RELEASE *) + @since 3.4 *) val get_lazy : (unit -> 'a) -> 'a t -> 'a (** [get_lazy default_fn o] unwraps [o], but if [o] is [None] it returns [default_fn ()] instead. diff --git a/src/core/CCSexp.mli b/src/core/CCSexp.mli index 6e1f6ed1..53c33dac 100644 --- a/src/core/CCSexp.mli +++ b/src/core/CCSexp.mli @@ -25,7 +25,7 @@ module type S = CCSexp_intf.S @since 2.7 - @since NEXT_RELEASE re-bind [loc] to [Sexp.loc] + @since 3.4 re-bind [loc] to [Sexp.loc] *) module Make(Sexp : SEXP) : S with type t = Sexp.t and type loc = Sexp.loc diff --git a/src/core/CCString.mli b/src/core/CCString.mli index f6a76d77..0771bd9f 100644 --- a/src/core/CCString.mli +++ b/src/core/CCString.mli @@ -251,7 +251,7 @@ val filter : (char -> bool) -> string -> string val uniq : (char -> char -> bool) -> string -> string (** [uniq eq s] remove consecutive duplicate characters in [s]. - @since NEXT_RELEASE *) + @since 3.4 *) val flat_map : ?sep:string -> (char -> string) -> string -> string (** [flat_map ~sep f s] maps each chars of [s] to a string, then concatenates them all. diff --git a/src/core/CCStringLabels.mli b/src/core/CCStringLabels.mli index b050288c..bc8acf54 100644 --- a/src/core/CCStringLabels.mli +++ b/src/core/CCStringLabels.mli @@ -256,7 +256,7 @@ val filter : f:(char -> bool) -> string -> string val uniq : eq:(char -> char -> bool) -> string -> string (** [uniq ~eq s] remove consecutive duplicate characters in [s]. - @since NEXT_RELEASE *) + @since 3.4 *) val flat_map : ?sep:string -> f:(char -> string) -> string -> string (** [flat_map ?sep ~f s] maps each chars of [s] to a string, then concatenates them all.