This change log is managed by admin/cmds/update-versions
but may be manually updated.
- Update PocketProvider to newer URL format. (#2980; 10d07ca)
- Add new ENS normalization specification for wider UTF-8 support. (#42, #2376, #2754; 14bf407, fce9aaa, f274104)
- Added ACTION_REJECTED error for UI-based Signers. (d9897e0)
- Include current baseFee in feeData for easier custom fee calculation. (8314236)
- Add restrictions for new UTF-8 specification ENS names. (#42, #2376, #2754; e52fbfb)
- Expand the definition of a WebSocketLike. (#2843; 00114d7)
- Expanded type for queryFitler to allow string. (#2882; 60da870)
- Added finalized and safe blockTags. (#3091; 549168c)
- Added arbitrum-goerli to Networks and AlchemyProvider. (#3246; e72d13e)
- Add EIP-712 type exports. (#221; 7ce41cd)
- Added optimism-goerli to AlchemyProvider. (#3246; f1cb0d2)
- Updated EtherscanProvider for new CommunityResource API throttling. (6bd13c3)
- Fix old events from being emitted at the beginning of a filter. (#3069, #3094; ea2d245)
- Fixed Interface signautres missing strings as eventFragments. (#3157; c004ae5)
- Fix bug in EIP1193Bridge forwarding to the wrong method. (#3166; 17676e9)
- Use updated Web3 Secret Storage format for JSON wallets. (#3075; 6f57e8b)
- Relaxed nameprep length requirement dropping RFC-5891 section 4.2.4. (#3161; abdf2e3)
- Switch to hash.js for ripemd160 on node as it was removed from the default crypto provider in node 17. (#3082; 450694e)
- Add optimism-kovan to EtherscanProvider. (#3135; 4d3e586)
- Forward any blockTag along in the FallbackProvider during call. (#3168; ab43e7d)
- Allow browser fetch option overrides. (#3096; c309df8)
- Removed Ankr for Ropsten default provider; the merge seems to have broke it. (3790671)
- Fix NonceManager for increment 0 and provided nonce. (#3062, #3085; 0a28679)
- Fixed topic filters for numeric types with string values. (#3013; 0078e02)
- Add Skynet support. (#2853, #2866; 13dd42c)
- Fix WebWorker support in rollup files. (#2976; d06aa26)
- Remove superfluous logging. (#2995; ed7e6a5)
- Add matic and optimism support to default provider. (a301297)
- Use case-insensitive schemes for getDefaultProvider. (#2320; 8b62aef)
- Pad position in JSON-RPC getStorageAt calls. (#2982; d5815cc)
- Ensure gas estimate errors are not call exceptions in disguise. (#2954; 2c3dae0)
- Added optimism to EtherscanProvider. (#2968; c6eebf9)
- Remove pedantic check for new keyword which broke some platforms for inheritance. (#2860, #2861; 32b7373)
- Added testnets for AnkrProvider. (#2949, #2950; d9f45b3)
- Better error coalescing for OpenEthereum nodes. (#2846; bebd669)
- Enforce 32-byte private key length (2926). (7b299dd)
- Fixed decimal strings as value-type properties for JsonRpcSigner. (#2948; 9bf17fa)
- Mimic Hardhard error strings in CALL_EXCEPTION for popular matchers. (#2849, #2862; dab6ede)
- Fix pocket API key not being passed in for default provider. (#2890; 056d7c8)
- Fixed left-padding in arrayify. (#2833; e192903)
- More robust JSON-RPC error handling for reverted executions. (#2603; 9d9b14b)
- Added IPNS support for ENS contenthash. (e70f3fe)
- Added initial AnkrProvider (96de581)
- Tweaked test case to re-order transaction after event listeners added. (fa4a290)
- Ignore errors when resolving ENS resolver properties. (d160bac)
- Enable CCIP Read for ENS resolvers. (#2478; be518c3)
- Fix missing events on certain network conditions. (#1798, #1814, #1830, #2274, #2652; f67a9a8, f46aa75)
- Added defaultProvider option to omit specific Providers. (bae215e)
- Add support for pending blocks. (#2225; 54e6e57)
- Help URLs for errors. (#2489; 38e825c, c562150)
- Added CCIP support to provider.call. (#2478; ae23bb7)
- Adjust default maxPriorityFeePerGas to 1.5 gwei. (33a029e)
- Fix contracts when name resolution fails without any checks. (#2737; c2a6a01)
- Preserve explicit chainId in JsonRpcProvider during transaction serialization. (#2691; 6807a76)
- Fixed eth_chainId response for Eip1193Bridge. (#2711; 5f26fd5)
- Remove spurious console.log from Interface. (#2714; 4e8f004)
- Allow raw WebSocket to be passed into WebSocketProvider. (#2562, #2644; 9aac785)
- Added Cloudflare Worker support. (#1886; 2d98b4f, 1651389)
- Add support for EIP-2098 compact signatures. (#2246; f26074b)
- Add EIP-2544 Wildcard support. (#2477, #2582, #2583; 83891f9)
- Fixed case-folding in schemes for ENS avatars. (#2500; 3f5bc6d)
- Added Kintsugi network. (#2434; ab13887)
- Fix browser random in WebWorkers. (#2405; 4ba63ac)
- Add support for IPFS metadata imageUrl in getAvatar. (#2426; 3d6a7ec)
- Do not swallow ENS not supported errors. (#2387; 2f57c6a)
- Fixed test case for getAvatar; url has moved (617714d)
- Added basic redirect support. (42784b8)
- Added arbitrum and optimism to networks and providers. (#2335; 0844de4)
- Added support for data URLs for avatar metadata. (b8391b0)
- Fixed getAvatar for unconfigured ENS names. (1e1c93e)
- Added ENS avatar support to provider. (#2185; ecce861)
- Fixed splitSignature logic for verifying EIP-2930 and EIP-1559 v. (#2084; 3de1b81)
- Include events on ContractFactory deployment transactions. (#1334; ab319f2)
- admin: fixed alias script. (#1494; 8f3d71d)
- Better errors when non-string address or ENS name is passed into Contracts or provider methods. (#1051; a5c6a46)
- Use personal_sign instead of eth_sign for message signing with JsonRpcSigner; added _legacySignMessage for legacy support. (#1542, #1840; 8947fd4)
- Removed extra wordlists from the dist files. (#2058, #2077; cb43a99)
- Fix issue when Solidity method collises with JavaScript prototype. (#1432, #2054, #2120; 0a8be37)
- Add support for Cloudflare Workers. (#1886; 6582ede)
- Added more information to some invalid argument errors. (#1130; f3c6d81)
- Fix compile-time error in new TypeScript version. (bee76a4)
- Adding customData support to transactions to assist L2 chains. (#1761; 68095a4)
- Added some explicit null results to previously implicit null results for ENS. (#1850; 0e5419e)
- Added BigNumber _difficulty to Block results. (#2001, #2036; a48552a)
- Removed redundant call to normalizing blockTag (#1838). (d5b41ce)
- Fixed isBytes check for invalid length or elements. (#1964; 7a404fb)
- Fixed randomBytes not rejecting NaN as a length. (#1977; f8adf82)
- Allow any Networkish for getDefaultProvider. (#2031; cc250b2)
- Stop allowing commas in fixed numbers; left over from legacy comma support. (#2083; 45f3675)
- Export FallbackProviderConfig. (#2121; 48c9e0b)
- Temporarily remove the block miner for clique-based networks from CI testing. (#1967; 8320d53)
- More readable errors involving Uint8Arrays. (b6a061e)
- Added Deferred Error support to Description objects to extent Interface parse methods. (#1894; a662490)
- Fix address coder to prepare non-hexdatastring addresses as hexdatastring. (#1906; 017b1fe)
- Removed temporary code for better errors needed until Alchemy added EIP-1559 support. (#1893; accb852)
- Fxied getBlockWithTransactions results (#1858). (78e4273)
- Fixed Etherscan API key in default provider. (#1807; 1d27d95)
- Adjust default masPriorityFeePerGas to account for MEV-heavy blocks. (#1817; 7175e2e)
- Fixed JsonRpcProvider for pre-EIP-2930 chains. (#1766; 7274cd0)
- Forward some missing EIP-1559 fields to call and estimateGas. (#1766; be3854e)
- Fixed possible UnhandledPromiseException for bad ENS names. (63f8b28)
- Prevent overriding value for non-payble constructors. (#1785; 593b488)
- Fix test case for new transactions responses. (0aafca7)
- Added matic support to INFURA and Alchemy. (#1546; 576e9b5)
- Added string change to coalesce errors on some clients. (bc5cc2e)
- Added wait to transactions returned by getBlockWithTransactions. (#971; 660e69d)
- Fixed floor, ceiling and round for FixedNumber for non-default Formats. (#1749; 551cfa0)
- Fixed null confirmations in Wallet transaction. (#1706; 0f0d0c0)
- Fixed Etherscan string change and enabled all tests. (a1f8d18)
- Added Pocket back into Homestead defaultProvider and skip certain EtherscanProvider tests affected by outage. (6e8a39e)
- Fixed EtherscanProvider NONCE_EXPIRED matching string update. (ecae793)
- Fixed explicit EIP-1559 keys for JsonRpcSigner. (72feee8)
- Added EIP-1559 support. (#1610; 319987e, 91fff14, c5bca77, 5456c35, 7a12216, e95708e)
- Added effectiveGasPrice to receipt. (ba6854b)
- Fixed ENS names for JsonRpcSigner. (1e31b34)
- Added EIP-2930 and EIP-1559 transaction tests. (7deb4c1)
- Added ConstructorFragment to exports. (7efc36d)
- Added error utilities to Interface. (720bde7, f053a7a)
- merged master including transaction type 0 legacy constant. (#1610; 2a7ce0e)
- Added type to TransactionResponse and TrnsactionReceipt. (#1687; d001901)
- Trap CALL_EXCEPTION errors when resolving ENS entries. (#1690; 91951dc)
- Fixed transaction serialization with explicit null type. (#1628; 8277f5a)
- Fix issue with loading JSON ABI with internalType property. (#728; e8a0144)
- Fixed replacement transaction detection for JsonRpcSigner. (#1658; ee82e86)
- Added Matic testnet info to networks. (#1546; 376cf3c)
- Match Solidity identifier regex. (#1657; a6e128f)
- Added MinInt256 and MaxInt256 constants. (#1576; bfcd05f)
- Version bumps for bn.js and hash.js to match elliptic and fix some build tools. (#1478; 819b1ac)
- Removed Hangul checks in shims which crashes Android. (#1519; 4b33114)
- Fixed ENS namehash with leading and trailing dots. (#1605; 7adcf3b)
- Fixed broken variable in template string. (#1624, #1626; 630656e)
- Fixed FixedNumber rounding for non-default formats. (#1629; 8681cd5)
- Update ws dependency version to fix security. (#1633, #1634; 470551e)
- More aggresively check for mempool transactions sent from JsonRpcSigner. (3316468)
- Added initial support for detecting replacement transactions. (#1477; 987bec8, 5144acf)
- Added convenience method for HD path derivation. (aadc5cd)
- Added mnemonicPath option to cli. (6e08809)
- Added some popular Ethereum-compatible chains to networks. (b6370f1)
- Added debug event to Web3Provider. (26464c5)
- Abstracted EtherscanProivder to more easily fascilitate other Etherscan-supported chains. (#1204, #1473; 37a9c77)
- Added Custom Contract Errors. (#1498; 6519609, 483d67f)
- More flexible FixedNumber input and output for strings with no decimals. (#1019, #1291, #1463; a9cdbe1)
- Added hex support for bigint. (#1472; 4e9abfd)
- Added support for null entries in EventFilter. (#1499; 3bb5fbf)
- Add bigint to allowed BigNumberish types. (#1472; cadccc3)
- Minor version bump. (8e22e02)
- Fixed JsonRpcProvider event-loop caching when using any network. (#1484; 58488e7)
- Updated experimental Eip1193Bridge to support final EIP-1193 API. (2911659)
- Fail early for ABI decoding that will obviously run out of data. (#1486; 51f0e1a)
- Fixed BigNumber toBigInt return type. (#1485; c086962)
- Increase provider tests gas price for sending a transaction. (8eaeba3)
- Fixed run-checking non-filter Contract events. (#1458; 4a44865)
- Increased sendTransaction timeout to 15 minutes and pull Pocket from tx tests. (08adc18)
- Export Eip1193Bridge in experimental package. (1fcf4b6)
- Prevent non-typed transactions from unsafely ignoring specified access lists. (#1364; 4577444)
- Update tests for current EIP-2930 support across backends. (#1364; 1cb3199)
- Removed underscore from the JsonRpcBatchProvider name. (#62, #656, #892; ae0d5eb)
- Added better error detection when pre-EIP-155 transactions are disabled. (b8df000)
- Fix Android React Native environment shims which crash on normalizing Korean test. (#1298; eb1ec2f)
- Fixed EIP-2930 transactions for EtherscanProvider. (#1364; b655089)
- Re-enable AlchemyProvider Berlin tests. (bec066b)
- Added experimental _JsonRpcBatchProvider. (#62, #656, #892; d55ab6d)
- Cache JsonRpcProvider requests for certain methods per event loop. (#1371; 1a7c4e8)
- Added BigNumber.toBigInt method. (#1415; 81fd628)
- Abstracted Contract with BaseContract without meta-class properties for easier extensions. (#1384; 87ceaed)
- Fixed Contract properties that collide with null member properties. (#1393; 0e1721b)
- Added EIP-2930 support. (#1364; c47d2eb)
- Added abstraction for EIP-2718 support. (1db4ce1)
- Bumped TypeScript to 4.2.2. (#1288; b2ecffb)
- Fixed shims from not displaying debug information. (a953f71)
- Force TypedData numbers to be in decimal. (#1193; c5a53d6)
- Prevent unhandled rejections when passing nullish into Contract constructor. (#1234; d937668)
- Better error messaging when provider backends give bogus responses. (#1243; 8279120)
- Prevent unconfigured ENS names from making an init tx. (#1290; 243beff)
- When in Status trigger personal_sign instead of eth_sign. (#1285; 73e9434)
- Bump elliptic version for CVE-2020-28498. (#1284; 796954f)
- Added support for networks with slightly incorrect EIP-658 implementations. (#952, #1251; e727efc)
- Added Pocket network to the default provider. (#1030, #1052; 4af2c19)
- Added TypeScript declaration maps. (#401; 3396846)
- Fixed abundant UnhandledRejectErrors in provider polling. (#1084, #1208, #1221, #1235; 74470de, 20f6e16)
- Fixed non-checksum address comparisons in abstract Signer. (#1236; 8175c83)
- Safety check on digest length for signing. (20335e9)
- Fixed listenerCount for contract when requesting for all events. (#1205; a56a0a3)
- Lock package versions for the ESM builds. (#1009; 0e6cc9a)
- Fixed EIP-712 getPayload dropping EIP712Domain from types for JSON-RPC calls. (#687; d3b1ac0)
- Remvoed dead files. (70c2b1b)
- Added directory to repo field for each package. (799896a)
- Add ABI coder function to compute default values. (#1101; a8e3380)
- Fix for new versions of Geth which return formatted data on revert rather than standard data. (#949; 4a8d579)
- Addd missing sideEffects flag to some packages. (20defec)
- Allow base-10 to be passed into BigNumbner.toString and improve errors for other radices. (#1164; c8bb77d, fbbe4ad)
- Allow private keys to Wallet to omit the 0x prefix. (#1166; 29f6c34)
- Force address to use bignumber package with base36 private functions. (#1163; c9e5480)
- Remove stray console.log in hardware wallets. (#1136; cc63e61)
- Added some funding links for the sponsor button. (2816850)
- Remove invalid pkg.module reference. (#1133; cddc258)
- Fix browser ws alias for WebSockets. (02546b9)
- Fixing React Native tests. (f10977a, fff72ef)
- Refactoring dist build process. (4809325, 22bd0c7, 8933467)
- Allow 0x as a numeric value for 0 in Provider formatter. (#1104; fe17a29)
- Use POST for long requests in EtherscanProvider. (#1093; 28f60d5)
- Added verifyTypedData for EIP-712 typed data. (#687; 550ecf2, a21202c)
- Fix signTypedData call for JsonRpcSigner. (#687; 15a90af)
- Added EIP-712 test cases. (#687; 1589353)
- Initial Signer support for EIP-712 signed typed data. (#687; be4e216)
- Split hash library files up. (3e676f2)
- Added EIP-712 multi-dimensional array support. (#687; 5a4dd5a)
- Consolidated TypedDataEncoder methods. (#687; 345a830)
- Initial EIP-712 utilities. (#687; cfa6dec)
- Added initial PocketProvider. (#1052; a62d20d)
- Better error message for parseUnits of non-strings. (#981; 5abc2f3)
- Add gzip support to AlchemyProivder and InfuraProvider fetching. (#1085; 38a068b)
- Add gzip support to getUrl in node. (#1085; 65772a8)
- Added CommunityResourcable to mark Providers as highly throttled. (a022093)
- Added debug event info to WebSocketProvider. (#1018; 8e682cc)
- ABI encoding performance additions. (#1012; f3e5b0d)
- Export hexConcat in utils. (#1079; 3d051e4)
- Cache chain ID for WebSocketProvider. (#1054; 40264ff)
- Add more accurate intrinsic gas cost to ABI calls with specified gas property. (#1058; f0a5869)
- Better errors for unconfigured ENS names. (#1066; 5cd1668)
- Updated CLI solc to versin 0.7.1. (4306b35)
- More robust blockchain error detection (#1047; 49f7157)
- Forward blockchain errors from Signer during gas estimation. (#1047; 9ee685d)
- Improve fetch errors with looser mime-type detection. (#1047; 263bfe5)
- Force content-length in web fetching. (be92339)
- Better error forwarding from FallbackProvider. (#1021; bc3eeec)
- Add clamping functions to FixedNumber. (#1037; 042b74e)
- Allow events to use compact bytes ABI coded data for Solidity 0.4 external events. (#891, #992; 4e394fc)
- Synced unorm in shims to most recent version. (bdccf7b)
- Fixed LedgerSigner sendTransaction. (#936; cadb28d)
- Added BrainWallet to experimental exports. (72385c2)
- More readable server errors. (201e5ce)
- Added retry logic to provider tests. (0558bba, 35b64b9, 681f2a5)
- Fixed link in docs. (#1028; 2359a98)
- Added memory-like support and new opcodes to asm. (6fd3bb6)
- Added basic ENS resolver functions for contenthash, text and multi-coin addresses. (#1003; 83db8a6)
- Added support for changing Reporter logging function. (d01d0c8)
- Initial React Native test harness. (#993; 57eb5b7, d3b473e)
- Updating shims for constrained environments. (#944, #993; 8abdbbb, 240aac5)
- Updated docs for all packages on npm pages. (#1013; cb8f4a3)
- Added JSON support to BigNumber. (#1010; 8facc1a)
- Updated packages for security audit. (5b5904e)
- Fix emitted error for ABI code array count mismatch. (#1004; b0c082d)
- Fix Logger setLogLevel with enum case mismatch. (#947; 5443363, af10705)
- Removed UUID dependency from json-wallets. (#966; e3f7426)
- Removed unnecessary dependency from BigNumber. (#951; 78b350b)
- Removed unnecessary dependency from BigNumber. (#951; 78b350b)
- Longer Etherscan throttle slot interval. (9f20258)
- Fixed ENS overrides for the default provider. (#959; 63dd3d4)
- Added Retry-After support and adjustable slot interval to fetchJson. (7d43545)
- Added initial throttling support. (#139, #904, #926; 88c7eae)
- Use status code 1000 on WebSocket hangup for compatibility. (588f64c)
- Updated WebSocketProvider to use web-style event listener API. (57fd6f0)
- Normalize formatUnits to simplified decimals. (79b1da1)
- Prevent zero-padding on Solidity type lengths. (e128bfc)
- Set sensible defaults for INFURA and AlchemyAPI getWebSocketProvider methods. (e3d3e60)
- Added logger assert methods. (619a888)
- Added initial code coverage testing. (0c1d55b)
- Added destroy to WebSocketProvider. (d0a79c6)
- Updated packages (security updates). (c660176)
- Fixed splitSignature when recoveryParam is encoded directly. (#893, #933; bf65ddb)
- Fixed BigNumber string validation. (#935; 7e56f3d)
- Prevent negative exponents in BigNumber. (#925; 84e253f)
- Fixed StaticJsonRpcProvider when auto-detecting network. (#901; 0fd9aa5)
- Added WebSocket static method to Alchemy provider and updated Alchemy URLs. (4838874)
- Fixed typo in error string. (7fe702d)
- Updated elliptic package to address possible malleability issue; which should not affect Ethereum. (9e14345)
- Fixed FixedNumber unguarded constructor and added isZero. (#898; 08c74e9)
- Added StaticJsonRpcProvider for reducing calls to chainId in certain cases. (#901; c53864d)
- Allow getDefaultProvider to accept a URL as a network. (8c1ff4c)
- Make network an optional parameter to WebSocketProvider. (987b535)
- Removed deprecated errors package. (f9e9347)
- Updated badges in docs. (d00362e)
- Create security policy. Create security policy. (88e6849)
- Allow provider.ready to stall until the network is available. (#882; bbb4f40)
- Reduce dependencies to squash security issues. (738d349)
- Updated admin scripts for publishing prod releases. (e0e0dbe)
- Fixed embedded package version strings. (5a69e9c)