A major week for the XRPL: the developer portal published the xrpld 3.4.1 release blog, announcing an emergency release with the new fixBatchV1_2 amendment expected to activate October 9 — validators must upgrade. In rippled, 26 PRs merged to develop including Cosign v1 branch integrations (XLS-103), the ConfidentialMPTMirrorUpdate transaction, Smart Escrow gas price and fee-limit fixes, SHAMap traversal correctness improvements, and a foundational SLE wrapper refactor (+3,201 lines). Clio shipped three 2.9.0 beta releases (b2–b4) and upgraded to libxrpl 3.4.0. The developer portal merged 13 PRs including an MPT migration guide and Go sample updates. xrpl4j v7.0.0-rc.3 was released with a signature-portability fix and a TickSize correction.
The biggest news this week is an emergency server release. Version 3.4.1 of the XRP Ledger server software (xrpld) was announced via the developer portal, introducing a fix called "fixBatchV1_2" that addresses issues with the Batch transaction feature. This fix already has supermajority support from validators and is expected to become a mandatory part of the protocol on October 9, 2026. Anyone running an XRP Ledger server needs to upgrade to 3.4.1 before that date, or their server will fall out of sync with the rest of the network.
Behind the scenes, developers continued advancing several major features. The On-Chain Cosigner feature (XLS-103), which lets multiple parties propose and approve transactions directly on the ledger, had three large branch integrations merged into the development branch — this is getting closer to being ready for a future release. Smart Escrow, the feature that allows running WebAssembly programs on the ledger, received two important safety fixes: one prevents the network from voting the execution price down to zero (which would make running programs effectively free), and another ensures all nodes use the same fee limits from the shared ledger state rather than their own local settings. A foundational architecture change also landed: typed wrapper classes for every type of ledger entry (think of these as structured containers replacing raw data blobs), making the codebase safer and easier to maintain long-term. The Clio API server, which many applications use to query the ledger, upgraded to support all features from the 3.4.0 release and published three beta builds (2.9.0-b2 through b4) as it moves toward a stable release. The Java SDK shipped version 7.0.0-rc.3 with a security fix that prevents signatures from being reused across different transaction roles. The developer portal at xrpl.org published a new guide for token issuers who want to migrate from the older Trust Line token system to the newer Multi-Purpose Tokens (MPTs), updated all Go programming examples to the latest SDK version, and continued migrating wiki content into the main documentation.
For the latest, follow @XRPLF and @RippleXDev on X. The xrpld 3.4.1 release announcement is at xrpl.org/blog/2026/xrpld-3.4.1.
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.
TransactionProposalCreate runs passesLocalChecks on inner payloads per XLS-0103 §5.3.1 rippled#8279 (+28/−15).ttFEE with sfGasPrice < 1 now returns temBAD_FEE.gasLimit, bytecodeSizeLimit, and gasPrice are now read from ledger FeeSettings rather than local node config, preventing divergent transaction admission across nodes.ledger command: rippled#6401 (+110, 2 files) — The ledger RPC method now includes a ctid field in expanded transaction objects, aligning with tx, account_tx, and subscription APIs. Closes #5885.belowHelper now derives node IDs from the branch actually descended, correcting subtree-name mismatches. Introduces NodePathStack to make the bug structurally impossible.boundHelper unification: rippled#7943 (+88/−44, 3 files) — Collapses near-duplicate upperBound/lowerBound into a single parameterized function.LazyTranslation compilation mode: rippled#8242 (+3/−2) — Pins the wasmi compilation mode explicitly rather than relying on defaults.FieldLocator optimization: rippled#8230 (+191/−152, 20 files) — Removes unused code and optimizes the field locator.float_compare() doc and enum refactor: rippled#8217 (+674/−191, 20 files) — Updates documentation and restructures the comparison enum definition.Peer test doubles with two shared ones (PeerStub and CapturePeer), adding one small production function (newestSupportedProtocolVersion()).forwarded check in ServerHandler::processSession.[[nodiscard]] attributes, corrects a README dependency path, and other cleanup items flagged by the AI reviewer.std::source_location to MPTTester for more precise test error reporting.limit field from mpt_holders output when filtering by account_id.sponsorship_id, loan_broker_id, and loan_id host functions, closing a gap where these ledger objects had no keylet-construction function in the spec.LastLedgerSequence fix: xrpl.js#3494 (+8/−4) — Removes an overly strict check that rejected LastLedgerSequence in inner Batch transactions, aligning with rippled's actual behavior. Merged — pending release.VaultCreate now uses the network base fee during autofill instead of incorrectly charging the owner reserve. Closes #3427. Merged — pending release.fixCleanup3_4_0 signature-portability fix, binding Counterparty and Sponsor signatures to role-specific hash prefixes (CPT/CPM/SPN/SPM). Prevents cross-role signature replay. Released in xrpl4j v7.0.0-rc.3.AccountSet.TickSize of 16 to match rippled's Quality::kMaxTickSize, fixing deserialization failures on historical ledger data. Released in xrpl4j v7.0.0-rc.3.rippled — BaseUInt modernization (rippled#8300, +3351/−2925, 147 files) — A large refactor converting BaseUInt to 64-bit limbs with constexpr/noexcept operations, safer construction, and removal of unsafe raw-pointer constructors. Has outstanding review comments.
rippled — Retire fixAMMv1_1 amendment (rippled#8226, +656/−1597, 11 files) — Moves fixAMMv1_1 to the retired list and deletes all conditional code. Approved by 2 reviewers.
rippled — Allow lending transactions in Batch (rippled#8244, +811/−20) — Enables Single Asset Vault and Lending Protocol transactions as Batch inner transactions when featureLendingProtocolV1_2 is active. Approved by core reviewer and AI reviewer. Labeled feature: LP1.2.
rippled — Paginate account_lines/offers/channels past new owner-directory types (rippled#8274, +170/−31) — Fixes pagination when encountering new ledger entry types in owner directories.
rippled — OpenTelemetry tracing foundation (rippled#8293, +12794/−253, 80 files) — Introduces distributed tracing infrastructure for rippled. Has changes requested from AI reviewer.
rippled — SAX-based JSON parser extraction (rippled#8280, +2876/−931) — Refactors the JSON reader into a reusable SAX parser. Under active review.
rippled — rpc-spec initial integration (rippled#8284, +857/−5, 12 files) — Begins integrating the xrpl-rpc-spec library into rippled with a JSON bridge. Under active review.
rippled — Cosign v1 TransactionProposalCreate (XLS-103) (rippled#8205, +4035, 32 files) — The primary implementation PR for the On-Chain Cosigner amendment. Marked "Ready to merge."
rippled — LedgerMaster documentation (rippled#8160, +714/−23) — Comprehensive Doxygen documentation for every declaration in the LedgerMaster class. Approved by 2 reviewers, marked "Ready to merge."
xrpl4j — Single Asset Vault model changes (xrpl4j#832, +1915/−27, 35 files) — Adds LendingProtocolV1_1 vault models. Approved by 3 reviewers — close to merging.
xrpl.js — Entropy validation backports — Four PRs backporting the Wallet.fromEntropy validation fix to maintenance lines: 4.x, 3.x, 2.x, 1.x. All approved.
Clio — Conform to rpc-spec 0.1.19 (clio#3233, +366/−342, 106 files) — Renames RippledError to XrpldError and decouples from boost::json.
fixAMMv1_1 retirement: rippled#8226 has 2 approvals and is a mechanical retirement — likely to merge soon, cleaning up ~1,600 lines of conditional code.LendingProtocolV1_1 vault support.Devnet version gap reported: A validator operator asked about running on Devnet, which is on 3.4.1 with fixBatchV1_2 enabled. Their 3.3.0 node cannot join because the amendment is unknown at that version, and the amendment doesn't appear in 3.4.0 or develop either, leaving operators unable to sync with Devnet using any publicly tagged build.
Confidential MPT and transfer fees: A community member documented that XLS-96 confidentiality and native transfer fees are mutually exclusive and the choice is permanent once set, including a reproduction script tested on Devnet.
New community proposals: A Typed Settlement Wire Grammar for structured XRPL memo payloads was proposed, along with a Resource-Based XRP Burn Mechanism suggesting dynamic fees tied to transaction resource usage. An early-exit fee for closed-ended vaults was proposed with a companion spec PR.
Community contributions: A community member submitted rippled#8307 implementing post-dated checks (featurePostDatedChecks) with a DeliverAfter field on CheckCreate. Another community member opened rippled#8303 adding Loan and LoanBroker to account_objects deletion blockers. A community member contributed rippled#8294 implementing a --check-config CLI option (closes #8263). In xrpl.js, a community member opened xrpl.js#3483 fixing Batch sponsor signing requirements.
New issues: A potential infinite-loop bug was filed in rippled's root(Number, unsigned) function where Newton–Raphson iterates can cycle through three values for d >= 3 (rippled#8288). An operator requested a --check-config validation option (rippled#8263). Clio received requests for authoritative graceful shutdown and Prometheus version metrics.
Compared to last week (September 14–20, 2026):
| Metric | This Week | Last Week | Change |
| Repos with activity | 8 | 8 | flat |
| rippled PRs merged | 26 | 13 | ↑13 |
| rippled PRs opened | 24 | 18 | ↑6 |
| rippled new issues | 3 | 1 | ↑2 |
| rippled closed issues | 2 | 4 | ↓2 |
| rippled releases | 0 | 1 | ↓1 |
| rippled commits | 13 | 25 | ↓12 |
| xrpl.js PRs merged | 5 | 1 | ↑4 |
| xrpl.js PRs opened | 8 | 5 | ↑3 |
| xrpl.js new issues | 3 | 2 | ↑1 |
| xrpl.js closed issues | 1 | 24 | ↓23 |
| xrpl.js releases | 2 | 1 | ↑1 |
| xrpl.js commits | 5 | 1 | ↑4 |
| xrpl-py PRs merged | 1 | 2 | ↓1 |
| xrpl-py PRs opened | 1 | 4 | ↓3 |
| xrpl-py new issues | 0 | 1 | ↓1 |
| xrpl-py releases | 0 | 1 | ↓1 |
| xrpl-py commits | 1 | 2 | ↓1 |
| xrpl-dev-portal PRs merged | 13 | 25 | ↓12 |
| xrpl-dev-portal PRs opened | 9 | 11 | ↓2 |
| xrpl-dev-portal new issues | 1 | 1 | flat |
| xrpl-dev-portal commits | 31 | 106 | ↓75 |
| Clio PRs merged | 8 | 9 | ↓1 |
| Clio PRs opened | 8 | 2 | ↑6 |
| Clio new issues | 2 | 2 | flat |
| Clio releases | 4 | 1 | ↑3 |
| Clio commits | 5 | 9 | ↓4 |
| XRPL-Standards PRs merged | 2 | 4 | ↓2 |
| XRPL-Standards PRs opened | 6 | 10 | ↓4 |
| XRPL-Standards commits | 2 | 4 | ↓2 |
| xrpl4j PRs merged | 2 | 4 | ↓2 |
| xrpl4j PRs opened | 5 | 13 | ↓8 |
| xrpl4j releases | 1 | 1 | flat |
| xrpl4j commits | 2 | 3 | ↓1 |
| opensource.ripple.com PRs merged | 1 | 0 | ↑1 |
| Total PRs merged (all repos) | 58 | 58 | flat |
| Total releases | 7 | 6 | ↑1 |
Carryovers from last week: The Clio libxrpl 3.4.0 upgrade (clio#3217) and the closed-ended Vault spec rewrite (XRPL-Standards#636) — both noted as "In Progress" last week — merged this week. The xrpl4j Counterparty/Sponsor signing prefix PR (xrpl4j#834), also "In Progress" last week, merged and shipped in v7.0.0-rc.3. Trends: rippled doubled its merge rate (13→26), driven primarily by Cosign v1 branch integrations, Smart Escrow fixes, and SHAMap correctness work. Dev portal activity normalized after last week's massive 3.4.0 documentation push (25→13 merged, 106→31 commits). Clio shipped 4 releases (3 betas + 1 nightly) compared to 1 last week, signaling active 2.9.0 preparation. Total merged PR count held steady at 58 across both weeks.