14 KiB
##0.11.0
-
Track the funded status of an order based on cumulative account orders and 67d3973
-
Remove blobvault client from ripple-lib, use the
ripple-vault-clientinstead 9b3d62b7 -
Default to binary data for commands that accept the binary flag
-
Fix complete ledgers check on subscription that is not initial
##0.10.0
-
Important
tef*andtel*and errors will no longer be presented as final. Rather than considering these errors final, ripple-lib will wait until theLastLedgerSequencespecified in the transaction is exceeded. This makes failures more definitive, and ensures that no transaction will resubmit indefinitely. -
A new, final tej-class error is introduced to account for transactions that are locally determined to have expired:
tejMaxLedger. -
Allow per transaction fees to be set,
transaction.setFixedFee() -
- Add
MemoFormatproperty for memo - Enforce
MemoFormatandMemoTypeto be valid ASCII - Support
textandjsonMemoFormat
- Add
-
- Improved entropy by taking advantage of platform crypto
- Use jscl's k256 curve instead of altering the c256 curve with k256 configuration
- deprecated: the c256 curve is linked to the k256 curve to provide backwards compatibility, this link will be removed in the future
##0.9.4
##0.9.3
-
Change
presubmitto emit immediately before transaction submit -
Add a "core" browser build of ripple-lib which has a subset of features and smaller file size
##0.9.2
-
Add paging behavior for account requests,
account_linesandaccount_offers -
[Add max_fee setter to transactions to set max fee the submitter is willing to pay] (
24587fab9c) -
[Fix: cap IOU Amounts to their max and min value] (
f05941fbc4)
Example on how to use paging with account_offers:
// A valid `ledger_index` or `ledger_hash` is required to provide a reliable result.
// Results can change between ledger closes, so the provided ledger will be used as base.
var options = {
account: < rippleAccount >,
limit: < Number between 10 and 400 >,
ledger: < valid ledger_index or ledger_hash >
}
// The `marker` comes back in an account request if there are more results than are returned
// in the current response. The amount of results per response are determined by the `limit`.
if (marker) {
options.marker = < marker >;
}
var request = remote.requestAccountOffers(options);
##0.9.1
-
Switch account requests to use ledgerSelect rather than ledgerChoose (278df90)
-
Deprecated setting
identandaccount_indexon account requests (278df90) -
Change initial account transaction sequence to 1 (a3c1d06)
-
Fix: instance transaction withoute remote (d3b6b81)
-
Fix: account root request ledger argument (bc1f9f8)
-
Fix: rsign.js local signing and example (d3b6b81 and f1004c6)
##0.9.0
-
Add routes to the vault client for KYC attestations (ed2da574)
-
Currency: add
show_interestflag to show or hide interest inCurrency.to_human()andCurrency.to_json()Example use in tests -
Configurable maxAttempts for transaction submission (d107092)
-
Binformat: added missing TransactionResult options (6abed8d)
-
Breaking change: make maxLoops in seed.get_key optional. Example use in tests (23e473b)
-
Shrinkwrap packages for dependency locking (2dcd5f9)
-
Fix: change handling of requestLedger options (57b7030)
##0.8.2
-
Currency: Allow mixed letters and numbers in currencies
-
Deprecate account_tx map/reduce/filterg
-
Fix: correct requestLedger arguments
-
Fix: missing subscription on error events for some server methods
-
Fix: orderbook reset on reconnect
-
Fix: ripple-lib crashing. Add potential missing error handlers
##0.8.1
-
Wallet: Add Wallet class that generates wallets
-
Make npm test runnable in Windows.
-
Fix several stability issues, see merged PR's for details
-
Fix bug in Amount.to_human_full()
-
Fix undefined fee states when connecting to a rippled that is syncing
##0.8.0
-
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 emittingerror. 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
##0.7.39
-
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
-
Deprecations
- Removed humanistic amount detection in
transaction.payment. Passing1XRPas the payment amount no longer works. remote.setServeruses full server URL rather than hostname. Example:remote.setServer('wss://s.ripple.com:443')`- Removed constructors for deprecated transaction types from
transaction.js. - Removed
invoiceIDoption fromtransaction.payment. Instead, use thetransaction.invoiceIDmethod. - Removed
transaction.transactionManagergetter.
- Removed humanistic amount detection in
-
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.lastLedgerto specifyLastLedgerSequence. Setting it this way also ensures that the sequence is not bumped on subsequent requests. -
Added optional
remote.accountTxbinary parsing.{ binary: true, parseBinary: false } -
Added full currency name support, e.g.
Currency.from_json('XRP').to_human({full_name:'Ripples'})will returnXRP - 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
-
LastLedgerSequenceis 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_Pwill be automatically resubmitted. This error indicates that theFeesupplied in the transaction submission request was inadquate. Ideally, theFeeis 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
ifffunction is specified, it will be executed prior to every submission of the transaction (including resubmissions). -
Transactions will now emit
presubmitandpostsubmitevents. 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: truewill 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.
-
General performance improvements, especially for long-running processes.