Immutable
release. Only release title and notes can be modified.
Release notes
Version 2.7.0 of Clio, an XRP Ledger API server optimized for HTTP and WebSocket API calls, is now available.
This release adds new features and bug fixes.
What's changed
🚀 Features
- Support account_mptoken_issuances and account_mptokens (#2680) by @yinyiqian1
- Async framework
submiton strand/ctx (#2751) by @godexsoft - New ETL by default (#2752) by @godexsoft
- Ledger publisher use async framework (#2756) by @godexsoft
- WorkQueue priorities (#2721) by @godexsoft
- Read and write LedgerCache to file (#2761) by @kuznetsss
- Graceful shutdown with old web server (#2786) by @kuznetsss
- Handle prometheus requests in WorkQueue (#2790) by @mathbunnyru
- Add observable value util (#2831) by @godexsoft
- Add DynamicMPT in account_mptoken_issuances (#2820) by @yinyiqian1
- Option to save cache asyncronously (#2883) by @kuznetsss
- Basic support for channels (#2859) by @godexsoft
- Add build information to
clio_server --version(#2893) by @mathbunnyru
🐛 Bug Fixes
- Flaky DeadlineIsHandledCorrectly (#2716) by @godexsoft
- Empty signer list (#2746) by @PeterChen13579
- Match ledger_entry error codes with rippled (#2549) by @emreariyurek
- Print cache saving error (#2794) by @kuznetsss
- WorkQueue contention (#2866) by @godexsoft
- No output from failed asserts in tests (#2905) by @kuznetsss
- Workaround an edge case exception in
AmendmentCenter(#2897) by @godexsoft - Faster implementation of work queue (#2887) by @godexsoft
🚜 Refactor
- Duplicate ledger_index pattern for RPC handlers (#2755) by @emreariyurek
- Make getLedgerIndex return std::expected instead of throwing (#2788) by @emreariyurek
- Add writing command to etl::SystemState (#2842) by @kuznetsss
📚 Documentation
- Remove logging.md from readme (#2710) by @emreariyurek
- Fix graceful_period description (#2791) by @kuznetsss
🎨 Styling
- Fix pre-commit style issues (#2743) by @mathbunnyru
- Fix comment in pre-commit-autoupdate.yml (#2750) by @mathbunnyru
- Fix hadolint issues (#2777) by @mathbunnyru
- Add black pre-commit hook (#2811) by @mathbunnyru
- Update pre-commit hooks (#2825) by @github-actions[bot]
- Use shfmt for shell scripts (#2841) by @mathbunnyru
- Update pre-commit hooks (#2875) by @github-actions[bot]
- Fix clang-tidy error (#2901) by @kuznetsss
🧪 Testing
- Fix flaky test (#2729) by @kuznetsss
⚙️ Miscellaneous Tasks
- Pin all GitHub actions (#2712) by @mathbunnyru
- Use intermediate environment variables for improved security (#2713) by @mathbunnyru
- Save full logs for failed sanitized tests (#2715) by @mathbunnyru
- Enable clang asan builds (#2717) by @mathbunnyru
- [DEPENDABOT] bump actions/upload-artifact from 4.6.2 to 5.0.0 (#2722) by @dependabot[bot]
- [DEPENDABOT] bump actions/upload-artifact from 4.6.2 to 5.0.0 in /.github/actions/code-coverage (#2725) by @dependabot[bot]
- [DEPENDABOT] bump actions/download-artifact from 5.0.0 to 6.0.0 (#2723) by @dependabot[bot]
- Better pre-commit failure message (#2720) by @mathbunnyru
- Use XRPLF/get-nproc (#2727) by @mathbunnyru
- [DEPENDABOT] bump actions/checkout from 4.3.0 to 5.0.0 (#2724) by @dependabot[bot]
- Release nightly with date (#2731) by @mathbunnyru
- Fix nightly commits link (#2738) by @mathbunnyru
- Use new prepare-runner (#2742) by @mathbunnyru
- Update tooling in Docker images (#2737) by @mathbunnyru
- Install pre-commit in the main CI image as well (#2744) by @mathbunnyru
- Update docker images (#2745) by @mathbunnyru
- Add date to nightly release title (#2748) by @mathbunnyru
- Update prepare-runner to fix ccache on macOS (#2749) by @mathbunnyru
- Remove backticks from release date (#2754) by @mathbunnyru
- Specify apple-clang 17.0 in conan profile (#2757) by @mathbunnyru
- Fix pre commit hook failing on empty file (#2766) by @kuznetsss
- [DEPENDABOT] bump docker/setup-qemu-action from 3.6.0 to 3.7.0 in /.github/actions/build-docker-image (#2763) by @dependabot[bot]
- [DEPENDABOT] bump docker/metadata-action from 5.8.0 to 5.9.0 in /.github/actions/build-docker-image (#2762) by @dependabot[bot]
- Change default
max_queue_sizeto 1000 (#2771) by @godexsoft - Specify bash as default shell in workflows (#2772) by @mathbunnyru
- Force ucontext in ASAN builds (#2775) by @godexsoft
- Start using xrpl/3.0.0-rc1 (#2776) by @mathbunnyru
- Use ucontext with ASAN (#2774) by @godexsoft
- Remove redundant silencing of ASAN errors in CI (#2779) by @godexsoft
- Use env vars instead of input (#2781) by @mathbunnyru
- Improve cache implementation (#2780) by @mathbunnyru
- Update nudb recipe to remove linker warnings (#2787) by @mathbunnyru
- Use env vars instead of input in cache-key (#2789) by @mathbunnyru
- Add defines for asan/tsan to conan profile (#2784) by @godexsoft
- Enable TSAN in CI (#2785) by @godexsoft
- Don't download ccache on develop branch (#2792) by @mathbunnyru
- Always upload cache on develop (#2793) by @mathbunnyru
- [DEPENDABOT] Bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#2805) by @dependabot[bot]
- [DEPENDABOT] Bump actions/checkout from 5.0.0 to 6.0.0 (#2806) by @dependabot[bot]
- Update spdlog and fmt libraries (#2804) by @mathbunnyru
- Run clang-tidy 3 times to make sure we don't have to fix again (#2803) by @mathbunnyru
- Repeat-based tests TSAN fixes (#2810) by @godexsoft
- WebServerAdminTestsSuit TSAN issues (#2809) by @godexsoft
- Use boost::asio::ssl::stream instead of boost::beast::ssl_stream (#2814) by @mathbunnyru
- Install latest Ninja in images (#2813) by @mathbunnyru
- Update images to use latest Ninja (#2817) by @mathbunnyru
- Update lockfile (#2818) by @mathbunnyru
- Add mathbunnyru to maintainers (#2823) by @godexsoft
- TSAN fix async-signal-unsafe (#2824) by @godexsoft
- [DEPENDABOT] Bump docker/metadata-action from 5.9.0 to 5.10.0 in /.github/actions/build-docker-image (#2826) by @dependabot[bot]
- [DEPENDABOT] Bump actions/checkout from 6.0.0 to 6.0.1 (#2837) by @dependabot[bot]
- [DEPENDABOT] Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (#2836) by @dependabot[bot]
- [DEPENDABOT] Bump ytanikin/pr-conventional-commits from 1.4.2 to 1.5.1 (#2835) by @dependabot[bot]
- Less delay in ETL taskman (#2802) by @godexsoft
- Add systemd file to the debian package (#2844) by @mathbunnyru
- Switch to xrpl/3.0.0 (#2843) by @mathbunnyru
- Put debian package to release (#2850) by @mathbunnyru
- Add a script to regenerate conan lockfile (#2849) by @mathbunnyru
- [DEPENDABOT] Bump tj-actions/changed-files from 46.0.5 to 47.0.1 (#2853) by @dependabot[bot]
- [DEPENDABOT] Bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (#2854) by @dependabot[bot]
- [DEPENDABOT] Bump actions/download-artifact from 6.0.0 to 7.0.0 (#2855) by @dependabot[bot]
- [DEPENDABOT] Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#2856) by @dependabot[bot]
- [DEPENDABOT] Bump codecov/codecov-action from 5.5.1 to 5.5.2 (#2857) by @dependabot[bot]
- [DEPENDABOT] Bump actions/upload-artifact from 5.0.0 to 6.0.0 in /.github/actions/code-coverage (#2858) by @dependabot[bot]
- Update shared actions (#2852) by @mathbunnyru
- Remove unnecessary creation of build directory (#2867) by @bthomee
- [DEPENDABOT] Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 in /.github/actions/build-docker-image (#2872) by @dependabot[bot]
- [DEPENDABOT] Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (#2870) by @dependabot[bot]
- [DEPENDABOT] Bump actions/cache from 4.3.0 to 5.0.1 (#2871) by @dependabot[bot]
- Use updated prepare-runner in actions and worfklows (#2889) by @bthomee
- Fix branch name and commit SHA for GitHub PRs (#2888) by @mathbunnyru
- Show ccache stats with
-vv(#2902) by @mathbunnyru - Pass version explicitly and don't rely on tags (#2904) by @mathbunnyru
- Update gtest and spdlog (#2908) by @mathbunnyru
- Update tooling in Docker images (#2907) by @mathbunnyru
- Use images/actions with new tools / conan / cmake (#2909) by @mathbunnyru
- Use actual build date instead of date of last commit for
BUILD_DATE(#2911) by @mathbunnyru - Use env for BUILD_TYPE in reusable-build.yml (#2913) by @mathbunnyru
- Change build date format (#2914) by @mathbunnyru
- Restart colima on macOS (#2923)
◀️ Revert
- "refactor: Add writing command to etl::SystemState" (#2860) by @mathbunnyru