12 KiB
category, date, template, seo, labels, markdown
| category | date | template | seo | labels | markdown | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | 2025-03-06 | ../../@theme/templates/blogpost |
|
|
|
Introducing XRP Ledger version 2.4.0
Version 2.4.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:
PermissionedDomainsDeepFreezeDynamicNFTfixFrozenLPTokenTransferfixInvalidTxFlags
Notable Updates: New Public Key Provided by the new XRPL Foundation
Following the recent announcement regarding the move to the new XRPL Foundation, the XRPL Foundation members have been working diligently to facilitate a smooth transition of the Unique Node List (UNL) from the old XRPL Foundation to the new XRPL Foundation.
There are two key goals driving this transition:
- Ensure continued network participation and avoid potential downtime.
- Allow for a staged migration with minimal impact on validators and node operators.
Keeping these goals in mind, a new subdomain, unl.xrplf.org, has been introduced alongside the existing list at vl.xrplf.org. This approach allows for a staged migration without modifying the key for the current UNL list. Eventually, vl.xrplf.org will be fully deprecated and replaced by unl.xrplf.org.
In rippled release 2.4.0, the validators-example.txt file has been updated to include the new public key published by the new XRPL Foundation.
Further information on the transition will be shared by the XRPL Foundation in the near future.
Action Required
If you run an XRP Ledger server, upgrade to version 2.4.0 as soon as possible to ensure service continuity.
Additionally, 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. 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) | f87f44005b84b35606413313f7414bfdf2bf09f01ce88bfe9fafc3ff75fd5199 |
| DEB for Ubuntu / Debian (x86-64) | a3df84ba3d21f7182a57c8ca11fb2fbd1707e5cf53112822e60aa89886d943ad |
For other platforms, please build from source. The most recent commit in the git log should be the change setting the version:
commit 2216e5a13f306d01baf34ef3a48966ecaf908ad6
Author: Michael Legleux <mlegleux@ripple.com>
Date: Wed Mar 5 11:48:16 2025 -0800
Set version to 2.4.0
Full Changelog
Amendments
The following amendments are open for voting with this release:
- DynamicNFT (XLS-46) - Adds the ability to mint mutable
NFTokenobjects whose URI can be changed. (#5048) - PermissionedDomains (XLS-80) - Adds Permissioned Domains, which act as part of broader systems on the XRP Ledger to restrict access to satisfy compliance rules. (#5161)
- DeepFreeze (XLS-77) - Adds the ability to deep freeze trust lines, enabling token issuers to block the transfer of assets for holders who have been deep frozen. (#5187)
- fixFrozenLPTokenTransfer - Prohibits the transfer of LP tokens when the associated liquidity pool contains at least one frozen asset. (#5227)
- fixInvalidTxFlags - Adds transaction flag checking for
CredentialCreate,CredentialAccept, andCredentialDeletetransactions. (#5250)
New Features
- Added a new
simulateAPI method to execute dry runs of transactions and see the simulated metadata. (#5069, #5265) - Added the ability to specify MPTs when defining assets in transactions. (#5200)
- Added a
statealias forripple_statein theledger_entryAPI method. Also refactoredLedgerEntry.cppto make it easier to read. (#5199) - Improved UNL security by enabling validators to set a minimum number of UNL publishers to agree on validators. (#5112)
- Updated the XRPL Foundation UNL keys. (#5289)
- Added a new XRPL Foundation subdomain to enable a staged migration without modifying the key for the current UNL list. (#5326)
- Added support to filter ledger entry types by their canonical names in the
ledger,ledger_data, andaccount_objectsAPI methods. (#5271) - Added detailed logging for each validation and proposal received from the network. (#5291)
- Improved git commit hash lookups when checking the version of a
rippleddebug build. Also added git commit hash info when using theserver_infoAPI method on an admin connection. (#5225)
Bug fixes
- Fixed an issue with overlapping data types in the
Expectedclass. (#5218) - Fixed an issue that prevented
rippledfrom building on Windows with VS2022. (#5197) - Fixed
server_definitionsprefixes. (#5231) - Added missing dependency installations for generic MasOS runners. (#5233)
- Updated deprecated Github actions. (#5241)
- Fixed a failing assert scenario when submitting the
connectadmin RPC. (#5235) - Fixed the levelization script to ignore single-line comments during dependency analysis. (#5194)
- Fixed the assert name used in
PermissionedDomainDelete. (#5245) - Fixed MacOS unit tests. (#5196)
- Fixed an issue with validators not accurately reflecting amendment votes. Also added debug logging of amendment votes. (#5173, #5312)
- Fixed a potential issue with double-charging fees. (#5269)
- Removed the
new parent hashassert and replaced it with a log message. (#5313) - Fixed an issue that prevented previously-failed inbound ledgers to not be acquired if a new trusted proposal arrived. (#5318)
Other Improvements
- Added unit tests for
AccountIDhandling. (#5174) - Added enforced levelization in
libxrplwith CMake. (#5199) - Updated
libxrpland all submodules to use the same compiler options. (#5228) - Added Antithesis instrumentation. (#5042, #5213)
- Added
rpcNameto theLEDGER_ENTRYmacro to help prevent future bugs. (#5202) - Updated the contribution guidelines to introduce a new workflow that avoids code freezes. Also added scripts that can be used by maintainers in branch management, and a CI job to check that code is consistent across the three main branches:
master,release, anddevelop. (#5215) - Added unit tests to check for caching issues fixed in
rippled 2.3.0. (#5242) - Cleaned up the API changelog. (#5207)
- Improved logs readability. (#5251)
- Updated Visual Studio CI to VS 2022, and added VS Debug builds. (#5240)
- Updated the
secp256k1library to version 0.6.0. (#5254) - Changed the
[port_peer]parameter inrippledexample config back to51235; also added the recommendation to use the default port of2459for new deployments. (#5290, #5299) - Improved CI management. (#5268)
- Updated the git commit message rules for contributors. (#5283)
- Fixed unnecessary
setCurrentThreadNamecalls. (#5280) - Added a check to prevent permissioned domains from being created in the event the Permissioned Domains amendement is enabled before the Credentials amendement. (#5275)
- Updated Conan dependencies. (#5256)
- Fixed minor typos in code comments. (#5279)
- Fixed incorrect build instructions. (#5274)
- Refactored
rotateWithLock()to not hold a lock during callbacks. (#5276) - Cleaned up debug logging by combining multiple data points into a single message. (#5302)
- Updated build flags to fix performance regressions. (#5325)
Credits
The following people contributed directly to this release:
- Aanchal Malhotra amalhotra@ripple.com
- Bart Thomee 11445373+bthomee@users.noreply.github.com
- Bronek Kozicki brok@incorrekt.com
- code0xff ian.jungyong.um@gmail.com
- Darius Tumas tokeiito@tokeiito.eu
- David Fuelling fuelling@ripple.com
- Donovan Hide donovanhide@gmail.com
- Ed Hennis ed@ripple.com
- Elliot Lee github.public@intelliot.com
- Javier Romero jromero@ripple.com
- Kenny Lei klei@ripple.com
- Mark Travis 7728157+mtrippled@users.noreply.github.com
- Mayukha Vadari mvadari@gmail.com
- Michael Legleux mlegleux@ripple.com
- Oleksandr 115580134+oleks-rip@users.noreply.github.com
- Qi Zhao qzhao@ripple.com
- Ramkumar Srirengaram Gunasegharan rgunasegharan@ripple.com
- Shae Wang swang@ripple.com
- Shawn Xie shawnxie920@gmail.com
- Sophia Xie sxie@ripple.com
- Vijay Khanna Raviraj vraviraj@ripple.com
- Vladislav Vysokikh vvysokikh@gmail.com
- Xun Zhao xzhao@ripple.com
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: bugs@xrpl.org