the pre 2.05 headers are plain text, and you can easily use a higher firmware number to trigger an update. ( its only the header that triggers the update )
hence we place a high version number on an old firmware and then hack with features that got removed in the latter firmwares.
from 2.05 onwards we have some kind of checksum it appears, and without decoding it, up till now , we cut the header from a higher version and mix it with 2.02sp2 to get the features we need to hack the model/serial.
right now, the highest firmware we have in a file is 2.05.02, once a newer revision comes out ( think, fix a bug yet to be found in that version ) Rigol will have to fix it, and to fix 2.05.02 they will have to number it at least 2.05.02.01 .... encode it as the 2.05 onward firmwares only look for the encoded numbers, then a 2.05 will update to that newer version.
if we had a 2.05.02.01 or higher update file, we can then release a firmware to hack upto and including 2.05.02 firmware but not higher....