For the tools (which I know is mostly what James works on) I’d say new command-line options are worth release-noting as a way to advertise their existence.
From: llvm-dev <email@example.com> On Behalf Of David Blaikie via llvm-dev
Sent: Thursday, April 30, 2020 11:47 AM
To: James Henderson <firstname.lastname@example.org>
Cc: LLVM Developers Mailing List <email@example.com>
Subject: Re: [llvm-dev] What is the process for release notes for LLVM
Eh - I'd say "Big" new features (hey, LLVM supports DWARFv5, or Split DWARF, or DWARF type units, or DWARF compression (though I don't think I wrote any release notes for several of those features that I implemented)).
I wouldn't bother release noting changes in output format for tools we don't consider to have stable output, or changes in robustness/better error handling/reporting as a broad thing - if there's some specific goal reached (llvm-dwarfdump is now X days fuzzer-clean & provides more informative error messages about failures) that might be worth noting, imho.
Maybe a brief sentence like `Diagnostics messages have improved` is sufficient.
I did this for lld 9.0.0 Release Notes — lld 9 documentation
(Thanks to Peter Smith who revised my wording)
FileCheck/lit/yaml2obj - if you like.
I suspect "too many release notes" is probably a problem that would be novel/worth having, so if you want to write more, perhaps do so I & if it seems like too many, we can cut back/retune.
most items don't include a link to Dxxxxx.
A user needs some log grepping to find the particular differential revisions.
Where possible, I hope we include a link. I added Dxxxx links for lld
10.0.0 ELF items lld 10.0.0 Release Notes — lld 10 documentation
(In my opinion Dxxxxx is better than rGxxxxxx because Dxxxxx includes
discussions and can save an interested user a hyperlink click.)
Okay, thanks both, that's useful to know/think about.
I guess it doesn't really answer my question of "when is a release note appropriate"? I've seen in different software release notes that range from one per change, even if not user-facing, all the way to almost none at all, and I'm not sure where to draw the balance (aside from if the release manager wants one, add it). For example, should we add release notes if the error diagnostics from a tool change (text updates/quantity/warnings->errors or vice versa/etc)? Should all new options have an accompanying release note? What about format changes to llvm binutils output? And which tools should we be producing release notes for? Should they exist for FileCheck, lit or yaml2obj even though these are primarily intended for our internal testing?
This approximately follows my understanding and expectation.
I think that, if you have commit access, commits to improve release notes fall under the contribution guidelines for documentation and therefore do not require a full Phabricator review.
I know Alex Bradbury tries to coordinate the RISC-V backend-related release notes based on the backend changes since the last release, and this seems to work well (in some cases soliciting notes, in some cases just writing up what others had done). It does seem that role should not just fall on the shoulders of a backend or component owner, though.
I would agree that it could be easier to update release notes in patches that make the changes to keep everything together, although I'm not sure how this affects backporting patches (solving merge conflicts in release notes seems like it could be rather infuriating if it happened a lot).
I have seen Android and FreeBSD folks back porting specific commits.
I think it might make their life easier if we update release notes separately.