Skip to content

Releases: dgraph-io/badger

BadgerDB v2.0.3

27 Mar 17:49

Choose a tag to compare

Fixed

  • Add support for watching nil prefix in subscribe API (#1246)

Performance

  • Compress/Encrypt Blocks in the background (#1227)
  • Disable cache by default (#1257)

Features

  • Add BypassDirLock option (#1243)
  • Add separate cache for bloomfilters (#1260)

New APIs

  • badger.DB
  • badger.Options
    • WithBypassLockGuard (#1243)
    • WithLoadBloomsOnOpen (#1260)
    • WithMaxBfCacheSize (#1260)

BadgerDB v2.0.3-rc1

26 Mar 17:35
b5dea5b

Choose a tag to compare

BadgerDB v2.0.3-rc1 Pre-release
Pre-release

Fixed

  • Add support for watching nil prefix in subscribe API (#1246)

Performance

  • Compress/Encrypt Blocks in the background (#1227)
  • Disable cache by default (#1257)

Features

  • Add BypassDirLock option (#1243)
  • Add separate cache for bloomfilters (#1260)

New APIs

  • badger.DB
  • badger.Options
    • WithBypassLockGuard (#1243)
    • WithLoadBloomsOnOpen (#1260)
    • WithMaxBfCacheSize (#1260)

BadgerDB v1.6.1

26 Mar 12:48

Choose a tag to compare

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 (#1080)
  • 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 v1.6.1-rc1

24 Mar 11:42
9e0cfde

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

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

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

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

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

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

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.