A heavyweight week for rippled, where 26 PRs merged to the develop branch in a single day — including MPT/DEX fixes, lending protocol corrections, new invariant checks, a protocol bandwidth optimization, and a version bump to 3.2.0-b6. xrpl4j had its most productive week in months with 7 PRs merged, headlined by Lending Protocol (XLS-66) support (+11,084 lines across 88 files) and Dynamic MPT (XLS-94) support. On the developer portal, the Hooks feature page was marked inactive and replaced with Confidential Transfers and Lending cards. Confidential Transfers documentation updates merged on opensource.ripple.com.
This week saw a massive burst of activity on the core XRP Ledger server (rippled), where 26 changes were merged in a single day. None of these are live on the network yet — they all landed on the development branch and will only reach production when a new version is officially released. The changes include fixes to how Multi-Purpose Tokens behave on the decentralized exchange, corrections to the lending protocol's math (preventing rounding errors that could affect loan calculations), and a new bandwidth optimization that reduces the amount of data servers need to send each other when synchronizing their copies of the ledger. There's also a new safety feature: the server will now pause its cleanup of old ledger data if it detects gaps in its recent history, preventing potential data corruption.
The Java SDK (xrpl4j) had its most productive week recently, merging seven changes including full support for the Lending Protocol — which adds nine new transaction types for creating, managing, and repaying loans on the XRP Ledger — and Dynamic Multi-Purpose Tokens, which allow token properties to be updated after creation. These features will become available to Java developers once a new version is published to Maven Central. On the developer portal, the Hooks feature page was removed after three years without development, and replaced with links to Confidential Transfers and Lending — reflecting where active protocol development is focused. Documentation for Confidential Transfers was also updated on opensource.ripple.com, clarifying that transfer fees must be zero for confidential transactions and documenting the special transaction costs involved.
For ongoing updates, follow @XRPLF and @RippleXDev on X, and track development activity directly on the XRPLF GitHub repos.
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.
TMLedgerNode for leaf nodes, reducing peer-to-peer bandwidth during ledger synchronization. rippled#6353 (+899/−262). Operators will benefit from reduced network overhead once this ships in a release.canTrade/canTransfer flag behavior, AMM owner-count fix, and stricter BookStep checks. rippled#7040 (+1,617/−420). Also, non-canonical MPT amount validation — rippled#7117 (+1,062/−2).LedgerStateFix metadata for ExchangeRate. rippled#7087 (+669/−5).InvariantsV1_1 amendment. rippled#7029 (+596/−414). Clawback invariant checks also strengthened for MPT balances — rippled#7285.noripple_check API fix (labeled API Change): Error responses no longer include a transactions field. rippled#6303.Number::maxRep cusp (labeled Bug): Corrects rounding behavior at the maximum representable number boundary. rippled#7051 (+640/−355).iteratePriceData(): Prevents potential crash when iterating price oracle data. rippled#7305.AccountRoot. rippled#6620 (+1,558/−1,067 across 96 files).tec object deletion logic cleanup: Refactors transaction engine code (TEC) deletion handling. rippled#6588.fetchBatch code removed: rippled#7309.--parallel flag to build documentation. rippled#7302.golang.org/x/crypto in the lending-protocol code sample. xrpl-dev-portal#3554.LoanBrokerSet, LoanBrokerDelete, LoanBrokerCoverDeposit, LoanBrokerCoverWithdraw, LoanBrokerCoverClawback, LoanSet, LoanDelete, LoanManage, LoanPay) and two ledger objects (LoanObject, LoanBrokerObject), with associated flags and signing support. xrpl4j#719 (+11,084/−36 across 88 files). Merged — pending Maven Central release.result field. xrpl4j#785 (+106/−2).node.get() with node.path() so missing JSON fields return MissingNode instead of null. xrpl4j#786 (+117/−0).xrpl.js: dropsToXrp() precision fix (xrpl.js#3341, +83/−40) — Changes the return type from number to string to prevent precision loss for large XRP amounts. This is a breaking API change that also affects getXrpBalance() and getBalances(). Closes #3316. Has 4 reviews; browser tests still failing per @kuan121.
xrpl.js: Connection event spoofing fix (xrpl.js#3340, +94/−1) — Adds a denylist blocking server messages from emitting reserved internal events (connected, disconnected, error, reconnect). Closes #3318. Has 4 reviews.
xrpl.js: ReferenceHolding field and type fixes (xrpl.js#3345, +167/−7) — Adds ReferenceHolding to MPTokenIssuance and vault_info shares, plus fixes missing fields. Has 3 reviews. Corresponding definitions.json update at xrpl.js#3344 (+3,169/−238).
xrpl.js: Specific response types for ledger_entry (xrpl.js#3230, +250/−27) — Narrows LedgerEntryResponse based on the lookup field provided. 12 review rounds, active development.
xrpl.js: MPT-DEX support (XLS-82) (xrpl.js#3214, +2,534/−88 across 44 files) — Large feature PR with 43 review rounds. Active development by @ckeshava, noting a binary codec issue for MPTIssue that requires protocol-level decisions.
xrpl-py: Trailing zeros fix in Amount.to_json (xrpl-py#1001, +86/−5) — Fixes silent data corruption when IOU values are integer-form or scientific-notation Decimals. Approved by the AI reviewer.
xrpl-py: Seed prefix algorithm inference (xrpl-py#999, +32/−17) — Fixes Wallet.from_seed silently coercing secp256k1 seeds to ed25519, causing users to derive the wrong account. One review round.
xrpl-py: Confidential MPT support (XLS-96) (xrpl-py#919, +11,245/−648 across 47 files) — Draft PR, early stage.
xrpl4j: Account Permission Delegation (XLS-75) (xrpl4j#689, +5,336/−9 across 47 files) — 90 review rounds, long-running feature PR.
xrpl4j: MPT-DEX support (XLS-82) (xrpl4j#704, +7,011/−1,181 across 56 files) — 78 review rounds. Build currently broken due to missing MPT amendment in the rippled Docker image; awaiting a new image.
xrpl4j: Sponsored Fees and Reserves (XLS-68) (xrpl4j#720, +23,898/−176 across 215 files) — 17 review rounds.
xrpl-dev-portal: MPT DEX documentation (XLS-82) (xrpl-dev-portal#3537, +558/−125 across 33 files) — Has outstanding CHANGES_REQUESTED from @mDuo13 regarding capitalization and example data corrections. 5 review rounds.
xrpl-dev-portal: Blackholed accounts concept doc (xrpl-dev-portal#3652, +74/−14) — New concept page explaining blackholed accounts with cross-references.
xrpl-dev-portal: Use Tickets tutorial expansion (xrpl-dev-portal#3657, +422/−1,218) — Adds Python and Go code samples to the previously JS-only tutorial, and fixes broken multi-sign samples.
xrpl-dev-portal: Link checker tooling — Three PRs: a Python-based external link checker (xrpl-dev-portal#3655, +464/−1), a GitHub Actions workflow (xrpl-dev-portal#3656, +86/−0), and a Selenium-based variant (xrpl-dev-portal#3658, +691/−0).
xrpl-dev-portal: xrpl-up getting started tutorial (xrpl-dev-portal#3650, +146/−0) — Community contribution by a first-time participant adding a tutorial for the xrpl-up CLI tool.
XRPL-Standards: XLS-93 Token PayChan (XRPL-Standards#536, +311/−0) — New draft spec for token-enabled payment channels. Needs rebasing per @mvadari.
XRPL-Standards: WASM VM limits (XRPL-Standards#532, +7/−0) — Adds memory/data size constraints to XLS-0102. 4 reviews.
dropsToXrp() precision fix (xrpl.js#3341) — This is a breaking API change affecting any code that relies on a numeric return from dropsToXrp(). It has 4 reviews but browser tests are still failing. Worth watching because it will require downstream callers to update when it ships.Institutional settlement feedback: A community member (first-time participant) shared operational feedback on building a settlement orchestrator bridging Corda, Apache Fineract, and XRPL in XRPL-Standards Discussion #545, discussing implementation around XLS-33, XLS-65, Escrow semantics, and audit-grade settlement evidence.
XLS-93 Token PayChan spec: Community contributor @dangell7 submitted a new draft spec for token-enabled payment channels in XRPL-Standards#536. @mvadari noted it needs rebasing to latest master before review can proceed.
xrpl-up tutorial contribution: A community member (@shichengripple001) submitted a new "Get Started with xrpl-up" tutorial to the developer portal (xrpl-dev-portal#3650), covering local sandbox setup and project scaffolding.
xrpl4j bug reports: Two new issues filed — UInt64Type missing LockedAmount in its base-10 field list, causing MPT escrow values to be parsed as hex instead of decimal (xrpl4j#792), and MpTokenMetadata lacking the protocol's 1024-byte max length validation (xrpl4j#791).
Compared to last week (May 11–17, 2026):
| Metric | This Week | Last Week | Change |
| Repos with activity | 7 | 7 | flat |
| rippled PRs merged | 26 | 0 | ↑26 |
| rippled PRs opened | 4 | 0 | ↑4 |
| xrpl.js PRs merged | 0 | 0 | flat |
| xrpl.js PRs opened | 8 | 4 | ↑4 |
| xrpl-py PRs merged | 0 | 1 | ↓1 |
| xrpl-py PRs opened | 4 | 2 | ↑2 |
| xrpl4j PRs merged | 7 | 2 | ↑5 |
| xrpl4j PRs opened | 3 | 5 | ↓2 |
| xrpl-dev-portal PRs merged | 3 | 3 | flat |
| xrpl-dev-portal PRs opened | 10 | 5 | ↑5 |
| xrpl-dev-portal commits | 4 | 3 | ↑1 |
| XRPL-Standards PRs merged | 0 | 11 | ↓11 |
| XRPL-Standards PRs opened | 2 | 5 | ↓3 |
| Clio PRs merged | 1 | 6 | ↓5 |
| Clio commits | 1 | 5 | ↓4 |
| opensource.ripple.com PRs merged | 1 | 0 | ↑1 |
| Releases | 1 | 4 | ↓3 |
This week was a mirror image of last week: rippled swung from zero activity to 26 merges in a single day (Thursday), while XRPL-Standards went quiet after last week's 11-merge burst. xrpl4j had a strong week with 7 merges versus 2 last week — notably, the Lending Protocol (XLS-66) PR that was flagged as "In Progress" last week merged Wednesday, and the Dynamic MPT (XLS-94) PR merged Thursday. The xrpl4j NPE fixes (#785, #786) also carried over from last week's "In Progress" list and landed. The single release (Clio nightly) is down from last week's 4 releases.