Agreed it needs updating to if (oldVersion <= 2) rather than (newVersion == 3 && ...)