Releases: c-cube/ocaml-containers
3.6
- rename
CCOpt
toCCOption
and deprecateCCOpt
- add iterator functions to
CCIO
CCOrd
: addpoly
, deprecatecompare
- add
CCIO.File.walk_iter
CCParse
: heavy refactoring, many new functions, and broken compatibility for most programs- backtracking by default (not more
try_
) - changed the location system
- add
slice
and the ability to recurse on them, split input into slices, while preserving locations - expose Position module, add
or_
,both
,lookahead
,U.bool
- example Sexpr parser, and a test
- example and test of an IRC log parser
- backtracking by default (not more
3.5
A nice release, quite featureful! 🙂
-
add
CCHash.map
andCCHash.bytes
-
CCIO: add many
Seq.t
based functions -
CCUtf8string: add
{make,empty,of_uchar}
-
add
CCFormat.{const_string,opaque}
-
add
CCOpt.{some,none}
-
CCFormat: expose
ANSI_codes
module -
CCBV: add
equal
, refactor for performance and readability -
CCList: add
{sorted_diff_uniq,sorted_mem,sorted_diff,sorted_remove}
-
fix(bv): index error in union
-
test: add some property tests on
Csexp/Canonical_sexp
-
bv: add more tests, including regression for #370
3.4
This release focuses on performance and bugfixes. The hash functions are improved by, at last, reimplementing a hash algorithm ourselves.
-
Add
CCOpt.get_exn_or
and deprecateCCOpt.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
inString.edit_distance
-
fix(CCInt): make sure hash is always positive
-
big upgrade to CI thanks to @FardaleM
3.3
main features:
- add code-generator for optimal bitfields; add tests
- new Canonical sexpr module with printer and parser
new functions:
-
CCSeq: Add
for_all
andexists
-
feat(sexp): expose last location in decoder
-
feat(CCChar): add CCChar.Infix
-
feat(CCString): add CCString.foldi
-
feat(CCFormat): add
string_lines
combinator -
feat(CCList): update with regards to
partition_map
-
add
CCList.cons'
-
implement {of,add}_*_with family of function in
CCMap
with update (#352) -
add
CCMap.of_{list,iter,seq}_with
functions -
add
CCHashtbl.{of,add}_{list,seq,iter}_with
-
Fix integer overflow warning on jsoo (#346)
-
updated fuzzer scripts
3.2
-
add CCEither module
-
add
CCList.chunks
-
add iter/seq functions to
CCString
-
add
CCList.reduce
(resolves #305) -
fix: in
CCInt
pick popcount at runtime on 64 bits -
fix: in shims, use configurator properly to determine int size
-
in
CCFormat
, addappend
,append_l
, infix++
for sequencing,
space
,break
,cut
-
fix: in
CCSexp
, handle non-ascii escapes in strings -
CCUtf8_string
: add and exposeuchar_to_bytes
-
enable auto deploy of doc
-
improve CI: test core on non ubuntu platform, test all on ubuntu
-
update readme
-
CCImmutArray: add tests (#344)
-
add fuzzing (#339)
-
add stronger test to compare with uutf in ccutf8string
3.1
-
add
List.combine_chop
and corresponding(and&)
synchronized product -
chore: remove travis to use github CI instead
-
add
CCList.mguard
function for list comprehensions -
add some basic tests to CCMutHeap
-
un-specify order of elements in
CCMap.to_list
-
Move definition of
CCMap.update
so that it is shadowed by Stdlib.Map.update -
fix(intmap): order of arguments for the HO param should be stable
-
feat(containers-data): add
CCMutHeap
mutable heap with increase/decrease
3.0
2.8.1
2.8
Large release with several major changes:
let
operators for OCaml >= 4.08- deprecate
{of,to}_seq
in favor of{of,to}_iter
- deprecate
CCKList
in favor ofSeq.t
(and add{of,to}_std_seq
where possible) - a lot of new functions for lists
- use a tiny bit of unsafe in
CCVector
to prevent it from keeping values alive for too long - fixes related to mdx and dune 2