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
ProxyAdmincontract to manage proxy instances (#588 and #625) (see audit report) - Contributing guidelines (#553)
- Example using truffle migrations (#416)
- Tests for
verifycommand (#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
clicodebase to TypeScript (#494, #516, #517, #523, #515, #521, #525, #526, #529, #530, #531, #532, #537) - Migrate
libcodebase to TypeScript (#443, #492, #493, #491, #500, and #509) - Add
lodashfunctions separately (#555) (thanks @slorenzo!) - Upgrade
truffle-flattenerto version1.3.0(#682) - Update Etherscan api key url (#474)
- Polish
Truffleutil methods used in CLI (#507) - Avoid transferring proxies to
Appon 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)