Skip to content

0.6.0

Choose a tag to compare

@alisinabh alisinabh released this 02 Jan 03:46
· 95 commits to main since this release
36383ce

What's Changed

Breaking Changes

  • Removed Ethers.Transaction struct and replaced with separate EIP-1559 and Legacy transaction structs for improved type safety
  • Deprecated Ethers.Transaction.from_map/1 - use Ethers.Transaction.from_rpc_map/1 instead for RPC response parsing
  • Deprecated Ethers.Utils.maybe_add_gas_limit/2 - gas limits should now be set explicitly
  • Changed input format requirements: All inputs to Ethers functions must use native types (e.g., integers) instead of hex strings encoded values
  • Removed auto-gas estimation from send_transaction calls
  • tx_type option in transaction overrides has been replaced with type, now requiring explicit struct modules (e.g. Ethers.Transaction.Eip1559, Ethers.Transaction.Legacy)
  • Moved Ethers.Transaction.calculate_y_parity_or_v/1 to Ethers.Transaction.Signed module
  • Deprecate Ethers.send/2 in favor of Ethers.send_transaction/2 for clarity and prevent collision with Kernel.send/2.

New features

  • Added EIP-3668 CCIP-Read support via Ethers.CcipRead module for off-chain data resolution
  • Extended NameService to handle off-chain and cross-chain name resolution using CCIP-Read protocol
  • Introduced Ethers.Transaction.Protocol behaviour for improved transaction handling
  • Added dedicated EIP-1559 and Legacy transaction struct types with validation
  • New address utilities: Ethers.Utils.decode_address/1 and Ethers.Utils.encode_address/1
  • Added Transaction.decode/1 to decode raw transactions

Enhancements

  • Improved error handling and reporting in Ethers.deploy/2
  • Enhanced NameService with ENSIP-10 wildcard resolution support
  • Use checksum addresses when decoding transactions
  • Add bang versions of Ethers top module functions which were missing

Pull Requests in Release

New Contributors

Full Changelog: v0.5.5...v0.6.0