- Reduce string conversion in CaseInsensitiveDict lookups (bdraco)
`get` was previously provided by the parent class which had to raise KeyError for missing values. Since try/except is only cheap for the non-exception case the performance was not good when the key was missing.
Similar to python/cpython106665 but in the HA case we call this even more frequently. (173) - Avoid looking up the local address each packet (bdraco)
The local addr will never change, we can set it when we set the transport. (174) - Avoid lower-casing already lowercased string (bdraco)
Use the upstr concept (in our case lowerstr) from multidict https://aiohttp-kxepal-test.readthedocs.io/en/latest/multidict.html#upstr (175) - Reduce memory footprint of CaseInsensitiveDict (bdraco) (177) - Avoid fetching time many times to purge devices (bdraco)
Calling SsdpDevice.locations is now a KeysView and no longer has the side effect of purging stale locations. We now use the _timestamp that was injected into the headers to avoid fetching time again. (178)
0.34.1
=====================================
Features --------
- Add an lru to get_adjusted_url (bdraco)
This function gets called every time we decode an SSDP packet and its usually the same data over and over (172)
0.34.0
=====================================
Features --------
- Support server event subscription (PhracturedBlue) (162) - UpnpServer supports returning plain values from server Actions (PhracturedBlue)
Note that the values are still coerced by its related UpnpStateVariable. (166) - Server supports deferred SSDP responses via MX header (PhracturedBlue) (168) - Support backwards compatible service/device types (PhracturedBlue) (169) - Enable servers to define custom routes (PhracturedBlue) (170) - Drop Python 3.7 support. (171)
0.33.2
=====================================
Features --------
- Handle negative values for the bytes/traffic counters in IGDs.
Some IGDs implement the counters as i4 (4 byte integer) instead of ui4 (unsigned 4 byte integer). This change tries to work around this by applying an offset of `2**31`. To access the original value, use the variables with a `_original` suffix. (157)
Bugfixes --------
- Now properly send ssdp:byebye when server is stopped. (158) - Fix indexing bug in cli parsing scope_id in IPv6 target (senarvi) (159)