- The name "NEWS" is not what users expect. I used to have a NEWS file which documents major changes in a high-level way, per the GNU standards. But I kept getting requests from users to "keep a changelog", and I kept getting questions from users about where the changelog is. Apparently most users never bother to check the NEWS file; they don't even associate the filename "NEWS" with what they're looking for. 95% of the users associate that concept with the word "changelog". "Changelog" is the new "NEWS". After several years, I gave up the resistance and renamed by "NEWS" to "Changelog".
- The actual Changelog format, per the GNU standards, is useless in my opinion now that version control systems have gotten so good. In my opinion, the git history is exactly what the GNU changelog tried to be, with the added benefit that the git history is much easier to browse, query and manipulate.
This, I suspect, depends on your user base. Apparently your users expect the name "changelog". (Do they all use that exact term? Could this usage be traced to a single source, common among your users?)
> The actual Changelog format, per the GNU standards, is useless in my opinion now that version control systems have gotten so good.
Indeed, I believe even GNU Emacs has abandoned (or is about to abandon) it, now that they have switched to git.
Other projects (GNU Emacs) still continue to use ChangeLog files because it is easier to correct ChangeLog entries than editing the commit history (which in git is destructive).
The GNU conventions for change logs and news files are not exactly self-explanatory (semantics matter), which probably explains how rarely they have been followed to the letter. I have no data to back this up, but I doubt people who use and depend on open source software would discard this claim.
Now it's interesting to see this initiative mocked as a "not invented here syndrome" (Moru's comment). I did not define these guidelines, I merely gathered them from existing open source projects which were exceptionally good at communicating changes. The poor examples and the frustration that fueled this project came from projects that did the opposite:
- inconsistent (file naming, change categories, etc.)
- dumping git diffs which provides absolutely no value to end-users (OSS software users who need to regularly update their dependencies)
- littered with references to irrelevant issue trackers (which did not provide clarifications regarding the changes)
- poorly written with the wrong audience in mind (fellow project collaborators who have context vs. external users who don't)
- not given any dates or given confusing regionally-flavored dates
- and the crux of my frustration: not singling out and emphasizing API breaking changes and deprecations
Anyway, please don't dismiss this project because a convention exist in one community. This convention is not being followed for now and I would really appreciate your help in improving the status quo: https://github.com/olivierlacan/keep-a-changelog/issues
Thanks.
Your project to create a standard format and file name for what you want is unnecessary, since these exist already. Furthermore, you seem aware of this, and seem to want to change the existing standards to your history-naïve preference. You don’t even go to the projects which are the keepers of said standards, but instead set yourself up as a competing standards body. This does not endear you to people such as myself, who are on the whole happy with the current system, and see no benefits to your proposed changes.
Does it make any sense to do that in a project?
> Is there a standard change log format?
> Sadly, no. But I want to change that.
There is a standard change log format: https://www.gnu.org/prep/standards/html_node/Style-of-Change...
Most GNU tools (and many others) use this format.
The Debian changelog format which most people have seen is based on that format, and is compatible with it.
> What’s the point of a change log?
> To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.
Oooh, they mean a NEWS file. Standardized like so: https://www.gnu.org/prep/standards/html_node/NEWS-File.html
> What should the change log file be named?
> Well, if you can’t tell from the example above, CHANGELOG.md is the best convention so far.
> Some projects also use HISTORY.txt, HISTORY.md, History.md, NEWS.txt, NEWS.md, News.txt, RELEASES.txt, RELEASE.md, releases.md, etc.
> It’s a mess. All these names only makes it harder for people to find it.
Please use standard names. Details here: http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/dis...