Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

A new Truffle - v3.0.2

Compare
Choose a tag to compare
@tcoulter tcoulter released this 01 Feb 18:38
· 16046 commits to master since this release

After a long wait, Truffle 3.0 is finally here! 🎉

⚠️ Warning: If you were using Truffle beta 3.0.0-9 or below, _do not immediately upgrade_. Read these release notes and the upgrade guide first.

Install

First uninstall your current version of Truffle then install the new one:

$ npm uninstall -g truffle
$ npm install -g truffle
$ truffle version # => 3.0.2

Features / Overview

Truffle 3.0 brings a lot to the table. It has been in the planning stages since July of last year, and the release marks our first successful launch through the Truffle Beta program. With 3.0, you get:

  • Package Management through NPM and EthPM using the ERC190 standard (documentation)
  • Unit tests written completely in Solidity alongside your Javascript tests (documentation)
  • Better, more secure, more refined network management
  • The truffle-contract contract abstraction, a successor to EtherPudding that gives you more control, better error handling, and granular, targeted event processing. (documentation)
  • More integrations. See our note below about modularization. We're also working on an extension for Visual Studio
  • Less opinions. Truffle now saves contract artifacts solely in JSON, meaning you can use Truffle to create smart-contract enabled applications alongside any other tool and language. We're even starting a schema to create a standard for saving network artifacts across tools. This schema is still very much a draft. Please contribute!

Under the hood, Truffle has undergone an advanced reorganization, and has been separated out into over 20 individual modules with more coming. This should make integrating with Truffle -- or using specific Truffle features -- easier within your complex, custom environment.

We also have a new dashboard that show's how Truffle is growing over time:

Before upgrading to Truffle 3.0, know that there are a lot of breaking changes, even if you're upgrading from Truffle beta 3.0.0-9. So be careful, and ensure you read the full list of breaking changes and associated documentation. 👍

Breaking Changes

With great power comes great responsibility (thanks Uncle Ben!). Truffle 3.0 gives you more power to write better smart contracts, but with it comes the responsibility of breaking changes. There were many breaking changes this release, so much so that we wrote you an upgrade guide to get you using Truffle 3.0 as quickly as possible. Give it a read, and let us know what you think.

Big Thanks

There are too many people to thank for this release. We have so many wonderful users and contributors that work to make Truffle -- and its community -- better everyday. Specifically, I'd like to thank @pipermerriam for spearheading the Ethereum Package Management effort and working hard to specify the ERC190 spec exactly. I'd also like to thank the folks at Dapple and Eris/Monax for contributing to make ERC190 and the Ethereum Package Registry a new standard.

Reach Out!

As with all releases, especially one as wide ranging as this, there's bound to be an issue or two. If you ever run into trouble, don't hesitate to ask questions in the Truffle Gitter channel or submit a new issue.

Thanks for your feedback, and happy coding!