Skip to content

Releases: web3/web3.js

v1.9.0-rc.0

07 Mar 16:42
c564ebe
Compare
Choose a tag to compare
v1.9.0-rc.0 Pre-release
Pre-release

Fixed

  • Fixed skipped ws-ganache tests (#5759)
  • Fixed "provider started to reconnect error" in web3-provider-ws (#5820)
  • Fixed Error: Number can only safely store up to 53 bits (#5845)
  • Fixed types for packages which have default exports but not declared default export in .d.ts (#5866)
  • Fixed Transaction type by adding missing properties (#5856)

Changed

  • Add optional hexFormat param to getTransaction and getBlock that accepts the value 'hex' (#5845)
  • utils.toNumber and utils.hexToNumber can now return the large unsafe numbers as BigInt, if true was passed to a new optional parameter called bigIntOnOverflow (#5845)
  • Updated @types/bn.js dependency to 5.1.1 in web3, web3-core and web3-eth-contract as reason mentioned in #5640 (#5885)
  • Add description to error for failed connection on websocket (#5884)

Security

  • Updated dependencies (#5885)

v1.8.2

30 Jan 17:05
5442ce9
Compare
Choose a tag to compare

Changed

  • Updated Webpack 4 to Webpack 5, more details at (#5629)
  • crypto-browserify module is now used only in webpack builds for polyfilling browsers (#5629)
  • Updated ethereumjs-util to 7.1.5 (#5629)
  • Updated lerna 4 to version 6 (#5680)
  • Bump utils 0.12.0 to 0.12.5 (#5691)

Fixed

  • Fixed types for web3.utils._jsonInterfaceMethodToString (#5550)
  • Fixed Next.js builds failing on Node.js v16, Abortcontroller added if it doesn't exist globally (#5601)
  • Builds fixed by updating all typescript versions to 4.1 (#5675)

Removed

  • clean-webpack-plugin has been removed from dev-dependencies (#5629)

Added

  • https-browserify, process, stream-browserify, stream-http, crypto-browserify added to dev-dependencies for polyfilling (#5629)
  • Add readable-stream to dev-dependancies for webpack (#5629)

Security

  • npm audit fix for libraries update (#5726)

v4.0.1-alpha.5

14 Jan 02:08
Compare
Choose a tag to compare
v4.0.1-alpha.5 Pre-release
Pre-release

[4.0.1-alpha.5]

Removed

web3

  • build entry from package.json (#5755)

web3-validator

  • build entry from package.json (#5755)

Changed

web3-core

  • web3.js dependencies (#5757)

web3-errors

  • web3.js dependencies (#5757)

web3-eth

  • web3.js dependencies (#5757)

web3-eth-abi

  • web3.js dependencies (#5757)

web3-eth-accounts

  • web3.js dependencies (#5757)

web3-eth-contract

  • web3.js dependencies (#5757)

web3-eth-ens

  • web3.js dependencies (#5757)

web3-eth-iban

  • web3.js dependencies (#5757)

web3-eth-personal

  • web3.js dependencies (#5757)

web3-eth-net

  • web3.js dependencies (#5757)

web3-providers-http

  • web3.js dependencies (#5757)

web3-providers-ipc

  • web3.js dependencies (#5757)

web3-providers-ws

  • web3.js dependencies (#5757)

web3-rpc-methods

  • web3.js dependencies (#5757)

web3-utils

  • web3.js dependencies (#5757)

Fixed

web3-eth

  • Enable transaction with local wallet index in the to field (#5731)

Added

web3-types

  • Add TransactionWithFromLocalWalletIndex, TransactionWithToLocalWalletIndex and TransactionWithFromAndToLocalWalletIndex types (#5731)

v4.0.1-alpha.4

12 Jan 01:33
Compare
Choose a tag to compare
v4.0.1-alpha.4 Pre-release
Pre-release

Changed

web3

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-core

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-errors

  • main and files entries in package.json changed to lib/ directory from dist/ (#5739)

web3-eth

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-eth-abi

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-eth-accounts

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-eth-contract

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-eth-ens

  • main and files entries in package.json changed to lib/ directory from dist/ (#5739)

web3-eth-iban

  • main and files entries in package.json changed to lib/ directory from dist/ (#5739)

web3-eth-personal

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-net

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-providers-http

  • main and files entries in package.json changed to lib/ directory from dist/ (#5739)

web3-providers-ipc

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-providers-ws

  • main and files entries in package.json changed to lib/ directory from dist/ (#5739)

web3-rpc-methods

  • main and files entries in package.json changed to lib/ directory from dist/ (#5739)

web3-types

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-utils

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-validator

  • tsc compiled files moved to lib/ directory from dist/ (#5739)

web3-providers-ipc

  • Refactor to use common SocketProvider class (#5683)

web3-providers-ws

  • Refactor to use common SocketProvider class (#5683)

web3-utils

  • Add SocketProvider class and Eip1193Provider abstract class (#5683)

web3-types

  • These types were added: ProviderRpcError, EthSubscription, ProviderMessage, ProviderConnectInfo (#5683)

v1.8.2-rc.0

11 Jan 12:48
ad2c90f
Compare
Choose a tag to compare
v1.8.2-rc.0 Pre-release
Pre-release

Changed

  • Updated Webpack 4 to Webpack 5, more details at (#5629)
  • crypto-browserify module is now used only in webpack builds for polyfilling browsers (#5629)
  • Updated ethereumjs-util to 7.1.5 (#5629)
  • Updated lerna 4 to version 6 (#5680)
  • Bump utils 0.12.0 to 0.12.5 (#5691)

Fixed

  • Fixed types for web3.utils._jsonInterfaceMethodToString (#5550)
  • Fixed Next.js builds failing on Node.js v16, Abortcontroller added if it doesn't exist globally (#5601)
  • Builds fixed by updating all typescript versions to 4.1 (#5675)

Removed

  • clean-webpack-plugin has been removed from dev-dependencies (#5629)

Added

  • https-browserify, process, stream-browserify, stream-http, crypto-browserify added to dev-dependencies for polyfilling (#5629)
  • Add readable-stream to dev-dependancies for webpack (#5629)

Security

  • npm audit fix for libraries update (#5726)

v4.0.1-alpha.3

05 Jan 00:13
65cdda8
Compare
Choose a tag to compare
v4.0.1-alpha.3 Pre-release
Pre-release

Fixed

web3-validator

  • Fix issue when importing web3-validator package within browser environments (Webpack minified filename changed from index.min.js to web3-validator.min.js) (#5710)
  • Fix build error '"type"' does not satisfy the constraint (#5712)

web3-eth-abi

  • Parameters decoding error for nested components (#5714)

v4.0.1-alpha.2

08 Dec 19:16
Compare
Choose a tag to compare
v4.0.1-alpha.2 Pre-release
Pre-release

Added

web3-eth-contract

  • Decoding error data, using Error ABI if available, if error was returned from a smart contract function call (#5662).

web3-types

  • These types were moved from web3-eth-accounts to web3-types package: Cipher, CipherOptions, ScryptParams, PBKDF2SHA256Params, KeyStore (#5581 )

web3-utils

  • Export a new function uuidV4 that generates a random v4 Uuid (#5373).
  • Enable passing a starting number, to increment based on it, for the Json Rpc Request id (#5652).
  • Export a new function isPromise that checks if an object is a promise (#5652).

web3-eth-contract

  • SpecialOutput type was added as a generic type into the call function to support reassigning output types (#5631)
  • Overloaded functions types (ContractOverloadedMethodInputs, ContractOverloadedMethodOutputs) was added (#5631)

Fixed

web3-eth-contract

  • Emit past contract events based on fromBlock when passed to contract.events.someEventName (#5201)
  • Use different types for ContractOptions -> jsonInterface setter and getter (#5474)
  • An issue within the Contract constructor where provider wasn't being set when provided within the optionsOrContextOrReturnFormat argument (#5669)

web3-types

  • Make the request method of EIP1193Provider class, compatible with EIP 1193 (#5591)

web3-utils

  • Use Uuid for the response id, to fix the issue "Responses get mixed up due to conflicting payload IDs" (#5373).

web3-validator

  • Fix isHexreturning false for -123, fix isHexStrict returning true for -0x, and fix isHex returning true for empty strings `` (#5373).

web3-eth-abi

  • Fix ContractMethodOutputParameters type to support output object types by index and string key. Also, it returns void if ABI doesn't have outputs and returns exactly one type if the output array has only one element. (#5631)

Removed

web3-eth-accounts

  • These types were moved from web3-eth-accounts to web3-types package: Cipher, CipherOptions, ScryptParams, PBKDF2SHA256Params, KeyStore (#5581 )

v1.8.1

10 Nov 15:15
65d27a5
Compare
Choose a tag to compare

Fixed

  • Fixed types for getPastEvents (#4955) (#5260)
  • Fix Log type by adding missing removed property (#4877)

Changed

  • Updated dependencies (#5529)

v4.0.1-alpha.1

03 Nov 17:26
a754e3a
Compare
Choose a tag to compare
v4.0.1-alpha.1 Pre-release
Pre-release

Added

web3-core

  • If the response error was execution reverted, raise ContractExecutionError and pass the response error to it in order to be set as innerError (this innerError will be decoded at web3-eth-contract if its ABI was provided according to EIP-838). (#5434)
  • Added a new configuration variable enableExperimentalFeatures. (#5481)
  • registerPlugin method to Web3Context (#5393)
  • Web3PluginBase exported abstract class (#5393)
  • Web3EthPluginBase exported abstract class (#5393)

web3-error

  • Add optional innerError property to the abstract class Web3Error. This innerError could be Error, Error[] or undefined. (#5435) (#5434)
  • The class Web3ContractError is moved to this package from web3-eth-contract. (#5434)
  • Added the error code ERR_TX_SIGNING and used it inside TransactionSigningError (#5462)
  • Added the error code ERR_TX_GAS_MISMATCH and used it inside TransactionGasMismatchError (#5462)
  • Added SignatureError to web3-errors/src/errors/signature_errors.ts (moved from web3-eth/src/errors.ts) (#5462)
  • Added the errors' classes to web3-errors/src/errors/transaction_errors.ts from web3-eth/src/errors.ts (#5462)
  • Added TransactionBlockTimeoutError class and its error code ERR_TX_BLOCK_TIMEOUT (#5294)
  • ExistingPluginNamespaceError class and it's error code ERR_EXISTING_PLUGIN_NAMESPACE (#5393)

web3-eth

  • web3-rpc-methods dependency (#5441)
  • Added chain and hardfork validation for transaction and transaction.common object in validateTransactionForSigning

web3-eth-abi

  • If an error happens when decoding a value, preserve that exception at innerError inside the error class AbiError. (#5435)
  • Add basic functionality that is used, by web3-eth-contract, when decoding error data according to EIP-838. (#5434)

web3-eth-contract

  • Decoding error data, using Error ABI if available, according to EIP-838. (#5434)
  • The class Web3ContractError is moved from this package to web3-error. (#5434)

web3-plugin-example

  • Example plugin for wrapping contract methods to provide custom functionality (#5393)
  • Example plugin for custom RPC methods using the requestManager (#5393)

web3-utils

  • Added and exported three reusable utility functions: pollTillDefined, rejectIfTimeout and rejectIfConditionAtInterval which are useful when dealing with promises that involves polling, rejecting after timeout or rejecting if a condition was met when calling repeatably at every time intervals.

web3-eth-personal

  • web3-rpc-methods dependency (#5441)

web3-eth-net

  • web3-rpc-methods dependency (#5441)

web3-providers-ipc

  • Show error message and return dummy promise if socket is not writable (#5294)

web3-rpc-methods

  • web3-rpc-methods package added

web3-types

  • Web3EthExecutionAPI export (#5441)
  • Web3NetAPI export (#5441)
  • EthPersonalAPI export (#5441)

Changed

web3-core

  • Default value for API generic for Web3ContextObject from any to unknown (#5393)
  • Default value for API generic for Web3ContextInitOptions from any to unknown (#5393)
  • Added validation when defaultHardfork and defaultCommon.hardfork are different in web3config
  • Added validation when defaultChain and defaultCommon.basechain are different in web3config
  • Added a new configuration variable enableExperimentalFeatures. (#5481)

web3-error

  • Moved SignerError from web3-errors/src/errors/signature_errors.ts to web3-errors/src/errors/transaction_errors.ts, and renamed it to TransactionSigningError (#5462)
  • Corrected the error code for JSONRPC_ERR_UNAUTHORIZED to be 4100 (#5462)

web3-eth

  • Web3EthExecutionAPI is now imported via web3-types instead of web3_eth_execution_api.ts (#5441)
  • Replace the imported methods from rpc_methods.ts with ethRpcMethods imports from web3-rpc-methods (#5441)
  • Web3NetAPI is now imported from web3-types instead of web3-net (#5441)
  • Moved rpc_methods tests to web3-rpc-methods (#5441)
  • Implemented the logic for transactionBlockTimeout (#5294)
  • Use subscription at rejectIfBlockTimeout when the provider supports subscription. Implement this as an experimental feature (if useSubscriptionWhenCheckingBlockTimeout at enableExperimentalFeatures is true). (#5481)
  • At some test cases, optimized some codes. (#5481)

web3-eth-accounts

  • signTransaction and privateKeyToAccount will throw TransactionSigningError instead of SignerError now (#5462)

web3-eth-ens

  • Web3NetAPI is now imported from web3-types instead of web3-net (#5441)

web3-eth-personal

  • Import EthPersonalAPI from web3-types instead of local import (#5441)
  • Replace the imported methods from rcp_methods.ts with personalRpcMethods imports from web3-rpc-methods (#5441)
  • Replace use of EthPersonalAPIManager with Web3RequestManager<EthPersonalAPI> (#5441)

web3-eth-net

  • Web3NetAPI is now imported from web3-types instead of web3_net_api.ts (#5441)
  • Replace the imported methods from rpc_methods.ts with netRpcMethods imports from web3-rpc-methods (#5441)

web3-types

  • Web3APISpec, Web3APIMethod, and Web3APIParams now supports unknown APIs (#5393)

Fixed

web3-error

  • Corrected the error code for JSONRPC_ERR_UNAUTHORIZED to be 4100 (#5462)

web3-eth

web3-eth-contract

  • According to the latest change in web3-eth-abi, the decoded values of the large numbers, returned from function calls or events, are now available as BigInt. (#5435)

web3-eth-abi

  • Return BigInt instead of string when decoding function parameters for large numbers, such as uint256. (#5435)

web3-types

  • Web3APISpec, Web3APIMethod, and Web3APIParams now supports unknown APIs (#5393)

Removed

web3-eth

  • Moved the errors' classes from web3-eth/src/errors.ts to web3-errors/src/errors/transaction_errors.ts (#5462)

web3-eth-personal

  • Exported type EthPersonalAPIManager, EthPersonalAPI is not exported via web3-types (#5441)

web3-eth-net

  • rpcMethods export, these methods are now exported via web3-rpc-methods as netRpcMethods (#5441)
  • Web3NetAPI export, now exported via web3-types as Web3NetAPI (#5441)

web3-validator

  • Removed direct function toJSON() in Web3ValidatorError class as its available via base class (#5435)

v1.8.1-rc.0

28 Oct 13:41
Compare
Choose a tag to compare
v1.8.1-rc.0 Pre-release
Pre-release

Fixed

  • Fixed types for getPastEvents (#4955) (#5260)
  • Fix Log type by adding missing removed property (#4877)

Changed

  • Updated dependencies (#5529)