Closed
Description
Now that v5 stable is out, it's time to start collecting a list of breaking changes that we might like to see in v6. I'll update this issue as they come up.
Outstanding breaking tasks:
- Python 3.11 Support - Python 3.11 Support #2699
- Remove Infura auto provider logic from within web3
and make a template for new auto providers to use. See issue Autoprovider repo template #1736(Remove auto provider except for local geth dev #2706) - Remove
SolidityError
in favor of the more genericContractLogicError
. See issue Remove SolidityError #1901 - Remove camelCase function names in favor of snake_case. See Snake case remaining main API methods and properties #2598
- Remove Parity module (via Remove parity namespace and refs #2718)
- Remove version module (see Remove version module #2729)
- Make ipfshttpclient opt-in. (See Make
ipfshhtpclient
an optional library / backend for ethpm #2730 which closes ipfshttpclient is unmaintained #2629) - Remove
start_rpc
andstop_rpc
fromgeth.admin
module (see Remove deprecatedstart_rpc
andstop_rpc
fromw3.geth.admin
module #2731) - Standardize
apply_formatter_to_array
functions. See Standardizeapply_formatter_to_array
#1902 - Custom web3py exceptions inherit from Web3Exception. See Add Web3Exception to all exception classes #1478
- Enable strict bytes length checking by default. See issue Flag for Stricter ABI Type Checking #1419 and soliditySha parameter encoding issue #1154.
- Don't allow users to pass bytestrings to contract functions if the bytestring is the wrong length. As it stands, if a bytestring is shorter than the required length, we pad it. If it is longer, we throw an error. See issue Enable strict byte length checking by default #1903.
- Raise specific web3 error rather than
ValueError
when method isn't available on the node: Raise custom exception instead of ValueError when a method is unavailable at the node #2448 - Standardize default value for block_identifier in eth.call and ContractFunctions.call. Change made in contract.call() block_identifier default change #2335 already, just needs tests.
- Opt in or out of
dict
toAttributeDict
conversion via middleware choice. See Typing of AttributeDict return values is broken #1656. - Rich tuple decoder Add rich tuple decoder #1353
- Clean up Async typing
shouldn't be breaking:
- Clean up AsyncHTTPProvider instantiation. - See Clean up
AsyncHTTPProvider
instantiation #2736 - Rearrange
web3/eth.py
into separate file. See Organize eth module as separate files #2753 - Remove dependency upper limits - Remove dep upper pins #2648
- Rearrange
contract.py
into separate files. See reorganized contract #2567 - v6 Migration Guide
Metadata
Metadata
Assignees
Labels
No labels