Skip to content

Releases: knative/eventing

Knative Eventing release v0.13.0

03 Mar 19:31
200ea1a
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml Core knative/eventing resources bundled with the InMemoryChannel and Channel Broker.
channel-broker.yaml The default Broker implementation using Channels.
eventing-core.yaml The core knative/eventing resources: Channel, Subscription, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Parallel.
eventing-crds.yaml The core knative/eventing CRDs only.
in-memory-channel.yaml The InMemoryChannel resource.

Eventing

This release introduces v1beta1 versions (and conversion to/from v1alpha1) of these resources: Broker, Trigger, Channel, Subscription, Sequence, Parallel, EventType, InMemoryChannel. Beta versions will be supported according to Knative Release Principles.

Action Required

  • Changes to Broker configuration. With the move to v1beta1, the API changed and the way the Broker is now configured, in order to use default channels, you have to configure the broker using knative-eventing/config-br-defaults configmap. By default it uses InMemoryChannel, but you can configure to use any other Channel by changing the configmap. Examples can be found here:
    https://knative.dev/docs/eventing/channel-based-broker. #2651
  • Removed the deprecated messaging.knative.dev.[sequence,parallel], they've been deprecated and originally slated to be removed in 0.11. Users need to move to flows.knative.dev.[sequence,parallel]. #2419
  • CronJobSource.sources.eventing.knative.dev has been renamed to PingSource.sources.knative.dev. #2422
  • The sources-controller deployment in knative-eventing namespace has been scaled to zero replicas. Please delete it with with: kubectl delete deployment -n knative-eventing sources-controller. #2448 #2620

New Features

  • Make event dispatcher ConnectionArgs configurable via a configmap. #2358
  • Switch to nonroot base image for all containers. #2429
  • Added the PingSource resource, versions v1alpha1 and v1alpha2. #2427 #2607 #2649
  • The sources-controller deployment has been merged with eventing-controller.
  • The Channel Broker copies ConfigMaps into the Broker's namespace instead of creating RBAC to read ConfigMaps in knative-eventing. The ConfigMapPropagation CRD is introduced to do the copying. #2333
  • SinkBinding now propagates the sinkBinding.spec.ceOverrides values as json into an env var called K_CE_OVERRIDES. See the Source ducktype to unmarshal this value. #2481
  • In-memory channels with the eventing.knative.dev/scope: namespace annotation uses the In-memory dispatcher deployed in the same namespace as the channel definition. #2628
  • Support v1beta1 Broker and Trigger. #2414 [#2577][https://github.com//pull/2577]
  • Support v1beta1 Channel and Subscription. #2373 #2595 #2606
  • Support v1beta1 Sequence and Parallel. #2407 #2611
  • Support v1beta1 EventType. #2466 #2602
  • Support v1beta1 InMemoryChannel. #2621
  • Channel based Broker now will reconcile using a ConfigMap as the channelTemplateSpec. #2596
  • Support v1alpha2 SinkBinding. #2619
  • Add new feature to specify OptIn or OptOut selector for SinkBinding webhook via env var SINK_BINDING_SELECTION_MODE. #2634 #2662
  • Create v1beta1 Brokers when a namespace is labeled. #2651
  • Add support for leader election. #2501

Bug Fixes

  • Validate labels created by Trigger on Trigger creation. #2433
  • Trigger metrics do not count events that do not pass their filters. Previously we were counting them with response_code 417, thus all triggers were counting all events. #2557
  • Create source-observer role before a binding referencing it. #2574
  • Make it so Subscription Controller is the only thing responsible for managing subscribers on channels. Special case the channels.messaging, so that we follow the channel to operate on to the backing channel. #2616

Other Changes

  • Make Broker Filter/Ingress pods default PrometheusPort to 9092. #2406
  • Added eventing-crds.yaml artifact to install the Eventing CRDs only. #2453
  • Replace pod name label in broker stats_reporter with random unique name. #2451
  • The namespace field in Destination now defaults to the resource's namespace. #2490.
  • Changed the way namespaces are reconciled to match other resources. This may result in existing Brokers and their service accounts not reconciling properly after this update is applied. #2440
  • Release the Channel-based Broker as a separate artifact from eventing-core.yaml (channel-broker.yaml).
    #2519

Knative Eventing release v0.12.0

21 Jan 19:18
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing-core.yaml The core knative/eventing resources: Channel, Subscription, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Parallel. This was previously called eventing.yaml.
eventing.yaml Core knative/eventing components bundled with the InMemoryChannel. This was previously called release.yaml.
in-memory-channel.yaml The InMemoryChannel CRD.

