git log --oneline --no-merges `git describe --abbrev=0 --tags`..HEAD | cut -c 9- | sort
Is what I like to use. It gets all commits since the last tag. cut gets rid of the commit hash. If you use ticket numbers at the beginning of your commit messages, they are grouped with sort. Sorting also helps if you prefix certain commits with fix, typo, etc.