Skip to content

Releases: hypermodeinc/badger

BadgerDB v1.6.1-rc1

24 Mar 11:42
9e0cfde
Compare
Choose a tag to compare
BadgerDB v1.6.1-rc1 Pre-release
Pre-release

New APIs

  • Badger.DB
    • NewWriteBatchAt (#948)
  • Badger.Options
    • WithEventLogging (#1035)
    • WithVerifyValueChecksum (#1052)
    • WithBypassLockGuard (#1243)

Features

  • Support checksum verification for values read from vlog (#1052)
  • Add EventLogging option (#1035)
  • Support WriteBatch API in managed mode (#948)
  • Add support for watching nil prefix in Subscribe API (#1246)

Fixed

  • Initialize vlog before starting compactions in db.Open (#1226)
  • Fix int overflow for 32bit (#1216)
  • Remove the 'this entry should've caught' log from value.go (#1170)
  • Fix merge iterator duplicates issue (#1157)
  • Fix segmentation fault in vlog.Read (header.Decode) (#1150)
  • Fix VerifyValueChecksum checks (#1138)
  • Fix windows dataloss issue (#1134)
  • Fix request increment ref bug (#1121)
  • Limit manifest's change set size (#1119)
  • Fix deadlock in discard stats (#1070)
  • Acquire lock before unmapping vlog files (#1050)
  • Set move key's expiresAt for keys with TTL (#1006)
  • Fix deadlock when flushing discard stats. (#976)
  • Fix table.Smallest/Biggest and iterator Prefix bug (#997)
  • Fix boundaries on GC batch size (#987)
  • Lock log file before munmap (#949)
  • VlogSize to store correct directory name to expvar.Map (#956)
  • Fix transaction too big issue in restore (#957)
  • Fix race condition in updateDiscardStats (#973)
  • Cast results of len to uint32 to fix compilation in i386 arch. (#961)
  • Drop discard stats if we can't unmarshal it (#936)
  • Open all vlog files in RDWR mode (#923)
  • Fix race condition in flushDiscardStats function (#921)
  • Ensure rewrite in vlog is within transactional limits (#911)
  • Fix prefix bug in key iterator and allow all versions (#950)
  • Fix discard stats moved by GC bug (#929)

Performance

  • Use fastRand instead of locked-rand in skiplist (#1173)
  • Fix checkOverlap in compaction (#1166)
  • Optimize createTable in stream_writer.go (#1132)
  • Add capacity to slice creation when capacity is known (#1103)
  • Introduce fast merge iterator
  • Introduce StreamDone in Stream Writer (#1061)
  • Flush vlog buffer if it grows beyond threshold (#1067)
  • Binary search based table picker (#983)
  • Making the stream writer APIs goroutine-safe (#959)
  • Replace FarmHash with AESHash for Oracle conflicts (#952)
  • Change file picking strategy in compaction (#894)
  • Use trie for prefix matching (#851)
  • Fix busy-wait loop in Watermark (#920)

BadgerDB v2.0.2

02 Mar 18:07
Compare
Choose a tag to compare

Fixed

  • Cast sz to uint32 to fix compilation on 32 bit. (#1175)
  • Fix checkOverlap in compaction. (#1166)
  • Avoid sync in inmemory mode. (#1190)
  • Support disabling the cache completely. (#1185)
  • Add support for caching bloomfilters. (#1204)
  • Fix int overflow for 32bit. (#1216)
  • Remove the 'this entry should've caught' log from value.go. (#1170)
  • Rework concurrency semantics of valueLog.maxFid. (#1187)

Performance

  • Use fastRand instead of locked-rand in skiplist. (#1173)
  • Improve write stalling on level 0 and 1. (#1186)
  • Disable compression and set ZSTD Compression Level to 1. (#1191)

BadgerDB v2.0.2-rc1

26 Feb 17:58
Compare
Choose a tag to compare
BadgerDB v2.0.2-rc1 Pre-release
Pre-release

Fixed

  • Cast sz to uint32 to fix compilation on 32 bit. (#1175)
  • Fix checkOverlap in compaction. (#1166)
  • Avoid sync in inmemory mode. (#1190)
  • Support disabling the cache completely. (#1185)
  • Add support for caching bloomfilters. (#1204)
  • Fix int overflow for 32bit. (#1216)
  • Remove the 'this entry should've caught' log from value.go. (#1170)
  • Rework concurrency semantics of valueLog.maxFid. (#1187)

Performance

  • Use fastRand instead of locked-rand in skiplist. (#1173)
  • Improve write stalling on level 0 and 1. (#1186)
  • Disable compression and set ZSTD Compression Level to 1. (#1191)

BadgerDB v2.0.1

02 Jan 23:59
Compare
Choose a tag to compare

New APIs

  • badger.Options

  • Badger.TableInfo

Features

  • Introduce in-memory mode in badger. (#1113)

Fixed

  • Limit manifest's change set size. (#1119)
  • Cast idx to uint32 to fix compilation on i386. (#1118)
  • Fix request increment ref bug. (#1121)
  • Fix windows dataloss issue. (#1134)
  • Fix VerifyValueChecksum checks. (#1138)
  • Fix encryption in stream writer. (#1146)
  • Fix segmentation fault in vlog.Read. (header.Decode) (#1150)
  • Fix merge iterator duplicates issue. (#1157)

Performance

  • Set level 15 as default compression level in Zstd. (#1111)
  • Optimize createTable in stream_writer.go. (#1132)

BadgerDB v2.0.1-rc1

23 Dec 19:41
ea01d38
Compare
Choose a tag to compare
BadgerDB v2.0.1-rc1 Pre-release
Pre-release

New APIs

  • badger.Options

  • Badger.TableInfo

Features

  • Introduce in-memory mode in badger. (#1113)

Fixed

  • Limit manifest's change set size. (#1119)
  • Cast idx to uint32 to fix compilation on i386. (#1118)
  • Fix request increment ref bug. (#1121)
  • Fix windows dataloss issue. (#1134)
  • Fix VerifyValueChecksum checks. (#1138)
  • Fix encryption in stream writer. (#1146)
  • Fix segmentation fault in vlog.Read. (header.Decode) (#1150)
  • Fix merge iterator duplicates issue. (#1157)

Performance

  • Set level 15 as default compression level in Zstd. (#1111)
  • Optimize createTable in stream_writer.go. (#1132)

BadgerDB v2.0.0

13 Nov 01:05
Compare
Choose a tag to compare

New features

The main new features are:

Others

There are various bug fixes, optimizations, and new options. See the CHANGELOG for details.

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.