Skip to content

OTA - Release compatibility #4929

@netmindz

Description

@netmindz

Every WLED release includes a Release Name, this should be used to indicate exactly what build you are running, for example ESP32 with Ethernet support. The build flag WLED_RELEASE_NAME defines the releaseString in the source code

As a general rule, when doing a manual OTA, the release name should match the current install, i.e if you currently have a build with Ethernet support, rather than the generic ESP32 build, you should be installing a new build with Ethernet support

So when a user supplies a new bin file, we should first validate if the release name of the supplied bin matches the current release name, if not reject this OTA unless the user has ticked a new checkbox labeled "Ignore release name check" which sends an additional "ignoreRelease" parameter

This must not be based purely on the filename of the bin uploaded but the bin itself, in order to achieve this, we might need to change the build process such that the bin file is appended/prepended with additional meta data in a form that is more accessible than trying to read a constant out of the image, unless there is a feature of the esp32 build system that already provides some from of metadata about the bin file that we could populate with the release name

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions