github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/tm2/pkg/iavl/CHANGELOG.md (about)

     1  # Changelog
     2  
     3  ## 0.12.4 (July 31, 2019)
     4  
     5  ### IMPROVEMENTS
     6  
     7  - [\#46](https://github.com/tendermint/classic/iavl/issues/46) Removed all instances of cmn (tendermint/tendermint/libs/common)
     8  
     9  ## 0.12.3 (July 12, 2019)
    10  
    11  Special thanks to external contributors on this release:
    12  @ethanfrey
    13  
    14  IMPROVEMENTS
    15  
    16  - Implement LazyLoadVersion (@alexanderbez)
    17    LazyLoadVersion attempts to lazy load only the specified target version
    18    without loading previous roots/versions. - see [goDoc](https://godoc.org/github.com/tendermint/classic/iavl#MutableTree.LazyLoadVersion)
    19  - Move to go.mod (@Liamsi)
    20  - `iaviewer` command to visualize IAVL database from leveldb (@ethanfrey)
    21  
    22  ## 0.12.2 (March 13, 2019)
    23  
    24  IMPROVEMENTS
    25  
    26  - Use Tendermint v0.30.2 and close batch after write (related pull request in Tendermint: https://github.com/tendermint/classic/pull/3397)
    27  
    28  ## 0.12.1 (February 12, 2019)
    29  
    30  IMPROVEMENTS
    31  
    32  - Use Tendermint v0.30
    33  
    34  ## 0.12.0 (November 26, 2018)
    35  
    36  BREAKING CHANGES
    37  
    38  - Uses new Tendermint ReverseIterator API. See https://github.com/tendermint/classic/pull/2913
    39  
    40  ## 0.11.1 (October 29, 2018)
    41  
    42  IMPROVEMENTS
    43  
    44  - Uses GoAmino v0.14
    45  
    46  ## 0.11.0 (September 7, 2018)
    47  
    48  BREAKING CHANGES
    49  
    50  - Changed internal database key format to store int64 key components in a full 8-byte fixed width ([#107])
    51  - Removed some architecture dependent methods (e.g., use `Get` instead of `Get64` etc) ([#96])
    52  
    53  IMPROVEMENTS
    54  
    55  - Database key format avoids use of fmt.Sprintf fmt.Sscanf leading to ~10% speedup in benchmark BenchmarkTreeLoadAndDelete ([#107], thanks to [@silasdavis])
    56  
    57  [#107]: https://github.com/tendermint/classic/iavl/pull/107
    58  [@silasdavis]: https://github.com/silasdavis
    59  [#96]: https://github.com/tendermint/classic/iavl/pull/96
    60  
    61  ## 0.10.0
    62  
    63  BREAKING CHANGES
    64  
    65  - refactored API for clean separation of [mutable][1] and [immutable][2] tree (#92, #88);
    66    with possibility to:
    67    - load read-only snapshots at previous versions on demand
    68    - load mutable trees at the most recently saved tree
    69  
    70  [1]: https://github.com/tendermint/classic/iavl/blob/9e62436856efa94c1223043be36ebda01ae0b6fc/mutable_tree.go#L14-L21
    71  [2]: https://github.com/tendermint/classic/iavl/blob/9e62436856efa94c1223043be36ebda01ae0b6fc/immutable_tree.go#L10-L17
    72  
    73  BUG FIXES
    74  
    75  - remove memory leaks (#92)
    76  
    77  IMPROVEMENTS
    78  
    79  - Change tendermint dep to ^v0.22.0 (#91)
    80  
    81  ## 0.10.0 (July 11, 2018)
    82  
    83  BREAKING CHANGES
    84  
    85  - getRangeProof and Get\[Versioned\]\[Range\]WithProof return nil proof/error if tree is empty.
    86  
    87  ## 0.9.2 (July 3, 2018)
    88  
    89  IMPROVEMENTS
    90  
    91  - some minor changes: mainly lints, updated parts of documentation, unexported some helpers (#80)
    92  
    93  ## 0.9.1 (July 1, 2018)
    94  
    95  IMPROVEMENTS
    96  
    97  - RangeProof.ComputeRootHash() to compute root rather than provide as in Verify(hash)
    98  - RangeProof.Verify\*() first require .Verify(root), which memoizes
    99  
   100  ## 0.9.0 (July 1, 2018)
   101  
   102  BREAKING CHANGES
   103  
   104  - RangeProof.VerifyItem doesn't require an index.
   105  - Only return values in range when getting proof.
   106  - Return keys as well.
   107  
   108  BUG FIXES
   109  
   110  - traversal bugs in traverseRange.
   111  
   112  ## 0.8.2
   113  
   114  - Swap `tmlibs` for `tendermint/libs`
   115  - Remove `sha256truncated` in favour of `tendermint/crypto/tmhash` - same hash
   116    function but technically a breaking change to the API, though unlikely to effect anyone.
   117  
   118  NOTE this means IAVL is now dependent on Tendermint Core for the libs (since it
   119  makes heavy use of the `db` package). Ideally, that dependency would be
   120  abstracted away, and/or this repo will be merged into the Cosmos-SDK, which is
   121  currently is primary consumer. Once it achieves greater stability, we could
   122  consider breaking it out into it's own repo again.
   123  
   124  ## 0.8.1
   125  
   126  _July 1st, 2018_
   127  
   128  BUG FIXES
   129  
   130  - fix bug in iterator going outside its range
   131  
   132  ## 0.8.0 (June 24, 2018)
   133  
   134  BREAKING CHANGES
   135  
   136  - Nodes are encoded using proto3/amino style integers and byte slices (ie. varints and
   137    varint prefixed byte slices)
   138  - Unified RangeProof
   139  - Proofs are encoded using Amino
   140  - Hash function changed from RIPEMD160 to the first 20 bytes of SHA256 output
   141  
   142  ## 0.7.0 (March 21, 2018)
   143  
   144  BREAKING CHANGES
   145  
   146  - LoadVersion and Load return the loaded version number
   147    - NOTE: this behaviour was lost previously and we failed to document in changelog,
   148      but now it's back :)
   149  
   150  ## 0.6.1 (March 2, 2018)
   151  
   152  IMPROVEMENT
   153  
   154  - Remove spurious print statement from LoadVersion
   155  
   156  ## 0.6.0 (March 2, 2018)
   157  
   158  BREAKING CHANGES
   159  
   160  - NewTree order of arguments swapped
   161  - int -> int64, uint64 -> int64
   162  - NewNode takes a version
   163  - Node serialization format changed so version is written right after size
   164  - SaveVersion takes no args (auto increments)
   165  - tree.Get -> tree.Get64
   166  - nodeDB.SaveBranch does not take a callback
   167  - orphaningTree.SaveVersion -> SaveAs
   168  - proofInnerNode includes Version
   169  - ReadKeyXxxProof consolidated into ReadKeyProof
   170  - KeyAbsentProof doesn't include Version
   171  - KeyRangeProof.Version -> Versions
   172  
   173  FEATURES
   174  
   175  - Implement chunking algorithm to serialize entire tree
   176  
   177  ## 0.5.0 (October 27, 2017)
   178  
   179  First versioned release!
   180  (Originally accidentally released as v0.2.0)