Skip to content

Releases: web3/web3.js

v4.1.2

19 Sep 14:01
2543fd1
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
813860d
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
f2665c7
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
af3bad1
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
2e62b53
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
2eacd4b
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
b8b9d74
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)

v4.0.3

11 Jul 14:48
bce9a8b
Compare
Choose a tag to compare

Fixed

web3

  • Fixed bug #6236 by adding personal type in web3.eth (#6245)

web3-rpc-methods

web3-types

  • type Filter includes blockHash (#6206)

web3-utils

  • BigInts pass validation within the method numberToHex (#6206)

Changed

web3-core

  • Dependencies updated

web3-errors

  • Dependencies updated

web3-eth

  • Dependencies updated

web3-eth-abi

  • Dependencies updated

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-providers-ws

  • Dependencies updated

web3-validator

  • Dependencies updated

v4.0.2

27 Jun 12:03
47583e7
Compare
Choose a tag to compare

Fixed

web3

  • Fixed bug #6185, now web3.js compiles on typescript v5 (#6195)
  • Fixed #6162 @types/ws issue (#6205)

web3-core

  • Fixed Batch requests erroring out on one request (#6164)
  • Fixed the issue: Subscribing to multiple blockchain events causes every listener to be fired for every registered event (#6210)
  • Fixed the issue: Unsubscribe at a Web3Subscription class will still have the id of the subscription at the Web3SubscriptionManager (#6210)
  • Fixed the issue: A call to the provider is made for every subscription object (#6210)

web3-eth-abi

  • Support for "decoding" indexed string event arguments (returns the keccak256 hash of the string value instead of the actual string value) (#6167)

web3-eth-accounts

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

web3-eth-contract

  • Event filtering using non-indexed and indexed string event arguments (#6167)

web3-eth-ens

  • Fixed bug #6185, now web3.js compiles on typescript v5 (#6195)

web3-providers-ws

web3-types

  • Fixed bug #6185, now web3.js compiles on typescript v5 (#6195)

Added

web3

  • Exported Web3Context, Web3PluginBase, Web3EthPluginBase from 'web3-core', and Web3Validator from 'web3-validator' (#6165)

web3-core

  • Web3Subscription constructor accept a Subscription Manager (as an alternative to accepting Request Manager that is now marked marked as deprecated) (#6210)

web3-types

  • Added the SimpleProvider interface which has only request(args) method that is compatible with EIP-1193 (#6210)
  • Added the Eip1193EventName type that contains the possible events names according to EIP-1193 (#6210)

Changed

web3-core

  • Web3Subscription constructor overloading that accept a Request Manager is marked as deprecated (#6210)

web3-errors

  • Dependencies updated

web3-eth

  • 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-rpc-methods

  • Dependencies updated

web3-types

  • The EIP1193Provider class has now all the events (for on and removeListener) according to EIP-1193 (#6210)

web3-utils

  • Dependencies updated

web3-validator

  • Dependencies updated

v4.0.1

07 Jun 14:10
5b5bf87
Compare
Choose a tag to compare

Web3.js 4.0.1 is written in TypeScript and has many exciting features such as:

  • Easy extensibility ( with web3 Plugins feature. example: Chainlink Plugin )
  • In compliance with ETH EL Specification
  • Dynamic Contract Typing
  • Native typescript
  • ESM CJS native builds
  • 85%+ test coverage
  • Custom data formatting feature
  • Reduced package size
  • New packages ( web3-types, web3-errors, web3-validator, web3-rpc-methods )
  • Validation functionality using schema

Documentation:

Detailed List of changes are mentioned under:

If there are any bugs, improvements, optimizations or any new feature proposal feel free to create github issue, or post a pull request for contributions.