Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 1.0 release strategy #1645

Closed
joshuagl opened this issue Oct 27, 2021 · 14 comments · Fixed by #1873
Closed

Version 1.0 release strategy #1645

joshuagl opened this issue Oct 27, 2021 · 14 comments · Fixed by #1873
Assignees
Labels
backlog Issues to address with priority for current development goals decision record Outcome of this discussion should be tracked in a decision record discussion Discussions related to the design, implementation and operation of the project
Milestone

Comments

@joshuagl
Copy link
Member

We have a loosely communicated intent to ship python-tuf 1.0 with only the new/refactored code (metadata API + ngclient + ???). We should define what that release looks like, including accounting for:

  • Communicating deprecation expectations with regards the legacy code
    • ADR 2 indicates legacy code will be supported on a best-effort basis, but this has not been communicated to users of python-tuf
    • "Support for older releases: Bugs reported with tuf versions prior to 1.0.0 will likely not be addressed directly by tuf’s maintainers. Pull Requests to fix bugs in the last release prior to 1.0.0 will be considered, and merged (subject to normal review processes). Note that there may be delays due to the lack of developer resources for reviewing such pull requests."

  • What the feature complete state looks like for a python-tuf 1.0 release? Must python-tuf 1.0 provide feature parity with the legacy code?
@joshuagl joshuagl added discussion Discussions related to the design, implementation and operation of the project decision record Outcome of this discussion should be tracked in a decision record labels Oct 27, 2021
@lukpueh lukpueh self-assigned this Oct 28, 2021
@sechkova sechkova added the backlog Issues to address with priority for current development goals label Nov 10, 2021
@lukpueh lukpueh added this to the Sprint 12 milestone Nov 10, 2021
@lukpueh
Copy link
Member

lukpueh commented Nov 10, 2021

This is a list of items that I think should and are feasible to be in 1.0.0 by the tentatively scheduled release date end of 2021 / early 2022, plus a rough list of TODO items to get to 1.0.0. Feel free to comment, add, remove and help break down the items in both lists.

Feature set of 1.0.0

  • feature complete client
  • client API docs on RTD (#1595, #1601)
  • client tutorial/example (#1518)
  • metadata API
  • metadata API docs on RTD (#1600, #1595, #1602)
  • no repository tool
    NOTE: It is not feasible to have a stable repository tool by the planned 1.0.0 release date. I suggest we publicly express our intent to provide one post-1.0.0, and until then provide example code that uses the metadata API for all repo activities.
  • repository tutorial/example based on metadata API
    NOTE: The main usage scenarios are described in the advanced tutorial and in this usage scenario draft document. Plus the repo editor demonstrates how to use the metadata API for this purpose (its generic UI aspect may be ignored).
  • no legacy code
  • 1.0.0 release announcement plus migration document with the following contents:
    • planned 1.0.0 release date
    • link to ADR 2 and the fact that pre-1.0.0 code will remain available and be supported on a best-effort basis
    • list of what will be in 1.0.0 and what won't (basically this list)
    • links to client example code and repository tutorial (see corresponding items above)
    • an explanation how a generic from-legacy-to-new migration guide is not feasible, due to varying TUF usage
    • our word that we are contacting our users individually to help them migrate
    • an offer to all our users that we haven't contacted, to reach out to us so that we can help them migrate

TODO:

  • review/create/associate/resolve issues for items above, maybe re-use 1.0.0 GitHub project to manage?
  • publish 1.0.0 announcement/migration guide soon
  • post link to 1.0.0 announcement/migration guide on slack, mailing list, theupdateframework.io and on top of python-tuf#README
  • contact known adopters individually and offer help

@joshuagl
Copy link
Member Author

There were a couple of items on my "before 1.0" bucket list:

@jku
Copy link
Member

jku commented Dec 8, 2021

@joshuagl
Copy link
Member Author

joshuagl commented Jan 5, 2022

As TODO items:

  • have a look into the specification to figure out which version of it the specification the new code actually supports

Relates to #1598

@jku
Copy link
Member

jku commented Jan 11, 2022

Lukas just created a 1.0.0 blockers label. Let's agree on some rules though... my suggestion:

  • anyone (with label permissions) can add/remove issues to label, or suggest additions here
  • when issues are added/removed, they should be announced in a comment here so others are notified

we should aim to only include things that are required to get 1.0 released -- fixing other things is still ok but they don't need the label.

@jku
Copy link
Member

jku commented Jan 11, 2022

@jku
Copy link
Member

jku commented Jan 12, 2022

@jku
Copy link
Member

jku commented Jan 12, 2022

I'd really like these... but maybe not release blockers in the end? @joshuagl opinions?

Added as blocker:

@jku
Copy link
Member

jku commented Jan 12, 2022

This one I think we should work on at least far enough that we know how it's going to be solved: if Metadata API does not break as result, it could wait until after 1.0?

@jku
Copy link
Member

jku commented Jan 12, 2022

Opinions on this -- maybe should be in 1.0?

EDIT: Added as blocker

@joshuagl
Copy link
Member Author

I'd really like these... but maybe not release blockers in the end? @joshuagl opinions?

Agreed. These are important and nice to have for 1.0 but not blockers.

@jku jku linked a pull request Feb 18, 2022 that will close this issue
@jku jku closed this as completed in #1873 Feb 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Issues to address with priority for current development goals decision record Outcome of this discussion should be tracked in a decision record discussion Discussions related to the design, implementation and operation of the project
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants