XRPL Developments Weekly Summary
October 19–25, 2026

TL;DR

A week of protocol housekeeping and cross-repo polish. In rippled, 10 PRs merged to develop — headlined by the complete removal of the XChainBridge feature (−17,095 lines) and the retirement of three legacy amendments (FillOrKill, AMM/AMMOverflowOffer, XRPFees). In xrpl4j, 4 PRs merged and a v7.0.0-rc.5 release candidate shipped with Batch validation, ZonedDateTime serialization, Single Asset Vault (XLS-65), and HopType fixes. On the developer portal, 4 PRs merged including new Clio MPToken reference docs and a rewritten "Send a Trust Line Token" tutorial. In xrpl.js, 2 PRs merged fixing Confidential Batch handling and dropping Node 20 from CI.

Summary

This week's XRP Ledger development was focused on cleaning house. The biggest change: the Cross-Chain Bridge feature (XChainBridge) was entirely removed from the core server codebase, deleting over 17,000 lines of code. This feature, which allowed bridging assets between XRPL sidechains, has been marked as obsolete — meaning validators can no longer vote to enable it, and all the related transaction types, data structures, and tests are gone from the development branch. For anyone running a node, this won't affect anything until a future tagged release ships, but it signals that the protocol is moving on from this approach. In addition, three other "amendments" (protocol changes that were adopted long ago) — FillOrKill, AMM, and XRPFees — had their legacy conditional code paths removed. Since these amendments are already permanently enabled on the network, this is purely a codebase simplification that makes the server easier to maintain.

On the tools and SDK side, the Java library (xrpl4j) published a release candidate (v7.0.0-rc.5) that fixes several issues Java developers have hit. Most notably, it corrects a validation rule that was rejecting valid Batch transactions — the library was enforcing a stricter rule than the actual protocol requires, making it impossible to deserialize certain transactions that the network had already validated. The release also fixes a date-formatting bug that could break applications mixing xrpl4j types with their own Java objects. The developer portal (xrpl.org) received a rewritten tutorial for sending trust-line-based tokens, new reference pages for two Clio-only API methods related to Multi-Purpose Tokens (MPTs), and a fix for the WebSocket developer tool that was showing annoying error popups while typing. Community contributors were especially active this week, with at least six people from outside the core teams submitting bug fixes and improvements across multiple repositories — from fixing undefined behavior in JSON parsing to aligning error codes between specs and code.

For the latest updates, follow @XRPLF and @RippleXDev on X, and explore the XRPLF repos directly for full development activity.


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)

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

Java SDK (xrpl4j — merged to main)

JavaScript SDK (xrpl.js — merged to main)


In Progress

rippled — config_reload admin RPC: rippled#8630 (+416/−18, 15 files) — Adds a new admin command allowing operators to reload specific config sections (starting with [transaction_queue]) without restarting the server. Approved by the AI reviewer; has outstanding Copilot-suggested improvements. This would be a notable quality-of-life improvement for node operators.

rippled — Batch preflight performance: rippled#8627 (+29/−25, 1 file) — Replaces std::unordered_set/map with std::flat_set backed by boost::container::small_vector in Batch (XLS-56) preflight checks, eliminating per-insertion heap allocations. Copilot recommended approval.

rippled — Reduce log verbosity: rippled#8628 (+35/−46, 5 files) — Adjusts debug log levels to reduce noise. Author notes it "dramatically improves the life of developers staring at debug logs."

rippled — Remove unchecked-optional-access suppressions: rippled#8637 (+136/−21, 5 files) — Refactors ApplyContext to hold a std::reference_wrapper instead of using optional-access suppressions. Approved by AI reviewer and Copilot.

rippled — Isolate gtest headers per directory: rippled#8635 (+462/−362, 199 files) — Compiles each test directory into its own object library to enforce header isolation. Approved by AI reviewer.

rippled — RPC handler migration part F: rippled#8626 (+1,316/−807, 27 files) — Continues the rpc-spec migration with six more handlers. Currently has merge conflicts.

rippled — Apply DeliverMax to inner Batch Payments: rippled#8558 (+366/−25, 9 files) — Ensures DeliverMax normalization applies to inner Batch Payments, simulate, and submit with tx_blob. Approved by AI reviewer; has outstanding Copilot finding.

xrpl4j — Defensive UnsignedByte copy: xrpl4j#857 (+323/−23, 7 files, labeled bug) — UnsignedByteArray now defensively copies mutable UnsignedByte instances, preventing destroy() from mutating shared static constants like ED2559_PREFIX. Approved by AI reviewer.

xrpl4j — Scope ObjectMapperFactory to xrpl4j types: xrpl4j#850 (+663/−22, 17 files) — Breaking change moving five Jackson behaviors from mapper-wide to xrpl4j-type-scoped via a custom AnnotationIntrospector. Approved by 2 reviewers.

xrpl.js — Fix OracleSet Scale max: xrpl.js#3553 (+21/−11, 4 files) — Raises SCALE_MAX from 10 to 20 to match rippled's kMaxPriceScale. Closes #3435.

xrpl.js — Return BigNumber from dropsToXrp: xrpl.js#3341 (+171/−90, 12 files) — Changes dropsToXrp() to return BigNumber instead of JavaScript number to prevent precision loss for large amounts. Approved by AI reviewer across 4 reviews; browser tests still failing.

xrpl-py — Update definitions generation: xrpl-py#1002 (+1,965/−353, 7 files) — Artifact-based definitions.json generation with CI validation against a live rippled container. Approved by AI reviewer.

