v23.0.0: Protocol 23 Release
Breaking Changes
- Support for Protocol 23, notably
TransactionMetaV4andLedgerCloseMetaV2, seestellar-xdr@v23.0 for the full protocol schema. - The
getLedgerEntryendpoint has been removed. This endpoint was already deprecated earlier in favor ofgetLedgerEntriesand is completely removed in this release. - The
pagingTokenfield ofgetEventsresults has been removed, use theidfield for individual events orcursorat the top level for pagination (#382). - The
snake_cased fields ofgetVersionInfohave been removed (commit_hash, etc.); prefer thecamelCased versions (#382). - Diagnostic events will no longer be present in the
getEventsstream (#4590).
Deprecations
- The
inSuccessfulContractCallfield ofgetEventsis now deprecated and will be removed in the next version (#4590).
Added
- You can now use an external datastore as a source for
getLedgers(#437). - Transactions that have expired footprints will now auto-restore in their simulation result (#463).
- Added a top-level
"events"structure to thegetTransactionandgetTransactionsendpoint which breaks down events into disjointcontractEvents[Xdr|Json]andtransactionEvents[Xdr|Json](#455). - Added
"**"wildcard to thegetEventsendpoint, enabling flexible topic matching without manual padding. For example,["X", "**"]filter matches events with"X"as the first topic followed by any number of topics. The wildcard can be used only as the last or only topic (#419). - Added a field to
getLedgerEntriesresults, theextension[Xdr|Json]field representing theLedgerEntry's extension (#388). - Added support for non-root authorization to
simulateTransactionwith a new, optional parameterauthModewhich can beenforce,record, andrecord_allow_nonroot(#432). getEventsnow includes anopIndexfor each event (#383).- Added missing ledger range fields to
getEvents, namelyoldestLedger,latestLedgerCloseTime, andoldestLedgerCloseTimeto correspond to all other endpoints (#409). getLedgerEntriesnow uses RPC's internal Captive Core's high-performance HTTP server rather than storing entries locally in sqlite (#353).
Fixed
- Event topic filters can now serialize and deserialize correctly (#427, #449).
- Fixed a potential scenario where
getLedgerswould crash with invalid parameters (#407). - Various scenarios where memory could leak have been fixed (#474, #472).
- The simulation library behind
simulateTransactionhas been updated to Protocol 23 (#484).
Contributors
- @socialsister made their first contribution in #476
- @leighmcculloch @2opremio @urvisavla @Shaptic
Full Changelog: v22.1.5...v23.0.0