diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 43e557f2..e2ec92c3 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -1,5 +1,28 @@ = Changelog +== 0.15 + +=== breaking changes + +- remove deprecated `CCFloat.sign` +- remove deprecated `CCSexpStream` + +=== other changes + +- basic color handling in `CCFormat`, using tags and ANSI codes +- add `CCVector.ro_vector` as a convenience alias +- add `CCOrd.option` +- add `CCMap.{keys,values}` +- add wip `CCAllocCache`, an allocation cache for short-lived arrays +- add `CCError.{join,both}` applicative functions for CCError +- opam: depend on ocamlbuild +- work on `CCRandom` by octachron: + * add an uniformity test + * Make `split_list` uniform + * Add sample_without_replacement + +- bugfix: forgot to export `{Set.Map}.OrderedType` in `Containers` + == 0.14 === breaking changes @@ -13,7 +36,7 @@ - deprecate `CCVector.rev'`, renamed into `CCVector.rev_in_place` - deprecate `CCVector.flat_map'`, renamed `flat_map_seq` -- add `CCMap.add_{list,seq}` +- add `CCMap.add_{list,seqe` - add `CCSet.add_{list,seq}` - fix small uglyness in `Map.print` and `Set.print` - add `CCFormat.{ksprintf,string_quoted}` diff --git a/_oasis b/_oasis index feb3094f..f0fb6fbc 100644 --- a/_oasis +++ b/_oasis @@ -1,6 +1,6 @@ OASISFormat: 0.4 Name: containers -Version: 0.14 +Version: 0.15 Homepage: https://github.com/c-cube/ocaml-containers Authors: Simon Cruanes License: BSD-2-clause diff --git a/src/core/CCError.mli b/src/core/CCError.mli index 8a3d9e0d..f7e5fa34 100644 --- a/src/core/CCError.mli +++ b/src/core/CCError.mli @@ -146,13 +146,13 @@ val (<*>) : ('a -> 'b, 'err) t -> ('a, 'err) t -> ('b, 'err) t val join : (('a, 'err) t, 'err) t -> ('a, 'err) t (** [join t], in case of success, returns [`Ok o] from [`Ok (`Ok o)]. Otherwise, it fails with [`Error e] where [e] is the unwrapped error of [t]. - @since NEXT_RELEASE *) + @since 0.15 *) val both : ('a, 'err) t -> ('b, 'err) t -> (('a * 'b), 'err) t (** [both a b], in case of success, returns [`Ok (o, o')] with the ok values of [a] and [b]. Otherwise, it fails, and the error of [a] is chosen over the error of [b] if both fail. - @since NEXT_RELEASE *) + @since 0.15 *) (** {2 Infix} diff --git a/src/core/CCFormat.mli b/src/core/CCFormat.mli index a9550402..8ab2e98f 100644 --- a/src/core/CCFormat.mli +++ b/src/core/CCFormat.mli @@ -104,11 +104,11 @@ val map : ('a -> 'b) -> 'b printer -> 'a printer ]} {b status: experimental} - @since NEXT_RELEASE *) + @since 0.15 *) val set_color_tag_handling : t -> unit (** adds functions to support color tags to the given formatter. - @since NEXT_RELEASE *) + @since 0.15 *) val set_color_default : bool -> unit (** [set_color_default b] enables color handling on the standard formatters diff --git a/src/core/CCMap.ml b/src/core/CCMap.ml index d9b752bb..2dc4a5df 100644 --- a/src/core/CCMap.ml +++ b/src/core/CCMap.ml @@ -55,11 +55,11 @@ module type S = sig val keys : _ t -> key sequence (** Iterate on keys only - @since NEXT_RELEASE *) + @since 0.15 *) val values : 'a t -> 'a sequence (** Iterate on values only - @since NEXT_RELEASE *) + @since 0.15 *) val to_list : 'a t -> (key * 'a) list diff --git a/src/core/CCMap.mli b/src/core/CCMap.mli index b8353066..524e56d2 100644 --- a/src/core/CCMap.mli +++ b/src/core/CCMap.mli @@ -58,11 +58,11 @@ module type S = sig val keys : _ t -> key sequence (** Iterate on keys only - @since NEXT_RELEASE *) + @since 0.15 *) val values : 'a t -> 'a sequence (** Iterate on values only - @since NEXT_RELEASE *) + @since 0.15 *) val to_list : 'a t -> (key * 'a) list diff --git a/src/core/CCOrd.mli b/src/core/CCOrd.mli index 39949131..9c9ed76a 100644 --- a/src/core/CCOrd.mli +++ b/src/core/CCOrd.mli @@ -57,7 +57,7 @@ val () : int -> ('a t * 'a * 'a) -> int val option : 'a t -> 'a option t (** Comparison of optional values. [None] is smaller than any [Some _]. - @since NEXT_RELEASE *) + @since 0.15 *) val pair : 'a t -> 'b t -> ('a * 'b) t diff --git a/src/core/CCRandom.mli b/src/core/CCRandom.mli index 1909d483..c0b8c604 100644 --- a/src/core/CCRandom.mli +++ b/src/core/CCRandom.mli @@ -81,7 +81,7 @@ val sample_without_replacement: (** [sample_without_replacement n g] makes a list of [n] elements which are all generated randomly using [g] with the added constraint that none of the generated random values are equal - @since NEXT_RELEASE + @since 0.15 *) val list_seq : 'a t list -> 'a list t @@ -159,5 +159,5 @@ val run : ?st:state -> 'a t -> 'a val uniformity_test : ?size_hint:int -> int -> 'a t -> bool t (** [uniformity_test k rng] tests the uniformity of the random generator [rng] using [k] samples. - @since NEXT_RELEASE + @since 0.15 *) diff --git a/src/core/CCVector.mli b/src/core/CCVector.mli index 2a9986a8..b2c2a2b5 100644 --- a/src/core/CCVector.mli +++ b/src/core/CCVector.mli @@ -39,7 +39,7 @@ type 'a vector = ('a, rw) t type 'a ro_vector = ('a, ro) t (** Alias for immutable vectors. - @since NEXT_RELEASE *) + @since 0.15 *) type 'a sequence = ('a -> unit) -> unit type 'a klist = unit -> [`Nil | `Cons of 'a * 'a klist] diff --git a/src/data/CCAllocCache.mli b/src/data/CCAllocCache.mli index 4a54fa8f..d8538a96 100644 --- a/src/data/CCAllocCache.mli +++ b/src/data/CCAllocCache.mli @@ -8,7 +8,7 @@ {b NOT THREAD SAFE} {b status: experimental} - @since NEXT_RELEASE + @since 0.15 *)