Skip to content

Releases: XRPLF/xrpl.js

v0.8.1-rc2

11 Sep 01:55
Compare
Choose a tag to compare
v0.8.1-rc2 Pre-release
Pre-release
  • Wallet: Add Wallet class that generates wallets
  • Make npm test runnable in Windows.
  • Fix several stability issues, see merged PR's for details

v0.8.1-rc1

11 Sep 00:36
Compare
Choose a tag to compare
v0.8.1-rc1 Pre-release
Pre-release
  • Wallet: Add Wallet class that generates wallets
  • Make npm test runnable in Windows.
  • Fix several stability issues, see merged PR's for details

v0.8.0

05 Sep 17:29
Compare
Choose a tag to compare
  • Orderbook: Added tracking of offer funds for determining when offers are not funded
  • Orderbook: Added tests
  • Orderbook: Update owner funds
  • Transactions: If transaction errs with tefALREADY, wait until all possible submissions err with the same before emitting error. Fixes a client "Transaction malformed" bug.
  • Transactions: Track submissions, don't bother submitting to unconnected servers
  • Request: request.request() now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself.
  • Request: request.broadcast() now returns the number of servers request was sent to
  • Server: Acquire host information from server without additional request
  • Amount: Add a constant for the maximum canonical value that can be expressed as a Ripple value
  • Amount: Make Constants static fields on the class, instead of a seperate export

v0.8.0-rc3

04 Sep 23:09
Compare
Choose a tag to compare
v0.8.0-rc3 Pre-release
Pre-release
  • Orderbook: Added tracking of offer funds for determining when offers are not funded
  • Orderbook: Added tests
  • Orderbook: Update owner funds
  • Transactions: If transaction errs with tefALREADY, wait until all possible submissions err with the same before emitting error. Fixes a client "Transaction malformed" bug.
  • Transactions: Track submissions, don't bother submitting to unconnected servers
  • Request: request.request() now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself.
  • Request: request.broadcast() now returns the number of servers request was sent to
  • Server: Acquire host information from server without additional request
  • Amount: Add a constant for the maximum canonical value that can be expressed as a Ripple value
  • Amount: Make Constants static fields on the class, instead of a seperate export

v0.8.0-rc2

04 Sep 17:23
Compare
Choose a tag to compare
v0.8.0-rc2 Pre-release
Pre-release
  • Orderbook: Added tracking of offer funds for determining when offers are not funded
  • Orderbook: Added tests
  • Orderbook: Update owner funds
  • Transactions: If transaction errs with tefALREADY, wait until all possible submissions err with the same before emitting error. Fixes a client "Transaction malformed" bug.
  • Transactions: Track submissions, don't bother submitting to unconnected servers
  • Request: request.request() now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself.
  • Request: request.broadcast() now returns the number of servers request was sent to
  • Server: Acquire host information from server without additional request
  • Amount: Add a constant for the maximum canonical value that can be expressed as a Ripple value

v0.8.0-beta

13 Aug 22:28
Compare
Choose a tag to compare
v0.8.0-beta Pre-release
Pre-release
  • Orderbook: Added tracking of offer funds for determining when offers are not funded
  • Orderbook: Added tests
  • Transactions: If transaction errs with tefALREADY, wait until all possible submissions err with the same before emitting error. Fixes a client "Transaction malformed" bug.
  • Transactions: Track submissions, don't bother submitting to unconnected servers
  • Request: request.request() now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself.
  • Request: request.broadcast() now returns the number of servers request was sent to
  • Server: Acquire host information from server without additional request

v0.7.39

29 Jul 03:59
Compare
Choose a tag to compare
  • Improvements to multi-server support. Fixed an issue where a server's score was not reset and connections would keep dropping after being connected for a significant amount of time.
  • Improvements in order book support. Added support for currency pairs with interest bearing currencies. You can request an order book with hex, ISO code or full name for the currency.
  • Fix value parsing for amount/currency order pairs, e.g. Amount.from_human("XAU 12345.6789")
  • Improved Amount parsing from human readable string given a hex currency, e.g. Amount.from_human("10 015841551A748AD2C1F76FF6ECB0CCCD00000000")
  • Improvements to username normalization in the vault client
  • Add 2-factor authentication support for vault client
  • Removed vestiges of Grunt, switched to Gulp

0.7.37

23 Jun 20:51
Compare
Choose a tag to compare
  • Deprecations

    1. Removed humanistic amount detection in transaction.payment. Passing 1XRP as the payment amount no longer works.
    2. remote.setServer uses full server URL rather than hostname. Example: remote.setServer('wss://s.ripple.com:443')`
    3. Removed constructors for deprecated transaction types from transaction.js.
    4. Removed invoiceID option from transaction.payment. Instead, use the transaction.invoiceID method.
    5. Removed transaction.transactionManager getter.
  • Improved multi-server support. Servers are now ranked dynamically, and transactions are broadcasted to all connected servers.

  • Automatically ping connected servers. Client configuration now should contain ping: <seconds> to specify the ping interval.

  • Added transaction.lastLedger to specify LastLedgerSequence. Setting it this way also ensures that the sequence is not bumped on subsequent requests.

  • Added optional remote.accountTx binary parsing.

      {
        binary: true,
        parseBinary: false
      }
  • Added full currency name support, e.g. Currency.from_json('XRP').to_human({full_name:'Ripples'}) will return XRP - Ripples

  • Improved interest bearing currency support, e.g. Currency.from_human('USD - US Dollar (2.5%pa)')

  • Improve test coverage

  • Added blob vault client. The vault client facilitates interaction with ripple's namespace and blob vault or 3rd party blob vaults using ripple's blob vault software (https://github.com/ripple/ripple-blobvault). A list of the available functions can be found at docs/VAULTCLIENT.md

0.7.35

19 Mar 21:26
Compare
Choose a tag to compare
  • LastLedgerSequence is set by default on outgoing transactions. This refers to the last valid ledger index (AKA sequence) for a transaction. By default, this index is set to the current index (at submission time) plus 8. In theory, this allows ripple-lib to deterministically fail a transaction whose submission request timed out, but whose associated server continues to emit ledger_closed events.
  • Transactions that err with telINSUF_FEE_P will be automatically resubmitted. This error indicates that the Fee supplied in the transaction submission request was inadquate. Ideally, the Fee is tracked by ripple-lib in real-time, and the resubmitted transaction will most likely succeed.
  • Added Transaction.iff(function(callback) { }). Callback expects first argument to be an Error or null, second argument is a boolean which indicates whether or not to proceed with the transaction submission. If an iff function is specified, it will be executed prior to every submission of the transaction (including resubmissions).
  • Transactions will now emit presubmit and postsubmit events. They will be emitted before and after a transaction is submitted, respectively.
  • Added Transaction.summary(). Returns a summary of a transaction in semi-human-readable form. JSON-stringifiable.
  • Remote.requestAccountTx() with binary: true will automatically parse transactions.
  • Added Remote.requestAccountTx filter, map, and reduce.
  remote.requestAccountTx({
    account: 'retc',
    ledger_index_min: -1,
    ledger_index_max: -1,
    limit: 100,
    binary: true,

    filter: function(transaction) {
      return transaction.tx.TransactionType === 'Payment';
    },

    map: function(transaction) {
      return Number(transaction.tx.Amount);
    },

    reduce: function(a, b) {
      return a + b;
    },

    pluck: 'transactions'
  }, console.log)
  • Added persistence hooks.