Release Notes
This document contains the release notes for rippled
, the reference server implementation of the XRP Ledger protocol. To learn more about how to build, run or update a rippled
server, visit https://xrpl.org/install-rippled.html
Have new ideas? Need help with setting up your node? Please open an issue here.
Full Changelog
Amendments
The following amendments are open for voting with this release:
- DynamicNFT (XLS-46) - Adds the ability to mint mutable
NFToken
objects 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
, andCredentialDelete
transactions. (#5250)
New Features
- Added a new
simulate
API 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
state
alias forripple_state
in theledger_entry
API method. Also refactoredLedgerEntry.cpp
to 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_objects
API 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
rippled
debug build. Also added git commit hash info when using theserver_info
API method on an admin connection. (#5225)
Bug fixes
- Fixed an issue with overlapping data types in the
Expected
class. (#5218) - Fixed an issue that prevented
rippled
from building on Windows with VS2022. (#5197) - Fixed
server_definitions
prefixes. (#5231) - Added missing dependency installations for generic MasOS runners. (#5233)
- Updated deprecated Github actions. (#5241)
- Fixed a failing assert scenario when submitting the
connect
admin 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 hash
assert 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
AccountID
handling. (#5174) - Added enforced levelization in
libxrpl
with CMake. (#5199) - Updated
libxrpl
and all submodules to use the same compiler options. (#5228) - Added Antithesis instrumentation. (#5042, #5213)
- Added
rpcName
to theLEDGER_ENTRY
macro 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
secp256k1
library to version 0.6.0. (#5254) - Changed the
[port_peer]
parameter inrippled
example config back to51235
; also added the recommendation to use the default port of2459
for new deployments. (#5290, #5299) - Improved CI management. (#5268)
- Updated the git commit message rules for contributors. (#5283)
- Fixed unnecessary
setCurrentThreadName
calls. (#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
Full Changelog: 2.3.1...2.4.0