Releases: XRPLF/rippled
rippled (XRP Ledger server) Version 2.1.0
Version 2.1.0 introduces two new amendments:
What's Changed
Full Release Notes for 2.1.0 (xrpl.org)
- [TRIVIAL] Add unit test for redundant payment by @Bronek in #4860
- Windows CI unit tests need to pass by @ximinez in #4871
- Use platform-agnostic library names in Conan recipe by @thejohnfreeman in #4831
fixNFTokenReserve
: Throw error when NFT buyer does not meet reserve requirement by @shawnxie999 in #4767- Headers needed in Conan package to build xbridge witness server by @legleux in #4885
- Validate grpc port info in GRPCServer ctor by @ckeshava in #4728
fixInnerObjTemplate
: Add STObject constructor to explicitly set inner object template by @gregtatcam in #4906- Proposed 2.1.0-rc1 by @intelliot in #4910
- Improve object lifetime management when creating temporary Rules object: by @ximinez in #4917
- Proposed 2.1.0 by @seelabs in #4920
Full Changelog: 2.0.1...2.1.0
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
Bug Bounties and Responsible Disclosures:
We welcome reviews of the rippled
code and urge researchers to responsibly disclose any issues they may find.
To report a bug, please send a detailed report to: [email protected]
rippled (XRP Ledger server) Version 2.1.0-rc1
Version 2.1.0 introduces two new amendments:
What's Changed
- [TRIVIAL] Add unit test for redundant payment by @Bronek in #4860
- Windows CI unit tests need to pass by @ximinez in #4871
- Use platform-agnostic library names in Conan recipe by @thejohnfreeman in #4831
fixNFTokenReserve
: Throw error when NFT buyer does not meet reserve requirement by @shawnxie999 in #4767 (originally reported by @tequdev in #4679)- Headers needed in Conan package to build xbridge witness server by @legleux in #4885
- Validate grpc port info in GRPCServer ctor by @ckeshava in #4728 (originally reported by @interc0der in #4557)
- Add STObject constructor to explicitly set inner object template by @gregtatcam in #4906
- Proposed 2.1.0-rc1 by @intelliot in #4910
Full Changelog: 2.0.1...2.1.0-rc1
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
rippled (XRP Ledger server) Version 2.0.1
This release fixes a few bugs. There are no new features over version 2.0.0.
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) forws
andwss
port(s).- When the setting is not specified, 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, the default value is
- Fixes an assert which could occur under heavy load from unprivileged WebSocket connections. (Assertions are disabled in release builds.)
Testing Credits
- Thanks to @sgramkumar and others for continued testing.
What's Changed
- Websocket should only call async_close once by @ximinez in #4848 (originally reported by @lathanbritz #4822 (comment))
- 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 (originally reported by @nixer89 #4866)
- 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
- [TRIVIAL] Fix broken links in documentation by @thejohnfreeman in #4699
- [TRIVIAL] Retry codecov uploads by @Bronek in #4896
- Proposed 2.0.1 by @intelliot in #4905
Full Changelog: 2.0.0...2.0.1
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