|
5 | 5 | 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 |
6 | 6 |
|
7 | 7 | Have new ideas? Need help with setting up your node? [Please open an issue here](https://github.com/xrplf/rippled/issues/new/choose). |
| 8 | +## Full Changelog |
| 9 | + |
| 10 | +### Amendments |
| 11 | + |
| 12 | +The following amendments are open for voting with this release: |
| 13 | + |
| 14 | +- **DynamicNFT (XLS-46)** - Adds the ability to mint mutable `NFToken` objects whose URI can be changed. ([#5048](https://github.com/XRPLF/rippled/pull/5048)) |
| 15 | +- **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](https://github.com/XRPLF/rippled/pull/5161)) |
| 16 | +- **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](https://github.com/XRPLF/rippled/pull/5187)) |
| 17 | +- **fixFrozenLPTokenTransfer** - Prohibits the transfer of LP tokens when the associated liquidity pool contains at least one frozen asset. ([#5227](https://github.com/XRPLF/rippled/pull/5227)) |
| 18 | +- **fixInvalidTxFlags** - Adds transaction flag checking for `CredentialCreate`, `CredentialAccept`, and `CredentialDelete` transactions. ([#5250](https://github.com/XRPLF/rippled/pull/5250)) |
| 19 | + |
| 20 | + |
| 21 | +### New Features |
| 22 | + |
| 23 | +- Added a new `simulate` API method to execute dry runs of transactions and see the simulated metadata. ([#5069](https://github.com/XRPLF/rippled/pull/5069), [#5265](https://github.com/XRPLF/rippled/pull/5265)) |
| 24 | +- Added the ability to specify MPTs when defining assets in transactions. ([#5200](https://github.com/XRPLF/rippled/pull/5200)) |
| 25 | +- Added a `state` alias for `ripple_state` in the `ledger_entry` API method. Also refactored `LedgerEntry.cpp` to make it easier to read. ([#5199](https://github.com/XRPLF/rippled/pull/5199)) |
| 26 | +- Improved UNL security by enabling validators to set a minimum number of UNL publishers to agree on validators. ([#5112](https://github.com/XRPLF/rippled/pull/5112)) |
| 27 | +- Updated the XRPL Foundation UNL keys. ([#5289](https://github.com/XRPLF/rippled/pull/5289)) |
| 28 | +- Added a new XRPL Foundation subdomain to enable a staged migration without modifying the key for the current UNL list. ([#5326](https://github.com/XRPLF/rippled/pull/5326)) |
| 29 | +- Added support to filter ledger entry types by their canonical names in the `ledger`, `ledger_data`, and `account_objects` API methods. ([#5271](https://github.com/XRPLF/rippled/pull/5271)) |
| 30 | +- Added detailed logging for each validation and proposal received from the network. ([#5291](https://github.com/XRPLF/rippled/pull/5291)) |
| 31 | +- Improved git commit hash lookups when checking the version of a `rippled` debug build. Also added git commit hash info when using the `server_info` API method on an admin connection. ([#5225](https://github.com/XRPLF/rippled/pull/5225)) |
| 32 | + |
| 33 | + |
| 34 | +### Bug fixes |
| 35 | + |
| 36 | +- Fixed an issue with overlapping data types in the `Expected` class. ([#5218](https://github.com/XRPLF/rippled/pull/5218)) |
| 37 | +- Fixed an issue that prevented `rippled` from building on Windows with VS2022. ([#5197](https://github.com/XRPLF/rippled/pull/5197)) |
| 38 | +- Fixed `server_definitions` prefixes. ([#5231](https://github.com/XRPLF/rippled/pull/5231)) |
| 39 | +- Added missing dependency installations for generic MasOS runners. ([#5233](https://github.com/XRPLF/rippled/pull/5233)) |
| 40 | +- Updated deprecated Github actions. ([#5241](https://github.com/XRPLF/rippled/pull/5241)) |
| 41 | +- Fixed a failing assert scenario when submitting the `connect` admin RPC. ([#5235](https://github.com/XRPLF/rippled/pull/5235)) |
| 42 | +- Fixed the levelization script to ignore single-line comments during dependency analysis. ([#5194](https://github.com/XRPLF/rippled/pull/5194)) |
| 43 | +- Fixed the assert name used in `PermissionedDomainDelete`. ([#5245](https://github.com/XRPLF/rippled/pull/5245)) |
| 44 | +- Fixed macOS unit tests. ([#5196](https://github.com/XRPLF/rippled/pull/5196)) |
| 45 | +- Fixed an issue with validators not accurately reflecting amendment votes. Also added debug logging of amendment votes. ([#5173](https://github.com/XRPLF/rippled/pull/5173), [#5312](https://github.com/XRPLF/rippled/pull/5312)) |
| 46 | +- Fixed a potential issue with double-charging fees. ([#5269](https://github.com/XRPLF/rippled/pull/5269)) |
| 47 | +- Removed the `new parent hash` assert and replaced it with a log message. ([#5313](https://github.com/XRPLF/rippled/pull/5313)) |
| 48 | +- Fixed an issue that prevented previously-failed inbound ledgers to not be acquired if a new trusted proposal arrived. ([#5318](https://github.com/XRPLF/rippled/pull/5318)) |
| 49 | + |
| 50 | + |
| 51 | +### Other Improvements |
| 52 | + |
| 53 | +- Added unit tests for `AccountID` handling. ([#5174](https://github.com/XRPLF/rippled/pull/5174)) |
| 54 | +- Added enforced levelization in `libxrpl` with CMake. ([#5199](https://github.com/XRPLF/rippled/pull/5111)) |
| 55 | +- Updated `libxrpl` and all submodules to use the same compiler options. ([#5228](https://github.com/XRPLF/rippled/pull/5228)) |
| 56 | +- Added Antithesis instrumentation. ([#5042](https://github.com/XRPLF/rippled/pull/5042), [#5213](https://github.com/XRPLF/rippled/pull/5213)) |
| 57 | +- Added `rpcName` to the `LEDGER_ENTRY` macro to help prevent future bugs. ([#5202](https://github.com/XRPLF/rippled/pull/5202)) |
| 58 | +- 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`, and `develop`. ([#5215](https://github.com/XRPLF/rippled/pull/5215)) |
| 59 | +- Added unit tests to check for caching issues fixed in `rippled 2.3.0`. ([#5242](https://github.com/XRPLF/rippled/pull/5242)) |
| 60 | +- Cleaned up the API changelog. ([#5207](https://github.com/XRPLF/rippled/pull/5207)) |
| 61 | +- Improved logs readability. ([#5251](https://github.com/XRPLF/rippled/pull/5251)) |
| 62 | +- Updated Visual Studio CI to VS 2022, and added VS Debug builds. ([#5240](https://github.com/XRPLF/rippled/pull/5240)) |
| 63 | +- Updated the `secp256k1` library to version 0.6.0. ([#5254](https://github.com/XRPLF/rippled/pull/5254)) |
| 64 | +- Changed the `[port_peer]` parameter in `rippled` example config back to `51235`; also added the recommendation to use the default port of `2459` for new deployments. ([#5290](https://github.com/XRPLF/rippled/pull/5290), [#5299](https://github.com/XRPLF/rippled/pull/5299)) |
| 65 | +- Improved CI management. ([#5268](https://github.com/XRPLF/rippled/pull/5268)) |
| 66 | +- Updated the git commit message rules for contributors. ([#5283](https://github.com/XRPLF/rippled/pull/5283)) |
| 67 | +- Fixed unnecessary `setCurrentThreadName` calls. ([#5280](https://github.com/XRPLF/rippled/pull/5280)) |
| 68 | +- Added a check to prevent permissioned domains from being created in the event the Permissioned Domains amendement is enabled before the Credentials amendement. ([#5275](https://github.com/XRPLF/rippled/pull/5275)) |
| 69 | +- Updated Conan dependencies. ([#5256](https://github.com/XRPLF/rippled/pull/5256)) |
| 70 | +- Fixed minor typos in code comments. ([#5279](https://github.com/XRPLF/rippled/pull/5279)) |
| 71 | +- Fixed incorrect build instructions. ([#5274](https://github.com/XRPLF/rippled/pull/5274)) |
| 72 | +- Refactored `rotateWithLock()` to not hold a lock during callbacks. ([#5276](https://github.com/XRPLF/rippled/pull/5276)) |
| 73 | +- Cleaned up debug logging by combining multiple data points into a single message. ([#5302](https://github.com/XRPLF/rippled/pull/5302)) |
| 74 | +- Updated build flags to fix performance regressions. ([#5325](https://github.com/XRPLF/rippled/pull/5325)) |
| 75 | + |
| 76 | + |
| 77 | +## Credits |
| 78 | + |
| 79 | +The following people contributed directly to this release: |
| 80 | + |
| 81 | +- Aanchal Malhotra <amalhotra@ripple.com> |
| 82 | +- Bart Thomee <11445373+bthomee@users.noreply.github.com> |
| 83 | +- Bronek Kozicki <brok@incorrekt.com> |
| 84 | +- code0xff <ian.jungyong.um@gmail.com> |
| 85 | +- Darius Tumas <tokeiito@tokeiito.eu> |
| 86 | +- David Fuelling <fuelling@ripple.com> |
| 87 | +- Donovan Hide <donovanhide@gmail.com> |
| 88 | +- Ed Hennis <ed@ripple.com> |
| 89 | +- Elliot Lee <github.public@intelliot.com> |
| 90 | +- Javier Romero <jromero@ripple.com> |
| 91 | +- Kenny Lei <klei@ripple.com> |
| 92 | +- Mark Travis <7728157+mtrippled@users.noreply.github.com> |
| 93 | +- Mayukha Vadari <mvadari@gmail.com> |
| 94 | +- Michael Legleux <mlegleux@ripple.com> |
| 95 | +- Oleksandr <115580134+oleks-rip@users.noreply.github.com> |
| 96 | +- Qi Zhao <qzhao@ripple.com> |
| 97 | +- Ramkumar Srirengaram Gunasegharan <rgunasegharan@ripple.com> |
| 98 | +- Shae Wang <swang@ripple.com> |
| 99 | +- Shawn Xie <shawnxie920@gmail.com> |
| 100 | +- Sophia Xie <sxie@ripple.com> |
| 101 | +- Vijay Khanna Raviraj <vraviraj@ripple.com> |
| 102 | +- Vladislav Vysokikh <vvysokikh@gmail.com> |
| 103 | +- Xun Zhao <xzhao@ripple.com> |
| 104 | + |
| 105 | +## Bug Bounties and Responsible Disclosures |
| 106 | + |
| 107 | +We welcome reviews of the `rippled` code and urge researchers to responsibly disclose any issues they may find. |
| 108 | + |
| 109 | +To report a bug, please send a detailed report to: <bugs@xrpl.org> |
8 | 110 |
|
9 | 111 | # Version 2.3.1 |
10 | 112 |
|
|
0 commit comments