Skip to content

Releases: planetarium/libplanet

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]

Libplanet 3.4.0

25 Sep 09:25
07fbdfd
Compare
Choose a tag to compare

Released on September 25, 2023.

Backward-incompatible API changes

  • Added IBlockChainStates.GetAccountState(HashDigest<SHA256>?) interface method. [#3425]
  • Removed TxFailure.ExceptionMetadata property. [#3428]
  • Removed ISerializable interface from TxExecution, TxSuccess, and TxFailure. [#3428]
  • Removed TxSuccess and TxFailure class. [#3429]
  • Changed TxExecution class as sealed from abstract. [#3429]
  • All properties of TxExecution except BlockHash and TxId were overhauled. [#3429]
  • (Libplanet.Store) Removed IStore.PutTxExecution(TxSuccess) and IStore.PutTxExecution(TxFailure); added IStore.PutTxExecution(TxExecution). [#3429]
  • (Libplanet.Explorer) Removed TxResult.ExceptionName of type string? and added TxResult.ExceptionNames of type List<string?>?. [#3429]
  • (Libplanet.Explorer) Removed TxResult.UpdatedStates and TxResult.UpdatedFungibleAssets. [#3429]
  • Changed IActionRenderer.RenderAction(IValue, IActionContext, IAccount) to IActionRenderer.RenderAction(IValue, ICommittedActionContext, HashDigest<SHA256>). [#3431]
  • Changed IActionRenderer.RenderActionError(IValue, IActionContext, Exception) to IActionRenderer.RenderActionError(IValue, ICommittedActionContext, Exception). [#3431]

Added APIs

  • Added AccountDiff class. [#3424]
  • Added ICommittedActionContext interface. [#3431]
  • Added ICommittedActionEvaluation interface. [#3431]

Libplanet 3.3.1

08 Sep 03:56
7fbe52e
Compare
Choose a tag to compare

Released on September 8, 2023.

  • (Libplanet.Store) Fixed a bug where ITrie.Get() could wrongly retrieve an IValue from a non-existent path. [#3420]

Libplanet 3.3.0

07 Sep 12:28
aa72117
Compare
Choose a tag to compare

Released on September 7, 2023.

Backward-incompatible API changes

  • (Libplanet.Store) Removed ITrie.Commit() method. [#3392]
  • (Libplanet.Store) Added IStateStore.Commit() method. [#3398]
  • (Libplanet.Store) Removed IKeyValueStore.Get(IEnumerable<KeyBytes> keys) method. [#3362, #3400]
  • (Libplanet.Store) Added PathCursor struct. [#3399]
  • (Libplanet.Store) Added Nibbles struct. [#3399]
  • (Libplanet.Store) Changed KeyBytes to no longer implement IEquatable<byte[]> and IEquatable<ImmutableArray<byte>>. [#3402]
  • (Libplanet.Store) Added ITrie.GetNode() method. [#3401]
  • (Libplanet.Store) Added ITrie.IterateValues() method. [#3405]
  • (Libplanet.Store) Added ITrie.IterateNodes() method. [#3405]
  • (Libplanet.Store) Removed Secure option from TrieStateStore. [#3407]
    • Removed secure parameter from TrieStateStore().
    • Removed ITrie.Secure property.
    • Removed secure parameter from MerkleTrie().
    • Removed secure parameter from PathCursor().
  • (Libplanet.Store) Added ITrie.Diff() method. [#3410]
  • (Libplanet.Store) Removed MerkleTrieExtensions.DifferentNodes() static method. [#3410]
  • Removed IBlockState interface. [#3413]
  • Removed IBlockChainState.GetBlockState() interface method. [#3413]
  • Added IBlockChainState.GetAccountState() interface method. [#3413]
  • Added IAccountState interface. [#3416]
  • Added AccountState class. [#3416]

Added APIs

  • (Libplanet.RocksDBStore) RocksDBStore and RocksDBKeyValueStore became to receive @readonly parameter in their constructor. If it is true, it opens rocksdb as read-only mode. [#3354, #3356, RocksDB Read Only]

Behavioral changes

  • (Libplanet.Store) Changed ShortNode to no longer accept empty byte arrays. [#3390]

Bug fixes

  • (Libplanet.Store) Fixed Equals() for FullNode and ShortNode. [#3377]
  • (Libplanet.Store) Fixed a bug where adding two byte arrays as keys with one being a subsequence of the other would break MerkleTrie and lose data. [#3390]
  • (Libplanet.Store) Fixed a bug where when trying to add a value to an existing FullNode would throw an Exception. [#3390]
  • (Libplanet.Store) Fixed a bug where committing an ITrie may return an ITrie with a different path security scheme. [#3401]

Libplanet 3.2.0

11 Aug 03:26
97b3d2e
Compare
Choose a tag to compare

Released on August 10, 2023.

Backward-incompatible API changes

  • (Libplanet.Action) Renamed IAccountStateDelta as IAccount. [#3337]
  • (Libplanet.Store) Optimized MerkleTrie.Get(). [#3347]
  • (Libplanet.Types) Removed TxSuccess.FungibleAssetsDelta [#3357]
  • (Libplanet.Explorer) Removed TxResult.ExceptionMetadata and TxResult.FungibleAssetsDelta. [#3357]
  • (Libplanet.Store) Added ITrie.Get(KeyBytes) interface method. [#3359]
  • (Libplanet.Store) Optimized MerkleTrie.Get() by allowing parallel processing when more than 4 KeyBytes keys are given. [#3359]

Libplanet 3.1.2

10 Aug 07:22
419d7a5
Compare
Choose a tag to compare

Released on August 10, 2023.

Libplanet 3.1.1

09 Aug 11:40
3.1.1
69bac89
Compare
Choose a tag to compare

Released on August 9, 2023.

  • Fixed a bug where Swarm checks block existent when preloading. [#3253, #3353, #3360]

Libplanet 3.1.0

27 Jul 09:34
a987187
Compare
Choose a tag to compare

Released on July 27, 2023.

Backward-incompatible API changes

  • Changed StateStoreExtensions.Commit() to accept IImmutableDictionary<KeyBytes, IValue> instead of IImmutableDictionary<string, IValue>. [#3321]
  • Changed AccountDeltaExtensions.ToRawDelta() to return IImmutableDictionary<KeyBytes, IValue> instead of IImmutableDictionary<string, IValue>. [#3321]
  • Changed ActionEvaluatorExtensions.GetRawTotalDelta() to return IImmutableDictionary<KeyBytes, IValue> instead of IImmutableDictionary<string, IValue>. [#3321]
  • Removed EnumerableMeasurement class. [#3325]
  • Removed KeyValueExtensions class. [#3325]
  • Removed StateStoreExtensions.EncodeKey() and StateStoreExtensions.DecodeKey() methods. [#3328]
  • Removed StateStoreExtensions.GetStates(IStateStore, HashDigest<SHA256>?, IReadOnlyList<string>) method. [#3328]
  • Removed TrieExtensions.Set(ITrie, IEnumerable<KeyValuePair<string, IValue?>) method. [#3328]
  • Removed KeyBytes(string, Encoding) constructor. [#3328]

Added APIs

  • Added StateStoreExtensions.GetStates(IStateStore, HashDigest<SHA256>, IReadOnlyList<KeyBytes>) method. [#3321]
  • Added KeyBytes.Encoding static property. [#3328]
  • Added KeyBytes(string) constructor. [#3328]

Behavioral changes

  • Optimized read and write access to IStateStore both for memory and speed. [#3321]

Dependencies