To be released.
- Changed
IMessageCodec.Encode(MessageContent, PrivateKey, AppProtocolVersion, BoundPeer, DateTimeOffset, byte[]?)
toIMessageCodec.Encode(Message, PrivateKey)
. [#3997]
- Fixed a bug in
IStore.PruneOutdatedChains()
. [#3999]
Released on November 13, 2024.
- (Libplanet.Action) Added
MaxGasPrice
property toIActionContext
interface and its implementations. [#3912] - (Libplanet.Explorer) Added
self
field toNoteStateType
. [#3912] - (Libplanet.Action) Removed
IFeeCollector
interface and its implementations. [#3912] - (Libplanet.Action) Removed following methods from the
IActionContext
interface. [#3912]- Removed
IActionContext.UseGas(long)
. - Removed
IActionContext.GasUsed()
. - Removed
IActionContext.GasLimit()
.
- Removed
- (Libplanet.Action) Added
GasTracer
static class. [#3912] - (Libplanet.Action) Added
LastCommit
property toIActionContext
interface and its implementations. [#3912] - (Libplanet.Action) Added
CancelTrace
method toGasTracer
. [#3974]
Released on November 21, 2024
- There is no longer a check at block validation time to see if the actions contained in a block are interpretable. [#3973]
Released on October 14, 2024.
- (Libplanet.Extensions.Cocona) Changed System.Text.Json from [6.0.7] to [6.0.*]. [#3967]
- Changed BouncyCastle.Cryptography from [2.0.0] to [2.4.0]. [#3968]
- (Libplanet.Crypto) Changed BouncyCastle.Cryptography from [2.0.0] to [2.4.0]. [#3968]
Released on October 10, 2024.
- Removed
threshold
parameter fromBlockChain.GetBlockLocator()
. [#3913] - (Libplanet.Net) Removed
SwarmOptions.BranchpointThreshold
property. [#3913] - (Libplanet.Store) Removed unused
HashNode.Serialize()
method. [#3922, #3924] - (Libplanet.Net) Removed
Header
property and addedBlockExcerpt
property toBlockDemand
. [#3934] - Removed
BlockLocator.Create()
. [#3942] - Changed
BlockLocator()
to take a singleBlockHash
. [#3942] - Changed
BlockLocator()
to no longer implemnetIEnumerable<BlockHash>
. [#3942] - (Libplanet.Net) Changed
BlockHashDownloadState
andBlockDownloadState
to beObsolete
. [#3943] - Removed
Fork()
method fromBlockChain
. [#3948] - Changed the return type for
BlockChain.FindNextHashes()
toIReadOnlyList<BlockHash>
. [#3949] - (Libplanet.Net) Changed
ActionExecutionState
andBlockVerificationState
to beObsolete
. [#3943] - (Libplanet.Action) Export
IPolicyActionsRegistry
interface fromPolicyActionsRegistry
. [#3960]
- (Libplanet.Net) Changed the encoding for
GetBlockHashesMsg
andBlockHashesMsg
. [#3949]
- Changed
BlockChain.FindBranchPoint()
to only check for the firstBlockHash
in a givenBlockLocator
. [#3913] - (Libplanet.Store) Optimized
HashNode.ToBencodex()
method. [#3922, #3924] - (Libplanet.Store) Optimized internal conversions to
KeyBytes
. [#3926] - (Libplanet.Net) Changed to no longer report
BlockHashDownloadState
andBlockDownloadState
during preloading. It is strongly advised not to rely on these to track the progress of preloading. [#3943] - (Libplanet.Store) Optimized LRU Cache for
HashNode
andBlockSet
. [#3962]
Released on August 8, 2024.
- (Libplanet.Explorer) Fix an issue with high CPU usage when querying blocks [#3897]
Released on July 31, 2024.
- Ported changes from Libplanet 5.1.3 release. [#3902]
Released on July 23, 2024.
- Removed
IBlockPolicy.BlockAction
property. [#3701] - Added
IBlockPolicy.PolicyActionsRegistry
property. [#3701] BlockPolicy
constructor now requirespolicyActionsRegistry
parameter instead of theblockAction
parameter. [#3701, #3748]- (Libplanet.Action) Removed
PolicyBlockActionGetter
delegate. [#3701, #3748] - (Libplanet.Action)
ActionEvaluator
constructor requiresPolicyActionsRegistry
parameter instead of thepolicyBlockActionGetter
parameter. [#3701, #3748] - (Libplanet.Action) Renamed
IActionContext.BlockAction
property toIActionContext.IsPolicyAction
. [#3764]
- (Libplanet.Store) Added
MerkleTrie.GenerateProof()
method. [#3870] - (Libplanet.Store) Added
MerkleTrie.ValidateProof()
method. [#3870] - (Libplanet.Action) Added
PolicyActionsRegistry
class. [#3748]
Released on July 30, 2024.
- (Libplanet.Explorer) Removed code that was used in development. [#3898]
Released on July 17, 2024.
- Fix an issue where currency does not work correctly in dotnet6. [#3880]
- Fix an issue where evidence queries cause errors in the explorer. [#3883]
Released on July 15, 2024.
- Fixed an issue with the evidence hash changing depending on the version. [#3874]
Released on July 11, 2024.
- (Libplanet.Explorer) Added
ValidatorPower
field toVoteType
. [#3737, #3813] - (Libplanet.Types) Added
ValidatorPower
property toIVoteMetadata
interface and its implementations. [#3737, #3813] - (Libplanet.Types) Added
IBlockMetadata.EvidenceHash
property and the parameters required by the derived class's properties and constructors have been added. Affected classes areBlock
,BlockContent
,BlockHeader
,BlockMetadata
,PreEvaluationBlockHeader
. [#3696] - (Libplanet.Types) Added
IBlockContent.Evidence
property and the parameters required by the derived class's properties and constructors have been added. Affected classes areBlock
,BlockContent
,BlockHeader
,PreEvaluationBlock
. [#3696] - (Libplanet) Added
IBlockPolicy.GetMaxEvidencePendingDuration
method. [#3696]
- (Libplanet.Types) Added
InvalidBlockEvidenceHashException
class. [#3696] - (Libplanet.Types) Added
InvalidBlockEvidencePendingDurationException
class. [#3696] - (Libplanet.Types) Added
EvidenceBase
abstract class. [#3696] - (Libplanet.Types) Added
DuplicateVoteEvidence
class. [#3696] - (Libplanet.Types) Added
DuplicateVoteException
class. [#3696] - (Libplanet.Types) Added
EvidenceContext
class. [#3696] - (Libplanet.Types) Added
EvidenceException
class. [#3696] - (Libplanet.Types) Added
EvidenceId
class. [#3696] - (Libplanet.Types) Added
IEvidenceContext
class. [#3696] - (Libplanet.Types) Added
InvalidEvidenceException
class. [#3696] - (Libplanet.Net) Added
EvidenceCompletion
class. [#3696] - (Libplanet.Store) Added
IStore.IteratePendingEvidenceIds
. method. [#3696] - (Libplanet.Store) Added
IStore.GetPendingEvidence
. method. [#3696] - (Libplanet.Store) Added
IStore.GetCommittedEvidence
. method. [#3696] - (Libplanet.Store) Added
IStore.PutPendingEvidence
. method. [#3696] - (Libplanet.Store) Added
IStore.PutCommittedEvidence
. method. [#3696] - (Libplanet.Store) Added
IStore.DeletePendingEvidence
. method. [#3696] - (Libplanet.Store) Added
IStore.DeleteCommittedEvidence
. method. [#3696] - (Libplanet.Store) Added
IStore.ContainsPendingEvidence
. method. [#3696] - (Libplanet.Store) Added
IStore.ContainsCommittedEvidence
. method. [#3696] - (Libplanet) Added
BlockChain.GetPendingEvidence
. method. [#3696] - (Libplanet) Added
BlockChain.GetCommittedEvidence
. method. [#3696] - (Libplanet) Added
BlockChain.AddEvidence
. method. [#3696] - (Libplanet) Added
BlockChain.CommitEvidence
. method. [#3696] - (Libplanet) Added
BlockChain.IsEvidencePending
. method. [#3696] - (Libplanet) Added
BlockChain.IsEvidenceCommitted
. method. [#3696] - (Libplanet) Added
BlockChain.IsEvidenceExpired
. method. [#3696] - (Libplanet) Added
BlockChain.DeletePendingEvidence
. method. [#3696] - (Libplanet.Action) Added
IActionContext.Evidence
. property. [#3696] - (Libplanet.Net) Added
Swarm.BroadcastEvidence
. property. [#3696] - (Libplanet.Net) Added
Context.CollectEvidenceExceptions
. property. [#3696]
The entire project is now defined by common properties in the
Directory.Build.props
file. The Directory.Build.props file is located at
the root and in the src, tools, test path.
The project structure and affected Directory.Build.props locations are shown below.
┌ Directory.Build.props
├ src
│ ├ Directory.Build.props
│ ├ Libplanet
│ ├ Libplanet.Action
│ ├ Libplanet.Common
│ ├ Libplanet.Crypto.Secp256k1
│ ├ Libplanet.Crypto
│ ├ Libplanet.Net
│ ├ Libplanet.RocksDBStore
│ ├ Libplanet.Store.Remote
│ ├ Libplanet.Store
│ ├ Libplanet.Stun
│ └ Libplanet.Types
├ test
│ ├ Directory.Build.props
│ ├ Libplanet.Action.Tests
│ ├ Libplanet.Analyzers.Tests
│ ├ Libplanet.Crypto.Secp256k1.Tests
│ ├ Libplanet.Explorer.Cocona.Tests
│ ├ Libplanet.Explorer.Tests
│ ├ Libplanet.Extensions.Cocona.Tests
│ ├ Libplanet.Mocks
│ ├ Libplanet.Net.Tests
│ ├ Libplanet.RocksDBStore.Tests
│ ├ Libplanet.Store.Remote.Tests
│ ├ Libplanet.Stun.Tests
│ └ Libplanet.Tests
└ tools
├ Directory.Build.props
├ Libplanet.Analyzers
├ Libplanet.Benchmarks
├ Libplanet.Explorer.Cocona
├ Libplanet.Explorer.Executable
├ Libplanet.Explorer
├ Libplanet.Extensions.Cocona
└ Libplanet.Tools
The default SDK version for the project has been bumped up to .NET 6.0. The list of supported SDKs is as follows
- netstandard2.0
- netstandard2.1
- netcoreapp3.1
- net6.0"
Support for
netstandard2.0
is coming to an end soon, please note that projects usingnetstandard2.0
will be deprecated.
The VersionPrefix
property has been moved from the
src/Libplanet/Libplanet.csproj file to the Directory.Build.props
file.
Released on July 2, 2024.
BlockChain.DetermineGenesisStateRootHash()
has been removed. [#3811]BlockChain.EvaluateGenesis()
has been removed. [#3811]BlockChain.DetermineBlockStateRootHash()
has been removed. [#3811]
- (Libplanet.Action)
IBlockChainStates.GetWorldState(BlockHash?)
does not accept null parameter any more. [#3811] - Bumped
BlockMetadata.CurrentProtocolVersion
to 8. [#3811] BlockChain.EvaluateBlock()
acceptsBlock
instead ofIPreEvaluationBlock
. [#3811]BlockChain.ProposeGenesisBlock()
receives parameterHashDigest<SHA256>? stateRootHash
. [#3811]BlockChain.ProposeGenesisBlock()
does not receive parameterIActionEvaluator actionEvaluator
any more. [#3811]BlockChain.ProposeBlock()
receives parameterHashDigest<SHA256> stateRootHash
. [#3811]- (Libplanet.Net) Changed
Context()
to accept additionalBlockCommit?
typed argument. RemovedlastCommit
parameter fromContext.Start()
. [#3833, #3845] - (Libplanet.Net) Changed
Context.Start()
to throw anInvalidOperationException
whenContext
is not in a valid state. [#3846] - (Libplanet.Net) Removed
IConsensusMessageCommunicator
parameter fromContext()
. [#3848, #3849] - (Libplanet.Net) Added
Running
property toConsensusContext
. [#3851] - (Libplanet.Net) Added
Start()
method toConsensusContext
. [#3851] - (Libplanet.Net) Changed
NewHeight()
to throw aNullReferenceException
if it is called while its internalBlockChain
is in an invalid state. [#3851] - (Libplanet.Net) Removed
Null
value fromConsensusStep
enum. [#3851]
- Added
BlockChain.DetermineNextBlockStateRootHash()
method. [#3811]