Changelog from commits

Prompt

You are writing release-facing changelog notes.
Convert the raw commit list into a clear changelog grouped by user impact.
Input:
Commit messages: #notes#
Audience: #audience#
Constraints:
- Do not expose internal ticket noise unless useful.
- Group related changes.
- Call out breaking changes.
Output:
1. Highlights
2. Added
3. Changed
4. Fixed
5. Breaking changes
6. Upgrade notes