With Home Assistant Core 2021.6, a new requirement will be introduced which might cause old custom components and custom integrations to stop working. The change in question was first announced over three months ago, with the release of Home Assistant Core 2021.3 and now that the grace period for developers has passed, it will come in to action with this month's release.
As of this month, custom components and custom integrations will universally require a version key. This key, which is part of the
manifest.json file, should be a string with a major, minor and patch version (for example, "1.0.0").
Why custom components and integrations are changing
In lieu of the recent security issues that affected several popular and widely used custom components and custom integrations, a series of utilities were deprecated, and the version requirement was added.
Most components you can install using HACS already fulfil this requirement, as it allows users to know which version of a custom component or integration they are running, and whether they need an update or not. Additionally, the Home Assistant developers can also block any versions that have been deemed to be insecure. All in all, the requirement of a version key is a win for security.
What will happen to custom components that aren't updated?
Custom components and custom integrations that haven't been updated to include the version key will no longer be loaded as Home Assistant Core starts. The consequence is the same for existing and new installations of Home Assistant Core: the component will be broken until the developer fixes it.
Which custom components will no longer be supported?
Unfortunately, there is no easy way of creating a list of all custom components and custom integrations that need to be updated to work with Home Assistant Core 2021.6 and any upcoming releases. Though you can easily check any repository, you might be using, manually: Visit the GitHub repository of the component in question and navigate to the folder
custom_components/NAME/. Inside that folder, look for the
manifest.json file. In the examples below you can see that the BlueIris integration has a version key, but the gPodder integration does not.