Truffle Versions Save

:warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the years.

v5.9.3

10 months ago

Hello all!

Another small release this week! We've added support for the Symplexia and Dogechain ๐Ÿถ networks to truffle debug -x and truffle call -x, and we've made some changes to speed up compilation times. ๐ŸŽ๏ธ We also fixed a buggy printout.

More is coming next week as always, so stay tuned! ๐Ÿ“บ

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

Enhancement

Bug fix

Internal improvements

v5.9.2

10 months ago

Hello all!

Tiny release this week, focused on dependencies. But don't go away, we'll have bigger improvements for you soon! ๐Ÿ‘ท

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

Internal improvements

Dependency update

v5.9.1

10 months ago

Hello all! ๐Ÿ‘‹

Solidity 0.8.20 is out, and we've started updating Truffle for it! ๐Ÿง‘โ€๐Ÿ’ป Thanks to @sukanyaparashar for some updates, so new projects created with truffle init will use Solidity 0.8.20! We'll have more updates related to Solidity 0.8.20 soon!

In addition, we've added functions for parsing signatures to our abi-utils library. If you have some function or event or error signatures and you want to parse them to get usable ABI objects, these added functions let you do that! โœ‚๐Ÿชก

That's it for this week, see you all again soon with more!

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

Enhancements

