Rippled Versions Save

Decentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C++

2.0.0-rc6

4 months ago

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 #4292
  • fixDisallowIncomingV1 by @dangell7 in #4721
  • DID: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636
  • fixFillOrKill: fix offer crossing with tfFillOrKill #4694

Testing Credits

  • Thanks to @sgramkumar and others for continued testing.

What's Changed

New Contributors

Full Changelog: https://github.com/XRPLF/rippled/compare/2.0.0-rc5...2.0.0-rc6

2.0.0-rc5

5 months ago

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 #4292
  • fixDisallowIncomingV1 by @dangell7 in #4721
  • DID: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636
  • fixFillOrKill: fix offer crossing with tfFillOrKill #4694

Testing Credits

  • Thanks to @sgramkumar and others for continued testing.

What's Changed

New Contributors

Full Changelog: https://github.com/XRPLF/rippled/compare/2.0.0-rc4...2.0.0-rc5

2.0.0-rc4

5 months ago

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 #4292
  • fixDisallowIncomingV1 by @dangell7 in #4721
  • DID: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636
  • fixFillOrKill: 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

Full Changelog: https://github.com/XRPLF/rippled/compare/2.0.0-rc3...2.0.0-rc4

2.0.0-rc3

5 months ago

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 #4292
  • fixDisallowIncomingV1 by @dangell7 in #4721
  • DID: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636
  • fixFillOrKill: fix offer crossing with tfFillOrKill #4694 (not in 2.0.0-b4)

What's Changed

New Contributors

Testing Credits

  • Thanks to @sgramkumar and others for testing this release.

Full Changelog: https://github.com/XRPLF/rippled/compare/2.0.0-b4...2.0.0-rc3

2.0.0-b4

6 months ago

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 #4292
  • fixDisallowIncomingV1 by @dangell7 in #4721
  • DID: Decentralized identifiers (DIDs) (XLS-40) by @mvadari in #4636
  • fixFillOrKill: fix offer crossing with tfFillOrKill #4694 (not in 2.0.0-b4)

What's Changed

New Contributors

Full Changelog: https://github.com/XRPLF/rippled/compare/2.0.0-b3...2.0.0-b4

2.0.0-b3

6 months ago

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

New Contributors

Full Changelog: https://github.com/XRPLF/rippled/compare/2.0.0-b2...2.0.0-b3

2.0.0-b2

7 months ago

This is a beta for the next release.

Highlights:

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.
    • This api_version is not available yet (except in beta, requiring a configuration change), but it will be in the next release.
  • 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.
  • Lastly, many aspects of the code have been refactored and changed since the previous major version bump.

What's Changed

New Contributors

Full Changelog: https://github.com/XRPLF/rippled/compare/2.0.0-b1...2.0.0-b2

2.0.0-b1

7 months ago

This is a beta for the next release.

Highlights:

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 for the following reasons:

  • api_version 2 general availability
    • This api_version is not available yet (except in beta, requiring a configuration change), but it will be in the next release.
  • 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.
  • Lastly, many aspects of the code have been refactored and changed since the previous major version bump.

(Note that the replacement for getting and setting thread name (#4312) was reverted, so it is not in this release.)

What's Changed

New Contributors

Full Changelog: https://github.com/XRPLF/rippled/compare/1.12.0...2.0.0-b1

1.12.0

7 months ago

Version 1.12.0 of rippled, the reference server implementation of the XRP Ledger protocol, is now available. This release adds new features and bug fixes, and introduces these amendments:

  • AMM
  • Clawback
  • fixReducedOffersV1

AMM performance testing scripts are available at https://github.com/ripple/RX-Performance-Public.

Sign Up for Future Release Announcements

Action Required

Three new amendments are now open for voting according to the XRP Ledger's amendment process, which enables protocol changes following two weeks of >80% support from trusted validators.

If you operate an XRP Ledger server, upgrade to version 1.12.0 by September 20, 2023 to ensure service continuity. The exact time that protocol changes take effect depends on the voting decisions of the decentralized network.

Install / Upgrade

On supported platforms, see the instructions on installing or updating rippled.

The XRPL Foundation publishes portable binaries, which are drop-in replacements for the rippled daemon. See information and downloads for the portable binaries. This will work on most distributions, including Ubuntu 16.04, 18.04, 20.04, and 22.04; CentOS; and others. Please test and open issues on GitHub if there are problems.

Changelog

Amendments, New Features, and Changes

(These are changes which may impact or be useful to end users. For example, you may be able to update your code/workflow to take advantage of these changes.)

  • AMM: Introduces an automated market maker (AMM) protocol to the XRP Ledger's decentralized exchange, enabling you to trade assets without a counterparty. For more information about AMMs, see: Automated Market Maker. #4294

  • Clawback (XLS-39): Adds a setting, Allow Clawback, which lets an issuer recover, or claw back, tokens that they previously issued. Issuers cannot enable this setting if they have issued tokens already. For additional documentation on this feature, see: #4553.

  • fixReducedOffersV1: Reduces the occurrence of order books that are blocked by reduced offers. #4512

  • Added WebSocket and RPC port info to server_info responses. #4427

  • Removed the deprecated accepted, seqNum, hash, and totalCoins fields from the ledger method. #4244

Bug Fixes and Performance Improvements

(These are behind-the-scenes improvements, such as internal changes to the code, which are not expected to impact end users.)

  • Added a pre-commit hook that runs the clang-format linter locally before committing changes. To install this feature, see: CONTRIBUTING. #4599

  • In order to make it more straightforward to catch and handle overflows: changed the output type of the mulDiv() function from std::pair<bool, uint64_t> to std::optional. #4243

  • Updated Handler::Condition enum values to make the code less brittle. #4239

  • Renamed ServerHandlerImp to ServerHandler. #4516, #4592

  • Replaced hand-rolled code with std::from_chars for better maintainability. #4473

  • Removed an unused TypedField move constructor. #4567

Docs and Build System

  • Updated checkout versions to resolve warnings during GitHub jobs. #4598

  • Fixed an issue with the Debian package build. #4591

  • Updated build instructions with additional steps to take after updating dependencies. #4623

  • Updated contributing doc to clarify that beta releases should also be pushed to the release branch. #4589

  • Enabled the BETA_RPC_API flag in the default unit tests config, making the API v2 (beta) available to unit tests. #4573

  • Conan dependency management.

    • Fixed package definitions for Conan. #4485
    • Updated build dependencies to the most recent versions in Conan Center. #4595
    • Updated Conan recipe for NuDB. #4615
  • Added binary hardening and linker flags to enhance security during the build process. #4603

  • Added an Artifactory to the nix workflow to improve build times. #4556

  • Added quality-of-life improvements to workflows, using new concurrency control features. #4597

Full Commit Log

GitHub

The public source code repository for rippled is hosted on GitHub at https://github.com/XRPLF/rippled.

We welcome all contributions and invite everyone to join the community of XRP Ledger developers to help build the Internet of Value.

Credits

The following people contributed directly to this release:

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]

1.12.0-b2

8 months ago

What's Changed

This release makes a breaking change to the Clawback amendment, and introduces a new amendment called AMM.

New Contributors

Full Changelog: https://github.com/XRPLF/rippled/compare/1.12.0-b1...1.12.0-b2

PR: https://github.com/XRPLF/rippled/pull/4627