# Knative v0.12.0 update

Author: [Mete Atamel](https://atamel.dev/) | Published: 2020-01-27 | Updated: 2020-04-11 | Topics: Knative, Serverless, Kubernetes, Google Cloud Platform, How To | Canonical: https://atamel.dev/posts/2020/01-27_knative-v0-12-0-update/


It’s hard to keep with Knative releases with a release every 6 weeks. I finally managed to update my [Knative Tutorial](https://github.com/meteatamel/knative-tutorial) for the latest Knative v0.12.0. In this blog post, I want to outline some of the differences I’ve observed.

#### Knative Serving

Knative Serving has been pretty stable in the recent releases and [Knative Serving v0.12.0](https://github.com/knative/serving/releases/tag/v0.12.0) is no exception. I didn’t need to update my tutorial specifically for this release.

#### Knative Eventing

[Knative Eventing v0.12.0](https://github.com/knative/eventing/releases/tag/v0.12.0) changed the default yaml for Knative Eventing bundles. Now, they are under `eventing.yaml` (previously, it was `release.yaml`) and this is the yaml you need to point to install eventing. This makes sense as it’s more consistent with Knative Serving and its `serving.yaml`.

#### Knative for GCP

One major difference in v0.12.0 is how the Google Cloud Pub/Sub messages are pulled into Knative. As you might remember, there is [Knative for GCP](https://github.com/google/knative-gcp) project specifically for Google Cloud events. This project also got a new release and in [Knative for GCP v0.12.0](https://github.com/google/knative-gcp/releases/tag/v0.12.0) release, the way you install and setup Knative for GCP changed quite a bit. You need to:

*  Follow [Installing Knative with GCP](https://github.com/google/knative-gcp/blob/master/docs/install/README.md) page to install the components.
*  Follow [Installing Pub/Sub Enabled Service Account](https://github.com/google/knative-gcp/blob/master/docs/install/pubsub-service-account.md) page to configure a Pub/Sub enabled Service Account.
*  Follow [CloudPubSubSource example](https://github.com/google/knative-gcp/blob/master/docs/examples/cloudpubsubsource/README.md) to setup a source to read Pub/Sub messages.

I should mention that CloudPubSubSource is the new renamed PubSub from earlier releases. The [CloudPubSubSource example](https://github.com/google/knative-gcp/blob/master/docs/examples/cloudpubsubsource/README.md) routes Pub/Sub messages directly to services. I don’t like this approach. In my Knative Tutorial, I slightly change this to go through Broker (more on that below).

#### Knative Tutorial

In Knative Tutorial, I already made the updates for v0.12.0.

In the [setup](https://github.com/meteatamel/knative-tutorial/tree/master/setup) page, I provided useful instructions and scripts to setup Knative Serving, Eventing and Knative with GCP. Hopefully, you can just run them to install everything correctly.

[In Pub/Sub triggered service
sample](https://github.com/meteatamel/knative-tutorial/blob/master/docs/pubsubeventing.md),
I show how to read Pub/Sub messages into a Broker in the default namespace and
then route them to a service via a Trigger. Check it out.

