Skip to content

Releases: c-cube/ocaml-containers

3.6

19 Oct 03:22
b2cff1d
Compare
Choose a tag to compare
3.6
  • rename CCOpt to CCOption and deprecate CCOpt
  • add iterator functions to CCIO
  • CCOrd: add poly, deprecate compare
  • 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

3.5

05 Aug 14:12
Compare
Choose a tag to compare
3.5

A nice release, quite featureful! 🙂

  • add CCHash.map and CCHash.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

04 May 12:56
Compare
Choose a tag to compare
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 deprecate CCOpt.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 in String.edit_distance

  • fix(CCInt): make sure hash is always positive

  • big upgrade to CI thanks to @FardaleM

3.3

03 Apr 22:13
Compare
Choose a tag to compare
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 and exists

  • 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

01 Feb 15:58
Compare
Choose a tag to compare
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, add append, append_l, infix ++ for sequencing,
    space, break, cut

  • fix: in CCSexp, handle non-ascii escapes in strings

  • CCUtf8_string: add and expose uchar_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

05 Dec 16:15
Compare
Choose a tag to compare
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

04 Aug 13:25
Compare
Choose a tag to compare
3.0

containers 3.0.

see changelog

2.8.1

13 Jan 14:34
Compare
Choose a tag to compare

bugfix release for 2.8, with a missing function in CCVector.

2.8

13 Jan 14:34
Compare
Choose a tag to compare
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 of Seq.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

detailed changelog

2.7

12 Nov 23:40
Compare
Choose a tag to compare
2.7

Large release, with some highlights:

  • many improvements to CCDeque
  • functorized CCSexp on the concrete representation of S-expressions
  • to_string functions in many modules
  • some deprecations (a few functions in CCIO, CCKlist)
  • reimplementation of Stdlib.Fun functions

see changelog