All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.x
- The
service
field emitted in ingestion logs has been changed fromexpingest
toingest
(#3118). - Ledger stats are now exported in
/metrics
inaurora_ingest_ledger_stats_total
metric (#3148). - Hcnet Core database URL is no longer required when running in captive mode (#3150).
- xdr: Add a custom marshaller for claim predicate timestamp (#3183).
- Bump max supported protocol version to 15.
After upgrading Aurora will rebuild its state. During this process (which can take several minutes) it will not ingest new ledgers.
- Fixed a bug that caused a fresh instance of Aurora to be unable to sync with testnet (Protocol 14) correctly. (#3100)
- Add Golang- and process-related metrics. (#3103)
- New
network_passphrase
field in History Archives (added in Hcnet-Core 14.1.0) is now checked. Aurora will return error if incorrect archive is used. (#3082) - Fixed a bug that caused some errors to be logged with
info
level instead oferror
level. (#3094) - Fixed a bug in
/claimable_balances
that returned 500 error instead of 400 for some requests. (#3088) - Print a friendly message when Aurora does not support the current Hcnet protocol version. (#3093)
- Fixed a bug that caused a fresh instance of Aurora to be unable to sync with testnet (Protocol 14) correctly. (#3096)
- Use underscore in JSON fields for claim predicate to make the API consistent. (#3086)
This is release adds support for the upcoming Protocol 14 upgrade. However, Aurora still maintains backwards compatibility with Protocol 13, which means it is still safe to run this release before Protocol 14 is deployed.
After upgrading Aurora will rebuild it's state. During this process (which can take several minutes) it will not ingest new ledgers.
The two main features of Protocol 14 are CAP 23 Claimable Balances and CAP 33 Sponsored Reserves. Claimable balances provide a mechanism for setting up a payment which can be claimed in the future. This allows you to make payments to accounts which are currently not able to accept them. Sponsored Reserves allows an account to pay the reserves on behalf of another account.
In this release there is a new claimable balance resource which has a unique id, an asset (describing which asset can be claimed), an amount (the amount of the asset that can be claimed), and a list of claimants (an immutable list of accounts that could potentially claim the balance).
The GET /claimable_balances/{id}
endpoint was added to Aurora's API to allow looking up a claimable balance by its id. See the sample response below:
{
"_links": {
"self": {
"href": "/claimable_balances/000000000102030000000000000000000000000000000000000000000000000000000000"
}
},
"id": "000000000102030000000000000000000000000000000000000000000000000000000000",
"asset": "native",
"amount": "10.0000000",
"sponsor": "GC3C4AKRBQLHOJ45U4XG35ESVWRDECWO5XLDGYADO6DPR3L7KIDVUMML",
"last_modified_ledger": 123,
"claimants": [
{
"destination": "GC3C4AKRBQLHOJ45U4XG35ESVWRDECWO5XLDGYADO6DPR3L7KIDVUMML",
"predicate": {
"unconditional": true
}
}
],
"paging_token": "123-000000000102030000000000000000000000000000000000000000000000000000000000"
}
There is also a GET /claimable_balances
endpoint which searches for claimable balances by asset, sponsor, or claimant destination.
To support CAP 33 Sponsored Reserves we have added an optional sponsor
attribute in the following Aurora resources: accounts, account signers, offers, trustlines, and claimable balances.
If the sponsor
field is present it means that the account with id sponsor
is paying for the reserves for the sponsored account / account signer / offer / trustline / claimable balance. We have also added an optional sponsor
query parameter to the following endpoints:
GET /accounts
GET /offers
GET /claimable_balances
If the sponsor
query param is provided, Aurora will search for objects sponsored by the given account id.
- Fixed a bug which prevented Aurora from accepting TLS connections.
- Fixed a bug in a code ingesting fee bump transactions.
- Added new and changed existing metrics:
aurora_build_info
- contains build information in labels (version
- Aurora version,goversion
- Go runtime version),aurora_ingest_enable
- equals1
if ingestion system is running,0
otherwise,aurora_ingest_state_invalid
- equals1
if state is invalid,0
otherwise,aurora_db_max_open_connections
- determines the maximum possible opened DB connections,aurora_db_wait_duration_seconds_total
- changed the values to be in seconds instead of nanoseconds.
- Fixed a data race when shutting down the HTTP server. (#2958).
- Fixed emitting incorrect errors related to OrderBook Stream when shutting down the app. (#2964)
The previous implementation of Captive Hcnet-Core streams meta stream using a filesystem pipe. This implies that both Aurora and Hcnet-Core had to be deployed to the same server. One of the disadvantages of such requirement is a need for detailed per-process monitoring to be able to connect potential issues (like memory leaks) to the specific service.
To solve this it's now possible to start a captivecore
on another machine and configure Aurora to use it in ingestion. This requires two config options set:
ENABLE_CAPTIVE_CORE_INGESTION=true
,REMOTE_CAPTIVE_CORE_URL
- pointing tocaptivecore
server.
This patch release fixes a regression introduced in 1.7.0, breaking the
/offers
endpoint. Thus, we recommend upgrading as soon as possible.
- Fix path parameter mismatch in
/offers
endpoint #2927.
- Add new multicolumn index to improve the
/trades
's endpoint performance #2869. - Add constraints on database columns which cannot hold negative values #2827.
- Update Go toolchain to 1.14.6 in order to fix golang/go#34775, which caused some database queries to be executed instead of rolled back.
- Fix panic on missing command line arguments #2872
- Fix race condition where submitting a transaction to Aurora can result in a bad sequence error even though Hcnet Core accepted the transaction. #2877
- Add new DB metrics (#2844):
db_in_use_connections
- number of opened DB connections in use (not idle),db_wait_count
- number of connections waited for,db_wait_duration
- total time blocked waiting for a new connection.
- Add
--parallel-workers
and--parallel-job-size
toaurora db reingest range
.--parallel-workers
will parallelize reingestion using the supplied number of workers. (#2724) - Remove Hcnet Core's database dependency for non-ingesting instances of Aurora. (#2759)
Aurora doesn't require access to a Hcnet Core database if it is only serving HTTP request, this allows the separation of front-end and ingesting instances.
The following config parameters were removed:
core-db-max-open-connections
core-db-max-idle-connections
- HAL response population is implemented using Go
strings
package instead ofregexp
, improving its performance. (#2806) - Fix a bug in
POST /transactions
that could causetx_bad_seq
errors instead of processing a valid transaction. (#2805) - The
--connection-timeout
param is ignored inPOST /transactions
. The requests sent to that endpoint will always timeout after 30 seconds. (#2818)
-
Add experimental support for live ingestion using a Hcnet Core subprocess instead of a persistent Hcnet Core database.
Hcnet-core now contains an experimental feature which allows replaying ledger's metadata in-memory. This feature starts paving the way to remove the dependency between Hcnet Core's database and Aurora. Requires Hcnet Core v13.2.0.
To try out this new experimental feature, you need to specify the following parameters when starting ingesting Aurora instance:
--enable-captive-core-ingestion
orENABLE_CAPTIVE_CORE_INGESTION=true
.--hcnet-core-binary-path
orHCNET_CORE_BINARY_PATH
.
- Remove
--ingest-failed-transactions
flag. From now on Aurora will always ingest failed transactions. WARNING: If your application is using Aurora DB directly (not recommended!) remember that now it will also contain failed txs. (#2702). - Add transaction set operation count to
history_ledger
(#2690). Extend ingestion to store the total number of operations in the transaction set and expose it in the ledger resource viatx_set_operation_count
. This feature allows you to assess the used capacity of a transaction set. - Fix
/metrics
end-point (#2717). - Gracefully handle incorrect assets in the query parameters of GET
/offers
(#2634). - Fix logging message in OrderBookStream (#2699).
- Fix data race in root endpoint (#2745).
-
Add experimental support for database reingestion using a Hcnet Core subprocess instead of a persistent Hcnet Core database (#2695).
Hcnet Core v12.3.0 added an experimental feature which allows replaying ledger's metadata in-memory. This feature speeds up reingestion and starts paving the way to remove the dependency between Hcnet Core's database and Aurora.
For now, this is only supported while running
aurora db reingest
. To try out this new experimental feature, you need to specify the following parameters:--enable-captive-core-ingestion
orENABLE_CAPTIVE_CORE_INGESTION=true
.--hcnet-core-binary-path
orHCNET_CORE_BINARY_PATH
.
- Add the new field
tx_set_operation_count
to theledger
resource (#2690). This field can be anumber
ornull
.
- Drop support for MuxedAccounts strkeys (spec'ed in SEP23). SEP23 is still a draft and we don't want to encourage storing strkeys which may not be definite.
- Replace
SequenceProvider
implementation with one which queries the Aurora DB for sequence numbers instead of the Hcnet Core DB. - Use the Aurora DB instead of Aurora's in memory order book graph to query orderbook details for the /order_book endpoint.
- Remove JSON variant of
GET /metrics
, both in the server and client code. It's using Prometheus format by default now. - Decreased a memory usage of initial state ingestion stage and state verifier (#2618).
- Remove
--exp-ingest-in-memory-only
Aurora flag. The in memory order book graph which powers the path finding endpoints is now updated using the Aurora DB instead of directly via ingestion (#2630).
- The type for the following attributes has been changed from
int64
tostring
(#2555):- Attribute
fee_charged
in Transaction resource. - Attribute
max_fee
in Transaction resource.
- Attribute
- Add
last_modified_time
to account responses.last_modified_time
is the closing time of the most recent ledger in which the account was modified (#2528). - Balances in the Account resource are now sorted by asset code and asset issuer (#2516).
- Ingestion system has its dedicated DB connection pool (#2560).
- A new metric has been added to
/metrics
(#2537 and #2553):ingest.local_latest_ledger
: a gauge with the local latest ledger,txsub.v0
: a meter countingv0
transactions inPOST /transaction
,txsub.v1
: a meter countingv1
transactions inPOST /transaction
,txsub.feebump
: a meter countingfeebump
transactions inPOST /transaction
.
- Fix a memory leak in the code responsible for streaming (#2548, #2575 and #2576).
- Fix bug which occurs when ingesting ledgers containing both fee bump and normal transactions.
This version removes two unused columns that could overflow in catchup complete deployments. If your Aurora database contains entire public network history, you should upgrade to this version as soon as possible and run aurora db migrate up
.
- Remove
id
columns fromhistory_operation_participants
andhistory_transaction_participants
to prevent possible integer overflow #2532.
- The type for the following attributes will be changed from
int64
tostring
in 1.3.0:- Attribute
fee_charged
in Transaction resource. - Attribute
max_fee
in Transaction resource.
- Attribute
The changes are required by CAP-15.
- Added support for CAP-27 and SEP-23 #2491.
- The XDR definition of a transaction memo is a string.
However, XDR strings are actually binary blobs with no enforced encoding.
It is possible to set the memo in a transaction envelope to a binary sequence which is not valid ASCII or unicode.
Previously, if you wanted to recover the original binary sequence for a transaction memo, you would have to decode the transaction's envelope.
In this release, we have added a
memo_bytes
field to the Aurora transaction response for transactions withmemo_type
equaltext
.memo_bytes
stores the base 64 encoding of the memo bytes set in the transaction envelope #2485.
This version includes a significant database migration which changes the column types of fee_charged
and max_fee
in the history_transactions
table from integer
to bigint
. This essential change paves the way for fee bump transactions (CAP 15), a major improvement that will be released soon in Hcnet Protocol 13.
This migration will run for a long time, especially if you have a Aurora database with full history. For reference, it took around 8 hours and 42 minutes to complete this migration on a AWS db.r4.8xlarge instance with full transaction history.
To execute the migration run aurora db migrate up
using the Aurora v1.1.0 binary.
Important Note: Aurora should not be serving requests or ingesting while the migration is running. For service continuity, if you run a production Aurora deployment it is recommended that you perform the migration on a second instance and then switch over.
-
DB: Remove unnecessary duplicate indexes:
index_history_transactions_on_id
,index_history_ledgers_on_id
,exp_asset_stats_by_code
, andasset_by_code
(#2419). -
DB: Remove asset_stats table which is no longer necessary (#2419).
-
Validate transaction hash IDs as 64 lowercase hex chars. As such, wrongly-formatted parameters which used to cause 404 (
Not found
) errors will now cause 400 (Bad request
) HTTP errors (#2394). -
Fix ask and bid price levels of
GET /order_book
when encountering non-canonical price values. Thelimit
parameter is now respected and levels are coallesced properly. Also,price_r
is now in canonical form (#2400). -
Added missing top-level HAL links to the
GET /
response (#2407). -
Full transaction details are now included in the
POST /transactions
response. If you submit a transaction and it succeeds, the response will match theGET /transactions/{hash}
response (#2406). -
The following attributes are now included in the transaction resource:
fee_account
(the account which paid the transaction fee)fee_bump_transaction
(only present in Protocol 13 fee bump transactions)inner_transaction
(only present in Protocol 13 fee bump transactions) (#2406).
-
Add support for CAP0018: Fine-Grained Control of Authorization (Protocol 13) (#2423).
- Add
is_authorized_to_maintain_liabilities
toBalance
."balances": [ { "is_authorized": true, "is_authorized_to_maintain_liabilities": true, "balance": "27.1374422", "limit": "922337203685.4775807", "buying_liabilities": "0.0000000", "selling_liabilities": "0.0000000", "last_modified_ledger": 28893780, "asset_type": "credit_alphanum4", "asset_code": "USD", "asset_issuer": "GBSTRUSD7IRX73RQZBL3RQUH6KS3O4NYFY3QCALDLZD77XMZOPWAVTUK" }, { "balance": "1.5000000", "buying_liabilities": "0.0000000", "selling_liabilities": "0.0000000", "asset_type": "native" } ]
- Add
authorize_to_maintain_liabilities
toAllowTrust
operation.{ "id": "124042211741474817", "paging_token": "124042211741474817", "transaction_successful": true, "source_account": "GBSTRUSD7IRX73RQZBL3RQUH6KS3O4NYFY3QCALDLZD77XMZOPWAVTUK", "type": "allow_trust", "type_i": 7, "created_at": "2020-03-27T03:40:10Z", "transaction_hash": "a77d4ee5346d55fb8026cdcdad6e4b5e0c440c96b4627e3727f4ccfa6d199e94", "asset_type": "credit_alphanum4", "asset_code": "USD", "asset_issuer": "GBSTRUSD7IRX73RQZBL3RQUH6KS3O4NYFY3QCALDLZD77XMZOPWAVTUK", "trustee": "GBSTRUSD7IRX73RQZBL3RQUH6KS3O4NYFY3QCALDLZD77XMZOPWAVTUK", "trustor": "GA332TXN6BX2DYKGYB7FW5BWV2JLQKERNX4T7EUJT4MHWOW2TSGC2SPM", "authorize": true, "authorize_to_maintain_liabilities": true, }
- Add effect
trustline_authorized_to_maintain_liabilities
.{ "id": "0124042211741474817-0000000001", "paging_token": "124042211741474817-1", "account": "GBSTRUSD7IRX73RQZBL3RQUH6KS3O4NYFY3QCALDLZD77XMZOPWAVTUK", "type": "trustline_authorized_to_maintain_liabilities", "type_i": 25, "created_at": "2020-03-27T03:40:10Z", "trustor": "GA332TXN6BX2DYKGYB7FW5BWV2JLQKERNX4T7EUJT4MHWOW2TSGC2SPM", "asset_type": "credit_alphanum4", "asset_code": "USD" }
- Add
-
It is no longer possible to use Redis as a mechanism for rate-limiting requests (#2409).
-
Make
GET /trades
generate an empty response instead of a 404 when no trades are found.
- Fix
aurora db reap
bug which caused the command to exit without deleting any history table rows (#2336). - The aurora reap system now also deletes rows from
history_trades
. Previously, the reap system only deleted rows fromhistory_operation_participants
,history_operations
,history_transaction_participants
,history_transactions
,history_ledgers
, andhistory_effects
(#2336). - Fix deadlock when running
aurora db reingest range
(#2373). - Fix signer update effects (#2375).
- Fix incorrect error in log when shutting down the system while
verifyState
is running (#2366). - Expose date header to CORS clients (#2316).
- Fix inconsistent ledger view in
/accounts/{id}
when streaming (#2344).
- Dropped support for Go 1.12. (#2346).
- If you were using the new ingestion in one of the previous versions of Aurora, you must first remove
ENABLE_EXPERIMENTAL_INGESTION
feature flag and restart all Aurora instances before deploying a new version. - The init stage (state ingestion) for the public Hcnet network requires around 1.5GB of RAM. This memory is released after the state ingestion. State ingestion is performed only once. Restarting the server will not trigger it unless Aurora has been upgraded to a newer version (with an updated ingestion pipeline). It's worth noting that the required memory will become smaller and smaller as more of the buckets in the history archive become CAP-20 compatible. Some endpoints are not available during state ingestion.
- The CPU footprint of the new ingestion is modest. We were able to successfully run ingestion on an AWS
c5.xlarge
instance. The init stage takes a few minutes onc5.xlarge
.c5.xlarge
is the equivalent of 4 vCPUs and 8GB of RAM. The definition of vCPU for the c5 large family in AWS is the following:
The 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP) processor with a sustained all core Turbo frequency of up to 3.4GHz, and single core turbo frequency of up to 3.5 GHz.
- The state data requires an additional 6GB DB disk space for the public Hcnet network (as of February 2020). The disk usage will increase when the number of Hcnet ledger entries increases.
accounts_signers
table: 2340 MBtrust_lines
table: 2052 MBaccounts
table: 1545 MBoffers
table: 61 MBaccounts_data
table: 15 MBexp_asset_stats
table: less than 1 MB
- A new environment variable (or command line flag) needs to be set so that Aurora can ingest state from the history archives:
HISTORY_ARCHIVE_URLS="archive1,archive2,archive3"
(if you don't have your own pubnet history archive, you can use one of SDF's archives, for examplehttps://history.hcnet.org/prd/core-live/core_live_001
)
- Aurora serves the endpoints
/paths
and/order_book
from an in-memory graph, which is only available on ingesting instances. If some of the instances in your cluster are not configured to ingest, you can configure your proxy server to route those endpoints to the ingesting instances. This is beyond the scope of this document - consult the relevant documentation for your proxy server. A better solution for this will be released in the next Aurora version.
The most substantial element of this release is a full rewrite of Aurora's ledger ingestion engine, which enables some key features:
- A set of important new endpoints (see below). Some of these were impossible under the previous ingestion architecture.
- An in-memory order book graph for rapid querying.
- The ability to run parallel ingestion over multiple Aurora hosts, improving service availability for production deployments.
The new engine resolves multiple issues that were present in the old system. For example:
- Aurora's coupling to Hcnet-Core's database is dramatically reduced.
- Data inconsistency due to lag between endpoints is eliminated.
- Slow endpoints (path-finding for example) are now speedy.
Finally, the rearchitecting makes new reliability features possible. An example is the new internal state verifier, which guarantees consistency between the local Aurora state and the public history archives.
The admin guide contains all the information needed to operate the new ingestion system.
- Add /accounts endpoint, which allows filtering accounts that have a given signer or a trustline to an asset.
- Add /offers endpoint, which lists all offers on the network and allows filtering by seller account or by selling or buying asset.
- Add /paths/strict-send endpoint, which enables discovery of optimal "strict send" paths between assets.
- Add /paths/strict-receive endpoint, which enables discovery of optimal "strict receive" paths between assets.
- Add the fields
max_fee
andfee_charged
to /fee_stats.
-
Change multiple operation types to their canonical names for operation resources (#2134).
-
Change the type of the following fields from
number
tostring
:- Attribute
offer_id
in manage buy offer and manage sell offer operations. - Attribute
offer_id
inTrade
effect. - Attribute
id
in Offer resource. - Attribute
timestamp
andtrade_count
in Trade Aggregation resource.
- Attribute
-
/metrics
endpoint is no longer part of the public API. It is now served onADMIN_PORT/metrics
.ADMIN_PORT
can be set using env variable or--admin-port
CLI param. -
Remove the following fields from /fee_stats:
min_accepted_fee
mode_accepted_fee
p10_accepted_fee
p20_accepted_fee
p30_accepted_fee
p40_accepted_fee
p50_accepted_fee
p60_accepted_fee
p70_accepted_fee
p80_accepted_fee
p90_accepted_fee
p95_accepted_fee
p99_accepted_fee
-
Remove
fee_paid
field from Transaction resource (Usefee_charged
andmax_fee
fields instead - see #1372).
- Add cache to improve performance of experimental ingestion system (#2004).
- Fix experimental ingestion bug where ledger changes were not applied in the correct order (#2050).
- Fix experimental ingestion bug where unique constraint errors are incurred when the ingestion system has to reingest state from history archive checkpoints (#2055).
- Fix experimental ingestion bug where a race condition during shutdown leads to a crash (#2058).
- Add
fee_charged
andmax_fee
objects to/fee_stats
endpoint (#1964). - Experimental ledger header ingestion processor (#1949).
- Improved performance of asset stats processor (#1987).
- Provide mechanism for retrying XDR stream errors (#1899).
- Emit error level log after 3 failed attempts to validate state (#1918).
- Fixed out of bounds error in ledger backend reader (#1914).
- Fixed out of bounds error in URL params handler (#1973).
- Rename
OperationFeeStats
toFeeStats
(#1952). - All DB queries are now cancelled when request is cancelled/timeout. (#1950).
- Fixed multiple issues connected to graceful shutdown of Aurora.
- All
*_accepted_fee
fields in/fee_stats
endpoint are deprecated. Fields will be removed in Aurora 0.25.0.
Previously scheduled breaking changes reminders:
- The following operation type names have been deprecated:
path_payment
,manage_offer
andcreate_passive_offer
. The names will be changed to:path_payment_strict_receive
,manage_sell_offer
andcreate_passive_sell_offer
in 0.25.0. This has been previously scheduled for 0.22.0 release. fee_paid
field on Transaction resource has been deprecated and will be removed in 0.25.0 (previously scheduled for 0.22.0). Please use new fields added in 0.18.0:max_fee
that defines the maximum fee the source account is willing to pay andfee_charged
that defines the fee that was actually paid for a transaction. See CAP-0005 for more information.- The type for the following attributes will be changed from
int64
tostring
in 0.25.0 (previously scheduled for 0.22.0):- Attribute
offer_id
in manage buy offer and manage sell offer operations. - Attribute
offer_id
inTrade
effect. - Attribute
id
in Offer resource. - Attribute
timestamp
andtrade_count
in Trade Aggregation resource.
- Attribute
Check Beta Testing New Ingestion System if you want to test the new ingestion system.
- Add
ReadTimeout
to Aurora HTTP server configuration to fix potential DoS vector.
- New features in experimental ingestion (to enable: set
--enable-experimental-ingestion
CLI param orENABLE_EXPERIMENTAL_INGESTION=true
env variable):-
All state-related endpoints (i.e. ledger entries) are now served from Aurora DB (except
/account/{account_id}
) -
/order_book
offers data is served from in-memory store (#1761) -
Add
Latest-Ledger
header with the sequence number of the most recent ledger processed by the experimental ingestion system. Endpoints built on the experimental ingestion system will always respond with data which is consistent with the ledger inLatest-Ledger
(#1830) -
Add experimental support for filtering accounts who are trustees to an asset via
/accounts
. Example:
/accounts?asset=COP:GC2GFGZ5CZCFCDJSQF3YYEAYBOS3ZREXJSPU7LUJ7JU3LP3BQNHY7YKS
returns all accounts who have a trustline to the assetCOP
issued by accountGC2GFG...
(#1835) -
Experimental "Accounts For Signers" end-point now returns a full account resource (#1876)
-
- Prevent "
multiple response.WriteHeader calls
" errors when streaming (#1870) - Fix an interpolation bug in
/fee_stats
(#1857) - Fix a bug in
/paths/strict-send
where occasionally bad paths were returned (#1863)
- Fixes a bug in accounts for signer ingestion processor.
- Fixes a bug in path payment ingestion code.
- Adds support for Hcnet Protocol v12.
- The following operation type names have been deprecated:
path_payment
,manage_offer
andcreate_passive_offer
. The names will be changed to:path_payment_strict_receive
,manage_sell_offer
andcreate_passive_sell_offer
in 0.25.0. This has been previously scheduled for 0.22.0 release. fee_paid
field on Transaction resource has been deprecated and will be removed in 0.23.0 (previously scheduled for 0.22.0). Please use new fields added in 0.18.0:max_fee
that defines the maximum fee the source account is willing to pay andfee_charged
that defines the fee that was actually paid for a transaction. See CAP-0005 for more information.- The type for the following attributes will be changed from
int64
tostring
in 0.23.0 (previously scheduled for 0.22.0):- Attribute
offer_id
in manage buy offer and manage sell offer operations. - Attribute
offer_id
inTrade
effect. - Attribute
id
in Offer resource. - Attribute
timestamp
andtrade_count
in Trade Aggregation resource.
- Attribute
- Fixes a bug in initial schema migration file.
This version adds a new index on a table used by experimental ingestion system. If it has not been enabled, migration will be instant. If you migrate from a previous version with experimental ingestion system enabled database migration can take a couple minutes.
/paths/strict-send
can now accept adestination_account
parameter. Ifdestination_account
is provided then the endpoint will return all payment paths which terminate with an asset held bydestination_account
. Note that the endpoint will acceptdestination_account
ordestination_assets
but not both.destination_assets
is a comma separated list of assets encoded asnative
orcode:issuer
./paths/strict-receive
can now accept asource_assets
parameter instead ofsource_account
parameter. Ifsource_assets
is provided the endpoint will return all payment paths originating from an asset insource_assets
. Note that the endpoint will acceptsource_account
orsource_assets
but not both.source_assets
is a comma separated list of assets encoded asnative
orcode:issuer
.- Add experimental support for
/offers
. To enable it, set--enable-experimental-ingestion
CLI param orENABLE_EXPERIMENTAL_INGESTION=true
env variable. - When experimental ingestion is enabled a state verification routine is started every 64 ledgers to ensure a local state is the same as in history buckets. This can be disabled by setting
--ingest-disable-state-verification
CLI param orINGEST-DISABLE-STATE-VERIFICATION
env variable. - Add flag to apply pending migrations before running aurora. If there are pending migrations, previously you needed to run
aurora db migrate up
before runningaurora
. Those two steps can be combined into one with the--apply-migrations
flag (APPLY_MIGRATIONS
env variable). - Improved the speed of state ingestion in experimental ingestion system.
- Fixed a bug in "Signers for Account" (experimental) transaction meta ingesting code.
- Fixed performance issue in Effects related endpoints.
- Fixed DoS vector in Go HTTP/2 implementation.
- Dropped support for Go 1.10, 1.11.
Check Beta Testing New Ingestion System if you want to test new ingestion system.
- Add
--ingest-state-reader-temp-set
flag (INGEST_STATE_READER_TEMP_SET
env variable) which defines the storage type used for temporary objects during state ingestion in the new ingestion system. The possible options are:memory
(requires ~1.5GB RAM, fast) andpostgres
(stores data in temporary table in Postgres, less RAM but slower).
Check Beta Testing New Ingestion System if you want to test new ingestion system.
If you want to use experimental ingestion skip this version and use v0.20.1 instead. v0.20.0 has a performance issue.
- Experimental ingestion system is now run concurrently on all Aurora servers (with feature flag set - see below). This improves ingestion availability.
- Add experimental path finding endpoints which use an in memory order book for improved performance. To enable the endpoints set
--enable-experimental-ingestion
CLI param orENABLE_EXPERIMENTAL_INGESTION=true
env variable. Note that theenable-experimental-ingestion
flag enables both the new path finding endpoints and the accounts for signer endpoint. There are two path finding endpoints./paths/strict-send
returns payment paths where both the source and destination assets are fixed. This endpoint is able to answer questions like: "Get me the most EUR possible for my 10 USD."/paths/strict-receive
is the other endpoint which is an alias to the existing/paths
endpoint. --enable-accounts-for-signer
CLI param orENABLE_ACCOUNTS_FOR_SIGNER=true
env variable are merged with--enable-experimental-ingestion
CLI param orENABLE_EXPERIMENTAL_INGESTION=true
env variable.- Add experimental get offers by id endpoint
/offers/{id}
which uses the new ingestion system to fill up the offers table. To enable it, set--enable-experimental-ingestion
CLI param orENABLE_EXPERIMENTAL_INGESTION=true
env variable.
Check Beta Testing New Ingestion System if you want to test new ingestion system.
fee_paid
field on Transaction resource has been deprecated and will be removed in 0.22.0. Please use new fields added in 0.18.0:max_fee
that defines the maximum fee the source account is willing to pay andfee_charged
that defines the fee that was actually paid for a transaction. See CAP-0005 for more information. This change has been previously scheduled for 0.19.0 release.- The following operation type names have been deprecated:
manage_offer
andcreate_passive_offer
. The names will be changed to:manage_sell_offer
andcreate_passive_offer
in 0.22.0. This has been previously scheduled for 0.19.0 release. - The type for the following attributes will be changed from
int64
tostring
in 0.22.0:- Attribute
offer_id
in manage buy offer and manage sell offer operations. - Attribute
offer_id
inTrade
effect. - Attribute
id
in Offer resource. - Attribute
timestamp
andtrade_count
in Trade Aggregation resource.
- Attribute
If you are an SDK maintainer, update your code to prepare for this change.
- Add
join
parameter to operations and payments endpoints. Currently, the only valid value for the parameter istransactions
. Ifjoin=transactions
is included in a request then the response will include atransaction
field for each operation in the response. - Add experimental "Accounts For Signers" endpoint. To enable it set
--enable-accounts-for-signer
CLI param orENABLE_ACCOUNTS_FOR_SIGNER=true
env variable. Additionally new feature requires links to history archive: CLI:--history-archive-urls="archive1,archive2,archive3"
, env variable:HISTORY_ARCHIVE_URLS="archive1,archive2,archive3"
. This will expose/accounts
endpoint. This requires around 4GB of RAM for initial state ingestion.
Check Beta Testing New Ingestion System if you want to test new ingestion system.
- Fixed
/fee_stats
to correctly calculate ledger capacity in protocol v11. - Fixed
aurora db clean
command to truncate all tables.
- Aurora requires Postgres 9.5+.
- Removed
paging_token
field from/accounts/{id}
endpoint. - Removed
/operation_fee_stats
endpoint. Please use/fee_stats
.
fee_paid
field on Transaction resource has been deprecated and will be removed in 0.19.0. Two new fields have been added:max_fee
that defines the maximum fee the source account is willing to pay andfee_charged
that defines the fee that was actually paid for a transaction. See CAP-0005 for more information.- The following operation type names have been deprecated:
manage_offer
andcreate_passive_offer
. The names will be changed to:manage_sell_offer
andcreate_passive_offer
in 0.19.0.
- The following new config parameters were added. When old
max-db-connections
config parameter is set, it has a priority over the the new params. Runaurora help
for more information.aurora-db-max-open-connections
,aurora-db-max-idle-connections
,core-db-max-open-connections
,core-db-max-idle-connections
.
- Fixed
fee_paid
value in Transaction resource (#1358). - Fix "int64: value out of range" errors in trade aggregations (#1319).
- Improved
aurora db reingest range
command.
- Fixed a bug in
/order_book
when sum of amounts at a single price level exceedsint64_max
(#1037). - Fixed a bug generating
ERROR
level log entries for bad requests (#1186).
- Support for hcnet-core v11.0.0.
- Display trustline authorization state in the balances list.
- Improved actions code.
- Improved
aurora db reingest
command handling code. - Tracking app name and version that connects to Aurora (
X-App-Name
,X-App-Version
).
- Support for Hcnet-Core 10.3.0 (new database schema v9).
- Fix a bug in
aurora db reingest
command (no log output). - Multiple code improvements.
- Fix a bug in
txsub
package that caused returning invalid status when resubmitting old transactions (#969).
- Critical fix bug
- Fixes high severity error in ingestion system.
- Account detail endpoint (
/accounts/{id}
) includeslast_modified_ledger
field for account and for each non-native asset balance.
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).
Previous versions work fine with new schema so you can migrate (aurora db migrate up
using new binary) database without stopping the Aurora process. To reingest ledgers run aurora db reingest
using Aurora 0.17.0 binary. You can take advantage of the new aurora db reingest range
for parallel reingestion.
/operation_fee_stats
is deprecated in favour of/fee_stats
. Will be removed in v0.18.0.
- 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 Aurora version no longer supports Core <10.0.0. Aurora can still ingest version <10 ledgers.
- Error event name during streaming changed to
error
to follow W3C specification.
- Added ingestion of failed transactions (see Upgrade notes). Use
include_failed=true
GET parameter to display failed transactions and operations in collection endpoints. /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
aurora db reingest range X Y
that reingests ledgers between X and Y sequence number (closed intervals). - Many code improvements.
- Ledger > Admins need to reingest old ledgers because we introduced
successful_transaction_count
andfailed_transaction_count
.
Previous versions work fine with Aurora 0.16.0 schema so you can migrate (aurora db migrate up
) database without stopping the Aurora process. To reingest ledgers run aurora db reingest
using Aurora 0.16.0 binary.
- Root >
protocol_version
will be removed in v0.17.0. It is replaced bycurrent_protocol_version
andcore_supported_protocol_version
. - Ledger >
transaction_count
will be removed in v0.17.0. - Signer >
public_key
will be removed in v0.17.0.
- Improved
aurora db migrate
script. It will now either success or show a detailed message regarding why it failed. - Fixed effects ingestion of circular payments.
- Improved account query performances for payments and operations.
- Added
successful_transaction_count
andfailed_transaction_count
toledger
resource. - Fixed the wrong protocol version displayed in
root
resource by addingcurrent_protocol_version
andcore_supported_protocol_version
. - Improved streaming for single objects. It won't send an event back if the current event is the same as the last event sent.
- Fixed ingesting effects of empty trades. Empty trades will be ignored during ingestion.
- Fixed multiple issues in transaction submission subsystem.
- Support for client fingerprint headers.
- Fixed parameter checking in
aurora db backfill
command.
- Fixed a bug in Aurora DB reaping code.
- Fixed query checking code that generated
ERROR
-level log entries for invalid input.
- Added
aurora db init-asset-stats
command to initializeasset_stats
table. This command should be run once before starting ingestion if asset stats are enabled (ENABLE_ASSET_STATS=true
). - Fixed
asset_stats
table to support longerhome_domain
s. - Fixed slow trades DB query.
- Fixed memory leak in SSE stream code.
DB migrations add a new fields and indexes on history_trades
table. This is a very large table in CATCHUP_COMPLETE
deployments 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.
This release contains several bug fixes and improvements:
- New
/operation_fee_stats
endpoint includes fee stats for the last 5 ledgers. - "Trades" endpoint can now be streamed.
- In "Trade Aggregations" endpoint,
offset
parameter has been added. - Path finding bugs have been fixed and the algorithm has been improved. Check #719 for more information.
- Connections (including streams) are closed after timeout defined using
--connection-timeout
CLI param orCONNECTION_TIMEOUT
environment variable. If Aurora is behind a load balancer with idle timeout set, it is recommended to set this to a value equal a few seconds less than idle timeout so streams can be properly closed by Aurora. - Streams have been improved to check for updates every
--sse-update-frequency
CLI param orSSE_UPDATE_FREQUENCY
environment variable seconds. If a new ledger has been closed in this period, new events will be sent to a stream. Previously streams checked for new events every 1 second, even when there were no new ledgers. - Rate limiting algorithm has been changed to GCRA.
- Rate limiting in streams has been changed to be more fair. Now 1 credit has to be paid every time there's a new ledger instead of per request.
- Rate limiting can be disabled completely by setting
--per-hour-rate-limit=0
CLI param orPER_HOUR_RATE_LIMIT=0
environment variable. - Account flags now display
auth_immutable
value. - Logs can be sent to a file. Destination file can be set using an environment variable (
LOG_FILE={file}
) or CLI parameter (--log-file={file}
).
- Assets stats are disabled by default. This can be changed using an environment variable (
ENABLE_ASSET_STATS=true
) or CLI parameter (--enable-asset-stats=true
). Please note that it has a negative impact on a DB and ingestion time. - In "Offers for Account",
last_modified_time
field endpoint can benull
when ledger data is not available (has not been ingested yet). - "Trades for Offer" endpoint will query for trades that match the given offer on either side of trades, rather than just the "sell" offer. Offer IDs are now synthetic. You have to reingest history to update offer IDs.
aurora db backfill
command has been fixed.- Fixed
remoteAddrIP
function to support IPv6. - Fixed
route
field in the logs when the request is rate limited.
- Fixed and improved
txsub
package (#695). This should resolve many issues connected toTimeout
responses. - Improve stream error reporting (#680).
- Checking
ingest.Cursor
errors inSession
(#679). - Added account ID validation in
/account/{id}
endpoints (#684).
This release contains several bug fixes:
- Assets stats can cause high CPU usage on hcnet-core DB. If this slows down the database it's now possible to turn off this feature by setting
DISABLE_ASSET_STATS
feature flag. This can be set as environment variable (DISABLE_ASSET_STATS=true
) or CLI parameter (--disable-asset-stats=true
). - Sometimes
/accounts/{id}/offers
returns500 Internal Server Error
response when ledger data is not available yet (for new ledgers) or no longer available (CATCHUP_RECENT
deployments). It's possible to setALLOW_EMPTY_LEDGER_DATA_RESPONSES
feature flag as environment variable (ALLOW_EMPTY_LEDGER_DATA_RESPONSES=true
) or CLI parameter (--allow-empty-ledger-data-responses=true
). With the flag set totrue
"Offers for Account" endpoint will returnnull
inlast_modified_time
field when ledger data is not available, instead of500 Internal Server Error
error.
- Feature flag to disable asset stats (#668).
- Feature flag to allow null ledger data in responses (#672).
- Fix empty memo field in JSON when memo_type is text (#635).
- Improved logging: some bad requests no longer generate
ERROR
level log entries (#654). /friendbot
endpoint is available only whenFriendbotURL
is set in the config.
- Offer resource
last_modified
field removed (see Bug Fixes section). - Trade aggregations endpoint accepts only specific time ranges now (1/5/15 minutes, 1 hour, 1 day, 1 week).
- Aurora sends
Cache-Control: no-cache, no-store, max-age=0
HTTP header for all responses.
- Account > Signers collection
public_key
field is deprecated, replaced bykey
.
- Protocol V10 features:
- New
bump_sequence
operation (as in CAP-0001).- New
bump_sequence
operation. - New
sequence_bumped
effect. - Please check CAP-0001 for new error codes for transaction submission.
- New
- Offer liabilities (as in CAP-0003):
/accounts/{id}
resources contain new fields:buying_liabilities
andselling_liabilities
for each entry inbalances
.- Please check CAP-0003 for new error codes for transaction submission.
- New
- Added
source_amount
field topath_payment
operations. - Added
account_credited
andaccount_debited
effects forpath_payment
operations. - Friendbot link in Root endpoint is empty if not set in configuration.
- Improved
ingest
package logging. - Improved HTTP logging (
forwarded_ip
,route
fields,duration
is always in seconds). LOGGLY_HOST
env variable has been replaced withLOGGLY_TAG
and is adding a tag to every log event.- Dropped support for Go 1.8.
- New fields in Offer resource:
last_modified_ledger
andlast_modified_time
, replace buggylast_modified
(#478). - Fixed pagination in Trades for account endpoint (#486).
- Fixed a synchronization issue in
ingest
package (#603). - Fixed Order Book resource links in Root endpoint.
- Fixed streaming in Offers for Account endpoint.
- Fixed large amounts rendering in
/assets
.
- Fixed a bug in
amount
andprice
packages triggering long calculations.
- Fixed a conversion bug when
timebounds.max_time
is set toINT64_MAX
.
amount
field in/assets
is now a String (to support Hcnet amounts larger thanint64
).
- Effect resource contains a new
created_at
field. - Aurora responses are compressed.
- Ingestion errors have been improved.
aurora rebase
command was improved.
- Aurora now returns
400 Bad Request
for negativecursor
values.
Upgrade notes
DB migrations add a new indexes on history_trades
. 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.
- Fix a service stutter caused by excessive
info
commands being issued from the root endpoint.
This release is a bug fix release for v0.12.1 and v0.12.2. Please see the upgrade notes below if you did not already migrate your db for v0.12.0
- Remove strict validation on the
resolution
parameter for trade aggregations endpoint. We will add this feature back in to the next major release.
This release is a bug fix release for v0.12.0. Please see the upgrade notes below if you did not already migrate your db for v0.12.0
- Fixed an issue caused by un-migrated trade rows. (https://github.com/hcnet/go/issues/357)
- Command line flags are now useable for subcommands of aurora.
Big release this time for aurora: We've made a number of breaking changes since v0.11.0 and have revised both our database schema as well as our data ingestion system. We recommend that you take a backup of your aurora database prior to upgrading, just in case.
Since this release changes both the schema and the data ingestion system, we recommend the following upgrade path to minimize downtime:
- Upgrade aurora binaries, but do not restart the service
- Run
aurora db migrate up
to migrate the db schema - Run
aurora db reingest
in a background session to begin the data reingestion process - Restart aurora
- Operation and payment resources were changed to add
transaction_hash
andcreated_at
properties. - The ledger resource was changed to add a
header_xdr
property. Existing aurora installations should re-ingest all ledgers to populate the history database tables with the data. In future versions of aurora we will disallow null values in this column. Going forward, this change reduces the coupling of aurora to hcnet-core, ensuring that aurora can re-import history even when the data is no longer stored within hcnet-core's database. - All Assets endpoint (
/assets
) that returns a list of all the assets in the system along with some stats per asset. The filters allow you to narrow down to any specific asset of interest. - Trade Aggregations endpoint (
/trade_aggregations
) allow for efficient gathering of historical trade data. This is done by dividing a given time range into segments and aggregate statistics, for a given asset pair (base
,counter
) over each of these segments.
- Ingestion performance and stability has been improved.
- Changes to an account's inflation destination no longer produce erroneous "signer_updated" effects. (https://github.com/hcnet/aurora/issues/390)
- BREAKING CHANGE: The
base_fee
property of the ledger resource has been renamed tobase_fee_in_stroops
- BREAKING CHANGE: The
base_reserve
property of the ledger resource has been renamed tobase_reserve_in_stroops
and is now expressed in stroops (rather than lumens) and as a JSON number. - BREAKING CHANGE: The "Orderbook Trades" (
/orderbook/trades
) endpoint has been removed and replaced by the "All Trades" (/trades
) endpoint. - BREAKING CHANGE: The Trade resource has been modified to generalize assets as (
base
,counter
) pairs, rather than the previous (sold
,bought
) pairs. - Full reingestion (i.e. running
aurora db reingest
) now runs in reverse chronological order.
- BREAKING CHANGE: Friendbot has been extracted to an external microservice.
v0.11.0 - 2017-08-15
- The ingestion system can now properly import envelopes that contain signatures that are zero-length strings.
- BREAKING CHANGE: specifying a
limit
of0
now triggers an error instead of interpreting the value to mean "use the default limit". - Requests that ask for more records than the maximum page size now trigger a bad request error, instead of an internal server error.
- Upstream bug fixes to xdr decoding from
github.com/hcnet/go
.
- BREAKING CHANGE: The payments endpoint now includes
account_merge
operations in the response. - "Finished Request" log lines now include additional fields:
streaming
,path
,ip
, andhost
. - Responses now include a
Content-Disposition: inline
header.
v0.10.1 - 2017-03-29
- Ingestion was fixed to protect against text memos that contain null bytes. While memos with null bytes are legal in hcnet-core, PostgreSQL does not support such values in string columns. Aurora now strips those null bytes to fix the issue.
v0.10.0 - 2017-03-20
This is a fix release for v0.9.0 and v0.9.1
- Added
aurora db clear
helper command to clear previously ingested history.
- Embedded sql files for the database schema have been fixed agsain to be compatible with postgres 9.5. The configuration setting
row_security
has been removed from the dumped files.
v0.9.1 - 2017-03-20
- Embedded sql files for the database schema have been fixed to be compatible with postgres 9.5. The configuration setting
idle_in_transaction_session_timeout
has been removed from the dumped files.
v0.9.0 - 2017-03-20
This release was retracted due to a bug discovered after release.
- Aurora now exposes the hcnet network protocol in several places: It shows the currently reported protocol version (as returned by the hcnet-core
info
command) on the root endpoint, and it reports the protocol version of each ledger resource. - Trade resources now include a
created_at
timestamp.
- BREAKING CHANGE: The reingestion process has been updated. Prior versions of aurora would enter a failed state when a gap between the imported history and the hcnet-core database formed or when a previously imported ledger was no longer found in the hcnet-core database. This usually occurs when running hcnet-core with the
CATCHUP_RECENT
config option. With these changed, aurora will automatically trim "abandonded" ledgers: ledgers that are older than the core elder ledger.
v0.8.0 - 2017-02-07
- account signer resources now contain a type specifying the type of the signer:
ed25519_public_key
,sha256_hash
, andpreauth_tx
are the present values used for the respective signer types.
- The
public_key
field on signer effects and an account's signer summary has been renamed tokey
to reflect that new signer types are not necessarily specifying a public key anymore.
- The
public_key
field on account signers and signer effects are deprecated
v0.7.1 - 2017-01-12
- Trade resources now include "bought_amount" and "sold_amount" fields when being viewed through the "Orderbook Trades" endpoint.
- Fixes #322: orderbook summaries with over 20 bids now return the correct price levels, starting with the closest to the spread.
v0.7.0 - 2017-01-10
- The account resource now includes links to the account's trades and data values.
- Fixes paging_token attribute of account resource
- Fixes race conditions in friendbot
- Fixes #202: Add price and price_r to "manage_offer" operation resources
- Fixes #318: order books for the native currency now filters correctly.
v0.6.2 - 2016-08-18
- Fixes streaming (SSE) requests, which were broken in v0.6.0
v0.6.1 - 2016-07-26
- Fixed an issue where accounts were not being properly returned when the history database had no record of the account.
v0.6.0 - 2016-07-20
This release contains the initial implementation of the "Abridged History System". It allows a aurora system to be operated without complete knowledge of the ledger's history. With this release, aurora will start ingesting data from the earliest point known to the connected hcnet-core instance, rather than ledger 1 as it behaved previously. See the admin guide section titled "Ingesting hcnet-core data" for more details.
- Elder ledgers have been introduced: An elder ledger is the oldest ledger known to a db. For example, the
core_elder_ledger
attribute on the root endpoint refers to the oldest known ledger stored in the connected hcnet-core database. - Added the
history-retention-count
command line flag, used to specify the amount of historical data to keep in the history db. This is expressed as a number of ledgers, for example a value of362880
would retain roughly 6 weeks of data given an average of 10 seconds per ledger. - Added the
history-stale-threshold
command line flag to enable stale history protection. See the admin guide for more info. - Aurora now reports the last ledger ingested to hcnet-core using the
setcursor
command. - Requests for data that precede the recorded window of history stored by aurora will receive a
410 Gone
http response to allow software to differentiate from other "not found" situations. - The new
db reap
command will manually trigger the deletion of unretained historical data - A background process on the server now deletes unretained historical once per hour.
- BREAKING: When making a streaming request, a normal error response will be returned if an error occurs prior to sending the first event. Additionally, the initial http response and streaming preamble will not be sent until the first event is available.
- BREAKING:
aurora_latest_ledger
has renamed tohistory_latest_ledger
- Aurora no longer needs to begin the ingestion of historical data from ledger sequence 1.
- Rows in the
history_accounts
table are no longer identified using the "Total Order ID" that other historical records use, but are rather using a simple auto-incremented id.
- The
/accounts
endpoint, which lets a consumer page through the entire set of accounts in the ledger, has been removed. The change from complete to an abridged history in aurora makes the endpoint mostly useless, and after consulting with the community we have decided to remove the endpoint.
v0.5.1 - 2016-04-28
- ManageData operation data is now rendered in the various operation end points.
- Transaction memos that contain utf-8 are now properly rendered in browsers by properly setting the charset of the http response.
v0.5.0 - 2016-04-22
- BREAKING: Aurora can now import data from hcnet-core without the aid of the aurora-importer project. This process is now known as "ingestion", and is enabled by either setting the
INGEST
environment variable to "true" or specifying "--ingest" on the launch arguments for the aurora process. Only one process should be running in this mode for any given aurora database. - Add
aurora db init
, used to install the latest bundled schema for the aurora database. - Add
aurora db reingest
command, used to update outdated or corrupt aurora database information. Admins may now useaurora db reingest outdated
to migrate any old data when updated aurora. - Added
network_passphrase
field to root resource. - Added
fee_meta_xdr
field to transaction resource.
- Corrected casing on the "offers" link of an account resource.
v0.4.0 - 2016-02-19
- Add
aurora db migrate [up|down|redo]
commands, used for installing schema migrations. This work is in service of porting the aurora-importer project directly to aurora. - Add support for TLS: specify
--tls-cert
and--tls-key
to enable. - Add support for HTTP/2. To enable, use TLS.
- BREAKING CHANGE: Removed support for building on go versions lower than 1.6
v0.3.0 - 2016-01-29
- Fixed incorrect
source_amount
attribute on pathfinding responses. - BREAKING CHANGE: Sequence numbers are now encoded as strings in JSON responses.
- Fixed broken link in the successful response to a posted transaction
v0.2.0 - 2015-12-01
- BREAKING CHANGE: the
address
field of a signer in the account resource has been renamed topublic_key
. - BREAKING CHANGE: the
address
on the account resource has been renamed toaccount_id
.
v0.1.1 - 2015-12-01
- Github releases are created from tagged travis builds automatically