Iavl Versions Save

Merkleized IAVL+ Tree implementation in Go

v1.1.0

2 months ago

IAVL v1.1.0

This release follows the Cosmos-SDK semantic version tagging philosophy. Read more here.

This release contains an API breaking change. The Cosmos-SDK will release an update to 0.47 and 0.50 in the coming weeks to satisfy the API breaking changes.

This release is not consensus breaking.

v1.0.0

6 months ago

V1.0.0 marks the release of a long term stable API.

What's Changed

Improvements

  • #695 Add API SaveChangeSet to save the changeset as a new version.
  • #703 New APIs NewCompressExporter/NewCompressImporter to support more compact snapshot format.
  • #729 Speedup Genesis writes for IAVL, by writing in small batches.
  • #726 Make KVPair and ChangeSet serializable with protobuf.
  • #718 Fix traverseNodes unexpected behaviour
  • #770 Add WorkingVersion()int64 API.

Bug Fixes

  • #773 Fix memory leak in Import.
  • #801 Fix rootKey empty check by len equals 0.
  • #805 Use sync.Map instead of map to prevent concurrent writes at the fast node level

Breaking Changes

  • #735 Pass logger to NodeDB, MutableTree and ImmutableTree
  • #646 Remove the orphans from the storage
  • #777 Don't return errors from ImmutableTree.Hash, NewImmutableTree
  • #815 NewMutableTreeWithOpts was removed in favour of accepting options via a variadic in NewMutableTree
  • #815 NewImmutableTreeWithOpts is removed in favour of accepting options via a variadic in NewImmutableTree
  • #646 Remove the DeleteVersion, DeleteVersions, DeleteVersionsRange and introduce a new endpoint of DeleteVersionsTo instead

New Contributors

  • @faddat
  • @giskook
  • @adu-crypto
  • @prolenking
  • @chillyvee
  • @kocubinski
  • @crodriguezvega
  • @pysel

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.1...v1.0.0

v0.19.7

8 months ago

0.19.7 (September 5, 2023)

  • #829 Fix fastnode concurrency panic.

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.6...v0.19.7

v0.20.1

8 months ago

0.20.1 (September 5, 2023)

Improvements

  • #654 Add API TraverseStateChanges to extract state changes from iavl versions.
  • #726 Make KVPair and ChangeSet serializable with protobuf.
  • #795 Use gogofaster buf plugin.

Bug Fixes

  • #801 Fix rootKey empty check by len equals 0.
  • #829 Fix fastnode concurrency panic.

Full Changelog: https://github.com/cosmos/iavl/compare/v0.20.0...v0.20.1

v0.20.0

1 year ago

Release v0.20.0.

This releases is focused on integration with CometBFT-DB and the removal of range proofs on the IAVL tree.

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.5...v0.20.0

v0.19.5

1 year ago

Breaking Changes

https://github.com/cosmos/iavl/pull/622 export/newExporter() and ImmutableTree.Export() returns error for nil arguements

Unreleased

https://github.com/cosmos/iavl/pull/640 commit NodeDB batch in LoadVersionForOverwriting. https://github.com/cosmos/iavl/pull/636 Speed up rollback method: LoadVersionForOverwriting. https://github.com/cosmos/iavl/pull/654 Add API TraverseStateChanges to extract state changes from iavl versions. https://github.com/cosmos/iavl/pull/638 Make LazyLoadVersion check the opts.InitialVersion, add API LazyLoadVersionForOverwriting.

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.4...v0.19.5

v0.19.4

1 year ago

Main changes

  • #599 Populate ImmutableTree creation in copy function with missing field
  • #589 Wrap tree.addUnsavedRemoval() with missing if !tree.skipFastStorageUpgrade statement

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.3...v0.19.4

v0.19.3

1 year ago

Main changes

  • ProofInner.Hash() prevents both right and left from both being set. Only one is allowed to be set.

Note: It is recommended to not use the native proof structure of IAVL in its current form. Please refer to ics23 for IAVL proofs

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.2...v0.19.3

v0.19.2

1 year ago

Main changes

  • #547 Implement skipFastStorageUpgrade in order to skip fast storage upgrade and usage.
  • #531 Upgrade to fast storage in batches.

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.1...v0.19.2

v0.19.1

1 year ago

Main changes

Contributors Shoutout

  • @robert-zaremba
  • @p0mvn

Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.0...v0.19.1