Skip to content

Releases: planetarium/libplanet

Libplanet 3.9.1

08 Dec 03:22
d049d46
Compare
Choose a tag to compare

Released on December 8, 2023.

  • (Libplanet.Explorer) Added INCLUDED to TxStatus enum. [#3542]

Libplanet 3.9.0

05 Dec 05:26
f5762f9
Compare
Choose a tag to compare

Released on December 5, 2023.

Due to changes in #3529, a network ran with a prior version may not be compatible with this version, specifically, those that ran with Libplanet 2.0.0 and onwards prior to this release that have included Transactions that aren't compatible with the updated specification in #3529.

Backward-incompatible API changes

  • (Libplanet.Action) Removed unnecessary extension methods: [#3520]
    • IReadOnlyList<IActionEvaluation>.GetRawTotalDelta()
    • IReadOnlyList<IAccountDelta>.OrderedSum()
    • IAccountDelta.ToRawDelta()
    • IAccount.GetUpdatedStates()
    • IAccount.GetUpdatedBalances()
    • IAccount.GetUpdatedTotalSupplies()
  • (Libplanet.Action) Changed IAccount to no longer track IAccountDelta. [#3520]
  • (Libplanet.Action) Removed IAccountDelta as parameter for constructors of Account class. [#3520]
  • (Libplanet.Action) Removed hashedSignature of type byte[] parameter from ActionEvaluator.GenerateRandomSeed(). [#3523]
  • Changed TxInvoice to no longer allow having the null-ness of MaxGasPrice and GasLimit to be different, i.e. either both should be null or both should not be null at the same time. [#3529]
  • (Libplanet.Action) Removed IAccountDelta interface. [#3535]
  • (Libplanet.Action) Removed IAccount.Delta interface property. [#3535]
  • (Libplanet.Action) Changed constructor IAccount(IAccountState, IImmutableDictionary<(Address, Currency), BigInteger>) to IAccount(IAccountState, IImmutableHashSet<(Address, Currency)>). [#3537]

Libplanet 3.8.1

27 Nov 06:11
ec81596
Compare
Choose a tag to compare

Released on November 27, 2023.

  • (Libplanet.Net) Fixed a bug where GossipConsensusMessageCommunicator does not clear _peerCatchupRounds on OnStartHeight(). [#3519]
  • (Libplanet.Net) GossipConsensusMessageCommunicator now filters ConsensusVoteMsg which height is different from latest Context. [#3519]
  • (Libplanet.Action) Fixed a bug where initialization of AccountMetrics is absent. [#3521]

Libplanet 3.8.0

24 Nov 02:56
115a423
Compare
Choose a tag to compare

Released on November 24, 2023.

Backward-incompatible API changes

  • Removed updatedAddresses parameter from BlockChain.MakeTransaction() [#3480]
  • Removed updatedAddresses parameter from Transaction.Create(). [#3480]
  • Removed updatedAddresses parameter from all TxInvoice(). [#3480]
  • Removed Rehearsal property from IActionContext and ICommittedActionContext. [#3485]
  • (Libplanet.Crypto) Removed ToAddress() extension method for PrivateKey and PublicKey. [#3486]
  • (Libplanet.Crypto) Added Address property to PrivateKey and PublicKey. [#3486]

Backward-incompatible storage format changes

  • (Libplanet.Store) Changed Libplanet.RocksDBStore to use RocksDb instead of RocksDBSharp. Note Cannot read new version of Libplanet.RocksDBStore storage from under Libplanet.RocksDBStore version 3.6.1. [#1848, #3487]

Added APIs

  • (Libplanet.RocksDBStore) Added RocksDBInstanceType enum. [#3488]
  • (Libplanet.RocksDBStore) Changed RocksDBStore and RocksDBKeyValueStore to accept RocksDBInstanceType type instanceType parameter instead of @readonly parameter in their constructor. [#3488, RocksDb Instance Types]

Libplanet 3.7.1

21 Nov 03:38
24331ea
Compare
Choose a tag to compare

Released on November 21, 2023.

Libplanet 3.6.2

21 Nov 02:44
f043a08
Compare
Choose a tag to compare

Released on November 21, 2023.

  • (Libplanet.Net) Changed default ContextTimeoutOption values for more consistent and stable consensus. [#3506]

Libplanet 3.6.1

20 Nov 13:21
1a27f4c
Compare
Choose a tag to compare

Released on November 20, 2023.

  • (Libplanet.Store) Added optional cache parameter of type HashNodeCache to MerkleTrie() constructors. [#3495]
  • (Libplanet.Store) Added HashNodeCache class. [#3495]
  • (Libplanet.Store) Changed internal caching strategy of TrieStateStore for read/write optimization. [#3495]

Libplanet 3.7.0

30 Oct 06:10
630d3e5
Compare
Choose a tag to compare

Released on October 27, 2023.

Backward-incompatible API changes

  • Added IBencodable interface to HashDigest<T>. [#3455]

Behavioral changes

  • Slightly optimized BlockMarshaler. [#3454]

Dependencies

Libplanet 3.6.0

06 Oct 09:50
b13ef31
Compare
Choose a tag to compare

Released on October 6, 2023.

Backward-incompatible API changes

  • Changed IActionEvaluator.Evaluate()'s return type to IReadOnlyList<ICommittedActionEvaluation> from IReadOnlyList<IActionEvaluation>. [#3445]
  • Changed BlockChain.DetermineStateRootHash(IActionEvaluator, IPreEvaluationBlock, out IReadOnlyList<IActionEvaluation>) to BlockChain.DetermineStateRootHash(IActionEvaluator, IPreEvaluationBlock, out IReadOnlyList<ICommittedActionEvaluation>). [#3445]
  • Changed BlockChain.EvaluateGenesis()'s return type to IReadOnlyList<ICommittedActionEvaluation> from IReadOnlyList<IActionEvaluation>. [#3445]
  • Changed BlockChain.EvaluateBlock()'s return type to IReadOnlyList<ICommittedActionEvaluation> from IReadOnlyList<IActionEvaluation>. [#3445]
  • Removed StateStoreExtensions class. [#3323, #3450]

Added APIs

  • (Libplanet.Explorer) Added TxResult.InputState of type HashDigest<SHA256>?. [#3446, #3447]
  • (Libplanet.Explorer) Added TxResult.OutputState of type HashDigest<SHA256>?. [#3446, #3447]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.states field. [#3448, #3449]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.balance field. [#3448, #3449]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.totalSupply field. [#3448, #3449]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.validators field. [#3448, #3449]

Behavioral changes

  • IActionEvaluator.Evaluate(), BlockChain.EvaluateGenesis(), and BlockChain.EvaluateBlock() have a side-effect of storing data to IStateStore when called. [#3445]

Libplanet 3.5.0

04 Oct 08:39
f4de791
Compare
Choose a tag to compare

Released on October 4, 2023.

Backward-incompatible API changes

  • Removed IActionContext.Random property. Use IActionContext.GetRandom() instead. [#3437]
  • Added IActionContext.RandomSeed property. [#3437]
  • Added IActionContext.GetRandom() method. [#3437]
  • Changed IActionEvaluator.Evaluate(IPreEvaluationBlock) to IActionEvaluator.Evaluate(IPreEvaluationBlock, HashDigest<SHA256>). [#3438]
  • Changed ActionEvaluator to accept IStateStore instead of IBlockChainStates [#3439]