Releases: OpenZeppelin/openzeppelin-contracts
v1.12.0
And thus concludes another release cycle of OpenZeppelin! 😄
Among other things, we have been busy enhancing the quality and consistency of the test suite. We think this will improve the experience for future contributors. Check it out! 📑 🙌
This is the last release before our planned 2.0 release, which will mark a commitment to a stable API. Keep an eye out for it! 👁️
Changelog
Additions
- We now have a code of conduct! (#1061)
- A small library with a
Counter
datatype. (#1023) - A description in the README of the different categories of contracts we have and their organization. (#1089)
Improvements
- Moved ERC165 interface IDs to interface contracts. (#1070)
- Moved
RBAC
contract to theaccess
directory. (#1114) - Fixed an inheritance order that was causing some contracts to fail linearization. (#1128)
- Lots of test improvements, including the removal of Babel. (#1009, #1050, #1074, #1094, #1116, #1112, #1117)
- Fix
assertRevert
test helper. (#1123) - Some gas optimizations. (#1043, #1063, #1030, #1017, #1057)
- Removed unnecessary
payable
constructor fromDestructible
. (#1107) - Documentation tidbits. (#1035, #1082, #1084, #1083, #1060, #1101)
- Made code style more consistent with prefix underscore in all arguments. (#1133)
- Fixes for Solidity 0.5.0. (#1080, #1134)
- Silenced a compilation warning in
HasNoTokens
. (#1122)
v1.12.0 RC 2
Includes #1128, which fixes the inheritance order of two crowdsale contracts that was preventing some feature combinations.
Find the log of changes staged for this release at v1.11.0...v1.12.0-rc.2!
v1.12.0 RC 1
Find the log of changes staged for this release at v1.11.0...v1.12.0-rc.1!
v1.11.0
We hit our 1000th issue during this release cycle! Congrats to everyone and thank you for the hard work. 😄
Changelog
Added
- 🗃️
Escrow
, a new class of contracts that we used to enhance the security ofPullPayments
. (#1014) - ✍️
isValidSignatureAndData
, a new method ofSignatureBouncer
to validate signed function calls. (#973) - 📝 Initial implementation of ERC1046. (#933)
Changed
- 🌋 Updated the ERC721 contracts to the final version of the protocol. (#972, #993, #1047)
- 🦈 Updated minor things for the newer versions of Solidity. (#951, #1002, #1008, #1033)
- 🛡️ Fixed unchecked token transfer in
Crowdsale
. (#1006) - 💺 Moved
Whitelist
toaccess
directory. (#994)
Removed
⚠️ We removed the implementation of ERC827 due to concerns about its security (#1044). The code was moved to windingtree/erc827.
v1.11.0 RC 1
Thanks to all the amazing contributors who participated in this release cycle! 🎉 🐶
We love seeing the community involved, so we're trying something new this time.
Instead of our monthly release, this is a release candidate. We want to encourage the community to review the code introduced, and to report and help us fix significant bugs in the release branch, should any show up. The review period will last for a week, after which we'll release v1.11.0.
You'll find the release candidate in the next
tag of the npm package.
$ npm install openzeppelin-solidity@next
We know some of you have been waiting for the implementation of the now final ERC721. You will find it here, but for any serious use please wait for the review period to be over. 🙂
Find the log of changes staged for this release at v1.10.0...v1.11.0-rc.1.
v1.10.0
The release includes the new constructor
syntax in Solidity (goodbye warnings 👋).
🎉 🎉 🎉
Changelog
- Updated contracts for Solidity 0.4.23 including the new
constructor
syntax (#921) - Added
renounceOwnership
toOwnable
(#907) - Added
Superuser
, an extension ofOwnable
with an emergency mechanism (#952, #978) - Added an
Ownable
"behavior" to test that your ownable contracts do not break the semantics (#929)
v1.9.0
The release includes the new emit
keyword in Solidity, some new functionality, and other enhancements. Thanks everyone for participating!
🎉 🎉 🎉
Changelog
- 🎀 Updated our contracts for Solidity 0.4.21, including the new
emit
keyword (#876) - 🔥 Added
StandardBurnableToken
with aburnFrom
function (#870) - 👩🏫 Changed
MerkleProof
interface slightly (#879) - 👮♀️ Removed admin functionality from RBAC (#836)
- 📝 Changes to ERC827 (#871, #838)
- 🔧 Cleaned up the npm package files and dependencies (#843, #904)
v1.8.0
This release contains the full implementation of EIP721, following the last details settled in the recently closed EIP. Thanks to all the community for your contributions! 🚀
Changelog
- ✨ Final EIP721 implementation (#803)
- 🔥 Add
Transfer
event toBurnableToken
(#735) - 👨🏫
ECRecovery
recover
is now internal (#818) - 💅 Documentation and tests enhancements
v1.7.0
This release contains a big refactor of the Crowdsale
contract, which allowed us to implement some really cool new crowdsale models. We also have a shiny new documentation site. Thanks to all the community for the awesome contributions! 🚀
Changelog
⚠️ BigCrowdsale
refactor, including breaking changes (#744)- 🆕 new crowdsale models (#744)
WhitelistedCrowdsale
IndividuallyCappedCrowdsale
,PostDeliveryCrowdsale
AllowanceCrowdsale
IncreasingPriceCrowdsale
- Original
Crowdsale
contract refactored intoCrowdsale
,TimedCrowdsale
andMintedCrowdsale
.
- 🏹 Move token creation outside of
Crowdsale
contract (#690) - 👑
Heritable
improvements (#702)
Project updates:
- 📘 New documentation site! (#750)
- Update GitHub Pull Request templates (#699)
- 🔧 Minor tweaks for test artifact imports (#698)
- 🕵️♂️ Improve test coverage (#712)
v1.6.0
This time we bring you a new release, which includes the much hyped ERC721 for non-fungible tokens, to create your own digital collectibles and more. 🐈 🌍 🚀 🎉
During this release cycle the team has been very active improving the development process itself, and we're already seeing great results in the speed with which we respond to new issues and PRs. Take a peek at the status of development at our waffle.io board.
We'll be waiting for your contributions!
Changelog
- 🆕 Added
ERC721
non-fungible token implementation (#615) 🐈 - 🆕 Added
ERC827
token implementation providestransfer
,transferFrom
andapprove
methods which additionally perform a call to the recipients (#518) - 🆕 Added
Heritable
, an extension ofOwnable
with a designated heir (#680) - Added
getTokenAmount
for dynamic rate crowdsales (#638) - Added the
totalSupply
function to the ERC20 interface (#666)