-
-
Notifications
You must be signed in to change notification settings - Fork 33.8k
Upgrade zeroconf to 0.27 8000 .1 #36277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade zeroconf to 0.27.1 #36277
Conversation
Hey there @robbiet480, @Kane610, mind taking a look at this pull request as its been labeled with a integration ( |
@bdraco Thanks for the heads up! |
Verified the spurious warning is fixed in 0.27.1 |
So dyson, soundtouch, aiohomekit, miio, pyvizio, all load zeroconf as well so this needs to go in setup.py instead I think but that seems like we should not do in beta. |
Are these all integrations that use zeroconf discovery? Should we update the validation. We explicitly allow referencing zeroconf without having it in after_deps: https://github.com/home-assistant/core/blob/dev/script/hassfest/dependencies.py#L163-L166 |
Actually, that hassfest check is accompanied with automatic dependency management: When we install requirements, we actually automatically mark |
Its all the integrations that import zeroconf that could load it before its updated. Many of them don't actually use zeroconf directly because of how they are integrated, but it doesn't stop them from importing. |
So The logic in hassfest is:
The setup logic is:
So that means that all integrations that are updated in this PR that already have |
I'm a bit confused here. For clarity, all of these integration are loading the python zeroconf pypi package via a dependency, not directly. |
Oh snap, I misunderstood. Okay my bad. |
I thought that the problem was that the latest zeroconf wasn't installed. That should not happen as long as they depend on zeroconf integration via deps, after_deps or use zeroconf discovery. |
Ok, so here is why this fixes things: The Now we install |
Restarting 3.7 test. Test failed without clear reason.
This was added in #36277 but is no longer needed since we setup discovery integrations ahead of time to ensure their deps are updated before other integrations can load them
* Remove zeroconf from ssdp after deps This was added in #36277 but is no longer needed since we setup discovery integrations ahead of time to ensure their deps are updated before other integrations can load them * adjust test
Add zeroconf as an explicit dependency to integrations that load it or load it in their deps. This ensures that zeroconf is updated without needing to restart twice.
Should also help https://community.home-assistant.io/t/python3-high-cpu-usage/160012/24
Changes
Fix for chromecast audio python-zeroconf/python-zeroconf#245
Other commits are minor sans the removal of the legacy address compat
python-zeroconf/python-zeroconf@ab72aa8
python-zeroconf/python-zeroconf@87a0fe2
python-zeroconf/python-zeroconf@488ee1e
python-zeroconf/python-zeroconf@178cec7
python-zeroconf/python-zeroconf@d881aba
python-zeroconf/python-zeroconf@beff998
python-zeroconf/python-zeroconf@10065b9
Remaining
Breaking change
There is a backwards incompatible change in 0.27
python-zeroconf/python-zeroconf@ab72aa8
The
address
argument has been removed, and theaddresses
must be used instead. Its been marked as deprecated for a while but we didn't noticed until it broke 🙉Example of the change needed
ikalchev/HAP-python#263
Discussion:
ikalchev/HAP-python#262
cc @emontnemery in case this causes problems for
cast
Proposed change
Type of change
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.The integration reached or maintains the following Integration Quality Scale: