Skip to content

Releases: khonsulabs/nebari

v0.2.2

01 Feb 17:51
9a8f33b
Compare
Choose a tag to compare

Fixed

  • Fixed a hypothetical locking deadlock if transactions for trees passed into
    State::new_transaction or Roots::new_transaction in a consistent order.

v0.2.1

27 Jan 19:04
687831f
Compare
Choose a tag to compare

Fixed

  • Removing a key in a versioned tree would cause subsequent scan() operations
    to fail if the key evaluator requested reading data from key that has no
    current data. A safeguard has been put in place to ensure that even if
    KeyEvaluation::ReadData is returned on an index that contains no position it
    will skip the operation rather than attempting to read data from the start of
    the file.

    Updating the crate should restore access to any "broken" files.

v0.2.0

26 Jan 23:36
edff119
Compare
Choose a tag to compare

Breaking Changes

  • tree::State::read() now returns an Arc containing the state, rather than a
    read guard. This change has no noticable impact on microbenchmarks, but yields
    more fair writing performance under heavy-read conditions -- something the
    current microbenchmarks don't test but in-development Commerce Benchmark for
    BonsaiDb unvieled.
  • Buffer has been renamed to ArcBytes. This type has been extracted into its
    own crate, allowing it to be used in bonsaidb::core. The new crate is
    available here.
  • Root::scan, Tree::scan, Tree::get_range, TransactionTree::scan, and
    TransactionTree::get_range now take types that implement
    RangeBounds<&[u8]>. BorrowByteRange is a trait that can be used to help
    borrow ranges of owned data.

Added

  • nebari::tree::U64Range has been exposed. This type makes it easier to work
    with ranges of u64s.

v0.1.1

06 Jan 03:25
61e99cc
Compare
Choose a tag to compare

Added

  • Tree::replace has been added, which calls through to TransactionTree::replace.
  • Tree::modify and TransactionTree::modify have been added, which execute a
    lower-level modification on the underlying tree.

v0.1.0

04 Jan 14:34
d94b2d2
Compare
Choose a tag to compare

This release signifies that we believe Nebari is stable enough that other projects could use it. While it's had a fair amount of internal testing while developing BonsaiDb, it should still be considered alpha and used with caution.

Any breaking file format changes from this point forward will result in major version number increments.