XRPL Developments Weekly Summary
July 13–19, 2026

TL;DR

A productive week headlined by rippled's version bump to 3.3.0-rc1 (merged to develop) alongside 29 total PRs merged — including a Batch transaction ID refactor, strengthened Clawback invariant checks for MPT balances, a fix for a silent data durability gap in online delete rotation, and a massive Doxygen style unification across 653 files. Across SDKs, xrpl.js merged BatchV1_1 (XLS-56) signing and Dynamic MPT (XLS-94) support, xrpl-py merged Batch V1_1 signing, and xrpl4j merged Dynamic MPT test coverage — all pending release. The developer portal merged 6 PRs including API call deduplication, community sample apps, and pagination documentation. XRPL-Standards merged 5 PRs including Smart Escrow and XLS-94 spec updates.

Summary

This week's core development was focused on getting the XRPL server software (rippled) ready for a new release candidate — version 3.3.0-rc1. While this isn't a production release, it's a milestone that signals the code is being stabilized for testing. Alongside the version bump, developers fixed a data integrity issue in how the server handles database cleanup — previously, certain pieces of ledger data could silently disappear from disk during routine maintenance if they happened to be stored on a database partition that was being rotated out. The fix ensures those data nodes are copied forward before the old partition is discarded, which is particularly important for validators and node operators who rely on continuous data availability.

On the SDK front, all three major client libraries — JavaScript, Python, and Java — received updates related to Batch transactions (XLS-56). Batch allows multiple transactions to be bundled and submitted together, and the V1_1 update changes how signatures work to prevent signature replay attacks. The JavaScript SDK also merged support for Dynamic Multi-Purpose Tokens (XLS-94), which allow token issuers to modify certain properties after creation. None of these SDK changes are available to application developers yet — they've merged into each library's main branch but haven't been published to package managers (npm, PyPI, Maven Central). Notably, Confidential MPT support — which would allow token balances and transfers to be verified without revealing the actual amounts — had new PRs opened simultaneously across all three SDKs, suggesting a coordinated push toward that feature.

The developer documentation site (xrpl.org) received quality-of-life improvements, including a fix that reduced the number of API calls the Known Amendments page makes from ~99 per page load to just one, making the page load much faster. The specification repository was also active, with updates to the Smart Escrow, Dynamic MPT, and vault lending specs.

For the latest updates, follow @XRPLF and @RippleXDev on X, or browse the XRPLF repos directly.


What Merged

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.

Protocol & Feature Work (rippled — merged to develop)

Bug Fixes & Stability (rippled — merged to develop)

Refactoring & Architecture (rippled — merged to develop)

Dependencies & Build (rippled — merged to develop)

CI & Docs (rippled — merged to develop)

Clio (API Server)

Developer Portal (xrpl-dev-portal)

XRPL-Standards

JavaScript SDK (xrpl.js — merged to main)

Python SDK (xrpl-py — merged to main)

Java SDK (xrpl4j — merged to main)

opensource.ripple.com


In Progress

