Skip to content

Releases: dgraph-io/badger

BadgerDB v1.6.0

03 Jul 18:15
Compare
Choose a tag to compare

BadgerDB has changed a lot over the latest year so we released a new version with a brand new API.

Read our CHANGELOG for more details on the exact changes, or the announcement post on our blog.

New features

The main new features are:

  • The Stream framework has been migrated from Dgraph into BadgerDB.
  • A new StreamWriter was added for concurrent writes for sorted streams.
  • You can now subscribe to changes in a DB with the DB.Subscribe method.
  • A new builder API has been added to reduce the boilerplate related to badger.Options.

Breaking API changes

The following changes might impact your code:

  • badger.ManagedDB has been deprecated and merged into badger.DB. You can still use badger.OpenManaged.
  • The badger.Options.DoNotCompact option has been removed.
  • badger.DefaultOptions and badger.LSMOnlyOptions are now functions that receive a directory path as a parameter.
  • All the methods on badger.Txn with name starting in SetWith have been deprecated and replaced with a builder API for type badger.Entry.
  • badger.Item.Value now receives a function that returns an error.
  • badger.Txn.Commit doesn't receive any params anymore.
  • badger.DB.Tables now accepts a boolean to decide whether keys should be counted.

Others

Many new commands and flags have been added to the badger CLI tool, read the CHANGELOG for more details.

BadgerDB v2.0.0-rc1

20 Jun 21:58
41d170b
Compare
Choose a tag to compare
BadgerDB v2.0.0-rc1 Pre-release
Pre-release

BadgerDB has changed a lot over the latest year so we released a new version with a brand new API.

BadgerDB v2.0.0 corresponds to the current status of master as June 20th, so if you're using latest you should not have any issues upgrading.

Read our CHANGELOG for more details on the exact changes.

New features

The main new features are:

  • The Stream framework has been migrated from Dgraph into BadgerDB.
  • A new StreamWriter was added for concurrent writes for sorted streams.
  • You can now subscribe to changes in a DB with the DB.Subscribe method.
  • A new builder API has been added to reduce the boiler plate related to badger.Options.

Breaking API changes

The following changes might impact your code:

  • badger.ManagedDB has been deprecated and merged into badger.DB. You can still use badger.OpenManaged.
  • The badger.Options.DoNotCompact option has been removed.
  • badger.DefaultOptions and badger.LSMOnlyOptions are now functions that receive a directory path as a parameter.
  • All the methods on badger.Txn with name starting in SetWith have been deprecated and replaced with a builder API for type badger.Entry.
  • badger.Item.Value now receives a function that returns an error.
  • badger.Txn.Commit doesn't receive any params anymore.
  • badger.DB.Tables now accepts a boolean to decide whether keys should be counted.

Others

Many new commands and flags have been added to the badger CLI tool, read the CHANGELOG for more details.

BadgerDB v1.5.5

20 Jun 21:32
Compare
Choose a tag to compare

Adding support for Go modules

This will probably be the last v1.x version released, as we're also releasing v2.0.0 very soon.

BadgerDB v1.5.3

11 Jul 22:01
Compare
Choose a tag to compare

Bug Fixes:

  • Fix a panic caused due to item.vptr not copying over vs.Value, when looking
    for a move key.

BadgerDB v1.5.2

19 Jun 23:42
Compare
Choose a tag to compare

Bug Fixes:

  • Fix the way move key gets generated.
  • If a transaction has unclosed, or multiple iterators running simultaneously,
    throw a panic. Every iterator must be properly closed. At any point in time,
    only one iterator per transaction can be running. This is to avoid bugs using the
    transaction data structure which is thread unsafe.

Warning: This change might cause panics in user code. Fix is to properly
close your iterators, and only have one running at a time per transaction.

BadgerDB v1.5.1

04 Jun 21:51
Compare
Choose a tag to compare

Bug Fixes:

  • Fix for infinite yieldItemValue recursion. #503
  • Fix recursive addition of badgerMove prefix. 2e3a32f
  • Use file size based window size for sampling, instead of fixing it to 10MB. #501

Cleanup:

  • Clarify comments and documentation.
  • Move badger tool one directory level up.

Badger v1.5.0 Release

09 May 02:02
Compare
Choose a tag to compare
  • Introduce NumVersionsToKeep option. This option is used to discard many
    versions of the same key, which saves space.
  • Add a new SetWithDiscard method, which would indicate that all the older
    versions of the key are now invalid. Those versions would be discarded during
    compactions.
  • Value log GC moves are now bound to another keyspace to ensure latest versions
    of data are always at the top in LSM tree.
  • Introduce ValueLogMaxEntries to restrict the number of key-value pairs per
    value log file. This helps bound the time it takes to garbage collect one
    file.

BadgerDB v1.4.0

05 May 00:02
Compare
Choose a tag to compare
  • Make mmap-ing of value log optional.
  • Run GC multiple times, based on recorded discard statistics.
  • Add MergeOperator.
  • Force compact L0 on close (#439).
  • Add truncate option to warn about data loss (#452).
  • Discard key versions during compaction (#464).
  • Introduce new LSMOnlyOptions, to make Badger act like a typical LSM based DB.

Bug fix:

  • [Temporary] Check max version across all tables in Get (would be removed in v2.0).
  • Update commit and read ts while loading from backup.
  • Ensure all transaction entries are part of the same value log file.
  • On commit, run unlock callbacks before doing writes (#413).
  • Wait for goroutines to finish before closing iterators (#421).

BadgerDB v1.3.0

12 Dec 05:24
6961121
Compare
Choose a tag to compare
  • Add DB.GetSequence() method to generate monotonically increasing integer
    sequences.
  • Add DB.Size() method to return the size of LSM and value log files.
  • Tweaked mmap code to make Windows 32-bit builds work.
  • Tweaked build tags on some files to make iOS builds work.
  • Fix DB.PurgeOlderVersions() to not violate some constraints.

BadgerDB v1.2.0

30 Nov 04:21
aa6f000
Compare
Choose a tag to compare
Version bump to v1.2.0