frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Ask HN: What are you working on? (January 2026)

250•david927•1d ago•817 comments

Unpopular Opinion: Bootstrap is a better front-end framework than Tailwind

11•pyeri•8h ago•13 comments

Ask HN: Where is all the protest music?

3•swiper_lux•3h ago•4 comments

Ask HN: Job seekers, what's working / not working?

16•Jabbs•1d ago•15 comments

Tell HN: DigitalOcean's managed services broke each other after update

61•neilfrndes•13h ago•43 comments

Ask HN: Erratic HN front page algorithm

6•7777777phil•21h ago•3 comments

Ask HN: Speculate About a Hypothetical Cyber Exploit That Would Leverage AI

3•burnerToBetOut•15h ago•1 comments

Ask HN: How do you automate your release notes?

9•dustfinger•21h ago•13 comments

Ask HN: When has a "dumb" solution beaten a sophisticated one for you?

12•amadeuswoo•2d ago•15 comments

Ask HN: Should I shutdown my 20 year old SaaS sideline?

3•pohwp•17h ago•12 comments

Tell HN: Mattermost "upgrade" to v11 enforces 10k UI message limit

5•nemosaltat•16h ago•3 comments

Ask HN: Senior engineering mngrs: how has AI changed your day-to-day work?

35•kitetm•3d ago•8 comments

Ask HN: Has anyone built payment flows inside AI voice calls?

6•wasiyc•1d ago•1 comments

Ask HN: Best way to find chill job where I can learn and grow as a swe

35•digitdiglet•4d ago•43 comments

Ask HN: Is Programming as a Profession Cooked?

19•fnoef•2d ago•32 comments

Ask HN: What business processes still waste time every week?

5•lzr_mihnea•1d ago•9 comments

Tell HN: Auto-download in Apple Podcasts is so unreliable it's basically useless

4•garyfirestorm•1d ago•4 comments

Ask HN: Is it time for HN to implement a form of captcha?

89•Rooster61•4d ago•136 comments

Ask HN: What are you proud of about doing for you health and wellness regularly?

11•nemath•23h ago•14 comments

Ask HN: Iran has now been offline for 100 hours. What can we "technically" do?

7•us321•16h ago•13 comments

Ask HN: Senior software engineers, how do you use Claude Code?

15•allie1•2d ago•13 comments

Ask HN: Would you pay for a privacy-first social platform?

11•sammiej•2d ago•10 comments

Why are so many images now in unusual file formats?

5•paulpauper•17h ago•7 comments

Tell HN: Get a dying iPhone 12 mini in 2026

28•remywang•4d ago•24 comments

Implementing NaN Boxing in a Stack-Based VM

5•tracyspacy•5d ago•0 comments

Aaron Swartz died 13 years ago today

91•vitaelabitur•1d ago•6 comments

Ask HN: Moved to SF to build a startup. What next?

7•kvaranasi_•1d ago•4 comments

Ask HN: What was the best sci-fi book of 2025?

14•Erikun•1d ago•1 comments

Ask HN: How would you decouple from the US?

38•yawa_me_worht•5d ago•22 comments

Ask HN: Cheaper Datadog anyone?

6•kvaranasi_•1d ago•11 comments
Open in hackernews

Ask HN: How do you automate your release notes?

9•dustfinger•21h ago
How are you generating release notes in your projects?

I just had to backfill a year of docs release notes for an OSS repo. I ended up writing a small release tag driven generator: it walks git tags, collects merged PRs between releases, buckets them into categories, and renders Markdown/MDX grouped by year -> month -> category -> version. I also added an optional LLM step that outputs structured JSON via Pydantic schema for PR bullets that includes monthly summaries. It is idempotent and preserves manual edits or omissions, so you can auto-generate, then curate over time.

I’m curious what works for you in practice:

- Towncrier?

- reno?

- GitHub Releases / auto-generated notes?

- something else?

What do you like/hate about your current setup? Any tools you’d recommend?

If anyone wants to see the script I wrote, I am happy to share it and would love some constructive feedback.

Comments

cpburns2009•21h ago
All I can say is I hate when projects just lazily list every pull request for its change log / release notes. It makes it very difficult to discover what breaking changes there are.
dustfinger•21h ago
That has been my concern as well. The script I wrote tries to bucket entries into categories, including "Backward Incompatible Change" so those are easier to spot. Since it is automated I am trading some accuracy for time saved, which seemed like the only practical choice for me, since I had to backfill a lot of history, but it’s been surprisingly decent so far.

I am also planning to add some PR templates so contributors include the context up front, which should make any release note generation more accurate.

Are you using any tooling to help with changelog curration? I know towncrier is all about fragments, so contributors must had write a brief summary of their contribution, which would be more in-line with your preference.

