Merkleized IAVL+ Tree implementation in Go
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 marks the release of a long term stable API.
SaveChangeSet
to save the changeset as a new version.NewCompressExporter
/NewCompressImporter
to support more compact snapshot format.KVPair
and ChangeSet
serializable with protobuf.traverseNodes
unexpected behaviourWorkingVersion()int64
API.Import
.sync.Map
instead of map to prevent concurrent writes at the fast node levelNodeDB
, MutableTree
and ImmutableTree
orphans
from the storageNewMutableTreeWithOpts
was removed in favour of accepting options via a variadic in NewMutableTree
NewImmutableTreeWithOpts
is removed in favour of accepting options via a variadic in NewImmutableTree
DeleteVersion
, DeleteVersions
, DeleteVersionsRange
and introduce a new endpoint of DeleteVersionsTo
insteadFull Changelog: https://github.com/cosmos/iavl/compare/v0.19.1...v1.0.0
Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.6...v0.19.7
TraverseStateChanges
to extract state changes from iavl versions.KVPair
and ChangeSet
serializable with protobuf.Full Changelog: https://github.com/cosmos/iavl/compare/v0.20.0...v0.20.1
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
https://github.com/cosmos/iavl/pull/622 export/newExporter() and ImmutableTree.Export() returns error for nil arguements
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
tree.addUnsavedRemoval()
with missing if !tree.skipFastStorageUpgrade
statementFull Changelog: https://github.com/cosmos/iavl/compare/v0.19.3...v0.19.4
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
skipFastStorageUpgrade
in order to skip fast storage upgrade and usage.Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.1...v0.19.2
Full Changelog: https://github.com/cosmos/iavl/compare/v0.19.0...v0.19.1