trufflesuite/truffle (truffle)
### [`v5.11.5`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.5): โ Dessertressed
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.4...truffle@5.11.5)
Hello all! Tiny release this week, just internal improvements and dependency updates. Thanks once again to [@legobeat](https://togithub.com/legobeat) for getting all of these! That's it for now!
#### 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
- Enforce deduped lockfile when linting dependencies ([#6193](https://togithub.com/trufflesuite/truffle/pull/6193) by [@legobeat](https://togithub.com/legobeat))
##### Dependency updates
- Deduplicate all dependencies and devDependencies ([#6194](https://togithub.com/trufflesuite/truffle/pull/6194) by [@legobeat](https://togithub.com/legobeat))
- Dedupe and lockbump ethers, ethereumjs, web3 ([#6192](https://togithub.com/trufflesuite/truffle/pull/6192) by [@legobeat](https://togithub.com/legobeat))
- Dedupe runtime libraries ([#6191](https://togithub.com/trufflesuite/truffle/pull/6191) by [@legobeat](https://togithub.com/legobeat))
- Dedupe devDependencies and library packages ([#6188](https://togithub.com/trufflesuite/truffle/pull/6188) by [@legobeat](https://togithub.com/legobeat))
### [`v5.11.4`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.4): โ Malted milk powder
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.3...truffle@5.11.4)
Hello all! Not much this week, primarily just a bunch of internal improvements and dependency updates. ๐๏ธ Thanks to [@legobeat](https://togithub.com/legobeat) for getting a bunch of these! ๐งฑ๐ฅ We've also updated the list of Sourcify networks, even though the fetcher no longer actually checks it.
That's it for now! ๐
#### How to upgrade
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
#### Changelog
##### Enhancements
- Add new sourcify networks; fix problem with beam testnet ([#6182](https://togithub.com/trufflesuite/truffle/pull/6182) by [@haltman-at](https://togithub.com/haltman-at))
##### Internal improvements
- Remove gitHead field that snuck its way in ([#6187](https://togithub.com/trufflesuite/truffle/pull/6187) by [@haltman-at](https://togithub.com/haltman-at))
- Indicate Node.js supported versions ([#6180](https://togithub.com/trufflesuite/truffle/pull/6180) by [@legobeat](https://togithub.com/legobeat))
- Pin nodejs 20 to 20.5 due to regression in 20.6 ([#6186](https://togithub.com/trufflesuite/truffle/pull/6186) by [@legobeat](https://togithub.com/legobeat))
- Deprioritize Truffle relays ([#6183](https://togithub.com/trufflesuite/truffle/pull/6183) by [@haltman-at](https://togithub.com/haltman-at))
- Enforce new minimum node version ([#6184](https://togithub.com/trufflesuite/truffle/pull/6184) by [@haltman-at](https://togithub.com/haltman-at))
##### Dependency updates
- Deduplicate babel packages ([#6185](https://togithub.com/trufflesuite/truffle/pull/6185) by [@legobeat](https://togithub.com/legobeat))
- Replace `node-ipc` 9.2.1 with `@achrinza/node-ipc` 9.2.7 ([#6178](https://togithub.com/trufflesuite/truffle/pull/6178) by [@legobeat](https://togithub.com/legobeat))
- Update semver from 7.5.2 to 7.5.4 ([#6177](https://togithub.com/trufflesuite/truffle/pull/6177) by [@legobeat](https://togithub.com/legobeat))
- Update axios from 1.2.4 to 1.5.0; update axios-retry from 3.1.9 to 3.7.0 ([#6175](https://togithub.com/trufflesuite/truffle/pull/6175) by [@legobeat](https://togithub.com/legobeat))
- Update apollo-server-core from 3.11.0 to 3.12.1 ([#6173](https://togithub.com/trufflesuite/truffle/pull/6173) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot))
### [`v5.11.3`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.3): โ Twenty chocolate nodules
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.2...truffle@5.11.3)
Hello all, Truffle now supports Node 20! ๐
That being the case, we've also finally dropped support for Node 14. Of course Node 14 went end-of-life quite a while back, ๐๏ธ but we'd kept support for it up until we had Node 20 working. And now it is! Together with that, we've updated Ganche to Ganache 7.9.1.
There are some additional minor updates this week. The list of Sourcify networks has been updated once again. ๐ However, we've also disabled the check here, so the Sourcify fetcher can now be used with networks we haven't bothered to add to the list, should we be tardy with any updates. Also, we fixed a small problem in the debugger that could crop up if you used modifier arguments together with user-defined value types. ๐ท
That's it for now! ๐
#### How to upgrade
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
#### Changelog
##### Enhancements
- Remove invalid networks check from Sourcify fetcher ([#6171](https://togithub.com/trufflesuite/truffle/pull/6171) by [@haltman-at](https://togithub.com/haltman-at))
- Support Node 20 ([#6169](https://togithub.com/trufflesuite/truffle/pull/6169) by [@haltman-at](https://togithub.com/haltman-at))
- Add sourcify chains for sourcify 2.6.0 ([#6162](https://togithub.com/trufflesuite/truffle/pull/6162) by [@haltman-at](https://togithub.com/haltman-at))
##### Bug fixes
- Fix modifier argument detection by factoring out no-op handling ([#6168](https://togithub.com/trufflesuite/truffle/pull/6168) by [@haltman-at](https://togithub.com/haltman-at))
##### Dependency updates
- Update Ganache to 7.9.1 ([#6169](https://togithub.com/trufflesuite/truffle/pull/6169) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.11.2`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.2): โ Chocolate-hazelnut frozen yogurt
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.1...truffle@5.11.2)
Hi all! ๐
We've got a small release this week. We've updated Truffle for Solidity 0.8.21 in various ways, including allowing better debugging of Yul ๐ contracts when compiled with it, though this is a little experimental. ๐งช We've also updated the list of networks that can be used with `truffle debug --fetch-external` ๐ต๏ธ and `truffle call --fetch-external` โ๏ธ, including adding support for Consensys's own [Linea](https://linea.build/) โ๏ธ network!
That's all for this week, so bye for now! ๐
#### How to upgrade
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
#### Changelog
##### Enhancements
- Allow decoding while debugging Yul sources in Solidity 0.8.21 (and related changes) ([#6154](https://togithub.com/trufflesuite/truffle/pull/6154) by [@haltman-at](https://togithub.com/haltman-at))
- Update sourcify networks for sourcify 2.5.0 ([#6156](https://togithub.com/trufflesuite/truffle/pull/6156) by [@haltman-at](https://togithub.com/haltman-at))
- Update Truffle Init to use solc 0.8.21 ([#6155](https://togithub.com/trufflesuite/truffle/pull/6155) by [@haltman-at](https://togithub.com/haltman-at))
- Add more networks to etherscan fetcher (including linea) ([#6152](https://togithub.com/trufflesuite/truffle/pull/6152) by [@haltman-at](https://togithub.com/haltman-at))
##### Dependency update
- Upgrade solc to v0.8.21 ([#6155](https://togithub.com/trufflesuite/truffle/pull/6155) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.11.1`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.1): โ Watermelon ice cream
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.0...truffle@5.11.1)
Hello hello! ๐ซ This week we have a minor release that includes some maintenance work ๐ง and updates to the new visual debugger in Truffle Dashboard (check out the [v5.11.0 release notes](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.0) for more info on getting started using it). Shout out to [@dependabot](https://togithub.com/dependabot) for being cool and bumping stuff! Hee ho!
We hope your week is going well 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
##### Enhancement
- add a tooltip for the debug button in the tx signer for dashboard ([#6142](https://togithub.com/trufflesuite/truffle/pull/6142) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Bug fix
- correct typo in etherscan message in Truffle Dashboard debugger ([#6147](https://togithub.com/trufflesuite/truffle/pull/6147) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Internal improvement
- move source range data into Sources component ([#6146](https://togithub.com/trufflesuite/truffle/pull/6146) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Dependency update
- bump word-wrap from 1.2.3 to 1.2.4 ([#6143](https://togithub.com/trufflesuite/truffle/pull/6143) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot))
### [`v5.11.0`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.0): 5.11.0 โ Apple pie, no bugs allowed
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.10.2...truffle@5.11.0)
Hey again everyone, welcome back! ๐ฏ
This week's release contains a special new feature; we have ported our CLI debugger ๐ ๐ฝโโ๏ธ๐ over to work with Truffle Dashboard! So now you can step through your Solidity code in the browser! After installing the new version of Truffle, run `truffle dashboard` on the command line. After Truffle Dashboard starts up, just navigate to the URL specified and you can get started! There may be a few preparation steps for you to get up-and-running with your code, so expand the information below for more! We hope you enjoy it and, as always, let us know if you find some bugs so that we can improve it!
--more on getting started with the dashboard debugger--
The first thing you will want to do is connect MetaMask to Dashboard using the button in the lower left. Then switch MetaMask to use the network you are interested in.
To use the debugger to step through code, Truffle Dashboard will first need to have the compilations for the contracts involved. If the sources are verified on Etherscan, then using the debugger is simple: enter your transaction hash in the input field and click Debug. Truffle will automatically fetch them for you and compile them! If you are debugging a transaction and you have the sources locally in a Truffle or HardHat project, you can send them to Truffle Dashboard using one of the following two methods...
**For Truffle projects** ๐ซ
If you have a Truffle project with the source files, you should first open Truffle Dashboard by running `truffle dashboard` in a terminal. Once Truffle Dashboard is running, navigate in a web browser to the URL specified. You should see a page with "Truffle Dashboard" in the top left. In another terminal, navigate to your Truffle project directory and run `truffle develop`. After the development
console opens up, run `migrate --compile-all`. After you migration is complete, Truffle Dashboard will have your compilations saved in the browser! You can then enter the transaction hash you are interested in in the Dashboard Debugger and click Debug! The debugger will load up your session and you can then step through your transaction. Neat!
**For HardHat projects** ๐ทโโ๏ธ
If you have a HardHat project with the source files, you should open Truffle Dashboard by running `truffle dashboard` in a terminal. Once Truffle Dashboard is running, navigate in a web browser to the URL specified. You should see a page with "Truffle Dashboard" in the top-left. In another terminal window, navigate to your HardHat project's root directory and install the [@truffle/dashboard-hardhat-plugin](https://togithub.com/truffle/dashboard-hardhat-plugin) by running `npm install @truffle/dashboard-hardhat-plugin`. In your `hardhat-config.ts`, add `import "@truffle/dashboard-hardhat-plugin"` to the top of the file. Then run `npx hardhat compile` to send the compilations to Truffle Dashboard where
they will be saved in the browser! You can then enter the transaction hash you are interested in in the Dashboard Debugger and click Debug! The debugger will load up your session and you can then step through your transaction. Voila!
**Note 1**: You can verify that the compilation was received by opening the developer console in your browser. Set the logging levels to "all levels" and you should see a "received cli-event message" that looks something like the screenshot below.
**Note 2**: The debugger is a bit resource-intensive and slow to initialize, and may even lock up your browser for a short time. But get yourself a coffee, and hopefully before you return it will be up and running! ๐
So the debugger for Truffle Dashboard is the meat ๐ of this week's release. Besides that, we have a handful of maintenance-related PRs; some debugger/decoder-related bug fixes and a bump to the Ganache version utilized by Truffle. We also have to give a shoutout to [@BreadQL](https://togithub.com/BreadQL) for making a teeny tiny edit to a README in Truffle. Thanks!
We hope you all enjoy the weekend and we'll see 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
##### New feature
- add debugger to Truffle Dashboard ([#6058](https://togithub.com/trufflesuite/truffle/pull/6058) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Enhancements
- add support for multicall3 to decoder interpretations ([#6137](https://togithub.com/trufflesuite/truffle/pull/6137) by [@haltman-at](https://togithub.com/haltman-at))
- update sourcify networks for sourcify 2.4.0 ([#6141](https://togithub.com/trufflesuite/truffle/pull/6141) by [@haltman-at](https://togithub.com/haltman-at))
- update README.md ([#6133](https://togithub.com/trufflesuite/truffle/pull/6133) by [@BreadQL](https://togithub.com/BreadQL))
##### Bug fixes
- have debugger skip anything called from a generated source while stepping ([#6138](https://togithub.com/trufflesuite/truffle/pull/6138) by [@haltman-at](https://togithub.com/haltman-at))
- ensure `CalldataDecodingInspector` always passes through inspector options ([#6136](https://togithub.com/trufflesuite/truffle/pull/6136) by [@haltman-at](https://togithub.com/haltman-at))
##### Internal improvement
- replace google analytics with mixpanel ([#6132](https://togithub.com/trufflesuite/truffle/pull/6132) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Dependency update
- update Ganache to 7.9.0 ([#6134](https://togithub.com/trufflesuite/truffle/pull/6134) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.10.2`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.10.2): โ Icebox cake
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.10.1...truffle@5.10.2)
#### How to upgrade
Welcome to another Truffle release!
This week we have a small set of updates, focused on improving the decoding and debugging experience. ๐ Our Decoder's input interfaces are now more flexible; ๐คธ it accepts both `string`'s and `bigint`'s in places where only `number`'s were accepted. Additionally, address value now has a `contractClass` interpretation field that may provide additional information like contract name and payability. ๐
We also updated our source fetcher ๐งฒ to support the layer-2 Rollux blockchain mainnet and testnet.
Stay tuned for more next week! Enjoy the rest of your week. ๐ฆ
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
#### Changelog
##### New feature
- Add `contractClass` interpretation to address values ([#6130](https://togithub.com/trufflesuite/truffle/pull/6130) by [@haltman-at](https://togithub.com/haltman-at))
##### Enhancements
- Allow strings and bigints instead of numbers in decoder input fields ([#6131](https://togithub.com/trufflesuite/truffle/pull/6131) by [@haltman-at](https://togithub.com/haltman-at))
- Add Rollux & its testnet to Sourcify fetcher ([#6127](https://togithub.com/trufflesuite/truffle/pull/6127) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.10.1`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.10.1): โ Rum baba
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.10.0...truffle@5.10.1)
Hey everybody! Here's a Truffle release that will end your Friday with joy. ๐จโ๐ณ
If you're using Truffle Test, Debugger, or Decoder, you'll be happy to know that our event decoding is improved to support contracts that use Solidity >= 0.8.20. ๐บ And if you're a fan of Yul, our Decoder can now properly decode internal function pointers from contracts compiled with `viaIR` enabled. ๐ With these cases covered, it means decoding everywhere inside Truffle is hardened to give you a more stable experience.
Thanks to [@calebyouki](https://togithub.com/calebyouki) for bringing our attention to an issue related to the programmatic usage of `@truffle/test`. ๐ช We've gone ahead and fixed that. Additionally, thank you to [@73alexstep](https://togithub.com/73alexstep), [@vlasov-hub](https://togithub.com/vlasov-hub), [@BIOtrice](https://togithub.com/BIOtrice), [@elenaqi](https://togithub.com/elenaqi), and [@HelenCodePro](https://togithub.com/HelenCodePro) for looking after our readme's, cheers and welcome! ๐ฃ
As per usual, our fetchers are kept up to date to reflect what Etherscan and Sourcify currently support. ๐๏ธ We also made an improvement to a codec component.
Try a rum baba if you can find one. ๐ฅ If not, well, still have a good weekend! We'll be back next week 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
- Allow decoding of internal function pointers in `viaIR` compilations (in Solidity 0.8.20) ([#6050](https://togithub.com/trufflesuite/truffle/pull/6050) by [@haltman-at](https://togithub.com/haltman-at))
- Properly handle event decoding in Solidity 0.8.20 ([#6049](https://togithub.com/trufflesuite/truffle/pull/6049) by [@haltman-at](https://togithub.com/haltman-at))
- Specify "magic" variables' type only in component tooltip, not via prefix ([#6116](https://togithub.com/trufflesuite/truffle/pull/6116) by [@gnidan](https://togithub.com/gnidan))
- Add zora network to Sourcify fetcher ([#6117](https://togithub.com/trufflesuite/truffle/pull/6117) by [@haltman-at](https://togithub.com/haltman-at))
##### Bug fixes
- Handle using [@truffle/test](https://togithub.com/truffle/test) without [@truffle/core](https://togithub.com/truffle/core) ([#6118](https://togithub.com/trufflesuite/truffle/pull/6118) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Internal improvements
- Remove cronos testnet from Etherscan fetcher ([#6120](https://togithub.com/trufflesuite/truffle/pull/6120) by [@haltman-at](https://togithub.com/haltman-at))
- Remove slow Hardhat test ([#6114](https://togithub.com/trufflesuite/truffle/pull/6114) by [@haltman-at](https://togithub.com/haltman-at))
- Remove flaky hardhat test ([#6099](https://togithub.com/trufflesuite/truffle/pull/6099) by [@haltman-at](https://togithub.com/haltman-at))
- Update README.md ([#6110](https://togithub.com/trufflesuite/truffle/pull/6110) by [@73alexstep](https://togithub.com/73alexstep))
- Update README.md ([#6109](https://togithub.com/trufflesuite/truffle/pull/6109) by [@vlasov-hub](https://togithub.com/vlasov-hub))
- Update README.md ([#6104](https://togithub.com/trufflesuite/truffle/pull/6104) by [@BIOtrice](https://togithub.com/BIOtrice))
- Update README.md ([#6103](https://togithub.com/trufflesuite/truffle/pull/6103) by [@elenaqi](https://togithub.com/elenaqi))
- Update CONTRIBUTING.md ([#6100](https://togithub.com/trufflesuite/truffle/pull/6100) by [@HelenCodePro](https://togithub.com/HelenCodePro))
##### Dependency updates
- Upgrade semver to 7.5.2 ([#6121](https://togithub.com/trufflesuite/truffle/pull/6121) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot))
### [`v5.10.0`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.10.0): โ Chocolate fountain
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.9.4...truffle@5.10.0)
Hello everyone, we've got a new Truffle for you!
The biggest addition this week is the new package `@truffle/codec-components`! If you're making use of the `@truffle/decoder` or `@truffle/debugger` ๐ต libraries, you may have found yourself saying, this output format is quite nice, but how do I display it on a webpage? ๐ธ๏ธ Well, `@truffle/codec-components` gives you a convenient way of doing so! Behold!
![image](https://togithub.com/trufflesuite/truffle/assets/35589221/108d2d64-b980-4243-8e7c-ed6acc7b3234)
Look at that those collapsible arrays! This library is still pretty internal for now, but you can look forward to its use in Truffle features to come. And we are working on documentation and interfaces to make it more generally available in the future!
Speaking of `@truffle/decoder`, we've upgraded it so that it can make use of [4byte.directory](https://www.4byte.directory/) ๐ to decode transactions it otherwise can't make sense of. In order to use this, you'll need to pass `{ projectInfo: <...>, selectorDirectory: { enabled: true } }` when starting it up. (You can also set it to use a website other than [4byte.directory](https://www.4byte.directory/), so long as you have one that follows the same protocol. ๐ด๏ธ)
If you do this, then when you get back a message decoding or unknown decoding, it may have attached a `selectorBasedDecodings` interpretation; this will be an array of decodings based on what can be found on [4byte.directory](https://www.4byte.directory/). Note such decodings will be pretty bare-bones ๐ฉป, but they'll be there!
But we've got other enhancements this week as well! Thanks to [@farcaller](https://togithub.com/farcaller), you can now override the copy of chai โ used for `assert` and `expect` in `truffle test` ๐งช by putting a different package in your config. Just write
```javascript
module.exports = {
//rest of truffle-config.js
chai: {
package: require("my-preferred-chai")
}
}
```
and you should be good to go!
Also this week, the `truffle dashboard` command now allows a `--no-auto-open` option to prevent it from automatically opening a browser window ๐ช; we've fixed some bugs ๐ that prevented some people from compiling, decoding, or debugging their contracts; and we've updated what chains you can use `truffle debug -x` or `truffle call -x` with. โ๏ธ
We hope that's enough for you for one release! But if it isn't, well, come back next week!
#### 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
- Introduce new [@truffle/codec-components](https://togithub.com/truffle/codec-components) react component library ([#6076](https://togithub.com/trufflesuite/truffle/pull/6076) by [@cliffoo](https://togithub.com/cliffoo))
##### Enhancements
- Allow Truffle Dashboard to run without launching a browser window automatically ([#6096](https://togithub.com/trufflesuite/truffle/pull/6096) by [@cliffoo](https://togithub.com/cliffoo))
- Allow decoder to use 4byte.directory to decode ([#6057](https://togithub.com/trufflesuite/truffle/pull/6057) by [@haltman-at](https://togithub.com/haltman-at))
- Allow to override chai from the config ([#5974](https://togithub.com/trufflesuite/truffle/pull/5974) by [@farcaller](https://togithub.com/farcaller))
- Add chains for Sourcify 2.2.3 ([#6089](https://togithub.com/trufflesuite/truffle/pull/6089) by [@haltman-at](https://togithub.com/haltman-at))
- Add means for Dashboard to fetch and compile external contracts ([#6075](https://togithub.com/trufflesuite/truffle/pull/6075) by [@eggplantzzz](https://togithub.com/eggplantzzz))
- Add ResultInspector option to use objects for mappings ([#6074](https://togithub.com/trufflesuite/truffle/pull/6074) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Bug fixes
- Add missing codec component for new error type ([#6097](https://togithub.com/trufflesuite/truffle/pull/6097) by [@haltman-at](https://togithub.com/haltman-at))
- Put try/catch guard around ENS forward resolution in decoder/debugger ([#6083](https://togithub.com/trufflesuite/truffle/pull/6083) by [@haltman-at](https://togithub.com/haltman-at))
- Correct resolver import in legacy workflow compile ([#6078](https://togithub.com/trufflesuite/truffle/pull/6078) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Internal improvements
- Increase timeout on some more tests, remove needless imports ([#6092](https://togithub.com/trufflesuite/truffle/pull/6092) by [@haltman-at](https://togithub.com/haltman-at))
- Further increase timeouts on hardhat related tests ([#6091](https://togithub.com/trufflesuite/truffle/pull/6091) by [@haltman-at](https://togithub.com/haltman-at))
- Replace bootstrap with install in scripts/workflows ([#6090](https://togithub.com/trufflesuite/truffle/pull/6090) by [@haltman-at](https://togithub.com/haltman-at))
- Reject SolidityAST contracts verified on Etherscan ([#6082](https://togithub.com/trufflesuite/truffle/pull/6082) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.9.4`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.9.4): โ Bowlful of berries
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.9.3...truffle@5.9.4)
Hello again everyone! ๐
This week we have a few improvements for you. ๐ ๏ธ One impacts `truffle call` and makes Truffle more accurately resolve function overloads. More accuracy is always better! ๐ Additionally there is an update that improves the way Truffle Dashboard operates when using the Frame wallet. It used to hang when no account was connected but Truffle now produces some helpful output in that case. Nice!
We hope your week goes well 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
##### Enhancement
- Swap priority order of booleans/strings if `strictBooleans` is on ([#6044](https://togithub.com/trufflesuite/truffle/pull/6044) by [@haltman-at](https://togithub.com/haltman-at))
- In Dashboard, notify user if no Frame account is/can be connected ([#6071](https://togithub.com/trufflesuite/truffle/pull/6071) by [@cliffoo](https://togithub.com/cliffoo))
##### Dependency updates
- bump prettier to `^2.8.8` and clean up some dependencies for [@truffle/dashboard-hardhat-plugin](https://togithub.com/truffle/dashboard-hardhat-plugin) ([#6072](https://togithub.com/trufflesuite/truffle/pull/6072) by [@cliffoo](https://togithub.com/cliffoo))
- bump typescript to `^4.9.5`, bump ttypescript to `1.5.15`, bump typedoc to `0.24.8` ([#6070](https://togithub.com/trufflesuite/truffle/pull/6070) by [@cliffoo](https://togithub.com/cliffoo))
### [`v5.9.3`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.9.3): โ Carob dog treats
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.9.2...truffle@5.9.3)
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](https://togithub.com/trufflesuite/truffle/pull/6060) by [@haltman-at](https://togithub.com/haltman-at))
##### Bug fix
- Re-add event that seems like it was accidentally removed ([#6064](https://togithub.com/trufflesuite/truffle/pull/6064) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Internal improvements
- Pass solc when available to profiler to avoid fetching the solc list again ([#6063](https://togithub.com/trufflesuite/truffle/pull/6063) by [@eggplantzzz](https://togithub.com/eggplantzzz))
- Increase timeout on failing hardhat test ([#6061](https://togithub.com/trufflesuite/truffle/pull/6061) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.9.2`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.9.2)
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.9.1...truffle@5.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](https://togithub.com/trufflesuite/truffle/pull/6056) by [@haltman-at](https://togithub.com/haltman-at))
- Increase time on various tests that were timing out ([#6055](https://togithub.com/trufflesuite/truffle/pull/6055) by [@haltman-at](https://togithub.com/haltman-at))
##### Dependency update
- Update abi-to-sol to ^0.7.0 ([#6054](https://togithub.com/trufflesuite/truffle/pull/6054) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.9.1`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.9.1): โ Chocolate Bricks
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.9.0...truffle@5.9.1)
Hello all! ๐
[Solidity 0.8.20 is out](https://togithub.com/ethereum/solidity/releases/tag/v0.8.20), and we've started updating Truffle for it! ๐งโ๐ป Thanks to [@sukanyaparashar](https://togithub.com/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](https://togithub.com/trufflesuite/truffle/pull/6036) by [@sukanyaparashar](https://togithub.com/sukanyaparashar))
- Add `parseSignature` functions to ABI utils ([#6052](https://togithub.com/trufflesuite/truffle/pull/6052) by [@haltman-at](https://togithub.com/haltman-at))
##### Internal improvements
- Remove ropsten, kovan, rinkeby support from Etherscan fetcher ([#6053](https://togithub.com/trufflesuite/truffle/pull/6053) by [@haltman-at](https://togithub.com/haltman-at))
- Use StringValueInfoToStringLossy function in debugger ([#6043](https://togithub.com/trufflesuite/truffle/pull/6043) by [@haltman-at](https://togithub.com/haltman-at))
##### Dependency update
- Upgrade solc dependencies to v0.8.20 ([#6037](https://togithub.com/trufflesuite/truffle/pull/6037) by [@sukanyaparashar](https://togithub.com/sukanyaparashar))
### [`v5.9.0`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.9.0): โ Chocolate Telephone
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.8.4...truffle@5.9.0)
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](https://etherscan.io/) or [Sourcify](https://sourcify.dev/), 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:
```solidity
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](https://togithub.com/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](https://togithub.com/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](https://trufflesuite.com/docs/truffle/concepts/ethereum-name-service/), 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](https://togithub.com/trufflesuite/truffle/assets/35589221/25f29664-dac3-4625-8ae1-b55cfb9bdf01)
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](https://togithub.com/truffle/encoder) and [@truffle/decoder](https://togithub.com/truffle/decoder) ([#5647](https://togithub.com/trufflesuite/truffle/pull/5647) by [@sukanyaparashar](https://togithub.com/sukanyaparashar) and [@haltman-at](https://togithub.com/haltman-at))
##### Enhancements
- Reverse ENS resolution support in debugger and decoder ([#5895](https://togithub.com/trufflesuite/truffle/pull/5895) by [@haltman-at](https://togithub.com/haltman-at))
- Add new chains for Sourcify for May 2023 ([#6027](https://togithub.com/trufflesuite/truffle/pull/6027) by [@haltman-at](https://togithub.com/haltman-at))
##### Bug fixes
- Fix incorrect check for panic ([#6021](https://togithub.com/trufflesuite/truffle/pull/6021) by [@haltman-at](https://togithub.com/haltman-at))
- Consistify location of user ENS registry address setting ([#6005](https://togithub.com/trufflesuite/truffle/pull/6005) by [@haltman-at](https://togithub.com/haltman-at))
- Add even more ways to specify ens registry address so as to be consistent with docs ([#6019](https://togithub.com/trufflesuite/truffle/pull/6019) by [@haltman-at](https://togithub.com/haltman-at))
- Change default registry in config from null to undefined ([#6034](https://togithub.com/trufflesuite/truffle/pull/6034) by [@haltman-at](https://togithub.com/haltman-at))
##### Dependency update
- Update web3 to 1.10.0 ([#6035](https://togithub.com/trufflesuite/truffle/pull/6035) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.8.4`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.8.4)
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.8.3...truffle@5.8.4)
Hello all! We've just got one small fix ๐ง this week, courtesy of [@d10r](https://togithub.com/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](https://togithub.com/trufflesuite/truffle/pull/6008) by [@d10r](https://togithub.com/d10r))
### [`v5.8.3`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.8.3): โ Ice cream on a waffle
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.8.2...truffle@5.8.3)
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](https://togithub.com/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
- fix source map with multibyte characters ([#5988](https://togithub.com/trufflesuite/truffle/pull/5988) by [@lwedge99](https://togithub.com/lwedge99))
##### Internal improvements
- increase timeout on decoder test ([#5993](https://togithub.com/trufflesuite/truffle/pull/5993) by [@haltman-at](https://togithub.com/haltman-at))
- remove clover support from etherscan fetcher ([#5990](https://togithub.com/trufflesuite/truffle/pull/5990) by [@haltman-at](https://togithub.com/haltman-at))
##### Dependency update
- upgrade Ganache to v7.8.0 ([#5992](https://togithub.com/trufflesuite/truffle/pull/5992) by [@haltman-at](https://togithub.com/haltman-at))
### [`v5.8.2`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.8.2): โ Chocolatier
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.8.1...truffle@5.8.2)
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](https://togithub.com/trufflesuite/truffle/tree/develop/packages/dashboard-hardhat-plugin#configuration) 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](https://togithub.com/truffle/dashboard-hardhat-plugin) automatically manage the Dashboard Hardhat network configuration (while still allowing customization) ([#5982](https://togithub.com/trufflesuite/truffle/pull/5982) by [@gnidan](https://togithub.com/gnidan))
- Add support for Polygon ZkEVM to Etherscan fetcher ([#5986](https://togithub.com/trufflesuite/truffle/pull/5986) by [@haltman-at](https://togithub.com/haltman-at))
##### Bug Fixes
- Fix typo in interface category name in Decoding/Encoding docs ([#5980](https://togithub.com/trufflesuite/truffle/pull/5980) by [@cliffoo](https://togithub.com/cliffoo))
### [`v5.8.1`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.8.1): โ Basil sorbet
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.8.0...truffle@5.8.1)
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](https://togithub.com/sheetalkamat) and [@AlexToTheSun](https://togithub.com/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](https://togithub.com/trufflesuite/truffle/pull/5973) by [@haltman-at](https://togithub.com/haltman-at))
- add link to `LICENSE` in `README.md` ([#5969](https://togithub.com/trufflesuite/truffle/pull/5969) by [@AlexToTheSun](https://togithub.com/AlexToTheSun))
##### bug fixes
- fix `typeRoots` in `tsconfig.json` ([#5956](https://togithub.com/trufflesuite/truffle/pull/5956) by [@sheetalkamat](https://togithub.com/sheetalkamat))
- fix [@truffle/dashboard-hardhat-plugin](https://togithub.com/truffle/dashboard-hardhat-plugin)'s `package.json` ([#5964](https://togithub.com/trufflesuite/truffle/pull/5964) by [@gnidan](https://togithub.com/gnidan))
- enable shell option for spawn ([#5968](https://togithub.com/trufflesuite/truffle/pull/5968) by [@cds-amal](https://togithub.com/cds-amal))
##### dependency Updates
- bump Webpack to `5.76.0` ([#5972](https://togithub.com/trufflesuite/truffle/pull/5972) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot))
- bump Ganache to `7.7.6` ([#5954](https://togithub.com/trufflesuite/truffle/pull/5954) by [@cds-amal](https://togithub.com/cds-amal))
- bump Ganache to `7.7.7` ([#5966](https://togithub.com/trufflesuite/truffle/pull/5966) by [@davidmurdoch](https://togithub.com/davidmurdoch))
### [`v5.8.0`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.8.0): โ Homemade Four-Layer Carrot Cake
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.7.9...truffle@5.8.0)
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](https://trufflesuite.com/docs/truffle/how-to/use-the-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](https://togithub.com/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:
```bash
npm i @truffle/dashboard-hardhat-plugin -D
```
Beyond that, simply import the plugin in your `hardhat.config.js`:
```ts
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](https://trufflesuite.com/docs/truffle/how-to/use-the-truffle-dashboard/). ๐
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](https://togithub.com/trufflesuite/truffle/pull/5927) by [@kevinbluer](https://togithub.com/kevinbluer))
##### Dependency Updates
- Upgrade Ganache to v7.7.6 ([#5954](https://togithub.com/trufflesuite/truffle/pull/5954) by [@cds-amal](https://togithub.com/cds-amal))
### [`v5.7.9`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.7.9): โ Cabbage tart
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.7.8...truffle@5.7.9)
Hey everyone, we hope you enjoy today's release which contains some library updates and a bug fix related to [@truffle/from-hardhat](https://togithub.com/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](https://togithub.com/trufflesuite/truffle/pull/5938) by [@gnidan](https://togithub.com/gnidan))
- ensure resolver.resolve()'s type only needs 1 arg. ([#5946](https://togithub.com/trufflesuite/truffle/pull/5946) by [@gnidan](https://togithub.com/gnidan))
##### Internal improvement
- add a warning when unable to save the solidity compiler to disk instead of throwing ([#5934](https://togithub.com/trufflesuite/truffle/pull/5934) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Dependency update
- bump thenify from 3.3.0 to 3.3.1 ([#5942](https://togithub.com/trufflesuite/truffle/pull/5942) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot))
- bump solc dependencies to v0.8.19 ([#5944](https://togithub.com/trufflesuite/truffle/pull/5944) by [@sukanyaparashar](https://togithub.com/sukanyaparashar))
- bump solc version to latest 0.8.19 in truffle init ([#5941](https://togithub.com/trufflesuite/truffle/pull/5941) by [@sukanyaparashar](https://togithub.com/sukanyaparashar))
- add `solc` as a devDep to compile-solidity-tests ([#5940](https://togithub.com/trufflesuite/truffle/pull/5940) by [@cds-amal](https://togithub.com/cds-amal))
### [`v5.7.8`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.7.8): โ Cinnamon roll soup
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.7.7...truffle@5.7.8)
Welcome back! ๐ Another Truffle release is out in the wild today. Once again it is mostly a maintenance-type release with some bug fixes and internal improvements. We have to give a shout-out ๐ to [@sandakersmann](https://togithub.com/sandakersmann) for updating the copyright information in Truffle's LICENSE file. Thanks so much for helping keep everything tidy and up-to-date! We'll see you next time and we wish you all a beautiful weekend!๐ฆ
#### How to upgrade
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
#### Changelog
##### Enhancement
- update Sourcify networks for Sourcify `1.2.2` ([#5909](https://togithub.com/trufflesuite/truffle/pull/5909) by [@haltman-at](https://togithub.com/haltman-at))
##### Bug fixes
- fix `console.log` when presenting `BigInt`s ([#5933](https://togithub.com/trufflesuite/truffle/pull/5933) by [@cds-amal](https://togithub.com/cds-amal))
- only edit state in `txLog` when an initial state exists ([#5919](https://togithub.com/trufflesuite/truffle/pull/5919) by [@eggplantzzz](https://togithub.com/eggplantzzz))
##### Internal improvements
- error more explicitly when unable to write to cache directory ([#5930](https://togithub.com/trufflesuite/truffle/pull/5930) by [@eggplantzzz](https://togithub.com/eggplantzzz))
- remove Aurora support from Etherscan fetcher ([#5912](https://togithub.com/trufflesuite/truffle/pull/5912) by [@haltman-at](https://togithub.com/haltman-at))
- update copyright year ([#5928](https://togithub.com/trufflesuite/truffle/pull/5928) by [@sandakersmann](https://togithub.com/sandakersmann))
##### Dependency update
- bump undici from `5.8.2` to `5.19.1` ([#5908](https://togithub.com/trufflesuite/truffle/pull/5908) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot))
### [`v5.7.7`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.7.7): โ Cranberry Orange Upside Down Cake
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.7.6...truffle@5.7.7)
Hello hello! ๐ It's time for another Truffle release!
This week, we have a little bit of everything for you! Truffle should now properly return an error when it is due to an out of gas exception! ๐ Previously, these were coming back as custom errors without further information. Additionally, you can now see a link to the Truffle Debugger documentation in the CLI when using it! ๐ Always nice to have more information at your fingertips! โจ๏ธ
Special thanks to [@sukanyaparashar](https://togithub.com/sukanyaparashar) for upgrading the `solc` dependencies to v0.8.18 in `contract-schema` and `compile-solidity` packages! ๐
See below for more detail on the contents of this week's release. Thanks for reading, and we'll see you next week! โจ
#### How to upgrade
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
#### Changelog
##### Enhancements
- Add support for PUSH0 instruction to debugger & disassembler ([#5898](https://togithub.com/trufflesuite/truffle/pull/5898) by [@haltman-at](https://togithub.com/haltman-at))
- Update Sourcify chains for February 2023 ([#5904](https://togithub.com/trufflesuite/truffle/pull/5904) by [@haltman-at](https://togithub.com/haltman-at))
- Restrict general help content in REPL context ([#5885](https://togithub.com/trufflesuite/truffle/pull/5885) by [@cds-amal](https://togithub.com/cds-amal))
- Link to Debugger reference docs ([#5892](https://togithub.com/trufflesuite/truffle/pull/5892) by [@cds-amal](https://togithub.com/cds-amal))
##### Bug fixes
- Fix (most) incorrect reports of custom errors ([#5903](https://togithub.com/trufflesuite/truffle/pull/5903) by [@haltman-at](https://togithub.com/haltman-at))
- Set yargs help to always use truffle instead of script name ([#5883](https://togithub.com/trufflesuite/truffle/pull/5883) by [@cds-amal](https://togithub.com/cds-amal))
##### Internal improvements
- Increase timeout on migration out of gas test ([#5907](https://togithub.com/trufflesuite/truffle/pull/5907) by [@haltman-at](https://togithub.com/haltman-at))
- Disable slack actions ([#5889](https://togithub.com/trufflesuite/truffle/pull/5889) by [@cds-amal](https://togithub.com/cds-amal))
- Temporarily disable job failure notifications ([#5890](https://togithub.com/trufflesuite/truffle/pull/5890) by [@cds-amal](https://togithub.com/cds-amal))
- Simplify `Develop.connectOrStart()`'s signature ([#5891](https://togithub.com/trufflesuite/truffle/pull/5891) by [@cds-amal](https://togithub.com/cds-amal))
- Suppress evalmachine error stack in truffle consoles ([#5888](https://togithub.com/trufflesuite/truffle/pull/5888) by [@cds-amal](https://togithub.com/cds-amal))
##### Dependency updates
- Update ganache to 7.7.5 ([#5906](https://togithub.com/trufflesuite/truffle/pull/5906) by [@haltman-at](https://togithub.com/haltman-at))
- Upgrade solc dependencies to v0.8.18 in `contract-schema` and `compile-solidity` packages ([#5886](https://togithub.com/trufflesuite/truffle/pull/5886) by [@sukanyaparashar](https://togithub.com/sukanyaparashar))
- Upgrade tsd dev dependency to ^0.25.0 ([#5884](https://togithub.com/trufflesuite/truffle/pull/5884) by [@haltman-at](https://togithub.com/haltman-at))
- Pin GETH to v1.10.26 ([#5900](https://togithub.com/trufflesuite/truffle/pull/5900) by [@cds-amal](https://togithub.com/cds-amal))
### [`v5.7.6`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.7.6): โ Classic chocolate fondue
[Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.7.5...truffle@5.7.6)
Hi folks! Nice seeing you today ๐คฉ
This week's Truffle release brings you fixes to some bugs that got surfaced internally. Hopefully these bugs didn't affect you, or maybe you were too busy dipping pieces of fruit into melted chocolate to open an issue ๐ฎ ๐ ๐. In any case, we recommend reading on and upgrading!
Most notably: you can now switch accounts between transactions in Truffle Dashboard. This wasn't working correctly, which meant problems if (e.g.) your deployment process requires multiple accounts to sign different transactions... not great ๐! Fortunately, this is now fixed and you can feel free to use Truffle Dashboard for all your CLI-driven signature needs, no matter how many counter-parties you want to involve in your smart contracts. ๐ ๐๏ธ
Besides that, Truffle's interactive console (i.e., in `truffle develop` and `truffle console`) now properly interprets quoted strings... e.g., now `"two words"` gets treated as only one string, the way you'd expect! We've also fixed the behavior of our help system inside the interactive console, so now `help` inside Truffle's console behaves the same as `truffle help` on the command line. โน๏ธ
Special shout-out to [@sukanyaparashar](https://togithub.com/sukanyaparashar) for updating our `truffle init` output to the latest Solidity! Thanks for getting that for us ๐.
Scroll down for all the details if you'd like... regardless, take care and thanks for reading! ๐
#### 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
- Fix help in `truffle develop` and `truffle console` ([#5871](https://togithub.com/trufflesuite/truffle/pull/5871) by [@eggplantzzz](https://togithub.com/eggplantzzz))
- Support switching accounts between signature requests in Truffle Dashboard ([#5846](https://togithub.com/trufflesuite/truffle/pull/5846) by [@clif
Configuration
๐ Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
๐ฆ Automerge: Enabled.
โป Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
๐ Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
5.1.41
->5.11.5
Release Notes
trufflesuite/truffle (truffle)
### [`v5.11.5`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.5): โ Dessertressed [Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.4...truffle@5.11.5) Hello all! Tiny release this week, just internal improvements and dependency updates. Thanks once again to [@legobeat](https://togithub.com/legobeat) for getting all of these! That's it for now! #### 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 - Enforce deduped lockfile when linting dependencies ([#6193](https://togithub.com/trufflesuite/truffle/pull/6193) by [@legobeat](https://togithub.com/legobeat)) ##### Dependency updates - Deduplicate all dependencies and devDependencies ([#6194](https://togithub.com/trufflesuite/truffle/pull/6194) by [@legobeat](https://togithub.com/legobeat)) - Dedupe and lockbump ethers, ethereumjs, web3 ([#6192](https://togithub.com/trufflesuite/truffle/pull/6192) by [@legobeat](https://togithub.com/legobeat)) - Dedupe runtime libraries ([#6191](https://togithub.com/trufflesuite/truffle/pull/6191) by [@legobeat](https://togithub.com/legobeat)) - Dedupe devDependencies and library packages ([#6188](https://togithub.com/trufflesuite/truffle/pull/6188) by [@legobeat](https://togithub.com/legobeat)) ### [`v5.11.4`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.4): โ Malted milk powder [Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.3...truffle@5.11.4) Hello all! Not much this week, primarily just a bunch of internal improvements and dependency updates. ๐๏ธ Thanks to [@legobeat](https://togithub.com/legobeat) for getting a bunch of these! ๐งฑ๐ฅ We've also updated the list of Sourcify networks, even though the fetcher no longer actually checks it. That's it for now! ๐ #### How to upgrade We recommend upgrading to the latest version of Truffle by running: npm uninstall -g truffle npm install -g truffle #### Changelog ##### Enhancements - Add new sourcify networks; fix problem with beam testnet ([#6182](https://togithub.com/trufflesuite/truffle/pull/6182) by [@haltman-at](https://togithub.com/haltman-at)) ##### Internal improvements - Remove gitHead field that snuck its way in ([#6187](https://togithub.com/trufflesuite/truffle/pull/6187) by [@haltman-at](https://togithub.com/haltman-at)) - Indicate Node.js supported versions ([#6180](https://togithub.com/trufflesuite/truffle/pull/6180) by [@legobeat](https://togithub.com/legobeat)) - Pin nodejs 20 to 20.5 due to regression in 20.6 ([#6186](https://togithub.com/trufflesuite/truffle/pull/6186) by [@legobeat](https://togithub.com/legobeat)) - Deprioritize Truffle relays ([#6183](https://togithub.com/trufflesuite/truffle/pull/6183) by [@haltman-at](https://togithub.com/haltman-at)) - Enforce new minimum node version ([#6184](https://togithub.com/trufflesuite/truffle/pull/6184) by [@haltman-at](https://togithub.com/haltman-at)) ##### Dependency updates - Deduplicate babel packages ([#6185](https://togithub.com/trufflesuite/truffle/pull/6185) by [@legobeat](https://togithub.com/legobeat)) - Replace `node-ipc` 9.2.1 with `@achrinza/node-ipc` 9.2.7 ([#6178](https://togithub.com/trufflesuite/truffle/pull/6178) by [@legobeat](https://togithub.com/legobeat)) - Update semver from 7.5.2 to 7.5.4 ([#6177](https://togithub.com/trufflesuite/truffle/pull/6177) by [@legobeat](https://togithub.com/legobeat)) - Update axios from 1.2.4 to 1.5.0; update axios-retry from 3.1.9 to 3.7.0 ([#6175](https://togithub.com/trufflesuite/truffle/pull/6175) by [@legobeat](https://togithub.com/legobeat)) - Update apollo-server-core from 3.11.0 to 3.12.1 ([#6173](https://togithub.com/trufflesuite/truffle/pull/6173) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot)) ### [`v5.11.3`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.3): โ Twenty chocolate nodules [Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.2...truffle@5.11.3) Hello all, Truffle now supports Node 20! ๐ That being the case, we've also finally dropped support for Node 14. Of course Node 14 went end-of-life quite a while back, ๐๏ธ but we'd kept support for it up until we had Node 20 working. And now it is! Together with that, we've updated Ganche to Ganache 7.9.1. There are some additional minor updates this week. The list of Sourcify networks has been updated once again. ๐ However, we've also disabled the check here, so the Sourcify fetcher can now be used with networks we haven't bothered to add to the list, should we be tardy with any updates. Also, we fixed a small problem in the debugger that could crop up if you used modifier arguments together with user-defined value types. ๐ท That's it for now! ๐ #### How to upgrade We recommend upgrading to the latest version of Truffle by running: npm uninstall -g truffle npm install -g truffle #### Changelog ##### Enhancements - Remove invalid networks check from Sourcify fetcher ([#6171](https://togithub.com/trufflesuite/truffle/pull/6171) by [@haltman-at](https://togithub.com/haltman-at)) - Support Node 20 ([#6169](https://togithub.com/trufflesuite/truffle/pull/6169) by [@haltman-at](https://togithub.com/haltman-at)) - Add sourcify chains for sourcify 2.6.0 ([#6162](https://togithub.com/trufflesuite/truffle/pull/6162) by [@haltman-at](https://togithub.com/haltman-at)) ##### Bug fixes - Fix modifier argument detection by factoring out no-op handling ([#6168](https://togithub.com/trufflesuite/truffle/pull/6168) by [@haltman-at](https://togithub.com/haltman-at)) ##### Dependency updates - Update Ganache to 7.9.1 ([#6169](https://togithub.com/trufflesuite/truffle/pull/6169) by [@haltman-at](https://togithub.com/haltman-at)) ### [`v5.11.2`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.2): โ Chocolate-hazelnut frozen yogurt [Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.1...truffle@5.11.2) Hi all! ๐ We've got a small release this week. We've updated Truffle for Solidity 0.8.21 in various ways, including allowing better debugging of Yul ๐ contracts when compiled with it, though this is a little experimental. ๐งช We've also updated the list of networks that can be used with `truffle debug --fetch-external` ๐ต๏ธ and `truffle call --fetch-external` โ๏ธ, including adding support for Consensys's own [Linea](https://linea.build/) โ๏ธ network! That's all for this week, so bye for now! ๐ #### How to upgrade We recommend upgrading to the latest version of Truffle by running: npm uninstall -g truffle npm install -g truffle #### Changelog ##### Enhancements - Allow decoding while debugging Yul sources in Solidity 0.8.21 (and related changes) ([#6154](https://togithub.com/trufflesuite/truffle/pull/6154) by [@haltman-at](https://togithub.com/haltman-at)) - Update sourcify networks for sourcify 2.5.0 ([#6156](https://togithub.com/trufflesuite/truffle/pull/6156) by [@haltman-at](https://togithub.com/haltman-at)) - Update Truffle Init to use solc 0.8.21 ([#6155](https://togithub.com/trufflesuite/truffle/pull/6155) by [@haltman-at](https://togithub.com/haltman-at)) - Add more networks to etherscan fetcher (including linea) ([#6152](https://togithub.com/trufflesuite/truffle/pull/6152) by [@haltman-at](https://togithub.com/haltman-at)) ##### Dependency update - Upgrade solc to v0.8.21 ([#6155](https://togithub.com/trufflesuite/truffle/pull/6155) by [@haltman-at](https://togithub.com/haltman-at)) ### [`v5.11.1`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.1): โ Watermelon ice cream [Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.11.0...truffle@5.11.1) Hello hello! ๐ซ This week we have a minor release that includes some maintenance work ๐ง and updates to the new visual debugger in Truffle Dashboard (check out the [v5.11.0 release notes](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.0) for more info on getting started using it). Shout out to [@dependabot](https://togithub.com/dependabot) for being cool and bumping stuff! Hee ho! We hope your week is going well 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 ##### Enhancement - add a tooltip for the debug button in the tx signer for dashboard ([#6142](https://togithub.com/trufflesuite/truffle/pull/6142) by [@eggplantzzz](https://togithub.com/eggplantzzz)) ##### Bug fix - correct typo in etherscan message in Truffle Dashboard debugger ([#6147](https://togithub.com/trufflesuite/truffle/pull/6147) by [@eggplantzzz](https://togithub.com/eggplantzzz)) ##### Internal improvement - move source range data into Sources component ([#6146](https://togithub.com/trufflesuite/truffle/pull/6146) by [@eggplantzzz](https://togithub.com/eggplantzzz)) ##### Dependency update - bump word-wrap from 1.2.3 to 1.2.4 ([#6143](https://togithub.com/trufflesuite/truffle/pull/6143) by [@dependabot\[bot\]](https://togithub.com/apps/dependabot)) ### [`v5.11.0`](https://togithub.com/trufflesuite/truffle/releases/tag/v5.11.0): 5.11.0 โ Apple pie, no bugs allowed [Compare Source](https://togithub.com/trufflesuite/truffle/compare/truffle@5.10.2...truffle@5.11.0) Hey again everyone, welcome back! ๐ฏ This week's release contains a special new feature; we have ported our CLI debugger ๐ ๐ฝโโ๏ธ๐ over to work with Truffle Dashboard! So now you can step through your Solidity code in the browser! After installing the new version of Truffle, run `truffle dashboard` on the command line. After Truffle Dashboard starts up, just navigate to the URL specified and you can get started! There may be a few preparation steps for you to get up-and-running with your code, so expand the information below for more! We hope you enjoy it and, as always, let us know if you find some bugs so that we can improve it!--more on getting started with the dashboard debugger--
The first thing you will want to do is connect MetaMask to Dashboard using the button in the lower left. Then switch MetaMask to use the network you are interested in. To use the debugger to step through code, Truffle Dashboard will first need to have the compilations for the contracts involved. If the sources are verified on Etherscan, then using the debugger is simple: enter your transaction hash in the input field and click Debug. Truffle will automatically fetch them for you and compile them! If you are debugging a transaction and you have the sources locally in a Truffle or HardHat project, you can send them to Truffle Dashboard using one of the following two methods... **For Truffle projects** ๐ซ If you have a Truffle project with the source files, you should first open Truffle Dashboard by running `truffle dashboard` in a terminal. Once Truffle Dashboard is running, navigate in a web browser to the URL specified. You should see a page with "Truffle Dashboard" in the top left. In another terminal, navigate to your Truffle project directory and run `truffle develop`. After the development console opens up, run `migrate --compile-all`. After you migration is complete, Truffle Dashboard will have your compilations saved in the browser! You can then enter the transaction hash you are interested in in the Dashboard Debugger and click Debug! The debugger will load up your session and you can then step through your transaction. Neat! **For HardHat projects** ๐ทโโ๏ธ If you have a HardHat project with the source files, you should open Truffle Dashboard by running `truffle dashboard` in a terminal. Once Truffle Dashboard is running, navigate in a web browser to the URL specified. You should see a page with "Truffle Dashboard" in the top-left. In another terminal window, navigate to your HardHat project's root directory and install the [@truffle/dashboard-hardhat-plugin](https://togithub.com/truffle/dashboard-hardhat-plugin) by running `npm install @truffle/dashboard-hardhat-plugin`. In your `hardhat-config.ts`, add `import "@truffle/dashboard-hardhat-plugin"` to the top of the file. Then run `npx hardhat compile` to send the compilations to Truffle Dashboard where they will be saved in the browser! You can then enter the transaction hash you are interested in in the Dashboard Debugger and click Debug! The debugger will load up your session and you can then step through your transaction. Voila! **Note 1**: You can verify that the compilation was received by opening the developer console in your browser. Set the logging levels to "all levels" and you should see a "received cli-event message" that looks something like the screenshot below. **Note 2**: The debugger is a bit resource-intensive and slow to initialize, and may even lock up your browser for a short time. But get yourself a coffee, and hopefully before you return it will be up and running! ๐See it in action!
![image](https://togithub.com/trufflesuite/truffle/assets/35589221/25f29664-dac3-4625-8ae1-b55cfb9bdf01)Configuration
๐ Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
๐ฆ Automerge: Enabled.
โป Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
๐ Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.