Internal improvements

  • Remove ropsten, kovan, rinkeby support from Etherscan fetcher (#6053 by @haltman-at)
  • Use StringValueInfoToStringLossy function in debugger (#6043 by @haltman-at)

Dependency update

v5.9.0

11 months ago

Ring ring ring, it's Truffle 5.9.0!

truffle call

This week's Truffle release introduces the new truffle call command! You can use it to make read-only calls โ˜Ž to your contracts (or external ones, see below) and display the results. Just type truffle call ContractName functionName, followed by the list of arguments. You can also use the function's full ABI-style signature in place of the function name, which can be useful for resolving overloads.

You can also use an address in place of a contract name... and if you pass the --fetch-external option (or -x for short), you can use it with external contracts verified on Etherscan or Sourcify, and Truffle will automatically download and compile the source to allow to you interact with it. ๐ŸŒ

The truffle call command is powered by Truffle Encoder and Truffle Decoder, so it not only displays detailed decoding information, but also has a powerful overload resolution system that can resolve which overload you wanted not only based on how many arguments you supplied, but on their types. ๐Ÿง  Write yourself some overloaded functions and try it out! I think you'll be pleasantly surprised. (Note that correct overload resolution by name and arguments is never a guarantee and you may need to specify the full signature in cases where you need that guarantee. ๐Ÿง‘โ€โš–๏ธ )

What do we mean by "powerful overload resolution"? ๐Ÿค”

You might have in the past had to write things like myFunction(address,address,string,uint160) , where you needed to tediously specify the full signature. This is because Solidity allows you to write functions with the same name that take different arguments:

contract Example {
  function register(string memory name) public {
    /* ... */
  }

  function register(bytes memory id) public {
    /* ... */
  }
}

Many tools refuse to make a guess at which register() you want when you do register("0xabcdef"), instead forcing you to do the work of specifying register(string) or register(bytes), and in this case could tell that you obviously meant register(bytes). This gets annoying if you have a lot of arguments, especially if you have to change them later!

In contrast, truffle call uses @truffle/encoder's sophisticated heuristics to make the most educated guess possible about which overload you intend. This means less boilerplate between you and getting the data you want!

Thanks so much to @sukanyaparashar for getting this started for us!

Other improvements (including ENS primary names inside truffle debug!)

But that's not the only substantial improvement going out this week... Truffle Debugger now supports ENS reverse resolution when decoding! Now, when decoding, addresses (including contracts) with reverse ENS records will have their ENS primary name displayed alongside their ethereum address. ๐Ÿ•ต You can use the default ENS registry for the network you're on if there is one, or you can specify a registry in your config, or you can use the --registry option to specify one at the command line. There's also --no-ens option to turn this feature off.

See it in action!

image

We've also got a few small bug fixes, and we've updated the list of Sourcify networks allowed in trufle debug --fetch-external.

And we'll be back soon with yet more improvements to Truffle! See you all!

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

New feature

Enhancements

Bug fixes

  • Fix incorrect check for panic (#6021 by @haltman-at)
  • Consistify location of user ENS registry address setting (#6005 by @haltman-at)
  • Add even more ways to specify ens registry address so as to be consistent with docs (#6019 by @haltman-at)
  • Change default registry in config from null to undefined (#6034 by @haltman-at)

Dependency update

v5.8.4

11 months ago

Hello all! We've just got one small fix ๐Ÿ”ง this week, courtesy of @d10r. The buffer size has been increased when compiling using a native-binary copy of solc, allowing for compilation of larger projects in such cases. We intend to revisit this in the future with a more comprehensive solution that won't require you to make a PR if the buffer size still isn't high enough for you! ๐Ÿฆพ

...and, well, that's it for this week. But we've got big things coming down the pipeline... ๐Ÿงช

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

Bug fix

  • Increase maxBuffer to 50MB when compiling using native compiler (#6008 by @d10r)

v5.8.3

11 months ago

Hello everyone! ๐Ÿซถ We have another release for you this week. This one updates Ganache to the most recent version; a version which supports Shanghai! We also have to give a shoutout to @lwedge99 ๐Ÿ‹ for correcting a source mapping problem that affected the debugger. Much obliged!

We hope you have a wonderful rest of your week and we'll see you next time!

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

Bug fix

Internal improvements

Dependency update

v5.8.2

1 year ago

Hello all! ๐Ÿ‘‹

This release beings a few enhancements and a bug fix ๐Ÿ›. Firstly, the recently released @truffle/dashboard-hardhat-plugin now automatically adds a --network truffleDashboard to your Hardhat project, eliminating the need to add a custom network to your Hardhard config. In addition, it brings some additional flexibility by allowing you to customize a number of settings such as network, port, etc.

Beyond that we've added support for Polygon ZkEVM to Etherscan source fetcher and fixed a pesky typo in the @trufflesuite/codec docs.

That's all for now, but, as always we'll be back soon with more!

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

Enhancements

  • Make @truffle/dashboard-hardhat-plugin automatically manage the Dashboard Hardhat network configuration (while still allowing customization) (#5982 by @gnidan)
  • Add support for Polygon ZkEVM to Etherscan fetcher (#5986 by @haltman-at)

Bug Fixes

  • Fix typo in interface category name in Decoding/Encoding docs (#5980 by @cliffoo)

v5.8.1

1 year ago

Hey everyone, we have yet another release for you this week! ๐Ÿ˜Š There are some bug fixes, some dependency updates, and a couple of enhancements. Thanks very much to @sheetalkamat and @AlexToTheSun for their contributions! ๐Ÿ™

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

enhancements

bug fixes

dependency Updates

v5.8.0

1 year ago

Hello! ๐Ÿ‘‹ It's time for another Truffle release!

This week, we're introducing the Truffle Dashboard Hardhat plugin.

This plugin enables you to see decoded transaction information (both the function signature and the values of any arguments passed) when using Truffle Dashboard with your Hardhat projects. It extends npx hardhat compile by sending the compiled artifacts to Truffle Dashboard, which in turn uses @truffle/decoder for decoding, giving you that extra degree of visibility before signing the transactions with your browser-based wallet.

You can install this plugin with npm (or yarn) by running:

npm i @truffle/dashboard-hardhat-plugin -D

Beyond that, simply import the plugin in your hardhat.config.js:

import "@truffle/dashboard-hardhat-plugin";

Truffle Dashboard allows developers to deploy their applications using a browser-based wallet instead of through local key management. For details on how to use the Truffle Dashboard, take a look at the documentation here. ๐ŸŽ‰

That's it for this week! We hope you enjoy this new feature. Please let us know what you think!

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

New Features

Dependency Updates

v5.7.9

1 year ago

Hey everyone, we hope you enjoy today's release which contains some library updates and a bug fix related to @truffle/from-hardhat. We hope you all have a nice weekend!

How to upgrade

We recommend upgrading to the latest version of Truffle by running:

npm uninstall -g truffle
npm install -g truffle

Changelog

Bug fixes

  • stop serializing HH config data we don't need (#5938 by @gnidan)
  • ensure resolver.resolve()'s type only needs 1 arg. (#5946 by @gnidan)

Internal improvement

  • add a warning when unable to save the solidity compiler to disk instead of throwing (#5934 by @eggplantzzz)

Dependency update