Releases: planetarium/libplanet
Releases · planetarium/libplanet
Libplanet 3.7.0
Libplanet 3.6.0
Released on October 6, 2023.
Backward-incompatible API changes
- Changed
IActionEvaluator.Evaluate()
's return type toIReadOnlyList<ICommittedActionEvaluation>
fromIReadOnlyList<IActionEvaluation>
. [#3445] - Changed
BlockChain.DetermineStateRootHash(IActionEvaluator, IPreEvaluationBlock, out IReadOnlyList<IActionEvaluation>)
toBlockChain.DetermineStateRootHash(IActionEvaluator, IPreEvaluationBlock, out IReadOnlyList<ICommittedActionEvaluation>)
. [#3445] - Changed
BlockChain.EvaluateGenesis()
's return type toIReadOnlyList<ICommittedActionEvaluation>
fromIReadOnlyList<IActionEvaluation>
. [#3445] - Changed
BlockChain.EvaluateBlock()
's return type toIReadOnlyList<ICommittedActionEvaluation>
fromIReadOnlyList<IActionEvaluation>
. [#3445] - Removed
StateStoreExtensions
class. [#3323, #3450]
Added APIs
- (Libplanet.Explorer) Added
TxResult.InputState
of typeHashDigest<SHA256>?
. [#3446, #3447] - (Libplanet.Explorer) Added
TxResult.OutputState
of typeHashDigest<SHA256>?
. [#3446, #3447] - (Libplanet.Explorer) Added
offsetStateRootHash
of typeHashDigest<SHA256>?
argument forStateQuery.states
field. [#3448, #3449] - (Libplanet.Explorer) Added
offsetStateRootHash
of typeHashDigest<SHA256>?
argument forStateQuery.balance
field. [#3448, #3449] - (Libplanet.Explorer) Added
offsetStateRootHash
of typeHashDigest<SHA256>?
argument forStateQuery.totalSupply
field. [#3448, #3449] - (Libplanet.Explorer) Added
offsetStateRootHash
of typeHashDigest<SHA256>?
argument forStateQuery.validators
field. [#3448, #3449]
Behavioral changes
IActionEvaluator.Evaluate()
,BlockChain.EvaluateGenesis()
, andBlockChain.EvaluateBlock()
have a side-effect of storing data toIStateStore
when called. [#3445]
Libplanet 3.5.0
Released on October 4, 2023.
Backward-incompatible API changes
- Removed
IActionContext.Random
property. UseIActionContext.GetRandom()
instead. [#3437] - Added
IActionContext.RandomSeed
property. [#3437] - Added
IActionContext.GetRandom()
method. [#3437] - Changed
IActionEvaluator.Evaluate(IPreEvaluationBlock)
toIActionEvaluator.Evaluate(IPreEvaluationBlock, HashDigest<SHA256>)
. [#3438] - Changed
ActionEvaluator
to acceptIStateStore
instead ofIBlockChainStates
[#3439]
Libplanet 3.4.0
Released on September 25, 2023.
Backward-incompatible API changes
- Added
IBlockChainStates.GetAccountState(HashDigest<SHA256>?)
interface method. [#3425] - Removed
TxFailure.ExceptionMetadata
property. [#3428] - Removed
ISerializable
interface fromTxExecution
,TxSuccess
, andTxFailure
. [#3428] - Removed
TxSuccess
andTxFailure
class. [#3429] - Changed
TxExecution
class assealed
fromabstract.
[#3429] - All properties of
TxExecution
exceptBlockHash
andTxId
were overhauled. [#3429] - (Libplanet.Store) Removed
IStore.PutTxExecution(TxSuccess)
andIStore.PutTxExecution(TxFailure)
; addedIStore.PutTxExecution(TxExecution)
. [#3429] - (Libplanet.Explorer) Removed
TxResult.ExceptionName
of typestring?
and addedTxResult.ExceptionNames
of typeList<string?>?
. [#3429] - (Libplanet.Explorer) Removed
TxResult.UpdatedStates
andTxResult.UpdatedFungibleAssets
. [#3429] - Changed
IActionRenderer.RenderAction(IValue, IActionContext, IAccount)
toIActionRenderer.RenderAction(IValue, ICommittedActionContext, HashDigest<SHA256>)
. [#3431] - Changed
IActionRenderer.RenderActionError(IValue, IActionContext, Exception)
toIActionRenderer.RenderActionError(IValue, ICommittedActionContext, Exception)
. [#3431]
Added APIs
Libplanet 3.3.1
Released on September 8, 2023.
- (Libplanet.Store) Fixed a bug where
ITrie.Get()
could wrongly retrieve anIValue
from a non-existent path. [#3420]
Libplanet 3.3.0
Released on September 7, 2023.
Backward-incompatible API changes
- (Libplanet.Store) Removed
ITrie.Commit()
method. [#3392] - (Libplanet.Store) Added
IStateStore.Commit()
method. [#3398] - (Libplanet.Store) Removed
IKeyValueStore.Get(IEnumerable<KeyBytes> keys)
method. [#3362, #3400] - (Libplanet.Store) Added
PathCursor
struct. [#3399] - (Libplanet.Store) Added
Nibbles
struct. [#3399] - (Libplanet.Store) Changed
KeyBytes
to no longer implementIEquatable<byte[]>
andIEquatable<ImmutableArray<byte>>
. [#3402] - (Libplanet.Store) Added
ITrie.GetNode()
method. [#3401] - (Libplanet.Store) Added
ITrie.IterateValues()
method. [#3405] - (Libplanet.Store) Added
ITrie.IterateNodes()
method. [#3405] - (Libplanet.Store) Removed
Secure
option fromTrieStateStore
. [#3407]- Removed
secure
parameter fromTrieStateStore()
. - Removed
ITrie.Secure
property. - Removed
secure
parameter fromMerkleTrie()
. - Removed
secure
parameter fromPathCursor()
.
- Removed
- (Libplanet.Store) Added
ITrie.Diff()
method. [#3410] - (Libplanet.Store) Removed
MerkleTrieExtensions.DifferentNodes()
static method. [#3410] - Removed
IBlockState
interface. [#3413] - Removed
IBlockChainState.GetBlockState()
interface method. [#3413] - Added
IBlockChainState.GetAccountState()
interface method. [#3413] - Added
IAccountState
interface. [#3416] - Added
AccountState
class. [#3416]
Added APIs
- (Libplanet.RocksDBStore)
RocksDBStore
andRocksDBKeyValueStore
became to receive@readonly
parameter in their constructor. If it is true, it opens rocksdb as read-only mode. [#3354, #3356, RocksDB Read Only]
Behavioral changes
- (Libplanet.Store) Changed
ShortNode
to no longer accept emptybyte
arrays. [#3390]
Bug fixes
- (Libplanet.Store) Fixed
Equals()
forFullNode
andShortNode
. [#3377] - (Libplanet.Store) Fixed a bug where adding two
byte
arrays as keys with one being a subsequence of the other would breakMerkleTrie
and lose data. [#3390] - (Libplanet.Store) Fixed a bug where when trying to add a value to an existing
FullNode
would throw anException
. [#3390] - (Libplanet.Store) Fixed a bug where committing an
ITrie
may return anITrie
with a different path security scheme. [#3401]
Libplanet 3.2.0
Released on August 10, 2023.
Backward-incompatible API changes
- (Libplanet.Action) Renamed
IAccountStateDelta
asIAccount
. [#3337] - (Libplanet.Store) Optimized
MerkleTrie.Get()
. [#3347] - (Libplanet.Types) Removed
TxSuccess.FungibleAssetsDelta
[#3357] - (Libplanet.Explorer) Removed
TxResult.ExceptionMetadata
andTxResult.FungibleAssetsDelta
. [#3357] - (Libplanet.Store) Added
ITrie.Get(KeyBytes)
interface method. [#3359] - (Libplanet.Store) Optimized
MerkleTrie.Get()
by allowing parallel processing when more than 4KeyBytes
keys are given. [#3359]
Libplanet 3.1.2
Libplanet 3.1.1
Libplanet 3.1.0
Released on July 27, 2023.
Backward-incompatible API changes
- Changed
StateStoreExtensions.Commit()
to acceptIImmutableDictionary<KeyBytes, IValue>
instead ofIImmutableDictionary<string, IValue>
. [#3321] - Changed
AccountDeltaExtensions.ToRawDelta()
to returnIImmutableDictionary<KeyBytes, IValue>
instead ofIImmutableDictionary<string, IValue>
. [#3321] - Changed
ActionEvaluatorExtensions.GetRawTotalDelta()
to returnIImmutableDictionary<KeyBytes, IValue>
instead ofIImmutableDictionary<string, IValue>
. [#3321] - Removed
EnumerableMeasurement
class. [#3325] - Removed
KeyValueExtensions
class. [#3325] - Removed
StateStoreExtensions.EncodeKey()
andStateStoreExtensions.DecodeKey()
methods. [#3328] - Removed
StateStoreExtensions.GetStates(IStateStore, HashDigest<SHA256>?, IReadOnlyList<string>)
method. [#3328] - Removed
TrieExtensions.Set(ITrie, IEnumerable<KeyValuePair<string, IValue?>)
method. [#3328] - Removed
KeyBytes(string, Encoding)
constructor. [#3328]
Added APIs
- Added
StateStoreExtensions.GetStates(IStateStore, HashDigest<SHA256>, IReadOnlyList<KeyBytes>)
method. [#3321] - Added
KeyBytes.Encoding
static property. [#3328] - Added
KeyBytes(string)
constructor. [#3328]
Behavioral changes
- Optimized read and write access to
IStateStore
both for memory and speed. [#3321]