Releases: trufflesuite/truffle
v5.9.3 — Carob dog treats
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
- Add two more sourcify networks (#6060 by @haltman-at)
Bug fix
- Re-add event that seems like it was accidentally removed (#6064 by @eggplantzzz)
Internal improvements
- Pass solc when available to profiler to avoid fetching the solc list again (#6063 by @eggplantzzz)
- Increase timeout on failing hardhat test (#6061 by @haltman-at)
v5.9.2
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
- Add missing sinon dev dependency (#6056 by @haltman-at)
- Increase time on various tests that were timing out (#6055 by @haltman-at)
Dependency update
- Update abi-to-sol to ^0.7.0 (#6054 by @haltman-at)
v5.9.1 — Chocolate Bricks
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
- Upgrade solc version to latest 0.8.20 in truffle init (#6036 by @sukanyaparashar)
- Add
parseSignature
functions to ABI utils (#6052 by @haltman-at)
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
- Upgrade solc dependencies to v0.8.20 (#6037 by @sukanyaparashar)
v5.9.0 — Chocolate Telephone
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.
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
- Implement new
truffle call
command using @truffle/encoder and @truffle/decoder (#5647 by @sukanyaparashar and @haltman-at)
Enhancements
- Reverse ENS resolution support in debugger and decoder (#5895 by @haltman-at)
- Add new chains for Sourcify for May 2023 (#6027 by @haltman-at)
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
- Update web3 to 1.10.0 (#6035 by @haltman-at)
v5.8.4
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
v5.8.3 — Ice cream on a waffle
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
- increase timeout on decoder test (#5993 by @haltman-at)
- remove clover support from etherscan fetcher (#5990 by @haltman-at)
Dependency update
- upgrade Ganache to v7.8.0 (#5992 by @haltman-at)
v5.8.2 — Chocolatier
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
v5.8.1 — Basil sorbet
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
- update Sourcify and Etherscan fetchers w/Base Goerli & more (#5973 by @haltman-at)
- add link to
LICENSE
inREADME.md
(#5969 by @AlexToTheSun)
bug fixes
- fix
typeRoots
intsconfig.json
(#5956 by @sheetalkamat) - fix @truffle/dashboard-hardhat-plugin's
package.json
(#5964 by @gnidan) - enable shell option for spawn (#5968 by @cds-amal)
dependency Updates
- bump Webpack to
5.76.0
(#5972 by @dependabot[bot]) - bump Ganache to
7.7.6
(#5954 by @cds-amal) - bump Ganache to
7.7.7
(#5966 by @davidmurdoch)
v5.8.0 — Homemade Four-Layer Carrot Cake
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
- Add Hardhat plugin for Truffle Dashboard (#5927 by @kevinbluer)
Dependency Updates
v5.7.9 — Cabbage tart
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
- bump thenify from 3.3.0 to 3.3.1 (#5942 by @dependabot[bot])
- bump solc dependencies to v0.8.19 (#5944 by @sukanyaparashar)
- bump solc version to latest 0.8.19 in truffle init (#5941 by @sukanyaparashar)
- add
solc
as a devDep to compile-solidity-tests (#5940 by @cds-amal)