rippled — Performance fix for extreme exponents (rippled#7825, +110/−55) — Addresses a report that a JSON string with an out-of-range exponent (e.g. 1e2000000000) could tie up a node for 1–2 seconds. Short-circuits the digit-dropping loop when the smaller value has no remaining significant digits. Approved by AI reviewer. This is a performance-sensitive fix worth tracking.

rippled — Vault rounding fix (rippled#7824, +289/−14) — Under fixCleanup3_3_0, rounds vault share↔asset conversions in the pool's favor to prevent shareholder dilution. Community member submission.

rippled — Split LoanSet and LoanAccept (rippled#7820, +1,728/−239 across 25 files) — Splits the LoanSet transaction into separate LoanSet and LoanAccept transactions. Has one AI reviewer approval but earlier reviews flagged issues. Active development.

rippled — MPT transfer fee escrow rounding fix (rippled#7821, +392/−35) — Prevents bypassing MPT transfer fees via small-amount escrow rounding.

rippled — Pathfinding 2.0 (rippled#7392, +5,932/−2,204 across 39 files) — Replaces BFS-based pathfinding with a Dijkstra/Yen's K-Shortest algorithm on a persistent, incrementally-updated asset-exchange graph. Large community contribution; has conflicts.

rippled — Protocol version 2.3 (LedgerNodeDepth) (rippled#6353, +786/−176 across 21 files) — Replaces 32-byte node IDs with 2-byte depth values in TMLedgerNode messages. Long-running PR with 153 reviews.

rippled — OpenTelemetry Phase 1a (rippled#6436, +3,771/−3 across 11 files) — Architecture documentation for distributed tracing. Has 4 approvals; has conflicts.

Clio — MPToken UInt64 serialization fix (clio#3139, +233/−41) — Changes MPToken amount fields from JSON numbers to base-10 strings to avoid IEEE-754 precision loss for values above 2^53. Changes requested by core team (use std::pow).

Clio — MPT issuance history migration backfill (clio#3128, +1,580/−109) — Adds a Cassandra migration to backfill historical MPT issuance transactions.

xrpl.js — Confidential MPT (XLS-96) (xrpl.js#3364, +4,471/−2 across 62 files) — Wire-format definitions, transaction models, and field definitions for Confidential MPT.

xrpl4j — Batch V1.1 (XLS-56) (xrpl4j#808, +1,314/−289) — Draft; blocked until xrpld 3.3.0 is released for integration testing.

xrpl4j — Confidential MPT (XLS-96) (xrpl4j#810, +11,670/−1,455 across 143 files) — Includes cryptographic proof generation/verification via a native library. Approved.

xrpl-dev-portal — Known Amendments updates (xrpl-dev-portal#3785, +48/−1) — Adds BatchV1_1, LendingProtocolV1_1, and fixCleanup3_3_0 to the "Amendments in Development" table.

xrpl-dev-portal — TypeScript tutorial (xrpl-dev-portal#3749, +709/−0) — Approved by a core reviewer; needs conflict resolution. Closes long-standing request #1208.

xrpl-dev-portal — Clio 2.7.1 release blog post (xrpl-dev-portal#3783) — Draft; Clio release planned for July 20.

XRPL-Standards — LendingProtocolV1_1 accounting (XRPL-Standards#582, +118/−1) — Defines principal-only tracking for Vault.AssetsTotal and LoanBroker.DebtTotal under LendingProtocolV1_1.

XRPL-Standards — DynamicMPT opt-in-immutable (XRPL-Standards#583, +168/−196) — Proposes making DynamicMPT (XLS-94) opt-in-immutable.


What to Watch Next Week


Community & Discussions

Community member @SAY-5 submitted two null-safety PRs to rippled: asserting that PeerReservationTable is loaded before mutation (rippled#7828, closes #7509) and guarding against null SLEs in NoRippleCheck and GatewayBalances callbacks (rippled#7827, closes #7510). Both have unsigned-commit warnings that need to be resolved before merge.

Community member @muhammadsalah submitted a vault rounding fix (rippled#7824) to prevent shareholder dilution through deposit/withdraw conversions.

Community member @ChrisCarini opened a dependency fix in xrpl-py (xrpl-py#1018) to remove the upper bound on httpx and move types-Deprecated to dev dependencies, unblocking consumers that need newer httpx versions.

New issue — Silent flag encoding in xrpl-py (xrpl-py#1016): Community member @RaymondSeven reported that unrecognized flag names in dict-style transaction construction silently encode as Flags: 0 instead of raising an error — a fail-open condition that could result in transactions being submitted without intended flags.

New issue — xrpld 3.2.0 on Windows (rippled#7815): A user reported that xrpld 3.2.0 never advances past STATE->connected on Windows 10/WSL2. A core team member confirmed that Windows is unsupported.

NFToken Collection Offers discussion (XRPL-Standards#584): A new XLS proposal for "Collection Offers" — allowing buy offers against an entire NFT collection (Issuer+Taxon) rather than individual tokens.

Contributor @mathbunnyru continued a prolific modernization campaign with 8 rippled PRs merged this week — Doxygen unification, pre-commit hooks, clang-tidy checks, and CI optimization.


By the Numbers

Compared to last week (July 6–12, 2026):

MetricThis WeekLast WeekChange
Repos with activity88flat
rippled PRs merged2950↓21
rippled PRs opened2627↓1
rippled new issues11flat
rippled releases00flat
rippled commits2913↑16
xrpl.js PRs merged21↑1
xrpl.js PRs opened36↓3
xrpl.js closed issues10↑1
xrpl-py PRs merged10↑1
xrpl-py PRs opened45↓1
xrpl-py new issues11flat
xrpl4j PRs merged11flat
xrpl4j PRs opened74↑3
xrpl-dev-portal PRs merged69↓3
xrpl-dev-portal PRs opened1229↓17
xrpl-dev-portal commits713↓6
Clio PRs merged19↓8
Clio PRs opened24↓2
Clio releases12↓1
XRPL-Standards PRs merged51↑4
XRPL-Standards PRs opened95↑4
opensource.ripple.com PRs merged10↑1
opensource.ripple.com PRs opened11flat
Releases (total)12↓1

rippled's merge count dropped from 50 to 29 as the intense Sponsor (XLS-68) follow-up churn from last week subsided — this week's focus shifted toward the 3.3.0-rc1 cut, with bug fixes, test infrastructure, and code quality improvements dominating. The commit count rebounded (13→29). XRPL-Standards saw a significant increase (1→5 merges), reflecting spec maturation for Smart Escrow, Dynamic MPT, and vault features. The xrpl-dev-portal opened-PR count returned to normal (29→12) after last week's Dependabot spike. All three client SDKs had merges this week (xrpl.js: 2, xrpl-py: 1, xrpl4j: 1), driven by the coordinated Batch V1_1 and Dynamic MPT SDK rollout. Clio activity was quiet (9→1 merge) with the team preparing for the 2.7.1 release next week. Items tracked as "In Progress" last week that merged this week include the Doxygen unification (rippled#7776), the Batch transaction ID refactor (rippled#7736), and the xrpl.js BatchV1_1 support (xrpl.js#3371).

Generated on July 19, 2026 at 03:41 AM UTC using claude-opus-4-6