Format converts commits into a bullet-point release notes string.
Truncates to maxChars (Google Play limit is 500 chars).
Truncation removes whole lines to avoid cutting mid-sentence,
and appends "..." if any lines were dropped.
GitLog runs `git log --no-merges --format="%h%x00%s"` between refs and returns commits.
sinceRef is the starting ref (exclusive), untilRef is the ending ref (inclusive).