What's Changed
- fix: Adjust xrpld systemd service and update timer by @legleux in #7374
- refactor: Use
STLedgerEntrytype aliases instead ofstd::shared_ptrby @Tapanito in #7282 - ci: [DEPENDABOT] bump eps1lon/actions-label-merge-conflict from 3.0.3 to 3.1.0 by @dependabot[bot] in #7375
- ci: Check binaries separately from building them by @mathbunnyru in #7355
- ci: Patch binaries in nix-based images and test in every distro by @mathbunnyru in #7376
- test: Suppress invariant-failure logs in Vault and LoanBroker bug-regression tests by @Tapanito in #7379
- chore: Update flake.lock to allow conan with clang-22 support by @mathbunnyru in #7390
- refactor: Replace
intr_ptr::SharedPtr<SHAMapTreeNode>bySHAMapTreeNodePtrby @bthomee in #7396 - ci: Install gcov, nettools, cacert in nix images by @mathbunnyru in #7398
- fix: Add zero NFT Offer ID check for NFTokenCancelOffer by @yinyiqian1 in #7391
- ci: Fix clang asan include dirs in nix images, add curl & gnupg by @mathbunnyru in #7400
- ci: Improve sanitizer-libs, add doxygen, dpkg, rpm in nix by @mathbunnyru in #7403
- test: Fix LCOV_EXCL_END -> LCOV_EXCL_STOP by @mathbunnyru in #7407
- ci: Redesign matrix configuration based on Nix images by @mathbunnyru in #7385
- ci: Update clang-tidy to nix-based v22 by @mathbunnyru in #7412
- ci: Use multiple directories in dependabot config by @mathbunnyru in #7413
- ci: Refactor build-related nix / docker / workflows by @mathbunnyru in #7408
- ci: [DEPENDABOT] bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #7414
- build: Create single test binary xrpl_tests by @mathbunnyru in #7327
- ci: [DEPENDABOT] bump codecov/codecov-action from 6.0.1 to 7.0.0 by @dependabot[bot] in #7426
- ci: Use new packaging images and don't cancel develop builds by @mathbunnyru in #7417
- ci: Use XRPLF/actions build-multiarch-image workflow by @mathbunnyru in #7428
- refactor: Use const function arguments where possible by @bthomee in #7423
- refactor: Use
std::moveandstd::string_viewwhere possible by @bthomee in #7424 - refactor: Change config section and key string literals into constants by @bthomee in #7095
- refactor: Introduce XRPL_ASSERT_IF for amendment-gated assertions by @Tapanito in #7378
- feat: Use C++ 23 standard by @mathbunnyru in #7431
- fix: Fix Number comparison operator by @ximinez in #7406
- ci: Launch upload-conan-deps on profile change by @mathbunnyru in #7442
- test: Do not create data directory for memory databases by @bthomee in #7323
- refactor: Retire fixUniversalNumber amendment by @pratikmankawde in #5962
- perf: Dispatch "hasInvalidAmount()" on type tag instead of dynamic_cast by @Tapanito in #7402
- fix: Disable transaction invariants by @Tapanito in #7409
- ci: Add
ghandfileto nix packages by @mathbunnyru in #7444 - fix: Add [[maybe_unused]] to fix320Enabled for assert=OFF builds by @shichengripple001 in #7446
- ci: Make configurations launch on certain event types by @mathbunnyru in #7447
- ci: Make sanitizer flags lists in the profile, not a string by @mathbunnyru in #7449
- fix: Correct hybrid offer deletion on credential expiry by @Kassaking7 in #6843
- ci: Run sanitizers on release builds too by @mathbunnyru in #7527
- ci: Patch conan recipe for Nix to be able to use on macOS by @mathbunnyru in #7532
- test: Add null check unit test for
Oracle::aggregatePriceby @pratikmankawde in #7306 - chore: Remove conan patch in nix by @kuznetsss in #7534
- fix: Always charge peer on strand by @bthomee in #7422
- fix: Check Fee-Free Division by Zero in AMMWithdraw singleWithdrawEPrice by @Kassaking7 in #6989
- build: Add ClangBuildAnalyzer to Nix by @mathbunnyru in #7538
- fix: Silence UBSan diagnostics in the ubsan build config by @pratikmankawde in #7531
- docs: Rewrite build environment docs by @mathbunnyru in #7533
- build: Add zip to Nix images by @mathbunnyru in #7551
- build: Add git-lfs to Nix images by @mathbunnyru in #7561
- ci: Make clang-tidy workflow adjustments to stay in sync with Clio by @mathbunnyru in #7563
- release: Merge release/3.2.x into develop by @pratikmankawde in #7553
- build: Add graphviz to Nix images by @mathbunnyru in #7566
- docs: Fix some comments to improve readability by @solunolab in #7405
- ci: Disable assertions on Release builds by @legleux in #7443
- fix: Use template for granular delegation permissions by @yinyiqian1 in #6613
- fix: Ensure xrpld service directories exist at startup by @legleux in #7565
- ci: [DEPENDABOT] bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #7585
- ci: Build and push docker images in forks too by @mathbunnyru in #7588
- feat: Remove clear mutable flags for DynamicMPT XLS-94 by @yinyiqian1 in #7439
- fix: Improve ValidAMM invariant by @Kassaking7 in #7295
- fix: Move AMMInvariant weakInvariantCheck logic into the transaction by @Kassaking7 in #7032
- refactor: Clean up tec object deletion logic by @mvadari in #6588
- refactor: Use dispatch instead of post by @bthomee in #7438
- ci: Update workflows and conan to use VS2026 and grpc 1.81.0 by @a1q123456 in #7550
- fix: Reject delegate permission to pseudo accounts by @yinyiqian1 in #7597
- refactor: Refactor TaggedCache.ipp to remove const_cast in canonicalize_replace_cache by @a1q123456 in #5638
- fix: AMM Quality Leak into Domain BookStep for Permissioned DEX by @Kassaking7 in #6853
- fix: Additional RPC validation checks on ammRpcInfo account and amm_account fields. by @TimothyBanks in #7324
- fix: Add pragma once checker by @mathbunnyru in #7580
- test: Add test for Permissioned Domain sequence fix by @mvadari in #7591
- chore: Check more tools to be available by @mathbunnyru in #7600
- build: Patch nix binaries in CMake by @mathbunnyru in #7539
- chore: Use clang-tidy v22 new features by @mathbunnyru in #7427
- build: Align xrpld RPM packaging with DEB package by @legleux in #7529
- build: Switch to a new conan XRPLF remote by @mathbunnyru in #7622
- chore: Revert "build: Switch to a new conan XRPLF remote (#7622)" by @mathbunnyru in #7623
- build: Switch to a new conan XRPLF remote, again by @mathbunnyru in #7638
- refactor: Rename (mostly keylet) functions to more closely match the docs by @mvadari in #7059
- refactor: Retire Clawback amendment by @TimothyBanks in #7353
- refactor: Retire NFTokenReserve fix by @TimothyBanks in #7367
- ci: Better determine when we need to run full clang-tidy by @mathbunnyru in #7635
- chore: Enable groups of clang-tidy checks by default by @mathbunnyru in #7637
- fix: Block delegate tx from being queued by @yinyiqian1 in #7640
- fix: Unify freeze checks for pseudo-account deposit/withdraw by @Tapanito in #7382
- fix: Use trustline balance direction to validate IOU PaymentMint/PaymentBurn by @yinyiqian1 in #7584
- feat: Confidential Transfer for MPT by @shawnxie999 in #5860
- chore: Enable most bugprone checks by @mathbunnyru in #7643
- chore: Add a script to nicely format clang-tidy output by @mathbunnyru in #7650
- build: Mark sec256k1 and mpt-crypto as transitive headers by @mathbunnyru in #7658
- ci: Use macOS 26 Tahoe with apple-clang 21 by @mathbunnyru in #7601
- chore: Use std::ranges where possible by @mathbunnyru in #7634
- feat: Introduce lending 1.1 amendment and add
MemoDatafield toVaultDeletetransaction by @Tapanito in #6324 - feat: Add Batch (XLS-56) V1_1 by @dangell7 in #6446
- feat: Add an invariant to ensure object deletion also deletes its pseudo-account by @Tapanito in #7445
- chore: Update pre-commit hooks && actions by @mathbunnyru in #7686
- ci: [DEPENDABOT] bump actions/setup-python from 6.2.0 to 6.3.0 by @dependabot[bot] in #7657
- build: Don't reuse binaries between different C++ versions by @mathbunnyru in #7681
- test: Add tests for TMProofPathResponse and TMReplayDeltaResponse invalid hash/key sizes by @mathbunnyru in #7593
- fix: Disable AMM creation with Vault shares by @Tapanito in #7666
- refactor: Retire InnerObjTemplate fix by @TimothyBanks in #7368
- build: Add verify-headers target to cleanup headers by @mathbunnyru in #7670
- refactor: Retire DisallowIncomingV1 fix by @TimothyBanks in #7364
- chore: Improve pre-commit hooks by @bthomee in #7702
- chore: Make clang-tidy happy on macOS by @mathbunnyru in #7701
- chore: Enable modernize-unary-static-assert by @mathbunnyru in #7705
- feat: Enable ConfidentialTransfer and BatchV1_1 by @yinyiqian1 in #7698
- build: Add protobuf dependencies to Nix by @bthomee in #7706
- chore: Enable modernize-use-auto by @mathbunnyru in #7707
- chore: Enable modernize-avoid-bind by @mathbunnyru in #7711
- chore: Enable modernize-use-constraints by @mathbunnyru in #7715
- chore: Delete dead code by @mathbunnyru in #7718
- chore: Enable most modernize checks by @mathbunnyru in #7664
- chore: Fix unity build by @a1q123456 in #7730
- chore: Enable most misc checks by @mathbunnyru in #7663
- test: Migrate resource, shamap Beast tests to GTest by @marek-foss-neti in #7133
- test: Migrate basics Beast tests to GTest by @marek-foss-neti in #7136
- chore: Enable most cppcoreguidelines checks by @mathbunnyru in #7660
- perf: Use std::from/to_chars for JSON double parsing/formating by @mathbunnyru in #7735
- chore: Enable most performance checks by @mathbunnyru in #7727
- release: Bump version to 3.3.0-b1 by @mathbunnyru in #7755
- chore: Use same compiler in Nix devshell as in CI by @mathbunnyru in #7751
- chore: Add .envrc for automatic devshell switch by direnv by @kuznetsss in #7756
- feat: XLS-68: Sponsor, #5887 continuation by @oleks-rip in #7350
- fix: Improve Number addition/subtraction rounding by @ximinez in #7369
- style: Unify style for all Doxygen comments by @mathbunnyru in #7776
- style: Add pre-commit hook to check doxygen style by @mathbunnyru in #7794
- test: Add tests for check doxygen style by @mathbunnyru in #7795
- refactor: Move
jss.hincludeout ofIndexes.hby @mvadari in #7799 - feat: Add delegate filter param for account_tx RPC by @PeterChen13579 in #6126
- chore: Run clang_tidy_check with
pass_filenames: falsefrom pre-commit by @mathbunnyru in #7800 - ci: Do not run conflict checker when label is applied by @bthomee in #7774
- test: Add JSON array size tests by @godexsoft in #7592
- chore: Enable most readability checks by @mathbunnyru in #7772
- docs: Add more information about pre-commit hooks and how to set them up by @mathbunnyru in #7802
- ci: Add Rust to Nix docker image by @kuznetsss in #7571
- test: Add unit tests for IP address related functions by @a1q123456 in #7744
- fix: Strengthen Clawback invariant checks for MPT balances by @gregtatcam in #7285
- ci: Run full matrix only on
Ready to mergeorFull CI buildlabeled PRs by @mathbunnyru in #7689 - fix: Document and assert "after" is never null in invariants by @ximinez in #7354
- fix: Handle rounding just above kMaxRep more accurately by @ximinez in #7389
- fix: Update base_uint and test changes released in 3.1.3 by @ximinez in #7570
- fix: Add amendment sponsor for AccountRootsDeletedClean by @Kassaking7 in #7801
- fix: Re-store nodes missing from both backends during online_delete rotation by @sophiax851 in #7763
- fix: Allocate TaggedCache::getKeys() memory outside of lock by @ximinez in #7567
- ci: Fix workflow launch on matrix-unrelated labels by @mathbunnyru in #7812
- fix: Reject zero CheckID in CheckCancel and CheckCash by @vvysokikh1 in #7685
- chore: Update mpt-crypto-lib to 0.4.0-rc4 by @PeterChen13579 in #7813
- refactor: Remove redundant enable checks in ConfidentialMPT txs by @mvadari in #7809
- fix: Refactor Batch Transaction IDs by @dangell7 in #7736
- chore: Bump version to 3.3.0-rc1 by @bthomee in #7806
- release: Staging branch for 3.3.0 by @mathbunnyru in #7972
New Contributors
- @shichengripple001 made their first contribution in #7446
- @solunolab made their first contribution in #7405
- @TimothyBanks made their first contribution in #7324
Full Changelog: 3.2.1...3.3.0