Break-up release task in smaller units
Create three smaller release tasks: check-for-changes, version, and commit-version. Add a roll-up task to execute them in the proper order. To create a minor release, you would run:

grunt release --type=minor