Introducing XRP Ledger version 2.0.0
Version 2.0.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:
DID
XChainBridge
fixDisallowIncomingV1
fixFillOrKill
Sign Up for Future Release Announcements
Action Required
Four 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 2.0.0 by January 22, 2024 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
.
Package | SHA-256 |
---|---|
RPM for Red Hat / CentOS (x86-64) | 4f765d2f38c2b2ef4825fb715b1dfcbb8ecaef0063ef99005f54252c90a29cab |
DEB for Ubuntu / Debian (x86-64) | 69568c467a5291b441ce6f1385bd20cdfaf02e4496ca9043441fdb842d9975dc |
Portable Builds (Linux x86-64) | (Use signature verification) |
For other platforms, please build from source. The most recent commit in the git log should be the change setting the version:
commit 2b0313d60c4226cc98ad39fe8eb659deca48f32a Author: Elliot Lee <[email protected]> Date: Mon Jan 8 13:13:37 2024 -0800 Set version to 2.0.0
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.)
XChainBridge: Introduces cross-chain bridges, enabling interoperability between the XRP Ledger and sidechains. #4292
DID: Introduces decentralized identifiers. #4636
fixDisallowIncomingV1: Fixes an issue that occurs when users try to authorize a trustline while the
lsfDisallowIncomingTrustline
flag is enabled on their account. #4721fixFillOrKill: Fixes an issue introduced in the
flowCross
amendment. ThetfFillOrKill
andtfSell
flags are now properly handled to allow offers to cross in certain scenarios. #4694API v2 released with these changes:
- Bumped API support to v2, but kept the command-line interface for
rippled
and unit tests at v1. #4803 - Accepts currency codes in ASCII, using the full alphabet. #4566
- Added test to verify the
check
field is a string. #4630 - Added errors for malformed
account_tx
andnoripple_check
fields. #4620 - Added errors for malformed
gateway_balances
andchannel_authorize
requests. #4618 - Added a
DeliverMax
alias toAmount
and removedAmount
. #4733 - Removed
tx_history
andledger_header
methods. Also updatedRPC::Handler
to allow for version-specific methods. #4759 - Standardized the JSON serialization format of transactions. #4727
- Standardized
ledger_index
to return as a number. #4820
- Bumped API support to v2, but kept the command-line interface for
Added a
server_definitions
command that returns an SDK-compatibledefinitions.json
file, generated from therippled
instance currently running. #4703Improved unit test command line input and run times. #4634
Added the link compression setting to the the
rippled-example.cfg
file. #4753Changed the reserved hook error code name from
tecHOOK_ERROR
totecHOOK_REJECTED
. #4559
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.)
Simplified
TxFormats
common fields logic. #4637Improved transaction throughput by asynchronously writing batches to NuDB. #4503
Removed 2 unused functions. #4708
Removed an unused variable that caused clang 14 build errors. #4672
Fixed comment about return value of
LedgerHistory::fixIndex
. #4574Updated
secp256k1
to 0.3.2. #4653Removed built-in SNTP clock issues. #4628
Fixed amendment flapping. This issue usually occurred when an amendment was on the verge of gaining majority, but a validator not in favor of the amendment went offline. #4410
Fixed asan stack-use-after-scope issue. #4676
Transactions and pseudo-transactions share the same
commonFields
again. #4715Reduced boilerplate in
applySteps.cpp
. When a new transactor is added, only one function needs to be modified now. #4710Removed an incorrect assert. #4743
Replaced some asserts in
PeerFinder::Logic
withLogicError
to better indicate the nature of server crashes. #4562Fixed an issue with enabling new amendments on a network with an ID greater than 1024. #4737
Docs and Build System
Updated
rippled-example.cfg
docs to clarify usage of ssl_cert vs ssl_chain. #4667Updated
SECURITY.md
:Updated
BUILD.md
:Updated
RELEASENOTES.md
to match 1.12.0 release notes to the dev blog.Updated
API-CHANGELOG.md
:- Explained API v2 is releasing with
rippled
2.0.0. #4633 - Clarified the location of the
signer_lists
field in theaccount_info
response for API v2. #4724 - Added documentation for the new
DeliverMax
field. #4784 - Removed references to API v2 being "in progress" and "in beta". #4828
- Clarified that all breaking API changes will now occur in API v3 or later. #4773
- Explained API v2 is releasing with
Fixed a mistake in the overlay README. #4635
Fixed an early return from
RippledRelease.cmake
that prevented targets from being created during packaging. #4707Fixed a build error with Intel Macs. #4632
Added
.build
to.gitignore
. #4722Fixed a
uint is not universally defined
Windows build error. #4731Reenabled Windows CI build with Artifactory support. #4596
Fixed output of remote step in Nix workflow. #4746
Fixed a broken link in
conan.md
. #4740Added a
python
call to fix thepip
upgrade command in Windows CI. #4768Added an API Impact section to
pull_request_template.md
. #4757Set permissions for the Doxygen workflow. #4756
Switched to Unity builds to speed up Windows CI. #4780
Clarified what makes concensus healthy in
FeeEscalation.md
. #4729Removed a dependency on the
<ranges>
header for unit tests. #4788Fixed a clang
unused-but-set-variable
warning. #4677Removed an unused Dockerfile. #4791
Fixed unit tests to work with API v2. #4785
Added support for the mold linker on Linux. #4807
Updated Linux distribtuions
rippled
smoke tests run on. #4813Added codename
bookworm
to the distribution matrix during Artifactory uploads, enabling Debian 12 clients to installrippled
packages. #4836Added a workaround for compilation errors with GCC 13 and other compilers relying on libstdc++ version 13. #4817
Fixed a minor typo in the code comments of
AMMCreate.h
. 4821
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:
- Bronek Kozicki [email protected]
- Chenna Keshava B S [email protected]
- Denis Angell [email protected]
- Ed Hennis [email protected]
- Elliot Lee [email protected]
- Florent [email protected]
- ForwardSlashBack [email protected]
- Gregory Tsipenyuk [email protected]
- Howard Hinnant [email protected]
- Hussein Badakhchani [email protected]
- Jackson Mills [email protected]
- John Freeman [email protected]
- Manoj Doshi [email protected]
- Mark Pevec [email protected]
- Mark Travis [email protected]
- Mayukha Vadari [email protected]
- Michael Legleux [email protected]
- Nik Bougalis [email protected]
- Peter Chen [email protected]
- Rome Reginelli [email protected]
- Scott Determan [email protected]
- Scott Schurr [email protected]
- Sophia Xie [email protected]
- Stefan van Kessel [email protected]
- pwang200 [email protected]
- shichengsg002 [email protected]
- sokkaofthewatertribe [email protected]
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]