Skip to content

Releases: stripe/bonsai

v0.3.0

06 Jun 21:49
Compare
Choose a tag to compare

This release adds Scala 2.12 support (#16) and includes a couple of sets of additions and some API clean-up.

You can now use Scala's Map, Set, or Vector collection types as labels without having to write your own Layout instances describing how to serialize and deserialize them (#17). If you need Layout instances for other collection types, you can define your own on the model of these three instances.

There are also new collectLabels and collectLabelsF methods on TreeOps, and collectLeafLabels and collectLeafLabelsF methods on FullBinaryTreeOps (#15 and #19). These methods make it more convenient to collect the set of labels for a tree (or a set of values resulting from a transformation of the labels).

There are also several breaking changes in the signatures of methods on FullBinaryTree and FullBinaryTreeOps. The first function argument to all fold and reduce methods now takes the label and then the children, and all of these methods now take both function arguments in a single parameter list. See #19 for the motivation for these changes.

v0.2.1

02 Jun 14:56
Compare
Choose a tag to compare
  • Fix bug in DenseArrayLayout's dictionary encoding

v0.2.0

15 Apr 19:30
Compare
Choose a tag to compare
  • support for efficient (de)serialization in Layouts

v0.1.3

12 Jan 21:30
Compare
Choose a tag to compare

A bunch of changes in this release:

  • Renamed Bitset => IndexedBitSet
  • More/better docs
  • Lots of optimizations
  • Fixed bug in IndexedBitSet#toString
  • Removes the default implicit denseVector layout
  • Better methods for traversing trees (eg folds)

v0.1.2

14 Dec 20:26
Compare
Choose a tag to compare
  • Add new FullBinaryTree class and FullBinaryTreeOps type class

v0.1.1

14 Dec 20:27
Compare
Choose a tag to compare
  • Cross-build with Scala 2.10 and 2.11

v0.1.0

14 Dec 20:27
Compare
Choose a tag to compare
  • Initial release