This solves the problem where certain test failures would cause indefinite hangs as child processes refused to ever exit.
This will allow more specific version numbers, while simplifying a proper release down to a tag and make dist. During development, ./version.sh needs to run periodically to update the version number. I'd recommend just adding a call to version.sh as a git post commit hook: % cat .git/hooks/post-commit echo "Updating version." ./version.sh (and make sure the file is executable)