rippled 3.4.1 was tagged and released this week with the fixBatchV1_2 amendment, fixing two security issues disclosed in an official blog post — operators should upgrade immediately. In rippled's develop branch, 41 PRs merged including new Lending Protocol features (Permissioned Domain credential checks and lending transactions in Batch), full ledger_entry support for checks/NFT offers/payment channels/signer lists, and a large Wrapped SLE refactoring wave. xrpl.js shipped v2.15.0 with an entropy validation fix, and xrpl4j published v7.0.0-rc.4 with pseudo-transaction flag fixes. The developer portal merged 9 PRs including the 3.4.1 vulnerability disclosure, XLS-50 validator TOML field documentation, and wiki migration corrections. opensource.ripple.com merged Smart Escrow (XLS-100) reference docs and a major component reorg.
The biggest news this week is the official release of rippled 3.4.1, the core server software that powers the XRP Ledger. This is a security release that fixes two bugs, both now publicly documented in an official vulnerability disclosure. One bug involved the Batch feature (which lets users bundle multiple transactions together) not properly checking how inner transactions were wrapped, potentially causing different server versions to disagree on what's valid. The second was an overflow error in the payment engine's math. Both were already patched — the binary packages went out in late September, and the source code was made public this week. If you run an XRP Ledger server, upgrading to 3.4.1 is recommended.
Beyond the release, development continued at a brisk pace. The Lending Protocol — a new financial feature being built for the XRPL — gained two important capabilities in the development branch: loan brokers can now be set up as private (only accessible to users with specific credentials), and lending transactions can now be included inside Batch operations for atomic multi-step workflows. The ledger_entry API command was expanded so developers can look up checks, NFT offers, payment channels, and signer lists by their natural fields (like account and sequence number) instead of requiring a raw hexadecimal ID — a quality-of-life improvement that makes building applications easier. The Cosign feature (which lets multiple parties propose and approve transactions on-chain) added a new transaction type for canceling proposals. Under the hood, the codebase saw a major wave of "Wrapped SLE" refactoring — replacing raw data access patterns with safer, typed wrappers — and the build system was upgraded to LLVM/Clang 23 across both rippled and Clio. For SDK users: the JavaScript library shipped version 2.15.0 with a fix for invalid entropy handling, and the Java library published a release candidate (v7.0.0-rc.4) fixing pseudo-transaction flag issues. A coordinated batch of nine Lending Protocol fixes — five in the JavaScript SDK and four in the Python SDK — were opened and approved, addressing validation gaps and signing issues found during a hackathon. These are expected to merge and release soon.
For the latest updates, follow @XRPLF and @RippleXDev on X, and explore the XRPLF repos for full development activity.
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.
featureLendingProtocolV1_2 is enabled. Before this amendment, these transaction types are rejected inside a Batch. Labeled feature: LP1.2.sfDomainID + lsfLoanBrokerPrivate), amendment-gated behind featureLendingProtocolV1_2. Labeled feature: LP1.2.ledger_entry support for checks, NFT offers, payment channels, and signer lists: rippled#6319 (+236/−12, 3 files) — These objects can now be looked up by their keylet fields (e.g., account + sequence), not just by raw ledger entry ID. Labeled API Change. Closes rippled#5198.TransactionProposalCancel for Cosign (XLS-103): rippled#7979 (+3,954/−42, 18 files) — Adds the TransactionProposalCancel transaction type (type 94), which deletes a TransactionProposal ledger entry and releases the proposer's reserve. Third transaction of the On-Chain Cosigner feature.ValidMPTIssuance invariant check gated on fixCleanup3_5_0: no transaction may clear an MPTokenIssuance flag except lsfMPTLocked (which tfMPTUnlock clears legitimately).transaction for consistency.vetoed parameter type in feature RPC: rippled#7583 (+20, 3 files) — Adds isBool() type validation on the vetoed parameter, returning RpcInvalidParams for non-boolean values instead of silently coercing. Closes rippled#6757.channel_id and signature: rippled#7582 (+37, 4 files) — Non-string inputs to ChannelAuthorize/ChannelVerify now return RpcInvalidParams immediately. Closes rippled#6765.ledger, version, book_changes, and transaction_entry handlers onto the shared xrpl-rpc-spec library and made the spec's ::rpc::Status the only RPC status type.FeeSettingsEntry (rippled#8370), LedgerHashesEntry (rippled#8369), EscrowEntry (rippled#8354), CheckEntry (rippled#8349), AmendmentsEntry (rippled#8368), and NegativeUNLEntry (rippled#8365). Collectively +233/−165 across 23 files, continuing the Wrapped SLEs migration.SLEBase.cpp, supporting follow-up Wrapped SLE PRs.FeeSettingsEntry everywhere: rippled#8370 (+20/−17, 6 files) — Migrates Ledger::setup(), Change::applyFee(), and related asserts.readability-redundant-lambda-parameter-list: rippled#8544 (+648/−668, 210 files) — Enabled and enforced a new clang-tidy check.XRPL_ASAN, XRPL_TSAN, XRPL_UBSAN for targeted #ifdef checks.get_aggregate_price returning the wrong error for invalid oracle_document_id. Closes clio#3241. (Was "In Progress" last week — now merged.)server_location, server_cloud, and network_asn to the [[VALIDATORS]] table reference, with a caution against publishing validator IP addresses.ledger_history/online_delete rule (xrpl-dev-portal#3996), migrated remaining amendment wiki content (xrpl-dev-portal#3990), addressed VOD feedback (xrpl-dev-portal#3987), added validator list failure documentation (xrpl-dev-portal#3981), and removed incorrect SharesTotal references from Vault docs (xrpl-dev-portal#3973).ConfidentialMPTClawback now repairs a missing auditor mirror. Follow-up flag/error value corrections in XRPL-Standards#655 (+14/−16).float_cmp return values: XRPL-Standards#627 (+14/−14) — Updated the return value specification so values don't overlap with error codes.flags() to UnlModify, SetFee, and EnableAmendment pseudo-transactions, introduced typed EnableAmendmentFlags, and added a Batch pseudo-tx guard. This is available now in release v7.0.0-rc.4. Closes xrpl4j#842.rippled — Optimize Number binary layout (rippled#8550, +6/−2) — Reorders Number data members to shrink the type from 24 to 16 bytes. Approved by 3 reviewers (including core team member @ximinez after initially requesting a static_assert). Very close to merging.
rippled — Amendment voting fix for key rotation (rippled#8540, +239/−81, 15 files) — Re-keys amendment vote tallying and laggard checks by NodeID (derived from the master key) so signing key rotations don't drop validators from vote counts. Approved by AI reviewer. Addresses rippled#8534.
rippled — TransactionProposalCancel and Ticket reservation for Cosign (rippled#8538, +3,969/−42, 18 files) — Follow-up to the Cosign implementation. Approved by a core reviewer. Labeled Ready to merge.
rippled — DeliverMax for inner Batch Payments (rippled#8558, +366/−25, 9 files) — Applies the DeliverMax rule to Payments inside a Batch's RawTransactions, simulate, and submit. Approved by AI reviewer. Addresses rippled#8557.
rippled — MPT/DEX offer fixes (rippled#8211, +2,645/−389, 11 files) — Handles MPT offers whose fee gross-up exceeds the maximum, limits input to MaximumAmount, and several other DEX arithmetic fixes. Approved by AI reviewer. Labeled Ready to merge.
rippled — BatchV2 amendment with BatchResult pseudo-transaction (rippled#8532, +862/−4, 15 files) — Records every inner transaction's outcome in a BatchResult pseudo-transaction. Approved by AI reviewer. Has conflicts to resolve.
rippled — SAX-based JSON parser (rippled#8541, +3,414/−985, 7 files) — Extracts a SAX-based parser from json_reader. Early review stage with feedback from a core team member.
rippled — Large clang-tidy sweeps: Several mechanical PRs in active review — misc-const-correctness (rippled#8546, +4,155/−4,041, 517 files, approved), readability-trailing-comma (rippled#8545, +15,054/−11,093, 242 files, approved), and additional checks (rippled#8543, approved). All from the LLVM 23 upgrade push.
rippled — Scoped enumerations for STPathElement::Type and ApplyFlags (rippled#8510, +613/−353, 67 files) — Introduces enum_bitops.h for opt-in bitwise operators on scoped enums. Approved by AI reviewer.
xrpl.js — Lending Protocol fixes (5 PRs): A contributor opened a coordinated batch of fixes — missing ledger entry types (xrpl.js#3535), optional zero-value fields (xrpl.js#3534), LoanSet/VaultCreate validation (xrpl.js#3533), missing CounterpartySignature error (xrpl.js#3532), and multisigned LoanSet support (xrpl.js#3531). All approved by AI reviewer.
xrpl-py — Parallel Lending Protocol fixes (4 PRs): Matching fixes for the Python SDK — validation gaps (xrpl-py#1062), VaultCreate fee autofill (xrpl-py#1061), missing signature error (xrpl-py#1060), and multisigned LoanSet (xrpl-py#1059). All approved by AI reviewer.
Clio — MPT subscription support (clio#3253, +733/−36, 18 files) — Early stage.
Clio — withTimeout cancellation fix (clio#3252, +118/−5) — Fixes a test-hanging race condition. Approved by a core reviewer.
Number optimization close to merge: rippled#8550 is approved by 3 reviewers including a core team member — shrinking Number from 24 to 16 bytes will reduce memory usage throughout the transaction engine.Community bug reports: @xVet filed rippled#8534 documenting that amendment voting drops validators after signing key rotations — a contributor opened a same-day fix PR. @donovanhide filed rippled#8557 noting that DeliverMax is not applied to Payments inside Batch's RawTransactions, also with a same-day fix. @xrpl365 filed a detailed report (rippled#8518) about online_delete rotation not being crash-safe; a core team member (@ximinez) responded with a detailed explanation of the startup process.
Community contributions: @harshitgupta62 landed two RPC input validation fixes — vetoed parameter type checking (rippled#7583) and channel_id/signature string validation (rippled#7582). @GautamBytes landed the CTID network ID validation fix in Clio (clio#3232). @xVet contributed XLS-50 validator TOML field documentation to the developer portal (xrpl-dev-portal#3995) and reviewed a community server listing. @rachelflynn contributed wiki migration fixes (xrpl-dev-portal#3996, xrpl-dev-portal#3990). @SachuJames opened a PR in xrpl-py to fail closed on unknown transaction flag names (xrpl-py#1058), though a more comprehensive PR (xrpl-py#1062) covers the same issue. @Adisaok submitted a PR adding Chain.Love as an API provider on the dev portal (xrpl-dev-portal#3998), pending Foundation review.
XRPL-Standards discussions: New proposals for Reproducible Release Attestations (#659), Delegate auto-expiry (#657), Ephemeral Attested Credentials (#656), Token Pre-Authorization XLS-87 (#654), and Atomic Swap (#652).
Developer portal issues: New issues filed for documenting ledger_entry lookup fields (xrpl-dev-portal#3988), hydration errors on the Payments page (xrpl-dev-portal#3985), and language selection resetting on landing pages (xrpl-dev-portal#3984).
Compared to last week (September 28 – October 4, 2026):
| Metric | This Week | Last Week | Change |
| Repos with activity | 8 | 8 | flat |
| rippled PRs merged | 41 | 44 | ↓3 |
| rippled PRs opened | 19 | 13 | ↑6 |
| rippled new issues | 4 | 3 | ↑1 |
| rippled closed issues | 3 | 4 | ↓1 |
| rippled releases | 1 | 0 | ↑1 |
| rippled commits | 39 | 31 | ↑8 |
| xrpl.js PRs merged | 0 | 10 | ↓10 |
| xrpl.js PRs opened | 7 | 23 | ↓16 |
| xrpl.js new issues | 0 | 6 | ↓6 |
| xrpl.js releases | 1 | 4 | ↓3 |
| xrpl.js commits | 0 | 1 | ↓1 |
| xrpl-py PRs merged | 0 | 0 | flat |
| xrpl-py PRs opened | 6 | 16 | ↓10 |
| xrpl-py releases | 0 | 0 | flat |
| xrpl-dev-portal PRs merged | 9 | 8 | ↑1 |
| xrpl-dev-portal PRs opened | 9 | 10 | ↓1 |
| xrpl-dev-portal new issues | 3 | 2 | ↑1 |
| xrpl-dev-portal commits | 19 | 9 | ↑10 |
| Clio PRs merged | 5 | 11 | ↓6 |
| Clio PRs opened | 4 | 2 | ↑2 |
| Clio new issues | 3 | 2 | ↑1 |
| Clio closed issues | 4 | 2 | ↑2 |
| Clio releases | 1 | 1 | flat |
| Clio commits | 5 | 11 | ↓6 |
| XRPL-Standards PRs merged | 4 | 1 | ↑3 |
| XRPL-Standards PRs opened | 6 | 11 | ↓5 |
| XRPL-Standards commits | 4 | 1 | ↑3 |
| xrpl4j PRs merged | 1 | 0 | ↑1 |
| xrpl4j releases | 1 | 0 | ↑1 |
| xrpl4j commits | 1 | 0 | ↑1 |
| opensource.ripple.com PRs merged | 2 | 0 | ↑2 |
| opensource.ripple.com commits | 8 | 0 | ↑8 |
| Total PRs merged (all repos) | 62 | 74 | ↓12 |
| Total releases | 4 | 5 | ↓1 |
Carryovers from last week: The Clio wire-format regression (clio#3242) and CTID validation fix (clio#3232), both noted as "In Progress" last week, merged this week. The opensource.ripple.com Smart Escrow reference docs (#240) also moved from "In Progress" to merged. The xrpl-py MPT DEX PR (xrpl-py#1043) remains open, while the rippled int64 overflow detection PR (rippled#8453) and MPT/DEX offer fixes (rippled#8211) continue in review.
Trends: The week's headline was the rippled 3.4.1 tagged release — the first rippled release in several weeks. Merge volume remains high (62 total) though down from last week's 74, with rippled contributing 41 of those. The developer portal doubled its commit count (9→19), driven by the vulnerability disclosure and wiki migration work. xrpl.js activity shifted from merges (10→0) to review — 7 Lending Protocol fix PRs opened, all approved, suggesting a merge wave next week. XRPL-Standards quadrupled its merge rate (1→4) as key rotation and XLS-102 specs finalized.