Libplanet 2.5.0
Released on July 12, 2023.
Due to changes in [#3272], a network ran with a prior version may not be compatible with this version.
Backward-incompatible API changes
- (Libplanet.Net) Added
Gossip.PublishMessage(MessageContent, IEnumerable<BoundPeer>)
method. [#3206] - (Libplanet.Net) Added
Context.AddMaj23()
method. [#3206] - (Libplanet.Net) Added
Context.GetVoteSetBits()
method. [#3206] - (Libplanet.Net) Added
Context.GetVoteSetBitsResponse()
method. [#3206] - (Libplanet.Net) Added
ConsensusContext.HandleMaj23()
method. [#3206] - (Libplanet.Net) Added
ConsensusContext.HandleVoteSetBits()
method. [#3206] - (Libplanet.Net) Added
ConsensusContext.HandleProposalClaim()
method. [#3206] - Removed
ActionTypeAttribute.ValueOf()
method. [#3267] - Added
Action<Message> validateMessageToReceive
parameter toGossip
's constructor. [#3273] - Added
Action<MessageContent> validateMessageToSend
parameter toGossip
's constructor. [#3273] - Removed
Action<Message> validateMessage
parameter fromGossip
's constructor. [#3273] - Removed
AccountStateGetter
,AccountBalanceGetter
,TotalSupplyGetter
, andValidatorSetGetter
delegates. [#3282] - Removed
IFeeCalculator
interface. [#3283] - Removed
IBlockPolicy.FeeCalculator
interface property. [#3283] - Removed
TxExecution.ActionsLogsList
,TxFailure.ActionsLogsList
, andTxSuccess.ActionsLogsList
properties. [#3291] - (Libplanet.Explorer) Removed
TxResult.ActionsLogsList
property. [#3291] - Removed
IActionContext.Logs
property andIActionContext.PutLog()
method. [#3292] - Removed
IActionEvaluation.Logs
property. [#3292]
Added APIs
- Added
VoteSetBits
and its related classes. [#3206]- Added
VoteSetBits
class. - Added
VoteSetBitsMetadata
class. - (Libplanet.Net) Added
ConsensusVoteSetBitsMsg
class.
- Added
- Added
ProposalClaim
and its related class. [#3206]- Added
ProposalClaim
class. - Added
ProposalClaimMetadata
class. - (Libplanet.Net) Added
ConsensusProposalClaimMsg
class.
- Added
- (Libplanet.Net) Added
ConsensusMaj23Msg
class. [#3206] - (Libplanet.Net) Added enumeration items to
MessageType
enum. [#3206]- Added
ConsensusMaj23Msg
of value0x53
. - Added
ConsensusVoteSetBitsMsg
of value0x54
. - Added
ConsensusProposalClaimMsg
of value0x55
.
- Added
- Added
IActionContext.Logs
interface property. [#3274] - Changed the type for
IActionEvaluation.Logs
toIReadOnlyList<string>
fromList<string>
. [#3274] - Changed the type for
TxExecution.ActionsLogList
toList<IReadOnlyList<string>>?
fromList<List<string>>?
. [#3274] - (Libplanet.Explorer) Changed the type for
TxResult.ActionsLogList
toList<IReadOnlyList<string>>?
fromList<List<string>>?
. [#3274] - (Libplanet.Explorer) Added
BlockType.PreEvaluationHash
field. [#3280, #3281] - (Libplanet.Net) Added
VoteSet.GetAllVotes()
method. [#3288]
Behavioral changes
- (Libplanet.Net)
Context
became to remove its proposal when +2/3 valid votes were collected. [#3206] - Changed
ActionEvaluator
to evaluate allIAction
s in aTransaction
without early termination even if anIAction
throws anException
. [#3272] Gossip.HandleMessageAsync()
now executes_validateMessageToReceive
on given message received. [#3273]Gossip.SendWantAsync()
now executes_validateMessageToReceive
on replies ofWantMessage
. [#3273]Gossip.HandleWantAsync()
now executes_validateMessageToSend
on given message to send as a reply ofWantMessage
. [#3273]GossipConsensusMessageCommunicator
now prevents sending a message with a round other than its own as a reply to aWantMessage
. [#3273]GossipConsensusMessageCommunicator
now executes anti-spam logic when messages are received. [#3273]