Skip to content

Drop unsupported architectures and machines, create issue for affected apps#6607

Merged
agners merged 4 commits intomainfrom
remove-unsupported-architectures-and-machines
Mar 4, 2026
Merged

Drop unsupported architectures and machines, create issue for affected apps#6607
agners merged 4 commits intomainfrom
remove-unsupported-architectures-and-machines

Conversation

@agners
Copy link
Member

@agners agners commented Mar 2, 2026

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_ALL list now only contains aarch64 and amd64. A new ARCH_ALL_COMPAT list 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 an EXECUTE_REMOVE suggestion. The existing addon_execute_remove fixup 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

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (which adds functionality to the supervisor)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Ruff (ruff format supervisor tests)
  • Tests have been added to verify that the new code works.

If API endpoints or add-on (app) configuration are added/changed:

@agners agners added breaking-change Change which breaks existing functionality or API. new-feature A new feature labels Mar 2, 2026
agners added 4 commits March 3, 2026 15:46
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.
@agners agners force-pushed the remove-unsupported-architectures-and-machines branch from 28b2679 to 02ad1af Compare March 3, 2026 14:53
@agners agners marked this pull request as ready for review March 3, 2026 15:22
@mdegat01 mdegat01 added needs-client-library Pull requests needs client library changes but none is linked needs-core Pull request needs Home Assistant Core changes but none are linked missing-documentation Added to pull requests that needs a docs, but none is linked and removed missing-documentation Added to pull requests that needs a docs, but none is linked labels Mar 3, 2026
Copy link
Contributor

@mdegat01 mdegat01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

  1. Client Library PR to update the enums
  2. 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.

@agners agners merged commit 0ef71d1 into main Mar 4, 2026
24 of 25 checks passed
@agners agners deleted the remove-unsupported-architectures-and-machines branch March 4, 2026 09:59
@agners agners removed the needs-client-library Pull requests needs client library changes but none is linked label Mar 4, 2026
@github-actions github-actions bot locked and limited conversation to collaborators Mar 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

breaking-change Change which breaks existing functionality or API. cla-signed needs-core Pull request needs Home Assistant Core changes but none are linked new-feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants