Skip to content

Releases: stellar/go

horizonclient & txnbuild v14.0.0

25 Apr 20:44
a387ffb
Compare
Choose a tag to compare

This release includes support for Protocol 21

horizonclient

  • services/horizon: return null txmeta in api model when SKIP_TXMETA enabled (#5228)
  • clients/horizonclient: allow sending user-defined headers on requests (#5214)
  • clients/stellarcore horizon: Obtain and expose diagnostic events in transaction endpoint (#5148)
  • Bump go version to 1.22 (#5232)

txnbuild

  • Bump XDR for soroban-pubnet release (#5079)

Full Changelog: horizonclient-v13.0.0...horizonclient-v14.0.0

Horizon v2.30.0

22 Apr 20:19
17e1acc
Compare
Choose a tag to compare

What's Changed

This is the first release that supports Protocol 21.

Added

  • Bump XDR for protocol 21
  • Make reaping batch sizes configurable via --history-retention-reap-count (#5272)
  • Log tx meta when ingestion failures occur (#5268)
  • Add deprecation warning for --captive-core-use-db (#5231)

Fixed

  • Optimized reingestion by addressing performance slowdown due to unnecessary operations on history_transactions_filtered_tmp. Removed obsolete EnableIngestionFiltering flag. (#5283)
  • Fix deadlock in parallel ingestion (#5263)
  • Add missing tables to TruncateIngestStateTables() (#5253)
  • Performance improvements in ingest library
  • Reduce memory consumption of CheckpointChangeReader during state verification and state rebuild (#5270)
  • Remove unnecessary use of ChangeCompactor to reduce memory bloat during ingestion (#5252)

Full Changelog: horizon-v2.29.0...horizon-v2.30.0

Horizon v2.29.0

14 Mar 21:51
4a00bc7
Compare
Choose a tag to compare

Changelog

Added

  • New db_error_total metrics key with labels ctx_error, db_error, and db_error_extra (5225).
  • Bumped go version to the latest (1.22.1) (5232)
  • Add metrics for ingestion loaders (5209).
  • Add metrics for http api requests in flight and requests received (5240).
  • Add MAX_CONCURRENT_REQUESTS, defaults to 1000, limits the number of horizon api requests in flight (5244)

Fixed

  • History archive access is more effective when you pass list of URLs to Horizon: they will now be accessed in a round-robin fashion, use alternative archives on errors, and intelligently back off (5224)
  • Remove captive core info request error logs (5145)
  • Removed duplicate "Processed Ledger" log statement during resume state (5152)
  • Fixed incorrect duration for ingestion processor metric (5216)
  • Fixed sql performance on account transactions query (5229)
  • Fix bug in claimable balance change processor (5246)
  • Delay canceling queries from client side when there's a statement / transaction timeout configured in postgres (5223)

Breaking Changes

  • The Horizon API Transaction resource field in json result_meta_xdr is now optional and Horizon API will not emit the field when Horizon has been configured with SKIP_TXMETA=true, effectively null, otherwise if Horizon is configured with SKIP_TXMETA=false which is default, then the API Transaction field result_meta_xdr will remain present and populated with base64 encoded xdr (5228).

Horizon v2.28.3

16 Feb 20:30
fa5404b
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix claimable_balance_claimants subquery in GetClaimableBalances() 5207

Added

  • New optional config SKIP_TXMETA (5189). Defaults to FALSE, when TRUE the following will occur:
    • history_transactions.tx_meta column will have serialized xdr that equates to empty for any protocol version, such as for xdr.TransactionMeta.V3, Operations, TxChangesAfter, TxChangesBefore will be empty arrays and SorobanMeta will be nil.

Breaking Changes

  • Removed DISABLE_SOROBAN_INGEST configuration parameter, use the new SKIP_TXMETA parameter instead.

horizon-v2.28.2

12 Feb 18:24
f232a9b
Compare
Choose a tag to compare

What's Changed

Fixed

  • History archive caching would cause file corruption in certain environments 5197
  • Server error in claimable balance API when claimant, asset and cursor query params are supplied 5200

Full Changelog: horizon-v2.28.1...horizon-v2.28.2

Horizon v2.28.1

05 Feb 15:25
098e686
Compare
Choose a tag to compare

Changelog

Fixed

  • Submitting transaction with a future gapped sequence number greater than 1 past current source account sequence, may result in delayed 60s timeout response, rather than expected HTTP 400 error response with tx_bad_seq (5191)

Horizon v2.28.0

26 Jan 21:29
24a7e9f
Compare
Choose a tag to compare

Changelog

Fixed

  • Ingestion performance improvements (4909)
  • Trade aggregation rebuild errors reported on db reingest range with parallel workers (5168)
  • Limited global flags displayed on cli help output (5077)
  • History archive network usage has been significantly reduced with caching. Warning: To support the cache, disk requirements may increase by up to 15GB (5171).

Added

  • We now include metrics for history archive requests (5166)
  • Http history archive requests now include a unique user agent (5166)
  • Added a deprecation warning for using command-line flags when running Horizon (5051)
  • New optional config DISABLE_SOROBAN_INGEST (5175). Defaults to FALSE, when TRUE and a soroban transaction is ingested, the following will occur:
    • no effects will be generated for contract invocations.
    • history_transactions.tx_meta column will have serialized xdr that equates to an empty xdr.TransactionMeta.V3, Operations, TxChangesAfter, TxChangesBefore will empty arrays and SorobanMeta will be nil.
    • API transaction model for result_meta_xdr will have same empty serialized xdr for xdr.TransactionMeta.V3, Operations, TxChangesAfter, TxChangesBefore will empty arrays and SorobanMeta will be nil.
    • API Operation model for InvokeHostFunctionOp type, will have empty asset_balance_changes

Breaking Changes

  • Deprecation of legacy, non-captive core ingestion(5158):
    • removed configuration flags --stellar-core-url-db, --cursor-name --skip-cursor-update, they are no longer usable.

    • removed automatic updating of core cursor from ingestion background processing.

      Note for upgrading on existing horizon deployments - Since horizon will no longer maintain advancement of this cursor on core, it may require manual removal of the cursor from the core process that your horizon was using for captive core, otherwise that core process may un-necessarily retain older data in buckets on disk up to the last cursor ledger sequence set by prior horizon release.

      The captive core process to check and verify presence of cursor usage is determined by the horizon deployment, if NETWORK is present, or STELLAR_CORE_URL is present or CAPTIVE-CORE-HTTP-PORT is present and set to non-zero value, or CAPTIVE-CORE_CONFIG_PATH is used and the toml has HTTP_PORT set to non-zero and PUBLIC_HTTP_PORT is not set to false, then it is recommended to perform the following preventative measure on the machine hosting horizon after upgraded to 2.28.0 and process restarted:

      $ curl http://<captive_core_process_url:captive_core_process_port>/getcursor
      # If there are no cursors reported, done, no need for any action
      # If any horizon cursors exist they need to be dropped by id. 
      # By default horizon sets cursor id to "HORIZON" but if it was customized 
      # using the --cursor-name flag the id might be different
      $ curl http://<captive_core_process_url:captive_core_process_port>/dropcursor?id=<reported_id_from_getcursor>
      

horizonclient-v13.0.0 & txnbuild

06 Dec 20:25
208a73f
Compare
Choose a tag to compare

This is the stable release of Horizon Client with protocol 20 (Soroban support).

Key changes to support protocol 20 (Soroban)

New XDR Schema:

  • Support for new XDR schemas.

  • Three new operations related to Soroban and state expiration (see Interacting with Soroban via Stellar and State Expiration):

    • invokeHostFunctionOp: Invoke contract actions.
    • bumpExpirationFootprintOp: Bump expiration ledger of specified keys.
    • restoreFootprintOp: Restore expiration of specified ledger keys.

Horizon API Changes:

  • /effects can produce two new effects:
    • contract_credited occurs when a Stellar asset moves into its corresponding Stellar Asset Contract instance
    • contract_debited occurs when a Stellar asset moves out of its corresponding Stellar Asset Contract instance
  • /assets/:name contains two new fields:
    • num_contracts - the integer quantity of contracts that hold this asset
    • contracts_amount - the total units of that asset held by contracts
  • /operations has three new response schemas corresponding to the Soroban operations (described above)

Horizon v2.27.0

06 Dec 19:43
208a73f
Compare
Choose a tag to compare

The following release notes are a combination of the release candidates (see RC1 and RC2 for deltas) and changes since then.

Upgrading to this version from <= 2.26.1 will trigger a state rebuild. During this process (which will take at least 10 minutes), Horizon will not ingest new ledgers.

This stable release adds support for Protocol 20.

Changelog

Breaking Changes

  • The command line flag --remote-captive-core-url has been removed, as remote captive core functionality is now deprecated (4940).
  • XDR has been updated to the latest stable version for Protocol 20 (stellar-xdr @ bb54e50, 5079).

Added

  • Added new command-line flag --network to specify the Stellar network (pubnet or testnet), aiming at simplifying the configuration process by automatically configuring the following parameters based on the chosen network: --history-archive-urls, --network-passphrase, and --captive-core-config-path (4949).
  • Added contract_credited and contract_debited effects which are emitted whenever a Soroban contracts sends or receives a Stellar asset (4832).
  • Added num_contracts (total number of Soroban contracts which hold an asset) and contracts_amount (total amount of the asset held by all Soroban contracts) fields to asset stat summaries at /assets (4805).
  • Added responses for new operations introduced in Protocol 20: invoke_host_function, extend_footprint_ttl, and restore_footprint (4905).
  • Added a ScVal.String() method to the xdr package (5112).

Fixed

  • The same slippage calculation from the v2.26.1 hotfix now properly excludes spikes for smoother trade aggregation plots (4999).
  • The ledger changes collected by ingest.GetChangesFromLedgerEntryChanges are now sorted in a deterministic order (5070).
  • Eviction of Soroban ledger entries is accommodated by the asset stats endpoint (5033).
  • Database migration performance has improved (5056).

Horizon v2.27.0 RC2

19 Sep 22:10
6703fee
Compare
Choose a tag to compare

Refer to prior Horizon-v2.27.0-rc1 release for information on bulk of changes present in 2.27.0, this is maintenance patch applied on top of Horizon-v2.27.0-rc1 for bug fix.

Fixed

  • treat null is_payment values as equivalent to false values, avoid sql nil conversion errors(5060).