+1 I like the idea of a todo list of sorts.

On Wed, Oct 7, 2015 at 5:18 PM, Marko Rodriguez <okramma...@gmail.com>
wrote:

> Yes. This is a good idea.
>
> Marko.
>
> http://markorodriguez.com
>
> On Oct 7, 2015, at 8:55 AM, Matt Frantz <matthew.h.fra...@gmail.com>
> wrote:
>
> > I like the idea of creating "Migration" documents.  Separate docs for
> > implementers and clients would probably make it easier to consume.
> > Refactoring the information as a "todo" list, rather than having it go
> > chronologically by when each JIRA ticket was resolved would make it even
> > more developer-friendly.  For example, here's the stuff you have to do to
> > your structure classes.  On the client side, here are the changes to the
> > server interface, the Gremlin DSL changes organized by step, etc.
> >
> > On Wed, Oct 7, 2015 at 4:16 AM, Stephen Mallette <spmalle...@gmail.com>
> > wrote:
> >
> >> I'm going to resurrect this old-ish thread as we didn't really draw to
> any
> >> particular conclusion and new releases are looming.  Just to save folks
> >> from having to re-read the thread itself, the basic summary is that we
> want
> >> to make it easy for implementers and users to consume our new
> releases.  We
> >> largely rely on two things right now to convey that information:
> >>
> >> 1. JIRA and the "breaking" label
> >> 2. CHANGELOG (which is generated from JIRA)
> >>
> >> The idea is that people reading CHANGELOG check in on JIRA to see how to
> >> resolve their upgrade issues. I find two issues with that.  First, I
> >> wouldn't like to do that if I were a user (i.e. resolving JIRA URLs to
> find
> >> out what's going on in a release).  Second, we have no "document" that
> >> yields a nice summary of all change.  We used to have a bit more
> verbosity
> >> in the CHANGELOG when it wasn't just JIRA, but even then it wasn't
> pretty
> >> and didn't provide much information on how to upgrade.
> >>
> >> I'd proposed the idea in this thread that we create a  "companion"
> document
> >> in /docs to CHANGELOG.  This document would be the thing we point folks
> to
> >> when we have a release and it roughly contains:
> >>
> >> 1. A summary of important/major changes.
> >> 2. A section for implementers that describes how to resolve "breaking"
> >> change
> >> 3. A section for users that describes how to resolve "breaking" change.
> >>
> >> Anyone like this idea?  If not, are there other ideas on how we can
> improve
> >> here?
> >>
> >>
> >>
> >>
> >> On Wed, Sep 9, 2015 at 9:49 AM, Stephen Mallette <spmalle...@gmail.com>
> >> wrote:
> >>
> >>> I added a section about "Deprecation" to CONTRIBUTING that describes
> the
> >>> patterns we've been using informally:
> >>>
> >>>
> >>>
> >>
> https://github.com/apache/incubator-tinkerpop/blob/dd6bcfb6b23525863e1073e304f6a5aea0ca3c35/CONTRIBUTING.asciidoc#deprecation
> >>>
> >>> I added in one additional thing we haven't been doing: Creating JIRA
> >>> issues to track deprecated methods for future removal. It seems like
> >> that's
> >>> an easy way to not lose track of anything we deprecated (i.e. as soon
> as
> >> we
> >>> deprecate something - create a ticket in jira for future removal).  We
> >> can
> >>> then periodically roll through those JIRA issues and have a community
> >>> discussion about when it is prudent to remove something for good.
> Sound
> >>> good?
> >>>
> >>> I replied to this thread as it related to "breaking" change and how we
> >>> convey it to folks.  Haven't seen any more replies to this thread
> since -
> >>> any new ideas around breaking/changelog/etc?
> >>>
> >>> On Wed, Sep 2, 2015 at 4:53 PM, Stephen Mallette <spmalle...@gmail.com
> >
> >>> wrote:
> >>>
> >>>> The "breaking" label seems a bit too broad - especially after going
> >>>> through the details of the release process today.  i do believe we
> need
> >>>> some additional categorization in there - especially for users who are
> >>>> trying to figure out what's going on when they bump version.  i don't
> >> think
> >>>> we should shove it all into CHANGELOG though  - i have the sense that
> >> for
> >>>> it to be useful we'll need more than just one-line bullets. For
> >> instance,
> >>>> take a look at what i just pushed into this issue as a comment:
> >>>>
> >>>>
> >>>>
> >>
> https://issues.apache.org/jira/browse/TINKERPOP3-690?focusedCommentId=14727966&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14727966
> >>>>
> >>>> I needed several sentences plus a link to make it easy for folks to
> know
> >>>> what to do.  perhaps, we have a companion document in /docs for each
> >>>> version that describes what to expect with the release.  in that way
> we
> >> can
> >>>> be more descriptive, better summarize JIRA tickets, create the
> sections
> >> you
> >>>> described and have room to expand as needed, etc.  If we did it this
> >> way I
> >>>> don't think it would be terrible to keep our single "breaking" label
> in
> >>>> JIRA for our internal use, because on release day we'd roll through
> the
> >>>> breaking labels on that release and make sure they were summarized
> >> properly
> >>>> in the companion doc.
> >>>>
> >>>>
> >>>> On Wed, Sep 2, 2015 at 3:35 PM, Marko Rodriguez <okramma...@gmail.com
> >
> >>>> wrote:
> >>>>
> >>>>> Hi Stephen (cc: others),
> >>>>>
> >>>>> I think you had an email about this at some point, but I can't find
> it.
> >>>>> So I will just say what I think is cool and please correct me if
> there
> >> is
> >>>>> already a pattern in place.
> >>>>>
> >>>>> I think we should make a distinction between "breaking" change and
> >>>>> "deprecating" change. Next, in the CHANGELOG, when there is a
> >>>>> breaking/deprecating change we should tag it like this:
> >>>>>
> >>>>>        * Simplified `SackValueStep` so it now supports both
> >>>>> `sack(function)` and sack(function).by()`. (*deprecating*)
> >>>>>
> >>>>> Then, at the bottom of the CHANGELOG (for that release) we have two
> >>>>> sections: Breaking Solutions and Deprecating Solutions. For the
> example
> >>>>> above.
> >>>>>
> >>>>>        Deprecating Solutions
> >>>>>        ------------------------------
> >>>>>
> >>>>>        * `GremlinTraversal.sack(function,string)` can be rewritten
> >>>>> using `GraphTraversal.sack(function).by(string)`.
> >>>>>
> >>>>> This way, we not only explicitly show people what is deprecated and
> >> what
> >>>>> is "broken," but also how to solve it.
> >>>>>
> >>>>> Perhaps this is taking it too far, but we could even have like:
> >>>>>
> >>>>>        * deprecating/breaking graph system vendor
> >>>>>        * deprecating/breaking graph language vendor
> >>>>>        * deprecating/breaking user code
> >>>>>
> >>>>> Thoughts?,
> >>>>> Marko.
> >>>>>
> >>>>> http://markorodriguez.com
> >>>>>
> >>>>>
> >>>>
> >>>
> >>
>
>

Reply via email to