v2.2.0
This release adds a new ProxyAdmin
component, which a small contract that is the default admin of all the upgradeable instances you create. This allows you to transparently interact with your contracts from any address, without needing to work with two addresses simultaneously - one for managing upgrades, the other for actual interaction. Note that projects developed with earlier versions of zos
need to be migrated to this new structure: the migration is prompted when you run a zos push
on any network.
Another major change is that ZeppelinOS now works with web3-1.0.0-beta.37
contracts instead of truffle 4 contracts. This means that the programmatic interface will now return web3
contract objects. If you want to use truffle contracts (either 4 or 5) you will need to wrap the instances in a truffle-contract
.
Added
- New
ProxyAdmin
contract to manage proxy instances (#588 and #625) (see audit report) - Contributing guidelines (#553)
- Example using truffle migrations (#416)
- Tests for
verify
command (#468) - Migration process for projects using previous versions of ZeppelinOS v2 (#621)
- Support receiving booleans via the CLI (#623)
- Parse scientific notation numbers from the CLI (#567)
- Linter pre-commit githook (#620)
Changed
- Update Web3 to version
1.0.0-beta.37
(#572) - Use web3 compatible contract classes (#595)
- Migrate
cli
codebase to TypeScript (#494, #516, #517, #523, #515, #521, #525, #526, #529, #530, #531, #532, #537) - Migrate
lib
codebase to TypeScript (#443, #492, #493, #491, #500, and #509) - Add
lodash
functions separately (#555) (thanks @slorenzo!) - Upgrade
truffle-flattener
to version1.3.0
(#682) - Update Etherscan api key url (#474)
- Polish
Truffle
util methods used in CLI (#507) - Avoid transferring proxies to
App
on publish (#609)
Fixed
- Gas estimation issues on geth (#614)
- Use gas defaults when present (#575)
- Bytecode comparison in
SimpleProject
(#580) - Avoid changing tx params object for every transaction (#675)
- Force compiling all contracts (#581)
- Etherscan mainnet url (#642)
- Checksum default sender address on initialization (#654)
- Ignore Truffle's default gas value (#671)
- Integration tests using
truffle-hdwallet-provider
(#473)