Protocol 23 Release Candidate
Breaking Changes
- Support for Protocol 23.
- The
getLedgerEntryendpoint has been removed. This endpoint was already deprecated earlier in favor ofgetLedgerEntriesand is completely removed in this release. - Diagnostic events will no longer be present in the
getEventsstream (#4590). - The
inSuccessfulContractCallfield ofgetEventsis now deprecated and will be removed in the next version (#4590).
Added
- Added a top-level
"events"structure to thegetTransactionandgetTransactionsendpoint which breaks down events into disjointdiagnosticEvents[Xdr|Json],contractEvents[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 the 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).
Fixed
- Event topic filters can now serialize and deserialize correctly (#427, #449).
- Fixed a potential scenario where
getLedgerswould crash with invalid parameters (#407).
All Changes
Details
getLedgerEntries: optionally use high-performance Core server by @Shaptic in #353- Stop allocating a port for the HTTP server when the query server is enabled by @Shaptic in #366
- Filter non-temporary entries from eviction by @Shaptic in #377
- Remove deprecated fields and Captive Core configuration parameters by @Shaptic in #382
- Add benchmark for getLedgerentries method by @2opremio in #380
- Unify request validation methods for
getLedgersandgetTransactionsby @Shaptic in #407 - Add operation index to event result by @Shaptic in #383
- Add ledger close times and oldest ledger in DB to getEvents response by @Shaptic in #409
- Provide
simulateTransactionledger entries through core by @2opremio in #412 - Remove support for storing ledger entries in local db by @urvisavla in #417
- Update integration test to use the stellar-rpc docker image by @urvisavla in #422
- Add serialization support for topic filters by @Shaptic in #427
- Add support for flexible topics length matching using wildcard in getEvents by @urvisavla in #419
- Remove the UseDB flag from rpc configuration by @urvisavla in #440
- Add support for non-root authorization in simulation by @Shaptic in #432
- Use
maps.Copyfor cleaner map handling by @pengqiseven in #438 - Update Golang XDR definitions to protocol 23 by @2opremio in #442
- Update schema for Core's
/getledgerentriesendpoint by @Shaptic in #436 - Fix "**" wildcard validation for correct json parsing by @urvisavla in #449
- Add support for external datastore as source of historical ledger data by @urvisavla in #437
- Expand events in
getTransactionresponse by @urvisavla in #455 - Add extension field to
getLedgerEntriesresponse by @Shaptic in #388 - Add test for get ledger entry without
liveUntilLedgerSeqby @leighmcculloch in #433 - Bump stellar/go dependency by @urvisavla in #458
- Add chronological event insertion for different application phases by @Shaptic in #459
- Reset event indices at ledger level over transaction level by @Shaptic in #461
New Contributors
- @pengqiseven made their first contribution in #438
Full Changelog: v22.1.3...v23.0.0-rc.1