July 2020
Support for Complex Upgrade Paths
Many firmware projects have complex firmware upgrade paths. This might be to enable binary differential updates to save bandwidth or maybe to allow for a project to remove backwards-incompatible code.
For example, when upgrading a firmware from a 1.x to a 2.x release, the device might need to go through a migration firmware as shown below.