Release notes:
Protocol changes
This release is the first release that supports protocol version 14:
- CAP-0023 “Two part payment with Claimable balance entry”
- CAP-0033 “Sponsored Reserve”
- CAP-0034 “Preserve Transaction-Set/Close-Time Affinity During Nomination” (consensus)
Stability improvements
- Stop pending merges on shutdown, this avoids having to wait a potentially very long time on shutdown.
- Improve prefetching when performing
manageOfferOp
- Fix broadcasting code, that could cause some SCP messages to be missing in rare circumstances.
- Improve performance of bucket hashing code, while making it thread safe if we need it to be thread safe in the future.
- Use the vendored version of libsodium if other versions are too old
- Improve how we flood messages that have time bounds
- Avoid an edge case that could cause a validator to start nominating too early when a validator has a desynchronized clock (not running NTP for example).
- Improve logging/handling when connections are not established properly
- Improved caching strategy when downloading messages.
- Fix a potential issue where SCP messages would get stuck fetching for additional data
- Improved I/O error handling when dealing with local files
- Fixed an edge case in simulation mode that would not behave correctly with empty buckets
New features
- The
TransactionResult
returned by thetx
endpoint now sets theminFee
to a fee that would ensure acceptance of the transaction by the local node. This should allow SDKs to better respond when facing situations where the network enforces different minimum limits based on the state of the transaction queues (like with “replace by fee”). - Added support for “anchor points”, that core can use as trusted ledgers without having to fall back to either genesis or consensus.
- The
manualclose
endpoint can now be used on a validator started with wait-for-consensus this makes it easier to spin up large test networks.
Breaking changes
- Validators now default to nominating. While this improves liveness, this may affect test setups that rely on a specific set of validators to “unstick” the network. Use the new option
--wait-for-consensus
for those types of situations.