Skip to content
Compare
Choose a tag to compare
@ckniffen ckniffen released this 01 Feb 22:06
· 36 commits to main since this release
a090842

What's Changed

Migration Guide

BREAKING CHANGES

  • Bump typescript to 5.x
  • Remove Node 14 support
  • Remove crypto polyfills, create-hash, elliptic, hash.js, and their many dependencies in favor of @noble/hashes and @nobel/curves
  • Remove bip32 and bip39 in favor of @scure/bip32 and @scure/bip39
  • Remove assert dependency. If you were catching AssertionError you need to change to Error
  • Configuring a proxy:
    • Instead of passing various parameters on the ConnectionsOptions you know specify the agent parameter. This object can use be created by libraries such as https-proxy-agent or any that implements the http.Agent.
    • This was changed to both support the latest https-proxy-agent and to remove the need to include the package in bundlers. Tests will still be done using https-proxy-agent and only tested in a node environment which was the only way it was previously supported anyway
  • Remove BroadcastClient which was deprecated
  • Uses @xrplf/secret-numbers instead of xrpl-secret-numbers
  • Improve key algorithm detection. It will now throw Errors with helpful messages
  • Move authorizeChannel from wallet/signer to wallet/authorizeChannel to solve a circular dependency issue.
  • When using a bundler you must remove the mapping of ws to WSWrapper. ex. ws: 'xrpl/dist/npm/client/WSWrapper'. See [../UNIQUE_STEPS](Unique Steps) for the new, much smaller, configs.
  • Transaction type has been redefined to include all transactions and SubmittableTransaction was created to define the old value. The following functions which only handle transactions to be submitted now use SubmittableTransaction:
    • Client.autofill
    • Client.submit
    • Client.submitAndWait
    • Client.prepareTransaction
    • getSignedTx
    • isAccountDelete
  • dropsToXRP and Client.getXrpBalance now return a number instead of a string
  • Buffer has been replaced with UInt8Array for both params and return values. Buffer may continue to work with params since they extend UInt8Arrays.

Bundling Changes

Bundler configurations are much more simplified. See [../UNIQUE_STEPS](Unique Steps) for the new, much smaller, configs.

  • removed the following polyfills:
    • buffer
    • assert
    • crypto-browserify
    • https-browserify
    • os-browserify
    • process
    • stream-browserify
    • stream-http
    • url
    • util - previously added automatically by webpack
    • events - previously added automatically by webpack but manual for vite**
  • Removed mappings for:
    • ws to WsWrapper
    • Excluding https-proxy-agent

Non-Breaking Changes

  • Deprecated:
    • convertHexToString in favor of @xrplf/isomorphic/utils's hexToString
    • convertStringToHex in favor of @xrplf/isomorphic/utils's stringToHex

Full Changelog: https://github.com/XRPLF/xrpl.js/compare/[email protected]@3.0.0