Skip to content

Libplanet 2.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Jul 07:36
· 1500 commits to main since this release
2.5.0
6f008d9

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 to Gossip's constructor. [#3273]
  • Added Action<MessageContent> validateMessageToSend parameter to Gossip's constructor. [#3273]
  • Removed Action<Message> validateMessage parameter from Gossip's constructor. [#3273]
  • Removed AccountStateGetter, AccountBalanceGetter, TotalSupplyGetter, and ValidatorSetGetter delegates. [#3282]
  • Removed IFeeCalculator interface. [#3283]
  • Removed IBlockPolicy.FeeCalculator interface property. [#3283]
  • Removed TxExecution.ActionsLogsList, TxFailure.ActionsLogsList, and TxSuccess.ActionsLogsList properties. [#3291]
  • (Libplanet.Explorer) Removed TxResult.ActionsLogsList property. [#3291]
  • Removed IActionContext.Logs property and IActionContext.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 ProposalClaim and its related class. [#3206]
    • Added ProposalClaim class.
    • Added ProposalClaimMetadata class.
    • (Libplanet.Net) Added ConsensusProposalClaimMsg class.
  • (Libplanet.Net) Added ConsensusMaj23Msg class. [#3206]
  • (Libplanet.Net) Added enumeration items to MessageType enum. [#3206]
    • Added ConsensusMaj23Msg of value 0x53.
    • Added ConsensusVoteSetBitsMsg of value 0x54.
    • Added ConsensusProposalClaimMsg of value 0x55.
  • Added IActionContext.Logs interface property. [#3274]
  • Changed the type for IActionEvaluation.Logs to IReadOnlyList<string> from List<string>. [#3274]
  • Changed the type for TxExecution.ActionsLogList to List<IReadOnlyList<string>>? from List<List<string>>?. [#3274]
  • (Libplanet.Explorer) Changed the type for TxResult.ActionsLogList to List<IReadOnlyList<string>>? from List<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 all IActions in a Transaction without early termination even if an IAction throws an Exception. [#3272]
  • Gossip.HandleMessageAsync() now executes _validateMessageToReceive on given message received. [#3273]
  • Gossip.SendWantAsync() now executes _validateMessageToReceive on replies of WantMessage. [#3273]
  • Gossip.HandleWantAsync() now executes _validateMessageToSend on given message to send as a reply of WantMessage. [#3273]
  • GossipConsensusMessageCommunicator now prevents sending a message with a round other than its own as a reply to a WantMessage. [#3273]
  • GossipConsensusMessageCommunicator now executes anti-spam logic when messages are received. [#3273]

Bug fixes

  • Fixed a broken backwards compatibility of Currency [#3268, #3284]