Releases: planetarium/libplanet
Libplanet 4.5.2
Released on June 10, 2024.
- (Libplanet.Explorer) Added
ProtocolVersion
field toBlockType
. [#3810]
Libplanet 4.6.0
Released on May 27, 2024.
Due to changes in #3789, a network ran with a prior version may not be compatible with this version. The native implementation of IActionEvaluator
, which is ActionEvaluator
, no longer supports evaluation of PoW Block
s. That is, it is no longer possible to reconstruct states with valid state root hashes purely from past Block
s that includes PoW Block
s.
Deprecated APIs
Backward-incompatible API changes
- (Libplanet.Action) Changed
ActionEvaluate.Evaluate()
to no longer acceptIPreEvaluationBlock
with a protocol version less thanBlockMetadata.PBFTProtocolVersion
. [#3789] - (Libplanet.Action) Changed the description of
IActionEvaluate.Evaluate()
so that it may throwBlockProtocolVersionNotSupportedException
if its implementation is not able to handleIPreEvaluationBlock
with certainBlockMetadata.ProtocolVersion
s. [#3789] - (Libplanet.Types) Removed
nonce
parameter fromBlockMetadata.DerivePreEvaluationHash()
andBlockMetadata.MakeCandidateData()
methods. [#3793, #3794] - (Libplanet.Explorer.Executable) Removed unused
difficultyBoundDivisor
parameter for the executable and removedOptions.DifficultyBoundDivisor
property. [#3796] - (Libplanet.Explorer) Added
balance
,totalSupply
, andvalidatorSet
queries toWorldStateType
. [#3792, #3798] - (Libplanet.Explorer) Deprecated
balance
,balances
,totalSupply
andvalidatorSet
query fromAccountStateType
. [#3792, #3798] - (Libplanet.Explorer) Changed
totalSupply
query underStateQuery
to no longer throw anException
and return a zero amount instead. [#3799]
Added APIs
Libplanet 4.5.1
Released on May 27, 2024.
- Suppressed build warnings as a temporary measure that may result in build failures due to security vulnerabilities found in LiteDB 4.1.4 and BouncyCastle.Cryptography 2.0.0 packages. [#3800]
Libplanet 4.5.0
Released on May 14, 2024.
Due to changes in #3780 and #3783, a network ran with a prior version may not be compatible with this version. Regarding #3780, a network that ran with an IAction
that has used GetTotalSupply()
with its execution result dependent on its value may not be compatible. Regarding #3783, a network that ran with an IAction
that has either used MintAsset()
and BurnAsset()
with its execution result dependent on handling of a possible Exception
thrown by these methods may not be compatible.
Backward-incompatible API changes
- (Libplanet.Types) Updated
BlockMetadata.CurrentProtocolVersion
from 6 to 7. [#3769] - (Libplanet.Store) Added
IterateSubTrieValues(KeyBytes)
andIterateSubTrieNodes(KeyBytes)
methods toMerkleTrie
. [#3774] - (Libplanet.Types) Added
BlockMetadata.CurrencyAccountProtocolVersion
. [#3775] - (Libplanet.Mocks) Removed
MockWorldState.ToModern()
andMockWorldState.SetTotalSupply()
methods. [#3778] - (Libplanet.Action) Removed
TotalSupplyNotTrackableException
class. [#3780] - (Libplanet.Action)
IWorldState.GetTotalSupply()
no longer throws aTotalSupplyNotTrackableException
but returns a zero amount of correspondingFungibleAssetValue
. [#3780] - (Libplanet.Action) Changed the precednce for the types of
Exception
s that may be thrown byIWorld.MintAsset()
andIWorld.BurnAsset()
.
Added APIs
- (Libplanet.Action) Added
CurrencyAccount
class. [#3779]
Behavioral changes
- (Libplanet.Mocks)
MockWorldState.SetBalance()
now automatically updates the total supply of the providedCurrency
. [#3778]
Libplanet 4.4.2
Libplanet 4.4.1
Released on April 18, 2024.
- Ported changes from Libplanet 4.3.1 release. [#3757]
Libplanet 4.3.1
Libplanet 4.4.0
Released on April 17, 2024.
Backward-incompatible API changes
- (Libplanet.Action) Removed
IWorld.SetValidator()
extension method. UseIWorld.SetValidatorSet()
extension method instead. [#3735] - (Libplanet.Types) Renamed
BlockMetadata.PoWProtocolVersion
toBlockMetadata.PBFTProtocolVersion
andBlockMetadata.LegacyStateVersion
toBlockMetadata.WorldStateProtocolVersion
while increasing each value by 1. [#3736] - (Libplanet.Store) Changed the type of
TrieMetadata.Version
fromBigInteger
toint
. [#3738] - (Libplanet.Store) Changed
TrieMetadata
to throw anArgumentException
when trying to create an instance with an invalid version. [#3738] - (Libplanet.Action) Added
IWorldState.Version
interface property. [#3739] - (Libplanet.Types) Updated
BlockMetadata.CurrentProtocolVersion
from 5 to 6. [#3741] - (Libplanet.Types) Added
BlockMetadata.TransferFixProtocolVersion
,BlockMetadata.SignatureProtocolVersion
, andBlockMetadata.TransactionOrderingFixProtocolVersion
constants. [#3742] - (Libplanet.Action) Removed
ReservedAddresses.FungibleAssetAccount
. [#3745] - (Libplanet.Action) Changed
ReservedAddresses.ValidatorSetAccount
's value from0x1000000000000000000000000000000000000002
to0x100000000000000000000000000000000000001
. [#3745]
Added APIs
Libplanet 4.3.0
Released on April 8, 2024.
Due to changes in #3728, a network ran with a prior version may not be compatible with this version, specifically those that ran with IAction
s that has allowed negative balances through TransferAssets()
with allowNegativeBalance
as true
.
Backward-incompatible API changes
- (Libplanet.Action) Added
Txs
property of typeIReadOnlyList<ITransaction>?
toIActionContext
. [#3713] - (Libplanet.Action) Removed
TotalFungibleAssets
property fromIWorld
. [#3714] - (Libplanet.Action) Changed
GetBalance()
,GetTotalSupply()
, andGetValidatorSet()
ofIWorldState
to extension methods. [#3715] - (Libplanet.Action) Changed
MintAsset()
,BurnAsset()
,TransferAsset()
, andSetValidator()
ofIWorld
to extension methods. [#3715] - (Libplanet.Action) Removed
allowNegativeBalance
parameter fromIWorld.TransferAsset()
extension method. [#3725, #3728] - (Libplanet.Store) Removed
journal
,indexCacheSize
, andflush
parameters fromDefaultStore
's constructor. [#3729]
Dependencies
Libplanet 4.2.0
Released on March 22, 2024.
Backward-incompatible API changes
- (Libplanet.Action) Moved
GetBalance()
andGetTotalSupply()
methods fromIAccountState
toIWorldState
. [#3694, #3697] - (Libplanet.Action) Moved
MintAsset()
,BurnAsset()
, andTransferAsset()
methods fromIAccount
toIWorld
. [#3694, #3697] - (Libplanet.Action) Removed
TotalSupplyDiff
,FungibleAssetValueDiff
, andValidatorDiff
properties fromAccountDiff
. [#3694, #3697] - (Libplanet.Action) Removed
Uncommitted
property andCommitAccount()
method fromIWorldDelta
. [#3694, #3699] - (Libplanet.Action) Moved
GetValidatorSet()
fromIAccountState
toIWorldState
. [#3702] - (Libplanet.Action) Moved
SetValidator()
fromIAccount
toIWorld
. [#3702]
Added APIs
- Added
Libplanet.Mocks
project. [#3642]