spesmilo / electrum

Electrum Bitcoin Wallet
https://electrum.org
MIT License
7.45k stars 3.09k forks source link

protobuf breaking changes between 3.20.x and 4.21 (4.x) #7922

Open SomberNight opened 2 years ago

SomberNight commented 2 years ago

Google made breaking changes in protobuf (see e.g. here), in the generation and parsing of _pb2.py generated files.

Re the python protobuf package, the 3.20.1 release is followed by the 4.21.1 release.

AFAICT protoc >=3.19 generates _pb2.py files in the new format, while older protoc generates the old format. AFAICT

We rely on protobuf to parse _pb2.py files at runtime:


rt121212121 commented 2 years ago

I emailed KeepKey a year or so ago and asked if they could update the PyPI package. Their reply was that they had nothing to do with the Python package and to use Github 🤷‍♂️

SomberNight commented 2 years ago

If they don't have the keys to the PyPI package due to changing maintainers or some other reason, they should release a new package under a different name. Alternatively we might accept a PR that makes python-keepkey a git submodule in this repo. Otherwise I am considering removing the plugin...

SomberNight commented 1 year ago

Switched to new format for our own paymentrequest_pb2.py in https://github.com/spesmilo/electrum/commit/4f9469b7894d0e237beaabd62a2b8a6153f6dcdb.

Something needs to be done with keepkey so that we can drop the protobuf<4 upper bound pin.