Conversation
Since #5620 Supervisor no longer updates the version information on unsupported architectures and machines. This means users can no longer update to newer version of Supervisor since that PR got released. Furthermore since #6347 we also no longer build for these architectures. With this, any code related to these architectures becomes dead code and should be removed. This commit removes all refrences to the deprecated architectures and machines from Supervisor. This affects the following architectures: - armhf - armv7 - i386 And the following machines: - odroid-xu - qemuarm - qemux86 - raspberrypi - raspberrypi2 - raspberrypi3 - raspberrypi4 - tinker
This adds a check to the resolution system to detect if an app is installed that uses a deprecated architecture. If so, it will show a warning to the user and recommend them to uninstall the app.
Not only deprecate add-on configs for unsupported architectures, but also for unsupported machines.
Fail hard in case of missing architecture, as this is a required field for installed add-ons. This will prevent the Supervisor from running with an unsupported configuration and causing further issues down the line.
28b2679 to
02ad1af
Compare
mdegat01
approved these changes
Mar 3, 2026
Contributor
There was a problem hiding this comment.
Removing the values from MAP_ARCH and CpuArch is a bit scary but it looks safe here. This looks good but we will need a couple follow-ups:
- Client Library PR to update the enums
- Core PR to add a repair for the new issue type
I initially added missing documentation but actually I don't think we list all issue types or checks anywhere so maybe no changes there.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed change
Drop support for deprecated CPU architectures (armhf, armv7, i386) and their associated machine types (raspberrypi, raspberrypi2, raspberrypi3, raspberrypi4, qemuarm, qemux86, odroid-xu, tinker) from Supervisor. These machines are no longer supported by HAOS.
The
ARCH_ALLlist now only containsaarch64andamd64. A newARCH_ALL_COMPATlist is introduced so that add-on (app) config validation still accepts the deprecated arch values, ensuring existing add-on (app) manifests don't fail validation during the transition.A new resolution check (
deprecated_arch_addon) detects installed add-ons (apps) that only target deprecated architectures and creates an issue with anEXECUTE_REMOVEsuggestion. The existingaddon_execute_removefixup is extended to handle this new issue type. During add-on (app) load, add-ons (apps) that only support deprecated architectures are short-circuited: their container is attached but no install/update logic runs.Type of change
Additional information
Checklist
ruff format supervisor tests)If API endpoints or add-on (app) configuration are added/changed: