ethereum / web3.py

A python interface for interacting with the Ethereum blockchain and ecosystem.
http://web3py.readthedocs.io
MIT License
4.97k stars 1.69k forks source link

``v7`` breaking changes megathread #2854

Closed fselmo closed 5 months ago

fselmo commented 1 year ago

Main thread for tracking breaking changes slated for the next major version release of web3.py - v7. This will be an evolving issue much like #1416 was for v6.

Candidates:

### Tasks
- [ ] https://github.com/ethereum/web3.py/issues/3105
- [ ] https://github.com/ethereum/web3.py/issues/3095
- [ ] https://github.com/ethereum/web3.py/issues/3210
- [ ] https://github.com/ethereum/web3.py/issues/3085
- [ ] https://github.com/ethereum/web3.py/issues/2844
- [ ] https://github.com/ethereum/web3.py/issues/3119
- [ ] https://github.com/ethereum/web3.py/issues/3241
- [ ] https://github.com/ethereum/web3.py/issues/3239
- [ ] https://github.com/ethereum/web3.py/issues/3240
- [ ] https://github.com/ethereum/web3.py/issues/715
- [ ] #2816
- [ ] #2685
- [ ] https://github.com/ethereum/web3.py/issues/3108
- [ ] https://github.com/ethereum/web3.py/issues/901
- [ ] https://github.com/ethereum/web3.py/issues/3175
- [ ] https://github.com/ethereum/web3.py/pull/2964
- [ ] https://github.com/ethereum/web3.py/issues/3188
- [ ] https://github.com/ethereum/web3.py/issues/3164
- [ ] https://github.com/ethereum/web3.py/issues/3032
- [ ] #2884
- [ ] https://github.com/ethereum/web3.py/issues/2995
- [ ] https://github.com/ethereum/web3.py/issues/3021
- [ ] https://github.com/ethereum/web3.py/issues/2990
kclowes commented 1 year ago

Return ipc path even if it doesn't yet exist. See #2911

pacrob commented 1 year ago

Remove the ethPM module, deprecated in #2953

kclowes commented 1 year ago

2964 - Change provider User-Agent header to be more readable.

kclowes commented 1 year ago

Better UX for provider-specific middlewares. See: https://github.com/ethereum/web3.py/issues/2770

edit: issue created (#2990)

reedsa commented 1 year ago

Remove the miner API, deprecated in #2856.

pacrob commented 1 year ago

Here, then upstream libs:

pacrob commented 1 year ago

AttributeDict updates #3105

pacrob commented 10 months ago

web3 v7 should set hexbytes>=1.0.0.

Bottom pins for our other libs should move up to at least the release that dropped py37 support

kclowes commented 8 months ago

Where possible, have all errors thrown inherit from Web3Exception, or ENSException. See #1864.

fselmo commented 7 months ago

I updated the task list to include all the commented items in this issue. We can try to add items to the task list in the future so we can keep track of what's done and what isn't.

fselmo commented 7 months ago

Return ipc path even if it doesn't yet exist. See #2911

@kclowes was this completed with the merging of #2911 ?

pacrob commented 7 months ago

Return ipc path even if it doesn't yet exist. See #2911

@kclowes was this completed with the merging of #2911 ?

Not done. Just needs the if exists part removed and return the path.

fselmo commented 5 months ago

All issues that were being tracked here are now completed and released as of 7.0.0-beta.5. There may be other changes added into v7 as we update the library to use newer major versions of dependencies but those can be tracked separately before stable gets released.

MathiasExorde commented 2 months ago

Can I see a link explaining the motivation for a major v7 changing lots of things?

fselmo commented 2 months ago

Can I see a link explaining the motivation for a major v7 changing lots of things?

Hey @MathiasExorde. Each issue here should have its own link, though the migration documentation provides a good summary of it all together. Most of the changes were quite small, though technically breaking. Those have to be aggregated and need to wait until the next major version cycle to be addressed. Some of the bigger changes, like the middleware moving to a class-based architecture, helped close out long-standing tickets such as the ability to batch requests which had been an open issue since 2018. Hope that helps.