Files
hassio-addons/addons_updater/CHANGELOG.md
Alexandre a989e7fbdc feat(addons_updater): write Home Assistant compliant addon versions (#2925)
* feat(addons_updater): write Home Assistant compliant addon versions

The updater copied the raw upstream tag into config.yaml. Home Assistant
orders addon versions with awesomeversion and hides the update when it can
compare both versions and the new one is not strictly newer, so tags such
as 1.2.3-2, 1.2.3+4 or 1.2.3-2026-08-01 silently stopped the update from
being offered, and tags such as version-bf9e0b4f or ubuntu-2026-06-01
cannot be ordered at all.

The addon version is now derived from the upstream tag by ha_version.py,
using the same library Home Assistant uses: a sortable and newer tag is
kept as it is, 1.2.3-4 and 1.2.3+4 become 1.2.3.4, otherwise the release
number inside the tag, an incremented addon number or the date is used.
updater.json keeps the raw upstream tag, so the same upstream release is
never published twice.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(addons_updater): address review comments

- calendar versions carrying a counter now advance to the current date
  instead of only incrementing the counter
- --selftest runs against a fixed date, so it keeps passing after today
- config.json is written from a validated jq result, as updater.json is
- README states the raw tag is added to the changelog only when it
  differs from the addon version
- docstring, comment and changelog formatting

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(addons_updater): turn pre-release markers into a version section

"5.0.0b5" is published as "5.0.0.5" so the beta number keeps ordering
the addon instead of relying on how awesomeversion reads the marker.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(addons_updater): keep every number of an unorderable tag

"v26.2-ls256" is published as "v26.2.256", "nightly-2.6.1.5509-ls8" as
"2.6.1.5509.8" and "4.16-r0-ls94" as "4.16.0.94", so the build number
keeps ordering the addon instead of being dropped. Words holding no
number, architectures and commit hashes are left out, and a section
ending on a year is counted up rather than incremented.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* style(addons_updater): keep the helper docstrings on one line

Codacy runs pydocstyle with D213, which the multi-line summary added
with the numbers rule trips.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix(addons_updater): leave out more arch words and unreal dates

"i686" and friends were read as the number 686, and "2026.02.31" was
taken for a calendar version. Both now fall back to the plain number
rules.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 18:51:14 +02:00

3.0 KiB

2026.08 (2026-08-01)

  • Addon versions written in config.yaml now always comply with Home Assistant versioning: an upstream tag Home Assistant cannot order (version-bf9e0b4f, ubuntu-2026-06-01, ...) or would sort as older (1.2.3-2, 1.2.3+4) no longer lands in config.yaml. The addon number is incremented instead, while the raw upstream tag stays in updater.json so the same release is never published twice
  • Pre-release markers become a version section, 5.0.0b5 is published as 5.0.0.5
  • A tag Home Assistant cannot order keeps every number it carries, v26.2-ls256 is published as v26.2.256
  • Upstream tags are escaped before being replaced in Dockerfile/build files

2026.06 (05-06-2026)

  • Minor bugs fixed

2026.05 (30-05-2026)

  • Update lastversion to 3.6.12

3.19.16 (2026-01-10)

  • Add config option to choose ISO8601 (YYYY-MM-DD) or DD-MM-YYYY dates for last_update/changelog entries

3.19.15 (2025-12-08)

  • The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release
  • Improve Codeberg handling with a Gitea API fallback when lastversion lacks custom host support

3.19.12 (2025-11-18)

  • Added support for configuring extra environment variables through the env_vars option.

3.19.11

  • Avoid blank config.json when using config.yaml

3.19.9

  • Automatically add a link to the release tab when using a github repo to facilitate access to upstream changelog

3.19

3.18

  • github_exclude: exclude a text in the release name
  • Correct github_tagfilter usage in dockerhub

3.17

  • Clean cache

3.16

  • Removed git password option as it is no longer usable

3.15

  • Apply github_tagfilter to dockerhub

3.10

  • Add dry run mode (test but does not commit)

3.9.9

  • Add mode
  • WARNING : update to supervisor 2022.11 before installing
  • Fix : dockerhub_list_size corrected
  • New dockerhub_list_size tag for dockerhub
  • Look for last 100 elements instead of 10
  • New dockerhub_by_date tag for dockerhub
  • Nightly tag only for beta
  • Use latest lastversion & base images
  • Feat: "pause: true" pauses the updates for a specific addon

3.*

  • Breaking change : new logic. Please read Readme.
  • Supports sources from : dockerhub/github,gitlab,bitbucket,pip,hg,sf,website-feed,local,helm_chart,wiki,system,wp

2.*

  • Add codenotary sign
  • Initial build