TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Subtle Art of the Changelog

97 pointsby GarethXover 2 years ago

15 comments

teddyhover 2 years ago
<i>The</i> standard for ChangeLog files:<p><a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;prep&#x2F;standards&#x2F;standards.html#Change-Log-Concepts" rel="nofollow">https:&#x2F;&#x2F;www.gnu.org&#x2F;prep&#x2F;standards&#x2F;standards.html#Change-Log...</a><p>Of course, what everybody is now calling “Changelog” used to be known as a “NEWS” file:<p><a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;prep&#x2F;standards&#x2F;html_node&#x2F;NEWS-File.html" rel="nofollow">https:&#x2F;&#x2F;www.gnu.org&#x2F;prep&#x2F;standards&#x2F;html_node&#x2F;NEWS-File.html</a>
misnomeover 2 years ago
We used to... somewhat attempt manual changelogs. Every time it came to a release the release manager would ask around for what the key changes were, and we usually ended up with only a couple of entries.<p>Now, we use <a href="https:&#x2F;&#x2F;github.com&#x2F;twisted&#x2F;towncrier">https:&#x2F;&#x2F;github.com&#x2F;twisted&#x2F;towncrier</a> . Every change goes through pull requests, and <i>every</i> PR <i>must</i> have a newsfragment file - and we enforce this with a test that fails if it isn&#x27;t present (with convenience functions of rewriting the number to match the PR if you name the news file XXX.{category}). If it&#x27;s not a user-facing change, then we just have a category that is ignored.<p>On releases (or on individual PRS along the way), the release manager generates the changelog, but also edits them into a relatively coherent style (or rewrites developers news fragments along the way).<p>Every change has a note written aimed at the user. Every entry in the changelog has a link to the relevant PR or commit. We have much better changelogs now.
评论 #34526429 未加载
anonymoose33282over 2 years ago
I&#x27;m one of the people who always glances at changelogs when downloading an app for the first time, and I appreciate when developers go beyond &#x27;Bug fixes and minor improvements&#x27; to at least list a couple concrete things that were added. I&#x27;m sure I&#x27;m in the minority, but I like the extra effort.
评论 #34524900 未加载
nickcwover 2 years ago
When I make rclone releases I usually spend an hour or two taking the git log, removing irrelevant stuff and rewriting messages to make them make sense from a users point of view.<p>I then take that and try to pick the top 3 or so items for use in the summary.<p>I then rewrite the summary condensing into a tweet.<p>It&#x27;s a lot of work!
评论 #34526338 未加载
评论 #34532202 未加载
ChrisMarshallNYover 2 years ago
I have a CHANGELOG.md for all my projects.<p>Fairly boring, but useful.<p>Here&#x27;s a changelog that covers about 14 years: <a href="https:&#x2F;&#x2F;github.com&#x2F;bmlt-enabled&#x2F;bmlt-root-server&#x2F;blob&#x2F;main&#x2F;CHANGELOG.md">https:&#x2F;&#x2F;github.com&#x2F;bmlt-enabled&#x2F;bmlt-root-server&#x2F;blob&#x2F;main&#x2F;C...</a>
评论 #34530373 未加载
Machaover 2 years ago
My personal ranking of changelog styles I&#x27;ve seen in the wild:<p>1. Categorised list of human-written points, e.g. breaking changes&#x2F;features&#x2F;bugfixes for developer facing software, features with overview of how to use them for end user facing (see vs code)<p>2. Breaking changes, followed by git shortlog<p>3. Developer picked highlights only<p>4. Literally just the git shortlog<p>5. A bunch of issue tracker links (especially if you later decomm that issues tracker)<p>6. Nothing
buerkleover 2 years ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;changesets&#x2F;changesets">https:&#x2F;&#x2F;github.com&#x2F;changesets&#x2F;changesets</a> works well for generating changelogs.
dazzeloidover 2 years ago
I feel like a lot of companies put effort into their changelog in the early days when they&#x27;re trying to cultivate their first users and know every user personally. But then I see them inevitably fall into the &quot;bug fixes and performance improvements&quot; laziness.<p>Would be a cool (but painful to do) analysis to look at whether this happens and at what scale companies throw in the towel.
评论 #34525227 未加载
Calziferover 2 years ago
oh-my-zsh has a quite interesting changelog system. Every commit¹ summary is prefixed in a standardized way which is later used to generate² a nicely formatted and categorized list of changes.<p>¹ <a href="https:&#x2F;&#x2F;github.com&#x2F;ohmyzsh&#x2F;ohmyzsh&#x2F;commits&#x2F;master">https:&#x2F;&#x2F;github.com&#x2F;ohmyzsh&#x2F;ohmyzsh&#x2F;commits&#x2F;master</a><p>² <a href="https:&#x2F;&#x2F;github.com&#x2F;ohmyzsh&#x2F;ohmyzsh&#x2F;blob&#x2F;master&#x2F;tools&#x2F;changelog.sh">https:&#x2F;&#x2F;github.com&#x2F;ohmyzsh&#x2F;ohmyzsh&#x2F;blob&#x2F;master&#x2F;tools&#x2F;changel...</a><p>The result is something like this<p><pre><code> BREAKING CHANGES: - 61dd368 [nats] Rename `nsc` plugin to `nats` Features: - eb2147c [aws] Load profiles from credentials file (#11196) - 4b5076b [extract] Add `pbzip2` and `pixz` (#11435) Bug fixes: - f1a8000 [brew] Rename `buf` alias to `bfu` - df65835 [clipboard] Move wsl detection to higher priority (#11440) Performance: - ba8777f [fzf] Speed up startup on debian (#11122) Documentation: - 6dc6646 [git] Add missing entries and run formatter - 0f71cfd [qrsvg] Fix command example (#11436)</code></pre>
raphael_lover 2 years ago
Does anyone know what was behind this link? It was mentioned as &quot;too much of a good thing&quot;, but seems that account has been deactivated and the tweet is gone.<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;jaredsinclair&#x2F;status&#x2F;633407338347634688?s=20&amp;t=_MqF9BGHnM6SonkI4pz99A" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;jaredsinclair&#x2F;status&#x2F;633407338347634688?...</a>
toygover 2 years ago
Related: the &quot;Talk Python to Me&quot; podcast had a recent episode with guest Ned Batchelder, talking about Readme and Changelog management - <a href="https:&#x2F;&#x2F;talkpython.fm&#x2F;episodes&#x2F;show&#x2F;395&#x2F;tools-for-readme.md-creation-and-maintenance" rel="nofollow">https:&#x2F;&#x2F;talkpython.fm&#x2F;episodes&#x2F;show&#x2F;395&#x2F;tools-for-readme.md-...</a>
andreareinaover 2 years ago
We&#x27;ve recently started using scriv[1] to manage the changelog and I&#x27;m a fan. Each branch gets its own changelog fragment and when we&#x27;re ready to cut a release they&#x27;re all merged into a single entry in the log.<p>[1] <a href="https:&#x2F;&#x2F;scriv.readthedocs.io&#x2F;en&#x2F;latest&#x2F;" rel="nofollow">https:&#x2F;&#x2F;scriv.readthedocs.io&#x2F;en&#x2F;latest&#x2F;</a>
kaycebasquesover 2 years ago
&gt; Companies like Slack have turned their changelogs into a form of marketing<p>To a dark place this line of thought will carry us. Changelogs are first and foremost about sharing information effectively. Never lose sight of that.
haihaibyeover 2 years ago
I copy&#x2F;paste the template from:<p><a href="https:&#x2F;&#x2F;keepachangelog.com" rel="nofollow">https:&#x2F;&#x2F;keepachangelog.com</a>
olddustytrailover 2 years ago
When everything is in git and you have the log anyway, is there really any use for a changelog?
评论 #34525188 未加载
评论 #34524415 未加载
评论 #34524815 未加载
评论 #34527635 未加载