xrpl-dev-portal — Ruby SDK tutorial: xrpl-dev-portal#3837 (+339/−3, 9 files) — Adds a "Get Started Using Ruby" tutorial and Ruby code samples for Send XRP. Foundation-approved; in infosec review.

XRPL-Standards — XLS-85 error code alignment: XRPL-Standards#671 (+2/−2) — Updates XLS-85 §1.2.2–1.2.3 so the documented MPT missing-holding error matches rippled's current tecNO_PERMISSION return. Approved by a reviewer.

XRPL-Standards — XLS-99 inline proof sizes: XRPL-Standards#664 (+5/−4) — Adds inline proof sizes and a both-mirrors failure condition to the XLS-99 spec. Approved by a reviewer.


What to Watch Next Week


Community & Discussions

Community-contributed bug fixes: @hmalinski (community member) opened rippled#8638 and rippled#8633, fixing undefined behavior in Json::Value::asBool() and an incorrect variable read in amountFromJson. The asBool PR carries forward @rick-mingyu-liu's earlier work from rippled#7684 with the requested changes applied. @hmalinski also opened xrpl.js#3553 fixing OracleSet scale validation. @praveenpretto-cloud opened rippled#8625 handling oversized unsigned ledger indexes in ledger_request. @Handy4ndy opened both the XLS-85 spec fix (XRPL-Standards#671) and the corresponding rippled fix (rippled#8634) for MPT escrow error codes. @saravanan619 contributed fixes in both xrpl.js#3551 (wallet seed/algorithm mismatch) and xrpl-py#1065 (canonical ledger entry names in AccountObjects). @nabe3m contributed token tutorial typo fixes (xrpl-dev-portal#4001) and continues Japanese translation work across multiple dev portal PRs (#4024, #4013, #4008).

New issues: @trungkien1992 reported rippled#8641 — an AMMDeposit in tfLPToken mode whose computed amount overflows returns tecINTERNAL instead of the expected tecAMM_FAILED under fixCleanup3_4_0. @Yut0Miura proposed adding shared, versioned X-address conformance test fixtures for XLS-5 (XRPL-Standards#672) to help SDK maintainers test against a canonical dataset. @cybele-ripple filed xrpl.js#3547 documenting that walletFromSecretNumbers produces an unrecoverable wallet due to a seed-family/algorithm mismatch.

New standards proposals: @quantova-inc's draft Qstamp Post-Quantum Evidence Anchor Memo spec (XRPL-Standards#665) awaits initial review. @poetsd opened XRPL-Standards#669, a non-normative FAQ entry for XLS-96 clarifying that enabling confidential balances permanently rules out a non-zero TransferFee. @whawk46's XLS-104 (Ephemeral Attested Credentials) draft (XRPL-Standards#651) has change requests; a companion discussion is at #656.

Clio CI: A new address-sanitizer issue was auto-filed (clio#3283) after tests failed one or more sanitizer checks, triggered by the xrpl-rpc-spec bump.


By the Numbers

Compared to last week (October 12–18, 2026):

MetricThis WeekLast WeekChange
Repos with activity77flat
rippled PRs merged1068↓58
rippled PRs opened1627↓11
rippled new issues16↓5
rippled closed issues11flat
rippled releases00flat
rippled commits1059↓49
xrpl.js PRs merged20↑2
xrpl.js PRs opened97↑2
xrpl.js new issues10↑1
xrpl.js releases00flat
xrpl.js commits20↑2
xrpl-py PRs merged00flat
xrpl-py PRs opened32↑1
xrpl-py releases01↓1
xrpl-dev-portal PRs merged44flat
xrpl-dev-portal PRs opened1715↑2
xrpl-dev-portal new issues01↓1
xrpl-dev-portal closed issues21↑1
xrpl-dev-portal commits67↓1
Clio PRs merged316↓13
Clio PRs opened02↓2
Clio new issues10↑1
Clio closed issues29↓7
Clio releases11flat
Clio commits316↓13
XRPL-Standards PRs merged11flat
XRPL-Standards PRs opened515↓10
XRPL-Standards new issues11flat
XRPL-Standards commits11flat
xrpl4j PRs merged44flat
xrpl4j PRs opened28↓6
xrpl4j new issues12↓1
xrpl4j releases10↑1
xrpl4j commits44flat
Total PRs merged (all repos)2493↓69
Total releases22flat

Carryovers from last week: The xrpl4j Single Asset Vault PR (xrpl4j#832), noted as "In Progress" last week with outstanding change requests, merged this week after revisions. The dev portal "Send Trust Line Token" tutorial (xrpl-dev-portal#3732), also in progress last week, went through a final review round and merged. The RPC-spec migration part E (rippled#8613), listed as "In Progress" last week, merged on Monday.

Trends: After last week's exceptional 93-merge burst driven by the FixedPrecision Vault stack and SHAMap hardening, this week returned to a steadier pace of 24 merges. The focus shifted to protocol cleanup — four amendment retirements and the XChainBridge removal collectively deleted over 18,000 lines of legacy code from rippled's develop branch. xrpl4j shipped its first release candidate of the week (v7.0.0-rc.5), consolidating several weeks of bug fixes. Community contributions were notably strong, with at least six external contributors opening PRs across rippled, xrpl.js, xrpl-py, the dev portal, and XRPL-Standards.

Generated on October 25, 2026 at 04:27 AM UTC using claude-opus-4-6