This-weekend I manually re-flashed my IoTaWatt back to an older version: 02_03_15 (checkout that tag and compiled from source) and expected it to update.
I looked at the logs and it failed to update. I believe at some point you have probably made a change in the updater web service to correctly pass a null-terminator in the response with the version string for the device to use that was probably missing in earlier versions.
The old versions of the IoTaWatt are unable to use this new null-terminated string and fail to update to newer versions as they check “request->available() != 8” and with a null terminator it is not 9 characters. This is changed/fixed in new versions of the code.
This means if anyone has a device that was turned off (or offline) for a long time, there is a chance it will never update.
I would suggest changing the updater web-server to return non-null terminated version strings for older versions so they can able to be updated and keep the correct new behavior for recent client requests. I didn’t go through the history to find out where this change was made.
I was fine to work-around this problem so no need to fix it for me.