diff --git a/CHANGELOG.md b/CHANGELOG.md index 14c0e3f9..4e52914b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 3.7 + +- add `Format.styling` +- make `Format` compatible with OCaml 5.0, using Stag for colors +- new preprocessor, compatible with merlin, using `[@@@ifge 4.12]`-style pragmas +- feat: add `Byte_buf`, a byte buffer. +- add `CCSeq.{zip_i,of_string}` +- add `CCResult.opt_map` to simplify result function application over optionals (#397) +- add shims for Atomic and Unit +- expose `CCParse.pos` to get current pos; improve perf +- add `CCVector.resize_with` and `CCVector.resize_with_init`, tests and doc (#389) +- add `CCVector.insert` +- update dune to 1.10, condition some rules to unix + +- perf: reduce allocations in `CCSeq.to_array` + +- fix asymptotic behavior of resize functions in `CCVector` +- fix: rely on `either` compatibility library + ## 3.6.1 - use `either` compatibility library instead of shims diff --git a/containers-data.opam b/containers-data.opam index c30d80d4..58b551db 100644 --- a/containers-data.opam +++ b/containers-data.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "3.6.1" +version: "3.7" author: "Simon Cruanes" maintainer: "simon.cruanes.2007@m4x.org" synopsis: "A set of advanced datatypes for containers" diff --git a/containers-thread.opam b/containers-thread.opam index 6af5aaf7..13bb8236 100644 --- a/containers-thread.opam +++ b/containers-thread.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "3.6.1" +version: "3.7" author: "Simon Cruanes" maintainer: "simon.cruanes.2007@m4x.org" license: "BSD-2-Clause" diff --git a/containers.opam b/containers.opam index 59be282c..a0cb951a 100644 --- a/containers.opam +++ b/containers.opam @@ -1,6 +1,6 @@ opam-version: "2.0" name: "containers" -version: "3.6.1" +version: "3.7" author: "Simon Cruanes" maintainer: "simon.cruanes.2007@m4x.org" license: "BSD-2-Clause" diff --git a/src/core/CCByte_buffer.mli b/src/core/CCByte_buffer.mli index fd6a49c8..739d02ee 100644 --- a/src/core/CCByte_buffer.mli +++ b/src/core/CCByte_buffer.mli @@ -2,7 +2,7 @@ (** Byte buffer. A dynamic vector of bytes. - @since NEXT_RELEASE + @since 3.7 *) type t diff --git a/src/core/CCFormat.mli b/src/core/CCFormat.mli index 507e21d4..e9a5ae38 100644 --- a/src/core/CCFormat.mli +++ b/src/core/CCFormat.mli @@ -343,7 +343,7 @@ val styling : ANSI_codes.style list -> 'a printer -> 'a printer ]} Available only on OCaml >= 4.08. - @since NEXT_RELEASE *) + @since 3.7 *) val with_styling : ANSI_codes.style list -> t -> (unit -> 'a) -> 'a (** [with_styling style fmt f] sets the given style on [fmt], @@ -351,7 +351,7 @@ val with_styling : ANSI_codes.style list -> t -> (unit -> 'a) -> 'a It is useful in imperative-style printers (a sequence of "print a; print b; …"). Available only on OCaml >= 4.08. - @since NEXT_RELEASE *) + @since 3.7 *) [@@@endif] diff --git a/src/core/CCParse.mli b/src/core/CCParse.mli index f34bc00a..c2b57efe 100644 --- a/src/core/CCParse.mli +++ b/src/core/CCParse.mli @@ -182,7 +182,7 @@ val pos : position t (** [pos] returns the current position in the buffer. {b EXPERIMENTAL} - @since NEXT_RELEASE *) + @since 3.7 *) val with_pos : 'a t -> ('a * position) t (** [with_pos p] behaves like [p], but returns the (starting) position diff --git a/src/core/CCResult.mli b/src/core/CCResult.mli index ac6b19d4..f1792b2d 100644 --- a/src/core/CCResult.mli +++ b/src/core/CCResult.mli @@ -65,7 +65,7 @@ val add_ctxf : ('a, Format.formatter, unit, ('b, string) t -> ('b, string) t) fo val opt_map : ('a -> ('b, 'c) t) -> 'a option -> ('b option, 'c) t (** Map a fallible operation through an option. - @since NEXT_RELEASE *) + @since 3.7 *) val map : ('a -> 'b) -> ('a, 'err) t -> ('b, 'err) t (** Map on success. *) diff --git a/src/core/CCSeq.mli b/src/core/CCSeq.mli index 5a51f39c..6797048c 100644 --- a/src/core/CCSeq.mli +++ b/src/core/CCSeq.mli @@ -261,7 +261,7 @@ val of_gen : 'a gen -> 'a t val of_string : string -> char t (** Iterate on characters. - @since NEXT_RELEASE *) + @since 3.7 *) (** {2 IO} *) diff --git a/src/core/CCVector.mli b/src/core/CCVector.mli index e7d63c19..260a76aa 100644 --- a/src/core/CCVector.mli +++ b/src/core/CCVector.mli @@ -89,7 +89,7 @@ val resize_with : ('a, rw) t -> (int -> 'a) -> int -> unit to [length vec]. @raise Invalid_argument if the size is too big - @since NEXT_RELEASE *) + @since 3.7 *) val resize_with_init : ('a, rw) t -> init:'a -> int -> unit (** [resize_with_init vec init size] resizes vector [vec] up to [size], @@ -98,7 +98,7 @@ val resize_with_init : ('a, rw) t -> init:'a -> int -> unit to [length vec]. @raise Invalid_argument if the size is too big - @since NEXT_RELEASE *) + @since 3.7 *) val append : ('a, rw) t -> ('a, _) t -> unit (** [append a b] adds all elements of b to a. *)