Skip to content

Releases: planetarium/libplanet

Libplanet 4.5.0

14 May 08:17
51b31e7
Compare
Choose a tag to compare

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) and IterateSubTrieNodes(KeyBytes) methods to MerkleTrie. [#3774]
  • (Libplanet.Types) Added BlockMetadata.CurrencyAccountProtocolVersion. [#3775]
  • (Libplanet.Mocks) Removed MockWorldState.ToModern() and MockWorldState.SetTotalSupply() methods. [#3778]
  • (Libplanet.Action) Removed TotalSupplyNotTrackableException class. [#3780]
  • (Libplanet.Action) IWorldState.GetTotalSupply() no longer throws a TotalSupplyNotTrackableException but returns a zero amount of corresponding FungibleAssetValue. [#3780]
  • (Libplanet.Action) Changed the precednce for the types of Exceptions that may be thrown by IWorld.MintAsset() and IWorld.BurnAsset().

Added APIs

  • (Libplanet.Action) Added CurrencyAccount class. [#3779]

Behavioral changes

  • (Libplanet.Mocks) MockWorldState.SetBalance() now automatically updates the total supply of the provided Currency. [#3778]

Libplanet 4.4.2

29 Apr 12:38
001085a
Compare
Choose a tag to compare

Released on April 29, 2024.

  • (Libplanet.Explorer) Added KeyBytesType and TrieType. [#3763]
  • (Libplanet.Explorer) Added RawStateQuery. [#3763]

Libplanet 4.4.1

18 Apr 07:18
01ff047
Compare
Choose a tag to compare

Released on April 18, 2024.

Libplanet 4.3.1

18 Apr 06:24
9b2a26e
Compare
Choose a tag to compare

Released on April 18, 2024.

Libplanet 4.4.0

17 Apr 09:44
5ddfb2f
Compare
Choose a tag to compare

Released on April 17, 2024.

Backward-incompatible API changes

  • (Libplanet.Action) Removed IWorld.SetValidator() extension method. Use IWorld.SetValidatorSet() extension method instead. [#3735]
  • (Libplanet.Types) Renamed BlockMetadata.PoWProtocolVersion to BlockMetadata.PBFTProtocolVersion and BlockMetadata.LegacyStateVersion to BlockMetadata.WorldStateProtocolVersion while increasing each value by 1. [#3736]
  • (Libplanet.Store) Changed the type of TrieMetadata.Version from BigInteger to int. [#3738]
  • (Libplanet.Store) Changed TrieMetadata to throw an ArgumentException 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, and BlockMetadata.TransactionOrderingFixProtocolVersion constants. [#3742]
  • (Libplanet.Action) Removed ReservedAddresses.FungibleAssetAccount. [#3745]
  • (Libplanet.Action) Changed ReservedAddresses.ValidatorSetAccount's value from 0x1000000000000000000000000000000000000002 to 0x100000000000000000000000000000000000001. [#3745]

Added APIs

  • (Libplanet.Action) Added ValidatorSetAccount class. [#3745]
  • (Libplanet.Explorer) Added WorldState.version field. [#3746]

Libplanet 4.3.0

08 Apr 08:46
8874c89
Compare
Choose a tag to compare

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 Txs property of type IReadOnlyList<ITransaction>? to IActionContext. [#3713]
  • (Libplanet.Action) Removed TotalFungibleAssets property from IWorld. [#3714]
  • (Libplanet.Action) Changed GetBalance(), GetTotalSupply(), and GetValidatorSet() of IWorldState to extension methods. [#3715]
  • (Libplanet.Action) Changed MintAsset(), BurnAsset(), TransferAsset(), and SetValidator() of IWorld to extension methods. [#3715]
  • (Libplanet.Action) Removed allowNegativeBalance parameter from IWorld.TransferAsset() extension method. [#3725, #3728]
  • (Libplanet.Store) Removed journal, indexCacheSize, and flush parameters from DefaultStore's constructor. [#3729]

Dependencies

Libplanet 4.2.0

22 Mar 11:22
81ddb0a
Compare
Choose a tag to compare

Released on March 22, 2024.

Backward-incompatible API changes

  • (Libplanet.Action) Moved GetBalance() and GetTotalSupply() methods from IAccountState to IWorldState. [#3694, #3697]
  • (Libplanet.Action) Moved MintAsset(), BurnAsset(), and TransferAsset() methods from IAccount to IWorld. [#3694, #3697]
  • (Libplanet.Action) Removed TotalSupplyDiff, FungibleAssetValueDiff, and ValidatorDiff properties from AccountDiff. [#3694, #3697]
  • (Libplanet.Action) Removed Uncommitted property and CommitAccount() method from IWorldDelta. [#3694, #3699]
  • (Libplanet.Action) Moved GetValidatorSet() from IAccountState to IWorldState. [#3702]
  • (Libplanet.Action) Moved SetValidator() from IAccount to IWorld. [#3702]

Added APIs

  • Added Libplanet.Mocks project. [#3642]

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]