Skip to content

Releases: web3/web3.js

v4.2.0

18 Oct 13:48
c8799b0
Compare
Choose a tag to compare

Added

web3

  • Various web3 sub packages has new functions details are in root changelog

web3-eth

  • Added ALL_EVENTS and ALL_EVENTS_ABI constants, SendTransactionEventsBase type, decodeEventABI method (#6410)

web3-eth-accounts

  • Added public function privateKeyToPublicKey
  • Added exporting BaseTransaction from the package (#6493)
  • Added exporting txUtils from the package (#6493)

web3-types

  • Interface EventLog was added. (#6410)

web3-utils

  • As a replacment of the node EventEmitter, a custom EventEmitter has been implemented and exported. (#6398)

Fixed

web3-core

  • Fix the issue: "Uncaught TypeError: Class extends value undefined is not a constructor or null #6371". (#6398)

web3-errors

  • Added new SchemaFormatError (#6434)

web3-eth

  • Ensure provider.supportsSubscriptions exists before watching by subscription (#6440)
  • Fixed param sent to checkRevertBeforeSending in sendSignedTransaction
  • Fixed defaultTransactionBuilder for value issue (#6509)

web3-eth-abi

  • Fix issue with default config with babel (and React): "TypeError: Cannot convert a BigInt value to a number #6187" (#6506)

web3-eth-accounts

  • Fixed recover function, v will be normalized to value 0,1 (#6344)

web3-providers-http

web3-providers-ipc

  • Fixed bug in chunks processing logic (#6496)

web3-providers-ws

  • Fixed bug in chunks processing logic (#6496)

web3-utils

  • Fix issue with default config with babel (and React): "TypeError: Cannot convert a BigInt value to a number #6187" (#6506)
  • Fixed bug in chunks processing logic (#6496)

web3-validator

  • Multi-dimensional arrays are now handled properly when parsing ABIs (#6435)
  • Fix issue with default config with babel (and React): "TypeError: Cannot convert a BigInt value to a number #6187" (#6506)
  • Validator will now properly handle all valid numeric type sizes: intN / uintN where 8 <= N <= 256 and N % 8 == 0 (#6434)
  • Will now throw SchemaFormatError when unsupported format is passed to convertToZod method (#6434)

Changed

web3

  • Dependencies updated

web3-core

  • defaultTransactionType is now type 0x2 instead of 0x0 (#6282)
  • Allows formatter to parse large base fee (#6456)
  • The package now uses EventEmitter from web3-utils that works in node envrioment as well as in the browser. (#6398)

web3-eth

  • Transactions will now default to type 2 transactions instead of type 0, similar to 1.x version. (#6282)

web3-eth-contract

  • The events property was added to the receipt object (#6410)

web3-eth-ens

  • Dependencies updated

web3-eth-iban

  • Dependencies updated

web3-eth-personal

  • Dependencies updated

web3-net

  • Dependencies updated

web3-providers-http

  • Bump cross-fetch to version 4 (#6463).

web3-rpc-methods

  • Dependencies updated

v1.10.3

18 Oct 13:03
24d310c
Compare
Choose a tag to compare

Security

  • web3-eth-accounts: Bumped @ethereumjs dependencies (#6457)

  • Updated dependencies (#6491)

v1.10.3-dev.0

16 Oct 16:50
e4b251c
Compare
Choose a tag to compare
v1.10.3-dev.0 Pre-release
Pre-release

Security

  • web3-eth-accounts: Bumped @ethereumjs dependencies (#6457)

  • Updated dependencies (#6491)


( Considering discussion about release tags , v1 will follow tags:

  • legacy ( for v1 releases )
  • legacy-dev ( for v1 test/RC releases, this will replace rc tag)

v4.1.2

19 Sep 14:01
Compare
Choose a tag to compare

Fixed

web3

  • Fix of incorrect provider warning behavior

web3-eth-accounts

  • Fixed "The r and s returned by sign to does not always consist of 64 characters" (#6411)

web3-eth-contract

web3-utils

  • soliditySha3() with BigInt support

Added

web3-core

  • Added to Web3Config property contractDataInputFill allowing users to have the choice using property data, input or both for contract methods to be sent to the RPC provider when creating contracts. (#6377) (#6400)

web3-eth

  • Added to Web3Config property contractDataInputFill allowing users to have the choice using property data, input or both for contract methods to be sent to the RPC provider when creating contracts. (#6377) (#6400)

web3-eth-contract

  • Added dataInputFill as a ContractInitOption, allowing users to have the choice using property data, input or both for contract methods to be sent to the RPC provider. (#6355)
  • Added to Web3Config property contractDataInputFill allowing users to have the choice using property data, input or both for contract methods to be sent to the RPC provider when creating contracts. (#6377)

web3-types

  • add asEIP1193Provider to Web3BaseProvider so every inherited class can have the returned value of request method, fully compatible with EIP-1193. (#6407)

Changed

  • Dependencies updated of packages

v1.10.2

28 Aug 13:00
Compare
Choose a tag to compare

Fixed

  • Fixed broken fetch for Node.js > 18.x and fixed double callback (#6381)

v4.1.1

21 Aug 16:28
Compare
Choose a tag to compare

Added

web3

  • To fix issue #6190, added the functionality to introduce different timeout value for Web3. (#6336)

web3-core

  • To fix issue #6190, added the functionality to introduce different timeout value for Web3. (#6336)

web3-eth-contract

  • In case of error events there will be inner error also available for details

Fixed

web3-eth

  • Added return type for formatSubscriptionResult in class NewHeadsSubscription (#6368)

web3-core

  • Fixed rpc errors not being sent as an inner error when using the send method on request manager (#6300).

web3-errors

web3-eth-contract

  • Fixed bug in contract.events.allEvents

web3-validator

Changed

  • Updated web3 dependencies of other packages

v4.1.0

15 Aug 08:13
Compare
Choose a tag to compare

Added

web3

  • Added minimum support of web3.extend function

web3-core

  • Added minimum support of web3.extend function

web3-errors

  • RpcErrorMessages that contains mapping for standard RPC Errors and their messages. (#6230)
  • created TransactionGasMismatchInnerError for clarity on the error in TransactionGasMismatchError (#6215)
  • created MissingGasInnerError for clarity on the error in MissingGasError (#6215)

web3-eth

  • A rpc_method_wrapper (signTypedData) for the rpc calls eth_signTypedData and eth_signTypedData_v4 (#6286)
  • A signTypedData method to the Web3Eth class (#6286)

web3-eth-abi

  • A getEncodedEip712Data method that takes an EIP-712 typed data object and returns the encoded data with the option to also keccak256 hash it (#6286)

web3-rpc-methods

  • A signTypedData method to eth_rpc_methods for the rpc calls eth_signTypedData and eth_signTypedData_v4 (#6286)

web3-types

  • eth_signTypedData and eth_signTypedData_v4 to web3_eth_execution_api (#6286)
  • Eip712TypeDetails and Eip712TypedData to eth_types (#6286)

web3-validator

  • Added json-schema as a main json schema type (#6264)

Fixed

web3-core

  • Fixed the issue: "Version 4.x does not fire connected event for subscriptions. #6252". (#6262)

web3-errors

  • Fixed: "'disconnect' in Eip1193 provider must emit ProviderRpcError #6003".(#6230)

web3-eth

  • sendTransaction will have gas filled by default using method estimateGas unless transaction builder options.fillGas is false. (#6249)
  • Missing blockHeaderSchema properties causing some properties to not appear in response of newHeads subscription (#6243)
  • Missing blockHeaderSchema properties causing some properties to not appear in response of newHeads subscription (#6243)

web3-providers-ws

  • Ensure a fixed version for "@types/ws": "8.5.3" (#6309)

Changed

web3-core

  • No need to pass CommonSubscriptionEvents & at every child class of Web3Subscription (#6262)
  • Implementation of _processSubscriptionResult and _processSubscriptionError has been written in the base class Web3Subscription and maid public. (#6262)
  • A new optional protected method formatSubscriptionResult could be used to customize data formatting instead of re-implementing _processSubscriptionResult. (#6262)
  • No more needed to pass CommonSubscriptionEvents & for the first generic parameter of Web3Subscription when inheriting from it. (#6262)

web3-eth

  • MissingGasError error message changed for clarity (#6215)
  • input and data are no longer auto populated for transaction objects if they are not present. Instead, whichever property is provided by the user is formatted and sent to the RPC provider. Transaction objects returned from RPC responses are still formatted to contain both input and data properties (#6294)

web3-eth-accounts

  • Dependencies updated

web3-eth-contract

  • Dependencies updated

web3-eth-ens

  • Dependencies updated

web3-eth-iban

  • Dependencies updated

web3-eth-personal

  • Dependencies updated

web3-net

  • Dependencies updated

web3-providers-http

  • Dependencies updated

web3-providers-ipc

  • Dependencies updated

web3-types

  • input and data are now optional properties on PopulatedUnsignedBaseTransaction (previously input was a required property, and data was not available) (#6294)

web3-utils

  • Dependencies updated

web3-validator

  • Replace is-my-json-valid with zod dependency. Related code was changed (#6264)
  • Types ValidationError and JsonSchema were changed (#6264)

Removed

web3-eth

  • Missing blockHeaderSchema properties causing some properties to not appear in response of newHeads subscription (#6243)
  • Type RawValidationError was removed (#6264)

web3-validator

  • Type RawValidationError was removed (#6264)

v1.10.1

14 Aug 11:57
Compare
Choose a tag to compare

Fixed

  • Builds fixed by updating all typescript versions to 4.9.5 (#6238)
  • ABI encoding for large negative ints (#6239)
  • Updated type file for submitWork parameters, accepts 3 parameters instead of an array (#5200)

Changed

  • Replace ethereumjs-util with @ethereumjs/util (#6283)

v4.1.0-rc.0

09 Aug 15:21
Compare
Choose a tag to compare
v4.1.0-rc.0 Pre-release
Pre-release

Added

web3

  • Added minimum support of web3.extend function

web3-core

  • Added minimum support of web3.extend function

web3-errors

  • RpcErrorMessages that contains mapping for standard RPC Errors and their messages. (#6230)
  • created TransactionGasMismatchInnerError for clarity on the error in TransactionGasMismatchError (#6215)
  • created MissingGasInnerError for clarity on the error in MissingGasError (#6215)

web3-eth

  • A rpc_method_wrapper (signTypedData) for the rpc calls eth_signTypedData and eth_signTypedData_v4 (#6286)
  • A signTypedData method to the Web3Eth class (#6286)

web3-eth-abi

  • A getEncodedEip712Data method that takes an EIP-712 typed data object and returns the encoded data with the option to also keccak256 hash it (#6286)

web3-rpc-methods

  • A signTypedData method to eth_rpc_methods for the rpc calls eth_signTypedData and eth_signTypedData_v4 (#6286)

web3-types

  • eth_signTypedData and eth_signTypedData_v4 to web3_eth_execution_api (#6286)
  • Eip712TypeDetails and Eip712TypedData to eth_types (#6286)

web3-validator

  • Added json-schema as a main json schema type (#6264)

Fixed

web3-core

  • Fixed the issue: "Version 4.x does not fire connected event for subscriptions. #6252". (#6262)

web3-errors

  • Fixed: "'disconnect' in Eip1193 provider must emit ProviderRpcError #6003".(#6230)

web3-eth

  • sendTransaction will have gas filled by default using method estimateGas unless transaction builder options.fillGas is false. (#6249)
  • Missing blockHeaderSchema properties causing some properties to not appear in response of newHeads subscription (#6243)
  • Missing blockHeaderSchema properties causing some properties to not appear in response of newHeads subscription (#6243)

web3-providers-ws

  • Ensure a fixed version for "@types/ws": "8.5.3" (#6309)

Changed

web3-core

  • No need to pass CommonSubscriptionEvents & at every child class of Web3Subscription (#6262)
  • Implementation of _processSubscriptionResult and _processSubscriptionError has been written in the base class Web3Subscription and maid public. (#6262)
  • A new optional protected method formatSubscriptionResult could be used to customize data formatting instead of re-implementing _processSubscriptionResult. (#6262)
  • No more needed to pass CommonSubscriptionEvents & for the first generic parameter of Web3Subscription when inheriting from it. (#6262)

web3-eth

  • MissingGasError error message changed for clarity (#6215)
  • input and data are no longer auto populated for transaction objects if they are not present. Instead, whichever property is provided by the user is formatted and sent to the RPC provider. Transaction objects returned from RPC responses are still formatted to contain both input and data properties (#6294)

web3-eth-accounts

  • Dependencies updated

web3-eth-contract

  • Dependencies updated

web3-eth-ens

  • Dependencies updated

web3-eth-iban

  • Dependencies updated

web3-eth-personal

  • Dependencies updated

web3-net

  • Dependencies updated

web3-providers-http

  • Dependencies updated

web3-providers-ipc

  • Dependencies updated

web3-types

  • input and data are now optional properties on PopulatedUnsignedBaseTransaction (previously input was a required property, and data was not available) (#6294)

web3-utils

  • Dependencies updated

web3-validator

  • Replace is-my-json-valid with zod dependency. Related code was changed (#6264)
  • Types ValidationError and JsonSchema were changed (#6264)

Removed

web3-eth

  • Missing blockHeaderSchema properties causing some properties to not appear in response of newHeads subscription (#6243)
  • Type RawValidationError was removed (#6264)

web3-validator

  • Type RawValidationError was removed (#6264)

v1.10.1-rc.0

08 Aug 11:19
Compare
Choose a tag to compare
v1.10.1-rc.0 Pre-release
Pre-release

Fixed

  • Builds fixed by updating all typescript versions to 4.9.5 (#6238)
  • ABI encoding for large negative ints (#6239)
  • Updated type file for submitWork parameters, accepts 3 parameters instead of an array (#5200)

Changed

  • Replace ethereumjs-util with @ethereumjs/util (#6283)