Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Savory rice snacks re-themed as desserts, oh my I am making myself hungry...
ahem... Hot off the press, a new Truffle v5 beta!
Our second beta includes a downright staggering collection of changes. Enormous gratitude to everyone who has contributed to this release and sincere appreciation from all of us. This publisher is honored to present a release with some amazing community-discovered and community-solved updates: bug fixes, clever convenient improvements, and some long-desired features.
Beyond this community effort (without which this release would not exist), this release also represents the outstanding efforts of the newest members of Truffle's engineering team. As this team and this project grows, we are excited to continue doing everything we can to make this development tool the best it can be for all of you.
Thank you. We hope to get to meet you at TruffleCon in Portland, OR, USA next weekend.
Check out what's included! Some feature highlights are first, with the full list below.
How to upgrade
npm uninstall -g truffle npm install -g truffle@beta
This beta includes the built-in help system for Truffle. Just run
truffle help <command> to see a description and the available options for that command.
$ truffle help migrate Usage: truffle migrate [--reset] [-f <number>] [--network <name>] [--compile-all] [--verbose-rpc] [--interactive] Description: Run migrations to deploy contracts Options: --reset Run all migrations from the beginning, instead of running from the last completed migration. -f <number> Run contracts from a specific migration. The number refers to the prefix of the migration file. --network <name> Specify the network to use, saving artifacts specific to that network. Network name must exist in the configuration. --compile-all Compile all contracts instead of intelligently choosing which contracts need to be compiled. --verbose-rpc Log communication between Truffle and the Ethereum client. --interactive Prompt to confirm that the user wants to proceed after the dry run.
truffle develop mnemonics
We're getting rid of
candy maple cake sugar ... when you start up
truffle develop. Instead, thanks to our new user-level configuration infrastructure, when you run
truffle develop for the first time, Truffle will generate a random mnemonic that will persist for you and you alone.
We encourage you to exercise caution when working with mnemonics and private keys, and recommend that everyone do their own research when it comes to protecting their crypto security.
Better debugger breakpoints!
It's been a long-standing issue with Truffle's debugger that you can't set breakpoints ahead of time. Well, now that's fixed! The
b command in the debugger now allows you to set breakpoints for any line in any of your source files, or even set a breakpoint for some number of lines in the future. You can now also remove breakpoints more easily with
Here are some examples:
MagicSquare.sol: 11: event Generated(uint n); 12: 13: function generateMagicSquare(uint n) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ debug(develop:0x91c817a1...)> b SquareLib:5 Breakpoint added at line 5 in SquareLib.sol. debug(develop:0x91c817a1...)> b +10 Breakpoint added at line 23. debug(develop:0x91c817a1...)> B +10 Breakpoint removed at line 23.
truffle init /
It's pretty annoying that you can't init or unbox into a directory that already has contents, isn't it? Not anymore!
This release includes two improvements to these commands:
- There's now a prompt instead, asking explicit permission for whether or not to overwrite each file.
- We've also added a
--forceoption that will just overwrite files automatically, getting out of your way quickly so you can just get to writing code.
Either way, we hope this removes a lot of the frustration for our users who, say, prefer doing
git init first, before doing
v5.0.0-beta.0. Please refer to the previous beta release notes for more information about what's coming in Truffle v5.
- #1232 Add
truffle test --show-eventsflag (@xitter)
- #1242 Provide auto-generated TypeScript
interfaces for truffle-contract-schema (@seesemichaelj)
- #1262 Add
truffle help [command]command (@eggplantzzz)
- #1270 Add
truffle init --forceand
truffle unbox --force, to ignore existing files in destination (@eggplantzzz)
- #1280 Support recursive functions in truffle-debugger (@hjaltman)
- #1287 Validate Node version upon starting Truffle (@eggplantzzz)
- #1291 Add infrastructure for user-level Truffle configuration (@fainashalts)
- #1295 Prompt user for permission to overwrite existing files when running
- #1301 Replace wildly dangerous
truffle developmnemonic with unique mnemonic for each user (@fainashalts)
- #1306 Improve debugger breakpoints (@hjaltman)
Bug Fixes / Improvements
- #1207 Check contracts' compatibility with Solidity
interfaces, preventing some "Network state unknown" exceptions (@eduardonunesp)
- #1208 Throw exceptions correctly in non-
- #1209 Fix
truffle publishfor Web3.js 1.0 (@cgewecke)
- #1219 Fix outdated Solidity syntax in
truffle create contractoutput (@matt9ucci)
- #1223 Prevent overriding read-only property
- #1245 Fix error when migrating to mining Geth client (@kdelwat)
- #1248 Improve error when trying to use a contract without bytecode (@cgewecke)
- #1251 Add warning message about truffle-hdwallet-provider compatibility (@cgewecke)
- #1259 Fix incorrect variable name
urlin truffle-compile (@thekevinbrown)
- #1263 Fix truffle-solidity-loader to improve support for multiple imports (@sogoiii)
- #1278 Fix deprecated usage of
- #1299 Show spinner when downloading a specified version of solcjs (@eggplantzzz)
- #1304 Fix unhandled exception formatting logic at the root CLI (@benjamincburns)
- #1211 Add missing internal dependency
- #1215 Add missing dependency
- #1239 Upgrade
ganache-clito v6.1.8 (@cgewecke)
- #1277 Upgrade
solcto v0.4.25 (@H34D)
Please let us know if you find any issues with this release, or feel free to reach out to contribute to the discussion around Truffle's development. We'd love to hear from you in our Truffle Development Gitter channel as well as in our channel for Community Support.