@@ -6,11 +6,129 @@ and this project will adhere to [Semantic Versioning](http://semver.org/spec/v2.
66
77## Unreleased
88
9+ ## [ 0.1.0] - 2021-06-03
10+
11+ [ 0.1.0 ] : https://github.com/dgraph-io/ristretto/compare/v0.1.0..v0.0.3
12+ This release contains bug fixes and improvements to Ristretto. It also contains
13+ major updates to the z package. The z package contains types such as Tree (B+
14+ tree), Buffer, Mmap file, etc. All these types are used in Badger and Dgraph to
15+ improve performance and reduce memory requirements.
16+
917### Changed
18+ - Make item public. Add a new onReject call for rejected items. (#180 )
1019
1120### Added
21+ - Use z.Buffer backing for B+ tree (#268 )
22+ - expose GetTTL function (#270 )
23+ - docs(README): Ristretto is production-ready. (#267 )
24+ - Add IterateKV (#265 )
25+ - feat(super-flags): Add GetPath method in superflags (#258 )
26+ - add GetDuration to SuperFlag (#248 )
27+ - add Has, GetFloat64, and GetInt64 to SuperFlag (#247 )
28+ - move SuperFlag to Ristretto (#246 )
29+ - add SuperFlagHelp tool to generate flag help text (#251 )
30+ - allow empty defaults in SuperFlag (#254 )
31+ - add mmaped b+ tree (#207 )
32+ - Add API to allow the MaxCost of an existing cache to be updated. (#200 )
33+ - Add OnExit handler which can be used for manual memory management (#183 )
34+ - Add life expectancy histogram (#182 )
35+ - Add mechanism to wait for items to be processed. (#184 )
1236
1337### Fixed
38+ - change expiration type from int64 to time.Time (#277 )
39+ - fix(buffer): make buffer capacity atleast defaultCapacity (#273 )
40+ - Fixes for z.PersistentTree (#272 )
41+ - Initialize persistent tree correctly (#271 )
42+ - use xxhash v2 (#266 )
43+ - update comments to correctly reflect counter space usage (#189 )
44+ - enable riscv64 builds (#264 )
45+ - Switch from log to glog (#263 )
46+ - Use Fibonacci for latency numbers
47+ - cache: fix race when clearning a cache (#261 )
48+ - Check for keys without values in superflags (#259 )
49+ - chore(perf): using tags instead of runtime callers to improve the performance of leak detection (#255 )
50+ - fix(Flags): panic on user errors (#256 )
51+ - fix SuperFlagHelp newline (#252 )
52+ - fix(arm): Fix crashing under ARMv6 due to memory mis-alignment (#239 )
53+ - Fix incorrect unit test coverage depiction (#245 )
54+ - chore(histogram): adding percentile in histogram (#241 )
55+ - fix(windows): use filepath instead of path (#244 )
56+ - fix(MmapFile): Close the fd before deleting the file (#242 )
57+ - Fixes CGO_ENABLED=0 compilation error (#240 )
58+ - fix(build): fix build on non-amd64 architectures (#238 )
59+ - fix(b+tree): Do not double the size of btree (#237 )
60+ - fix(jemalloc): Fix the stats of jemalloc (#236 )
61+ - Don't print stuff, only return strings.
62+ - Bring memclrNoHeapPointers to z (#235 )
63+ - increase number of buffers from 32 to 64 in allocator (#234 )
64+ - Set minSize to 1MB.
65+ - Opt(btree): Use Go memory instead of mmap files
66+ - Opt(btree): Lightweight stats calculation
67+ - Put padding internally to z.Buffer
68+ - Chore(z): Add SetTmpDir API to set the temp directory (#233 )
69+ - Add a BufferFrom
70+ - Bring z.Allocator and z.AllocatorPool back
71+ - Fix(z.Allocator): Make Allocator use Go memory
72+ - Updated ZeroOut to use a simple for loop. (#231 )
73+ - Add concurrency back
74+ - Add a test to check concurrency of Allocator.
75+ - Fix(buffer): Expose padding by z.Buffer's APIs and fix test (#222 )
76+ - AllocateSlice should Truncate if the file is not big enough (#226 )
77+ - Zero out allocations for structs now that we're reusing Allocators.
78+ - Fix the ristretto substring
79+ - Deal with nil z.AllocatorPool
80+ - Create an AllocatorPool class.
81+ - chore(btree): clean NewTree API (#225 )
82+ - fix(MmapFile): Don't error out if fileSize > sz (#224 )
83+ - feat(btree): allow option to reset btree and mmaping it to specified file. (#223 )
84+ - Use mremap on Linux instead of munmap+mmap (#221 )
85+ - Reuse pages in B+ tree (#220 )
86+ - fix(allocator): make nil allocator return go byte slice (#217 )
87+ - fix(buffer): Make padding internal to z.buffer (#216 )
88+ - chore(buffer): add a parent directory field in z.Buffer (#215 )
89+ - Make Allocator concurrent
90+ - Fix infinite loop in allocator (#214 )
91+ - Add trim func
92+ - Use allocator pool. Turn off freelist.
93+ - Add freelists to Allocator to reuse.
94+ - make DeleteBelow delete values that are less than lo (#211 )
95+ - Avoid an unnecessary Load procedure in IncrementOffset.
96+ - Add Stats method in Btree.
97+ - chore(script): fix local test script (#210 )
98+ - fix(btree): Increase buffer size if needed. (#209 )
99+ - chore(btree): add occupancy ratio, search benchmark and compact bug fix (#208 )
100+ - Add licenses, remove prints, and fix a bug in compact
101+ - Add IncrementOffset API for z.buffers (#206 )
102+ - Show count when printing histogram (#201 )
103+ - Zbuffer: Add LenNoPadding and make padding 8 bytes (#204 )
104+ - Allocate Go memory in case allocator is nil.
105+ - Add leak detection via leak build flag and fix a leak during cache.Close.
106+ - Add some APIs for allocator and buffer
107+ - Sync before truncation or close.
108+ - Handle nil MmapFile for Sync.
109+ - Public methods must not panic after Close() (#202 )
110+ - Check for RD_ONLY correctly.
111+ - Modify MmapFile APIs
112+ - Add a bunch of APIs around MmapFile
113+ - Move APIs for mmapfile creation over to z package.
114+ - Add ZeroOut func
115+ - Add SliceOffsets
116+ - z: Add TotalSize method on bloom filter (#197 )
117+ - Add Msync func
118+ - Buffer: Use 256 GB mmap size instead of MaxInt64 (#198 )
119+ - Add a simple test to check next2Pow
120+ - Improve memory performance (#195 )
121+ - Have a way to automatically mmap a growing buffer (#196 )
122+ - Introduce Mmapped buffers and Merge Sort (#194 )
123+ - Add a way to access an allocator via reference.
124+ - Use jemalloc.a to ensure compilation with the Go binary
125+ - Fix up a build issue with ReadMemStats
126+ - Add ReadMemStats function (#193 )
127+ - Allocator helps allocate memory to be used by unsafe structs (#192 )
128+ - Improve histogram output
129+ - Move Closer from y to z (#191 )
130+ - Add histogram.Mean() method (#188 )
131+ - Introduce Calloc: Manual Memory Management via jemalloc (#186 )
14132
15133## [ 0.0.3] - 2020-07-06
16134
0 commit comments