Composer

TER

No composer available? No problem! You also can find this extension at TYPO3's Extension Repository (TER).
You can straight download it from inside your TYPO3 as long, as your TYPO3 is not in composer mode.

How do I use it?

"VERSION"-file

Now, this is the easiest part. Create a file called VERSION (case sensitive) in your TYPO3 frontend docroot with the project version. This can be done like this:
$ echo 1.0.0-rc.3 > /var/www/html/VERSION

Custom Path

You can use your own filename and path. Note that this path still has to be accessible from your web docroot.
The configuration can be done in the ExtensionConfiguration. It is also possible to change the directory of the 'VERSION'-file. Only provide a directory path (with trailing slash '/') and it will automatically search for an file called 'VERSION'.

Examples:
We assume that the web document root (PATH_site) is /var/www/html.

Configured Path

Absolute filename

(empty - default)

/var/www/html/VERSION

MyVersion

/var/www/html/MyVersion

typo3conf/

/var/www/html/typo3conf/VERSION

./My/Custom/Version/File/In/Some/Nested/File/Structure

/var/www/html/./My/Custom/Version/File/In/Some/Nested/File/Structure

GIT

Since release 0.3.0 git is supported. This must be manually activated. In order to use git, make sure it's available!
Common case is that the local development environment is based on docker images. Many docker images do not have git out of the box available.
To activate it, simply move via your preferred web browser into the TYPO3 backend. For TYPO3 v8.7 - go to "Extensions > Project Version" and configure the extension.
The configuration screen will look like this on default:

This has changed a bit in TYPO3 v9. To configure the extension go to "Settings > Configure extensions" and filter for "project version".
The new configuration screen will look like this:

Configuration possibilities

basic.mode

Configuration

Description

VERSION File (default)

Fetches the current project version based on the path configured in basic.versionFilePath

GIT

Uses GIT if available to resolve the project version in the format configured in basic.gitFormat

GIT (VERSION file as fallback)

Will use GIT as preferred resolving method. If not available will fallback to VERSION file.

Milestone for v0.6.0

Ability to "hardcode" static project version via the TYPO3 backend

Note

The TYPO3 v8 version of this extension will not be maintained after release 1.0.0! But this should be no problem because TYPO3 v8 only gets bugfixes.
This means, version 1.0.0 should stay compatible with all further TYPO3 v8 releases!

After releasing version 1.0.0, which will be around the release of the first TYPO3 v9 LTS version, EXT:project_version will be refactored to php7.2 and will integrate TYPO3 v9 features.