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()