'Return the version of the workflow
.. versionadded:: 1.9.10
Get the version from the ``update_settings`` dict passed on
instantiation or the ``version`` file located in the workflow\'s
root directory. Return ``None`` if neither exist or
:class:`ValueError` if the version number is invalid (i.e. not
semantic).
:returns: Version of the workflow (not Alfred-Workflow)
:rtype: :class:`~workflow.update.Version` object'

@property
def version(self):

    if (self._version is UNSET):
        version = None
        if self._update_settings:
            version = self._update_settings.get(u'version')
        if (not version):
            filepath = self.workflowfile(u'version')
            if os.path.exists(filepath):
                with open(filepath, u'rb') as fileobj:
                    version = fileobj.read()
        if version:
            from update import Version
            version = Version(version)
        self._version = version
    return self._version
