Libplanet changelog
Version 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]
Version 4.1.0
Released on March 8, 2024.
Backward-incompatible API changes
- Removed the '#nullable disable' from 3 projects (Action, Common, Explorer). [#3622]
- Removed the '#nullable disable' from the Libplanet.Store project. [#3644]
- Removed the '#nullable disable' from the Libplanet.RocksDBStore project. [#3651]
- Removed
BaseIndex
class and changedBlockSet
base class fromBaseIndex<BlockHash, Block>
toIReadOnlyDictionary<BlockHash, Block>
. [#3686]
Backward-incompatible network protocol changes
- (Libplanet.Net) Changed some types due to removal of 'nullable keyword'.
[#3669]
- Changed
blocks
parameter type ofBranch
class constructor fromIEnumerable<(Block, BlockCommit)>
toIEnumerable<(Block, BlockCommit?)>
. - Changed
AppProtocolVersion.Extra
field type fromIValue
toIValue?
. - Changed
extra
parameter type ofAppProtocolVersion
class constructor fromIValue
toIValue?
. - Changed
extra
parameter type ofAppProtocolVersion.Sign
method fromIValue
toIValue?
.
- Changed
Added APIs
- (Libplanet.Store.Remote) Introduce
Libplanet.Store.Server.RemoteKeyValueService
[#3688] - (Libplanet.Store.Remote) Introduce
Libplanet.Store.Client.RemoteKeyValueStore
[#3688]
Behavioral changes
- (Libplanet.Store) Optimized
ITrie.IterateNodes()
to greatly reduce the amount of memory used. [#3687]
Version 4.0.6
Released on February 22, 2024.
- (Libplanet.Action) Fixed a bug where
FeeCollector.Mortgage()
unintentionally resets accumulatedAccount.TotalUpdatedFungibleAssets
. [#3680]
Version 4.0.5
Released on February 20, 2024.
- (Libplanet.Action) Optimized
ActionEvaluation
by removing redundant commits. [#3675]
Version 4.0.4
Released on February 7, 2024.
- (Libplanet.Explorer) Revert a GraphQL query argument type change to make it compatible with old schema. [#3663]
Version 4.0.3
Released on February 6, 2024.
- (Libplanet.Explorer) Revert GraphQL types to make it more compatible
with old schema. [#3657]
- Rolled back
TxResultType
's name to auto generatedTxResultType
from specifiedTxResult
. - Rolled back
BlockHash
andTxId
to be handled asIDGraphType
instead ofBlockHashType
andTxIdType
in legacy queries. - Rolled back
HashDigest<SHA256>
to be handled asHashDigestSHA256Type
instead ofHashDigestType<T>
in legacy queries.
- Rolled back
Version 4.0.2
Released on February 6, 2024.
- (Libplanet.Net) Changed
AppProtocolVersion.FromToken()
to throw anException
with more details. [#3648] - (Libplanet.Explorer) Updated outdated GraphQL schema. [#3649]
Version 4.0.1
Released on January 26, 2024.
- (Libplanet.Action) Changed
IWorld.SetAccount()
to throw anArgumentException
under certain undesirable circumstances. [#3633]
Version 4.0.0
Released on January 22, 2024.
Backward-incompatible API changes
- Bumped
BlockMetadata.CurrentProtocolVersion
to 5. [#3524] - Removed
BlockChain.GetBalance(Address, Currency, Address)
method. [#3583] - Removed
BlockChain.GetTotalSupply(Currency, Address)
method. [#3583] - (Libplanet.Action) Changed
ActionEvaluator
to acceptIWorld
instead ofIAccount
. [#3462] - (Libplanet.Action)
IActionEvaluation.OutputState
becameIWorld
. (wasIAccount
) [#3462] - (Libplanet.Action)
IAction.Execute()
became to returnIWorld
. (wasIAccount
) [#3462] - (Libplanet.Action)
IActionContext.PreviousState
becameIWorld
. (wasIAccount
) [#3462] - (Libplanet.Action) Following methods in
IFeeCollector
interface became to accept and returnIWorld
. (wasIAccount
) [#3462]IFeeCollector.Mortgage()
IFeeCollector.Refund()
IFeeCollector.Reward()
- (Libplanet.Action)
IBlockChainStates
interface has been overhauled. [#3462, #3583]- Added
IBlockChainStates.GetWorldState(BlockHash?)
method. - Added
IBlockChainStates.GetWorldState(HashDigest<SHA256>?)
method. - Removed
IBlockChainStates.GetAccountState(BlockHash?)
method. - Removed
IBlockChainStates.GetState(Address, BlockHash?)
method. - Removed
IBlockChainStates.GetStates(IReadOnlyList<Address>, BlockHash?)
method. - Removed
IBlockChainStates.GetBalance(Address, Currency, BlockHash?)
method. - Removed
IBlockChainStates.GetTotalSupply(Currency, BlockHash?)
method. - Removed
IBlockChainStates.GetValidatorSet(BlockHash?)
method.
- Added
- (@planetarium/tx) Remove the
T
generic argument ofSignedTx<T>
. [#3512] - (Libplanet.Common) Removed
EnumerableExtensions
class. [#3625, #3626]
Added APIs
- Added
BlockMetadata.LegacyStateVersion
constant. [#3524] - (Libplanet.Action) Added
IWorld
interface and its implementation. [#3462]- Added
World
class.
- Added
- (Libplanet.Action) Added
IWorldDelta
interface. [#3462] - (Libplanet.Action) Added
IWorldState
interface and its implementation. [#3462]- Added
WorldBaseState
class.
- Added
- (Libplanet.Action) Added
ReservedAddresses
static class. [#3462] - (Libplanet.Store) Added
TrieMetadata
class. [#3540] - (Libplanet.Explorer) Added
AccountStateType
class. [#3462] - (Libplanet.Explorer) Added
WorldStateType
class. [#3462] - (Libplanet.Explorer) Added
StateQuery.world
field. [#3462] - (Libplanet.Explorer) Changed
account
andaccounts
query inStateQuery
to be compatible withstateQuery.world
. [#3589]