diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 506ae9df..a70fd23e 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -1,5 +1,20 @@ = Changelog +== 0.21 + +- (breaking) make default `start`/`stop` arguments empty in printers (#82) + +- add `CCFormat.{with_color_sf,fprintf_dyn_color,sprintf_dyn_color}` +- add `CCFormat.Dump` for easy debugging (see #82) +- add `CCArray.Sub.to_list` +- add `CCArray.{sorted,sort_indices,sort_ranking}` (closes #81) + +- handle '\r` in CCSexpM (fixes #83) +- add alias `Containers.IO` +- bugfixes in `CCArray.Sub` +- bugfix + tests for `CCArray.Sub.sub` +- disable parallel build to support cygwin + == 0.20 - bugfix in `CCArray.equal` diff --git a/_oasis b/_oasis index 82ecf65e..4ca0a03c 100644 --- a/_oasis +++ b/_oasis @@ -1,6 +1,6 @@ OASISFormat: 0.4 Name: containers -Version: 0.20 +Version: 0.21 Homepage: https://github.com/c-cube/ocaml-containers Authors: Simon Cruanes License: BSD-2-clause diff --git a/src/core/CCArray.ml b/src/core/CCArray.ml index 427ccf7b..f881489e 100644 --- a/src/core/CCArray.ml +++ b/src/core/CCArray.ml @@ -53,14 +53,14 @@ module type S = sig val sorted : ('a -> 'a -> int) -> 'a t -> 'a array (** [sorted cmp a] makes a copy of [a] and sorts it with [cmp]. - @since NEXT_RELEASE *) + @since 0.21 *) val sort_indices : ('a -> 'a -> int) -> 'a t -> int array (** [sort_indices cmp a] returns a new array [b], with the same length as [a], such that [b.(i)] is the index of the [i]-th element of [a] in [sort cmp a]. In other words, [map (fun i -> a.(i)) (sort_indices a) = sorted cmp a]. [a] is not modified. - @since NEXT_RELEASE *) + @since 0.21 *) val sort_ranking : ('a -> 'a -> int) -> 'a t -> int array (** [sort_ranking cmp a] returns a new array [b], with the same length as [a], @@ -72,7 +72,7 @@ module type S = sig Without duplicates, we also have [lookup_exn a.(i) (sorted a) = (sorted_ranking a).(i)] - @since NEXT_RELEASE *) + @since 0.21 *) val find : ('a -> 'b option) -> 'a t -> 'b option (** [find f a] returns [Some y] if there is an element [x] such diff --git a/src/core/CCArray.mli b/src/core/CCArray.mli index 44f7cc7b..11be5ebd 100644 --- a/src/core/CCArray.mli +++ b/src/core/CCArray.mli @@ -55,14 +55,14 @@ module type S = sig val sorted : ('a -> 'a -> int) -> 'a t -> 'a array (** [sorted cmp a] makes a copy of [a] and sorts it with [cmp]. - @since NEXT_RELEASE *) + @since 0.21 *) val sort_indices : ('a -> 'a -> int) -> 'a t -> int array (** [sort_indices cmp a] returns a new array [b], with the same length as [a], such that [b.(i)] is the index of the [i]-th element of [a] in [sort cmp a]. In other words, [map (fun i -> a.(i)) (sort_indices a) = sorted cmp a]. [a] is not modified. - @since NEXT_RELEASE *) + @since 0.21 *) val sort_ranking : ('a -> 'a -> int) -> 'a t -> int array (** [sort_ranking cmp a] returns a new array [b], with the same length as [a], @@ -74,7 +74,7 @@ module type S = sig Without duplicates, we also have [lookup_exn a.(i) (sorted a) = (sorted_ranking a).(i)] - @since NEXT_RELEASE *) + @since 0.21 *) val find : ('a -> 'b option) -> 'a t -> 'b option (** [find f a] returns [Some y] if there is an element [x] such @@ -249,7 +249,7 @@ module Sub : sig val to_list : 'a t -> 'a list (** Convert directly to a list - @since NEXT_RELEASE *) + @since 0.21 *) val full : 'a array -> 'a t (** Slice that covers the full array *) diff --git a/src/core/CCFormat.mli b/src/core/CCFormat.mli index ec7c6efd..98ddcc46 100644 --- a/src/core/CCFormat.mli +++ b/src/core/CCFormat.mli @@ -145,7 +145,7 @@ val with_color_sf : string -> ('a, t, unit, string) format4 -> 'a CCFormat.with_color_sf "red" "%a" CCFormat.Dump.(list int) [1;2;3] |> print_endline;; ]} {b status: experimental} - @since NEXT_RELEASE *) + @since 0.21 *) (** {2 IO} *) @@ -175,7 +175,7 @@ val sprintf_dyn_color : colors:bool -> ('a, t, unit, string) format4 -> 'a CCFormat.sprintf_dyn_color ~colors:false "@{%a@}" CCFormat.Dump.(list int) [1;2;3] |> print_endline;; ]} - @since NEXT_RELEASE *) + @since 0.21 *) val fprintf : t -> ('a, t, unit ) format -> 'a (** Alias to {!Format.fprintf} @@ -183,7 +183,7 @@ val fprintf : t -> ('a, t, unit ) format -> 'a val fprintf_dyn_color : colors:bool -> t -> ('a, t, unit ) format -> 'a (** Similar to {!fprintf} but enable/disable colors depending on [colors] - @since NEXT_RELEASE *) + @since 0.21 *) val ksprintf : f:(string -> 'b) -> @@ -214,7 +214,7 @@ val to_file : string -> ('a, t, unit, unit) format4 -> 'a [| [1, true; 2, false]; []; [42, false] |];; ]} - @since NEXT_RELEASE *) + @since 0.21 *) module Dump : sig type 'a t = 'a printer diff --git a/src/core/containers.ml b/src/core/containers.ml index 829c1f11..470bae8f 100644 --- a/src/core/containers.ml +++ b/src/core/containers.ml @@ -82,7 +82,7 @@ module Int64 = CCInt64 (** @since 0.13 *) module IO = CCIO -(** @since NEXT_RELEASE *) +(** @since 0.21 *) module Char = struct include Char