Horizon v0.17.0
Critical!
This release contains a critical bug! Please upgrade directly to 0.17.2.
Upgrade notes
This release introduces ingestion of failed transactions. This feature is turned off by default. To turn it on set environment variable: INGEST_FAILED_TRANSACTIONS=true
or CLI param: --ingest-failed-transactions=true
. Please note that ingesting failed transactions can double DB space requirements (especially important for full history deployments).
Database migration notes
Previous versions work fine with new schema so you can migrate (horizon db migrate up
using new binary) database without stopping the Horizon process. To reingest ledgers run horizon db reingest
using Horizon 0.17.0 binary. You can take advantage of the new horizon db reingest range
for parallel reingestion.
Deprecations
/operation_fee_stats
is deprecated in favour of/fee_stats
. Will be removed in v0.18.0.
Breaking changes
- Fields removed in this version:
- Root >
protocol_version
, usecurrent_protocol_version
andcore_supported_protocol_version
. - Ledger >
transaction_count
, usesuccessful_transaction_count
andfailed_transaction_count
. - Signer >
public_key
, usekey
.
- Root >
- This Horizon version no longer supports Core <10.0.0. Horizon can still ingest version <10 ledgers.
- Error event name during streaming changed to
error
to follow W3C specification.
Changes
- Added ingestion of failed transactions (see Upgrade notes). Use
include_failed=true
GET parameter to display failed transactions, operations and payments in collection endpoints. Single transaction endpoints (/transactions/{id}
,/transactions/{id}/operations
and/transactions/{id}/payments
) display information even if a transaction is failed so it's important to checksuccessful
andtransaction_successful
fields. /fee_stats
endpoint has been extended with fee percentiles and ledger capacity usage. Both are useful in transaction fee estimations.- Fixed a bug causing slice bounds out of range at
/account/{id}/offers
endpoint during streaming. - Added
horizon db reingest range X Y
that reingests ledgers between X and Y sequence number (closed intervals). - Many code improvements.