Mechanics of the next Knative release (1.0)

15 views
Skip to first unread message

Evan Anderson

unread,
Oct 7, 2021, 3:39:06 PMOct 7
to Knative Developers, Knative Users
Hello everyone,

Based on the progress on the GA / 1.0 work, we expect that the next Knative release (Nov 2) will be numbered 1.0 rather than 0.27.

There's been a bunch of questions about what this means. Let's break it down:
  • All the repos covered in https://github.com/knative/release ("the release train") will have a release number of 1.0.
  • The core components (serving, eventing) are expected to meet a GA bar; extension components (serving/eventing features, net-* plugins, channel/broker, sources) should publish whether they are Alpha, Beta, or GA in nature on their README.md or documentation pages.
Thanks to the many, many contributors, past and present for help reaching this point. In particular, I'd like to thank the GA task force, eventing and serving WG leads, and trademark committee for putting in a lot of time figuring out exactly what the scope of this release should be, and then plowing through the backlog of items large and small to get the project where it needed to be for 1.0.

Only read past this point if you're curious about the reasoning about the release mechanics; there's no actionable information below.

Q: Why number all components 1.0?
A: Two reasons, one user-facing and one contributor-facing. The big user-facing reason is that it gives users a single number to hang on to when understanding what they've installed and what works together. The smaller contributor-facing reason is that all our infrastructure is designed to manage a single version number, and updating it to support multiple version numbers doesn't seem like a good use of time given the first point.

Q: Isn't "1.0 and Beta" for a component like eventing-rabbitmq or eventing-kafka-broker confusing?
A: Unless we wait for everything related to Knative to be done, we'll always have some components or features that are in an alpha or beta state. While this sometimes happens along a component boundary, it can also happen within a component, so the version number can't be a sole indicator of "GA or not". (This happens to other projects like Kubernetes as well, and to specific features in Serving or Eventing.)
Going forward, one of the things we'll need to be clear about is the maturity level of various components or features, and moving features along the path to either GA or retirement.

Thanks,

Evan
Reply all
Reply to author
Forward
0 new messages