Hi!
Features
Alongside some Typescript improvements and patches for the Websocket Provider reconnection logic introduced in 1.2.7, this release contains two larger changes:
-
Ethers ABI Coder has received a full version increment, from 4.0.0-beta.3 to 5.0.0-beta.153. Since 2018, Web3 has relied on @ricmoo's great Ethers project to manage encoding and decoding data passed between Web3 and the EVM. This update should allow Web3 to absorb the latest work at Ethers going forward.
The new ABI coder runs additional checks to validate inputs against the ABI types. Behavioral differences include:
Edge case | Web3 <= 1.2.7 | Web3 1.2.8 |
---|---|---|
Input exceeds an ABI type's max value (ex: "257" for uint8 )
| overflows | out of bounds error |
Negative input for uint
| overflows | out of bounds error |
Invalid utf-8 character in string | silently sanitized | utf-8 error |
- The ENS module now supports ENS's
contenthash
feature (EIP 1577), which allows you to associate an IPFS or Swarm hash with an ENS domain. There's a nice introduction to content hashes in this ENS medium post. Docs for the newly added methods can be found here.
Added
- Introduce review and release guidelines. (#3460)
- Add EIP-1193 compatible provider to
AbstractProvider
interface. (#3499, #3521) - Add Typescript definitions for contract
call
. (#3454, #3521) - Add support for ENS contenthash methods (#3392, #2782, #3511)
Changed
- Change CI provider from Travis to Github Actions. (#3468)
- Update
web3-eth-abi
ABICoder dependency. (#3490, #3522) - Improve code clarity of HttpProvider keepAlive option setting. (#3463)
- Updated type definitions for Web3 HTTP Provider. (#3482)
- Improve code clarity of HttpProvider keepAlive value. (#3463)
- Fix indentation of web3-eth documentation (#3478)
Fixed
- Fix intermittent CI build issues with
dtslint
. (#3479) - Fix WSS credentials Base64 encoding (for browser) (#3508)
- Fire provider "error" and/or "end" events when Websocket provider disconnects (#3485)
- Remove web3-eth revert error return types to squash TS compilation errors (#3496)
- Backfill event subscriptions when WS connection dropped across multiple blocks (#3491)
- Stop swallowing errors when WS connection has died after exhausting reconnection attempts (#3492)