@@ -3,6 +3,172 @@ 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.2103.0] - 2021-06-02
7+
8+ ### Breaking
9+ - Subscribe: Add option to subscribe with holes in prefixes. (#1658 )
10+
11+ ### Fixed
12+ - fix(compaction): Remove compaction backoff mechanism (#1686 )
13+ - Add a name to mutexes to make them unexported (#1678 )
14+ - fix(merge-operator): don't read the deleted keys (#1675 )
15+ - fix(discard): close the discard stats file on db close (#1672 )
16+ - fix(iterator): fix iterator when data does not exist in read only mode (#1670 )
17+ - fix(badger): Do not reuse variable across badger commands (#1624 )
18+ - fix(dropPrefix): check properly if the key is present in a table (#1623 )
19+
20+ ### Performance
21+ - Opt(Stream): Optimize how we deduce key ranges for iteration (#1687 )
22+ - Increase value threshold from 1 KB to 1 MB (#1664 )
23+ - opt(DropPrefix): check if there exist some data to drop before dropping prefixes (#1621 )
24+
25+ ### Features
26+ - feat(options): allow special handling and checking when creating options from superflag (#1688 )
27+ - overwrite default Options from SuperFlag string (#1663 )
28+ - Support SinceTs in iterators (#1653 )
29+ - feat(info): Add a flag to parse and print DISCARD file (#1662 )
30+ - feat(vlog): making vlog threshold dynamic 6ce3b7c (#1635 )
31+ - feat(options): add NumGoroutines option for default Stream.numGo (#1656 )
32+ - feat(Trie): Working prefix match with holes (#1654 )
33+ - feat: add functionality to ban a prefix (#1638 )
34+ - feat(compaction): Support Lmax to Lmax compaction (#1615 )
35+
36+ ### New APIs
37+ - Badger.DB
38+ - BanNamespace
39+ - BannedNamespaces
40+ - Ranges
41+ - Badger.Options
42+ - FromSuperFlag
43+ - WithNumGoRoutines
44+ - WithNamespaceOffset
45+ - WithVLogPercentile
46+ - Badger.Trie
47+ - AddMatch
48+ - DeleteMatch
49+ - Badger.Table
50+ - StaleDataSize
51+ - Badger.Table.Builder
52+ - AddStaleKey
53+ - Badger.InitDiscardStats
54+
55+ ### Removed APIs
56+ - Badger.DB
57+ - KeySplits
58+ - Badger.Options
59+ - SkipVlog
60+
61+ ### Changed APIs
62+ - Badger.DB
63+ - Subscribe
64+ - Badger.Options
65+ - WithValueThreshold
66+
67+ ## [ 3.2011.1] - 2021-01-22
68+
69+ ### Fixed
70+ - Fix(compaction): Set base level correctly after stream (#1651 )
71+ - Fix: update ristretto and use filepath (#1652 )
72+ - Fix(badger): Do not reuse variable across badger commands (#1650 )
73+ - Fix(build): fix 32-bit build (#1646 )
74+ - Fix(table): always sync SST to disk (#1645 )
75+
76+ ## [ 3.2011.0] - 2021-01-15
77+
78+ This release is not backward compatible with Badger v2.x.x
79+
80+ ### Breaking:
81+ - opt(compactions): Improve compaction performance (#1574 )
82+ - Change how Badger handles WAL (#1555 )
83+ - feat(index): Use flatbuffers instead of protobuf (#1546 )
84+
85+ ### Fixed:
86+ - Fix(GC): Set bits correctly for moved keys (#1619 )
87+ - Fix(tableBuilding): reduce scope of valuePointer (#1617 )
88+ - Fix(compaction): fix table size estimation on compaction (#1613 )
89+ - Fix(OOM): Reuse pb.KVs in Stream (#1609 )
90+ - Fix race condition in L0StallMs variable (#1605 )
91+ - Fix(stream): Stop produceKVs on error (#1604 )
92+ - Fix(skiplist): Remove z.Buffer from skiplist (#1600 )
93+ - Fix(readonly): fix the file opening mode (#1592 )
94+ - Fix: Disable CompactL0OnClose by default (#1586 )
95+ - Fix(compaction): Don't drop data when split overlaps with top tables (#1587 )
96+ - Fix(subcompaction): Close builder before throttle.Done (#1582 )
97+ - Fix(table): Add onDisk size (#1569 )
98+ - Fix(Stream): Only send done markers if told to do so
99+ - Fix(value log GC): Fix a bug which caused value log files to not be GCed.
100+ - Fix segmentation fault when cache sizes are small. (#1552 )
101+ - Fix(builder): Too many small tables when compression is enabled (#1549 )
102+ - Fix integer overflow error when building for 386 (#1541 )
103+ - Fix(writeBatch): Avoid deadlock in commit callback (#1529 )
104+ - Fix(db): Handle nil logger (#1534 )
105+ - Fix(maxVersion): Use choosekey instead of KeyToList (#1532 )
106+ - Fix(Backup/Restore): Keep all versions (#1462 )
107+ - Fix(build): Fix nocgo builds. (#1493 )
108+ - Fix(cleanup): Avoid truncating in value.Open on error (#1465 )
109+ - Fix(compaction): Don't use cache for table compaction (#1467 )
110+ - Fix(compaction): Use separate compactors for L0, L1 (#1466 )
111+ - Fix(options): Do not implicitly enable cache (#1458 )
112+ - Fix(cleanup): Do not close cache before compaction (#1464 )
113+ - Fix(replay): Update head for LSM entires also (#1456 )
114+ - fix(levels): Cleanup builder resources on building an empty table (#1414 )
115+
116+ ### Performance
117+ - perf(GC): Remove move keys (#1539 )
118+ - Keep the cheaper parts of the index within table struct. (#1608 )
119+ - Opt(stream): Use z.Buffer to stream data (#1606 )
120+ - opt(builder): Use z.Allocator for building tables (#1576 )
121+ - opt(memory): Use z.Calloc for allocating KVList (#1563 )
122+ - opt: Small memory usage optimizations (#1562 )
123+ - KeySplits checks tables and memtables when number of splits is small. (#1544 )
124+ - perf: Reduce memory usage by better struct packing (#1528 )
125+ - perf(tableIterator): Don't do next on NewIterator (#1512 )
126+ - Improvements: Manual Memory allocation via Calloc (#1459 )
127+ - Various bug fixes: Break up list and run DropAll func (#1439 )
128+ - Add a limit to the size of the batches sent over a stream. (#1412 )
129+ - Commit does not panic after Finish, instead returns an error (#1396 )
130+ - levels: Compaction incorrectly drops some delete markers (#1422 )
131+ - Remove vlog file if bootstrap, syncDir or mmap fails (#1434 )
132+
133+ ### Features:
134+ - Use opencensus for tracing (#1566 )
135+ - Export functions from Key Registry (#1561 )
136+ - Allow sizes of block and index caches to be updated. (#1551 )
137+ - Add metric for number of tables being compacted (#1554 )
138+ - feat(info): Show index and bloom filter size (#1543 )
139+ - feat(db): Add db.MaxVersion API (#1526 )
140+ - Expose DB options in Badger. (#1521 )
141+ - Feature: Add a Calloc based Buffer (#1471 )
142+ - Add command to stream contents of DB into another DB. (#1463 )
143+ - Expose NumAlloc metrics via expvar (#1470 )
144+ - Support fully disabling the bloom filter (#1319 )
145+ - Add --enc-key flag in badger info tool (#1441 )
146+
147+ ### New APIs
148+ - Badger.DB
149+ - CacheMaxCost (#1551 )
150+ - Levels (#1574 )
151+ - LevelsToString (#1574 )
152+ - Opts (#1521 )
153+ - Badger.Options
154+ - WithBaseLevelSize (#1574 )
155+ - WithBaseTableSize (#1574 )
156+ - WithMemTableSize (#1574 )
157+ - Badger.KeyRegistry
158+ - DataKey (#1561 )
159+ - LatestDataKey (#1561 )
160+
161+ ### Removed APIs
162+ - Badger.Options
163+ - WithKeepL0InMemory (#1555 )
164+ - WithLevelOneSize (#1574 )
165+ - WithLoadBloomsOnOpen (#1555 )
166+ - WithLogRotatesToFlush (#1574 )
167+ - WithMaxTableSize (#1574 )
168+ - WithTableLoadingMode (#1555 )
169+ - WithTruncate (#1555 )
170+ - WithValueLogLoadingMode (#1555 )
171+
6172## [ 2.2007.2] - 2020-08-31
7173
8174### Fixed
0 commit comments