| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2,6 +2,24 @@ | |||
| 2 | 2 | ||
| 3 | 3 | <!-- version list --> | |
| 4 | 4 | ||
| 5 | + ## v0.151.5 (2026-09-28) | ||
| 6 | + | ||
| 7 | + ### Bug Fixes | ||
| 8 | + | ||
| 9 | + - Build only the sdist in the release job | ||
| 10 | + ([#1921](https://github.com/python-zeroconf/python-zeroconf/pull/1921), | ||
| 11 | + [`1d939f4`](https://github.com/python-zeroconf/python-zeroconf/commit/1d939f471f045a2e4a5d44cfe35cf4f61e55c5ba)) | ||
| 12 | + | ||
| 13 | + | ||
| 14 | + ## v0.151.4 (2026-09-28) | ||
| 15 | + | ||
| 16 | + ### Bug Fixes | ||
| 17 | + | ||
| 18 | + - Skip adapter scan for interface lists with no IPv6 entries | ||
| 19 | + ([#1919](https://github.com/python-zeroconf/python-zeroconf/pull/1919), | ||
| 20 | + [`47ec4ba`](https://github.com/python-zeroconf/python-zeroconf/commit/47ec4bab70d548503b937ba357f160eebfa2af1f)) | ||
| 21 | + | ||
| 22 | + | ||
| 5 | 23 | ## v0.151.3 (2026-08-30) | |
| 6 | 24 | ||
| 7 | 25 | ### Bug Fixes | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -12,31 +12,32 @@ contributions are covered by the license notice posted on every pull | |||
| 12 | 12 | request, and blame will be re-verified against consent dates before any | |
| 13 | 13 | switch. Nothing already released changes license. | |
| 14 | 14 | ||
| 15 | - | GitHub login | Git author name | Consent | Date (UTC) | | ||
| 16 | - | ------------- | ------------------- | ------------------------------------------------------------------------------------------------- | ---------- | | ||
| 17 | - | @bdraco | J. Nick Koston | maintainer, relicense initiator | 2026-08-28 | | ||
| 18 | - | @stevencrader | Steven Crader | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5458645316) | 2026-08-28 | | ||
| 19 | - | @bboe | Bryce Boe | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5458732025) | 2026-08-28 | | ||
| 20 | - | @rima1881 | Amir | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5458753986) | 2026-08-28 | | ||
| 21 | - | @jpbede | Jan-Philipp Benecke | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5460526155) | 2026-08-29 | | ||
| 22 | - | @jstasiak | Jakub Stasiak | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5462270134) | 2026-08-29 | | ||
| 23 | - | @Rotzbua | Rotzbua | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5462300621) | 2026-08-29 | | ||
| 24 | - | @ibygrave | ibygrave | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5463209000) | 2026-08-29 | | ||
| 25 | - | @bachp | Pascal Bach | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5464361992) | 2026-08-29 | | ||
| 26 | - | @cdce8p | Marc Mueller | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5464917296) | 2026-08-29 | | ||
| 27 | - | @agners | Stefan Agner | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5465371892) | 2026-08-29 | | ||
| 28 | - | @devbanu | Alexandru Ciobanu | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5466504402) | 2026-08-30 | | ||
| 29 | - | @marcosdiez | Marcos Diez | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467084050) | 2026-08-30 | | ||
| 30 | - | @pawlizio | Paul Daumlechner | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467104893) | 2026-08-30 | | ||
| 31 | - | @schmittner | Milan Stute | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467166859) | 2026-08-30 | | ||
| 32 | - | @che0 | Petr Novák | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467942853) | 2026-08-30 | | ||
| 33 | - | @xandey | Sandy Patterson | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5469168708) | 2026-08-30 | | ||
| 34 | - | @smcv | Simon McVittie | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5469536878) | 2026-08-30 | | ||
| 35 | - | @mattsaxon | mattsaxon | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5478214834) | 2026-08-31 | | ||
| 36 | - | @nocarryr | nocarryr | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5486821065) | 2026-09-01 | | ||
| 37 | - | @ZLJasonG | ZLJasonG | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5568109941) | 2026-09-07 | | ||
| 38 | - | @jmpcm | Jorge Miranda | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5568628585) | 2026-09-07 | | ||
| 39 | - | @dtantsur | Dmitry Tantsur | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5573907204) | 2026-09-07 | | ||
| 15 | + | GitHub login | Git author name | Consent | Date (UTC) | | ||
| 16 | + | --------------- | ------------------- | ------------------------------------------------------------------------------------------------- | ---------- | | ||
| 17 | + | @bdraco | J. Nick Koston | maintainer, relicense initiator | 2026-08-28 | | ||
| 18 | + | @stevencrader | Steven Crader | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5458645316) | 2026-08-28 | | ||
| 19 | + | @bboe | Bryce Boe | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5458732025) | 2026-08-28 | | ||
| 20 | + | @rima1881 | Amir | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5458753986) | 2026-08-28 | | ||
| 21 | + | @jpbede | Jan-Philipp Benecke | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5460526155) | 2026-08-29 | | ||
| 22 | + | @jstasiak | Jakub Stasiak | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5462270134) | 2026-08-29 | | ||
| 23 | + | @Rotzbua | Rotzbua | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5462300621) | 2026-08-29 | | ||
| 24 | + | @ibygrave | ibygrave | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5463209000) | 2026-08-29 | | ||
| 25 | + | @bachp | Pascal Bach | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5464361992) | 2026-08-29 | | ||
| 26 | + | @cdce8p | Marc Mueller | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5464917296) | 2026-08-29 | | ||
| 27 | + | @agners | Stefan Agner | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5465371892) | 2026-08-29 | | ||
| 28 | + | @devbanu | Alexandru Ciobanu | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5466504402) | 2026-08-30 | | ||
| 29 | + | @marcosdiez | Marcos Diez | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467084050) | 2026-08-30 | | ||
| 30 | + | @pawlizio | Paul Daumlechner | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467104893) | 2026-08-30 | | ||
| 31 | + | @schmittner | Milan Stute | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467166859) | 2026-08-30 | | ||
| 32 | + | @che0 | Petr Novák | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5467942853) | 2026-08-30 | | ||
| 33 | + | @xandey | Sandy Patterson | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5469168708) | 2026-08-30 | | ||
| 34 | + | @smcv | Simon McVittie | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5469536878) | 2026-08-30 | | ||
| 35 | + | @mattsaxon | mattsaxon | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5478214834) | 2026-08-31 | | ||
| 36 | + | @nocarryr | nocarryr | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5486821065) | 2026-09-01 | | ||
| 37 | + | @ZLJasonG | ZLJasonG | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5568109941) | 2026-09-07 | | ||
| 38 | + | @jmpcm | Jorge Miranda | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5568628585) | 2026-09-07 | | ||
| 39 | + | @dtantsur | Dmitry Tantsur | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5573907204) | 2026-09-07 | | ||
| 40 | + | @jacobtomlinson | Jacob Tomlinson | [comment](https://github.com/python-zeroconf/python-zeroconf/issues/1835#issuecomment-5730191033) | 2026-09-18 | | ||
| 40 | 41 | ||
| 41 | 42 | <details><summary>Commit email mapping (click to expand)</summary> | |
| 42 | 43 | ||
@@ -63,5 +64,6 @@ switch. Nothing already released changes license. | |||
| 63 | 64 | - @ZLJasonG: 36852337+ZLJasonG@users.noreply.github.com | |
| 64 | 65 | - @jmpcm: jorge.miguel.miranda@gmail.com | |
| 65 | 66 | - @dtantsur: divius.inside@gmail.com, dtantsur@protonmail.com | |
| 67 | + - @jacobtomlinson: jacobtomlinson@users.noreply.github.com | ||
| 66 | 68 | ||
| 67 | 69 | </details> | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" | |||
| 4 | 4 | ||
| 5 | 5 | [project] | |
| 6 | 6 | name = "zeroconf" | |
| 7 | - version = "0.151.3" | ||
| 7 | + version = "0.151.5" | ||
| 8 | 8 | license = "LGPL-2.1-or-later" | |
| 9 | 9 | description = "A pure python implementation of multicast DNS service discovery" | |
| 10 | 10 | readme = "README.rst" | |
@@ -56,7 +56,7 @@ version_toml = ["pyproject.toml:project.version"] | |||
| 56 | 56 | version_variables = [ | |
| 57 | 57 | "src/zeroconf/__init__.py:__version__" | |
| 58 | 58 | ] | |
| 59 | - build_command = "pip install poetry && poetry build" | ||
| 59 | + build_command = "pip install poetry && poetry build --format sdist" | ||
| 60 | 60 | tag_format = "{version}" | |
| 61 | 61 | allow_zero_version = true | |
| 62 | 62 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -73,7 +73,7 @@ | |||
| 73 | 73 | ||
| 74 | 74 | __author__ = "The python-zeroconf authors" # full history in COPYING and git | |
| 75 | 75 | __maintainer__ = "J. Nick Koston <nick@koston.org>" | |
| 76 | - __version__ = "0.151.3" | ||
| 76 | + __version__ = "0.151.5" | ||
| 77 | 77 | __license__ = "LGPL" | |
| 78 | 78 | ||
| 79 | 79 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -126,13 +126,21 @@ def ip6_addresses_to_indexes( | |||
| 126 | 126 | :param interfaces: List of IP addresses and indexes. | |
| 127 | 127 | :returns: List of indexes. | |
| 128 | 128 | """ | |
| 129 | - result = [] | ||
| 129 | + result: list[tuple[tuple[str, int, int], int]] = [] | ||
| 130 | + needs_scan = [ | ||
| 131 | + iface | ||
| 132 | + for iface in interfaces | ||
| 133 | + if isinstance(iface, int) or (isinstance(iface, str) and ipaddress.ip_address(iface).version == 6) | ||
| 134 | + ] | ||
| 135 | + if not needs_scan: | ||
| 136 | + return result | ||
| 137 | + | ||
| 130 | 138 | adapters = ifaddr.get_adapters() | |
| 131 | 139 | ||
| 132 | - for iface in interfaces: | ||
| 140 | + for iface in needs_scan: | ||
| 133 | 141 | if isinstance(iface, int): | |
| 134 | 142 | result.append((interface_index_to_ip6_address(adapters, iface), iface)) # type: ignore[arg-type] | |
| 135 | - elif isinstance(iface, str) and ipaddress.ip_address(iface).version == 6: | ||
| 143 | + else: | ||
| 136 | 144 | result.append(ip6_to_address_and_index(adapters, iface)) # type: ignore[arg-type] | |
| 137 | 145 | ||
| 138 | 146 | return result | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -118,6 +118,35 @@ def test_ip6_addresses_to_indexes(): | |||
| 118 | 118 | assert netutils.ip6_addresses_to_indexes(interfaces_2) == [(("2001:db8::", 1, 1), 1)] | |
| 119 | 119 | ||
| 120 | 120 | ||
| 121 | + @pytest.mark.parametrize("interfaces", [[], ["192.168.1.5"], ["192.168.1.5", "169.254.3.2"]]) | ||
| 122 | + def test_ip6_addresses_to_indexes_skips_scan_without_ipv6(interfaces: list[str]) -> None: | ||
| 123 | + """Test the adapters are not scanned when there are no IPv6 entries.""" | ||
| 124 | + with patch("zeroconf._utils.net.ifaddr.get_adapters") as mock_get_adapters: | ||
| 125 | + assert netutils.ip6_addresses_to_indexes(interfaces) == [] | ||
| 126 | + mock_get_adapters.assert_not_called() | ||
| 127 | + | ||
| 128 | + | ||
| 129 | + def test_ip6_addresses_to_indexes_scans_once() -> None: | ||
| 130 | + """Test the adapters are scanned once for a mixed list.""" | ||
| 131 | + with patch( | ||
| 132 | + "zeroconf._utils.net.ifaddr.get_adapters", | ||
| 133 | + return_value=_generate_mock_adapters(), | ||
| 134 | + ) as mock_get_adapters: | ||
| 135 | + assert netutils.ip6_addresses_to_indexes(["192.168.1.5", "2001:db8::", 1, "fd00:db8::"]) == [ | ||
| 136 | + (("2001:db8::", 1, 1), 1), | ||
| 137 | + (("2001:db8::", 1, 1), 1), | ||
| 138 | + (("fd00:db8::", 1, 1), 1), | ||
| 139 | + ] | ||
| 140 | + mock_get_adapters.assert_called_once() | ||
| 141 | + | ||
| 142 | + | ||
| 143 | + def test_normalize_interface_choice_ipv4_list_skips_scan() -> None: | ||
| 144 | + """Test an IPv4 only list is normalized without scanning the adapters.""" | ||
| 145 | + with patch("zeroconf._utils.net.ifaddr.get_adapters") as mock_get_adapters: | ||
| 146 | + assert netutils.normalize_interface_choice(["192.168.1.5"]) == ["192.168.1.5"] | ||
| 147 | + mock_get_adapters.assert_not_called() | ||
| 148 | + | ||
| 149 | + | ||
| 121 | 150 | def test_normalize_interface_choice_errors(): | |
| 122 | 151 | """Test we generate exception on invalid input.""" | |
| 123 | 152 | with ( | |
| Back | FazBrowse Home | New Git URL |
0 commit comments