Libplanet 0.22.0
Released on November 30, 2021.
Backward-incompatible API changes
- Removed
Transaction<T>.BytesLength
property. [#1609] - Removed
Block<T>.BytesLength
property. [#1609] - The types of
BlockChain<T>.MineBlock()
overloaded methods'maxBlockBytes
parameters becamelong?
(wereint?
). [#1609] - The type of
IBlockPolicy<T>.GetMaxBlockBytes(long)
method becamelong
(wasint
). [#1609] - The type of
BlockPolicy<T>()
constructor'sgetMaxBlockBytes
parameter becameFunc<long, long>?
(wasFunc<long, int>?
). [#1609] - The type of
InvalidBlockBytesLengthException()
constructor'sbytesLength
parameter becamelong
(wasint
). [#1609] - The type of
InvalidBlockBytesLengthException.BytesLength
property becamelong
(wasint
). [#1609] - Methods
IsEmpty()
andIsFull()
ofKBucket
changed to propertiesIsEmpty
andIsFull
respectively. [#1610] MessageCodec
class renamed toTcpMessageCodec
. [#1610]lifetime
parameter removed fromIMessageCodec.Decode()
.messageLifespan
parameter added to constructors ofNetMQMessageCodec
andTcpMessageCodec
. [#1610]- Removed unused
PeerStates
property fromSwarm<T>
. [#1610] - Method name
BoundPeer.QueryAppProtocolVersion()
changed toBoundPeer.QueryAppProtocolVersionNetMQ()
. [#1610]
Behavioral changes
Swarm<T>
became to append blocks to forked chain to avoid locking the canonical chain while syncing recent blocks. [#1606]- More streamlined structured logging together with additional logs tagged as
Metric
. [#1627]
Bug fixes
InvalidMagicCookieException
andInvalidTimestampException
can now be serialized and deserialized. [#1613]- Fixed a bug where
PolymorphicAction<T>
had thrownInvalidCastException
when inner action's.PlainValue
returns other value thanBencodex.Types.Dictionary
. [#1628]
Dependencies
- Libplanet.Stun assembly is now distributed as a seaprate NuGet package: Libplanet.Stun. [#813, #1279, #1625]
- Upgraded Bencodex from 0.3.0 to 0.4.0-dev.20211123080042+d7f6c810. [#1609]
- Now depends on Caching.dll 1.4.0.1.