Skip to content
This repository has been archived by the owner on Jan 24, 2022. It is now read-only.

Releases: OpenZeppelin/openzeppelin-sdk

v2.8.0

25 Mar 16:11
Compare
Choose a tag to compare

With this new release you’ll be able to deploy non-upgradeable instances of your contracts.

Read the full announcement in the forum!

Changelog

Added

  • Added new deploy command for deploying without upgradeability. (#1376)

Changed

  • Push only the required contract in create. (#1426)

v2.7.1

11 Feb 15:42
Compare
Choose a tag to compare

This patch release add support for node 13.

Changelog

Fixed

  • Update gRPC dependency to support node 13. (#1450)

v2.7.0

10 Feb 16:26
Compare
Choose a tag to compare

This release includes many new features and bugfixes, including Solidity 0.6 support, generation of typechain artifacts, and improvements around the oz compile command.

Solidity 0.6 support

This release has full support for the Solidity 0.6 version, which includes compiling, deploying, and interacting with contracts written with this version. Furthermore, the Initializable base contract has been tuned so it can be used with the 0.4, 0.5, and 0.6 compilers.

Typechain

The CLI can now generate typechain artifacts for your contracts, making it easier to use your projects in a typescript project. To enable it, just ensure you have a tsconfig.json at the root of your project, and both oz init and oz compile will ask you whether you want to enable typechain support.

Compiler

We made a few changes to how we handle imports in our compiler. The result is that we now have faster CLI response times, especially in large projects when we need to check whether there is anything to compile or not. We have also fixed issues that occurred when there were duplicate contract names, and removed support for ambiguous import paths. We are now also using our CLI to compile the contracts that are part of the SDK itself!

Changelog

Added

  • Support for processing ABIs in contract artifacts compiled with Solidity 0.6. (#1362)
  • Initializable contract can now be compiled in both Solidity 0.5 and 0.6. (#1413)
  • Generate typechain contract wrappers in a typescript project. (#1285)
  • Add path property to network.js config file, to be used together with protocol, host, and port. Add url shorthand property as well. (#1386)
  • Support for tuple parameters when calling methods in interactive commands such as send-tx, create, or upgrade. (#1333)
  • Solidity libraries in a project can now recursively link to other Solidity libraries. (#1252) (thanks @asselstine!)
  • Add new blockTimeout command-line option that sets web3#transactionBlockTimeout. (#1402)
  • Warn when importing @openzeppelin/contracts instead of @openzeppelin/contracts-ethereum-package. (#1335)

Fixed

  • Check for parameterless constructors in ancestor contracts when validating an upgradeable contract. (#1385)
  • Abort interactive create or upgrade processes on contract validation errors, such as having a constructor. (#1382)
  • Load gas and gasPrice from network configuration file. (#1345)
  • Command-line option timeout now properly sets web3#transactionPollingTimeout. (#1402)
  • Sort commands in alphabetical order for --help. (#1321)
  • Prevent corruption of compiled artifacts if there are multiple contracts with the same name. (#1296)
  • Ensure relative paths are stored in project configuration file. (#1384)
  • Improve error message if no networks are set in network.js configuration file. (#1394)

Changed

  • Trimmed the API of the ZWeb3 object to remove methods duplicated from web3.js. (#1369)
  • [breaking] Remove support for ambiguous Solidity imports relative to the current file not starting with a dot, to prevent corrupted artifacts. Warn when duplicate contract names are found. (#1411)
  • Use solidity fuzzy-import parser, to speed up nothing-to-compile checks by a 40%, and lazy-load truffle-flattener to decrease CLI startup time. (#1291)
  • Disable interactivity if stdin is not a terminal. (#1299)

Internal

  • Use the OpenZeppelin CLI to compile and test contracts in the OpenZeppelin CLI and upgrades.js. (#1294, #1288)

v2.6.0

11 Nov 18:05
Compare
Choose a tag to compare

This release adds opt-in telemetry, which reports anonymous usage data to our datastore, and bumps the web3.js version to 1.2.2. A few bugfixes are included as well, most thanks to the great contributions of @melnikaite.

Added

Fixed

  • Avoid showing variable name on prompt message if not available (#1224)
  • Improve create and upgrade commands wording in prompts (#1201) (thanks @melnikaite!)
  • Set default EVM version depending on solc version (#1208) (thanks @melnikaite!)
  • Set expected default values for compiler (#1202) (thanks @melnikaite!)

Changed

  • Bump web3 version to web3@1.2.2. (#1277)

Internal

  • Migrate project from npm to yarn, using yarn workspaces together with lerna (#1241)

v2.5.3

18 Aug 21:36
Compare
Choose a tag to compare

This patch adds improvements to the unpack command, allowing you to specify a target branch to unpack from a kit. It also adds the gsn shortname for the GSN starter kit. On dependencies, it also bumps web3 to 1.2.1.

Added

  • Allow specifying a branch on the unpack command, using the syntax openzeppelin unpack org/repo#branch. (#1190)
  • Add gsn shortname for openzeppelin/starter-kit-gsn. (#1196)

Changed

  • Bump web3 version to web3@1.2.1. (#1192)

Fixed

  • Increase stdio buffer for the post unpack starter kit hook. (#1191)

v2.5.2

26 Jul 19:31
Compare
Choose a tag to compare

This patch adds node 12 support thanks to the upgrade from web3@1.0.0-beta.37 to the stable web3@1.2.0. It also includes a few minor bugfixes, and a whole new accounts command for listing the accounts available on a network.

Added

  • New openzeppelin accounts command that lists available accounts on a network connection. (#1130)

Changed

  • Migrated from web3@1.0.0-beta.37 to the stable web3@1.2.0 release. (#1152)

Fixed

  • JSON artifacts generated by openzeppelin compile are now formatted. (#1161)
  • Name and version of the project are now validated in the oz init interactive command. (#1148)

v2.5.1

22 Jul 21:22
Compare
Choose a tag to compare

This patch fixes issues with the link command, and uses more flexible defaults when installing a dependency.

Changed

  • link interactive command now installs an Ethereum Package with a caret by default. (#1146)

Fixed

  • Fixes error Could not find dependency when linking Ethereum Packages published within an npm organization. (#1138)
  • Removed incorrect prompt to deploy dependencies to the current network when they were already deployed. (#1141)
  • link interactive command works properly on Windows. (#1146)

v2.5.0

19 Jul 23:18
Compare
Choose a tag to compare

This release changes the packages names from zos to @openzeppelin/cli, and zos-lib to @openzeppelin/upgrades, following the company-wide rebranding. It also introduces the following changes, while retaining support for the older variations.

  • The zos command is now openzeppelin or oz, though zos is still supported
  • The proxy contracts use storage slots as per EIP1967, though the old slots are still supported
  • The project configuration files are now stored under an .openzeppelin folder, instead of at the root of the project, though the old config file locations are still supported
  • The zosversion configuration key was renamed to manifestVersion, though zosversion is still supported

All in all, you can upgrade by just installing the new packages, without needing to migrate your files at all. Run npm install @openzeppelin/cli and let us know what you think!

Changed

  • Rename zos package to @openzeppelin/cli and zos-lib package to @openzeppelin/upgrades (#1077)
  • Rename zos command to openzeppelin (#1074, #1128)
  • Rename Project, Network, Session and Lock files (#1040, #1091)
  • Rename ZeppelinOS/zos text references (#1077, #1011, #1129)
  • Add support to new Zepkit kits in unpack command (#1078)
  • Rename compiler manager to openzeppelin (#1097)
  • Rename zos-lib contracts and implement EIP 1967 for implementation and admin label (#1074)
  • Apply renaming changes in example projects (#1096)
  • Apply renaming changes in documentation site (#1086)
  • Implement new documentation site setup (#1118)

Fixed

  • Use Array.isArray instead of deprecated lodash.isarray (#1127)
  • Fix set-admin description format (#1117)
  • Set correct README.md in packages directory (#1129)

v2.4.2

18 Jul 23:13
Compare
Choose a tag to compare

This patch for version 2.4 includes several fixes. One of the most important ones is that the zos CLI now plays nice with truffle artifacts by preserving the contract deployment addresses in the build/contracts/Contract.json files when compiling. Also, both the CLI and the js library now work fine when being hoisted, such as when using yarn workspaces or lerna.

Fixed

  • The -f flag was used for specifying the --from option in several commands, and at the same time for setting the --force toggle in push and set-admin; now it is only used for --from, and --force only accepts the long form. (#1123) (thanks @pcowgill for the report!)
  • Preserve truffle deployment info stored in contract artifacts when compiling. (#1100)
  • Linked EVM packages lookup works properly when dependencies are hoisted. (#1110) (thanks @PaulRBerg for the report!)
  • Do not throw an error if the contracts local folder is missing. (#1107)
  • Properly detect when an Ethereum Package is on an older version for pushing it to the local network for development. (#1119)
  • Store proxy admin address for the first proxy created in a network. (#1124)
  • Fixed errors from logger that occured in verbose mode only when uploading solidity libraries or upgrading instances. (#1112) (thanks @hickscorp for the report!)
  • Add explicit dependency on web3-utils, that could cause issues when checksumming addresses. (#1114) (thanks @chentschel for the report!)

v2.4.1

02 Jul 21:52
Compare
Choose a tag to compare

This patch fixes issues on the CLI to work on Windows, and when being installed with Yarn. This required us moving to our own fork of resolver-engine, which is used under the hoods by the compiler and verifier, and cutting a new release of the spinnies library.

Fixed

  • zos compile now works properly on Windows. (#1066)
  • Spinners are now shown properly on Windows. (#1067)
  • Installation issues with yarn now fixed. (#1059)