A breaking change will get clearly marked in this log.
-
Add support for top-level offers endpoint with
seller
,selling
, andbuying
filter. (#485) Horizon 1.0 includes a new/offers
end-point, which allows you to list all offers, supporting filtering byseller
,selling
, orbuying
asset.You can fetch data from this endpoint by doing
server.offers()
and use any of the following filters:seller
:server.offers().accountId(accountId)
buying
:server.offers().buying(asset)
selling
:server.offers().selling(asset)
This introduced a breaking change since it modified the signature for the function
server.offers()
.Before, if you wanted to list all the offers for a given account, you'd do:
server.offers('accounts', accountID)
Starting on this version you'll need to do:
server.offers().accountId(accountId)
You can do now things that were not possible before, like finding all offers for an account filtering by the selling or buying asset
server.offers().accountId(accountId).selling(assetA).buying(assetB)
-
Add support for filtering accounts by
signer
orasset
(#474) Horizon 1.0 includes a new/accounts
end-point, which allows you to list all accounts who have another account as a signer or hold a given asset.You can fetch data from this endpoint by doing
server.accounts()
and use any of the following filters:accountID
:server.accounts().accountId(accountId)
, returns a single account.forSigner
:server.accounts().forSigner(accountId)
, returns accounts whereaccountId
is a signer.forAsset
:server.accounts().forAsset(asset)
, returns accounts which hold theasset
.
-
Add TypeScript typings for new fields in
fee_stats
. (#462)
- Changed TypeScript typing for multiple operations "type", it will match the new value on Horizon. (#477)
- Fix fetchTimebounds() (#487)
- Clone the passed URI in CallBuilder constructor, to not mutate the outside ref (#473)
- Use axios CancelToken to ensure timeout (#482)
-
Remove
fee_paid
field from transaction response. (#476) -
Remove all
*_accepted_fee
from FeeStatsResponse. (#463) -
Change function signature for
server.offers
. (#485) The signature for the functionserver.offers()
was changed to bring suppport for other filters.Before, if you wanted to list all the offers for a given account, you'd do:
server.offers('accounts', accountID)
Starting on this version you'll need to do:
server.offers().accountId(accountId)
-
Horizon 0.25.0 will change the data type for multiple attributes from
Int64
tostring
. When the JSON payload includes anInt64
, there are scenarios where large number data can be incorrectly parsed, since JavaScript doesn't supportInt64
values. You can read more about it in #1363.This release extends the data types for the following attributes to be of type
string
ornumber
:EffectRecord#offer_id
EffectRecord#new_seq
OfferRecord#id
TradeAggregationRecord#timestamp
TradeAggregationRecord#trade_count
ManageOfferOperationResponse#offer_id
PassiveOfferOperationResponse#offer_id
We recommend you update your code to handle both
string
ornumber
in the fields listed above, so that once Horizon 0.25.0 is released, your application will be able to handle the new type without breaking.
- Add
fee_charged
anmax_fee
toTransactionResponse
interface. (455)
- Horizon 0.25 will stop sending the property
fee_paid
in the transaction response. Usefee_charged
andmax_fee
, read more about it in 450.
- Upgrade
stellar-base
tov2.1.2
. (452)
- Change arguments on server.strictReceivePaths since we included
destinationAccount
as an argument, but it is not longer required by Horizon. (477)
-
Add
server.strictReceivePaths
which adds support for/paths/strict-receive
. (444) This function takes a list of source assets or a source address, a destination address, a destination asset and a destination amount.You can call it passing a list of source assets:
server.strictReceivePaths(sourceAssets,destinationAsset, destinationAmount)
Or a by passing a Stellar source account address:
server.strictReceivePaths(sourceAccount,destinationAsset, destinationAmount)
When you call this function with a Stellar account address, it will look at the account’s trustlines and use them to determine all payment paths that can satisfy the desired amount.
-
Add
server.strictSendPaths
which adds support for/paths/strict-send
. (444) This function takes the asset you want to send, and the amount of that asset, along with either a list of destination assets or a destination address.You can call it passing a list of destination assets:
server.strictSendPaths(sourceAsset, sourceAmount, [destinationAsset]).call()
Or a by passing a Stellar account address:
server.strictSendPaths(sourceAsset, sourceAmount, "GDRREYWHQWJDICNH4SAH4TT2JRBYRPTDYIMLK4UWBDT3X3ZVVYT6I4UQ").call()
When you call this function with a Stellar account address, it will look at the account’s trustlines and use them to determine all payment paths that can satisfy the desired amount.
- Server#paths is deprecated in favor of Server#strictReceivePaths. (444)
- Add join method to call builder. (#436)
- Drop Support for Node 6 since it has been end-of-lifed and no longer in LTS. We now require Node 10 which is the current LTS until April 1st, 2021. (#424
- Add feeStats support. (#409)
- Fix Util.verifyChallengeTx documentation (#405)
- Fix: listen to stream events with addEventListener (#408)
- Fix ServerApi's OrderbookRecord type (#401)
- Set
name
in custom errors (#403)
- Fix manage data value in SEP0010 challenge builder. (#396)
- Add support for networkPassphrase in SEP0010 challenge builder. (#397)
- Add helper
Utils.verifyChallengeTx
to verify SEP0010 "Challenge" Transaction. (#388) - Add helper
Utils.verifyTxSignedBy
to verify that a transaction has been signed by a given account. (#388)
- Check for a global EventSource before deciding what to use. This allows you to inject polyfills in other environments like react-native. (#389)
- Fix CallBuilder onmessage type (#385)
- Add single script to build docs and call it when combined with jsdoc. (#380)
- Add SEP0010 transaction challenge builder. (#375)
- Add
home_domain
to ServerApi.AccountRecord (#376)
- Fix jsdoc's build in after_deploy (#373)
- Create new URI instead of passing serverUrl (Fix #379). (#382)
- Breaking change Port stellar-sdk to Typescript. Because we use a slightly
different build process, there could be some unanticipated bugs. Additionally,
some type definitions have changed:
- Types that were once in the
Server
namespace but didn't actually deal with theServer
class have been broken out into a new namespace,ServerApi
. So, for example,Server.AccountRecord
->ServerApi.AccountRecord
. Server.AccountResponse
is out of theServer
namespace ->AccountResponse
Server.*CallBuilder
is out of theServer
namespace ->*CallBuilder
HorizonResponseAccount
is nowHorizon.AccountResponse
- Types that were once in the
- Upgrade Webpack to v4.
- Add support for providing app name and version to request headers.
- (NPM wouldn't accept the 2.0.0 version, so we're publishing to 2.0.1.)
Many thanks to @Ffloriel and @Akuukis for their help with this release!
- Make CallCollectionFunction return a CollectionPage.
- Update Horizon.AccountSigner[] types.
- Automatically tag alpha / beta releases as "next" in NPM.
- Upgrade axios to 0.19.0 to close a security vulnerability.
- Some type fixes.
- Upgrade stellar-base to v1.0.2 to fix a bug with the browser bundle.
- Upgrade stellar-base to v1.0.1, which makes available again the deprecated
operation functions
Operation.manageOffer
andOperation.createPassiveOffer
(with a warning). - Fix the documentation around timebounds.
- Upgrade stellar-base to v1.0.0, which introduces two breaking changes.
- Switch stellar-sdk's versioning to true semver! 🎉
- Add types for LedgerCallBuilder.ledger.
- Add types for Server.operationFeeStats.
- Add types for the HorizonAxiosClient export.
- Move @types/* from devDependencies to dependencies.
- Pass and use a stream response type to CallBuilders if it's different from the normal call response.
- Upgrade stellar-base to a version that includes types, and remove @types/stellar-base as a result.
- In .travis.yml, try to switch from the encrypted API key to an environment var.
- Fix Server.transactions and Server.payments definitions to properly return collections
- Renew the npm publish key
- Add Typescript type definitions (imported from DefinitelyTyped).
- Make these changes to those definitions:
- Add definitions for Server.fetchBaseFee and Server.fetchTimebounds
- CallBuilder: No long always returns CollectionPaged results. Interfaces that extend CallBuilder should specify whether their response is a collection or not
- CallBuilder: Add inflation_destination and last_modified_ledger property
- OfferRecord: Fix the returned properties
- TradeRecord: Fix the returned properties
- TradesCallBuilder: Add forAccount method
- TransactionCallBuilder: Add includeFailed method
- Horizon.BalanceLineNative/Asset: Add buying_liabilities / selling_liabilities properties
- Fix documentation links.
- Breaking change:
stellar-sdk
no longer ships with anEventSource
polyfill. If you plan to support IE11 / Edge, please useevent-source-polyfill
to setwindow.EventSource
. - Upgrade
stellar-base
to a version that doesn't use thecrypto
library, fixing a bug with Angular 6 - Add
Server.prototype.fetchTimebounds
, a helper function that helps you set thetimebounds
property when inittingTransactionBuilder
. It bases the timebounds on server time rather than local time.
- Updated some out-of-date dependencies
- Update documentation to explicitly set fees
- Add
Server.prototype.fetchBaseFee
, which devs can use to fetch the current base fee; we plan to add more functions to help suggest fees in future releases - Add
includeFailed
toOperationCallBuilder
for including failed transactions in calls - Add
operationFeeStats
toServer
for the new fee stats endpoint - After submitting a transaction with a
manageOffer
operation, return a new propertyofferResults
, which explains what happened to the offer. SeeServer.prototype.submitTransaction
for documentation.
- Update
stellar-base
to0.11.0
- Added ESLint and Prettier to enforce code style
- Upgraded dependencies, including Babel to 6
- Bump local node version to 6.14.0
- Update
stellar-base
to0.10.0
:- Breaking change Added
TransactionBuilder.setTimeout
method that setstimebounds.max_time
on a transaction. Because of the distributed nature of the Stellar network it is possible that the status of your transaction will be determined after a long time if the network is highly congested. If you want to be sure to receive the status of the transaction within a given period you should set the TimeBounds withmaxTime
on the transaction (this is whatsetTimeout
does internally; if there'sminTime
set but nomaxTime
it will be added). Call toTransactionBuilder.setTimeout
is required if Transaction does not havemax_time
set. If you don't want to set timeout, useTimeoutInfinite
. In general you should setTimeoutInfinite
only in smart contracts. Please checkTransactionBuilder.setTimeout
docs for more information. - Fixed decoding empty
homeDomain
.
- Breaking change Added
- Add
offset
parameter to TradeAggregationCallBuilder to reflect new changes to the endpoint in horizon-0.15.0
- Update
js-xdr
(by updatingstellar-base
) to support unmarshaling non-utf8 strings. - String fields returned by
Operation.fromXDRObject()
are of typeBuffer
now (exceptSetOptions.home_domain
andManageData.name
- both required to be ASCII by stellar-core).
- Update
stellar-base
and xdr files.
- Update
stellar-base
(andjs-xdr
).
- Update
stellar-base
to0.8.1
.
- Update
stellar-base
to0.8.0
withbump_sequence
support.
- Removed
.babelrc
file from the NPM package.
-
stellar-sdk
is now using nativePromise
instead ofbluebird
. Thecatch
function is different. Instead of:.catch(StellarSdk.NotFoundError, function (err) { /* ... */ })
please use the following snippet:
.catch(function (err) { if (err instanceof StellarSdk.NotFoundError) { /* ... */ } })
-
We no longer support IE 11, Firefox < 42, Chrome < 49.
- Fixed
_ is undefined
bug. - Browser build is around 130 KB smaller!
- Added
timeout
option toStellarTomlResolver
andFederationServer
calls (stellar#158). - Fixed adding random value to URLs multiple times (stellar#169).
- Fixed jsdoc for classes that extend
CallBuilder
. - Updated dependencies.
- Added
yarn.lock
file to repository.
- Add an allowed trade aggregation resolution of one minute
- Various bug fixes
- Improved documentation
- Modify
/trades
endpoint to reflect changes in horizon. - Add
/trade_aggregations
support. - Add
/assets
support.
- Upgrade
stellar-base
.
- Allow hex string in setOptions signers.
- Upgrade
stellar-base
.
- Support for new signer types:
sha256Hash
,preAuthTx
. StrKey
helper class withstrkey
encoding related methods.- Removed deprecated methods:
Keypair.isValidPublicKey
(useStrKey
),Keypair.isValidSecretKey
(useStrKey
),Keypair.fromSeed
,Keypair.seed
,Keypair.rawSeed
. - Breaking changes:
Network
must be explicitly selected. Previously testnet was a default network.Operation.setOptions()
methodsigner
param changed.Keypair.fromAccountId()
renamed toKeypair.fromPublicKey()
.Keypair.accountId()
renamed toKeypair.publicKey()
.- Dropping support for
End-of-Life
node versions.
- Updated
stellar.toml
location
forUpdate
methods of call builders now accept strings and numbers.- Create a copy of attribute in a response if there is a link with the same name
(ex.
transaction.ledger
,transaction._links.ledger
).
- Breaking change
CallBuilder.stream
now reconnects when no data was received for a long time. This is to prevent permanent disconnects (more in: #76). Also, this method now returnsclose
callback instead ofEventSource
object. - Breaking change
Server.loadAccount
now returns theAccountResponse
object. - Breaking change Upgraded
stellar-base
to0.6.0
.ed25519
package is now an optional dependency. CheckStellarSdk.FastSigning
variable to check ifed25519
package is available. More in README file. - New
StellarTomlResolver
class that allows gettingstellar.toml
file for a domain. - New
Config
class to set global config values.
- Fixed XDR decoding issue when using firefox
- Breaking change
Server
andFederationServer
constructors no longer accept object inserverUrl
parameter. - Breaking change Removed
AccountCallBuilder.address
method. UseAccountCallBuilder.accountId
instead. - Breaking change It's no longer possible to connect to insecure server in
Server
orFederationServer
unlessallowHttp
flag inopts
is set. - Updated dependencies.
- Updated dependency (
stellar-base
).
- Updated dependencies.
- Added tests.
- Added
CHANGELOG.md
file.
stellar-base
bump. (c90c68f)
- Breaking change Bumped
stellar-base
to 0.5.0. (b810aef)