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
description: rippled version 2.6.2 is now available. This version contains a new amendment and a critical bug fix.
8
+
labels:
9
+
- rippled Release Notes
10
+
markdown:
11
+
editPage:
12
+
hide: true
13
+
---
14
+
# Introducing XRP Ledger version 2.6.2
15
+
16
+
Version 2.6.2 of `rippled`, the reference server implementation of the XRP Ledger protocol, is now available. This release adds a new `fixDirectoryLimit` amendment and a critical bug fix.
17
+
18
+
19
+
## Action Required
20
+
21
+
If you run an XRP Ledger server, upgrade to version 2.6.2 as soon as possible to ensure service continuity.
22
+
23
+
24
+
## Install / Upgrade
25
+
26
+
On supported platforms, see the [instructions on installing or updating `rippled`](../../docs/infrastructure/installation/index.md).
27
+
28
+
| Package | SHA-256 |
29
+
|:--------|:--------|
30
+
|[RPM for Red Hat / CentOS (x86-64)](https://repos.ripple.com/repos/rippled-rpm/stable/rippled-2.6.2-1.el9.x86_64.rpm)|`e3b041906a75c3c52cc6423219d7ba9c199a5d736d2e3978a5ce0ac5ef693fdf`|
31
+
|[DEB for Ubuntu / Debian (x86-64)](https://repos.ripple.com/repos/rippled-deb/pool/stable/rippled_2.6.2-1_amd64.deb)|`0887b5a77c43c362ea7680b83df40b955a5748b712924acf2212b2de29e3373b`|
32
+
33
+
For other platforms, please [build from source](https://github.com/XRPLF/rippled/blob/master/BUILD.md). The most recent commit in the git log should be the change setting the version:
34
+
35
+
```text
36
+
commit df24ee077438e03673a9c6661c41e8f070b90cd9
37
+
Author: Vladislav Vysokikh <vvysokikh@gmail.com>
38
+
Date: Tue Nov 18 09:28:59 2025 +0000
39
+
40
+
Version 2.6.2
41
+
```
42
+
43
+
44
+
## Full Changelog
45
+
46
+
### Amendments
47
+
48
+
The following amendment is open for voting with this release:
49
+
50
+
-**fixDirectoryLimit** - Removes directory page limits. Object reserve requirements provide enough incentive to avoid creating unnecessary objects on the XRP Ledger. ([#5935](https://github.com/XRPLF/rippled/pull/5935))
51
+
52
+
### Bug Fixes
53
+
54
+
- Fixed an assertion failure when all the inner transactions of a `Batch` transaction were invalid. ([#5670](https://github.com/XRPLF/rippled/pull/5670))
55
+
56
+
57
+
## Credits
58
+
59
+
The following GitHub users contributed to this release:
60
+
61
+
- RippleX Engineering
62
+
- RippleX Docs
63
+
- RippleX Product
64
+
65
+
66
+
## Bug Bounties and Responsible Disclosures
67
+
68
+
We welcome reviews of the `rippled` code and urge researchers to responsibly disclose any issues they may find.
69
+
70
+
To report a bug, please send a detailed report to: <bugs@xrpl.org>
Copy file name to clipboardExpand all lines: docs/references/protocol/transactions/transaction-results/tec-codes.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ A transaction that fails with a `tec` code destroys the XRP paid as a [transacti
27
27
|`tecCANT_ACCEPT_OWN_NFTOKEN_OFFER`| 157 | The transaction tried to accept an offer that was placed by the same account to buy or sell a [non-fungible token](../../../../concepts/tokens/nfts/index.md). {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
28
28
|`tecCLAIM`| 100 | Unspecified failure, with transaction cost destroyed. |
29
29
|`tecCRYPTOCONDITION_ERROR`| 146 | This [EscrowCreate][] or [EscrowFinish][] transaction contained a malformed or mismatched crypto-condition. |
30
-
|`tecDIR_FULL`| 121 | The transaction tried to add an object (such as a trust line, Check, Escrow, or Payment Channel) to an account's owner directory, but that account cannot own any more objects in the ledger. |
30
+
|`tecDIR_FULL`| 121 | The transaction tried to add an object (such as a trust line, Check, Escrow, or Payment Channel) to an account's owner directory, but that account cannot own any more objects in the ledger.<br>This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled.|
31
31
|`tecDUPLICATE`| 149 | The transaction tried to create an object (such as a [DepositPreauth][] authorization) that already exists. |
32
32
|`tecDST_TAG_NEEDED`| 143 | The [Payment transaction][] omitted a [destination tag](../../../../concepts/transactions/source-and-destination-tags.md), but the destination account has the `lsfRequireDestTag` flag enabled. |
33
33
|`tecEMPTY_DID`| 187 | The transaction tried to create a [DID entry][] with no contents. A DID must not be empty. {% amendment-disclaimer name="DID" /%} |
Copy file name to clipboardExpand all lines: docs/references/protocol/transactions/types/checkcreate.md
+12-8Lines changed: 12 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,14 +40,18 @@ Create an on-ledger [check](../../../../concepts/payment-types/checks.md), which
40
40
41
41
## Error Cases
42
42
43
-
- If the `Destination` account is blocking incoming Checks, the transaction fails with the result code `tecNO_PERMISSION`. {% amendment-disclaimer name="DisallowIncoming" /%}
44
-
- If the `Destination` is the sender of the transaction, the transaction fails with the result code `temREDUNDANT`.
45
-
- If the `Destination`[account](../../../../concepts/accounts/index.md) does not exist in the ledger, the transaction fails with the result code `tecNO_DST`.
46
-
- If the `Destination` account has the `RequireDest` flag enabled but the transaction does not include a `DestinationTag` field, the transaction fails with the result code `tecDST_TAG_NEEDED`.
47
-
- If `SendMax` specifies a token which is [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md), the transaction fails with the result `tecFROZEN`.
48
-
- If the `Expiration` of the transaction is in the past, the transaction fails with the result `tecEXPIRED`.
49
-
- If the sender does not have enough XRP to meet the [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves) after adding the Check, the transaction fails with the result `tecINSUFFICIENT_RESERVE`.
50
-
- If either the sender or the destination of the Check cannot own more objects in the ledger, the transaction fails with the result `tecDIR_FULL`.
43
+
Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} transactions can result in the following [transaction result codes](../transaction-results/index.md):
44
+
45
+
| Error Code | Description |
46
+
|:-----------|:------------|
47
+
|`tecNO_PERMISSION`| The `Destination` account is blocking incoming Checks. {% amendment-disclaimer name="DisallowIncoming" /%} |
48
+
|`temREDUNDANT`| The `Destination` is the sender of the transaction. |
49
+
|`tecNO_DST`| The `Destination`[account](../../../../concepts/accounts/index.md) does not exist in the ledger. |
50
+
|`tecDST_TAG_NEEDED`| The `Destination` account has the `RequireDest` flag enabled but the transaction does not include a `DestinationTag` field. |
51
+
|`tecFROZEN`|`SendMax` specifies a token which is [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md). |
52
+
|`tecEXPIRED`| The `Expiration` of the transaction is in the past. |
53
+
|`tecINSUFFICIENT_RESERVE`| The sender does not have enough XRP to meet the [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves) after adding the Check. |
54
+
|`tecDIR_FULL`| Either the sender or the destination of the Check cannot own more objects in the ledger.<br>This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. |
Copy file name to clipboardExpand all lines: docs/references/protocol/transactions/types/delegateset.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %}
65
65
66
66
| Error Code | Description |
67
67
|:--------------------------|:------------|
68
-
|`tecDIR_FULL`| The sender owns too many items in the ledger already. |
68
+
|`tecDIR_FULL`| The sender owns too many items in the ledger already.<br>This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled.|
69
69
|`tecINSUFFICIENT_RESERVE`| The sender does not have enough XRP to meet the [reserve requirement](/docs/concepts/accounts/reserves.md) of creating a new Delegate ledger entry. |
70
70
|`tecNO_PERMISSION`| At least one permission in the `Permissions` list is not delegatable. See [Permission Values](../../data-types/permission-values.md) for which permissions are not delegatable. |
71
71
|`tecNO_TARGET`| The account specified in the `Authorize` field does not exist in the ledger. |
Copy file name to clipboardExpand all lines: docs/references/protocol/transactions/types/nftokencreateoffer.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %}
56
56
|`temDISABLED`| The [NonFungibleTokensV1 amendment][] is not enabled. |
57
57
|`temBAD_AMOUNT`| The `Amount` field is not valid. For example, the amount was zero for a buy offer, or the amount is denominated in fungible tokens but the `NFToken` has the [`lsfOnlyXRP` flag](../../data-types/nftoken.md#nftoken-flags) enabled. |
58
58
|`temBAD_EXPIRATION`| The specified `Expiration` time is invalid (for example, `0`). |
59
-
|`tecDIR_FULL`| The sender already owns too many objects in the ledger, or there are already too many offers to buy or sell this token. |
59
+
|`tecDIR_FULL`| The sender already owns too many objects in the ledger, or there are already too many offers to buy or sell this token.<br>This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled.|
60
60
|`tecEXPIRED`| The specified `Expiration` time has already passed. |
61
61
|`tecFROZEN`| The `Amount` is denominated in fungible tokens, but one of the trust lines that would receive tokens from this offer is [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md). This could be the seller's trust line or the `NFToken`'s issuer's trust line (if the `NFToken` has a transfer fee). |
62
62
|`tecINSUFFICIENT_RESERVE`| The sender does not have enough XRP to meet the [reserve requirement](../../../../concepts/accounts/reserves.md) after placing this offer. |
|`tecDIR_FULL`| The owner owns too many items in the ledger, or the order book contains too many Offers at the same exchange rate already. |
61
+
|`tecDIR_FULL`| The owner owns too many items in the ledger, or the order book contains too many Offers at the same exchange rate already.<br>This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled.|
62
62
|`tecEXPIRED`| The transaction specifies an `Expiration` time that has already passed. |
63
63
|`tecFROZEN`| The transaction involves a token on a [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md) trust line (including local and global freezes). The `TakerPays` (buy amount) token has been deep-frozen by the issuer. |
64
64
|`tecINSUF_RESERVE_OFFER`| The owner does not have enough XRP to meet the reserve requirement of adding a new offer ledger entry, and the transaction did not convert any currency. (If the transaction successfully traded any amount, the transaction succeeds with the result code `tesSUCCESS`, but does not create an offer ledger entry for the remainder.) |
Copy file name to clipboardExpand all lines: docs/references/protocol/transactions/types/permissioneddomainset.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %}
55
55
56
56
| Error Code | Description |
57
57
|:--------------------------|:------------|
58
-
|`tecDIR_FULL`| The transaction would create a new PermissionedDomain, but the sender's owner directory is full. |
58
+
|`tecDIR_FULL`| The transaction would create a new PermissionedDomain, but the sender's owner directory is full.<br>This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled.|
59
59
|`tecINSUFFICIENT_RESERVE`| The transaction would create a new PermissionedDomain, but the sender does not have enough XRP to meet the increased owner reserve. |
60
60
|`tecNO_ENTRY`| The transaction attempted to modify a Domain that does not exist. Check the `DomainID` field of the transaction. |
61
61
|`tecNO_ISSUER`| At least one of the issuers specified in the `AcceptedCredentials` field is does not exist in the XRP Ledger. Check the `Issuer` field of each member of the array. |
|`temINVALID_COUNT`| The `TicketCount` field is invalid. It must be an integer from 1 to 250. |
46
-
|`tecDIR_FULL`| This transaction would cause the account to own more than the limit of 250 Tickets at a time, or more than the maximum number of ledger objects in general. |
46
+
|`tecDIR_FULL`| This transaction would cause the account to own more than the limit of 250 Tickets at a time, or more than the maximum number of ledger objects in general.<br>The maximum ledger objects error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled.|
47
47
|`tecINSUFFICIENT_RESERVE`| The sending account does not have enough XRP to meet the [owner reserve](../../../../concepts/accounts/reserves.md) of all the requested Tickets. |
Copy file name to clipboardExpand all lines: resources/known-amendments.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -742,6 +742,19 @@ Changes the way Checks transactions affect account metadata, so that Checks are
742
742
Without this amendment, Checks transactions ([CheckCreate][], [CheckCash][], and [CheckCancel][]) only update the account history of the sender. With this amendment, those transactions affect both the sending and receiving accounts. This amendment has no effect unless the [Checks amendment](#checks) is also enabled.
743
743
744
744
745
+
### fixDirectoryLimit
746
+
[fixDirectoryLimit]: #fixdirectorylimit
747
+
748
+
| Amendment | fixdirectorylimit |
749
+
|:-------------|:----------------------|
750
+
| Amendment ID | 41765F664A8D67FF03DDB1C1A893DE6273690BA340A6C2B07C8D29D0DD013D3A |
751
+
| Status | Open for Voting |
752
+
| Default Vote (Latest stable release) | No |
753
+
| Pre-amendment functionality retired? | No |
754
+
755
+
This amendment removes the directory page limit. Object reserve requirements provide enough incentive to avoid creating unnecessary objects on the XRP Ledger.
0 commit comments