Roadmap

Discover the future of Stacks.js.

We're working hard on v7 of Stacks.js. This version will bring a lot of improvements and new features, but it also adds some breaking changes.

Want to use these latest next features? Install the canary version of the packages, e.g.

npm install @stacks/transactions@next

Breaking changes

  • Getting rid of the network class
    Instead, Stacks networks are now static objects, which are easier to handle. Also, the fetching logic is separated from the network object.
  • Changing internal Clarity representation
    Clarity values in JS are hard to inspect. This is now simpler using easy to construct and debug objects.
  • Changing internal post-conditions representation
    Post-conditions are now easier to inspect as well.
  • Defaulting to hex
    In a lot of places Stacks.js defaults to bytes/Uint8Arrays. This is now updated to default to hex strings, which should be enough for most users. For advanced users, the bytes are still available as new methods.
  • Simplifying addressess & tokens
    Addresses and tokens can be confusing. It's preferred to always have a single string representation for addresses and tokens.
  • Removing Triplesec
    Triplesec has been a legacy mnemonic encryption option for a while. We will remove it to get rid of a dependency on a library that is no longer actively maintained.
  • Remove legacy Blockstack authentication
    The Blockstack authentication is no longer maintained and will be removed from Stacks.js (mainly CLI).

Deprecations

  • Remove wallet-sdk "restoring" and "config" features
    These concepts have lead to confusion and have been avoided by wallets. Wallets will not store additional information on Gaia and will not "restore"/detect which accounts have previously been used.

New Features

  • Adding a maintained StacksApiClient
    So far, we only had auto-generated wrappers for the API. Now we will provide a maintained client that is easier to use with post-processing of information (e.g. Clarity values) to make them easier to use.

Have an idea? Please let us know on Discord #stacks-js or open an issue on Github.