This workflow will update files in the repository for a new release. It
will:
* Update version in version.txt, CHANGELOG.md, and LICENSE
* Commit changes to main
* Create new release tag
* Generate a new development version string (patch incremented + .dev)
* Update dev version in version.txt, CHANGELOG.md, and LICENSE
* Commit changes to main
* Push changes on main to origin
* Push release tag to origin
This ensures all files are updated consistently and correctly. The
creation of the tag will then trigger the release workflow.