Releases: stellar/go
Horizon v2.12.0
Features
- Result codes for fee-bump transactions will now also include the inner result codes (4081)
Performance improvements
-
XDR encoding/decoding pipelines have been optimized (4069, 4068, 4073, 4064, 4071, 4075, 4077)
-
Path-finding on the
/paths
endpoint has been sped up significantly (4091, 4096, 4102, 4105, 4113)
Fixes
-
Improves error parsing from Captive Core (4066)
-
Prevent duplicate errors related to liquidity pool tables during repeated reingestion of same range (4114)
-
In the 2.11.0 release there was a bug introduced which made the
horizon db reingest range
command ignore optional parameters like--parallel-workers
. This bug is now fixed so all optional command line flags are parsed correctly (4127)
Horizon v2.11.0
Changes
- Add a new horizon flag
--max-assets-per-path-request
(15
by default) that sets the number of assets to consider for strict-send and strict-recieve requests (4046) - Add an endpoint
/liquidity_pools?account={account_id}
which returns the liquidity pools an account is participating in 4043 - Add a new horizon command
horizon db fill-gaps
which fills any gaps in history in the horizon db. The command takes optional start and end ledger parameters. If the start and end ledger is provided then horizon will only fill the gaps found within the given ledger range 4060 - Improve performance of
/liquidity_pools/{liquidity_pool_id}/effects
endpoint by optimizing the db query to fetch effects for a liquidity pool 4065 - Include the captive core binary in the
stellar/horizon
Docker image 4019 - Remove
--captive-core-reuse-storage-dir
horizon flag 4048 - Improve performance of XDR encoding which should also improve ingestion speeds 4063, 4056, 3957
- Improve detection of when the Stellar Core binary has been modified 4050
horizon_ingest_state_verify_ledger_entries
metric was changed to gauge 4054
Horizon v2.10.0
This is a minor release with no DB Schema migrations nor explicit state rebuild.
Changes
- Use the correct asset when calculating liquidity pool disbursements (4018)
- Make sure Stellar-Core is not started before previous instance termination (4020)
- Add a new feature flag
--ingest-enable-extended-log-ledger-stats
(false
by default) that enables extra ledger stats when logging ledger processing info (4017) - Add a new command
horizon record-metrics
that records:[ADMIN_PORT]/metrics
into a zip file for debugging purposes (4023) - Expose the
Latest-Ledger
header to browser web pages (3995) - Correct
horizon db reingest range
output command name when invokinghorizon db detect-gaps
(4007) - Add new Prometheus metrics:
round_trip_time_seconds
: time required to runselect 1
query in the DB (4009)state_verify_ledger_entries_count
: number of ledger entries downloaded from buckets in a single state verifier run (4015)ledger_fetch_duration_seconds
: duration of fetching ledgers from ledger backend, sliding window = 10m (4016)
Horizon v2.9.0
Upgrading to this version from <= v2.8.3 will trigger a state rebuild. During this process (which will take at least 10 minutes), Horizon will not ingest new ledgers.
Protocol 18 support: This release adds support for Protocol 18 (CAP 38: Automated Market Makers).
DB Schema Migration
- This release comes with a DB migration removing
offer_id
field fromhistory_trades
table and adding new tables related to AMM. It should not take more than 15 minutes to complete the migration.
Breaking changes
- There are multiple breaking changes that will activate on Protocol 18 upgrade. Please check the Horizon Liquidity Pool API doc or the Apiary Mock for more information. Please upgrade to the latest SDKs that are backward compatible.
- The
--ingest
flag is set by default. If--captive-core-config-path
is not set, the config file is generated based on network passhprase (3783).
Changes
- CAP 38: Automated Market Makers) support. All the API changes have been outlined in Horizon Liquidity Pool API doc.
- Update
/paths
endpoint to take liquidity pools into account when searching for possible routes between assets (3818). - Multiple performance improvements in
/paths
: 3816, 3965, 3933. - Requests to
/paths
are now cancelled, respecting--connection-timeout
flag value (3081). - Multiple performance improvements to state ingestion processors: 3945, 3956, 3963, 3953, 3944.
- Add missing tx result codes in
txsub
(3866). - Add new metric
ProcessorsRunDurationSummary
, oldProcessorsRunDuration
is deprecated (3940). - Logs during state ingesiton now display
progress
value which is percentage progress indicator (3946).
horizonclient & txnbuild v8.0.0
This SDK release supports Protocol 18.
You should upgrade to the latest version of this SDK as soon as possible: it is required for full compatibility once Protocol 18 is live. There are changes to Stellar's binary protocol that are not backwards compatible, and earlier versions may soon provide an incomplete or broken picture of the network.
There were no changes between the beta and stable release of this SDK version. For a comprehensive list of changes to the library, you can refer to the beta release notes.
Horizon v2.9.0 rc1
Upgrading to this version from <= v2.8.3 will trigger a state rebuild. During this process (which will take at least 10 minutes), Horizon will not ingest new ledgers.
Protocol 18 support: This release adds support for Protocol 18 (CAP 38: Automated Market Makers).
DB Schema Migration
- This release comes with a DB migration removing
offer_id
field fromhistory_trades
table and adding new tables related to AMM. It should not take more than 15 minutes to complete the migration.
Breaking changes
- The
--ingest
flag is set by default. If--captive-core-config-path
is not set, the config file is generated based on network passhprase (3783).
Changes
- CAP 38: Automated Market Makers) support.
- Update
/paths
endpoint to take liquidity pools into account when searching for possible routes between assets (3818). - Multiple performance improvements in
/paths
: 3816, 3965, 3933. - Requests to
/paths
are now cancelled, respecting--connection-timeout
flag value (3081). - Multiple performance improvements to state ingestion processors: 3945, 3956, 3963, 3953, 3944.
- Add missing tx result codes in
txsub
(3866). - Add new metric
ProcessorsRunDurationSummary
, oldProcessorsRunDuration
is deprecated (3940). - Logs during state ingesiton now display
progress
value which is percentage progress indicator (3946).
horizonclient & txnbuild v8.0.0-beta.0
This pre-release adds support for Protocol 18.
horizonclient
- The restriction that
Fund
can only be called on the DefaultTestNetClient has been removed. Anyhorizonclient.Client
may now call Fund. Horizon instances not supporting funding will error with a resource not found error. - Change
AccountRequest
to acceptSponsor
andLiquidityPool
filters - Change
EffectRequest
,TransactionRequest
, andOperationRequest
to accept aForLiquidityPool
filter - Change
TradeRequest
to accept both aForLiquidityPool
filter or aTradeType
filter - Add
LiquidityPoolsRequest
for getting details about liquidity pools, with an optionalReserves
field to filter by pools' reserve asset(s). - Add
LiquidityPoolRequest
for getting details about a specific liquidity pool via theLiquidityPoolID
filter.
txnbuild
New features
GenericTransaction
,Transaction
, andFeeBumpTransaction
now implement
encoding.TextMarshaler
andencoding.TextUnmarshaler
.- New asset structures that conform to the new ChangeTrust and New assets:
- Support for the core liquidity pool XDR types:
LiquidityPoolId
,LiquidityPoolParameters
,LiquidityPoolDeposit
, andLiquidityPoolWithdraw
. - Support for the new asset structures:
ChangeTrustAsset
andTrustLineAsset
.
Changes
- There's now a 5-minute grace period to
transaction.ReadChallengeTx
's minimum time bound constraint (#3824). - Assets can now be liquidity pool shares (
AssetTypePoolShare
). - All asset objects can now be converted to the new
ChangeTrustAsset
andTrustLineAsset
objects. - Assets can now be compared in accordance with the protocol, see their respective
LessThan()
implementations.
Breaking changes
ChangeTrust
requires aChangeTrustAsset
.RevokeSponsorship
requires aTrustLineAsset
when revoking trustlines.RemoveTrustlineOp
helper now requires aChangeTrustAsset
validate*Asset
helpers now require more-specific asset types.
Horizon v2.8.3
Upgrading to this version from <= v2.8.0 will trigger a state rebuild. During this process (which will take at least 10 minutes), Horizon will not ingest new ledgers.
DB State Migration
- This release comes with a small DB migration. It should not take more than a couple minutes.
Scheduled Changes
In the 2.9.0 Horizon release, the --ingest
flag will be set to true
by default.
Changes
Horizon v2.8.2
Upgrading to this version from <= v2.8.0 will trigger a state rebuild. During this process (which will take at least 10 minutes), Horizon will not ingest new ledgers.
In the 2.9.0 Horizon release, the --ingest
flag will be set to true
by default.
- Improve performance of
OffersProcessor
. This should speed up ingestion of latest Stellar Public Network activity by up to 30%. Please note that this change does not improve reingestion speed because ledger entries are not processed during reingestion. (3917)
Horizon v2.8.1
Upgrading to this version from <= v2.8.0 will trigger a state rebuild. During this process (which will take at least 10 minutes), Horizon will not ingest new ledgers.
In the 2.9.0 Horizon release, the --ingest
flag will be set to true
by default.
- Fix bug in asset balance classification where clawback is enabled. (3847)