Releases: XRPLF/rippled
rippled (XRP Ledger server) Version 2.0.1-rc1
This is a release candidate for a hotfix release. There are no new features over 2.0.0; only bug fixes.
Highlights:
- Fixes unbounded memory growth when running the path_find command.
- Fixes a bug that, in some situations, results in online deletion causing delays in persisting records to disk.
- A new line in
cfg/rippled-example.cfg
setssend_queue_limit = 500
. Consider adopting this setting in your ownrippled.cfg
in the appropriate stanza(s) for configuredws
andwss
port(s).- When the setting is not specified in the config, the default value is
100
. At100
, during times when there are >200 transactions per ledger,rippled
will disconnect WebSocket clients that subscribe to thetransactions
stream. - Clients receive a
disconnected
message with code1008
or aClient too slow
disconnection. - Using
send_queue_limit = 500
fixes this issue.
- When the setting is not specified in the config, the default value is
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
What's Changed
Note: for completeness, the following has been updated to show the changes since 2.0.0, the last stable release (not just 2.0.1-b1).
- Websocket should only call async_close once by @ximinez in #4848
- Improve lifetime management of ledger objects (
SLE
s) to prevent runaway memory usage. AKA "Is it caching? It's always caching." by @ximinez in #4822 - clang warning about deprecated sprintf usage by @ckeshava in #4747
- Change recommended send_queue_limit to 500 by @thejohnfreeman in #4867
- Add DeliverMax to more JSONRPC tests by @Bronek in #4826
- PR Template - add Type of Change:
Performance
by @intelliot in #4875 - Proposed 2.0.1-b1 by @intelliot in #4888
- Revert "Asynchronously write batches to NuDB. (#4503)" by @mtrippled in #4882
- Update help message about unit test-suite pattern matching by @ckeshava in #4846
- test: improve code coverage reporting + codecov by @Bronek in #4849
- Proposed 2.0.1-rc1 by @intelliot in #4895
Full Changelog: 2.0.0...2.0.1-rc1
rippled (XRP Ledger server) Version 2.0.1-b1 (beta)
What's Changed
- Websocket should only call async_close once by @ximinez in #4848
- Improve lifetime management of ledger objects (
SLE
s) to prevent runaway memory usage. AKA "Is it caching? It's always caching." by @ximinez in #4822 - clang warning about deprecated sprintf usage by @ckeshava in #4747
- Change recommended send_queue_limit to 500 by @thejohnfreeman in #4867
- Add DeliverMax to more JSONRPC tests by @Bronek in #4826
- PR Template - add Type of Change:
Performance
by @intelliot in #4875 - Proposed 2.0.1-b1 by @intelliot in #4888
Full Changelog: 2.0.0...2.0.1-b1
rippled (XRP Ledger server) Version 2.0.0
rippled (XRP Ledger server) Version 2.0.0-rc7 (release candidate)
This is a release candidate. There are no code changes in rc7 vs. rc6; rather, we have only added a flag to override a superfluous error during the build process (which blocks packaging).
- General availability for
api_version: 2
. In order for requests to experience breaking changes, you must specify"api_version": 2
. Thus,rippled
2.0 is backward-compatible for most users.- The "DeliverMax" field reflects the maximum amount that the payment may deliver. To get the amount of a payment, use the "delivered_amount" field.
- The "Amount" field is removed. In most cases, the field you actually want is "delivered_amount". But if you really want the field formerly known as "Amount", then you can use "DeliverMax".
- The "ledger_index" is now always returned as an integer (not a string).
- Notable performance improvements in TPS (transactions per second) throughput.
- XLS-38 sidechains support, adding significant new functionality to the protocol.
- XLS-40 decentralized identity (DID) support.
- New
server_definitions
method. - Many aspects of the code have been refactored and improved since the previous major version.
Amendments
rippled
2.0.0 is expected to include the following new amendments:
XChainBridge
: side chains (XLS-38) by @seelabs in #4292fixDisallowIncomingV1
by @dangell7 in #4721DID
: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636fixFillOrKill
: fix offer crossing with tfFillOrKill by @gregtatcam in #4694
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
What's Changed
Full Changelog: 2.0.0-rc6...2.0.0-rc7
rippled (XRP Ledger server) Version 2.0.0-rc6 (release candidate)
This is a release candidate.
- Includes
api_version: 2
general availability. Since you must specify"api_version": 2
in your requests to get the breaking changes,rippled
2.0 is backward-compatible for most users.- The "DeliverMax" field reflects the maximum amount that the payment may deliver. To get the amount of a payment, use the "delivered_amount" field.
- The "Amount" field is removed. In most cases, the field you actually want is "delivered_amount". But if you really want the field formerly known as "Amount", then you can use "DeliverMax".
- The "ledger_index" is now always returned as an integer (not a string).
- Notable performance improvements in TPS (transactions per second) throughput.
- XLS-38 sidechains support, adding significant new functionality to the protocol.
- XLS-40 decentralized identity (DID) support.
- New
server_definitions
method. - Many aspects of the code have been refactored and improved since the previous major version.
Amendments
rippled
2.0.0 is expected to include the following new amendments:
XChainBridge
: side chains (XLS-38) by @seelabs in #4292fixDisallowIncomingV1
by @dangell7 in #4721DID
: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636fixFillOrKill
: fix offer crossing with tfFillOrKill #4694
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
What's Changed
- [TRIVIAL] Typo fix 'of' instead of 'on' by @hoos in #4821
- [TRIVIAL] docs(API-CHANGELOG): clarify changes for V2 by @intelliot in #4773
- Revert #3839 "Add ProtocolStart and GracefulClose P2P protocol messages" by @Bronek in #4850
- Revert "Apply transaction batches in periodic intervals (#4504)" by @scottschurr in #4852
- Proposed 2.0.0-rc6 by @intelliot in #4853
New Contributors
Full Changelog: 2.0.0-rc5...2.0.0-rc6
rippled (XRP Ledger server) Version 2.0.0-rc5 (release candidate)
This is a release candidate.
- Includes
api_version
2 general availability.- The "DeliverMax" field reflects the maximum amount that the payment may deliver. To get the amount of a payment, use the "delivered_amount" field. "DeliverMax" is now provided for all Payment transactions, and successful transactions include "delivered_amount".
- In api_version: 2, the "Amount" field is removed. In most cases, the field you actually want is "delivered_amount". But if you really want the field formerly known as "Amount", then you can use "DeliverMax".
- In api_version: 2, "ledger_index" is always returned as an integer (not a string).
- Notable performance improvements in TPS (transactions per second).
- XLS-38 sidechains support.
- This is a large change and adds significant new functionality to the protocol.
- XLS-40 decentralized identity (DID) support.
- New
server_definitions
method. - Many aspects of the code have been refactored and changed since the previous major version.
Amendments
rippled
2.0.0 is expected to include the following new amendments:
XChainBridge
: side chains (XLS-38) by @seelabs in #4292fixDisallowIncomingV1
by @dangell7 in #4721DID
: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636fixFillOrKill
: fix offer crossing with tfFillOrKill #4694
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
What's Changed
- Revert 4505 4760 by @sophiax851 in #4842
- [TRIVIAL] Workarounds for gcc-13 compatibility by @Bronek in #4817
- Proposed 2.0.0-rc5 by @intelliot in #4843
New Contributors
- @sophiax851 made their first contribution in #4842
Full Changelog: 2.0.0-rc4...2.0.0-rc5
rippled (XRP Ledger server) Version 2.0.0-rc4 (release candidate)
This is a release candidate.
- Includes
api_version
2 general availability.- The "DeliverMax" field reflects the maximum amount that the payment may deliver. To get the amount of a payment, use the "delivered_amount" field. "DeliverMax" is now provided for all Payment transactions, and successful transactions include "delivered_amount".
- In api_version: 2, the "Amount" field is removed. In most cases, the field you actually want is "delivered_amount". But if you really want the field formerly known as "Amount", then you can use "DeliverMax".
- In api_version: 2, "ledger_index" is always returned as an integer (not a string).
- Notable performance improvements in TPS (transactions per second): up to 4,300 TPS.
- XLS-38 sidechains support.
- This is a large change and adds significant new functionality to the protocol.
- XLS-40 decentralized identity (DID) support.
- New
server_definitions
method. - Many aspects of the code have been refactored and changed since the previous major version.
Amendments
rippled
2.0.0 is expected to include the following new amendments:
XChainBridge
: side chains (XLS-38) by @seelabs in #4292fixDisallowIncomingV1
by @dangell7 in #4721DID
: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636fixFillOrKill
: fix offer crossing with tfFillOrKill #4694 (not in 2.0.0-b4)
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
What's Changed
- Consistently show ledger_index as integer on JSON output by @Bronek in #4820
- Show DeliverMax in submit_multisigned etc if API v2 selected by @Bronek in #4827
- Proposed 2.0.0-rc4 by @intelliot in #4841
Full Changelog: 2.0.0-rc3...2.0.0-rc4
rippled (XRP Ledger server) Version 2.0.0-rc3 (release candidate)
This is a release candidate.
- Includes
api_version
2 general availability.- The "DeliverMax" field name clarifies that the field is the maximum amount that the payment may deliver. To get the amount of a payment, use the "delivered_amount" field. "DeliverMax" is provided for all Payment transactions regardless of api_version.
- In api_version: 2, the "Amount" field is removed. In most cases, the field you want is "delivered_amount". But if you really, really want the field formerly known as "Amount", then look for "DeliverMax".
- Notable performance improvements in TPS (transactions per second): up to 4,300 TPS.
- XLS-38 sidechains support
- This is a large change and adds significant new functionality to the protocol.
- XLS-40 decentralized identity (DID) support
- New
server_definitions
method - Lastly, many aspects of the code have been refactored and changed since the previous major version.
Amendments
rippled
2.0.0 is expected to include the following new amendments:
XChainBridge
: side chains (XLS-38) by @seelabs in #4292fixDisallowIncomingV1
by @dangell7 in #4721DID
: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636fixFillOrKill
: fix offer crossing with tfFillOrKill #4694 (not in 2.0.0-b4)
What's Changed
- Clarify definition of "network health." by @mtrippled in #4729
- Remove tx_history and ledger_header in API version 2 by @Bronek in #4759
- Remove include by @Bronek in #4788
fixFillOrKill
: fix OfferCreate with tfFillOrKill if offer is better than open offer rate (Amendment) by @gregtatcam in #4694- [TRIVIAL] fix clang unused-but-set-variable warning by @StefanVK in #4677
- Delete unused Dockerfile by @intelliot in #4791
- Fix unit test api_version to enable api_version 2 by @pwang200 in #4785
- fix: check for valid public key in attestations by @seelabs in #4798
- Unify JSON serialization format of transactions by @Bronek in #4775
- Proposed 2.0.0-rc1 by @manojsdoshi in #4809
- Support for the mold linker by @seelabs in #4807
- Promote API version 2 to supported by @Bronek in #4803
- Update Linux smoketest distros by @legleux in #4813
- Fix 2.0 regression in tx method with binary output by @Bronek in #4812
- Optimize calculation of close time to avoid impasse and minimize gratuitous proposal changes by @mtrippled in #4760
- Proposed 2.0.0-rc2 by @manojsdoshi in #4818
- Merging rc2 to develop by @manojsdoshi in #4824
- Proposed 2.0.0-rc1 by @manojsdoshi in #4810
- Merging release into develop by @manojsdoshi in #4823
- Merging rc2 to release branch by @manojsdoshi in #4825
- Add Debian 12 Bookworm to supported distro matrix by @legleux in #4836
- Update API-CHANGELOG.md for release 2.0 by @Bronek in #4828
- docs(API-CHANGELOG): add extra bullet about DeliverMax by @intelliot in #4784
- Proposed 2.0.0-rc3 by @manojsdoshi in #4840
- Merging release back to develop by @manojsdoshi in #4819
- Proposed 2.0.0-rc3 by @manojsdoshi in #4839
New Contributors
Testing Credits
- Thanks to @sgramkumar and others for testing this release.
Full Changelog: 2.0.0-b4...2.0.0-rc3
rippled (XRP Ledger server) Version 2.0.0-b4 (beta)
This is a beta for the next release.
When finalized, the next stable release of rippled
is expected to be the last release for 2023 (given the holidays in Nov/Dec). The major version is bumped because:
api_version
2 general availability is expected.- The "DeliverMax" field name clarifies that the field is the maximum amount that the payment may deliver. To get the amount of a payment, use the "delivered_amount" field. "DeliverMax" is provided for all Payment transactions regardless of api_version.
- In api_version: 2, the "Amount" field is removed. In most cases, the field you want is "delivered_amount". But if you really, really want the field formerly known as "Amount", then look for "DeliverMax".
- Notable performance improvements in TPS (transactions per second): up to 3,900 TPS.
- XLS-38 sidechains support
- This is a large change and adds significant new functionality to the protocol.
- XLS-40 decentralized identity (DID) support
- New
server_definitions
method - Lastly, many aspects of the code have been refactored and changed since the previous major version bump.
Amendments
rippled
2.0.0 is expected to include the following new amendments:
XChainBridge
: side chains (XLS-38) by @seelabs in #4292fixDisallowIncomingV1
by @dangell7 in #4721DID
: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636fixFillOrKill
: fix offer crossing with tfFillOrKill #4694 (not in 2.0.0-b4)
What's Changed
- [TRIVIAL] docs(pull_request_template): add API Impact section by @intelliot in #4757
- Replace some asserts in PeerFinder::Logic with LogicError by @scottschurr in #4562
- Update hooks reserved error code name by @dangell7 in #4559
DID
: Decentralized identifiers (DIDs) (XLS-40): by @mvadari in #4636- Add RPC for
server_definitions
to rippled by @mvadari in #4703 - Network ID logic should not be applied to pseudo-transactions by @dangell7 in #4737
- set permission for doxygen workflow by @shichengsg002 in #4756
- Use unity builds to speed up Windows CI by @ximinez in #4780
- APIv2(DeliverMax): add alias for Amount in Payment transactions by @Bronek in #4733
- Proposed 2.0.0-b4 by @intelliot in #4782
New Contributors
- @shichengsg002 made their first contribution in #4756
Full Changelog: 2.0.0-b3...2.0.0-b4
rippled (XRP Ledger server) Version 2.0.0-b3 (beta)
This is a beta for the next release.
When finalized, the next stable release of rippled
is expected to be the last release for 2023 (given the holidays in Nov/Dec). The major version is bumped because:
api_version
2 general availability is expected.- Notable performance improvements in TPS (transactions per second): up to 3,900 TPS.
- XLS-38 sidechains support
- This is a large change and adds significant new functionality to the protocol.
- XLS-40 decentralized identity (DID) support
- New
server_definitions
method - Lastly, many aspects of the code have been refactored and changed since the previous major version bump.
What's Changed
- Eliminate built-in SNTP support (fixes #4207): by @nbougalis in #4628
- [TRIVIAL] Fix build error:
uint
is not universally defined by @ximinez in #4731 - Fix amendment majority flapping: use a more stable threshold for the number of votes required; when missing
STValidation
, use the last vote seen by @scottschurr in #4410 - Disallow the same bridge on one chain: by @seelabs in #4720
- Update minimum compiler requirements in BUILD.md by @ckeshava in #4700
- Fix asan stack use after scope (fix #4675) by @StefanVK in #4676
- [TRIVIAL] docs(API-CHANGELOG): clarify account_info response by @intelliot in #4724
- [TRIVIAL] fix typo in SECURITY.md by @sokkaofthewatertribe in #4662
- refactor: reunify common fields by @mDuo13 in #4715
- Reduce boilerplate in applySteps: by @seelabs in #4710
- fixDisallowIncomingV1 by @dangell7 in #4721
- [TRIVIAL] Link compression in example cfg by @florent-uzio in #4753
- Update API CHANGELOG for
XRPFees
changes by @ximinez in #4741 - Reenable Windows CI build with Artifactory support by @ximinez in #4596
- Fix output of remote step in nix workflow by @ckeshava in #4746
- [TRIVIAL] Remove incorrect assert by @ximinez in #4743
- [TRIVIAL] docs: Fix broken
conanfile.py
link in build settings by @JST5000 in #4740 - Call python to upgrade pip in Windows CI by @ximinez in #4768
- Proposed 2.0.0-b3 by @intelliot in #4772
New Contributors
- @StefanVK made their first contribution in #4676
- @sokkaofthewatertribe made their first contribution in #4662
- @florent-uzio made their first contribution in #4753
- @JST5000 made their first contribution in #4740
Full Changelog: 2.0.0-b2...2.0.0-b3