pancsta•20h ago
Not related really, as you can (and should) publish BREAKING.md separately. Release notes should inform more about new stuff than the update process. Usually PRs have details, so release notes can be easily automated. Migrations, on the other hand…
dustfinger•20h ago
+1 on separating "how to upgrade" due to breaking changes from "what’s new". A dedicated BREAKING.md / MIGRATIONS.md is a really good idea.

One thing I am trying to do is make the generator surface breaking/migration items explicitly, but I still think anything that requires human judgment (migration steps, caveats) should be hand-curated in a dedicated document like you suggested.

insin•20h ago
I add release notes to a draft Markdown file in the same commit as every change, under the appropriate Breaking / Changes etc. heading, so when I'm ready to release that becomes the next release notes.

I've never seen an auto-generated set of release notes I liked, a list of PRs doesn't cut it.

dustfinger•20h ago
I hear what you are saying, there is a risk that auto-generated release notes end up as PR-title soup. I put a lot of effort in my script to mitigate against that.

If you are willing and interested enough to take a quick look, here is what my script generated for our 2025 changelog (no hand-curation yet, this is the raw output):

https://raw.githubusercontent.com/confident-ai/deepeval/refs...

I am curious: does this still seem too noisy in your opinion, or is it getting closer? And what would you want to see for breaking changes/migrations to make it actually useful?

I now have 2024 & 2025 generated; to fully hand-curate two years of history just wasn’t practical, so I’m trying to get the "80% draft" automatically and then curate over time.

nitwit005•19h ago
We have our release notes fully automated from git tags, and it's unfortunately useless as people don't actually the right tags on things, so everyone ends up manually editing it.
dustfinger•19h ago
Yeah, that matches what I have seen: if the upstream metadata isn’t reliable, automation can amplify the mess.

I tried to avoid relying solely on contributors to accurately label or tag things correctly. The script is tag-driven only for release boundaries (version tags), while categorization is derived from PR title & body with optional GitHub metadata. The script is idempotent and preserves edits/omissions so you can correct the few bad ones post-generation.

If you are curious, I am happy to share my script and would be genuinely interested whether it reduces the manual cleanup for your workflow. Also, if you run it with `--ai --github` and a PR body is sparse, it fetches a truncated PR diff and uses that as extra context for the LLM summary.

weinzierl•18h ago
Unpopular opinions:

1. Release notes should never be created mechanically but focus on the consumer of the release.

2. The best changelog is your git. It is OK to generate a calcified changelog for an audience that prefers that.

Last and least:

3. The commit messages are a private space where developers communicate. The messages should never end up at the customer without thorough filtering and distillation.

Apart from that: git-cliff is excellent. If you must generate a document from commits, use that.

dustfinger•18h ago
I agree with the philosophy of curating release notes for the consumer of the release. When I first started looking for a release notes strategy, I was considering towncrier for that exact reason. You are also right that commit messages are not intended for the consumer of the release, but a dialogue between developers.

Your points are well received and largely why I went PR-based (title/body with optional GitHub metadata) instead of commit-based. A PR title and body tend to be focused on the deliverable, whereas commit messages are narrowly focused on the code change at that moment with developers as the intended audience.

Re: git-cliff, I honestly hadn’t evaluated this one, but it looks solid for commit-driven changelogs. I like the rationale behind conventional commits being parsable and templates enforcing consistency. What constraints pushed you toward git-cliff vs writing release notes by hand, and do you have a config/template you have found works well for surfacing breaking changes?

effnorwood•12h ago
Claude - write some plausible release notes that management will buy but make no actual sense and save it as xml.
richard_obrien•10h ago
Full disclosure, I’m one of the owners of ReleaseNotes.io. Not trying to pitch, just sharing what we see across a lot of teams.

1. For OSS projects, GitHub Releases honestly work really well. You usually have contributors who understand the context, and readers who are technical enough to parse a changelog.

2. If you're talking to users, Release notes stop being a dev artifact and become a communication channel. They need to show up where users already are, in-app, email, Slack, etc. There are a bunch of tools like us (ReleaseNotes.io), LaunchNotes, AnnounceKit, Canny and others that help with that.

3. From what we see, the teams that have the most success with automation of this process treat GitHub PRs or Jira, Azure DevOps, Linear, GitHub issues as the source of truth. Also their issues/PR descriptions tend to clearly describe the problem and the solution.

4. Any automation of this process leans heavily on the quality of your issue/PR descriptions as garbage-in = garbage-out. Because of this it's tricky to fully automate the process as at some level you usually need a person casting an eye over the release note just to sense check.

ok1984•6h ago
For me automating release notes is like recording an audio and play it each time you introduce your kid to somebody.

You worked hard you added all those new features and fixed several bugs and hopefully introduced no new ones, take the time and write the release notes yourself or with the team, make it a moment of celebration, read them and refine them (even with LLMs) but be proud of what you just accomplished.

For me writing release notes is a joy moment why should automate it?