Skip to content

Releases: stellar/go

Horizon v2.13.0

17 Jan 21:28
c4eaacd
Compare
Choose a tag to compare

DB Schema Migration

  • DB migrations add a column and index to the history_trades table to improve performance of some queries. This is very large table so migration may take a long time (depending on your DB hardware). Please test the migrations execution time on the copy of your production DB first.

Changes

  • Improve performance of /trades?trade_type=liquidity_pool requests. (4149)
  • Added absBeforeEpoch to ClaimableBalance API Resources. It will contain the Unix epoch representation of absolute before date. (4148)
  • Path finding results contain empty paths again (removed in Horizon 2.9.0). (4137)
  • Generate HTTP Status code of 499 for Client Disconnects, should propagate into horizon_http_requests_duration_seconds_count metric key with status="499" label. (4098)
  • Fix incorrect counting of rate limited events in stream requests. (4163)
  • Update cursor on every ledger when using old non Captive-Core ingestion backend. (4150)
  • Fix the code responsible for updating Stellar-Core status that could stop the metrics updates on connectivity issues. (4180)

horizonclient & txnbuild v9.0.0

11 Jan 02:05
e3543a4
Compare
Choose a tag to compare
  • Enable Muxed Accounts (SEP-23) by default (#4169):
    • Remove TransactionParams.EnableMuxedAccounts
    • Remove TransactionFromXDROptionEnableMuxedAccounts
    • Remove FeeBumpTransactionParams.EnableMuxedAccounts
    • Remove parameter withMuxedAccounts bool from all methods/functions.
    • Remove options ...TransactionFromXDROption parameter from TransactionFromXDR()
    • Rename SetOpSourceMuxedAccount() to (pre-existing) SetOpSourceAccount() which now accepts
      both G and M (muxed) account strkeys.
  • Use xdr.Price to represent prices in txnbuild instead of strings (#4167).

Horizon v2.12.1

09 Dec 18:01
Compare
Choose a tag to compare

Fixes

  • Fixes a critical vulnerability in HTTP server of Golang <=1.17.4. An attacker can cause unbounded memory growth in a Go server accepting HTTP/2 requests.

Horizon v2.12.0

06 Dec 16:20
35382f1
Compare
Choose a tag to compare

Features

  • Result codes for fee-bump transactions will now also include the inner result codes (4081)

Performance improvements

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

15 Nov 16:03
07dcbb1
Compare
Choose a tag to compare

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

25 Oct 16:27
e667e88
Compare
Choose a tag to compare

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 invoking horizon db detect-gaps (4007)
  • Add new Prometheus metrics:
    • round_trip_time_seconds: time required to run select 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

11 Oct 15:12
50b38f6
Compare
Choose a tag to compare

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 from history_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, old ProcessorsRunDuration is deprecated (3940).
  • Logs during state ingesiton now display progress value which is percentage progress indicator (3946).

horizonclient & txnbuild v8.0.0

07 Oct 22:44
ea18bba
Compare
Choose a tag to compare

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

04 Oct 18:23
f8f9a3e
Compare
Choose a tag to compare

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 from history_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, old ProcessorsRunDuration is deprecated (3940).
  • Logs during state ingesiton now display progress value which is percentage progress indicator (3946).

horizonclient & txnbuild v8.0.0-beta.0

04 Oct 21:35
a1db2a6
Compare
Choose a tag to compare
Pre-release

This pre-release adds support for Protocol 18.

horizonclient

  • The restriction that Fund can only be called on the DefaultTestNetClient has been removed. Any horizonclient.Client may now call Fund. Horizon instances not supporting funding will error with a resource not found error.
  • Change AccountRequest to accept Sponsor and LiquidityPool filters
  • Change EffectRequest, TransactionRequest, and OperationRequest to accept a ForLiquidityPool filter
  • Change TradeRequest to accept both a ForLiquidityPool filter or a TradeType filter
  • Add LiquidityPoolsRequest for getting details about liquidity pools, with an optional Reserves field to filter by pools' reserve asset(s).
  • Add LiquidityPoolRequest for getting details about a specific liquidity pool via the LiquidityPoolID filter.

txnbuild

New features

  • GenericTransaction, Transaction, and FeeBumpTransaction now implement
    encoding.TextMarshaler and encoding.TextUnmarshaler.
  • New asset structures that conform to the new ChangeTrust and New assets:
  • Support for the core liquidity pool XDR types: LiquidityPoolId, LiquidityPoolParameters, LiquidityPoolDeposit, and LiquidityPoolWithdraw.
  • Support for the new asset structures: ChangeTrustAsset and TrustLineAsset.

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 and TrustLineAsset objects.
  • Assets can now be compared in accordance with the protocol, see their respective LessThan() implementations.

Breaking changes

  • ChangeTrust requires a ChangeTrustAsset.
  • RevokeSponsorship requires a TrustLineAsset when revoking trustlines.
  • RemoveTrustlineOp helper now requires a ChangeTrustAsset
  • validate*Asset helpers now require more-specific asset types.