syntax for declaring *when* an API is exported

Bug #615244 reported by Robert Collins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
Low
Unassigned
lazr.restful
Triaged
Low
Unassigned

Bug Description

Its hard to tell when examining an API export whether:
 - the export was in 1.0
 - the export was in 'beta'

Without that, we essentially assume everything was in 1.0, and that makes changing API stuff feel risky, even if it isn't.

Not high from my perspective, but it would be a delicious thing to have for new things we export.

Gary Poster (gary)
Changed in launchpad-foundations:
status: New → Triaged
importance: Undecided → Low
Changed in lazr.restful:
status: New → Triaged
importance: Undecided → Low
Gary Poster (gary)
Changed in launchpad-foundations:
status: Triaged → Incomplete
Changed in lazr.restful:
status: Triaged → Incomplete
Revision history for this message
Gary Poster (gary) wrote :

Robert, I tried to look at some examples with fresh eyes, but I didn't see a problem. Maybe my eyes still are not fresh enough!

In essence, if there's not a specific version annotation like "@operation_for_version('3.0')" then, yes, the thing is in *all* versions.

We could have made it required to specify a starting version, but not specifying a version does seem a natural spelling for "always available, in all versions". Moreover, it would have been a backwards-incompatible change.

We could make it a policy decision to never add anything to 1.0. I believe that Leonard has felt that this was unnecessary, but I like it, myself. We have a simple mechanism planned (check in the WADL for frozen versions and verify that the generated WADL is the same in tests) that would make this policy easy to track in reviews (because the WADL for the frozen version would have been changed).

I expect you know that the lazr.restful versioning mechanism does allow changing or hiding exports in later revisions, even if it was initially exported for all revisions, but perhaps it bears mentioning in context.

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 615244] Re: syntax for declaring *when* an API is exported

I am very much in favour of only adding stuff to 1.0 when we consider
it baked; a test that we don't accidentally change it would be
sufficient to close this for me.

Changed in launchpad:
status: Incomplete → Triaged
Changed in lazr.restful:
status: Incomplete → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.