Eventing

Action Required

  • Deprecated fields are no longer accepted in Subscription, Parallel and Sequence when specifying replies. #2300
  • You have to migrate Parallel, Sequence from messaging.knative.dev API group to flows.knative.dev API group.
  • The minimum Kubernetes version is now 1.15. #2356
  • The release.yaml artifact was renamed to eventing.yaml. #2382
  • The eventing.yaml artifact was renamed to eventing-core.yaml. #2382

New Features

  • The InMemoryChannel dispatcher Deployment now sets resource requests and limits based on benchmarking. #2315 #2361
  • Image pull secrets in the system namespace are now copied into injected namespaces so that Broker images can be pulled from a private registry. #2245
  • ConfigMaps released with eventing now have release labels. #2349
  • Added sources.knative.dev API group containing ApiServerSource and SinkBinding. These resources are identical to their sources.eventing.knative.dev equivalents. #2359 #2368 #2369
  • Broker now supports delivery options. #2305

Bug Fixes

  • Fix incorrect error message in Trigger.UpdateStatus. #2317
  • ObservedGeneration now reflects reality for: Broker, Trigger, InMemoryChannel, Subscription, Parallel/Sequence (in flows apigroup). #2338
  • True/False/Unknown condition statuses have been standardized. #2341
  • Added finalizers permissions for Flows API group to controller. #2362
  • Trigger's "Broker" status type is updated to "BrokerReady"; Trigger's "Dependency" status type is updated to "DependencyReady". #2364
  • IMC dispatcher Deployment no longer mounts the config-logging ConfigMap unnecessarily. #2367
  • Propagate HTTP status codes returned by Trigger subscribers back to the sender through the broker filter. #2408

Other Changes

  • Remove unused fields from the CRD files. #2313
  • The Broker's ingress channel (for processing replies) has been removed for a small latency improvement. #2290
  • Generated Client has moved from pkg/client to pkg/legacyclient for ApiServerSource, CronJobSource, ContainerSource, and SinkBinding. #2336
  • Destination type usage is updated for Triggers and Subscriptions in the object model spec. #2087

Knative Eventing release v0.11.0

10 Dec 19:16
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Parallel
in-memory-channel.yaml The InMemoryChannel CRD
release.yaml Core knative/eventing components bundled with the InMemoryChannel

Eventing

Action Required

  • The deprecated subscribablestatus field has been removed. #2205

Action Requested

  • Parallel has been moved to parallels.flows.knative.dev/v1beta1 with identical behavior. parallels.messaging.knative.dev is now deprecated. Please transition to the new API group. #2156 #2168
  • Sequence has been moved to sequences.flows.knative.dev/v1beta1 with identical behavior. sequences.messaging.knative.dev is now deprecated. Please transition to the new API group. #2156 #2168
  • Subscription.spec.reply.channel has been deprecated. Instead, use Subscription.spec.reply as a Destination type. https://github.com/knative/eventing/pull/2142

New Features

  • Introduce a new SinkBinding CRD (docs). #2234
  • InMemoryChannel now supports dead letter sink as described in delivery options and IMC doc. #1978
  • The APIServer source now reports whether there is enough permission to get/watch/list configured resources. #2136
  • ConfigMaps in the system namespace are now validated. #2140
  • Trigger now has a SubscriberResolved condition showing the status of the Subscriber's Addressable resolution. #2162
  • ApiServerSource and CronjobSource produce CE 1.0 payload. #2259

Bug Fixes

  • CronjobSource and ApiServerSource now set application/json when emitting events. #2126
  • The webhook ServiceAccount now only has necessary permissions. #2204
  • The webhook Deployment now sets resource requests and limits. #2204

Other Changes

  • Service port names now follow the istio naming convention. #2200
  • The Broker filter now responds with 400 instead of 202 when an event is received without a TTL attribute. #2264

Knative Eventing release v0.10.2

03 Dec 10:19
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Parallel
in-memory-channel.yaml The InMemoryChannel CRD
release.yaml Core knative/eventing components bundled with the InMemoryChannel

Eventing

Bug Fixes

  • The Broker no longer changes the version of CloudEvents when delivering an event. CloudEvents v1.0 is now fully supported. #2247 #2249

Knative Eventing release v0.8.1

19 Nov 20:12
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, ClusterChannelProvisioner, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Choice
gcp-pubsub.yaml The GCP PubSub ChannelProvisioner
in-memory-channel-crd.yaml The InMemoryChannel CRD
in-memory-channel-provisioner.yaml The in-memory ChannelProvisioner
natss.yaml The NatssChannel CRD
release.yaml Core knative/eventing components bundled with the in-memory ClusterChannelProvisioner

Eventing

Bug Fixes

  • The NatssChannel reconciler now retries the reconcile if an error occurs. #2196

Knative Eventing release v0.10.1

13 Nov 21:57
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Parallel
in-memory-channel.yaml The InMemoryChannel CRD
release.yaml Core knative/eventing components bundled with the InMemoryChannel

Eventing

New Features

  • Added SubscriberResolved condition on Trigger. This condition is true if the subscriber's Addressable URI has been resolved successfully. #2170

Bug Fixes

  • kodata now present for all commands. #2155

Other Changes

  • Broker ingress and filter metrics do not tag metrics with event_source nor filter_source anymore. #2159

Knative Eventing release v0.10.0

29 Oct 23:16
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Parallel
in-memory-channel.yaml The InMemoryChannel CRD
release.yaml Core knative/eventing components bundled with the InMemoryChannel

Eventing

Action Required

  • The minimum required Kubernetes version is now 1.14. The webhook will exit if run with an older version of Kubernetes. #1919
  • If events are delivered to the Broker during the upgrade from previous versions, some may be lost. #1947
  • The channels.eventing.knative.dev CRD has been removed and replaced with channels.messaging.knative.dev. Please manually delete the removed CRD with kubectl delete crd channels.eventing.knative.dev. #1974
  • The apiVersion, kind, and name fields previously used to reference Addressable objects in Parallel, Sequence, ApiServerSource, ContainerSource, and CronJobSource have been deprecated and replaced with the Destination type. Please update your objects to use the Destination ref field instead. #2067 #2089 #2090 #2095 #2107 #2109
  • The CloudEvents SDK no longer defaults content type to application/json. Please set content type if required. #2066

New Features

  • Trigger, Subscription, Parallel, Sequence, ApiServerSource, ContainerSource, and CronJobSource now use the Destination type to reference Addressable objects. This type allows an Addressable reference to be an ObjectReference, a URI string, or both (the URI string is used as a relative reference). #2067 #2089 #2090 #2095 #2107 #2109
  • CloudEvents v1.0 format is now supported. #2066
  • A Trigger created for the default Broker with the knative-eventing-injection: "enabled" annotation will cause the namespace to be labeled with knative-eventing-injection: "enabled", creating a default Broker in the namespace if one doesn't already exist. #2034
  • ApiServerSource and CronJobSource now support additional Ready and Age columns in kubectl get output. #2114
  • Expose Go's runtime.MemStats as opencensus metrics in all binaries. #1946
  • Add Grafana dashboards for Broker/Trigger and Source metrics. #1966
  • The Source contract is now described at docs/spec/sources.md for implementers. #1856

Bug Fixes

  • ApiServerSource, ContainerSource, and CronJobSource are now validated by the webhook. #1886
  • CronJobSource now properly configures Request and Limit on the pod. #1924
  • Mark Trigger's dependency status as Unknown when the dependency's observed generation is not current. #1926
  • ApiServerSource's controllerSelector and labelSelector fields can now be empty. #1965
  • Subscriptions are now updated when Sequence steps are updated. #1954
  • Subscriptions are now updated when Parallel spec changes. #2006
  • The Kubernetes default edit and view roles now have access to eventing objects. #1993
  • Broker's channelTemplate field is now immutable. #2018
  • All eventing resources now have the creator and lastModifier annotations. #1981
  • The controller now has permissions to update finalizers for messaging.knative.dev Channels. #2074

Other Changes

  • Broker channel names have been renamed. #1947
  • Event type information on source CRDs is now specified in an annotation instead of the OpenAPI spec. #1968
  • Broker, Channel, Parallel, Sequence CRDs are now labeled with duck.knative.dev/addressable: "true". #2099
  • The MutatingWebhookConfiguration is now created via YAML instead of on webhook start. #2093
  • The SinkProvided condition now includes a warning message when the deprecated {apiVersion,kind,name} fields are used in Parallel, Sequence, ApiServerSource, ContainerSource, and CronJobSource. #2105 #2107 #2108 #2109

Knative Eventing release v0.9.0

17 Sep 19:16
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, ClusterChannelProvisioner, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Parallel
in-memory-channel.yaml The InMemoryChannel CRD
release.yaml Core knative/eventing components bundled with the InMemoryChannel

Eventing

ClusterChannelProvisioners have been removed in this release. Please transition to the replacement Channel CRD:

Existing CCP Replacement CRD
in-memory InMemoryChannel
kafka KafkaChannel in https://github.com/knative/eventing-contrib
natss NatssChannel in https://github.com/knative/eventing-contrib
gcp-pubsub Channel.pubsub.cloud.run in https://github.com/google/knative-gcp

