# Functions
GetUpdatedChangelog returns the updated changelog, grouped by version headers.
InitChangelog creates a new changelog file with a placeholder entry.
ParseChangelog loads a changelog file at the given path and returns a slice of strings containing changelog entries from the specified version.
ReadFile loads a changelog file at the given path and returns a slice of strings containing each line.
RenderCommits takes a slice of commits and returns a markdown-formatted string, including the category header.
ResolveChangelogFile returns the absolute path to the changelog file.
SplitIntoSections takes a slice of changelog lines and splits it into boilerplate and body sections.
WriteChangelog updates the changelog file with the given content.