29 KiB
ripple-lib Release History
0.18.0 (UNRELEASED)
0.17.9 (2017-11-14)
- Update ws dependency to 3.3.1
- Remove unnecessary polyfills
- Fix lint errors (#786, #808)
- Update ripple-keypairs dependency to 0.10.1
The SHA checksums for the browser version of this release can be found below.
% shasum *
e1995afc34aef6accd269cfccc55a45619618a41 ripple-0.17.9-debug.js
e6ad9a9c111ab696f5637bfa372d80999e5ae362 ripple-0.17.9-min.js
4866494ec5f9095cc34bea142f1e2b8ac5f7fbf8 ripple-0.17.9.js
0.17.8 (2017-11-06)
- Fix: Freezing in Safari 10.1 (updated bignumber.js) (closes #762)
- Fix:
getSettingsshould include signers - Update for Node 6
- Update lodash dependency
- Migrate to yarn
0.17.7 (2017-05-08)
- Replace AJV with jsonschema
0.16.5 (2016-01-21)
0.16.4
0.16.2
- Bump
ripple-binary-codecdependency version to 0.1.1 to fix issue withcomputeLedgerHashfor transactions withDeliverMin
0.16.1
0.16.0
BREAKING CHANGES
- Fix types of XRP values in
getServerInforesponse - Change error event format and fix crash due to error event on websocket
OTHER CHANGES
- Fix
generateAddressdocs and add error event listener to boilerplate - Allow setting
maxLedgerVersiontonullto specify no maximum - Add support for client certificates
getFeereturns a string not a float- Fix parsing of quality for
getTrustlines - Fix
DeliverMinvalue when specifyingminAmount - http server example
0.15.2
0.15.1
0.15.0
BREAKING CHANGES
OTHER CHANGES
- Fix handling memos in
prepareSettings - Docs: SusPay warnings, offline mode, and other tweaks
- Fix prepareOrderCancellation documentation
0.14.0
BREAKING CHANGES
prepareOrderCancellationnow takes orderCancellation specification- Rename "ledgerClosed" event to "ledger" and change format
OTHER CHANGES
- Fix proxy support and add support for proxy authorization
- Fix trace option
- Allow memos on all transaction types
- Add documentation for RippleAPI options
- Docs: more on basic types, tx types
- Docs: revised introductory material
- boost coverage to almost 100%
0.13.2
0.13.1
0.13.0
BREAKING CHANGES
- Add new RippleAPI interface and delete old API
OTHER CHANGES
- Removed timeout method of Request and added default timeout
- Add Remote.closeCurrentPathFind function, so current pathfind can be properly closed
- Implement Balance Sheet API
- Fix bugs in orderbook subscription
- Fix crash due to rippled slowDown error
- Fix: Emit error events and return error on pathfind
- Deprecate core and remove snake case method copying
- Fix RangeSet for validated_ledger as single ledger
- Fix bug where the paths would be set with an empty array
- Fix reserve calculation
0.12.9
0.12.7 and 0.12.8
- Improve performance of orderbook
- Remove Firefox warning about prototype overwrite
- Fix compare bug in
Amountclass
0.12.6
0.12.15
- Add offer autobridging
- Prevent crash when listening for "model" events on the OrderBook class
- Fix empty order edgecase
- Fix AutobridgeCalculator (RT-3445)
- Update sjcl and delete custom ripemd160, montgomery, and jacobi
- Fix transaction summary for transactions that fail with remoteError
- Fix serializedobject append for excessively large bytes length
- Switch to sjcl npm module
- Add babel transpiler
- Remove unused float.js and wallet.js
- Remove config singleton to reduce global state
0.12.4
0.12.3
- Add getLedgerSequence to Remote
- Improve randomness when generating ECDSA signatures
- Improve SerializedObject.append performance
- Add
Amount.scale. Multiply an amount’s value by a scale factor
0.12.2
0.12.1
BREAKING CHANGES
OTHER CHANGES
- Fix taker pays funded calculation
- Fix order funded amount calculation
- Fix handling of quality in order book
- Fix currency parsing of non-alphanumeric and no-currency currencies
- Add Amount.strict_mode for toggling range validation
- Add filename and line number to log, use log.warn() for deprecations
- Add GlobalFreeze and NoFreeze flags
- Fix handling of falsy parameters in requestLedger
- Fix Base:decode
- Fix Amount: clone in ratio_human, product_human
- Fix Amount.to_human for very small numbers
- Refactor base conversion
- Update binary transaction format
- Add DefaultRipple account flag
- Remove
Featuresfield requirement inSetFeetransaction format - Remove
RegularKeyfield requirement inSetRegularKeytransaction format
0.12.0
BREAKING CHANGES
- REMOVED Remote storage interface
- REMOVED Remote
pingconfiguration - REMOVED Old/deprecated Remote server configuration (websocket_ip, websocket_port)
- REMOVED browser
onlinereconnect listener - Remove
jsbnand usebignumber.jsinstead for big number math - The
allow_nanflag has been removed. Results for invalid amounts will always beNaN
OTHER CHANGES
- Add deprecation warnings to request constructors. The first argument to request constructor functions should be an object containing request properties
- Fix taker_gets_funded exceeding offer.TakerGets
- Fix unsymmetric memo serializing
- Fix IOU value passed to
Amount.from_json() - Update transaction binary parsing to account for XRP delivered amounts
- Bumped dependencies
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 - Add support for
ledgeroption in requestBookOffers - Add support for
limitoption in requestBookOffers - Add
ledgerSelectrequest constructor inRemote - Default to binary data for commands that accept the binary flag
- Fix metadata account check
- Double check
tescode before emittingsuccess - Decrease redundancy in binary account_tx parsing
- Abort server connection on unrecoverable TLS error
- Fix complete ledgers check on subscription that is not initial
0.10.0
- Transaction changes
- 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() - Improve memo support
- Add
MemoFormatproperty for memo - Enforce
MemoFormatandMemoTypeto be valid ASCII - Support
textandjsonMemoFormat
- Add
- Update sjcl library
- 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
- Fix empty queue check on reconnect
0.9.4
- Normalize offers from book_offers and transaction stream
- Fix: Amount.to_human() precision rounding
- Fix: fractional drops in funded taker_pays setter
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
- Update binformat with missing fields from rippled
- Wait for transaction validation before returning
tecerror - Change default
max_feeonRemoteto1 XRP - Fix: Request ledger_accept should return the Remote
0.9.2
BREAKING CHANGES
OTHER CHANGES
- 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
- Fix: cap IOU Amounts to their max and min value
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 without remote (d3b6b81)
- Fix: account root request ledger argument (bc1f9f8)
- Fix: rsign.js local signing and example (d3b6b81 and f1004c6)
0.9.0
BREAKING CHANGES
- Make maxLoops in seed.get_key optional. Example use in tests (23e473b)
OTHER CHANGES
- 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)
- Shrinkwrap packages for dependency locking (2dcd5f9)
- Fix: Amount.to_human() precision bugs (4be209e and 7708c64)
- 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 separate 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 inadequate. 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.