The Channel CRD in eventing.knative.dev has been removed in this release. Please transition to Channel in messaging.knative.dev which has similar functionality.

The Subscription CRD has been moved to messaging.knative.dev. Please use the new apiGroup when creating new Subscriptions. Existing Subscriptions will no longer be reconciled.

The Choice CRD has been renamed to Parallel.

Action Required

  • The Subscription CRD has been moved from apiGroup eventing.knative.dev to messaging.knative.dev. #1742
  • The NatssChannel CRD has been moved to https://github.com/knative/eventing-contrib. Install it from the releases page. #1579.
  • The in-memory CCP has been removed. #1484
  • The GCPPubSub CCP has been removed. #1598
  • The ClusterChannelProvisioner and Channel CRDs has been removed from apiGroup eventing.knative.dev. #1664 #1605 #1704
  • The status.subscribablestatus field has been deprecated and replaced with status.subscribableStatus. Both fields are present in Subscribable statuses. #1685
  • Broker and Trigger metrics have been renamed. Please refer to the docs for description of the new metrics. #1739 #1779 #1784
  • Eventing pods no longer use the prometheus.io/scrape annotation. #1722
  • The Choice CRD has been renamed to Parallel. #1843
  • The Go import path has changed. Contributors and users building from source will need to move github.com/knative/eventing to knative.dev/eventing in their $GOPATH. #1655
  • The importer category has been removed from ApiServerSource, CronJobSource, and ContainerSource CRDs. #1882

