Releases: OpenZeppelin/openzeppelin-contracts
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)
Project changes
v1.5.0
v1.4.0
Thanks to all members of the community that contributed to this release! 🎉 🚀
Changelog
- 🆕 Added
TokenVesting
which implements vesting of tokens. It replaces the oldVestedToken
with a more modular approach. (#476) - 🆕 Added
SplitPayment
which implements distributing payments to multiple people proportionally to shares. (#417) - 🆕 Added
DetailedERC20
which adds to a token state variables with the optional ERC20 metadata. (#477) - 🆕 Added
CappedToken
which is aMintableToken
with capped supply. (#515) - Made
MintableToken
'sfinishMinting
executable only once. (#505) - Upgraded to Truffle 4.0.1 and Solidity 0.4.18. (#573, #460, #576, #506)
- Removed deprecated
claim()
fromTokenTimelock
. (#469)
And some additional changes to code style, tests, documentation and continuous integration.
v1.3.0
After a long wait, we're finally releasing version 1.3.0 of OpenZeppelin. This is a big release with a lot of small fixes, exciting new features, and enhancements to the developer experience.
This release includes commits from 29 contributors! Huge thanks to all of you! 🎉 🎉
Changelog
- Removed
MultisigWallet
in favor of gnosis/MultiSigWallet. (#328) - Added a directory with examples. (#333, #342)
- Migrated the crowdsale contracts to timestamps instead of block numbers. (#350)
- Removed the call to
finishMinting
inFinalizableCrowdsale
. (#364) - Made
approve
pausable inPausableToken
. (#448) - Added an
OwnershipTransferred
event. (#424) - Added the
BurnableToken
contract. (#341) - Added the
CanReclaimToken
contract. (#348) - Added the
SafeERC20
library for interaction with ERC20 tokens. (#413) - Added the
MerkleProof
library for merkle proof verification. (#260) - Fixed some small issues in ERC20 compliance. (#345, #405, #446)
- Fixed a bug in
transferFrom
. (#377) - Fixed
transferOwnership
torevert
on failure instead of silently failing. (#323) - Fixed a bug in
TokenTimelock
. (#430) - Several enhancements to tests and documentation.
- Parallelized coverage and tests in Travis for faster test results in PRs. (#369)
- Removed the only production dependency (was actually a dev dependency). Now installing via
npm install --only=prod zeppelin-solidity
should install zero extra dependencies! (#357)
v1.2.0
Changelog
- Fix ERC20 interface and implementations to conform to standard.
- Rename
claim
torelease
inTokenTimelock
. - Bugfixes in
VestedToken
. - Deprecated
throw
in favor ofrequire()
,assert()
andrevert()
. - Small improvements on crowdsale contracts.
- Added
ECRecovery
library.
v1.1.0
Changelog
- Add Crowdsale contracts.
- Add a TokenTimelock contract.
- Add coveralls and move npm to yarn for TravisCI.
- Upgrade to Truffle version 3.2.2 and Solidity version 0.4.11
- Other minor refactors and fixes.
- Extract some functions of
SafeMath
intoMath
. - Remove all checks for short address attack (see: #261)
v1.0.6
Changelog
- Add external audit report to repo.
- Minor improvements to
Destructible
. - Revert to usig npm as preferred installation method, as ethpm is still immature.
- Add solidity-coverage
- Add natspec documentation
- Add revokability and burnablity options to
VestedToken
and general refactor and optimizations
Security
- Add fix for the
approve()
mitigation. - Protect
transferFrom
against short hand attack. - Fix attack on
VestedToken#grantVestedTokens()
Thanks to @misteraverin, @miohtama, @izqui, @cgewecke, @maurelian, @JGcarv and @DavidKnott for your contributions to this release!
v1.0.5
Changelog:
- Added new
TokenDestructible
lifecycle helper for contracts that want to transfer owned tokens when destroyed. - Decouple transferable logic from
VestedToken
asLimitedTransferToken
. - Added new ownership helpers
HasNoEther
,HasNoContracts
,NoOwner
. - Added
ReentrancyGuard
to prevent contract from calling itself, directly or indirectly. - Several refactors and small fixes.
- New
MintableToken
token with minting functions. - New
PausableToken
token with pausable transfers (it's aPausable
instance) - Make SafeMath a library.
- External audit security fixes. (Audit link will be published soon).
Thanks to @recmo, @izqui, @demibrener, @frangio, @roderik, @jdetychey, @DavidKnott, @lastperson, @tatiesmars, @AugustoL, @ORBAT for your contributions! This release wouldn't be the same without your work.