Skip to content

Releases: XRPLF/rippled

rippled (XRP Ledger server) Version 2.0.0-b2 (beta)

25 Sep 21:59
2c56d9f
Compare
Choose a tag to compare

This is a beta for the next release.

Highlights:

  • APIv2(gateway_balances, channel_authorize): update errors (#4618)
  • Accept all valid currency codes in API (#4566)

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

  • @ForwardSlashBack made their first contribution in #4718
  • @Bronek made their first contribution in #4722

Full Changelog: 2.0.0-b1...2.0.0-b2

rippled (XRP Ledger server) Version 2.0.0-b1 (beta)

15 Sep 21:19
046d0c2
Compare
Choose a tag to compare

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: 1.12.0...2.0.0-b1

rippled (XRP Ledger server) Version 1.12.0

06 Sep 21:51
89780c8
Compare
Choose a tag to compare

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]

rippled (XRP Ledger server) Version 1.12.0-b2 (beta)

15 Aug 21:51
01df19c
Compare
Choose a tag to compare

What's Changed

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

New Contributors

Full Changelog: 1.12.0-b1...1.12.0-b2

PR: #4627

rippled (XRP Ledger server) Version 1.12.0-b1 (beta)

15 Aug 21:50
beba871
Compare
Choose a tag to compare

What's Changed

This release introduces two new amendments: fixReducedOffersV1 and Clawback.

Full Changelog: 1.11.0...1.12.0-b1

PR: #4586

rippled (XRP Ledger server) Version 1.11.0

21 Jun 00:03
264280e
Compare
Choose a tag to compare

Version 1.11.0 of rippled, the reference server implementation of the XRP Ledger protocol, is now available.

This release reduces memory usage, introduces the fixNFTokenRemint amendment, and adds new features and bug fixes. For example, the new NetworkID field in transactions helps to prevent replay attacks with side-chains.

Sign Up for Future Release Announcements

Action Required

The fixNFTokenRemint amendment is 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.11.0 by July 5 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.

What's Changed

New Features and Improvements

  • Allow port numbers be be specified using a either a colon or a space by @RichardAH in #4328
  • Eliminate memory allocation from critical path: by @nbougalis in #4353
  • Make it easy for projects to depend on libxrpl by @thejohnfreeman in #4449
  • Add the ability to mark amendments as obsolete by @ximinez in #4291
  • Always create the FeeSettings object in genesis ledger by @ximinez in #4319
  • Log exception messages in several locations by @drlongle in #4400
  • Parse flags in account_info method by @drlongle in #4459
  • Add NFTokenPages to account_objects RPC by @RichardAH in #4352
  • add jss fields used by clio nft_info by @ledhed2222 in #4320
  • Introduce a slab-based memory allocator and optimize SHAMapItem by @nbougalis in #4218
  • Add NetworkID field to transactions to help prevent replay attacks on and from side-chains by @RichardAH in #4370
  • If present, set quorum based on command line. by @mtrippled in #4489
  • API does not accept seed or public key for account by @drlongle in #4404
  • Add nftoken_id, nftoken_ids and offer_id meta fields into NFT Tx responses by @shawnxie999 in #4447

Bug Fixes

Code Cleanup and Testing

Docs

New Contributors

Full Changelog: 1.10.1...1.11.0

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:

rippled (XRP Ledger server) Version 1.10.1

22 Mar 18:26
4f50659
Compare
Choose a tag to compare

Version 1.10.1 of rippled, the reference server implementation of the XRP Ledger protocol, is now available. This release restores packages for Ubuntu 18.04.

Compared to version 1.10.0, the only C++ code change fixes an edge case in Reporting Mode.

If you are already running version 1.10.0, then upgrading to version 1.10.1 is generally not required.

Sign Up for Future Release Announcements

Install / Upgrade

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

Changelog

  • da18c86cbf Build packages with Ubuntu 18.04
  • f7b3ddd87b Reporting Mode: Do not attempt to acquire missing data from peer network (#4458)

Full Changelog: 1.10.0...1.10.1

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:

rippled (XRP Ledger server) Version 1.10.0

14 Mar 18:20
07f047b
Compare
Choose a tag to compare

Version 1.10.0 of rippled, the reference server implementation of the XRP Ledger protocol, is now available. This release introduces six new amendments, detailed below, and cleans up code to improve performance.

Sign Up for Future Release Announcements

Action Required

Six 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.10.0 by March 21 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.

New Amendments

  • featureImmediateOfferKilled: Changes the response code of an OfferCreate transaction with the tfImmediateOrCancel flag to return tecKILLED when no funds are moved. The previous return code of tecSUCCESS was unintuitive. #4157

  • featureDisallowIncoming: Enables an account to block incoming checks, payment channels, NFToken offers, and trust lines. #4336

  • featureXRPFees: Simplifies transaction cost calculations to use XRP directly, rather than calculating indirectly in "fee units" and translating the results to XRP. Updates all instances of "fee units" in the protocol and ledger data to be drops of XRP instead. #4247

    • BREAKING CHANGE: If this amendment is enabled, the fee_ref field will be removed from the Ledger subscription stream, as it will no longer be relevant.
  • fixUniversalNumber: Simplifies and unifies the code for decimal floating point math. In some cases, this provides slightly better accuracy than the previous code, resulting in calculations whose least significant digits are different than when calculated with the previous code. The different results may cause other edge case differences where precise calculations are used, such as ranking of offers or processing of payments that use several different paths. #4192

  • fixNonFungibleTokensV1_2: This amendment is a combination of NFToken fixes. #4417

    • Fixes unburnable NFTokens when it has over 500 offers. #4346
    • Fixes 3 NFToken offer acceptance issues. #4380
    • Prevents brokered sales of NFTokens to owners. #4403
    • Only allows the destination to settle NFToken offers through brokerage. #4399
  • fixTrustLinesToSelf: Trust lines must be between two different accounts, but two exceptions exist because of a bug that briefly existed. This amendment removes those trust lines. 69bb2be

Changelog

New Features and Improvements

  • Improve Handshake in the peer protocol: Switched to using a cryptographically secure PRNG for the Instance Cookie. rippled now uses hex encoding for the Closed-Ledger and Previous-Ledger fields in the Handshake. Also added --newnodeid and --nodeid command line options. 5a15229

  • RPC tooBusy response now has 503 HTTP status code: Added ripplerpc 3.0, enabling RPC tooBusy responses to return relevant HTTP status codes. This is a non-breaking change that only applies to JSON-RPC when you include "ripplerpc": "3.0" in the request. #4143

  • Use the Conan package manager: Added a conanfile.py and Conan recipe for Snappy. Removed the RocksDB recipe from the repo; you can now get it from Conan Center. #4367, c2b03fe

  • Update Build Instructions: Updated the build instructions to build with the Conan package manager and restructured info for easier comprehension. #4376, #4383

  • Revise CONTRIBUTING: Updated code contribution guidelines. rippled is an open source project and contributions are very welcome. #4382

  • Update documented pathfinding configuration defaults: 417cfc2 changed the default Path Finding configuration values, but missed updating the values documented in rippled-example.cfg. Updated those defaults and added recommended values for nodes that want to support advanced pathfinding. #4409

  • Remove gRPC code previously used for the Xpring SDK: Removed gRPC code used for the Xpring SDK. The gRPC API is also enabled locally by default in rippled-example.cfg. This API is used for Reporting Mode and Clio. 28f4cc7

  • Switch from C++17 to C++20: Updated rippled to use C++20. 92d35e5

  • Support for Boost 1.80.0:: 04ef885

  • Reduce default reserves to 10/2: Updated the hard-coded default reserves to match the current settings on Mainnet. #4329

  • Improve self-signed certificate generation: Improved speed and security of TLS certificate generation on fresh startup. 0ecfc7c

Bug Fixes

  • Update command-line usage help message: Added manifest and validator_info to the rippled CLI usage statement. b88ed5a

  • Work around gdb bug by changing a template parameter: Added a workaround for a bug in gdb, where unsigned template parameters caused issues with RTTI. #4332

  • Fix clang 15 warnings: #4325

  • Catch transaction deserialization error in doLedgerGrpc: Fixed an issue in the gRPC API, so Clio can extract ledger headers and state objects from specific transactions that can't be deserialized by rippled code. #4323

  • Update dependency: gRPC: New Conan recipes broke the old version of gRPC, so the dependency was updated. #4407

  • Fix Doxygen workflow: Added options to build documentation that don't depend on the library dependencies of rippled. #4372

  • Don't try to read SLE with key 0 from the ledger: Fixed the preclaim function to check for 0 in NFTokenSellOffer and NFTokenBuyOffer before calling Ledger::read. This issue only affected debug builds. #4351

  • Update broken link to hosted Doxygen content: 5e1cb09

Code Cleanup

  • Prevent unnecessary shared_ptr copies by accepting a value in SHAMapInnerNode::setChild: #4266

  • Release TaggedCache object memory outside the lock: 3726f8b

  • Rename SHAMapStoreImp::stopping() to healthWait(): 7e9e910

  • Improve wrapper around OpenSSL RAND: 7b3507b

  • Improve AccountID string conversion caching: Improved memory cache usage. e2eed96

  • Build the command map at compile time: 9aaa0df

  • Avoid unnecessary copying and dynamic memory allocations: d318ab6

  • Use constexpr to check memo validity: e67f905

  • Remove charUnHex: 83ac141

  • Remove deprecated AccountTxOld.cpp: ce64f7a

  • Remove const_cast usage: 23ce431

  • Remove inaccessible code paths and outdated data format wchar_t: 95fabd5

  • Improve move semantics in Expected: #4326

GitHub

The public source code repository for...

Read more

rippled (XRP Ledger server) Version 1.10.0-rc4

03 Mar 06:45
8687b5c
Compare
Choose a tag to compare

Version 1.10.0-rc4 (release candidate) of rippled, the reference implementation of the XRP Ledger protocol is now available. The 1.10.0 release line introduces six new amendments:

  • fixTrustLinesToSelf
  • featureImmediateOfferKilled
  • featureDisallowIncoming
  • featureXRPFees
  • fixUniversalNumber
  • fixNonFungibleTokensV1_2

Information about these amendments can be found on Known Amendments.

rippled (XRP Ledger server) Version 1.9.4

21 Sep 19:31
ba3c0e5
Compare
Choose a tag to compare

Version 1.9.4 of rippled, the reference implementation of the XRP Ledger protocol is now available. This release introduces an amendment that removes the ability for an NFT issuer to indicate that trust lines should be automatically created for royalty payments from secondary sales of NFTs, in response to a bug report that indicated how this functionality could be abused to mount a denial of service attack against the issuer.

Action Required

This release introduces a new amendment to the XRP Ledger protocol, fixRemoveNFTokenAutoTrustLine to mitigate a potential denial-of-service attack against NFT issuers that minted NFTs and allowed secondary trading of those NFTs to create trust lines for any asset.

This amendment is 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, then you should upgrade to version 1.9.4 within two weeks, to ensure service continuity. The exact time that protocol changes take effect depends on the voting decisions of the decentralized network.

For more information about NFTs on the XRP Ledger, see NFT Conceptual Overview.

Install / Upgrade

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

Changelog

Contributions

The primary change in this release is the following bug fix:

  • Introduce fixRemoveNFTokenAutoTrustLine amendment: Introduces the fixRemoveNFTokenAutoTrustLine amendment, which disables the tfTrustLine flag, which a malicious attacker could exploit to mount denial-of-service attacks against NFT issuers that specified the flag on their NFTs. (#4301)

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 and help us build the Internet of Value.

Credits

The following people contributed directly to this release: