Allow major-version mismatch toggle + version-compat gate in pick_build_path · Issue #607 · esphome/device-builder · GitHub
Skip to content

Allow major-version mismatch toggle + version-compat gate in pick_build_path #607

Closed
esphome/device-builder-frontend
#390

Description

The 7b offloader Settings UI shipped (#574) with every toggle except Allow major-version mismatch. The compile-side enforcement gate hasn't landed either: pick_build_path doesn't consume StoredPairing.esphome_version today, so a remote receiver running a different major ESPHome version than the offloader is silently treated as eligible.

What's already in place

What's missing

  1. A version-compat gate in pick_build_path that filters peers whose esphome_version differs from the offloader's esphome.const.__version__ at the major level.
  2. A user-facing "Allow major-version mismatch" toggle on the offloader Settings UI (per-pairing or master — TBD) that widens the gate.
  3. The compile-time check that catches the mismatch before the receiver wastes CPU on an incompatible YAML.

Why deferred

Silently filtering eligible peers without an operator-visible override would be the wrong default — a user wouldn't know why their freshly-paired receiver suddenly stopped getting jobs. The gate and the toggle land together.

Acceptance

  • pick_build_path exposes a version-compat gate (default-on) that drops mismatched peers from the eligible set.
  • --no-X / explicit-on toggle on OffloaderRemoteBuildSettings + per-pairing override widens the gate.
  • Settings UI surfaces both (master + per-row).
  • Tests pin the matrix: matched-major eligible, mismatched-major filtered by default, override re-enables.

Activity

  1. changed the title [-]7b follow-up: Allow major-version mismatch toggle + version-compat gate in pick_build_path[/-] [+]Allow major-version mismatch toggle + version-compat gate in pick_build_path[/+] on May 11, 2026
  2. locked and limited conversation to collaborators on Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions