refactored AppDefinition.isUpgrade to include all fields added in the future