In documentation of Ansible Galaxy I found you can install specific version of a role. I was not able to find what defines the version in role itself. Is it Git tag, some key in meta/main.yaml, or something else?
To install a version simply git tag it:
$ git tag v1.0
$ git push origin v1.0
Then from the man page you can install the specific Role version:
"ansible-galaxy install [options] [-r FILE | role_name(s)[,version] | tar_file(s)]"