@@ -3,6 +3,102 @@ All notable changes to this project will be documented in this file.
33
44The format is based on [ Keep a Changelog] ( http://keepachangelog.com/en/1.0.0/ ) .
55
6+ ## [ 3.2011.0] - 2021-01-15
7+
8+ This release is not backward compatible with Badger v2.2007.x.
9+
10+ ### Breaking:
11+ - opt(compactions): Improve compaction performance (#1574 )
12+ - Change how Badger handles WAL (#1555 )
13+ - feat(index): Use flatbuffers instead of protobuf (#1546 )
14+
15+ ### Fixed:
16+ - Fix(GC): Set bits correctly for moved keys (#1619 )
17+ - Fix(tableBuilding): reduce scope of valuePointer (#1617 )
18+ - Fix(compaction): fix table size estimation on compaction (#1613 )
19+ - Fix(OOM): Reuse pb.KVs in Stream (#1609 )
20+ - Fix race condition in L0StallMs variable (#1605 )
21+ - Fix(stream): Stop produceKVs on error (#1604 )
22+ - Fix(skiplist): Remove z.Buffer from skiplist (#1600 )
23+ - Fix(readonly): fix the file opening mode (#1592 )
24+ - Fix: Disable CompactL0OnClose by default (#1586 )
25+ - Fix(compaction): Don't drop data when split overlaps with top tables (#1587 )
26+ - Fix(subcompaction): Close builder before throttle.Done (#1582 )
27+ - Fix(table): Add onDisk size (#1569 )
28+ - Fix(Stream): Only send done markers if told to do so
29+ - Fix(value log GC): Fix a bug which caused value log files to not be GCed.
30+ - Fix segmentation fault when cache sizes are small. (#1552 )
31+ - Fix(builder): Too many small tables when compression is enabled (#1549 )
32+ - Fix integer overflow error when building for 386 (#1541 )
33+ - Fix(writeBatch): Avoid deadlock in commit callback (#1529 )
34+ - Fix(db): Handle nil logger (#1534 )
35+ - Fix(maxVersion): Use choosekey instead of KeyToList (#1532 )
36+ - Fix(Backup/Restore): Keep all versions (#1462 )
37+ - Fix(build): Fix nocgo builds. (#1493 )
38+ - Fix(cleanup): Avoid truncating in value.Open on error (#1465 )
39+ - Fix(compaction): Don't use cache for table compaction (#1467 )
40+ - Fix(compaction): Use separate compactors for L0, L1 (#1466 )
41+ - Fix(options): Do not implicitly enable cache (#1458 )
42+ - Fix(cleanup): Do not close cache before compaction (#1464 )
43+ - Fix(replay): Update head for LSM entires also (#1456 )
44+ - fix(levels): Cleanup builder resources on building an empty table (#1414 )
45+
46+ ### Performance
47+ - perf(GC): Remove move keys (#1539 )
48+ - Keep the cheaper parts of the index within table struct. (#1608 )
49+ - Opt(stream): Use z.Buffer to stream data (#1606 )
50+ - opt(builder): Use z.Allocator for building tables (#1576 )
51+ - opt(memory): Use z.Calloc for allocating KVList (#1563 )
52+ - opt: Small memory usage optimizations (#1562 )
53+ - KeySplits checks tables and memtables when number of splits is small. (#1544 )
54+ - perf: Reduce memory usage by better struct packing (#1528 )
55+ - perf(tableIterator): Don't do next on NewIterator (#1512 )
56+ - Improvements: Manual Memory allocation via Calloc (#1459 )
57+ - Various bug fixes: Break up list and run DropAll func (#1439 )
58+ - Add a limit to the size of the batches sent over a stream. (#1412 )
59+ - Commit does not panic after Finish, instead returns an error (#1396 )
60+ - levels: Compaction incorrectly drops some delete markers (#1422 )
61+ - Remove vlog file if bootstrap, syncDir or mmap fails (#1434 )
62+
63+ ### Features:
64+ - Use opencensus for tracing (#1566 )
65+ - Export functions from Key Registry (#1561 )
66+ - Allow sizes of block and index caches to be updated. (#1551 )
67+ - Add metric for number of tables being compacted (#1554 )
68+ - feat(info): Show index and bloom filter size (#1543 )
69+ - feat(db): Add db.MaxVersion API (#1526 )
70+ - Expose DB options in Badger. (#1521 )
71+ - Feature: Add a Calloc based Buffer (#1471 )
72+ - Add command to stream contents of DB into another DB. (#1463 )
73+ - Expose NumAlloc metrics via expvar (#1470 )
74+ - Support fully disabling the bloom filter (#1319 )
75+ - Add --enc-key flag in badger info tool (#1441 )
76+
77+ ### New APIs
78+ - Badger.DB
79+ - CacheMaxCost (#1551 )
80+ - Levels (#1574 )
81+ - LevelsToString (#1574 )
82+ - Opts (#1521 )
83+ - Badger.Options
84+ - WithBaseLevelSize (#1574 )
85+ - WithBaseTableSize (#1574 )
86+ - WithMemTableSize (#1574 )
87+ - Badger.KeyRegistry
88+ - DataKey (#1561 )
89+ - LatestDataKey (#1561 )
90+
91+ ### Removed APIs
92+ - Badger.Options
93+ - WithKeepL0InMemory (#1555 )
94+ - WithLevelOneSize (#1574 )
95+ - WithLoadBloomsOnOpen (#1555 )
96+ - WithLogRotatesToFlush (#1574 )
97+ - WithMaxTableSize (#1574 )
98+ - WithTableLoadingMode (#1555 )
99+ - WithTruncate (#1555 )
100+ - WithValueLogLoadingMode (#1555 )
101+
6102## [ 2.2007.2] - 2020-08-31
7103
8104### Fixed
0 commit comments