github knative/client v0.21.0
Knative Client release v0.21.0

latest releases: knative-v1.3.1, v0.30.1, knative-v1.3.0...
3 years ago

kn 0.21.0 comes with some bug fixes and minor feature enhancements. It's mostly a polishing release. It is also the first release that brings two kn plugins to the Knative release train.

Meta

The compile dependencies have been updated to Knative Serving 0.21.0 and Knative Eventing 0.21.0. There are no changes in the used API version for communicating with the backend.

Revision naming

In this version, kn changes the default of how revisions are named. Up to now, the name was selected by the client itself, leveraging the "bring-your-own" (BYO) revision name support of Knative serving.

However, it turned out that this mode has several severe drawbacks:

  • If you create a service with client-side revision naming, you have to provide a new revision name on every update. This is especially tedious if using other clients than kn, like editing the resource directly in the cluster or you tools like the OpenShift Developer console. Assuming that kn is the only client to be used is a bit of a too bold attitude.
  • SinkBinding do not work with BYO revision names
  • kn service apply can't use client-generated revision names, so kn service apply ignore --revision-name option and always uses server-side generated revision names. The same is true if you want to use kubectl apply after you have created a service with BYO revision name mode with kn.
  • Revision name's are random and do not reflect a certain generational order as for server-side generated revision names
  • There are issues with new revision created when updated with the same image name again (see #398)

Please refer to issue #1144 (and issues referencing this issue) for more details about the reasoning for this breaking change.

ACTION REQUIRED

If you rely on client-side revision naming, you have to add --revision-name {{.Service}}-{{.Random 5}}-{{.Generation}} to kn service create to get back the previous default behaviour. However, in most of all cases, you shound not worry about whether the revision names are created by kn or by the Knative serving controller.

In case of issues with this change, please let us know and we will fix it asap. We are committed to supporting you with any issues caused by this change.

Plugins jump on the release train

With 0.21, Knative ships also it first set of kn plugins, that are aligned with respect to their dependencies, so that they can be easily inlined.

The plugins that are verified to work with kn in version 0.21 are:

To give those plugins a try, just download them and put the binary into your execution path. You then get help with kn admin --help and kn source kafka --help, respectively.

Minor updates

  • Options --context and --cluster allow you to select the parameters for connecting to your Kubernetes cluster. Those options work the same as for kubectl.
  • Some cleanup of cluster-specific runtime information when doing a kn export.

You can find the full list of changes in the CHANGELOG.

Don't miss a new client release

NewReleases is sending notifications on new releases.