New Features

  • Broker Ingress and Filter pods now have liveness and readiness checks. #1699
  • Broker pods can now send metrics to configurable backends using the config-observability ConfigMap. #1726
  • A Prometheus scrape configuration is now included at config/monitoring/metrics/prometheus. See docs/metrics.md for details. #1722 #1747
  • Broker and InMemoryChannel subscriber request timeout increased from 1 minute to 15 minutes. #1776
  • ApiServerSource now supports filtering a label selector. #1661
  • ApiServerSource now supports filtering by controller apiVersion and kind. #1879
  • ApiServerSource now reports event count metrics. #1786
  • CronJobSource now reports event count metrics. #1790
  • Triggers can use an annotation containing an ObjectReference to depend on an external object for readiness. [#1849](#1849

Bug Fixes

  • Added attributes field to Trigger OpenAPI schema. #1671
  • Sort Subscribable subscriptions by UID to avoid churn from order changes. #1694
  • The Trigger reconciler now reconciles Triggers when Brokers change. #1705
  • The eventing webhook will now reject objects containing unknown fields. #1695
  • Broker now preserves trace ids on incoming requests by setting outgoing request headers and the traceparent CloudEvents extension attribute. #1754
  • Readiness requests to the Broker filter are no longer traced. #1844
  • ApiServerSource, CronJobSource, and ContainerSource now update status.observedGeneration when reconciled. #1897

Knative Eventing release v0.8.0

06 Aug 19:19
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, ClusterChannelProvisioner, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence, Choice
gcp-pubsub.yaml The GCP PubSub ChannelProvisioner
in-memory-channel-crd.yaml The InMemoryChannel CRD
in-memory-channel-provisioner.yaml The in-memory ChannelProvisioner
natss.yaml The NatssChannel CRD
release.yaml Core knative/eventing components bundled with the in-memory ClusterChannelProvisioner

Eventing

ClusterChannelProvisioners have been deprecated and will be removed in a future release. Please transition to using CRD-based channel implementations instead.

Existing CCP Replacement CRD
in-memory InMemoryChannel
kafka KafkaChannel in https://github.com/knative/eventing-contrib
natss NatssChannel
gcp-pubsub Channel.pubsub.cloud.run in https://github.com/GoogleCloudPlatform/cloud-run-events

Action Required

  • The Kafka channels, both the provisioner-based one as well as the KafkaChannel CRD, have been moved to https://github.com/knative/eventing-contrib. Install them from there. #1609.
  • sourceAndType filtering on Triggers has been deprecated. A new attributes filter is available, where besides filtering on standard CloudEvents attributes, it allows to filter based on extension attributes.

New Features

  • A new Choice CRD has been added for defining functions to execute based on some condition. #1529, #1595, #1608, #1611, #1642
  • Default channel support for Channel CRDs. #1560
  • Introduced a new Channel object in messaging.knative.dev API group to be used in case users want a channel but are not interested in its actual implementation (e.g., whether it is an InMemoryChannel, KafkaChannel, NatssChannel, etc.). #1560
  • Brokers now leverage the default channel support for CRDs to set up a default channel, if not specified. #1560
  • Sequences now leverage the default channel support for CRDs to set up a default channel, if not specified. #1569
  • Migrated to use v0.3 of CloudEvents Spec. #1535, #1575
  • Added stats reporter for webhook. #1520
  • Added access to metrics with Grafana and Prometheus. Follow this guide to understand the details. #1584
  • Exposed the registration delay for the webhook. #1534
  • ApiServerSource now updates its receive adapter, if needed. #1576, #1577
  • Broker and Trigger now use fixed names. The old Channels and Subscriptions with a generated name will continue to exist, but will be garbage collected once Brokers/Triggers are deleted. #1563
  • ApiServerSource now uses fixed names. #1602
  • ContainerSource now uses fixed names. #1628
  • CronJobSource and ApiServerSource are discoverable. By describing their CRDs, you can identify what are the event types they can produce. #1638
  • Channels based on the provisioner model now use fixed names. #1588.
  • Added metric to measure the time from when an event is received by the Broker ingress until it is delivered to the function. #1635
  • Added attributes filter on Triggers. #1643

Bug Fixes

  • Tracing service name for CronJobSource is now cronjobsource. #1492
  • Added RBAC update permissions for finalizers sub-resource of Sequences. #1495
  • Added missing json tags in Sequence's SubscriptionStatuses and ChannelStatuses. #1501
  • Registered SequenceList to the known types scheme. #1528
  • Fixed e2e tearing down step #1541
  • Changed version to versions in CRDs. #1547
  • Added InMemoryChannel, KafkaChannel, NatssChannel, Channel.messaging.knative.dev, and Sequences to the addressable-resolver cluster role. #1600, #1601, #1608

Other Changes

  • Updated opencensus dependencies. #1532
  • Removed old deprecated webhook called webhook. #1322
  • Migrated to knative.dev/pkg. #1475
  • Migrated to knative.dev/test-infra. #1604
  • Added importers category to ApiServerSource, ContainerSource, and CronJobSource. #1473
  • Added e2e test for Sequences. #1482
  • Skipped flaky tests. #1502
  • Added channel spec draft. #1420, #1514, #1572, #1617
  • Made gcloud a no-op if not available for test scripts #1508
  • Changed environment variable names for release process #1542
  • Replaced AddressableTracker with ResourceTracker. #1522
  • Added point release documentation for knative/test-infra. #1548
  • Disabled logging headers in NATSS dispatcher. #1552
  • Updated roadmap documentation. #1574
  • Increased UT coverage. #1568, #1570, #1571
  • ApiServerSource now propagates its receive adapter's status. #1578
  • Removed e2e tests for channel provisioners. #1489
  • Moved Broker ingress to pkg. #1612
  • Allowed running e2e tests on oidc clusters and dockerhub. #1620
  • Small CronJobSource improvements. #1630, #1632
  • Documented steps to create a release. #1639
  • Added automatic release version labels. #1644
  • Made e2e tests work on macOS. #1641
  • New service account for eventing-source-controller. #1490
  • Added scrape annotation to services exporting metrics. #1510
  • Added permissions to admin default roles. #1503

Knative Eventing release v0.7.1

03 Jul 00:51
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml The core knative/eventing components: Channel, Subscription, ClusterChannelProvisioner, Broker, Trigger, APIServerSource, ContainerSource, CronJobSource, EventType, Sequence
gcp-pubsub.yaml The GCP PubSub ChannelProvisioner
in-memory-channel-crd.yaml The InMemoryChannel CRD
in-memory-channel-provisioner.yaml The in-memory ChannelProvisioner
kafka.yaml The KafkaChannel CRD
kafka-ccp.yaml The Kafka ChannelProvisioner
natss.yaml The NatssChannel CRD
natss-ccp.yaml The Natss ChannelProvisioner
release.yaml Core knative/eventing components bundled with the in-memory ClusterChannelProvisioner

Eventing

ClusterChannelProvisioners have been deprecated and will be removed in a future release. Please transition to using CRD-based channel implementations instead.

Existing CCP Replacement CRD
in-memory InMemoryChannel
kafka KafkaChannel
natss NatssChannel
gcp-pubsub Channel.pubsub.cloud.run in https://github.com/GoogleCloudPlatform/cloud-run-events

Bug Fixes

  • The Kafka and Natss ClusterChannelProvisioners have returned as release artifacts alongside the CRD Channels. #1486 #1488
  • The Sequence controller now has the proper RBAC permissions on OpenShift. #1495 #1497