Skip to content

Releases: planetarium/libplanet

Libplanet 4.1.0

08 Mar 10:48
4.1.0
7d95f20
Compare
Choose a tag to compare

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 changed BlockSet base class from BaseIndex<BlockHash, Block> to IReadOnlyDictionary<BlockHash, Block>. [#3686]

Backward-incompatible network protocol changes

  • (Libplanet.Net) Changed some types due to removal of 'nullable keyword'. [#3669]
    • Changed blocks parameter type of Branch class constructor from IEnumerable<(Block, BlockCommit)> to IEnumerable<(Block, BlockCommit?)>.
    • Changed AppProtocolVersion.Extra field type from IValue to IValue?.
    • Changed extra parameter type of AppProtocolVersion class constructor from IValue to IValue?.
    • Changed extra parameter type of AppProtocolVersion.Sign method from IValue to IValue?.

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]

Libplanet 4.0.6

22 Feb 11:13
1016fbc
Compare
Choose a tag to compare

Released on February 22, 2024.

  • (Libplanet.Action) Fixed a bug where FeeCollector.Mortgage() unintentionally resets accumulated Account.TotalUpdatedFungibleAssets. [#3680]

Libplanet 4.0.5

20 Feb 05:06
18deb93
Compare
Choose a tag to compare

Released on February 20, 2024.

  • (Libplanet.Action) Optimized ActionEvaluation by removing redundant commits. [#3675]

Libplanet 4.0.4

07 Feb 07:02
ce5eb29
Compare
Choose a tag to compare

Released on February 7, 2024.

  • (Libplanet.Explorer) Revert a GraphQL query argument type change to make it compatible with old schema. [#3663]

Libplanet 4.0.3

06 Feb 10:00
c57e506
Compare
Choose a tag to compare

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 generated TxResultType from specified TxResult.
    • Rolled back BlockHash and TxId to be handled as IDGraphType instead of BlockHashType and TxIdType in legacy queries.
    • Rolled back HashDigest<SHA256> to be handled as HashDigestSHA256Type instead of HashDigestType<T> in legacy queries.

Libplanet 4.0.2

06 Feb 04:11
aefc466
Compare
Choose a tag to compare

Released on February 6, 2024.

  • (Libplanet.Net) Changed AppProtocolVersion.FromToken() to throw an Exception with more details. [#3648]
  • (Libplanet.Explorer) Updated outdated GraphQL schema. [#3649]

Libplanet 4.0.1

26 Jan 07:58
a53a465
Compare
Choose a tag to compare

Released on January 26, 2024.

  • (Libplanet.Action) Changed IWorld.SetAccount() to throw an ArgumentException under certain undesirable circumstances. [#3633]

Libplanet 3.9.6

26 Jan 06:08
6a086b2
Compare
Choose a tag to compare

Released on January 26, 2024.

  • (Libplanet.Store) Optimized TrieStateStore.CopyStates() to greatly reduce the amount of memory used. [#3634]

Libplanet 4.0.0

22 Jan 09:15
42fbee9
Compare
Choose a tag to compare

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 accept IWorld instead of IAccount. [#3462]
  • (Libplanet.Action) IActionEvaluation.OutputState became IWorld. (was IAccount) [#3462]
  • (Libplanet.Action) IAction.Execute() became to return IWorld. (was IAccount) [#3462]
  • (Libplanet.Action) IActionContext.PreviousState became IWorld. (was IAccount) [#3462]
  • (Libplanet.Action) Following methods in IFeeCollector interface became to accept and return IWorld. (was IAccount) [#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.
  • (@planetarium/tx) Remove the T generic argument of SignedTx<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.
  • (Libplanet.Action) Added IWorldDelta interface. [#3462]
  • (Libplanet.Action) Added IWorldState interface and its implementation. [#3462]
    • Added WorldBaseState class.
  • (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 and accounts query in StateQuery to be compatible with stateQuery.world. [#3589]

Libplanet 3.9.5

18 Jan 11:32
d9942f8
Compare
Choose a tag to compare

Released on January 18, 2024.

  • (Libplanet.Store) Changed IStateStore.Commit() to return an ITrie with either its Root as null or a HashNode. [#3610]
  • (Libplanet.Store) Removed IStateStore.PruneStates() method. [#3613, #3614]