Rippled merged 29 PRs to develop this week — highlighted by the 3.4.0-rc1 version bump, key rotation support in MPTokenIssuanceSet, signature prefix hardening for sfCounterpartySignature and sfSponsorSignature under fixCleanup3_4_0, a SHAMap out-of-bounds read fix, and a continued wave of LendingProtocolV1_1 bug fixes. On XRPL-Standards, 8 spec PRs merged including the finalization of XLS-96 (Confidential MPT), a new XLS-99 spec (Confidential MPT Key Rotation), and float host function additions to XLS-102. The developer portal merged 9 PRs including a major 2026 brand redesign (Phase 1) and upcoming event updates. Clio published release candidate 2.8.1-rc4.
This week saw the core XRP Ledger server software (rippled) reach a release candidate milestone — version 3.4.0-rc1 — meaning the development team considers this version ready for broader testing before a production release. The 29 changes merged include a significant new capability for Multi-Purpose Token issuers: key rotation, which lets issuers change the cryptographic keys associated with a token issuance without creating a new one. This is important for security practices where keys should be periodically refreshed. Another notable fix prevents a subtle attack where someone could copy a signature intended for one role (say, a counterparty on a loan) and reuse it in a different context (say, a sponsor paying fees). By giving each role its own unique signing prefix, the system now rejects cross-role signature reuse.
A separate fix addressed a memory-safety issue in the SHAMap — the internal tree structure that stores ledger state. When the tree's depth reached its maximum, the code could read past the end of a data buffer; the fix clamps the depth value to prevent this. The lending protocol features continued to receive a steady stream of precision and correctness fixes, including ensuring escrow reserves are properly recycled before funds move, preventing vault operations from failing when assets exactly hit their maximum capacity, and stopping loan brokers from being assigned to open-ended vaults where the lending lifecycle doesn't apply.
On the standards side, eight specification documents were merged — the most notable being the finalization of XLS-96, the Confidential MPT specification, which moves from "Draft" to "Final" status. This means the community considers the spec stable enough for implementation. A companion new spec, XLS-99, was also merged, defining how keys can be rotated for confidential tokens without revealing encrypted balances. The xrpl.org developer portal received a full visual brand update across hundreds of files, giving the site a refreshed look, and the events page was updated with upcoming community events in Madrid, Barcelona, and New York City, including the Swell 2026 conference. No SDK releases shipped this week, though LendingProtocolV1_1 client support is approved and close to merging in both xrpl.js and xrpl-py — once released, JavaScript and Python developers will be able to build applications using closed-ended vaults and updated loan operations.
For the latest updates, follow @XRPLF and @RippleXDev on X, and explore the repos at github.com/XRPLF. Clio 2.8.1-rc4 is available here.
Note: All rippled changes below were merged to the develop branch and are not yet live on the network. A tagged release is required for any change to reach production.
Note: SDK PRs below were merged to each library's main branch. They become available to application developers only after a tagged release is published (npm for xrpl.js, Maven Central for xrpl4j, PyPI for xrpl-py). If no corresponding SDK release appears in the data, treat the feature as merged-but-pending-release and phrase availability accordingly.
MPTokenIssuanceSet, a protocol-level addition gated by an amendment.fixCleanup3_4_0.fixCleanup3_4_0.float_root host function for performance reasons.Vault and lending fixes (LendingProtocolV1_1 / fixCleanup3_4_0): Another coordinated stack of fixes — several items that were "In Progress" last week merged this week:
RedemptionDate, when no investment window remains.AccountRoot is deleted mid-transaction.tecINVARIANT_FAILED when a sponsor pays the fee on a withdrawal to a distinct destination.ValidVault/ValidMPTIssuance failures on fully impaired vaults.fixCleanup3_4_0.Other bug fixes:
CreateOffer/Payment on the PermissionedDEX now clean up expired credentials instead of silently accepting them.insertAllSyntheticInJson helper, fixing missing nftoken_id in the ledger RPC. Closes #4835.Unreleased.account_tx MPT filtering docs: xrpl-dev-portal#3863 — Documents filtering by mpt_issuance_id.XFloat type, host function signatures, and formal versioning rules for all host functions.managementFee_overpayment term.rippled — Drain proposals/validations ahead of bulk peer traffic (rippled#8167, +265/−25) — Adds priority queuing for consensus-critical messages that were getting stuck behind relayed transaction bursts, causing convergence to climb from 4s to 15s on a 5-validator network. Has outstanding change requests regarding a data race reading queue sizes from the RPC path.
rippled — Give JtAccept non-zero LoadMonitor targets (rippled#8166, +3/−1) — A small but operator-relevant change: JtAccept currently has 0ms/0ms latency targets, so a 19-second AcceptLedger never trips the load fee. Approved, no outstanding changes.
rippled — Record Batch inner results for validated ledgers (rippled#8164, +353/−13, 15 files) — Persists per-inner-transaction outcomes so clients can query tx for the result of each Batch inner transaction. Approved by 3 reviewers but has merge conflicts and unsigned commits.
rippled — Harden DepositPreauth self-target and credentials (rippled#8175, +244/−12) — New fixDepositPreauthSelf amendment rejecting self-targeted authorizations and tightening credential handling. Approved but has conflicts.
rippled — Enforce MPT issuance flags never cleared (rippled#8152, +80/−16) — New ValidMPTIssuance invariant gated on fixCleanup3_4_0, approved, has conflicts.
rippled — Unauthorized trust lines may only return funds to issuer (rippled#8150, +2,414/−171, 28 files) — A large enforcement change under fixCleanup3_5_0. In early review.
rippled — Generational NodeStore GC for online_delete (rippled#8145, +1,435/−270) — Replaces full-state copy with a ring of generations during rotation, potentially significant for node operators. Approved but has conflicts.
rippled — Build RPC dispatch tables at compile time (rippled#8006, +1,392/−750, 20 files) — Approved by 2 reviewers, has conflicts.
xrpl.js — Q3 2026 dependency upgrade (xrpl.js#3461, +2,849/−3,804) — Consolidates 33 Dependabot PRs and resolves 26 Semgrep tickets. Approved by 3 reviewers.
xrpl.js — LendingProtocolV1_1 support (xrpl.js#3456, +759/−5, 16 files) — Approved.
xrpl-py — LendingProtocolV1_1 support (xrpl-py#1034, +1,137/−313, 17 files) — Approved by 3 reviewers.
xrpl4j — Single asset vault changes (xrpl4j#832, +1,094/−25, 21 files) — Adds deposit-blocking flags and VaultDelete.memoData. Approved by 2 reviewers.
xrpl4j — Transaction fee calculation refactoring (xrpl4j#830, +1,425/−567) — Approved by 2 reviewers.
Clio — Dual dispatch path for RPC handlers (clio#3198, +710/−498, 92 files) — Adds shared rpc-spec handler support, foundational for the migration.
Clio — Migrate first handlers to rpc-spec (clio#3199, +828/−675) — Migrates account_info and account_currencies as the first two handlers on the new system.
XRPL-Standards — Onchain Cosigner spec (XRPL-Standards#613, +1,186 lines) — New spec with outstanding change requests regarding fee handling, Batch authorization, and revocation semantics.
XRPL-Standards — XLS-68 pre-merge updates (XRPL-Standards#564, +454/−252) — Approved by 2 reviewers; reconciling the Sponsored Fees spec with the reference implementation.
xrpl-dev-portal — Ruby SDK tutorial (xrpl-dev-portal#3837, +325/−48) — Adds a Get Started tutorial and Send XRP code samples for Ruby.
xrpl-dev-portal — FX/payments migration guide (xrpl-dev-portal#3787, +671 lines) — Seven-step migration guide, carried over from last week.
AcceptLedger job will finally trigger load fee increases — relevant for validators experiencing consensus delays under load.Config documentation from a community member — @xrpl365 (community member) opened two documentation PRs for rippled: one documenting undocumented config settings verified against source code (rippled#8148, +286 lines) and another correcting stale config defaults (rippled#8147). They also filed rippled#8146 asking maintainers to decide on unused config section constants — a systematic code-first audit that benefits operators running custom configurations.
Permissioned AMM discussion — A new discussion proposes extending the Permissioned Domain/credential model from order books (XLS-81) to native AMM pools, arguing that regulated desks need gated AMM liquidity, not just gated offers.
xrpl.js — VaultCreate autofill fee fix — Community member @JasonColapietro's xrpl.js#3430 to remove the special 2-XRP fee from VaultCreate autofill remains open and ready for review.
xrpl-dev-portal — Explorer discoverability — A new issue notes that every explorer link on xrpl.org goes to livenet only, with no way to discover Bithomp, XRPScan, or testnet explorers from the /develop page.
SHAMap improvement stack — @bthomee has active branches for parts 5–9 of a multi-part SHAMap refactoring stack (traversal node IDs, NodePathStack safety, visitDifferences tests). Part 4 (rippled#7941) merged this week; PRs for subsequent parts haven't opened yet but are tracked in branches.
Stale build/environment issues closed — Six old issues in rippled were closed this week, including build errors from 2023 and a 2024 RocksDB upgrade request (now running 10.5.1). The closures cite the rewritten build documentation and the shift to Nix/Conan.
Compared to last week (August 24–30, 2026):
| Metric | This Week | Last Week | Change |
| Repos with activity | 8 | 8 | flat |
| rippled PRs merged | 29 | 40 | ↓11 |
| rippled PRs opened | 25 | 12 | ↑13 |
| rippled new issues | 1 | 0 | ↑1 |
| rippled closed issues | 6 | 1 | ↑5 |
| rippled releases | 0 | 0 | flat |
| rippled commits | 26 | 31 | ↓5 |
| xrpl.js PRs merged | 0 | 4 | ↓4 |
| xrpl.js PRs opened | 7 | 8 | ↓1 |
| xrpl.js new issues | 0 | 3 | ↓3 |
| xrpl.js releases | 0 | 3 | ↓3 |
| xrpl-py PRs merged | 0 | 1 | ↓1 |
| xrpl-py PRs opened | 1 | 2 | ↓1 |
| xrpl4j PRs merged | 0 | 3 | ↓3 |
| xrpl4j PRs opened | 2 | 6 | ↓4 |
| xrpl4j releases | 0 | 2 | ↓2 |
| xrpl-dev-portal PRs merged | 9 | 21 | ↓12 |
| xrpl-dev-portal PRs opened | 14 | 15 | ↓1 |
| xrpl-dev-portal new issues | 2 | 1 | ↑1 |
| xrpl-dev-portal commits | 28 | 4 | ↑24 |
| Clio PRs merged | 1 | 17 | ↓16 |
| Clio PRs opened | 4 | 5 | ↓1 |
| Clio releases | 2 | 4 | ↓2 |
| Clio commits | 1 | 17 | ↓16 |
| XRPL-Standards PRs merged | 8 | 1 | ↑7 |
| XRPL-Standards PRs opened | 17 | 6 | ↑11 |
| XRPL-Standards new issues | 1 | 4 | ↓3 |
| XRPL-Standards closed issues | 1 | 0 | ↑1 |
| opensource.ripple.com PRs merged | 2 | 4 | ↓2 |
| opensource.ripple.com PRs opened | 1 | 1 | flat |
| opensource.ripple.com commits | 3 | 9 | ↓6 |
| Total PRs merged (all repos) | 49 | 91 | ↓42 |
| Total releases | 2 | 9 | ↓7 |
Carryovers from last week: The flaky online delete tests (rippled#8137), which had 4 approvals last week as "In Progress", merged this week. Several vault bug fixes opened late last week also landed quickly. Trends: Merge volume in rippled dropped from 40 to 29 as the 3.4.0-rc1 milestone was reached, while XRPL-Standards had an unusually active week with 8 specs merged (up from 1), reflecting a push to finalize and align specs with implementation ahead of the release candidate. SDK and Clio activity slowed after last week's release-heavy cycle (xrpl.js 5.1.0, Clio rc1–rc3, xrpl4j rc releases).