Live data from Hacker News

Ask HN: How do you handle release notes for multiple audiences?

news.ycombinator.com

11–20 of 52 posts

Re: Ask HN: How do you handle release notes for multiple audiences?

#11
post #2

I automate one changelog per project using git-cliff and conventional commits: https://github.com/orhun/git-cliff https://www.conventionalcommits.org/en/v1.0.0/ This changelog is copied into the release on github, or wherever the release is announced.

While more automation certainly is useful, I find that auto-generating changelogs in this manner has a number of problems:

Auto-genertaed changelogs lack business-aware context about what is important. You get a big list of new features, but which ones are the most important to stakeholders? You have a few breaking changes, which are likely to have the most widespread impact? Without being judicious about what information is included, you risk overwhelming readers with line noise and burying important notes.

Some things go beyond the scope of a commit message - deployment nuance, interaction with other relases, featureset compatibility matrices. These are best summarised at the top level, they don't fit in individual disparate messages.

One of OP's motivations for starting this thread was to see how people tailor changelogs to different types of stakeholders; techincal vs non-technical, for example. This approach doesn't solve that problem. In fact, I think it's worse due to an additional side effect: the commits are now forced to do double duty; they must be useful commits for developers looking at code history, but now they also must be useful messages to be included in a changelog. While there is some overlap, it's hard to do both simultaneously. One must pick between writing good commit messages for the codebase & developers, versus writing a coherent changelog.

As a matter of personal taste, I think it looks lazy. Changelogs are a unique opportunity to communicate something important, they're written once and read by many. With a list of commits, myself and all other readers must now put in the work to find out what's relevant - it's disrespectful of others' time.

Re: Ask HN: How do you handle release notes for multiple audiences?

#12
Most stakeholders only need to hear about major milestones. They don’t get release notes. They get weekly or monthly memos on what the department is accomplishing.

Unless you’re developing open source or developer APIs/SDKs, end users don’t care about release notes. The KB needs to get updated, and meaningful feature improvements get announced in newsletters or blog posts every N weeks. A good customer experience team will take care of this based on raw release notes, and also notify customers who reported bugs when those bugs are fixed.

Engineers working on the product get raw release notes.

Engineers integrating the product ideally get something edited a bit to be maximally useful when working out how to upgrade — Django’s release notes are something to aspire to.

Re: Ask HN: How do you handle release notes for multiple audiences?

#13
Whether you need a secondary set of release notes is almost purely a "marketing" decision, and should as much as possible be treated as such. Doing that is also usually way more effort (e.g. producing screenshots, etc.) than just writing plain release notes for a purse software engineer audience.

I think crafting good release notes (that go beyond automated release notes generated based on conventional commits, which are mostly good for bug hunting), is still a mainly manual and tedious process, though after the first few decent hand-crafted ones, the first draft can be handed off to an LLM these days.

Re: Ask HN: How do you handle release notes for multiple audiences?

#15
Internal release notes:

* consisting of PRs merged since last release. (This is better than manually updating CHANGELOG. Do not allow direct commits to main w/o a PR.)

* internal audience is engineering, PMs, customer success & support, these do not leave the company.

* PRs can be examined for more context if needed. This is a good enough balance between noise & automation.

* If you use a working tracking system like JIRA or GitHub issues, join the PRs w/ the system to output priority and other labels (like Feature/Bug). This will help internal stakeholders quickly identify how important each line is. Sort by priority and/or group by labels.

External release notes:

* manually updated log of important changes, such as new features or other larger changes. These do not include all bug fixes.

* visible to customers.

* do not mention version numbers, only dates. You do not want to leak how often you release, or customers will start demanding release notes per version or dictating your release schedule.

When you fix bugs for customers, tell them what day/time the bug fix went live.

Obtaining set of PRs merged since last release is non-trivial, but doable.

Re: Ask HN: How do you handle release notes for multiple audiences?

#16

If there is an audience for release notes I haven't seen anything better than just committing entries to a pre-release folder as you change things and have release automation compile the folder into the actual release notes. Python and many other large projects handle it like this: https://github.com/python/cpython/tree/main/Misc/NEWS.d/next (The release notes for major releases are crafted manually) On the other han…

If you make use of something like git-cliff style formatting for the first line of your commit messages it can actually make some decent automated release notes that can be broken down into features, bug fixes, documentation, chores, etc...

I've found this to be pretty useful for my projects, and users can quickly get a list of what they care about for changes (usually the features part). Since it's pretty automated, the amount of effort also means that even if barely anyone reads them, it's not a huge waste of time. It's actually kind of made me write better, more useful commit messages as I know that the first line of the commit will actually be presented to the user.

Re: Ask HN: How do you handle release notes for multiple audiences?

#18
post #7

As per industry standards: v1.4.18 - "Bug fixes and performance improvements" v1.4.17 - "Bug fixes and performance improvements" v1.4.16 - "Bug fixes and performance improvements"

They forget always the "," between "bug" and "fixes".

Re: Ask HN: How do you handle release notes for multiple audiences?

#20
post #7

As per industry standards: v1.4.18 - "Bug fixes and performance improvements" v1.4.17 - "Bug fixes and performance improvements" v1.4.16 - "Bug fixes and performance improvements"

Perhaps the perfect time to ask: why are release notes like this on the App Store? Are they a required field and this is the default? Does a popular tool use this value?
Post reply on HN