From 62759ec26135b452a5f2be98de7ee66c763d1fa8 Mon Sep 17 00:00:00 2001 From: Oliver Eggert Date: Fri, 14 Nov 2025 13:21:30 -0800 Subject: [PATCH 1/8] add 2.6.2 release notes --- blog/2025/rippled-2.6.2.md | 72 +++++++++++++++++++++++++++++++++++ resources/known-amendments.md | 13 +++++++ sha512half.py | 33 ++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 blog/2025/rippled-2.6.2.md create mode 100644 sha512half.py diff --git a/blog/2025/rippled-2.6.2.md b/blog/2025/rippled-2.6.2.md new file mode 100644 index 0000000000..502bd7f2e4 --- /dev/null +++ b/blog/2025/rippled-2.6.2.md @@ -0,0 +1,72 @@ +--- +category: 2025 +date: "2025-11-12" +template: '../../@theme/templates/blogpost' +seo: + title: Introducing XRP Ledger version 2.6.2 + description: rippled version 2.6.2 is now available. This version contains a new amendment and critical bug fix. +labels: + - rippled Release Notes +markdown: + editPage: + hide: true +--- +# Introducing XRP Ledger version 2.6.2 + +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 critical bug fix. + + +## Action Required + +If you run an XRP Ledger server, upgrade to version 2.6.2 as soon as possible to ensure service continuity. + + +## Install / Upgrade + +**TODO**: Update packages hashes and commit message. + +On supported platforms, see the [instructions on installing or updating `rippled`](../../docs/infrastructure/installation/index.md). + +| Package | SHA-256 | +|:--------|:--------| +| [RPM for Red Hat / CentOS (x86-64)](https://repos.ripple.com/repos/rippled-rpm/stable/rippled-2.6.1-1.el9.x86_64.rpm) | `0fbbff570e962fea4df4d604cb848976fc9af9ebc34512a1002eb4866549850d` | +| [DEB for Ubuntu / Debian (x86-64)](https://repos.ripple.com/repos/rippled-deb/pool/stable/rippled_2.6.1-1_amd64.deb) | `de3bfdae5fb95d922a4b5bffa5bc9441f1bc4bac15bd7b83f77f14166c65bb7e` | + +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: + +```text +commit 70d5c624e8cf732a362335642b2f5125ce4b43c1 +Author: Ed Hennis +Date: Tue Sep 30 16:09:11 2025 -0400 + + Set version to 2.6.1 +``` + + +## Full Changelog + +### Amendments + +The following amendment is open for voting with this release: + +- **fixDirectoryLimit** - Removes directory page limits. ([#5935](https://github.com/XRPLF/rippled/pull/5935)) + +### Bug Fixes + +- Fixed an assertion failure when all the inner transactions of a `Batch` transaction are invalid. ([#5670](https://github.com/XRPLF/rippled/pull/5670)) + + +## Credits + +The following GitHub users contributed to this release: + +- RippleX Engineering +- RippleX Docs +- RippleX Product + + +## 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: \ No newline at end of file diff --git a/resources/known-amendments.md b/resources/known-amendments.md index d69b41a421..74c200fba2 100644 --- a/resources/known-amendments.md +++ b/resources/known-amendments.md @@ -742,6 +742,19 @@ Changes the way Checks transactions affect account metadata, so that Checks are 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. +### fixDirectoryLimit +[fixDirectoryLimit]: #fixdirectorylimit + +| Amendment | fixdirecotrylimit | +|:-------------|:----------------------| +| Amendment ID | 15D61F0C6DB6A2F86BCF96F1E2444FEC54E705923339EC175BD3E517C8B3FF91 | +| Status | Enabled | +| Default Vote (Latest stable release) | No | +| Pre-amendment functionality retired? | No | + +This amendment fixes an issue with approving trustlines after a user enables the `lsfDisallowIncomingTrustline` flag on their account. + + ### fixDisallowIncomingV1 [fixDisallowIncomingV1]: #fixdisallowincomingv1 diff --git a/sha512half.py b/sha512half.py new file mode 100644 index 0000000000..9f5af91320 --- /dev/null +++ b/sha512half.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +""" +Calculate SHA-512Half hash for amendment names. +Used to generate amendment IDs for the XRPL. +""" + +import hashlib +import sys + +def sha512half(data): + """ + Calculate SHA-512Half hash of the input data. + Returns the first 256 bits (32 bytes) of the SHA-512 hash. + """ + if isinstance(data, str): + data = data.encode('utf-8') + + sha512_hash = hashlib.sha512(data).digest() + # Return first 32 bytes (256 bits) as hex + return sha512_hash[:32].hex().upper() + +def main(): + if len(sys.argv) < 2: + print("Usage: sha512half.py ") + print("Example: sha512half.py fixPriceOracleOrder") + sys.exit(1) + + input_string = sys.argv[1] + result = sha512half(input_string) + print(result) + +if __name__ == "__main__": + main() From 567d980713f757290072855d41b32c2825be54ba Mon Sep 17 00:00:00 2001 From: Oliver Eggert Date: Mon, 17 Nov 2025 15:32:44 -0800 Subject: [PATCH 2/8] update known amendments with fixdirectorylimit --- resources/known-amendments.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/known-amendments.md b/resources/known-amendments.md index 74c200fba2..077e829ddd 100644 --- a/resources/known-amendments.md +++ b/resources/known-amendments.md @@ -745,14 +745,14 @@ Without this amendment, Checks transactions ([CheckCreate][], [CheckCash][], and ### fixDirectoryLimit [fixDirectoryLimit]: #fixdirectorylimit -| Amendment | fixdirecotrylimit | +| Amendment | fixdirectorylimit | |:-------------|:----------------------| -| Amendment ID | 15D61F0C6DB6A2F86BCF96F1E2444FEC54E705923339EC175BD3E517C8B3FF91 | -| Status | Enabled | +| Amendment ID | 41765F664A8D67FF03DDB1C1A893DE6273690BA340A6C2B07C8D29D0DD013D3A | +| Status | Open for Voting | | Default Vote (Latest stable release) | No | | Pre-amendment functionality retired? | No | -This amendment fixes an issue with approving trustlines after a user enables the `lsfDisallowIncomingTrustline` flag on their account. +This amendment removes the directory page limit. Object reserve requirements provide enough incentive to avoid creating unnecessary objects on the XRP Ledger. ### fixDisallowIncomingV1 From 9e343558cc0426d09c3b002b59ab2b08df6deb90 Mon Sep 17 00:00:00 2001 From: Oliver Eggert Date: Wed, 19 Nov 2025 15:16:42 -0800 Subject: [PATCH 3/8] update tec codes and release notes --- blog/2025/rippled-2.6.2.md | 8 +++----- .../transactions/transaction-results/tec-codes.md | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/blog/2025/rippled-2.6.2.md b/blog/2025/rippled-2.6.2.md index 502bd7f2e4..07cdd99a24 100644 --- a/blog/2025/rippled-2.6.2.md +++ b/blog/2025/rippled-2.6.2.md @@ -1,6 +1,6 @@ --- category: 2025 -date: "2025-11-12" +date: "2025-11-19" template: '../../@theme/templates/blogpost' seo: title: Introducing XRP Ledger version 2.6.2 @@ -23,8 +23,6 @@ If you run an XRP Ledger server, upgrade to version 2.6.2 as soon as possible to ## Install / Upgrade -**TODO**: Update packages hashes and commit message. - On supported platforms, see the [instructions on installing or updating `rippled`](../../docs/infrastructure/installation/index.md). | Package | SHA-256 | @@ -49,11 +47,11 @@ Date: Tue Sep 30 16:09:11 2025 -0400 The following amendment is open for voting with this release: -- **fixDirectoryLimit** - Removes directory page limits. ([#5935](https://github.com/XRPLF/rippled/pull/5935)) +- **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)) ### Bug Fixes -- Fixed an assertion failure when all the inner transactions of a `Batch` transaction are invalid. ([#5670](https://github.com/XRPLF/rippled/pull/5670)) +- Fixed an assertion failure when all the inner transactions of a `Batch` transaction were invalid. ([#5670](https://github.com/XRPLF/rippled/pull/5670)) ## Credits diff --git a/docs/references/protocol/transactions/transaction-results/tec-codes.md b/docs/references/protocol/transactions/transaction-results/tec-codes.md index 100ca541d6..8f2d231e5b 100644 --- a/docs/references/protocol/transactions/transaction-results/tec-codes.md +++ b/docs/references/protocol/transactions/transaction-results/tec-codes.md @@ -27,7 +27,7 @@ A transaction that fails with a `tec` code destroys the XRP paid as a [transacti | `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" /%} | | `tecCLAIM` | 100 | Unspecified failure, with transaction cost destroyed. | | `tecCRYPTOCONDITION_ERROR` | 146 | This [EscrowCreate][] or [EscrowFinish][] transaction contained a malformed or mismatched crypto-condition. | -| `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. | +| `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. This error is effectively impossible to receive if the [`fixDirectoryLimit`](../../../../../resources/known-amendments.md#fixdirectorylimit) amendment is enabled. | | `tecDUPLICATE` | 149 | The transaction tried to create an object (such as a [DepositPreauth][] authorization) that already exists. | | `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. | | `tecEMPTY_DID` | 187 | The transaction tried to create a [DID entry][] with no contents. A DID must not be empty. {% amendment-disclaimer name="DID" /%} | From 6c64a1e4493864a4c91f03192c794ebe9e4d007c Mon Sep 17 00:00:00 2001 From: Oliver Eggert Date: Wed, 19 Nov 2025 15:44:05 -0800 Subject: [PATCH 4/8] update tecdir_full error messages --- .../transaction-results/tec-codes.md | 2 +- .../transactions/types/checkcreate.md | 20 +++++++++++-------- .../transactions/types/delegateset.md | 2 +- .../transactions/types/nftokencreateoffer.md | 2 +- .../transactions/types/offercreate.md | 2 +- .../types/permissioneddomainset.md | 2 +- .../transactions/types/ticketcreate.md | 2 +- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/docs/references/protocol/transactions/transaction-results/tec-codes.md b/docs/references/protocol/transactions/transaction-results/tec-codes.md index 8f2d231e5b..97df85fb92 100644 --- a/docs/references/protocol/transactions/transaction-results/tec-codes.md +++ b/docs/references/protocol/transactions/transaction-results/tec-codes.md @@ -27,7 +27,7 @@ A transaction that fails with a `tec` code destroys the XRP paid as a [transacti | `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" /%} | | `tecCLAIM` | 100 | Unspecified failure, with transaction cost destroyed. | | `tecCRYPTOCONDITION_ERROR` | 146 | This [EscrowCreate][] or [EscrowFinish][] transaction contained a malformed or mismatched crypto-condition. | -| `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. This error is effectively impossible to receive if the [`fixDirectoryLimit`](../../../../../resources/known-amendments.md#fixdirectorylimit) amendment is enabled. | +| `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.
This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. | | `tecDUPLICATE` | 149 | The transaction tried to create an object (such as a [DepositPreauth][] authorization) that already exists. | | `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. | | `tecEMPTY_DID` | 187 | The transaction tried to create a [DID entry][] with no contents. A DID must not be empty. {% amendment-disclaimer name="DID" /%} | diff --git a/docs/references/protocol/transactions/types/checkcreate.md b/docs/references/protocol/transactions/types/checkcreate.md index 4195a19cec..86ffae2e2e 100644 --- a/docs/references/protocol/transactions/types/checkcreate.md +++ b/docs/references/protocol/transactions/types/checkcreate.md @@ -40,14 +40,18 @@ Create an on-ledger [check](../../../../concepts/payment-types/checks.md), which ## Error Cases -- If the `Destination` account is blocking incoming Checks, the transaction fails with the result code `tecNO_PERMISSION`. {% amendment-disclaimer name="DisallowIncoming" /%} -- If the `Destination` is the sender of the transaction, the transaction fails with the result code `temREDUNDANT`. -- If the `Destination` [account](../../../../concepts/accounts/index.md) does not exist in the ledger, the transaction fails with the result code `tecNO_DST`. -- 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`. -- If `SendMax` specifies a token which is [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md), the transaction fails with the result `tecFROZEN`. -- If the `Expiration` of the transaction is in the past, the transaction fails with the result `tecEXPIRED`. -- 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`. -- 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`. +Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} transactions can result in the following [transaction result codes](../transaction-results/index.md): + +| Error Code | Description | +|:-----------|:------------| +| `tecNO_PERMISSION` | The `Destination` account is blocking incoming Checks. {% amendment-disclaimer name="DisallowIncoming" /%} | +| `temREDUNDANT` | The `Destination` is the sender of the transaction. | +| `tecNO_DST` | The `Destination` [account](../../../../concepts/accounts/index.md) does not exist in the ledger. | +| `tecDST_TAG_NEEDED` | The `Destination` account has the `RequireDest` flag enabled but the transaction does not include a `DestinationTag` field. | +| `tecFROZEN` | `SendMax` specifies a token which is [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md). | +| `tecEXPIRED` | The `Expiration` of the transaction is in the past. | +| `tecINSUFFICIENT_RESERVE` | The sender does not have enough XRP to meet the [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves) after adding the Check. | +| `tecDIR_FULL` | Either the sender or the destination of the Check cannot own more objects in the ledger.
This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. | ## See Also diff --git a/docs/references/protocol/transactions/types/delegateset.md b/docs/references/protocol/transactions/types/delegateset.md index 7c06f55f0a..1a04dfdcc0 100644 --- a/docs/references/protocol/transactions/types/delegateset.md +++ b/docs/references/protocol/transactions/types/delegateset.md @@ -65,7 +65,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | Error Code | Description | |:--------------------------|:------------| -| `tecDIR_FULL` | The sender owns too many items in the ledger already. | +| `tecDIR_FULL` | The sender owns too many items in the ledger already.
This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. | | `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. | | `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. | | `tecNO_TARGET` | The account specified in the `Authorize` field does not exist in the ledger. | diff --git a/docs/references/protocol/transactions/types/nftokencreateoffer.md b/docs/references/protocol/transactions/types/nftokencreateoffer.md index 123b82d460..214be0a96a 100644 --- a/docs/references/protocol/transactions/types/nftokencreateoffer.md +++ b/docs/references/protocol/transactions/types/nftokencreateoffer.md @@ -56,7 +56,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | `temDISABLED` | The [NonFungibleTokensV1 amendment][] is not enabled. | | `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. | | `temBAD_EXPIRATION` | The specified `Expiration` time is invalid (for example, `0`). | -| `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. | +| `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.
This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. | | `tecEXPIRED` | The specified `Expiration` time has already passed. | | `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). | | `tecINSUFFICIENT_RESERVE` | The sender does not have enough XRP to meet the [reserve requirement](../../../../concepts/accounts/reserves.md) after placing this offer. | diff --git a/docs/references/protocol/transactions/types/offercreate.md b/docs/references/protocol/transactions/types/offercreate.md index e6d5f92de9..04a559f5cd 100644 --- a/docs/references/protocol/transactions/types/offercreate.md +++ b/docs/references/protocol/transactions/types/offercreate.md @@ -58,7 +58,7 @@ Transactions of the OfferCreate type support additional values in the [`Flags` f | Error Code | Description | |:-------------------------|:--------------------------------------------------| -| `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. | +| `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.
This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. | | `tecEXPIRED` | The transaction specifies an `Expiration` time that has already passed. | | `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. | | `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.) | diff --git a/docs/references/protocol/transactions/types/permissioneddomainset.md b/docs/references/protocol/transactions/types/permissioneddomainset.md index 97abb5097c..757b6c25cf 100644 --- a/docs/references/protocol/transactions/types/permissioneddomainset.md +++ b/docs/references/protocol/transactions/types/permissioneddomainset.md @@ -55,7 +55,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | Error Code | Description | |:--------------------------|:------------| -| `tecDIR_FULL` | The transaction would create a new PermissionedDomain, but the sender's owner directory is full. | +| `tecDIR_FULL` | The transaction would create a new PermissionedDomain, but the sender's owner directory is full.
This error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. | | `tecINSUFFICIENT_RESERVE` | The transaction would create a new PermissionedDomain, but the sender does not have enough XRP to meet the increased owner reserve. | | `tecNO_ENTRY` | The transaction attempted to modify a Domain that does not exist. Check the `DomainID` field of the transaction. | | `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. | diff --git a/docs/references/protocol/transactions/types/ticketcreate.md b/docs/references/protocol/transactions/types/ticketcreate.md index cbdd8f9941..84b626236b 100644 --- a/docs/references/protocol/transactions/types/ticketcreate.md +++ b/docs/references/protocol/transactions/types/ticketcreate.md @@ -43,7 +43,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | Error Code | Description | |:--------------------------|:-------------------------------------------------| | `temINVALID_COUNT` | The `TicketCount` field is invalid. It must be an integer from 1 to 250. | -| `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. | +| `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.
The maximum ledger objects error is effectively impossible to receive if {% amendment-disclaimer name="fixDirectoryLimit" compact=true /%} is enabled. | | `tecINSUFFICIENT_RESERVE` | The sending account does not have enough XRP to meet the [owner reserve](../../../../concepts/accounts/reserves.md) of all the requested Tickets. | ## See Also From 815df642e07478cc650c571d6df671eac27da018 Mon Sep 17 00:00:00 2001 From: Oliver Eggert Date: Wed, 19 Nov 2025 21:02:28 -0800 Subject: [PATCH 5/8] add commit message and download links --- blog/2025/rippled-2.6.2.md | 12 ++++++------ blog/sidebars.yaml | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/blog/2025/rippled-2.6.2.md b/blog/2025/rippled-2.6.2.md index 07cdd99a24..2335a309f9 100644 --- a/blog/2025/rippled-2.6.2.md +++ b/blog/2025/rippled-2.6.2.md @@ -27,17 +27,17 @@ On supported platforms, see the [instructions on installing or updating `rippled | Package | SHA-256 | |:--------|:--------| -| [RPM for Red Hat / CentOS (x86-64)](https://repos.ripple.com/repos/rippled-rpm/stable/rippled-2.6.1-1.el9.x86_64.rpm) | `0fbbff570e962fea4df4d604cb848976fc9af9ebc34512a1002eb4866549850d` | -| [DEB for Ubuntu / Debian (x86-64)](https://repos.ripple.com/repos/rippled-deb/pool/stable/rippled_2.6.1-1_amd64.deb) | `de3bfdae5fb95d922a4b5bffa5bc9441f1bc4bac15bd7b83f77f14166c65bb7e` | +| [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` | +| [DEB for Ubuntu / Debian (x86-64)](https://repos.ripple.com/repos/rippled-deb/pool/stable/rippled_2.6.2-1_amd64.deb) | `0887b5a77c43c362ea7680b83df40b955a5748b712924acf2212b2de29e3373b` | 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: ```text -commit 70d5c624e8cf732a362335642b2f5125ce4b43c1 -Author: Ed Hennis -Date: Tue Sep 30 16:09:11 2025 -0400 +commit df24ee077438e03673a9c6661c41e8f070b90cd9 +Author: Vladislav Vysokikh +Date: Tue Nov 18 09:28:59 2025 +0000 - Set version to 2.6.1 + Version 2.6.2 ``` diff --git a/blog/sidebars.yaml b/blog/sidebars.yaml index b469967b63..caeb989bee 100644 --- a/blog/sidebars.yaml +++ b/blog/sidebars.yaml @@ -10,6 +10,7 @@ - group: '2025' expanded: false items: + - page: 2025/rippled-2.6.2.md - page: 2025/rippled-2.6.1.md - page: 2025/vulnerabilitydisclosurereport-bug-sep2025.md - page: 2025/devnet-reset-oct.md From bd06feb49cf30665346ed368fb7461e843884da2 Mon Sep 17 00:00:00 2001 From: Oliver Eggert Date: Wed, 19 Nov 2025 21:04:49 -0800 Subject: [PATCH 6/8] remove sha512half script --- sha512half.py | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 sha512half.py diff --git a/sha512half.py b/sha512half.py deleted file mode 100644 index 9f5af91320..0000000000 --- a/sha512half.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 -""" -Calculate SHA-512Half hash for amendment names. -Used to generate amendment IDs for the XRPL. -""" - -import hashlib -import sys - -def sha512half(data): - """ - Calculate SHA-512Half hash of the input data. - Returns the first 256 bits (32 bytes) of the SHA-512 hash. - """ - if isinstance(data, str): - data = data.encode('utf-8') - - sha512_hash = hashlib.sha512(data).digest() - # Return first 32 bytes (256 bits) as hex - return sha512_hash[:32].hex().upper() - -def main(): - if len(sys.argv) < 2: - print("Usage: sha512half.py ") - print("Example: sha512half.py fixPriceOracleOrder") - sys.exit(1) - - input_string = sys.argv[1] - result = sha512half(input_string) - print(result) - -if __name__ == "__main__": - main() From 24a374e2bfe5f71eb87b2431d16a072cdbbc0ba1 Mon Sep 17 00:00:00 2001 From: oeggert <117319296+oeggert@users.noreply.github.com> Date: Thu, 20 Nov 2025 07:25:49 -0800 Subject: [PATCH 7/8] Update blog/2025/rippled-2.6.2.md Co-authored-by: Amarantha Kulkarni --- blog/2025/rippled-2.6.2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2025/rippled-2.6.2.md b/blog/2025/rippled-2.6.2.md index 2335a309f9..8058070cce 100644 --- a/blog/2025/rippled-2.6.2.md +++ b/blog/2025/rippled-2.6.2.md @@ -13,7 +13,7 @@ markdown: --- # Introducing XRP Ledger version 2.6.2 -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 critical bug fix. +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. ## Action Required From 30c6a425190ce178021f50d61dfdfd6fecc10e5c Mon Sep 17 00:00:00 2001 From: oeggert <117319296+oeggert@users.noreply.github.com> Date: Thu, 20 Nov 2025 07:26:04 -0800 Subject: [PATCH 8/8] Update blog/2025/rippled-2.6.2.md Co-authored-by: Amarantha Kulkarni --- blog/2025/rippled-2.6.2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2025/rippled-2.6.2.md b/blog/2025/rippled-2.6.2.md index 8058070cce..7ebb54a9fb 100644 --- a/blog/2025/rippled-2.6.2.md +++ b/blog/2025/rippled-2.6.2.md @@ -4,7 +4,7 @@ date: "2025-11-19" template: '../../@theme/templates/blogpost' seo: title: Introducing XRP Ledger version 2.6.2 - description: rippled version 2.6.2 is now available. This version contains a new amendment and critical bug fix. + description: rippled version 2.6.2 is now available. This version contains a new amendment and a critical bug fix. labels: - rippled Release Notes markdown: