Releases: c-cube/ocaml-containers
3.18
CHANGES:
- fix leb128 slice bug
- fix leb128
Int64.min_intbug - add tests for leb128 library (#486)
- fix size explosion in
t_pvec.mlfound in CI - some breaking changes after the big bump to 4.08 as lower bound, thanks to @fardale for the cleanup
- breaking: CCListLabel.compare and CCListLabel.equal takes the function on the elements as named arguments
- breaking: CCListLabel.init now takes the length as a named arguments to follow the Stdlib
- breaking: change the semantic of CCFloat.{min,max} with respect to NaN to follow the Stdlib
- breaking: change the semantic of CCInt.rem with respect to negative number to follow the Stdlib
- breaking: change the order of argument of
CCMap.add_seqto align with the stdlib.
3.17
3.16
CHANGES:
-
breaking: Renamed predicate parameter of
take_while,rtake_whilefromptof, aligining it with pre-existingdrop_while. -
feat: add
containers.leb128library -
feat: add
CCFun.with_return -
Added functions to the
Charmodule to check common character properties. -
feat: add
CCVector.findi -
fix: compat with OCaml 5.4
-
fix: oob(!!) in CCHash.bytes
3.15
3.14
CHANGES:
-
predicate combinators:
and_predandor_pred -
feat
pp: add a bunch of extensions -
Kleisli Composition Operator and Apply_or for option/result/fun (#455)
-
add
CCByte_buffer.to_slice -
add a byte slice type
CCByte_slice -
add
cons_whentoCCListLabels -
add
(|||>)and||>toCCFun -
CCVector: Add function foldi -
add
containers.pvec, a persistent vector type. -
perf: use a monomorphic impl for
CCMonomorphic.{min,max}
3.13.1
3.13
CHANGES:
-
breaking: delete containers-thread (which was deprecated)
-
breaking: pp: modify
Ext.tso it takes surrounding value -
CCMultiMap: Rename functions find_left and find_right in the bidirectional multimap
to find_left_iter and find_right_iter respectively to reflect their usage,
and add new functions to replace the old find_left and find_right
that return a list of values rather than an iterator,
to make the signatures of CCMultiMap.S and CCMultiMap.BIDIR cohere.
Additionally, change the return type of
S.find_iterfromt -> key -> (value -> unit) -> unittot -> key -> value iter. -
CCList: add
unfold -
CCBool: Add functions if_then and if_then_else
-
CCList: remove some functions that are subsumed by the stdlib
-
CCList: use TRMC for many functions on 5.1
-
feat CCFunvec: add
fold_rev -
add
Containers_pp.newline_or_spaces -
cleanup: remove stubs for code always present on 4.08, rely on
newer functions in 5.1 -
remove last refs to
CCShims -
perf: accelerate
List.appendandList.flat_mapon 5.1 -
more warnings, more tests, cleanup dead code
-
change COC to ocaml-coc
3.12
-
add
containers.ppsublibrary, with Wadler-style pretty printing combinators -
add
CCArray.{max,argmax,min,argmin}and their _exn counterparts -
add
CCParse.take_until_success -
add
Option.flat_map_l -
add
CCSet.{find_first_map,find_last_map} -
CCHash: native FNV hash for int64/int32 -
fix bugs in CCParse related to
recurseandSlice -
fix: fix Set.find_last_map on OCaml 4.03
-
fix: make sure
Vector.to_{seq,gen}captures the length initially