feat: speed up adding and removing RecordUpdateListeners by bdraco · Pull Request #1253 · python-zeroconf/python-zeroconf
Listeners were stored in a list which meant a linear search had to happen to remove them. We add/remove these quite a bit when resolving a service, also ESPHome churns these quite a bit when a device is offline.
Technically breaking change: Zeroconf.listeners now returns a set instead of a list
Technically breaking change: ServiceInfo.__eq__ is now the default python implementation as it wasn't hashable otherwise and comparing on name was wrong since it wasn't case aware