> > Does API 4.x exist before 6.0?
> According to the most recent docs, yes.
https://traffic-control-cdn.readthedocs.io/en/latest/api/index.html#api-v4-routes

Those are the docs for the master branch.
There is no mention of API 4.x in the ATC 5.1.2 docs:
https://traffic-control-cdn.readthedocs.io/en/v5.1.2/api/index.html

-Zach


On Tue, Jul 27, 2021 at 11:29 AM Gray, Jonathan
<jonathan_g...@comcast.com.invalid> wrote:

> According to the most recent docs, yes.
> https://traffic-control-cdn.readthedocs.io/en/latest/api/index.html#api-v4-routes
>
> Jonathan G
>
> From: Dave Neuman <neu...@apache.org>
> Date: Tuesday, July 27, 2021 at 10:59 AM
> To: dev@trafficcontrol.apache.org <dev@trafficcontrol.apache.org>
> Subject: Re: [EXTERNAL] Re: Deprecate APIv2 and v3
> Does API 4.x exist before 6.0?
> I am worried about basically telling our users that before they can go to
> 6.x they have to get off API 1.x but the latest at that point is 3.x so
> then we are turning around and saying they have to update again.  I would
> prefer if we gave more time and did 2.0 now and 3.0 in our next release.
> I am not going to -1 because ultimately it is not going to impact me as
> much as those that have already shared opinions, but I did want to make
> sure we aren't being unfair to our users.
>
> Thanks,
> Dave
>
> On Mon, Jul 26, 2021 at 4:40 PM Zach Hoffman <zrhoff...@apache.org> wrote:
>
> > +1 for deprecating APIv2 and APIv3.
> >
> > -Zach
> >
> > On Tue, Jul 20, 2021 at 3:28 PM Jeremy Mitchell <mitchell...@gmail.com>
> > wrote:
> >
> > > sorry about that. i'm +1 on deprecating APIv2 and APIv3 in the fashion
> > you
> > > mentioned.
> > >
> > > On Tue, Jul 20, 2021 at 2:39 PM ocket 8888 <ocket8...@gmail.com>
> wrote:
> > >
> > > > I don't really want to propose anything more complex than deprecating
> > > APIv2
> > > > and APIv3 in this  thread. Which isn't to say that I don't have
> > opinions
> > > on
> > > > all of this, but it's starting to confuse the point when people are
> > > giving
> > > > +1s and -1s on things besides the thread subject.
> > > >
> > > > On Tue, Jul 20, 2021 at 2:17 PM Robert O Butts <r...@apache.org>
> wrote:
> > > >
> > > > > > so really TO (api) seems to have many versions
> > > > >
> > > > > The Traffic Ops application has a single project/app version. The
> TO
> > > > > Application "serves" multiple API Versions, which are unrelated to
> > that
> > > > > application version. TO doesn't "have" many versions, it has one
> > > > version. A
> > > > > particular Traffic Ops version "10" might serve API versions X,Y,Z.
> > But
> > > > > those API versions aren't "part" of the Traffic Ops Versions. There
> > > > exists
> > > > > no "Traffic Ops version 10" which serves any other API versions.
> And
> > > > there
> > > > > might exist other Traffic Ops versions which also serve X,Y,Z. So,
> TO
> > > > only
> > > > > has one version, "10." X,Y,Z are unrelated to 10, except that 10 is
> > > > > documented as serving X,Y,Z.
> > > > >
> > > > > > ATC is version 5.x, for example, so all the components are
> version
> > > 5.x,
> > > > > right?
> > > > >
> > > > > As an aside, IMO having separate application versions would make a
> > lot
> > > of
> > > > > sense and make a lot of things easier. I don't want to push for
> that
> > > > right
> > > > > now, but something to think about. Maybe part of the version after
> > the
> > > > > project, e.g. ATC could be Version 10.11 and Traffic Ops could have
> > its
> > > > own
> > > > > application version 5.7, so Traffic Ops would have the complete
> > version
> > > > > "atc-10.11-to-5.7-hash-abc123.rpm" or whatever. I think that might
> > make
> > > > it
> > > > > clearer when one app hasn't changed even if the project did,
> > especially
> > > > > with our apps that don't change very often. Something to think
> about.
> > > > >
> > > > >
> > > > >
> > > > > On Tue, Jul 20, 2021 at 1:44 PM Jeremy Mitchell <
> > mitchell...@gmail.com
> > > >
> > > > > wrote:
> > > > >
> > > > > > All good points but also consider this, ATC is version 5.x, for
> > > > example,
> > > > > so
> > > > > > all the components are version 5.x, right? meaning the TO
> component
> > > > (aka
> > > > > > the TO api) is.... version 5.x.... :)
> > > > > >
> > > > > > so really TO (api) seems to have many versions (5.x inherited
> from
> > > the
> > > > > > project and 2.x, 3.x, 4.x, the versions of the "interface"). yes,
> > > > > > confusing...
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Tue, Jul 20, 2021 at 1:32 PM Robert O Butts <r...@apache.org>
> > > wrote:
> > > > > >
> > > > > > > > Also, after years of API confusion, is it time to simply sync
> > the
> > > > ATC
> > > > > > > > version with the API version (brennan has touched on this in
> > the
> > > > > past)
> > > > > > > > starting with our "next" API version. So instead of APIv5,
> we'd
> > > > just
> > > > > > jump
> > > > > > > > to APIv7. ex:
> > > > > > >
> > > > > > > I strongly disagree with "synchronizing" the API and project
> > > version.
> > > > > The
> > > > > > > idea that they need to be the same is deeply confused about
> what
> > > they
> > > > > > are,
> > > > > > > and making them the same will reinforce that confusion with the
> > > > people
> > > > > > who
> > > > > > > are confused.
> > > > > > >
> > > > > > > The project version and the API version are completely
> > independent
> > > > and
> > > > > > > unrelated things. The idea that they need to be versioned
> > together
> > > > and
> > > > > > are
> > > > > > > somehow the same thing is incredibly confused and mistaken
> about
> > > the
> > > > > > > fundamental idea of what an API is and what a code project is.
> > > > > > >
> > > > > > > The API is the API. The project is the project. An API is an
> > > > > Application
> > > > > > > Programming Interface: an interface, like an electric outlet
> or a
> > > > water
> > > > > > > faucet connection. The Traffic Control project is a code
> > project: a
> > > > > > > collection of applications, written in code, to do a thing, in
> > this
> > > > > case
> > > > > > a
> > > > > > > CDN.
> > > > > > >
> > > > > > > These are completely, entirely, totally different things. It
> > would
> > > be
> > > > > > like
> > > > > > > working for a company that sells both laptops and capacitors,
> and
> > > > > saying,
> > > > > > > "Our capacitors and laptops should have the same serial
> numbers,
> > > > > because
> > > > > > > they both contain iron atoms."
> > > > > > >
> > > > > > > Yes, the code in the project serves certain APIs. But the two
> > > things
> > > > > are
> > > > > > > completely independent. Giving them the same version will
> > reinforce
> > > > the
> > > > > > > wrong and confused belief that they're somehow the same thing,
> > when
> > > > > > > literally the only thing they have in common as ideas is that
> > > they're
> > > > > two
> > > > > > > version numbers published by Apache Traffic Control.
> > > > > > >
> > > > > > > Moreover, All Traffic Control applications will always have to
> > > serve
> > > > at
> > > > > > > least one major version back, in order to make it possible to
> > > > upgrade.
> > > > > So
> > > > > > > the confused idea that they're somehow the same will be made
> even
> > > > more
> > > > > > > confusing, because now people think "The API is the same as the
> > > > > Project,
> > > > > > > and the version proves it, but the project has to serve
> multiple
> > > > APIs."
> > > > > > > Making people even more confused.
> > > > > > >
> > > > > > > In fact, I'm inclined to think making the versions completely
> > > > different
> > > > > > > schemes, such as one being letters and the other numbers, would
> > > help
> > > > > > reduce
> > > > > > > the confusion, and make it more clear that the two versioned
> > things
> > > > are
> > > > > > > completely unrelated.
> > > > > > >
> > > > > > >
> > > > > > > On Tue, Jul 20, 2021 at 1:00 PM Jeremy Mitchell <
> > > > mitchell...@gmail.com
> > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > ^^ I'm good with this.
> > > > > > > >
> > > > > > > > Also, after years of API confusion, is it time to simply sync
> > the
> > > > ATC
> > > > > > > > version with the API version (brennan has touched on this in
> > the
> > > > > past)
> > > > > > > > starting with our "next" API version. So instead of APIv5,
> we'd
> > > > just
> > > > > > jump
> > > > > > > > to APIv7. ex:
> > > > > > > >
> > > > > > > > ATCv7 supports APIv7 (to get inline with ATC version) and
> APIv4
> > > > (the
> > > > > > api
> > > > > > > > version from ATCv6)
> > > > > > > > ATCv8 supports APIv8 and APIv7
> > > > > > > > etc
> > > > > > > >
> > > > > > > > but then i guess that begs the question, if we bump the major
> > ATC
> > > > > > version
> > > > > > > > for another reason (big feature or something), does that mean
> > we
> > > > have
> > > > > > to
> > > > > > > > bump the API version if not really necessary just to keep
> ATCv
> > ==
> > > > > APIv?
> > > > > > > >
> > > > > > > > jeremy
> > > > > > > >
> > > > > > > > On Mon, Jul 19, 2021 at 1:08 PM Rawlin Peters <
> > raw...@apache.org
> > > >
> > > > > > wrote:
> > > > > > > >
> > > > > > > > > > What kind of backward compatibility expectation are we
> > aiming
> > > > for
> > > > > > > here?
> > > > > > > > > With 1.x we were coming from 5+ years of backward
> > compatibility
> > > > > > > > >
> > > > > > > > > I don't think we ever intended for API 1.x to live for so
> > long,
> > > > but
> > > > > > we
> > > > > > > > > also never promised an agreed-upon amount of time for
> > backwards
> > > > > > > > > compatibility. I think the intention is that we'd like to
> > have
> > > > one
> > > > > > > > > major release cycle where both major API versions are
> > supported
> > > > (in
> > > > > > > > > order for clients to have a transitionary period), then we
> > are
> > > > free
> > > > > > to
> > > > > > > > > remove the deprecated API version in the following release.
> > The
> > > > > > amount
> > > > > > > > > of time we remain backwards-compatible should really depend
> > on
> > > > how
> > > > > > > > > long the release cycles are, which we're aiming for
> > quarterly.
> > > > > > > > >
> > > > > > > > > I agree it is a lot of headache to update 3rd party tooling
> > as
> > > > API
> > > > > > > > > versions are deprecated and removed (which is why I'm
> hoping
> > we
> > > > > don't
> > > > > > > > > introduce another major API version very soon), but
> hopefully
> > > the
> > > > > > vast
> > > > > > > > > majority of cases are simply updating the URLs from 2.0 or
> > 3.0
> > > to
> > > > > > 4.0,
> > > > > > > > > since there should only be a small number of breakages from
> > 2.0
> > > > to
> > > > > > 4.0
> > > > > > > > > (mostly servers-related routes) that would actually require
> > > > > changing
> > > > > > > > > more than just the URL. Migrating from 1.x has probably
> been
> > > more
> > > > > > > > > difficult since we dropped a lot of redundant routes.
> > > > > > > > >
> > > > > > > > > - Rawlin
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > - Rawlin
> > > > > > > > >
> > > > > > > > > On Mon, Jul 19, 2021 at 11:43 AM Gray, Jonathan
> > > > > > > > > <jonathan_g...@comcast.com.invalid> wrote:
> > > > > > > > > >
> > > > > > > > > > What kind of backward compatibility expectation are we
> > aiming
> > > > for
> > > > > > > here?
> > > > > > > > > With 1.x we were coming from 5+ years of backward
> > compatibility
> > > > and
> > > > > > now
> > > > > > > > it
> > > > > > > > > seems like we’re aiming for < 1 year with rotation at every
> > > major
> > > > > > rev.
> > > > > > > > > That’s a lot of headache for 3rd party tooling support to
> > > > > constantly
> > > > > > be
> > > > > > > > > changing regardless if that means you’re upgrading SDK
> > > > dependencies
> > > > > > or
> > > > > > > > raw
> > > > > > > > > HTTP calls.
> > > > > > > > > >
> > > > > > > > > > Jonathan G
> > > > > > > > > >
> > > > > > > > > > From: Rawlin Peters <raw...@apache.org>
> > > > > > > > > > Date: Friday, July 16, 2021 at 11:54 AM
> > > > > > > > > > To: dev@trafficcontrol.apache.org <
> > > > dev@trafficcontrol.apache.org
> > > > > >
> > > > > > > > > > Subject: [EXTERNAL] Re: Deprecate APIv2 and v3
> > > > > > > > > > +1 on deprecating API v2-3 with the release of ACTv6 and
> > > > removing
> > > > > > > them
> > > > > > > > > > in ATCv7. Hopefully we won't need a TO API v5 very soon
> so
> > we
> > > > can
> > > > > > > have
> > > > > > > > > > a break from the API instability.
> > > > > > > > > >
> > > > > > > > > > +1 on not requiring every v2 and v3 endpoint to return
> > > > > deprecation
> > > > > > > > > > notices. I think just mentioning it on the mailing list,
> > the
> > > > > > > > > > changelog, and the docs should cover it. Updating all the
> > > v2/v3
> > > > > > > > > > endpoints to return deprecation notices would be quite a
> > lot
> > > of
> > > > > > code
> > > > > > > > > > change with very little benefit IMO. However, for certain
> > > > > endpoints
> > > > > > > > > > that have no v4 equivalent, we are returning deprecation
> > > > notices
> > > > > > > (e.g.
> > > > > > > > > > cachegroup parameters).
> > > > > > > > > >
> > > > > > > > > > - Rawlin
> > > > > > > > > >
> > > > > > > > > > On Fri, Jul 16, 2021 at 11:28 AM ocket 8888 <
> > > > ocket8...@gmail.com
> > > > > >
> > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > With the release of APIv4 in ATCv6, should we
> > > simultaneously
> > > > > > > > deprecate
> > > > > > > > > > > APIv2 and APIv3? I think so, that'll mean we can remove
> > > them
> > > > in
> > > > > > > > ATCv7,
> > > > > > > > > > > whereupon the stable API 4.0 will have existed for a
> full
> > > > major
> > > > > > > rev,
> > > > > > > > > and
> > > > > > > > > > > APIv5 will ostensibly be released (if not sooner, since
> > we
> > > > > could
> > > > > > do
> > > > > > > > > that
> > > > > > > > > > > e.g. in a 6.1).
> > > > > > > > > > >
> > > > > > > > > > > If so, we should also discuss what that will mean
> > > materially.
> > > > > > With
> > > > > > > > > > > endpoints that disappear between API versions we have
> > them
> > > > > return
> > > > > > > > > > > warning-level alerts that indicate they won't be
> > available
> > > on
> > > > > > > > upgrade,
> > > > > > > > > but
> > > > > > > > > > > for APIv1 as a whole we didn't issue any kind of formal
> > > > notice
> > > > > > > afaik,
> > > > > > > > > not
> > > > > > > > > > > even a changelog entry. I think the right answer is
> > > somewhere
> > > > > > > between
> > > > > > > > > these
> > > > > > > > > > > - a changelog entry and notices on the APIv2 and APIv3
> > > > > reference
> > > > > > > > > sections
> > > > > > > > > > > of the documentation. I don't think it's necessary to
> > > mention
> > > > > on
> > > > > > > each
> > > > > > > > > > > endpoint that the entire API version is deprecated,
> > either
> > > in
> > > > > the
> > > > > > > > > > > documentation or in the API through Alerts.
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to