diff --git a/homeassistant/loader.py b/homeassistant/loader.py index e186c5d24ba..fbbd4ad3ae6 100644 --- a/homeassistant/loader.py +++ b/homeassistant/loader.py @@ -322,6 +322,14 @@ class Integration: return integration _LOGGER.warning(CUSTOM_WARNING, integration.domain) + if integration.version is None: + _LOGGER.error( + "The custom integration '%s' does not have a " + "version key in the manifest file and was blocked from loading. " + "See https://developers.home-assistant.io/blog/2021/01/29/custom-integration-changes#versions for more details", + integration.domain, + ) + return None try: AwesomeVersion( integration.version, diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt index 4888193f6a9..05ec806654e 100644 --- a/homeassistant/package_constraints.txt +++ b/homeassistant/package_constraints.txt @@ -7,7 +7,7 @@ astral==2.2 async-upnp-client==0.20.0 async_timeout==3.0.1 attrs==21.2.0 -awesomeversion==21.4.0 +awesomeversion==21.8.1 backports.zoneinfo;python_version<"3.9" bcrypt==3.1.7 certifi>=2020.12.5 diff --git a/requirements.txt b/requirements.txt index 1ea8772728e..7f986750b81 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ aiohttp==3.7.4.post0 astral==2.2 async_timeout==3.0.1 attrs==21.2.0 -awesomeversion==21.4.0 +awesomeversion==21.8.1 backports.zoneinfo;python_version<"3.9" bcrypt==3.1.7 certifi>=2020.12.5 diff --git a/setup.py b/setup.py index eb33b492beb..852cc89bbc5 100755 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ REQUIRES = [ "astral==2.2", "async_timeout==3.0.1", "attrs==21.2.0", - "awesomeversion==21.4.0", + "awesomeversion==21.8.1", 'backports.zoneinfo;python_version<"3.9"', "bcrypt==3.1.7", "certifi>=2020.12.5", diff --git a/tests/test_loader.py b/tests/test_loader.py index 9786c9fdcfb..892e2da9c51 100644 --- a/tests/test_loader.py +++ b/tests/test_loader.py @@ -141,7 +141,7 @@ async def test_custom_integration_version_not_valid( await loader.async_get_integration(hass, "test_no_version") assert ( - "The custom integration 'test_no_version' does not have a valid version key (None) in the manifest file and was blocked from loading." + "The custom integration 'test_no_version' does not have a version key in the manifest file and was blocked from loading." in caplog.text )