Currently we hardcode version in `build.sbt` and append Git hash of current `HEAD` (or empty string if running outside of Git repository). In our current release process (https://rchain.atlassian.net/wiki/spaces/OP/pages/746881100/How+to+Release+RNode) we branch `dev` into release branch, update version there, tag it, and then merge it back to `dev`. This addresses the issue discussed in https://rchain.atlassian.net/browse/RCHAIN-2920 where tags were not reachable from `dev`. But it often results in situations where version in `dev` lags weeks behind released version because the PR is forgotten. To address this issue let's change our release process to tag `dev` directly.
We could then also get rid of bump commits by taking version from `git describe`. This will prevent building an assembly outside of Git repository, e.g. from source tarballs which are used by many distributions to build (official) packages (e.g. RedHat/Fedora). But we don't expect such independent third-party packages in near future and we can later start publishing official source tarballs with `VERSION` file in that'll be used as default when running outside of Git repository.