Thanks for putting that together Dewayne. I was just starting to do that myself when I saw it was already done. As a developer this is fine, I can see a list of PRs and click on each one to see the whole conversation. I can comb through them and get a general sense for what changed.
However, as an operator and user of Traffic Control (which I mostly am these days) I am -1 for the following reasons: 1) only committers can assign labels to issues and pull requests. This means that the committers need to be cognizant of the issues/PRs they are reviewing and apply the change log label; 2) the title of a PR only gives so much information about a change, if I want more information I have to click on each individual one 3) If I am not a developer, or someone who is very familiar with our project, it is hard for me to ascertain from this list which changes are super-important or have some operational considerations attached to them. These are the issues I really care about. 4) When I go to do an upgrade, it's a lot easier to copy/paste a nice bulleted list of what changed then it is to try to take a list of PRs and turn it into a high level list of what's important. We need a solution that gives someone what they need at a glance. Something that can be copy/pasted out or easily linked to. IMO not all of our users are super technical or involved in the day to day so we shouldn't just point them at a list of PRs and say "figure it out"; we should make it easy for them to figure out. I have seen lots of alternatives suggested to what Steve has proposed, but I haven't seen anyone state why they don't like what Steve has proposed? I think what he is proposing is pretty standard across major Github projects that I have seen. I understand that we can introduce some additional inconvenience with having to manually write what your feature or bug fix does, and there could be some conflicts, but isn't it important to clearly portray what has changed? I don't think we need a changelog.md entry to every PR, in fact I hope we don't...we need a changelog.md entry any time we add a new feature, any time we have some operational considerations that need to be communicated, or any time that we fix a bug from a previous release. On Thu, Dec 14, 2017 at 2:02 PM, Jeremy Mitchell <[email protected]> wrote: > This label idea would require everyone to go back and find their PRs that > were closed after Aug 4th (the date 2.1 branch was created) and attach the > 'change log' label and the 2.2 milestone to the appropriate ones, right? > And then that link dew provide would be an accurate picture of what has > changed between 21. and 2.2... > > of course, ignore PRs that don't affect the "interface" like "license > changes", right? > > i like the idea... > > On Thu, Dec 14, 2017 at 1:59 PM, Dewayne Richardson <[email protected]> > wrote: > > > As a POC for the Change Log label follow this link: > > > > https://github.com/apache/incubator-trafficcontrol/ > > pulls?q=is%3Apr+is%3Aclosed+label%3A%22change+log%22+milestone%3A2.2.0 > > > > -Dew > > > > On Thu, Dec 14, 2017 at 10:48 AM, Gelinas, Derek < > > [email protected]> > > wrote: > > > > > I'm +1 for the label as well. > > > > > > > On Dec 14, 2017, at 12:29 PM, Robert Butts <[email protected] > > > > > wrote: > > > > > > > > +1 on a "changelog" label. Seems like that would make it a lot easier > > for > > > > the person writing it up. Easier to skip things like code maintenance > > > that > > > > have no interface effect. > > > > > > > > On Thu, Dec 14, 2017 at 10:14 AM, Dewayne Richardson < > > [email protected]> > > > > wrote: > > > > > > > >> Another idea would be to include a new CHANGELOG label that you > could > > > tack > > > >> onto specific PR's that you wanted to be included (as well as > grouped > > > >> within Milestones) as the high level features that went into the > > > release. > > > >> As for the gotchas, I think those should be Github issues because to > > me > > > >> those were bugs. > > > >> > > > >> -Dew > > > >> > > > >> On Thu, Dec 14, 2017 at 10:01 AM, Jeremy Mitchell < > > > [email protected]> > > > >> wrote: > > > >> > > > >>> I agree. Very readable. I also like the idea of a either creating a > > > >>> CHANGELOG.md for each component...or one CHANGELOG.md with sections > > for > > > >>> each component. > > > >>> > > > >>> I still do like the idea of creating issues with milestones but > I'll > > > let > > > >>> that go. That seems to be a personal preference of mine. > > > >>> > > > >>> Jeremy > > > >>> > > > >>>> On Thu, Dec 14, 2017 at 9:45 AM, Dave Neuman <[email protected]> > > > wrote: > > > >>>> > > > >>>> Have you taken a look at some Changelogs of other github projects? > > > >> Here > > > >>>> are a few from other projects we use in Traffic Control: > > > >>>> - Docker Compose: https://github.com/docker/ > > > >>> compose/blob/master/CHANGELOG. > > > >>>> md > > > >>>> - InfluxDB: https://github.com/influxdata/influxdb/blob/master/ > > > >>>> CHANGELOG.md > > > >>>> - Grafana: https://github.com/grafana/ > grafana/blob/master/CHANGELOG > > . > > > md > > > >>>> - Ansible: https://github.com/ansible/ > ansible/blob/devel/CHANGELOG. > > md > > > >>>> > > > >>>> See how easy to read those are and how they provide a lot of > > > >> information > > > >>>> without having to wade through hundreds of issues and pull > requests? > > > >>> Some > > > >>>> of them also have links to issues for new features, as well as bug > > > >> fixes > > > >>>> that are in the current release. I think all of them are easy to > > read > > > >>> and > > > >>>> can give a user a quick overview of what is in the new release. I > > > think > > > >>>> it's fine to add a link to all the issues if we want, but I think > > > >>>> ultimately we want to create something like what I have linked to > > > >> above. > > > >>>> We might also want to break out our CHANGELOG.md by component to > > > >> provide > > > >>>> even more readability. > > > >>>> > > > >>>> I know our first inclination is to try to automate everything, but > > > >>>> sometimes it makes sense to do things manually so that you can > > create > > > a > > > >>>> better output. > > > >>>> > > > >>>> > > > >>>> > > > >>>> On Thu, Dec 14, 2017 at 8:55 AM, Jeremy Mitchell < > > > >> [email protected]> > > > >>>> wrote: > > > >>>> > > > >>>>> What if CHANGLOG.md includes 2 things: > > > >>>>> > > > >>>>> 1. a link to 2.2 issues (i.e. > > > >>>>> https://github.com/apache/incubator-trafficcontrol/ > > > >>>>> issues?q=is%3Aopen+is%3Aissue+milestone%3A2.2.0 > > > >>>>> 2. a bulleted list of 2.2 gotchas (i.e. Traffic Ops Golang > doesn't > > > >>>> connect > > > >>>>> to a Riak with self-signed certificates; Riak security grant > needs > > > >>>> updated; > > > >>>>> upgrade param needed for ds routing names, etc, etc...) > > > >>>>> > > > >>>>> But again this requires everyone to create issues (with a > > milestone) > > > >> in > > > >>>>> which one or more PR's can be attached to. > > > >>>>> > > > >>>>> Dave, you said "If you are developing a new feature you could > > easily > > > >>> end > > > >>>> up > > > >>>>> with 5 or more PRs" > > > >>>>> > > > >>>>> So in this case, I'd expect 1 issue and 5 PR's linked to that 1 > > > >>> issue... > > > >>>>> > > > >>>>> Jeremy > > > >>>>> > > > >>>>> On Thu, Dec 14, 2017 at 8:40 AM, Dave Neuman <[email protected]> > > > >>> wrote: > > > >>>>> > > > >>>>>> I think it's fine to include all of our PRs and issues in a > github > > > >>>>>> milestone, and we should do that, but I don't think that we want > > to > > > >>>>> include > > > >>>>>> every single PR in our changelog. When we have tried that in > the > > > >>> past > > > >>>> we > > > >>>>>> have realized that it gets to be so much information that it's > not > > > >>>>> useful. > > > >>>>>> A good example of why is a new feature. If you are developing a > > new > > > >>>>> feature > > > >>>>>> you could easily end up with 5 or more PRs: one to introduce the > > > >>>> feature, > > > >>>>>> one to add some more functionality, several to fix bugs with it, > > > >> etc. > > > >>>>>> Instead of having a line in the changelog for each one of those > > > >> PRs, > > > >>> we > > > >>>>>> should just have one line that says "introduced feature X" with > > > >>> maybe a > > > >>>>>> blurb about what it is and any release notes that an operator > > would > > > >>>> need > > > >>>>> to > > > >>>>>> know. This way the file in concise and easy to understand by > > > >> anyone > > > >>>>>> wanting to use a new version of our product. I think it's also > > > >>>> important > > > >>>>>> to include what bug fixes (since the previous release) that we > > have > > > >>>>> fixed. > > > >>>>>> Those are the reasons why I tend to lean towards a manual > > > >> changelog. > > > >>>> It > > > >>>>>> gives us the ability to control how much information goes into > the > > > >>>>>> changelog and the flexibility to make sure it is useful. > > > >>>>>> > > > >>>>>> On Thu, Dec 14, 2017 at 8:13 AM, Jeremy Mitchell < > > > >>>> [email protected]> > > > >>>>>> wrote: > > > >>>>>> > > > >>>>>>> Why not leverage Github issues/milestones to determine the > scope > > > >> of > > > >>>>> each > > > >>>>>>> release? Per our CONTRIBUTING.md > > > >>>>>>> <https://github.com/apache/incubator-trafficcontrol/blob/ > > > >>>>>>> master/CONTRIBUTING.md> > > > >>>>>>> : > > > >>>>>>> > > > >>>>>>> "If you have improvements (enhancements or bug fixes) for > Traffic > > > >>>>>> Control, > > > >>>>>>> start by creating an issue > > > >>>>>>> <https://github.com/apache/incubator-trafficcontrol/issues > >..." > > > >>>>>>> > > > >>>>>>> That implies that all PR's should be mapped to an issue > although > > > >> we > > > >>>> do > > > >>>>>> not > > > >>>>>>> enforce this but if we did it would be easy to put each issue > > > >> into > > > >>> a > > > >>>>>>> milestone (2.2 for example) and then pull a github report at > any > > > >>>> time. > > > >>>>>>> > > > >>>>>>> Or....rather than creating an issue, put a good > title/description > > > >>> on > > > >>>>> your > > > >>>>>>> PR and then the PR can be assigned to the milestone instead. > > > >>>>>>> > > > >>>>>>> It just seems like that's what milestones are for so why not > use > > > >>>> them? > > > >>>>>>> > > > >>>>>>> Jeremy > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> On Wed, Dec 13, 2017 at 3:28 PM, Dave Neuman < > [email protected]> > > > >>>>> wrote: > > > >>>>>>> > > > >>>>>>>> I am +1 on this approach, I know it's manual and there could > be > > > >>>>>> conflicts > > > >>>>>>>> and it's a bit of a PITA, but I think it actually has some > > > >>> benefits > > > >>>>> in > > > >>>>>>> that > > > >>>>>>>> a human can actually enter in important release notes that are > > > >>>>> readable > > > >>>>>>> and > > > >>>>>>>> make sense. > > > >>>>>>>> That being said if someone is willing to make an automated > > > >>> approach > > > >>>>>> work, > > > >>>>>>>> that allows us to keep track of changes at a reasonable level > > > >>> (not > > > >>>>> per > > > >>>>>>>> commit, not necessarily even per PR), then I could be +1 on > > > >> that > > > >>> as > > > >>>>>> well. > > > >>>>>>>> I would need to someone volunteer to make it work before I > give > > > >>> my > > > >>>> +1 > > > >>>>>>>> though. > > > >>>>>>>> Either way, we REALLY need a changelog that is updated > > > >> regularly > > > >>>> with > > > >>>>>>>> important information. > > > >>>>>>>> > > > >>>>>>>> --Dave > > > >>>>>>>> > > > >>>>>>>> On Wed, Dec 13, 2017 at 3:00 PM, Steve Malenfant < > > > >>>>> [email protected] > > > >>>>>>> > > > >>>>>>>> wrote: > > > >>>>>>>> > > > >>>>>>>>> Hey All, > > > >>>>>>>>> > > > >>>>>>>>> There has been a vote on not maintaining a CHANGELOG file in > > > >>> the > > > >>>>> past > > > >>>>>>> and > > > >>>>>>>>> seems like we leaned toward an automated process. I believe > > > >>> none > > > >>>> of > > > >>>>>>> them > > > >>>>>>>>> had happened (please correct me if not). > > > >>>>>>>>> > > > >>>>>>>>> I have been upgrading Traffic Control from 2.1 to 2.2 this > > > >> week > > > >>>> and > > > >>>>>>> found > > > >>>>>>>>> numerous gotchas. > > > >>>>>>>>> > > > >>>>>>>>> Some examples of things I ran into and luckily I was able to > > > >>> get > > > >>>>> good > > > >>>>>>>>> support from the Slack channels. Here is a few example of > > > >>>> possible > > > >>>>>>>> breaking > > > >>>>>>>>> changes : > > > >>>>>>>>> > > > >>>>>>>>> - Delivery Service prefixes disappeared after upgrade, was > > > >> not > > > >>>>>> handled > > > >>>>>>> in > > > >>>>>>>>> postinstall (requires special attention, this was on this > > > >> forum > > > >>>> and > > > >>>>>>> well > > > >>>>>>>>> documented on the mailing list) > > > >>>>>>>>> - Traffic Ops Golang doesn't connect to a Riak with > > > >> self-signed > > > >>>>>>>>> certificates > > > >>>>>>>>> - Riak security grant needs updated > > > >>>>>>>>> - cdn.conf configuration change > > > >>>>>>>>> - Traffic Portal required for new features (URI Signing) > > > >>>>>>>>> - cachekey plugin instead of cacheurl > > > >>>>>>>>> > > > >>>>>>>>> There was great enhancements made in 2.2 needs to be noticed > > > >> by > > > >>>>>> current > > > >>>>>>>> and > > > >>>>>>>>> new users. If we are looking to get more engagement, that's > > > >>>>> probably > > > >>>>>>> the > > > >>>>>>>>> #1 thing to do. I usually go and read about all the other > > > >>>>> components > > > >>>>>>>> which > > > >>>>>>>>> we use around the Traffic Control CDN (Influx, Elastic, > > > >>> Grafana, > > > >>>>>>> etc...) > > > >>>>>>>>> > > > >>>>>>>>> So let me re-quote what Dave has sent and ask the same > > > >> question > > > >>>>>> again. > > > >>>>>>>>> > > > >>>>>>>>> ====== > > > >>>>>>>>> Hey All, > > > >>>>>>>>> One thing we discussed at the meetup was the addition of a > > > >>>>>> CHANGELOG.md > > > >>>>>>>>> file to the project. This file will contain changes that > > > >> are > > > >>>> made > > > >>>>>> to > > > >>>>>>>> the > > > >>>>>>>>> project including bug fixes and new features. (e.g. > > > >>>>>>>>> https://github.com/influxdata/influxdb/blob/master/ > > > >>> CHANGELOG.md > > > >>>> ). > > > >>>>>>>> Adding > > > >>>>>>>>> this file means that we will now require each PR to contain > > > >> an > > > >>>>> update > > > >>>>>>> to > > > >>>>>>>>> the CHANGELOG.md file, and our documentation will need to be > > > >>>>> updated > > > >>>>>>>>> accordingly. > > > >>>>>>>>> I thought it would be good to open a vote for adding this > > > >> file, > > > >>>> and > > > >>>>>> if > > > >>>>>>> it > > > >>>>>>>>> passes, I will update the documentation and add a > > > >> CHANGELOG.md > > > >>>>> file. > > > >>>>>>>>> > > > >>>>>>>>> Thanks, > > > >>>>>>>>> Dave > > > >>>>>>>>> ====== > > > >>>>>>>>> > > > >>>>>>>>> I'm a +1 on CHANGELOG, but I'm not heavy creating PRs which > > > >>> kind > > > >>>>>>>> influence > > > >>>>>>>>> my vote. > > > >>>>>>>>> > > > >>>>>>>>> Steve > > > >>>>>>>>> > > > >>>>>>>> > > > >>>>>>> > > > >>>>>> > > > >>>>> > > > >>>> > > > >>> > > > >> > > > > > >
