You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/2025/rippled-2.4.0.md
+62-17Lines changed: 62 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
category: 2025
3
-
date: 2025-03-03
3
+
date: 2025-03-05
4
4
seo:
5
5
title: Introducing XRP Ledger version 2.4.0
6
6
description: rippled version 2.4.0 is now available. This version introduces new features and stability fixes.
@@ -12,20 +12,40 @@ markdown:
12
12
---
13
13
# Introducing XRP Ledger version 2.4.0
14
14
15
-
Version 2.4.0 of `rippled`, the reference server implementation of the XRP Ledger protocol, is now available. This release includes 8 new amendments, including Multi-Purpose Tokens (MPTs), Credentials, Clawback support for AMMs, and the ability to make offers as part of minting NFTs. Additionally, this release includes important fixes for stability, so server operators are encouraged to upgrade as soon as possible.
15
+
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:
16
16
17
-
## Additional Announcement
17
+
-`PermissionedDomains`
18
+
-`DeepFreeze`
19
+
-`DynamicNFT`
20
+
-`fixFrozenLPTokenTransfer`
21
+
-`fixInvalidTxFlags`
22
+
23
+
24
+
## Notable Updates: New Public Key Provided by the new XRPL Foundation
25
+
26
+
Following the recent announcement regarding the [move to the new XRPL Foundation](./move-to-the-new-xrpl-foundation-commences.md), 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.
27
+
28
+
There are two key goals driving this transition:
29
+
- Ensure continued network participation and avoid potential downtime.
30
+
- Allow for a staged migration with minimal impact on validators and node operators.
31
+
32
+
Keeping these goals in mind, a new subdomain, **unl.xrplf.org**, has been introduced alongside the existing https://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.
33
+
34
+
In `rippled` release 2.4.0, the validators-example.txt has been updated to include the new public key published by the new XRPL Foundation.
35
+
36
+
Further information on the transition will be shared by the XRPL Foundation in the near future.
18
37
19
-
New UNL pub keys will be published on ...
20
38
21
39
## Action Required
22
40
23
-
If you run an XRP Ledger server, upgrade to version 2.3.0 as soon as possible to ensure service continuity.
41
+
If you run an XRP Ledger server, upgrade to version 2.4.0 as soon as possible to ensure service continuity.
24
42
25
43
Additionally, new amendments are now open for voting according to the XRP Ledger's [amendment process](../../docs/concepts/networks-and-servers/amendments.md), 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.
26
44
27
45
## Install / Upgrade
28
46
47
+
**TODO: Update package and SHA-256**
48
+
29
49
On supported platforms, see the [instructions on installing or updating `rippled`](../../docs/infrastructure/installation/index.md).
The following amendments are open for voting with this release:
53
73
54
74
55
-
-**XLS-46 DynamicNFT** - Adds the ability to update the URI of `NFToken` objects. ([#5048](https://github.com/XRPLF/rippled/pull/5048))**TODO: doc update `NFToken` object**
56
-
-**XLS-80 Permissioned Domains** - 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))**TODO: move docs from opensource**
57
-
-**XLS-77 Deep Freeze** - 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))**TODO: move docs from opensource**
75
+
-**XLS-46 DynamicNFT** - Adds the ability to update the URI of `NFToken` objects. ([#5048](https://github.com/XRPLF/rippled/pull/5048))
76
+
-**XLS-80 Permissioned Domains** - 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))
77
+
-**XLS-77 Deep Freeze** - 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))
58
78
-**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))
59
79
-**fixInvalidTxFlags** - Adds transaction flag checking for `CredentialCreate`, `CredentialAccept`, and `CredentialDelete` transactions. ([#5250](https://github.com/XRPLF/rippled/pull/5250))
60
80
61
81
62
82
### New Features
63
83
84
+
- 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))
64
85
- Added the ability to specify MPTs when defining assets in transactions. ([#5200](https://github.com/XRPLF/rippled/pull/5200))
65
86
- Refactored `LedgerEntry.cpp` to make it easier to read. Also added a `state` alias for `ripple_state` in the `ledger_entry` API method. ([#5199](https://github.com/XRPLF/rippled/pull/5199))
66
87
- 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))
67
-
- 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))
68
88
- Updated the XRPL Foundation UNL keys. ([#5289](https://github.com/XRPLF/rippled/pull/5289))
89
+
- 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))
69
90
- 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))
70
91
- Added detailed logging for each validation and proposal received from the network. ([#5291](https://github.com/XRPLF/rippled/pull/5291))
71
92
- 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))
@@ -82,8 +103,11 @@ The following amendments are open for voting with this release:
82
103
- Fixed the levelization script to ignore single-line comments during dependency analysis. ([#5194](https://github.com/XRPLF/rippled/pull/5194))
83
104
- Fixed the assert name used in `PermissionedDomainDelete`. ([#5245](https://github.com/XRPLF/rippled/pull/5245))
84
105
- Fixed MacOS unit tests. ([#5196](https://github.com/XRPLF/rippled/pull/5196))
85
-
- 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))
106
+
- 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))
86
107
- Fixed a potential issue with double-charging fees. ([#5269](https://github.com/XRPLF/rippled/pull/5269))
108
+
- Removed the `new parent hash` assert and replaced it with a log message. ([#5313](https://github.com/XRPLF/rippled/pull/5313))
109
+
- 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))
110
+
87
111
88
112
### Other Improvements
89
113
@@ -98,25 +122,46 @@ The following amendments are open for voting with this release:
- Updated Visual Studio CI to VS 2022, and added VS Debug builds. ([#5240](https://github.com/XRPLF/rippled/pull/5240))
100
124
- Updated the `secp256k1` library to version 0.6.0. ([#5254](https://github.com/XRPLF/rippled/pull/5254))
101
-
- 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. ([#5299](https://github.com/XRPLF/rippled/pull/5299))
125
+
- 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))
102
126
- Improved CI management. ([#5268](https://github.com/XRPLF/rippled/pull/5268))
103
127
- Updated the git commit message rules for contributors. ([#5283](https://github.com/XRPLF/rippled/pull/5283))
- 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))
description: The definition and details of a Permissioned Domain instance.
4
+
labels:
5
+
- Compliance
6
+
- Permissioned Domains
7
+
---
8
+
# Permissioned Domains
9
+
10
+
Permissioned domains are controlled environments within the broader ecosystem of the XRP Ledger blockchain. Domains do nothing on their own, but features such as Permissioned DEXes and Lending Protocols can use domains to restrict access, so that traditional financial institutions can offer services on chain while complying with various compliance rules.
11
+
12
+
The only configurable rule for a domain is the set of accepted [credentials][]. Future amendments may add new and different types of rules to encompass any limits that a financial institution may need to follow to maintain compliance with the laws of the jurisdictions where they do business.
13
+
14
+
Anyone can define a permissioned domain in the ledger. That person becomes the owner of that domain, and can update its settings or delete it. The only limit to the number of domains that can exist in the ledger is the reserve requirement: each Domain counts as one item toward its owner's reserve requirement.
15
+
16
+
_(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_
17
+
18
+
{% admonition type="info" name="Note" %}
19
+
The [Credentials amendment][] is also required. If the [PermissionedDomains amendment][] is enabled without Credentials, PermissionedDomainSet transactions are considered invalid.
20
+
{% /admonition %}
21
+
22
+
## Accepted Credentials
23
+
24
+
A permissioned domain has a set of _accepted credentials_, a list of 1 to 10 credentials that grant access. Each item in the list describes a credential by its issuer and credential type. Any account that holds _at least one_ matching credential automatically gains access to the domain.
25
+
26
+
A domain serves as an abstraction layer between credentials and a resource being resricted, because the owner of the domain can update the list of required credentials without changing the restricted resource itself.
27
+
28
+
[{% inline-svg file="../../../img/permissioned-domain.svg" /%}](../../../img/permissioned-domain.svg"Diagram: a permissioned DEX points to a permissioned domain by ID. The domain's Accepted Credentials describes 3 possible credentials to get access")
29
+
30
+
Users do not need to apply to join or leave a domain. When a transaction requires access to a resource that is restricted by a domain, the transaction automatically checks if the account holds a credential matching that domain's accepted credentials, and fails if they have none. The user's credential must be accepted and not expired.
31
+
32
+
## Uses for Domains
33
+
34
+
Currently, there are no available XRP Ledger features that use permissioned domains. However, amendments that are in development and use domains include:
0 commit comments