Releases: XRPLF/clio
2.3.0
Introducing Clio version 2.3.0
Version 2.3.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.
Notable New Features
- AmendmentCenter: central place to query amendment-related data
ledger_indexAPI: returns latest closed ledger index before the given date- More verbose forwarding errors
- Native
featureAPI - Add
force_forwardfield in requests - Cache on
server_infoAPI
Amendment Support
The following amendments have been introduced since Clio 2.2.5 and have transaction model changes. Clio 2.3.0 is built with libxrpl 2.3.0, which supports these amendments.
If these amendments are enabled and you have not upgraded Clio to 2.3.0 or newer, the ETL will be amendment blocked and new ledgers will not be processed.
To check the current voting status of these amendments on Mainnet, see the XRPL Amendments Dashboard.
Whats's changed
🚀 Features
- AmendmentCenter (#1418)
- Ledger index (#1503)
- More verbose forwarding errors (#1523)
- Native Feature RPC (#1526)
- Add stop to WorkQueue (#1600)
- Move/copy support in async framework (#1609)
- Delete-before support in data removal tool (#1649)
- Add 'force_forward' field to request (#1647)
- Server info cache (#1671)
- ETLng Registry (#1713)
- Upgrade to
libxrpl 2.3.0-rc1(#1718) - Implement MPT changes (#1147)
- Add Support Credentials for Clio (#1712)
- Upgrade to
libxrpl 2.3.0-rc2(#1736)
🐛 Bug Fixes
- Duplicate messages when subscribe both accounts and proposed_accounts (#1415)
- Remove unused file (#1496)
- Fix extra brackets in warnings (#1519)
- Fix the ledger_index timezone issue (#1522)
- Change the field name from "close_time_iso" to "closed (#1531)
- Compatible
featureresponse (#1539) - Relax error when
fulloraccountsset tofalse(#1540) - Add more account check (#1543)
- Support deleted object in ledger_entry (#1483)
- Fail to deduplicate the same nfts in ttNFTOKEN_CANCEL_OFFER (#1542)
- Static linkage (#1551)
- NftData unique bug (#1550)
- LedgerEntryNotExist unittest failure (#1564)
- Remove cassandra from log (#1557)
- Account_objects returns error when filter does not make sense (#1579)
- Use doxygen 1.12 (#1587)
- Support conan channels in
check_libxrplflow (#1583) - AccountNFT with invalid marker (#1589)
- Not forward admin API (#1628)
- Fix logging in SubscriptionSource (#1617) (#1632)
- Subscription source bugs fix (#1626) (#1633)
- Don't forward ledger API if 'full' is a string (#1640)
- Add more restrictions to admin fields (#1643)
- No restriction on type field (#1644)
- Pre-push tag (#1614)
- Upgrade Cassandra driver (#1646)
- Add no lint to ignore clang-tidy (#1660)
- Workaround for gcc12 bug with defaulted destructors (#1666)
- Deletion script will not OOM (#1679)
- Remove log (#1694)
- Example config syntax (#1696)
- Fix timer spurious calls (#1700)
- Fix issues clang-tidy found (#1708)
- Add queue size limit for websocket (#1701)
- Support Delete NFT (#1695)
- Credential error message (#1738)
- Authorized_credential elements in array not objects bug (#1744) (#1747)
- Add upper bound to limit
🚜 Refactor
- Structure global validators better (#1484)
- Separate fixtures (#1495)
- Refactor main (#1555)
- Clio Config (#1544)
- Move interval timer into a separate class (#1588)
- Create interface for DOSGuard (#1602)
- Subscription Manager uses async framework (#1605)
- Remove SubscriptionManagerRunner (#1623)
- Clio Config (#1593)
- Coroutine based webserver (#1699)
📚 Documentation
- Mention conventional commits (#1490)
- Use non-admin WS port (#1592)
- Document how to build with custom libxrpl (#1572)
🧪 Testing
- Add more tests for warnings (#1532)
- Make ForwardingSource tests more stable (#1607)
- Add test for WsConnection for ping response (#1619)
⚙️ Miscellaneous Tasks
- Added conventional commits check (#1487)
- Upgrade to libxrpl 2.3.0-b1 (#1489)
- Add permissions to pr title check workflow (#1491)
- Turn off PR labelling (#1492)
- Clio docker image (#1509)
- Fix nightly (#1514)
- Fix bugs in nightly docker publishing (#1520)
- Setup dependabot for github-actions (#1556)
- Update clang-format and ccache (#1559)
- Bump peter-evans/create-pull-request from 5 to 6 (#1560)
- Bump crazy-max/ghaction-import-gpg from 5 to 6 (#1561)
- Bump actions/configure-pages from 4 to 5 (#1562)
- Bump wandalen/wretry.action from 1.4.10 to 3.5.0 (#1563)
- Fix errors in docker image uploading (#1570)
- Fix nightly release workflow (#1577)
- Bump peter-evans/create-pull-request from 6 to 7 (#1636)
- Revert Cassandra driver upgrade (#1656)
- Update libxrpl to 2.3.0-b4 (#1667)
- Apply commits for
2.3.0-b4(#1725) - Bump ytanikin/PRConventionalCommits from 1.2.0 to 1.3.0 (#1670)
- Upgrade to llvm 19 tooling (#1681)
- Remove unused static variables (#1683)
- Add counter for total messages waiting to be sent (#1691)
- Fix nightly build (#1709)
- Bump wandalen/wretry.action from 3.5.0 to 3.7.0 (#1714)
- Bump wandalen/wretry.action from 3.7.0 to 3.7.2 (#1723)
- Add relevant changes from develop (#1762)
Full Changelog: 2.2.5...2.3.0
Contributors
- @PeterChen13579
- @cindyyan317
- @godexsoft
- @kuznetsss
- @legleux
- @mDuo13 - first time contribution in #1572
- @shawnxie999
- @yinyiqian1 - first time contribution in #1495
To report an issue or propose a new idea, please open an issue.
2.2.5
Introducing Clio version 2.2.5
Version 2.2.5 of Clio, an XRP Ledger API server optimized for HTTP and WebSocket API calls, is now available. This release adds a bug fix and feature
What's Changed
- Add changes that were included as part of Version 2.2.3 but omitted from Version 2.2.4 in 2.2.4...2.2.3
- Add counter for total messages waiting to be sent by @cindyyan317 in #1691
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. See the clio_migrator branch and its README for instructions.
Full Changelog: 2.2.4...2.2.5
2.2.4
Introducing Clio version 2.2.4
Version 2.2.4 of Clio, an XRP Ledger API server optimized for HTTP and WebSocket API calls, is now available. This release adds a bug fix.
What's Changed
- fix: Static linkage by @godexsoft in #1551
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. See the clio_migrator branch and its README for instructions.
Full Changelog: 2.2.3...2.2.4
2.2.3
Introducing Clio version 2.2.3
Version 2.2.3 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
- fix: Fix logging in SubscriptionSource by @kuznetsss in #1617
- feat: Published subscription message counters by @godexsoft in #1618
- fix: Subscription source bugs fix by @kuznetsss in #1626
- fix: not forward admin API by @cindyyan317 in #1629
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. See the clio_migrator branch and its README for instructions.
Full Changelog: 2.2.2...2.2.3
2.2.2
Introducing Clio version 2.2.2
Version 2.2.2 of Clio, an XRP Ledger API server optimized for HTTP and WebSocket API calls, is now available. This release adds bug fixes.
Bug fixes
- Relax error when
fulloraccountsset tofalseby @godexsoft in #1537 - Add more account check by @cindyyan317 in #1543
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. See the clio_migrator branch and its README for instructions.
Full Changelog: 2.2.1...2.2.2
2.2.1
Introducing Clio version 2.2.1
Version 2.2.1 of Clio, an XRP Ledger API server optimized for HTTP and WebSocket API calls, is now available. This release adds a bug fix.
Bug fixes
- Fix extra bracket in warnings by @kuznetsss in #1518
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. See the clio_migrator branch and its README for instructions.
Full Changelog: 2.2.0...2.2.1
2.2.0
Introducing Clio version 2.2.0
Version 2.2.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.
Notable New Features
- Price Oracle support, including
get_aggregate_priceAPI - Forwarding to rippled for
featureAPI- Clio-native implementation of
featureAPI is planned for future implementation
- Clio-native implementation of
- Improved doxygen documentation
- TLS 1.3 support
- C++23 compilers
Amendment Support
The following amendments have been introduced since Clio 2.1.2 and have transaction model changes. Clio 2.2.0 is built with libxrpl 2.2.0, which supports these amendments.
If these amendments are enabled and you have not upgraded Clio to 2.2.0 or newer, the ETL will be amendment blocked and new ledgers will not be processed.
To check the current voting status of these amendments on Mainnet, see the XRPL Amendments Dashboard.
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. Instructions for the migration are described https://github.com/XRPLF/clio/tree/clio_migrator%402.0.0
What's Changed
- Upload codecov in separate workflow by @godexsoft in #1166
- Rename all
detailnamespace and directories to toimplby @godexsoft in #1168 - Use json value_to to do the string convert by @cindyyan317 in #1172
- Improve Prometheus section in Readme by @kuznetsss in #1182
- Basic execution context framework by @godexsoft in #1004
- [1059] - [DOCS] Split README into separate files by @maria-robobug in #1191
- Refactor source by @kuznetsss in #1171
- Cleanup location of docs and example files by @maria-robobug in #1195
- Rewrite cache loader to async framework by @godexsoft in #1193
- Fix logo backdrop and alignment by @godexsoft in #1198
- Update issue templates by @godexsoft in #1202
- Turn on macOS runners in CI by @kuznetsss in #1185
- Add doxygen comments to Random and TerminationHandler by @kuznetsss in #1206
- Add cmake-format to docker and mac runners by @kuznetsss in #1213
- Add cmake-format to precommit hook by @kuznetsss in #1215
- Use doxygen-awesome theme by @godexsoft in #1214
- remove _ from public member by @cindyyan317 in #1217
- Add a note about pre-commit hook dependencies by @kuznetsss in #1220
- Add missing doxygen comments by @godexsoft in #1223
- Add doxygen to CI docker image by @godexsoft in #1225
- Automatically detect missing doxygen comments by @godexsoft in #1226
- Build docs and upload to gh-pages by @godexsoft in #1232
- Add forwarding cache by @kuznetsss in #1204
- Finish setting up gh-pages deploy by @godexsoft in #1233
- Fix documentation comment by @kuznetsss in #1234
- Upgrade libxrpl to 2.2.0-b1 by @godexsoft in #1237
- Refactor cmake by @kuznetsss in #1231
- Fix forwarding bug and float support for config by @kuznetsss in #1243
- Add clean up workdir by @kuznetsss in #1244
- Add workdir to safe directory in check format by @kuznetsss in #1247
- Add debug symbols for all targets by @kuznetsss in #1250
- Configure git-lfs by @godexsoft in #1210
- Add git-lfs to docker CI image by @godexsoft in #1259
- Fetch lfs files when generating docs by @godexsoft in #1260
- Upgrade actions to newer versions by @godexsoft in #1262
- Add 'oracle' to ledger object filter by @cindyyan317 in #1264
- Export etl metrics to prometheus by @kuznetsss in #1256
- [1194] Add instructions on how to generate Doxygen docs by @maria-robobug in #1208
- Update bug_report.md by @mounikakun in #1263
- Update README.md with developer docs link by @maria-robobug in #1267
- Remove mentions of release docs from workflow by @godexsoft in #1268
- Cache loading update by @cindyyan317 in #1254
- Fix tests by @kuznetsss in #1274
- Make assertions to be printed even when logger is off by @kuznetsss in #1275
- Run tests in container for nightly workflow by @kuznetsss in #1281
- Fix conan on macos in CI by @kuznetsss in #1283
- XRPFees - support new fields by @godexsoft in #1282
- Improve developer docs + formatting by @maria-robobug in #1278
- Add support for Price Oracle in
ledger_entryby @godexsoft in #1287 - Upgrade CI docker image to gcc-12 by @godexsoft in #1289
- Update ports to avoid conflicts by @kuznetsss in #1318
- Implement get_aggregate_price by @cindyyan317 in #1313
- Fix clang-tidy in CI by @kuznetsss in #1325
- Fix docker update trigger by @kuznetsss in #1330
- Change log level by @cindyyan317 in #1319
- Move to
std::expectedby @godexsoft in #1288 - Create issue if nightly fails by @kuznetsss in #1333
- Fix clang-tidy by @kuznetsss in #1339
- Turn off some clang-tidy checks by @kuznetsss in #1344
- Remove Any wrapper by @godexsoft in #1336
- Warn about deprecated fields by @kuznetsss in #1314
- Add detail to error log by @cindyyan317 in #1353
- Fix issue creation for nightly by @kuznetsss in #1355
- Fix deletion script by @cindyyan317 in #1357
- Support clang 16 in docker CI by @godexsoft in #1348
- Remove
fullfrom ledger RPC forwarding by @godexsoft in #1360 - Remove TTL usage by @godexsoft in #1361
- Add signals handler by @kuznetsss in #1365
- Disable cache on missing data by @godexsoft in #1368
- Static linkage by @godexsoft in #1377
- Move docker CI to LLVM 18 tooling by @godexsoft in #1381
- Combine requestStop and cancel as abort by @godexsoft in #1379
- Use LLVM 18 tooling by @godexsoft in #1382
- Fix missing tx from account_tx by @cindyyan317 in #1390
- Separate unit tests and integration tests by @godexsoft in #1393
- Fix nightly build by @godexsoft in #1398
- Fix typo in nightly by @godexsoft in #1403
- Fix bug: api version change does not affect the subscribed session by @cindyyan317 in #1404
- Push CI docker image on manual workflow run by @kuznetsss in #1408
- Cover LoadBalancer with tests by @kuznetsss in #1394
- Upgrade to 2.2.0-rc2 with manual temporary fixes by @godexsoft in #1413
- Date of commit in version string; No git hash in release version by @legleux in #1409
- Fix: Duplicate messages when subscribe both accounts and proposed_accounts by @cindyyan317 in #1415
- Upgrade
libxrplto 2.2.0-rc3 by @godexsoft in #1417 - Load tool by @kuznetsss in #1421
- Fix invalid syntax in example-config.json by @PeterChen13579 in #1423
- Move NameGenerator to util by @PeterChen13579 in #1428
- Flow to check new libXRPL version by @godexsoft in #1433
- Comment out precommit hook for Doc by @PeterChen13579 in #1432
- Change ledgerInfo and replace with ledgerHeader by @PeterChen13579 in #1426
- Update build documentation to address encountered errors by @PeterChen13579 in #1442
- Update libxrpl to 2.2.0 by @kuznetsss in https://github.com/...
2.1.2
Introducing Clio version 2.1.2
Version 2.1.2 of Clio, an XRP Ledger API server optimized for HTTP and WebSocket API calls, is now available. This release adds a new feature.
rippled Dependency on Clio
Clio needs to be updated to 2.1.2 or later before updating to rippled 2.2.0. Clio will be blocked if it is not updated first.
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. Instructions for the migration are described https://github.com/XRPLF/clio/tree/clio_migrator%402.0.0
What's Changed
- Upgrade xrpl to 2.2.0 by @kuznetsss in #1443
Full Changelog: 2.1.1...2.1.2
2.1.1
Introducing Clio version 2.1.1
Version 2.1.1 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.
New features
libxrpl2.1.0
Bug fixes
- Bug fix to support new fields for the XRPFees amendment by @godexsoft in #1280
- Version 2.0.0 of Clio supported the XRPFees amendment, but did not includes updates to the new fee fields
- If the XRPFees amendment is enabled and you have not upgraded Clio to 2.1.1 or newer, the new fee fields of the SetFee transaction and FeeSettings ledger entry would not be returned and the previous fee fields would return 0. The server_info API includes fee fields; new fee fields would not be returned and and previous fee fields would return 0
To check the current voting status of these amendments on Mainnet, see the XRPScan Amendments Dashboard.
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. Instructions for the migration are described https://github.com/XRPLF/clio/tree/clio_migrator%402.0.0
Testing Credits
- Thanks to @mounikakun and others for testing this release.
Full Changelog: 2.1.0...2.1.1
2.1.0
Introducing Clio version 2.1.0
Version 2.1.0 of Clio, an XRP Ledger API server optimized for HTTP and WebSocket API calls, is now available. This release adds new features, bug fixes, and amendment support.
Notable New Features
- Prometheus metrics collection
- Admin password configuration for admin rights
- New subscription manager
- amm_info API
Amendment Support
The following amendments have been introduced since Clio 2.0.0 and have transaction model changes. Clio 2.1.0 is built with libxrpl 2.0.0, which supports these amendments.
If these amendments are enabled and you have not upgraded Clio to 2.1.0 or newer, the ETL will be amendment blocked and new ledgers will not be processed.
To check the current voting status of these amendments on Mainnet, see the XRPScan Amendments Dashboard.
Database Migration
If you are currently running Clio 1.0.4 or earlier and upgrading, you must perform a database migration to properly support NFT data. Instructions for the migration are described https://github.com/XRPLF/clio/tree/clio_migrator%402.0.0
What's Changed
- Add clang tidy by @kuznetsss in #864
- Add tests for characters in currency validator by @kuznetsss in #872
- Add unittests for ledger publisher and bug fixes by @cindyyan317 in #860
- Add admin password check by @kuznetsss in #847
- Fix trans order of subscription transactions stream by @cindyyan317 in #882
- Fixes broken counters for broken pipe connections by @godexsoft in #880
- Fix error code unknow option by @cindyyan317 in #891
- Add inLedger to tx and account_tx by @godexsoft in #895
- Change consume to full buffer recreate by @godexsoft in #899
- Fix account_tx response both both ledger range and ledger index/hash are specified by @cindyyan317 in #904
- Fix error "readability-else-after-return" by @cindyyan317 in #905
- Add field name to output of invalidParams for OneOf by @godexsoft in #906
- Update cassandra version by @godexsoft in #844
- Update gtest version by @kuznetsss in #900
- Fix http params handling discrepancy by @godexsoft in #913
- Add db counts by @kuznetsss in #912
- ctid for tx by @cindyyan317 in #907
- Fix messages pile up by @cindyyan317 in #921
- Set libxrpl version to 2.0.0-b2 by @godexsoft in #926
- Fix dosguard max_connection by @cindyyan317 in #927
- Subscribe cleanup fix by @cindyyan317 in #940
- Add help part to readme by @kuznetsss in #938
- Upgrade fmt to 10.1.1 by @kuznetsss in #937
- Feature/update clang format 16 by @godexsoft in #908
- Add config to run without valid etl by @cindyyan317 in #946
- Amm ledgerentry by @cindyyan317 in #951
- Add AMM types to AccountTx filter by @kuznetsss in #954
- Fix wrong random using by @kuznetsss in #955
nfts_by_issuerby @shawnxie999 in #948- Fix random source choosing by @kuznetsss in #959
- Admin password by @cindyyan317 in #958
- Update conan to use xrpl 2.0.0-b4 by @godexsoft in #961
- Fix exit of ETL on exception by @godexsoft in #964
- Move AdminVerificationStrategy to Server by @cindyyan317 in #965
- Add prometheus support by @kuznetsss in #950
- Fix code inside assert by @kuznetsss in #969
- [Trivial] .empty() instead of .size() for vectors by @arihantkothari in #971
- Implement DID by @cindyyan317 in #967
- Add amm filter to ledger_data by @cindyyan317 in #972
- Add amm type to account objects by @kuznetsss in #975
- Fix lowercase ctid by @cindyyan317 in #977
- DeliverMax alias of Payment tx by @cindyyan317 in #979
- "DeliverMax" alias for Payment tx in subscription streams by @cindyyan317 in #980
- Update xrpl version to 2.0.0-rc1 by @godexsoft in #990
- Unify json by @cindyyan317 in #992
- Fix invalid binary for tx by @cindyyan317 in #993
- Comment out gcc-only checks by @kuznetsss in #995
- Add assertion that terminate clio by @kuznetsss in #994
- Add compression and histogram metric type for Prometheus by @kuznetsss in #987
- Fix nfts_by_issuer's DB issue by @cindyyan317 in #997
- Add server_definitions handler by @kuznetsss in #996
- Fix tx_type not work for binary mode by @cindyyan317 in #999
- Fix wrong assert by @kuznetsss in #1003
- Switch to llvm 17 tools by @kuznetsss in #1002
- Add hostname resolving to dosguard by @kuznetsss in #1000
- Fix git hook by @kuznetsss in #1005
- Fix paste on mac by @kuznetsss in #1006
- Fix Ledger close_time_iso by @cindyyan317 in #1008
- Make assert write to both log file and cerr by @kuznetsss in #1009
- Add close_time_iso to transaction stream by @cindyyan317 in #1012
- Fix compiler error: header missing by @cindyyan317 in #1016
- Fix example json format by @cindyyan317 in #1018
- Fix string ledger_index by @cindyyan317 in #1019
- Add nightly builds by @kuznetsss in #1013
- Fix permissions issue for clang-tidy by @kuznetsss in #1023
- Another fix of clang-tidy workflow by @kuznetsss in #1026
- Fix release notes by @kuznetsss in #1022
- Fix docker publish by @kuznetsss in #1027
- Add conan setup into image by @kuznetsss in #1032
- Make root default user in CI image by @kuznetsss in #1034
- Use clio_ci docker image by @kuznetsss in #1033
- Add statuses to readme by @kuznetsss in #1035
- Add signing clang-tidy's commit by @kuznetsss in #1036
- Fix nightly builds by @kuznetsss in #1040
- Fix commit signing in CI by @kuznetsss in #1041
- Another try to sign commit in CI by @kuznetsss in #1043
- Update CONTRIBUTING.md by @intelliot in #1047
- Remove exception text from error sending by @kuznetsss in #1048
- Add ccache mention in docs by @kuznetsss in #1055
- Fix c++20 requires syntax by @Bronek in #1057
- Add coverage_report target by @Bronek in #1058
- Bump libxrpl version to 2.0.0-rc6 by @godexsoft in #1061
- Simplify backend mock access for unittests by @godexsoft in #1062
- Add gcovr to CI docker image by @kuznetsss in #1072
- Add batching to writes by @godexsoft in #1076
- Add debug cache to ci by @kuznetsss in #1078
- Improve batching code by @godexsoft in #1079
- New subscription manager by @cindyyan317 in #1071
- Add api_version to ws response by @cindyyan317 in #1088
- Fix unstable unittest by @cindyyan317 in #1089
- Implement amm_info handler by @godexsoft in https://g...