Releases: dgraph-io/badger
Releases · dgraph-io/badger
BadgerDB v2.2007.0
Fixed
- Add a limit to the size of the batches sent over a stream. (#1412)
- Fix Sequence generates duplicate values (#1281)
- Fix race condition in DoesNotHave (#1287)
- Fail fast if cgo is disabled and compression is ZSTD (#1284)
- Proto: make badger/v2 compatible with v1 (#1293)
- Proto: Rename dgraph.badger.v2.pb to badgerpb2 (#1314)
- Handle duplicates in ManagedWriteBatch (#1315)
- Ensure
bitValuePointer
flag is cleared for LSM entry values written to LSM (#1313) - DropPrefix: Return error on blocked writes (#1329)
- Confirm
badgerMove
entry required before rewrite (#1302) - Drop move keys when its key prefix is dropped (#1331)
- Iterator: Always add key to txn.reads (#1328)
- Restore: Account for value size as well (#1358)
- Compaction: Expired keys and delete markers are never purged (#1354)
- GC: Consider size of value while rewriting (#1357)
- Force KeepL0InMemory to be true when InMemory is true (#1375)
- Rework DB.DropPrefix (#1381)
- Update head while replaying value log (#1372)
- Avoid panic on multiple closer.Signal calls (#1401)
- Return error if the vlog writes exceeds more than 4GB (#1400)
Performance
Features
- Support disabling conflict detection (#1344)
- Add leveled logging (#1249)
- Support entry version in Write batch (#1310)
- Add Write method to batch write (#1321)
- Support multiple iterators in read-write transactions (#1286)
New APIs
- Badger.DB
- Badger.Option
- Badger.WriteBatch
Changes to Default Options
- DefaultOptions: Set KeepL0InMemory to false (#1345)
- Increase default valueThreshold from 32B to 1KB (#1346)
Deprecated
- Badger.Option
- WithEventLogging (#1203)
Reverts
This section lists the changes which were reverted because of non-reproducible crashes.
- Compress/Encrypt Blocks in the background (#1227)
BadgerDB v20.07.0
Fixed
- Add a limit to the size of the batches sent over a stream. (#1412)
- Fix Sequence generates duplicate values (#1281)
- Fix race condition in DoesNotHave (#1287)
- Fail fast if cgo is disabled and compression is ZSTD (#1284)
- Proto: make badger/v2 compatible with v1 (#1293)
- Proto: Rename dgraph.badger.v2.pb to badgerpb2 (#1314)
- Handle duplicates in ManagedWriteBatch (#1315)
- Ensure
bitValuePointer
flag is cleared for LSM entry values written to LSM (#1313) - DropPrefix: Return error on blocked writes (#1329)
- Confirm
badgerMove
entry required before rewrite (#1302) - Drop move keys when its key prefix is dropped (#1331)
- Iterator: Always add key to txn.reads (#1328)
- Restore: Account for value size as well (#1358)
- Compaction: Expired keys and delete markers are never purged (#1354)
- GC: Consider size of value while rewriting (#1357)
- Force KeepL0InMemory to be true when InMemory is true (#1375)
- Rework DB.DropPrefix (#1381)
- Update head while replaying value log (#1372)
- Avoid panic on multiple closer.Signal calls (#1401)
- Return error if the vlog writes exceeds more than 4GB (#1400)
Performance
Features
- Support disabling conflict detection (#1344)
- Add leveled logging (#1249)
- Support entry version in Write batch (#1310)
- Add Write method to batch write (#1321)
- Support multiple iterators in read-write transactions (#1286)
New APIs
- Badger.DB
- Badger.Option
- Badger.WriteBatch
Changes to Default Options
- DefaultOptions: Set KeepL0InMemory to false (#1345)
- Increase default valueThreshold from 32B to 1KB (#1346)
Deprecated
- Badger.Option
- WithEventLogging (#1203)
Reverts
This section lists the changes which were reverted because of non-reproducible crashes.
- Compress/Encrypt Blocks in the background (#1227)
BadgerDB v20.07.0-rc3
Various bug fixes: Break up list and run DropAll func (#1439) (#1440) * Run the returned func even on error, if the func is not nil. * Break up keys from a single list output to avoid sending a HUGE batch which can exceed Grpc limits. (cherry picked from commit 1ccf3a875dd704e62dd4141afa3fcc01d79097b5) Co-authored-by: Manish R Jain <[email protected]>
BadgerDB v20.07.0-rc2
Fixed
- Add a limit to the size of the batches sent over a stream. (#1412)
BadgerDB v20.07.0-rc1
Fixed
- Fix Sequence generates duplicate values (#1281)
- Fix race condition in DoesNotHave (#1287)
- Fail fast if cgo is disabled and compression is ZSTD (#1284)
- Proto: make badger/v2 compatible with v1 (#1293)
- Proto: Rename dgraph.badger.v2.pb to badgerpb2 (#1314)
- Handle duplicates in ManagedWriteBatch (#1315)
- Ensure
bitValuePointer
flag is cleared for LSM entry values written to LSM (#1313) - DropPrefix: Return error on blocked writes (#1329)
- Confirm
badgerMove
entry required before rewrite (#1302) - Drop move keys when its key prefix is dropped (#1331)
- Iterator: Always add key to txn.reads (#1328)
- Restore: Account for value size as well (#1358)
- Compaction: Expired keys and delete markers are never purged (#1354)
- GC: Consider size of value while rewriting (#1357)
- Force KeepL0InMemory to be true when InMemory is true (#1375)
- Rework DB.DropPrefix (#1381)
- Update head while replaying value log (#1372)
- Avoid panic on multiple closer.Signal calls (#1401)
- Return error if the vlog writes exceeds more than 4GB (#1400)
Performance
Features
- Support disabling conflict detection (#1344)
- Add leveled logging (#1249)
- Support entry version in Write batch (#1310)
- Add Write method to batch write (#1321)
- Support multiple iterators in read-write transactions (#1286)
New APIs
- Badger.DB
- Badger.Option
- Badger.WriteBatch
Changes to Default Options
- DefaultOptions: Set KeepL0InMemory to false (#1345)
- Increase default valueThreshold from 32B to 1KB (#1346)
Deprecated
- Badger.Option
- WithEventLogging (#1203)
Reverts
This sections lists the changes which were reverted because of non-reproducible crashes.
- Compress/Encrypt Blocks in the background (#1227)
BadgerDB v2.0.3
BadgerDB v2.0.3-rc1
BadgerDB v1.6.1
New APIs
- Badger.DB
- NewWriteBatchAt (#948)
- Badger.Options
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
New APIs
- Badger.DB
- NewWriteBatchAt (#948)
- Badger.Options
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
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)