badger v1.6.1 Release Notes

Release Date: 2020-03-26 // about 4 years ago
  • ๐Ÿ†• 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)