All notable changes to this project will be documented in this file.
1.5.3 - 2018-07-11
- Fix a panic caused due to item.vptr not copying over vs.Value, when looking for a move key.
1.5.2 - 2018-06-19
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 in a 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.
1.5.1 - 2018-06-04
- Fix for infinite yieldItemValue recursion. #503
- Fix recursive addition of
- Use file size based window size for sampling, instead of fixing it to 10MB. #501
- Clarify comments and documentation.
- Move badger tool one directory level up.
1.5.0 - 2018-05-08
NumVersionsToKeepoption. This option is used to discard many versions of the same key, which saves space.
- Add a new
SetWithDiscardmethod, 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.
ValueLogMaxEntriesto restrict the number of key-value pairs per value log file. This helps bound the time it takes to garbage collect one file.
1.4.0 - 2018-05-04
- Make mmap-ing of value log optional.
- Run GC multiple times, based on recorded discard statistics.
- Add MergeOperator.
- Force compact L0 on clsoe (#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.
- (Temporary) Check max version across all tables in Get (removed in next release).
- 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).
1.3.0 - 2017-12-12
DB.NextSequence()method to generate monotonically increasing integer sequences.
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.
DB.PurgeOlderVersions()to not violate some constraints.
1.2.0 - 2017-11-30
- Expose a
Txn.SetEntry()method to allow setting the key-value pair and all the metadata at the same time.
1.1.1 - 2017-11-28
- Fix bug where txn.Get was returing key deleted in same transaction.
- Fix race condition while decrementing reference in oracle.
- Update doneCommit in the callback for CommitAsync.
- Iterator see writes of current txn.
1.1.0 - 2017-11-13
- Create Badger directory if it does not exist when
Item.ValueCopy()to avoid deadlocks in long-running iterations
- Fixed 64-bit alignment issues to make Badger run on Arm v7
1.0.1 - 2017-11-06
- Fix an uint16 overflow when resizing key slice