Five is here!
It's been a long time coming, but it finally happened. Version 5 of ColonyJS is ready and it's the biggest release after the TypeScript rewrite (v2).
Because...
π ethers v5.x support is here!! π
As we rely heavily on it, it took a while to sort out all the correct exports and new typings, but it should be stable now and working fine!
Also, most notably now all of the contract clients are properly typed and versioned, the support for creating motions is vastly improved and a lot permission-proof convenience functions were added to the relevant contract clients.
This - as an example - enables the possibility to call getExtensionClient
with the desired extension name on any Colony and get a properly typed extension of that kind if it's installed.
Furthermore:
- Node 16 is now required
- Upgraded all dependencies, including TypeChain to version 10 and the
ethers-v5
target to version 8. - Extracted contract ABIs are now stored inside the repo, to make it easier to upgrade TypeChain and the resulting changes.
- It's easier now to extract the ABIs as well as build the ethers contract types with the provided scripts
- Added
...Event
contract clients to be able to fetch events from past Colony and Extension versions - Vastly improved the TypeDoc documentation
- Added a simple integration "smoke" test
- Improved es and cjs package exports and reduced npm package size by a lot
- Lots of things have been renamed and moved around under the hood to improve maintainability
- Constants and certain exports have been renamed for clarity
- Loads of other tiny fixes and improvements
Full Changelog: v4.1.2...v5.0.0