+1 on the CHANGELOG.md as well, but I like having the changelog label because it helps streamline it's creation. I also think the labels are valuable because they help summarize the parts of the repo that changed and keeps the concept closer to the repository (where the real change is).
-Dew On Thu, Dec 14, 2017 at 3:01 PM, Robert Butts <[email protected]> wrote: > +1. To clarify, I'm +1 on having the "changelog" label, to help whoever > manually goes thru and builds the CHANGELOG.md. > > But I agree with @neuman I don't think we can automate this. Titles are too > short, some changes need longer explanations and some don't, only a human > can figure out how important something is to users; a high priority bug fix > could still be low-impact, or vica-versa. Much as I dislike manual things, > this really needs human judgement. And we absolutely need a good Changelog > with each Release. > > On Thu, Dec 14, 2017 at 2:36 PM, Dave Neuman <[email protected]> wrote: > > > 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 > > > > > >>>>>>>>> > > > > > >>>>>>>> > > > > > >>>>>>> > > > > > >>>>>> > > > > > >>>>> > > > > > >>>> > > > > > >>> > > > > > >> > > > > > > > > > > > > > > >
