Libplanet changelog
Version 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
IActions that has allowed negative balances through TransferAssets()
with allowNegativeBalance as true.
Backward-incompatible API changes
- (Libplanet.Action) Added
Txsproperty of typeIReadOnlyList<ITransaction>?toIActionContext. [#3713] - (Libplanet.Action) Removed
TotalFungibleAssetsproperty fromIWorld. [#3714] - (Libplanet.Action) Changed
GetBalance(),GetTotalSupply(), andGetValidatorSet()ofIWorldStateto extension methods. [#3715] - (Libplanet.Action) Changed
MintAsset(),BurnAsset(),TransferAsset(), andSetValidator()ofIWorldto extension methods. [#3715] - (Libplanet.Action) Removed
allowNegativeBalanceparameter fromIWorld.TransferAsset()extension method. [#3725, #3728] - (Libplanet.Store) Removed
journal,indexCacheSize, andflushparameters fromDefaultStore's constructor. [#3729]
Dependencies
Version 4.2.0
Released on March 22, 2024.
Backward-incompatible API changes
- (Libplanet.Action) Moved
GetBalance()andGetTotalSupply()methods fromIAccountStatetoIWorldState. [#3694, #3697] - (Libplanet.Action) Moved
MintAsset(),BurnAsset(), andTransferAsset()methods fromIAccounttoIWorld. [#3694, #3697] - (Libplanet.Action) Removed
TotalSupplyDiff,FungibleAssetValueDiff, andValidatorDiffproperties fromAccountDiff. [#3694, #3697] - (Libplanet.Action) Removed
Uncommittedproperty andCommitAccount()method fromIWorldDelta. [#3694, #3699] - (Libplanet.Action) Moved
GetValidatorSet()fromIAccountStatetoIWorldState. [#3702] - (Libplanet.Action) Moved
SetValidator()fromIAccounttoIWorld. [#3702]
Added APIs
- Added
Libplanet.Mocksproject. [#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
BaseIndexclass and changedBlockSetbase 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
blocksparameter type ofBranchclass constructor fromIEnumerable<(Block, BlockCommit)>toIEnumerable<(Block, BlockCommit?)>. - Changed
AppProtocolVersion.Extrafield type fromIValuetoIValue?. - Changed
extraparameter type ofAppProtocolVersionclass constructor fromIValuetoIValue?. - Changed
extraparameter type ofAppProtocolVersion.Signmethod fromIValuetoIValue?.
- 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
ActionEvaluationby 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 generatedTxResultTypefrom specifiedTxResult. - Rolled back
BlockHashandTxIdto be handled asIDGraphTypeinstead ofBlockHashTypeandTxIdTypein legacy queries. - Rolled back
HashDigest<SHA256>to be handled asHashDigestSHA256Typeinstead ofHashDigestType<T>in legacy queries.
- Rolled back
Version 4.0.2
Released on February 6, 2024.
- (Libplanet.Net) Changed
AppProtocolVersion.FromToken()to throw anExceptionwith 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 anArgumentExceptionunder certain undesirable circumstances. [#3633]
Version 4.0.0
Released on January 22, 2024.
Backward-incompatible API changes
- Bumped
BlockMetadata.CurrentProtocolVersionto 5. [#3524] - Removed
BlockChain.GetBalance(Address, Currency, Address)method. [#3583] - Removed
BlockChain.GetTotalSupply(Currency, Address)method. [#3583] - (Libplanet.Action) Changed
ActionEvaluatorto acceptIWorldinstead ofIAccount. [#3462] - (Libplanet.Action)
IActionEvaluation.OutputStatebecameIWorld. (wasIAccount) [#3462] - (Libplanet.Action)
IAction.Execute()became to returnIWorld. (wasIAccount) [#3462] - (Libplanet.Action)
IActionContext.PreviousStatebecameIWorld. (wasIAccount) [#3462] - (Libplanet.Action) Following methods in
IFeeCollectorinterface became to accept and returnIWorld. (wasIAccount) [#3462]IFeeCollector.Mortgage()IFeeCollector.Refund()IFeeCollector.Reward()
- (Libplanet.Action)
IBlockChainStatesinterface 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
Tgeneric argument ofSignedTx<T>. [#3512] - (Libplanet.Common) Removed
EnumerableExtensionsclass. [#3625, #3626]
Added APIs
- Added
BlockMetadata.LegacyStateVersionconstant. [#3524] - (Libplanet.Action) Added
IWorldinterface and its implementation. [#3462]- Added
Worldclass.
- Added
- (Libplanet.Action) Added
IWorldDeltainterface. [#3462] - (Libplanet.Action) Added
IWorldStateinterface and its implementation. [#3462]- Added
WorldBaseStateclass.
- Added
- (Libplanet.Action) Added
ReservedAddressesstatic class. [#3462] - (Libplanet.Store) Added
TrieMetadataclass. [#3540] - (Libplanet.Explorer) Added
AccountStateTypeclass. [#3462] - (Libplanet.Explorer) Added
WorldStateTypeclass. [#3462] - (Libplanet.Explorer) Added
StateQuery.worldfield. [#3462] - (Libplanet.Explorer) Changed
accountandaccountsquery inStateQueryto be compatible withstateQuery.world. [#3589]