github.com/etecs-ru/ristretto@v0.9.1/CHANGELOG.md (about)

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